Skip to content
All articles
Websites & Digital Platforms5 min read

Technical SEO for Next.js Marketing Sites

By Apex Horizon Digital

Technical SEO for a Next.js marketing site is the work of making every intended page discoverable, accessible to crawlers, served successfully, canonicalized, understandable, internally connected, and represented accurately in rendered HTML. Next.js App Router provides metadata APIs and file conventions, but correct output still depends on route data, localization, publishing status, and deployment behavior. A useful audit checks both the crawl response and the rendered source for each route family.

Key takeaways

  • Audit route families and rendered output, not only component source or browser appearance.
  • Generate canonical, language, metadata, schema, robots, and sitemap output from one content model.
  • Verify crawlable internal links, status codes, indexability, and deployment behavior after every structural change.

Audit discovery, status, and indexability

Inventory every public route family, parameter source, locale, pagination page, category, campaign variant, search result, preview, and authenticated route. For each sample URL, record the HTTP status, redirect chain, robots rules, page-level robots directive, canonical, rendered heading, and indexable text. Google Search technical requirements state that Googlebot must not be blocked, the page must work with a successful response, and the page must contain indexable content for eligibility. Keep internal search and unstable filter combinations out of the index while allowing crawlers to access pages that use a noindex directive when appropriate.

  • Indexable route: successful response, meaningful rendered content, allowed crawl, and intentional canonical.
  • Non-indexable route: explicit reason, noindex where appropriate, controlled links, and no accidental sitemap entry.
  • Missing route: real not-found response and no soft-error page that appears successful.

Generate canonical and language alternates consistently

Use the Next.js Metadata API on layouts or pages, with generateMetadata when values depend on route data. Set the canonical to the preferred public URL and language alternates to reciprocal locale versions. The current App Router metadata API supports canonical and language URLs under the alternates field. Build URLs from one trusted base and locale-path function so metadata, internal links, sitemaps, feeds, and structured data do not drift. Verify self-reference, reciprocal links, correct locale codes, and behavior for missing translations. Do not canonicalize distinct localized content to one language or point every page to the homepage.

  • Canonical audit: one preferred absolute URL that resolves successfully and matches the content.
  • Language audit: self and reciprocal alternates for available versions plus a deliberate fallback policy.
  • Consistency audit: metadata, sitemap, internal link, social URL, and structured data use the same route contract.

Audit metadata and structured data in rendered HTML

Check unique descriptive titles and descriptions, Open Graph data, Twitter data, image URLs, author information, publication and update dates, and any route-specific robots settings. Next.js supports static metadata, generateMetadata, and file-based assets such as icons and social images. Inspect the final HTML because nested layouts merge metadata and a valid component can still produce the wrong public result. Add JSON-LD that matches visible content and an eligible schema type, then validate syntax and required properties. Do not add ratings, prices, authors, dates, or business claims that the page does not show and support.

  • Metadata audit: title, description, canonical, language alternates, social fields, images, dates, and robots.
  • Schema audit: type, identity, URL, visible fields, dates, breadcrumb order, and safe JSON serialization.
  • Rendered audit: one expected value per field without stale defaults, conflicting tags, or broken absolute URLs.

Verify deployment and keep SEO in release checks

Run the audit against production-like output and again after deployment. Sample every route family in each locale, compare server response with rendered DOM, fetch robots and sitemap files, validate structured data, and inspect social images. Confirm redirects, status codes, canonical host, HTTPS, headers, content, links, and form-independent navigation. Add automated tests for content parity, URL generation, metadata, sitemap entries, schema fields, and orphan links, then combine them with a periodic real crawl because deployment configuration can differ from source assumptions. Review Search Console indexing and query evidence after release without treating indexing as guaranteed.

  • Build checks: route generation, content status, metadata values, schema serialization, and sitemap contract.
  • Production checks: status, redirect, host, rendered source, social image, robots, sitemap, and crawl graph.
  • Operating checks: indexing reports, crawl issues, broken links, stale content, locale parity, and release ownership.

Sources and further reading