Next.js SEO Guide
A step-by-step guide for metadata, structured data, sitemap coverage, internal links, and performance in Next.js.
Planning checklist
- Define the page type and search intent.
- Create metadata and canonical URLs for every route.
- Render structured data that matches visible content.
- Validate sitemap coverage and internal links.
Metadata and canonical discipline
Every indexable page should have a unique title, meta description, canonical URL, Open Graph fields, and Twitter card fields. In Next.js App Router, the metadata API keeps this close to the route and avoids duplicated head tags.
Generated pages should still have unique metadata. Do not let hundreds of routes inherit the same title or description.
Structured data must match visible content
Schema is not a place to hide extra claims. Add Article, FAQPage, Service, BreadcrumbList, or Organization data only when the page visibly supports that information. Keep FAQ schema aligned with visible questions and answers.
This is especially important for programmatic SEO pages because template mistakes can multiply across hundreds of URLs.
Internal linking for topic clusters
Connect service pages, blog posts, case studies, tools, guides, and location pages through intentional clusters. A good internal link helps the reader continue a task and helps search systems understand topical depth.