Skip to content

Service · Updated October 2026

Headless WordPress: when it fits and how I quote the build

Your team already runs WordPress, but what you need to ship behaves more like software than a brochure site. Headless WordPress keeps content in the CMS and renders it through a separate JavaScript front end via the WordPress REST API. This guide is my decision view: who it is for, the stack I use, plugins, SEO, previews, hosting, and how I write a fixed quote before work.

Best fit
WordPress editors, custom app-like front end
Stack
Next.js or React plus WordPress REST API
SEO
Yoast fields in API, HTML from the front end
Pricing
Fixed written quote before work

Fixed written quote before work, WordPress first, in English or Spanish.

  • Building websites since 2001 (25 years)
  • Fer LLC, a US company
  • Fernando does or reviews every job

You know WordPress, but the front end outgrew a theme

The usual trigger is not curiosity about architecture. Marketing or operations already publish in WordPress, sometimes for years, or they just moved to it, and nobody wants to retrain on a new CMS. WordPress is the most widely used CMS on the web, so that is a very common position to be in. At the same time, the product direction needs custom tools, client-facing workflows, or several small applications in the browser, not a classic marketing or corporate site wrapped in a theme.

In a headless setup, WordPress stays the content back end on PHP. A separate front end, usually Next.js or React on JavaScript, loads posts, pages, custom types and fields through the REST API at `/wp-json/wp/v2/` and renders the experience you actually need. WordPress no longer owns the public HTML layout; it owns the content and much of the admin workflow your team already trusts.

↑ Back to top

Who headless is for, and when a normal WordPress site is better

Headless earns its complexity when WordPress should remain the editorial system but the visitor experience is intentionally custom. If the goal is a straightforward published site with visual editing and no application behavior, a standard WordPress build is simpler and faster to operate. See WordPress web design for that path.

Signals headless may fit

  • Editors must keep the WordPress dashboard for content, but the public site is really a web application.
  • You need multiple custom interfaces, internal tools, or client portals fed from the same content model.
  • Integrations and UI logic belong in JavaScript, not in a theme template and page builder layout.

Signals to stay on a normal WordPress site

  • The site is primarily marketing, informational or corporate publishing with modest interactivity.
  • Staff rely on page builders or block layouts for most pages and expect WYSIWYG parity on the live site.
  • There is no product-like feature set that justifies a separate front-end codebase and host.
Situation compared
SituationNormal WordPressHeadless WordPress
Primary goalPublish pages and campaigns with familiar editing toolsShip a custom application experience while keeping WordPress for content
Front endTheme (and often a page builder) renders HTMLNext.js or React app renders HTML; WordPress serves JSON via REST
Editor expectationsWhat you see in the editor matches the live page closelyLive preview of the custom front end must be built explicitly
Plugin strategyMany front-end plugins work as marketedBack-end plugins often stay; front-end rendering plugins usually do not carry over
Hosting shapeOne WordPress stack is typicalWordPress back end plus a Node or static host for the front end
↑ Back to top

A web application disguised as a website

When I say a web application disguised as a website, I mean the visitor flow behaves like software: authenticated areas, multi-step tasks, dashboards, configurators, or several small apps that share content and business rules. It may still look like a brand site from the outside, but the hard problems live in interaction design and integration, not in picking a theme demo.

  • Keep WordPress for content

    Your team keeps posts, pages, custom post types and fields in the dashboard they already know. Training cost stays low compared with moving editorial work to a new headless CMS.

  • Skip a custom admin for everything

    WordPress already provides roles, workflows, revisions and media. Pairing it with the REST API often avoids building a separate content admin just to launch the application side.

  • Trade theme limits for front-end freedom

    You are not customizing a theme until it breaks. You build a purpose-made interface focused on the jobs your users need to do, while WordPress supplies structured content.

That combination can reach launch day faster than standing up a new CMS plus a bespoke admin, and it is sometimes cheaper, because the editorial layer reuses WordPress instead of being rebuilt. Sometimes cheaper is the honest limit: integration depth, previews and migration work can still dominate the budget.

↑ Back to top

The stack I use

Most of the time I choose Next.js for the public front end, or React when the project already standardizes on it. The browser experience is JavaScript; WordPress remains PHP on the server as the content system of record. Data flows through the WordPress REST API by default. GraphQL is available through plugins such as WPGraphQL if a team already standardized on it; I still default to REST unless there is a concrete reason to add that layer.

Pieces and ownership
PieceTechnologyWho typically owns it
Content and mediaWordPress (PHP)Your editorial team in wp-admin
Structured fields and typesWordPress (CPTs, meta, ACF or similar)Agreed during discovery, maintained in the dashboard
Public HTTP APIREST at `/wp-json/wp/v2/` (and plugin routes)WordPress host and integration developer
Public site and app UINext.js or ReactFront-end developer; deployed on a JS-friendly host
Authentication for drafts or private APIApplication passwords (since WordPress 5.6) or agreed authOps plus developer; never shared owner passwords

Define the content model up front: custom post types, taxonomies, required fields and which objects the front end must list, filter and detail. Changing the model mid-build ripples through templates, caching and SEO. For deeper product work outside WordPress, compare custom web app development and API integration services.

↑ Back to top

Plugins: decide before the build

A major advantage of keeping WordPress as the back end is that many plugins still add value on the server: SEO metadata, forms processing, security hardening, caching at the origin, custom post types and workflow. The catch is compatibility: decide the plugin list during scoping so you connect only what the front end truly needs, instead of paying to reverse-engineer every dashboard feature.

Plugin categories to decide early

  • SEO plugins such as Yoast SEO.Often expose title, description and schema-related output through REST fields or dedicated routes. Plan how the front end reads them; do not assume the plugin silently fixes URLs on the public domain.
  • Forms.Front-end markup from many form plugins does not carry over headless. Build a form in the JavaScript app that posts to the plugin REST endpoint, a custom REST route or another agreed API.
  • Page builders, sliders and theme-bound blocks.These render HTML inside WordPress. They do not automatically become React components. Either migrate content into structured fields or accept a redesign of those sections.
  • Caching and security on WordPress.Origin caching, firewall rules and login hardening still help protect wp-admin and the API. Public page caching is handled in Next.js (ISR, static generation or server components), not by treating the old theme cache as the plan.
Headless compatibility at a glance
CategoryOn WordPress back endOn the front end
Yoast SEOContinues managing metadata in the dashboardRead API fields and print head tags in app layout
Custom fields (ACF, etc.)Define structure editors useMap fields to components; register REST exposure explicitly
Membership or ecommerce extensionsMay work server-sideCheckout and account UI must be rebuilt or bridged deliberately
Page builder layoutsStored as shortcodes or HTML in contentUsually replaced by structured content or new UI
↑ Back to top

SEO in a headless build

Search engines still need clean HTML, stable URLs and accurate metadata on the domain visitors use. Headless does not remove SEO work; it moves part of it into the front-end codebase. I do not promise rankings. I do make sure metadata and content are present in the rendered page source.

When Yoast SEO is part of the stack, I integrate what Yoast already calculates into the Next.js or React layout. For posts and pages, Yoast adds `yoast_head` (prefabricated head HTML) and `yoast_head_json` (structured data) to REST responses. For arbitrary URLs, Yoast exposes `/wp-json/yoast/v1/get_head?url=`. Title, meta description, canonical, Open Graph and schema can flow from those outputs into server-rendered or statically generated pages so crawlers see them without executing a client-only shell.

Plan beyond meta tags

  • Canonical URLs and internal links.Point to the public front-end domain, not the WordPress back-end URL hidden behind the scenes.
  • Sitemaps.Decide whether the sitemap lives on the front-end host, is generated at build time, or is proxied from WordPress, and keep it aligned with the canonical domain.
  • Redirects.Migration from a theme site often needs redirect rules on the edge or front-end host. Redirects created in WordPress (with Yoast SEO Premium or a redirect plugin) do not reach the front-end host on their own; plan how they apply to visitor-facing URLs.
  • Rendered HTML.Prefer server rendering or static generation in Next.js so primary content and headings appear in view source, not only after client hydration.
↑ Back to top

Previews and editing

Be direct about limits: headless does not give editors a live block-editor preview of the custom front end out of the box. The Preview button in WordPress assumes the theme renders the site. Once the theme is decoupled, preview becomes explicit integration work, not a free extra.

  1. Step 1

    Accept that drafts require authenticated API access

    Unpublished content is not available from anonymous REST calls. Use application passwords or another agreed mechanism so the front end can request draft payloads securely.

  2. Step 2

    Wire Next.js Draft Mode (or equivalent)

    A secret-protected route on the front-end site enables draft mode when opened from WordPress preview links. While enabled, data fetching uses authenticated requests against the REST API.

  3. Step 3

    Document what editors should expect

    Clarify which post types preview, how long draft mode lasts, and whether layout matches production exactly. Partial preview is still common for app-like templates.

↑ Back to top

How I quote a headless build

Pricing depends on the complexity of the front end and the application you want visitors or staff to use, because that is the variable. We are not pricing a custom theme; we are pricing custom JavaScript focused on your workflows, plus how deeply the app must read and write WordPress through the REST API. Every project gets a fixed written quote before work.

  1. Step 1

    Send what the application must do

    Describe user roles, screens, integrations and success checks in plain language. Attach wireframes or an existing site if they exist.

  2. Step 2

    List plugins and content types you rely on

    Include SEO, forms, membership, multilingual tools and field plugins. Note which features must survive the move from a theme.

  3. Step 3

    I scope front-end effort and integration depth

    I map templates, data flows, auth, previews, migrations and hosting setup. Unknowns become assumptions in writing, not silent extras.

  4. Step 4

    You receive a fixed written quote

    The quote states deliverables, exclusions and what requires a change order. Work starts after scope and quote are agreed.

What drives the quote
FactorWhy it matters
Front-end screens and featuresCustom UI dominates effort compared with a theme-based site
REST integration depthRead-only listings usually take less work than two-way sync, custom endpoints or realtime features
Plugins to connectEach plugin may need REST exposure, webhooks or replacement UI
Previews and draft workflowDraft Mode routes, secrets and editor expectations are build work
Hosting setupTwo environments: WordPress back end and front-end host, plus staging
Content migrationMoving builder HTML into structured fields can exceed greenfield setup

Agencies can deliver under their brand through white-label web development. For advisory work before committing to a build, see WordPress consultant or WordPress outsourcing when you need a delivery partner.

↑ Back to top

What to send me

The fastest path to a useful quote is a concise brief plus honest constraints. Public URLs are fine for a first pass; credentials come after scope is agreed.

Copy this headless project brief
Organization and public site: {{name and URL}}
Why headless now: {{what broke or what the app must do}}
Users and roles: {{visitor, client, staff tasks}}
Must-keep WordPress pieces: {{post types, plugins, editorial workflow}}
Front-end expectations: {{Next.js or React, auth, languages, design reference}}
Integrations: {{CRM, payments, search, internal APIs}}
SEO and URLs: {{Yoast or other, domain plan, redirects needed}}
Previews: {{who previews drafts and how often}}
Hosting today: {{WordPress host; any front-end host preference}}
Timeline and constraints: {{launch window, compliance, approval chain}}
↑ Back to top

Why clients hire us

  • One person accountable

    Fernando does or reviews every job. No account managers between you and the work.

  • Fixed written quote

    Scope and price in writing before any work starts. Rework on our mistakes is on us.

  • Bilingual EN/ES

    Fer LLC (Wyoming), working in English and Spanish. Replies the same business day, 9 AM to 9 PM ET, at +1 310 734 8943.

  • Work you can check

    Building websites since 2001, with published projects in the portfolio.

Frequently asked questions

What is headless WordPress?

WordPress remains the content back end while a separate JavaScript front end (often Next.js or React) loads content through the REST API and renders the public experience. Editors can keep using wp-admin; visitors see the custom app, not a traditional theme.

Is headless WordPress worth it?

It is worth considering when your team must keep WordPress for content but the product is app-like and a theme or page builder cannot carry the interface. For straightforward marketing or corporate publishing, a normal WordPress site is usually simpler to build and operate.

Can you use React or Next.js with headless WordPress?

Yes. That is the pattern I use most often: Next.js or React on the front end, WordPress on PHP for content, connected through `/wp-json/wp/v2/` and plugin REST routes. GraphQL via WPGraphQL exists as an alternative if your team already depends on it.

Does Yoast SEO work with headless WordPress?

Yoast still manages metadata in WordPress. Integrate REST fields such as `yoast_head` and `yoast_head_json`, or call `/wp-json/yoast/v1/get_head?url=` for a given URL, then print the result in your front-end layout. Sitemaps, redirects and canonical URLs still need a plan for the public domain.

How are previews handled in headless WordPress?

They do not work automatically. Set up an explicit preview flow, often Next.js Draft Mode with a secret-protected route and authenticated REST requests for drafts, commonly using application passwords. Treat previews as scoped work.

Is headless WordPress more expensive than a regular WordPress site?

It depends on front-end complexity and integration depth, not the word headless alone. Custom application UI and API wiring usually exceed a theme project, but reusing WordPress can avoid a new CMS and admin. Fer Marketing prices per project with a fixed written quote before work; request one for your requirements.

Can my team keep using the WordPress dashboard?

Yes for content, media and most editorial workflows you configure. They will not get a native live preview of the decoupled front end unless that integration is part of the project.

How does hosting work for headless WordPress?

Plan for two environments: a WordPress back-end host (PHP, database, wp-admin) and a host for the Node or static front-end build. Staging for both sides is part of realistic scope; I do not recommend a specific vendor in this guide.

Send what the application must do and the WordPress plugins you rely on through contact or fer@fer.marketing: we reply the same business day, 9 AM to 9 PM ET. Headless builds are priced per project, with a fixed written quote before work, including white-label delivery for agencies.

Keep reading

Tell us about the site you need

Send your page list or a short brief. Fernando replies the same business day with questions or a written quote.

  • Building websites since 2001 (25 years)
  • Fer LLC, a US company
  • Fernando does or reviews every job
Fixed written quoteGet a fixed quote