Next.js SEO in 2026: A Practical Guide to Ranking / Jul 1, 2026
Next.js is one of the best frameworks for SEO, but only if you use the App Router the way it wants to be used. The core idea is simple: render as much as you can on the server so that search engines see a complete page in the first response.
Server render your metadata
Every route can export a metadata object or an async generateMetadata function.
Next turns that into real title, description, canonical, Open Graph, and Twitter tags in
the server HTML. This is the single most important thing, because it means your pages do
not depend on JavaScript to be understood.
export function generateMetadata({ params }) {
const post = getPost(params.slug);
return { title: post.title, description: post.excerpt };
}
Add structured data
Structured data (JSON-LD) does not change your ranking directly, but it unlocks rich
results. Add Article to posts, BreadcrumbList for navigation, and FAQPage where you
answer common questions. These can win extra space in search and lift your click through
rate.
Pass Core Web Vitals
Google rewards fast, stable pages. Keep largest contentful paint under about 2.5 seconds,
interaction to next paint under 200 milliseconds, and cumulative layout shift under 0.1.
In Next that means using next/font to avoid layout shift, sizing images so nothing
jumps, splitting heavy client code, and keeping third party scripts to a minimum.
Cover the basics
- Generate a
sitemap.xmland arobots.txtwith the built in conventions. - Give every page one clear
h1and a unique title and description. - Set a canonical URL on each route to avoid duplicate content.
- Use static or incremental rendering so pages load fast and cache well.
None of this is exotic. SEO on Next.js is mostly a checklist done consistently: render on the server, describe each page precisely, keep it fast, and give search engines clean signals. Do that on every route and rankings tend to follow.
Frequently asked questions
- Is Next.js good for SEO?
- Yes. With the App Router you can render metadata and content on the server, so search engines and social scrapers see the right title, description, and structured data in the initial HTML without running JavaScript.
- How do I add metadata in the Next.js App Router?
- Export a metadata object or a generateMetadata function from a page or layout. Next renders the title, description, canonical, Open Graph, and Twitter tags on the server for you.
- Do I need JSON-LD in Next.js?
- It is not required, but it helps. Adding Article, Breadcrumb, and FAQ structured data lets Google show rich results, which can improve click through even at the same ranking position.