Know-how / 22 topics
Next.js SEO Checklist: The Complete Guide for App Router (2026)
Next.js gives you all the tools to rank well — but none of them work by accident. This checklist walks through every layer of SEO in the App Router: from rendering strategy to structured data, and on to the new frontier — being cited by AI answer engines.
Why SEO in Next.js is a checklist, not a plugin
In WordPress you install an SEO plugin and fill in the fields. In Next.js, SEO is a set of engineering decisions: how a page renders, what HTML the crawler receives, how fast it loads, and how clearly it explains itself to machines. Get one layer wrong — say, ship your product descriptions as client-side rendered content — and no amount of meta tags will save you.
This guide covers each layer in order. Every section ends with concrete things to check off.
Index / 01—22
Topics in this guide
- 01→
Rendering strategy: what does the crawler actually see?
How SSG, ISR, SSR and CSR affect indexing in Next.js, why client-rendered content is invisible to most crawlers, and how to check what bots actually see.
- 02→
Metadata API: titles, descriptions and the template pattern
Using the Next.js Metadata API right: metadataBase, title templates, generateMetadata for CMS content and deduplicating fetches with React cache().
- 03→
Canonical URLs and hreflang: one page, one address
Canonical URLs and hreflang in Next.js: killing duplicate content, reciprocal language links, localized slugs and x-default done right.
- 04→
Open Graph and dynamic OG images
Open Graph tags and dynamic OG images in Next.js with ImageResponse: auto-generated 1200×630 previews for every page.
- 05→
sitemap.ts and robots.ts: file conventions instead of hand-written XML
sitemap.ts and robots.ts in the Next.js App Router: honest lastModified, splitting large sitemaps, and why robots.txt cannot deindex a page.
- 06→
Structured data: JSON-LD that earns rich results
JSON-LD structured data in Next.js: server-rendered schema for articles, breadcrumbs, FAQ and products — typed with schema-dts.
- 07→
Images, fonts and scripts: the classic performance trio
Optimizing images, fonts and third-party scripts in Next.js: next/image priority and sizes, next/font self-hosting and script loading strategies.
- 08→
Core Web Vitals: the three numbers Google measures
LCP, INP and CLS in Next.js: concrete fixes for each metric, lab vs field data, and wiring real-user monitoring with useReportWebVitals.
- 09→
Redirects, 404s and status codes
Redirects and status codes in Next.js: 308 vs 307, permanentRedirect, real 404s with notFound(), and keeping the index free of chains and soft 404s.
- 10→
Caching and content freshness
How caching affects SEO in Next.js: ISR plus webhook revalidation for instant freshness without paying SSR latency on every crawl.
- 11→
AEO/GEO: getting cited by ChatGPT, Perplexity and Google AI Overviews
AEO/GEO for Next.js: making your content readable and citable by ChatGPT, Perplexity and Google AI Overviews — robots rules, llms.txt and answer-shaped writing.
- 12→
Monitoring: SEO is a loop, not a launch task
Monitoring SEO on a Next.js site: Search Console workflow, Lighthouse CI budgets, logging AI crawler visits and post-release smoke checks.
- 13→
Trust and E-E-A-T: making your site believable
E-E-A-T signals on a Next.js site: real authorship, Person and Organization schema, honest dates, cited sources and proof of experience — for Google and AI engines alike.
- 14→
Image SEO: turning pictures into traffic
Images as a traffic channel in Next.js: unique visuals over stock, alt text and file names, ImageObject schema with licensing, image sitemaps and AI-image labeling.
- 15→
Internal linking and site architecture
Internal linking strategy for Next.js sites: topic clusters, descriptive anchors, crawl depth, orphan pages and generating related-content blocks from your data.
- 16→
Search intent: pages that match what people actually type
Mapping search intent to page types on a Next.js site: informational vs commercial queries, long-tail strategy, CTR-optimized titles and surviving zero-click search.
- 17→
Programmatic SEO in Next.js: pages at scale without the spam
Programmatic SEO with generateStaticParams: template pages from data, the unique-value bar that separates them from doorway spam, free tools as link magnets.
- 18→
SEO migration: replatforming to Next.js without losing traffic
A migration playbook for moving to Next.js: URL inventory, redirect maps, staging parity checks, launch-day verification and what's normal in the first weeks after.
- 19→
Pagination and faceted navigation without index bloat
Pagination and filters in Next.js done right: self-canonical page URLs, infinite scroll with real URLs, and which facet combinations deserve to be indexed.
- 20→
Accessibility and SEO: one job, two rewards
Why accessibility work doubles as SEO on Next.js sites: semantic HTML, headings, alt text and link names — plus the EAA legal deadline that makes it non-optional in the EU.
- 21→
Content decay: refresh, consolidate or prune
Rankings erode by default: how to spot decaying pages in Search Console and decide per page whether to update, merge into a stronger one, or remove it entirely.
- 22→
Off-page for developers: earning links without buying them
Link building with a developer's unfair advantages: free tools, original data, open source, expert commentary and syndication with canonicals — and what to never do.
Practical checklist
A practical, section-by-section SEO checklist for Next.js: rendering strategy, Metadata API, hreflang, structured data, Core Web Vitals, and optimization for AI answer engines.
The condensed checklist
Print-friendly version — if you can tick all of these, you're ahead of ~95% of Next.js sites:
- Indexable routes are SSG/ISR; content visible via
curl -
metadataBase+ title template + unique title/description per page - Self-referencing canonicals; reciprocal hreflang with
x-default - OG tags + 1200×630 image (generated via
ImageResponsewhere possible) -
sitemap.tswith honestlastModified;robots.tswithout accidental blocks - JSON-LD: Organization, Article, BreadcrumbList (+ FAQ/Product where relevant), rendered server-side
-
next/imagewithpriorityhero,next/font, third-party scripts deferred - Field CWV green: LCP < 2.5s, INP < 200ms, CLS < 0.1
- Clean redirects (no chains), real 404s, one URL shape
- ISR + webhook revalidation for content freshness
- AI crawlers decided in robots; answer-shaped, server-rendered content
- Search Console monitored; Lighthouse CI guarding regressions
- Named authors, Person schema with sameAs, honest dates, cited sources (E-E-A-T)
- Every substantial page has unique images with real alt text
- No orphan pages; everything within 3 clicks; descriptive anchors
- One intent per page; titles rewritten where CTR lags impressions
- Programmatic pages carry real per-page value; thin variants noindexed
- Migrations ship with a tested one-hop redirect map and parity checks
- Paginated pages self-canonical; facets tiered (index / noindex / blocked)
- Top flows pass WCAG 2.1 AA; a11y gate in CI (EAA compliance)
- Quarterly decay review: update, consolidate or prune declining pages
- At least one linkable asset live; unlinked mentions converted
Need a hand? We do technical SEO audits and speed optimization for Next.js sites — including the multilingual and AI-visibility parts most audits skip.