Lunover Engineering Notes

Next.js 16 SEO Checklist for Production

A production-ready checklist for Next.js 16 SEO: metadata, canonicals, hreflang, sitemap hygiene, robots rules, schema, and release QA you can automate.

March 5, 2026By LunoverWork with us

Next.js 16 SEO Checklist for Production

Technical SEO is mostly operational discipline. The fastest way to lose rankings is to ship one release with inconsistent canonicals, duplicated metadata, or a broken sitemap. This checklist is written for teams building marketing sites and service websites in Next.js 16 (App Router), especially with multiple locales.

What "done" looks like

  • Every indexable page has a unique title + description that matches the page intent.
  • Canonicals collapse duplicates (host, locale aliases, trailing slash).
  • Hreflang points only to real equivalents and includes x-default.
  • Sitemap includes only canonical, indexable URLs and trustworthy lastmod.
  • JSON-LD matches visible page content.
  • You can verify all of the above in rendered HTML.

1. Metadata is route-owned

Do not rely on a single global default for money pages. For each indexable route, verify you generate:
  • title
  • description
  • canonical URL
  • Open Graph / Twitter image
If you are using Next.js metadataBase, prefer relative values in code and let Next compose to absolute URLs. Example pattern:
export const metadata = {
  metadataBase: new URL("https://www.example.com"),
  alternates: {
    canonical: "/services/web-development/",
    languages: {
      en: "/services/web-development/",
      de: "/de/services/web-development/",
      "x-default": "/services/web-development/",
    },
  },
  robots: {
    index: true,
    follow: true,
  },
};
Reference: Next.js generateMetadata / Metadata API.

2. Canonicals must be stable and opinionated

Pick a policy and enforce it:
  • one host (for example www)
  • one trailing slash convention
  • one default locale convention
Then redirect everything else permanently. If your canonical policy is "www + trailing slash + no /en prefix", make sure these never resolve as separate indexable URLs:
  • https://lunover.com/...
  • https://www.lunover.com/en/...
  • https://www.lunover.com/... (missing trailing slash)

3. Hreflang must only include real equivalents

Hreflang is not "translate the URL". It is "declare equivalent pages". Rules that keep clusters clean:
  • include alternates only for locales where the page exists
  • each locale variant must reference itself and the same set of alternates
  • include x-default pointing to the default-language version
Reference: Google localized versions (hreflang).

4. Robots is about intent, not tradition

robots.txt controls crawling. Page-level noindex controls indexing. Use page-level noindex for pages that should never appear in search:
  • utility chat pages
  • internal tool pages
  • temporary pages you do not want indexed
In Next.js metadata, this is a first-class field:

5. Sitemap should be boring and trustworthy

A sitemap is not marketing. It is a machine contract. Include only:
  • canonical URLs
  • indexable URLs
  • accurate lastmod
Google explicitly recommends lastmod reflect the last significant update (main content, structured data, or links), not cosmetic timestamp bumps. Reference: Google sitemap guidance.

6. Structured data must match what users see

JSON-LD should be derived from the same source of truth as the page. Baseline schemas that usually make sense:
  • Organization (site-wide)
  • WebSite (homepage)
  • Service (service pages)
  • BlogPosting (articles)
The failure mode to avoid is "schema says one thing, page says another". Reference: Google structured data guidelines.

7. Internal linking is part of SEO infrastructure

If technical posts never link to service pages, search engines struggle to associate your expertise with your commercial intents. A simple rule that scales:
  • each technical post links to at least one relevant service page
  • each service page links to at least one relevant technical post
Start with:

8. Release QA (automatable)

Before you deploy, verify on rendered HTML:
  • titles/descriptions are unique on key pages
  • canonical is correct and absolute
  • hreflang set is correct
  • robots meta is correct (especially noindex)
  • sitemap renders and includes expected URLs
  • schema renders and validates
Treat these as deploy gates. SEO is too sensitive to rely on manual spot checks.