Skip to main content

How to Build a Blog with Next.js in 60 Seconds

Want a Next.js blog with SSR SEO, a real CMS Admin, and a Headless API — without wiring Strapi + custom Admin + a blog starter for weeks?

ReactPress is built for that path. One CLI command brings up:

  • A Next.js visitor site (SSR/ISR, sitemap, OG tags)
  • A Web Admin to write Markdown posts
  • A NestJS API you can also use Headless
  • Optional plugins (SEO meta, summaries, image optimization)

Typical time from install to a live local stack: about 60 seconds.

Prerequisites

  • Node.js 18+ (LTS recommended)
  • npm, pnpm, or yarn
  • Empty folder for your site

Docker is not required. Default database is embedded SQLite.

Step 1 — Install the CLI (~15s)

npm i -g @fecommunity/reactpress@beta

Package: @fecommunity/reactpress.

Step 2 — Initialize the blog (~45s)

mkdir my-nextjs-blog && cd my-nextjs-blog
reactpress init

init generates config, boots API + Admin + theme, and prints URLs:

SurfaceURL
Next.js blog (visitor)http://localhost:3001
Adminhttp://localhost:3001/admin/
APIhttp://localhost:3002/api
Healthhttp://localhost:3002/api/health

Step 3 — Log in and enable a theme

  1. Open http://localhost:3001/admin/
  2. Sign in: admin / adminchange the password immediately
  3. Appearance → Themes → install reactpress-theme-starter (or hello-world) → Enable
  4. Refresh http://localhost:3001 — your Next.js blog is live
Production passwords

Never ship the default credentials. Update the account in Admin or via ADMIN_USER / ADMIN_PASSWD before deploy.

Step 4 — Publish your first post

  1. Posts → New
  2. Title + Markdown body
  3. Optional category / tags
  4. Publish
  5. Open the post on http://localhost:3001

More UI detail: Create your first site · Create a post

Why this is a real Next.js blog (not a static mock)

CapabilityOut of the box
SSR / ISROfficial themes use Next.js for visitor SEO
CMS editingAdmin for posts, pages, media, comments
SEOTheme sitemap / OG + SEO plugin for per-post meta
Headless/api/article and toolkit SDK for custom React apps
Swap themesnpm catalog — keep Admin, change the frontend

Custom theme path: Theme development · starter repo: reactpress-theme-starter

Optional — verify API & Headless

curl http://localhost:3002/api/health
# {"status":"ok"}

Consume content from another React app or a forked theme: Headless API guide.

Troubleshooting (fast)

reactpress doctor
reactpress logs --follow
reactpress stop # then re-run init if needed

Full checklist: Troubleshooting.

What people usually do next

GoalGuide
Understand the stackWhat is ReactPress? · Core concepts
SEO for productionSite settings & SEO
DeployProduction deployment · Docker
Compare to WordPressReactPress vs WordPress
Self-host checklistSelf-hosted CMS for React

FAQ

Is the visitor site really Next.js?
Yes. Official themes are Next.js apps. Admin is a separate Vite SPA mounted under /admin/.

Can I keep my own Next.js app?
Yes. Point it at the Headless API, or fork the theme starter and keep ReactPress as the CMS.

Do I need Vercel?
No. Local init is enough to start; production can be any Node host, Docker, or your own pipeline.

How is this different from create-next-app + MDX?
MDX starters are great for git-only content. ReactPress adds Admin, media, comments, plugins, and a Headless API when non-developers need to publish.

From the blog