Skip to content
SEO· 6 min read

A technical SEO checklist for Next.js websites

Metadata, sitemaps, structured data, Core Web Vitals and the rendering mistakes that quietly stop Next.js pages from ranking.

UUsamaFounder, DevSnippet

Start with what Google can actually see

Next.js renders on the server by default, which is great for SEO — but only if your important content isn't hidden behind client-only components or loaded after interaction. View the page source: if your headings and copy aren't there, crawlers may not see them reliably.

Metadata on every route

Every page needs a unique title and description. In the App Router, export a metadata object or generateMetadata function per route, and set a metadataBase in the root layout so canonical and Open Graph URLs resolve correctly.

tsx
export async function generateMetadata({ params }: PageProps<"/services/[slug]">) {
  const { slug } = await params;
  const service = await getService(slug);
  return {
    title: service.name,
    description: service.summary,
    alternates: { canonical: `/services/${slug}` },
  };
}

Sitemaps, robots and canonicals

Generate sitemap.xml from your real routes, keep robots.txt simple, and set a canonical URL on every page so filtered or tracked URLs don't compete with the original.

Structured data

Add JSON-LD for your organisation, breadcrumbs, FAQs and articles. It helps search engines — and AI answer engines — understand who you are and what each page covers.

Core Web Vitals

Use next/image with explicit sizes, self-host fonts with next/font, and keep client JavaScript small. Interaction to Next Paint (INP) suffers most from heavy client components, so keep interactivity where it's needed.

let's talk →

Have a project in mind?

Tell us what you're building. Usama replies within one business day.

WhatsAppOnline nowChat on WhatsApp