Practical SEO for Next.js Sites: A Checklist

Most SEO basics are easy to get right in Next.js. Here's a focused checklist that handles the meaningful 80% — without selling snake oil.

Richard GamoraRichard GamoraFullstack developer·4 min read
Next.jsSEOPerformance

SEO is full of myths. The basics that genuinely move rankings are well-understood and mostly free. Here is the list I run through for any Next.js site I build.

Metadata done right

  • Unique <title> per page, including the primary keyword.
  • Unique meta description per page, 150–160 characters.
  • Open Graph and Twitter card tags for social sharing.
  • Canonical URL on every page (Next handles this automatically with metadataBase).

Structured data where it counts

JSON-LD schemas for the page type. Article for blog posts, Product for products, FAQPage for FAQ pages. Search Console shows you when Google parses them and what it shows. Only add schemas you can defend with on-page content — fake structured data is a penalty.

Sitemap and robots

Generate a sitemap.xml that includes every public URL. Next.js's sitemap.ts file is the cleanest way to do this. Submit it in Search Console once. Update it when routes change.

robots.txt should allow / and link to the sitemap. Disallow only what you actually do not want indexed (admin, internal previews). A blocked / kills your rankings; I have seen it happen.

Performance basics

Core Web Vitals matter. Use Next's <Image> with priority on the hero. Avoid layout shift (always set image dimensions). Keep the JS bundle small — server components help here. Run the Lighthouse audit and fix the items it flags.

What I ignore

Keyword density, exact-match anchor text, and similar 2010-era tactics. They do not move modern rankings. Useful, well-organized content with proper metadata and good performance is what works in 2026.

About the author

Richard Gamora

Richard Gamora

Fullstack developer based in the Philippines, working mostly with Laravel and Vue.js, with eight years of production experience across web and mobile.

me@richardgamora.comUpwork ↗

More on Frontend