appycodes.

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

SurfaceWordPressNext.js
Content authoringBlock editor, custom fields, existing plugins keep workingRead via WPGraphQL, typed schemas, React components per block
PreviewNative draft previewAuth-gated preview route, token handshake, live editor view
PublishingPublish action fires REST webhookOn-demand ISR invalidates the right cache keys at the edge
Mediawp-content/uploads (or offloaded)Cloudflare R2 / S3 with image optimisation pipeline
AuthRoles and capabilities, WP loginCookie / JWT bridge, role-aware routing, gated content
SearchWP write side ingestsAlgolia / 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.

01

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.

02

Headless WooCommerce

WPGraphQL + WooGraphQL with hosted-checkout fallback for Stripe / Payplug / Razorpay. Cart token in Next.js, source of truth in WC.

03

Migration off traditional themes

Full URL inventory, Cloudflare 301 layer, sitemap continuity. Existing rankings preserved while the frontend gets rebuilt.

04

Hybrid setups

Keep WP admin and plugins. Replace only the front end with Next.js. Lower risk than going fully headless on day one.

05

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.

06

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.

01

Outgrown the theme model and want a real product-engineering frontend?

Go headless.
02

Embedding interactive React components that do not fit Gutenberg?

Go headless.
03

Core Web Vitals stuck despite caching and image work?

Go headless.
04

Running a B2C / B2B mixed estate with role-gated content?

Go headless.
05

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.

CMS
WordPress, WPGraphQL, WooGraphQL, ACF, custom plugins
Frontend
Next.js (App Router), TypeScript, React Server Components, ISR
Edge
Cloudflare (cache, redirects, WAF), Vercel / self-hosted on AWS
Media
Cloudflare R2, S3, image optimisation pipeline, WebP fallback
Search
Algolia / Elastic / Meilisearch indexed off WP webhooks

Headless WordPress

Bring the WP estate and the Core Web Vitals number. We'll know in a call.

Contact