S.
  • Services
  • For you
  • Solutions
  • Work
  • About
  • Know-how
  • Blog
Start a project
EN/PL/RU
  • Services01
  • For you02
  • Solutions03
  • Work04
  • About05
  • Know-how06
  • Blog07
Start a project
EN/PL/RU
Vlad Sedenko
Independent web product developer
EU / Poland / Warsaw
Products
  • NextWooNext.js storefront for WooCommerce
© 2026. All rights reserved
Services
  • Product Discovery
  • UX/UI Design
  • MVP Development
  • SaaS Development
  • Website Redesign
  • Web Application Security
  • Conversion Optimization
  • API Integrations & Business Automation
  • Product Support
Explore
  • Services
  • For you
  • Work
  • Solutions
  • About
  • Blog
  • Know-how
  • Contact
Start a project
  • vlad@sedenko.net
  • LinkedIn
  • Privacy/Cookies
Know-how/Next.js SEO Checklist: The Complete Guide for App Router (2026)

Part 1 of 22

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.

2026-07-15
Rendering strategy: what does the crawler actually see?
All topics in this guide
  1. 01Rendering strategy: what does the crawler actually see?
  2. 02Metadata API: titles, descriptions and the template pattern
  3. 03Canonical URLs and hreflang: one page, one address
  4. 04Open Graph and dynamic OG images
  5. 05sitemap.ts and robots.ts: file conventions instead of hand-written XML
  6. 06Structured data: JSON-LD that earns rich results
  7. 07Images, fonts and scripts: the classic performance trio
  8. 08Core Web Vitals: the three numbers Google measures
  9. 09Redirects, 404s and status codes
  10. 10Caching and content freshness
  11. 11AEO/GEO: getting cited by ChatGPT, Perplexity and Google AI Overviews
  12. 12Monitoring: SEO is a loop, not a launch task
  13. 13Trust and E-E-A-T: making your site believable
  14. 14Image SEO: turning pictures into traffic
  15. 15Internal linking and site architecture
  16. 16Search intent: pages that match what people actually type
  17. 17Programmatic SEO in Next.js: pages at scale without the spam
  18. 18SEO migration: replatforming to Next.js without losing traffic
  19. 19Pagination and faceted navigation without index bloat
  20. 20Accessibility and SEO: one job, two rewards
  21. 21Content decay: refresh, consolidate or prune
  22. 22Off-page for developers: earning links without buying them

One of the main SEO decisions in Next.js is how each route renders. Some crawlers can execute JavaScript, while others may rely primarily on the initial HTML response. Serving key content in that response reduces dependence on crawler-specific rendering support.

The rule of thumb:

  • Static (SSG) — marketing pages, docs, blog posts. Fastest, cheapest, fully indexable.
  • ISR (Incremental Static Regeneration) — catalogs, listings, anything that changes hourly/daily. Static speed with controlled freshness.
  • SSR (dynamic rendering) — personalized or truly real-time pages. Indexable, but slower TTFB.
  • CSR (client-only) — dashboards and app internals. Never for content you want indexed.
// app/blog/[slug]/page.tsx — ISR: static HTML, regenerated hourly
export const revalidate = 3600;

export async function generateStaticParams() {
  const posts = await getPosts();
  return posts.map((post) => ({ slug: post.slug }));
}

Check what the crawler receives — not what your browser shows:

curl -s https://example.com/your-page | grep -i "your-key-phrase"

If your key content isn't in that response, crawlers that don't render the page may miss it.

Watch out for accidental dynamic rendering. Using cookies(), headers() or searchParams in a page silently switches it to SSR. That's not fatal for SEO, but it costs TTFB and server load. We covered these traps in detail in How Caching Works in Next.js with App Router.

Checklist:

  • Every indexable route is SSG or ISR; SSR only where personalization demands it
  • curl the raw HTML and confirm the main content is there
  • No cookies()/headers() calls on pages that should be static
  • Client components used for interactivity, not for content
Next →Metadata API: titles, descriptions and the template pattern

01—22

All topics in this guide

  1. 01Rendering strategy: what does the crawler actually see?•
  2. 02Metadata API: titles, descriptions and the template pattern→
  3. 03Canonical URLs and hreflang: one page, one address→
  4. 04Open Graph and dynamic OG images→
  5. 05sitemap.ts and robots.ts: file conventions instead of hand-written XML→
  6. 06Structured data: JSON-LD that earns rich results→
  7. 07Images, fonts and scripts: the classic performance trio→
  8. 08Core Web Vitals: the three numbers Google measures→
  9. 09Redirects, 404s and status codes→
  10. 10Caching and content freshness→
  11. 11AEO/GEO: getting cited by ChatGPT, Perplexity and Google AI Overviews→
  12. 12Monitoring: SEO is a loop, not a launch task→
  13. 13Trust and E-E-A-T: making your site believable→
  14. 14Image SEO: turning pictures into traffic→
  15. 15Internal linking and site architecture→
  16. 16Search intent: pages that match what people actually type→
  17. 17Programmatic SEO in Next.js: pages at scale without the spam→
  18. 18SEO migration: replatforming to Next.js without losing traffic→
  19. 19Pagination and faceted navigation without index bloat→
  20. 20Accessibility and SEO: one job, two rewards→
  21. 21Content decay: refresh, consolidate or prune→
  22. 22Off-page for developers: earning links without buying them→

Want this handled for you?

I audit and fix technical SEO on Next.js sites — indexing, performance, hreflang and AI visibility.

Technical SEO service