Real headless WP is about the boring parts: preview, revalidation, auth, media, search. Not the GraphQL query.
WordPress on the back, Next.js on the front, real engineering in the middle. Preview, ISR, auth handoff, media pipeline, search and sitemap continuity, built so headless feels native and does not break six months in.
Left side, WordPress
- Dashboard
- Posts, 1,284
- Pages, 47
- Products, 312 (Woo)
- Editor: block-based, ACF, plugins keep working
Right side, Next.js
- Storefront
- ISR cache: published 3s ago
- WPGraphQL query, 28ms
- LCP 1.1s, CLS 0.02
- Cart token, Stripe checkout
The actual surface area
Six places where headless either works or quietly fails
| Surface | WordPress | Next.js |
|---|---|---|
| Content authoring | Block editor, custom fields, existing plugins keep working | Read via WPGraphQL, typed schemas, React components per block |
| Preview | Native draft preview | Auth-gated preview route, token handshake, live editor view |
| Publishing | Publish action fires REST webhook | On-demand ISR invalidates the right cache keys at the edge |
| Media | wp-content/uploads (or offloaded) | Cloudflare R2 / S3 with image optimisation pipeline |
| Auth | Roles and capabilities, WP login | Cookie / JWT bridge, role-aware routing, gated content |
| Search | WP write side ingests | Algolia / Elastic / Meilisearch index updated via webhook |
What you get
Six engagements
Most we do headless pages stop at the query. These six are the work that makes a headless WP build feel native, and not break six months in.
WordPress + WPGraphQL + Next.js
Preview mode, on-demand ISR, typed schemas. Cache key design that invalidates the right pages on publish, not just the homepage.
Headless WooCommerce
WPGraphQL + WooGraphQL with hosted-checkout fallback for Stripe / Payplug / Razorpay. Cart token in Next.js, source of truth in WC.
Migration off traditional themes
Full URL inventory, Cloudflare 301 layer, sitemap continuity. Existing rankings preserved while the frontend gets rebuilt.
Hybrid setups
Keep WP admin and plugins. Replace only the front end with Next.js. Lower risk than going fully headless on day one.
Auth-aware routing
Membership content gated by WP roles, rendered by Next.js. Logged-in vs logged-out cache strategies that do not leak between users.
Performance engineering
ISR cache-key design, edge caching, image optimisation, Core Web Vitals tuning. The work that makes headless actually feel fast.
The headless decision tree
Most WordPress sites do not need this. Some absolutely do.
Five Yes/No questions. Even one Yes is enough to consider headless. Five No's and the right answer is a performance pass on the existing stack.
Outgrown the theme model and want a real product-engineering frontend?
Go headless.Embedding interactive React components that do not fit Gutenberg?
Go headless.Core Web Vitals stuck despite caching and image work?
Go headless.Running a B2C / B2B mixed estate with role-gated content?
Go headless.Need a SPA-style admin or editor experience?
Go headless.Good fit if
When headless is the right answer
- Operators outgrowing the theme model who want a real product-engineering frontend
- Teams embedding interactive React components that do not fit Gutenberg
- Sites where Core Web Vitals on the current theme are unrecoverable
- WooCommerce stores wanting a Next.js storefront without rebuilding checkout
Probably not a fit
When a tuned theme beats going headless
- Marketing sites where a tuned WordPress theme would be faster and cheaper
- Sites with no plan for who maintains both the WP back and the Next.js front
- Teams who want headless because it is modern: that is not a reason
Pair with custom WordPress for the back, or read the alternative on Sanity CMS for buyers leaving WordPress entirely. Headless WooCommerce work pairs with custom WooCommerce. For the full build end to end, from WP REST / WPGraphQL to a static, edge-cached Next.js front end with the origin locked down against brute force and downtime, walk through our guide to converting WordPress to headless Next.js.
Stack we ship on
WordPress on the back. Next.js on the front. Cloudflare in between.
Headless WordPress
Bring the WP estate and the Core Web Vitals number. We'll know in a call.
More in WordPress
Web & SaaS
Mobile Apps
E-commerce & Payments
WordPress
CMS & Platforms
37 services across 7 practice areas.