Skip to main content

Next.js Blog SEO Checklist (2026) — Ship Rankings with ReactPress

· 4 min read
reactpress
reactpress

ReactPress — Publish with React. Ship like WordPress.

A Next.js blog can rank — or disappear — based on defaults you forget on day one: client-only post pages, missing sitemap, thin meta, and bloated images. This 2026 SEO checklist is written for teams shipping a Next.js blog with a real CMS, and shows how ReactPress covers the boring essentials so you can focus on content.

Related docs: Site settings & SEO · Build a blog in 60 seconds · Theme development


1. Render HTML for crawlers (SSR / ISR)

Do: Server-render post and page templates (or ISR with revalidation).
Don't: Fetch the article only in useEffect with an empty shell.

ReactPress official themes use Next.js SSR/ISR for visitor routes. If you fork a theme, keep post pages on the server path.


2. Unique title and meta description per URL

Checklist:

  • <title> unique, ~50–60 characters, includes primary keyword naturally
  • Meta description ~150–160 characters, matches search intent
  • No duplicate titles across pagination / tag archives

In ReactPress Admin, enable the SEO plugin and set per-post title/description/slug. Theme SSR should emit those fields.


3. Canonical URLs

  • Absolute canonical on every indexable page
  • Staging / preview hosts noindex
  • Trailing-slash policy consistent

Set the public site URL in production config before launch: Configuration.


4. Sitemap and robots.txt

  • /sitemap.xml lists posts and pages (and hreflang if multilingual)
  • robots.txt allows crawling; points to sitemap
  • Submit sitemap in Google Search Console / Bing

ReactPress starter themes expose sitemap/robots patterns — verify after theme enable. See SEO settings.


5. Open Graph and Twitter cards

  • og:title, og:description, og:url, og:image
  • Image ≥ 1200×630, compressed
  • Test with platform debuggers after deploy

6. Structured data

Useful types for a blog/CMS:

TypeWhere
Article / BlogPostingPost templates
Organization / WebSiteSite layout
BreadcrumbListNested docs/blog
FAQPageFAQ landing pages

Validate with Google’s Rich Results test. ReactPress docs site itself uses JSON-LD patterns you can mirror in themes.


7. Core Web Vitals and media

  • LCP: hero/post image sized and prioritized
  • CLS: dimensions on images/embeds
  • INP: avoid heavy third-party scripts on article pages
  • WebP/AVIF where possible

ReactPress image-optimizer plugin helps batch WebP — pair with sensible theme next/image usage.


  • Clear hub pages (what / compare / quickstart)
  • Posts link to pillar docs; docs link back to posts
  • Descriptive anchors — not “click here”

Pillars worth linking from every SEO post:


9. Performance budget for CMS themes

BudgetTarget
Lighthouse Performance (mobile)≥ 90 on article template
JS on critical pathPrefer RSC/SSR; defer analytics
Fontsfont-display: swap; subset

Theme guidance: Appearance & themes · Theme development.


10. Launch verification

  1. curl -I production URLs — 200, correct cache headers
  2. View-source — titles/meta present without running JS
  3. Search Console coverage — fix excluded-by-robots surprises
  4. Compare staging vs prod canonical hosts

ReactPress defaults that help SEO

ConcernReactPress approach
SSR blogNext.js official themes
Editor metaSEO plugin in Admin
API for custom frontendsHeadless REST
Fast local proofreactpress init ~60s
npm i -g @fecommunity/reactpress@beta
mkdir my-blog && cd my-blog
reactpress init

More: Self-hosted Next.js CMS guide · WordPress alternatives for React.


FAQ

Does Next.js App Router change this checklist?
No — crawlers still need meaningful HTML and metadata APIs (generateMetadata, etc.).

Is a Headless CMS enough for SEO?
Only if your Next app implements the checklist. The CMS alone does not rank.

Where do I configure ReactPress SEO?
Site settings & SEO.

中文版