What is a "frontend technology"?
In a headless architecture, the frontend is the presentation layer — the code that runs in the visitor's browser and displays the content. WordPress, on its side, plays the role of backend: it stores and exposes data through an API.
Frontend technologies refer to the JavaScript frameworks and libraries used to build this presentation layer. Each technology offers different trade-offs between learning curve, performance, and flexibility.
React: the reference library
React is a JavaScript library for rendering user interfaces (UI), created by Meta (Facebook) in 2013. It powers production applications at Netflix, Airbnb, Instagram, and thousands of others.
Why React dominates the market:
- The largest active developer community (according to Stack Overflow and State of JS surveys)
- An extremely rich npm package ecosystem
- An active community producing documentation, tutorials, and open source tooling
- A stable release cycle with backward compatibility
With WordPress headless:
- WordPress REST API and WPGraphQL integrate natively with React HTTP clients
- Libraries like
@wordpress/api-fetchsimplify the calls - Many open source starters and examples are available
React is suitable if:
- Your team already knows JavaScript and the component paradigm
- The project requires strong client-side interactivity
- You want to maximize the pool of potentially recruitable developers
Next.js: the fullstack framework built on React
Next.js is a framework developed by Vercel that builds on top of React and adds a set of essential features for the web: routing, server-side rendering, and static generation.
Key Next.js features:
- SSR (Server-Side Rendering): HTML is generated on the server for each request, ensuring search engines can index the content
- SSG (Static Site Generation): pages are pre-generated as HTML at build time, for minimal response times
- ISR (Incremental Static Regeneration): static pages are regenerated in the background after a configured interval, combining static performance with content freshness
- Automatic optimization: image compression (
next/imagecomponent), font loading, route-based code-splitting
Next.js is suitable for:
- Marketing sites where performance and SEO are priorities
- E-commerce that needs product pages indexed by search engines
- Blogs with high content volume
- Projects requiring both static and dynamic rendering
Vue.js: a progressive alternative
Vue.js is a JavaScript framework created by Evan You in 2014. It's designed for progressive adoption: you can use it for an isolated component or for a full application (SPA, Single Page Application).
Why Vue.js is popular:
- Reduced learning curve: template syntax is close to HTML, which makes it easier to pick up
- Reference documentation: recognized as one of the best in the JavaScript world, available in multiple languages
- Declarative syntax: Single File Components (
.vue) bundle template, logic, and styles in a single file - Equivalent performance: benchmarks show results comparable to React
Nuxt.js = the fullstack framework for Vue.js
- The Vue ecosystem equivalent of Next.js
- Supports SSR, SSG, and hybrid rendering
- More conventional configuration, less boilerplate
Vue.js/Nuxt is suitable if:
- The team is just starting with modern JavaScript frameworks
- Code readability and syntax simplicity are priorities
- You appreciate comprehensive multilingual documentation
Gatsby: the specialized static generator
Gatsby is a React-based framework that generates the entire site as static HTML files at build time. This process is called Static Site Generation (SSG).
How it works:
- At build time, Gatsby queries the WordPress API (via GraphQL) and retrieves all the content
- It generates an HTML file for each page, with the necessary CSS and JavaScript
- Static files are deployed to a CDN (Content Delivery Network): the server performs no processing per request
Advantages:
- Minimal response time: a static HTML file is served directly, with no server execution
- Reduced attack surface: there is no exposed application server, so SQL injection or remote code execution are not possible
- Optimal SEO: the full HTML is available from the first byte received by the crawler
Limitations:
- Content is only updated after a new build (build time scales with the number of pages)
- Real-time features (comments, dynamic carts) require third-party services or client-side calls
Gatsby is suitable for:
- Sites where load time is a critical business factor
- Content with low update frequency (documentation, portfolio, marketing site)
- Projects with strong security constraints
Which tool should you choose? Decision guide
Technical advice
The choice of frontend technology should primarily rest on your team's existing skills. A well-mastered framework will produce more reliable and maintainable code than a trendy framework poorly implemented. Also evaluate the size of the ecosystem (number of packages, update frequency, developer availability on the market).
For progressive skill development: Vue.js or Nuxt.js
- Accessible syntax for junior front-end developers
- High-quality multilingual documentation
- A good balance between simplicity and power
For performance and flexibility: Next.js
- Hybrid rendering (SSR, SSG, ISR) adaptable per page
- Built-in optimizations (images, fonts, code-splitting)
- Vercel ecosystem for deployment
To maximize the talent pool: React or Next.js
- The largest number of developers on the market
- The most resources available (tutorials, packages, Stack Overflow answers)
- De facto standard at many companies
For experimental projects: Svelte / SvelteKit
- Build-time compilation: less JavaScript sent to the browser
- High native performance thanks to the absence of a virtual DOM
- Concise syntax that reduces boilerplate
Key takeaways
Key takeaways
-
All these technologies fulfill the same role: building the presentation layer of a site connected to WordPress via API
-
The choice depends on three factors: the team's skills, the project's performance requirements, and the development budget
-
Each option outperforms traditional WordPress in terms of load time, design flexibility, and separation of concerns
-
Default recommendation: Next.js for its versatility (SSR + SSG + ISR), or Nuxt.js if the team prefers Vue.js
The most reliable selection criterion remains your team's technical mastery. A well-mastered framework will always produce better results than a popular framework poorly implemented.
-
All these technologies fulfill the same role: building the presentation layer of a site connected to WordPress via API
-
The choice depends on three factors: the team's skills, the project's performance requirements, and the development budget
-
Each option outperforms traditional WordPress in terms of load time, design flexibility, and separation of concerns
-
Default recommendation: Next.js for its versatility (SSR + SSG + ISR), or Nuxt.js if the team prefers Vue.js
The most reliable selection criterion remains your team's technical mastery. A well-mastered framework will always produce better results than a popular framework poorly implemented.
Custom Post Types and ACF in headless mode
Article suivantNext.js for headless WordPress