To make a Next.js site rank, ship server-rendered HTML, get metadata and canonicals right, add structured data, hit Core Web Vitals, and expose a clean sitemap. The single most common failure is leaving indexable content client-only rendered, so search engines and AI crawlers never reliably see it.
The technical SEO checklist
- Render content on the server: use static generation or ISR for pages that need to rank.
- Set metadata per route (title, description, canonical) with the Metadata API.
- Add JSON-LD structured data (Article, Breadcrumb, FAQ, Organization) so engines and AI understand the page.
- Publish sitemap.xml and robots, and keep canonicals consistent to avoid duplicate content.
- Use semantic headings (one h1, logical h2/h3) and descriptive link text.
- Optimize images with next/image and reserve space to avoid layout shift.
Core Web Vitals targets
- LCP (largest contentful paint): 2.5s or faster.
- INP (interaction to next paint): 200ms or faster.
- CLS (cumulative layout shift): 0.1 or less.
Common mistakes that kill rankings
- Client-only rendering of content that should be indexed.
- Missing or duplicated titles, descriptions, and canonicals.
- No structured data, so you miss rich results and AI answer citations.
- Slow LCP from unoptimized images and heavy client JavaScript.
Our approach
We build Next.js sites static or ISR by default, add structured data to every page template, and hold pages to a Core Web Vitals budget. The result is content that's fast, crawlable, and eligible for both search rankings and AI answer citations.
