Next.js technical SEO checklist (App Router)

Most broken SEO on App Router sites is boring: wrong canonical, missing sitemap route, stale OG image, or metadata that never varies per page.
If you sell templates, buyers notice when your own site gets this right: it is a quiet trust signal.
Checklist below is App Router specific.
1) Metadata defaults (per route)
Your site should have:
- A clear title template
- A unique description per page
- Open Graph and Twitter card defaults
In App Router, this is typically done using export const metadata and generateMetadata() for dynamic pages like blog posts.
2) Canonical URLs (avoid duplicates)
Always set canonicals for:
- Blog index (
/blog) - Blog posts (
/blog/[slug]) - Template pages (
/saasforge-ai)
This prevents duplicate content issues when URLs can be reached through multiple paths.
3) robots.txt (don’t accidentally block your site)
You want to:
- Allow crawling for public pages
- Block webhooks/API routes from indexing
- Point crawlers to your sitemap
In Next.js, the clean approach is to add src/app/robots.ts.
4) sitemap.xml (make indexing easy)
A sitemap should include:
- Marketing pages (
/, templates) - Blog index + every blog post
- Documentation pages (if they’re public)
In Next.js, add src/app/sitemap.ts and generate entries from your route configs.
5) Open Graph images (don’t ship broken share cards)
If your metadata references a missing static image, you’ll get ugly shares and lower click-through rates.
Prefer a generated OG image via src/app/opengraph-image.tsx so you don’t depend on a binary in public/.
6) Structured data (JSON-LD)
At a minimum:
Organization+WebSiteon the root layoutBlogPostingfor blog postsTechArticlefor docs pages
Structured data won’t magically rank you, but it improves clarity for crawlers and can enhance rich results.
7) Content hygiene (the part people skip)
- One
<h1>per page - Clean headings (
h2,h3) that match sections - Descriptions that match the actual page content
- Internal links to your key pages (templates, docs)
8) Measure and iterate
SEO is a feedback loop. Set up:
- Search Console
- Analytics (events for template clicks)
- Error monitoring (broken links hurt)
If you want to see how Boilerlykit structures metadata, sitemaps, and blog content, SaaSForge Starter is the cleanest reference: SEO is wired end-to-end on day one (metadata, OG images, sitemap, RSS, JSON-LD) without the rest of a full SaaS stack getting in the way. The full rationale (Next.js 16, Tailwind v4, Supabase, Stripe, Polar) lives on our tech stack page, and SaaSForge AI's SEO docs cover the opinionated extensions.
Update (April 2026) — what changed for SEO since this was written
The eight items above are still load-bearing. What changed in early 2026 is that traditional SEO is no longer the only surface that brings traffic — AI search engines (Google's AI Overviews, ChatGPT, Perplexity, Claude, Bing Copilot) now retrieve and cite content directly, and "ranking #1" matters less than "being one of the cited sources."
The shift is measurable. According to Search Engine Land's 2024 reporting, AI Overviews appear on roughly 45% of Google search results pages — meaning a meaningful portion of searches end without a click on any traditional result. The term for optimizing for AI citation has converged on GEO (generative engine optimization) or AEO (answer engine optimization).
The Princeton GEO study (Aggarwal et al., 2024), which tested optimization tactics across Perplexity.ai, found measured citation lifts for specific moves:
- Citing authoritative sources: +40% citation visibility
- Adding specific statistics: +37%
- Including expert quotations: +30%
- Authoritative tone: +25%
- Keyword stuffing: −10% (it actively hurts in AI search, unlike traditional keyword stuffing which is just ineffective)
Two practical implications for your Next.js technical SEO checklist:
- Add definition-first answer blocks at the top of each page. AI systems extract passages, not pages — a self-contained 40-60 word answer near the top of a page is far more likely to be quoted than the same content buried mid-article. The "inverted pyramid" structure from journalism applies: lead with the answer, then expand.
- Add machine-readable files at site root. Three are now worth shipping: an
llms.txtdescribing your site for AI agents, apricing.mdwith structured pricing for AI agents that buy on behalf of users, and anAGENTS.mdfor agentic coding tools. None of these are search-engine signals, but all three are read by AI systems that increasingly mediate buying decisions.
Third-party citations matter more than ever in this regime. Per Search Engine Land's 2024 study, Wikipedia accounts for ~7.8% of all ChatGPT citations — the single largest source. Reddit, YouTube, and authoritative review sites (G2, Capterra for B2B SaaS) follow. Brands with no presence on those surfaces get cited far less than equivalent brands that show up on them.
The traditional SEO surface — canonicals, metadata, sitemap, JSON-LD — is now table stakes. The AI search surface is where most of the upside lives in 2026. Both still matter; the order of priorities has shifted.