Sanity

Technical SEO Checklist for Next.js Websites in 2026

Master technical SEO for Next.js in 2026. This actionable checklist covers Core Web Vitals, metadata, sitemaps, structured data, image optimization, and AI search—so your Next.js site ranks.

June 26, 202612 min readMuhammad Zohaib Ramzan
Technical SEO checklist for Next.js websites in 2026

Next.js has become the go-to React framework for production web applications, but shipping a fast, well-structured app is only half the battle. In 2026, technical SEO for Next.js is more nuanced than ever — search engines now evaluate Core Web Vitals, AI-readable structured data, and internationalization signals alongside classic on-page factors. Whether you’re launching a new project or auditing an existing one, this comprehensive technical SEO checklist will help you cover every angle and keep your Next.js site competitive in organic search.

Core Web Vitals in Next.js

Core Web Vitals remain a confirmed Google ranking signal. Next.js ships with several built-in optimizations, but you still need to configure them correctly.

  • Enable the App Router — The App Router (introduced in Next.js 13) enables React Server Components, reducing client-side JavaScript and improving LCP.
  • Use next/font — Load fonts via next/font to eliminate render-blocking font requests and prevent layout shift (CLS).
  • Minimize client components — Mark only interactive leaves as 'use client'. Keep data-fetching and layout components as server components.
  • Implement Streaming with Suspense — Wrap slow data-fetching components in <Suspense> to stream HTML progressively and improve TTFB.
  • Audit with Lighthouse CI — Integrate Lighthouse CI into your pipeline to catch regressions before they reach production.
  • Set priority on above-the-fold images — Add the priority prop to your hero <Image> component to trigger an early fetch and improve LCP.
  • Avoid large layout shifts — Reserve space for dynamic content (ads, embeds) with explicit width and height or CSS aspect-ratio.
  • Monitor with @vercel/speed-insights — Use real-user monitoring (RUM) to track field data, not just lab scores.

Metadata and Open Graph

Next.js 14+ provides a first-class Metadata API. Use it consistently across every route.

  • Export a metadata object or generateMetadata function from every page.tsx — never leave a page without a title and description.
  • Keep titles under 60 characters and descriptions between 120–160 characters for optimal SERP display.
  • Use dynamic generateMetadata for blog posts, product pages, and any route with variable content.
  • Set openGraph.type appropriately (article for blog posts, website for landing pages).
  • Include openGraph.images with explicit width, height, and alt on every page.
  • Add twitter:card (summary_large_image) and twitter:site to your base metadata.
  • Set a canonical URL via alternates.canonical in every metadata export to prevent duplicate-content issues.
  • Use metadataBase in your root layout to ensure all relative URLs resolve correctly in Open Graph tags.
  • Avoid duplicate <title> tags — confirm your custom _document.tsx (Pages Router) or root layout doesn’t inject a second title.

Sitemap and robots.txt

Search engines need a clear map of your site. Next.js makes both files easy to generate dynamically.

  • Create app/sitemap.ts — Export a default function returning a MetadataRoute.Sitemap array. Next.js serves it at /sitemap.xml automatically.
  • Include lastModified, changeFrequency, and priority for every URL in your sitemap.
  • Generate dynamic sitemaps for large sites by fetching URLs from your CMS or database inside sitemap.ts.
  • Split large sitemaps — If you have more than 50,000 URLs, use sitemap index files.
  • Create app/robots.ts — Export a MetadataRoute.Robots object to control crawl directives programmatically.
  • Disallow staging and internal routes (/api/, /admin/, /_next/) in robots.txt.
  • Submit your sitemap to Google Search Console and Bing Webmaster Tools after every major deployment.
  • Verify sitemap URLs return 200 — Broken URLs in your sitemap waste crawl budget.

Structured Data Implementation

Structured data (JSON-LD) helps search engines understand your content and can unlock rich results.

  • Inject JSON-LD via a <script> tag in your layout or page component — use JSON.stringify with type="application/ld+json".
  • Use Article schema for blog posts, including headline, author, datePublished, dateModified, and image.
  • Add BreadcrumbList schema to all interior pages to improve sitelinks and navigation signals.
  • Implement FAQPage schema on FAQ sections to target featured snippets.
  • Use Organization and WebSite schema in your root layout for brand entity signals.
  • Add Product and Review schema on e-commerce pages to enable rich product results.
  • Validate all schemas with Google’s Rich Results Test and Schema.org validator before deploying.
  • Keep JSON-LD in sync with visible content — mismatches can trigger manual actions.

Image Optimization with next/image

The next/image component is one of Next.js’s most powerful SEO tools — but only when used correctly.

  • Always provide descriptive alt text — never leave alt="" on content images; reserve empty alt only for decorative images.
  • Set explicit width and height on every <Image> to prevent CLS.
  • Use sizes prop to match your CSS breakpoints and avoid serving oversized images.
  • Prefer modern formats — Next.js serves WebP and AVIF automatically; ensure your next.config.js doesn’t restrict formats.
  • Use fill layout with a positioned parent for responsive hero images instead of fixed dimensions.
  • Configure remotePatterns in next.config.js to allow external image domains (CDN, CMS).
  • Lazy-load below-the-fold images (the default) and only use priority for LCP images.
  • Audit image file sizes — even with optimization, source images over 2 MB slow down the optimizer.

Canonical URLs

Duplicate content is one of the most common technical SEO issues in Next.js projects.

  • Set alternates.canonical in every metadata export — including dynamically generated pages.
  • Redirect www ↔ non-www at the infrastructure level (Vercel, Nginx, CDN) and pick one canonical form.
  • Redirect trailing-slash variants — configure trailingSlash in next.config.js and enforce it consistently.
  • Handle paginated routes — use rel="next" / rel="prev" or self-referencing canonicals on paginated listing pages.
  • Avoid parameter pollution — use rewrites or middleware to strip tracking parameters before they reach the page.
  • Check for accidental duplicates in Search Console’s Coverage report regularly.

Internationalization SEO

Next.js has built-in i18n routing. Configure it correctly to avoid hreflang errors.

  • Define all locales in next.config.js under i18n.locales and set a defaultLocale.
  • Add hreflang tags via alternates.languages in generateMetadata for every localized page.
  • Include x-default in your hreflang set to handle users whose language isn’t explicitly targeted.
  • Use locale-specific sitemaps — either separate sitemap files per locale or a single sitemap with <xhtml:link> annotations.
  • Avoid auto-redirecting based on browser language without a user-visible toggle — Google may not be able to crawl all locale variants.
  • Translate metadata — ensure title, description, and Open Graph tags are localized, not just body content.
  • Use consistent URL structures — prefer subdirectories (/fr/) over subdomains for most projects; they inherit domain authority.

AI Search Optimization

In 2026, AI-powered search (Google AI Overviews, Bing Copilot, Perplexity) is a significant traffic source. Optimize for it deliberately.

  • Write clear, direct answers near the top of each section — AI engines extract concise answers for citations.
  • Use structured headings that mirror natural-language questions (e.g., “How do I add structured data in Next.js?”).
  • Implement FAQPage and HowTo JSON-LD — these schemas are heavily used by AI answer engines.
  • Ensure your content is crawlable — verify robots.txt doesn’t block GPTBot, ClaudeBot, or PerplexityBot if you want AI citation traffic.
  • Add an llms.txt file at your domain root — this emerging standard signals to LLMs how to represent your site.
  • Maintain E-E-A-T signals — author bios, Person schema, and cited sources increase trustworthiness for AI ranking.
  • Monitor AI Overview appearances in Google Search Console’s new AI Overviews report.

Common Mistakes

Even experienced Next.js developers make these technical SEO errors:

  • Forgetting metadataBase — causes all Open Graph image URLs to be relative and unresolvable by social crawlers.
  • Over-using 'use client' — turns server-rendered pages into client-rendered SPAs, hurting initial HTML indexability.
  • Not handling 404s properly — missing not-found.tsx means broken pages return 200 status codes.
  • Ignoring generateStaticParams — dynamic routes that aren’t pre-rendered at build time may not be crawled efficiently.
  • Duplicate metadata across locales — copy-pasting metadata without translating it triggers duplicate-content penalties.
  • Blocking /_next/static/ in robots.txt — prevents Googlebot from loading JavaScript and CSS needed to render pages.
  • Missing rel="canonical" on paginated pages — causes every page number to compete for the same keywords.
  • Using client-side redirects (useRouter().push) for SEO-critical redirects instead of server-side redirect() or next.config.js redirects.

Best Practices

Apply these principles across every Next.js project to build a strong technical SEO foundation:

  • Adopt the App Router for all new projects — it enables RSC, streaming, and the Metadata API.
  • Automate SEO audits — run Lighthouse CI, Screaming Frog, or Ahrefs Site Audit on every deployment.
  • Keep a living sitemap.ts that reflects your actual content inventory in real time.
  • Co-locate structured data with the component it describes — don’t dump all JSON-LD in the root layout.
  • Test with Google’s URL Inspection Tool after major structural changes to verify rendering.
  • Monitor Core Web Vitals in Search Console weekly — field data lags by 28 days, so catch regressions early.
  • Document your SEO architecture — canonical strategy, hreflang setup, and redirect rules should live in your project wiki.
  • Treat SEO as a CI/CD concern — broken canonicals, missing metadata, and sitemap errors should fail your build pipeline.

FAQ

Does Next.js handle SEO automatically?

Next.js provides excellent SEO primitives — server-side rendering, the Metadata API, next/image, and next/font — but it doesn’t configure them for you. You still need to export metadata on every page, generate a sitemap, add structured data, and monitor Core Web Vitals.

Should I use the App Router or Pages Router for SEO?

For new projects, always use the App Router. It supports React Server Components (reducing JS bundle size), the first-class Metadata API, and streaming — all of which benefit SEO. The Pages Router is still supported but won’t receive new SEO-related features.

How do I add JSON-LD structured data in Next.js?

Inject a <script type="application/ld+json"> tag directly in your page or layout component using JSX. Pass your schema object through JSON.stringify. For dynamic pages, generate the schema inside generateMetadata or directly in the component using data fetched server-side.

Does client-side navigation hurt SEO in Next.js?

No — Next.js pre-renders pages on the server, so Googlebot sees full HTML on the initial request. Client-side navigation via <Link> is a progressive enhancement that doesn’t affect indexability. However, pages that are only rendered client-side (heavy 'use client' components with no server fallback) can be harder to index.

How often should I run a technical SEO audit on my Next.js site?

Run automated Lighthouse CI checks on every pull request, a full crawl audit monthly, and a manual review of Google Search Console weekly. After major Next.js version upgrades or architectural changes, run a full audit immediately to catch any regressions in rendering, metadata, or sitemap generation.

Conclusion

Technical SEO for Next.js in 2026 is a multi-layered discipline that spans rendering strategy, metadata management, structured data, image optimization, and emerging AI search signals. The good news: Next.js gives you world-class tools to address every item on this checklist. The key is to treat SEO as a first-class engineering concern — automate what you can, monitor continuously, and revisit your setup with every major framework upgrade. Start with the highest-impact items (Core Web Vitals, metadata, sitemap), then work through the rest systematically. Your rankings — and your users — will thank you.