The State of Headless Drupal in 2026
Evaluating JSON:API vs GraphQL for modern frontend frameworks like Next.js 16, and why the tooling has finally caught up to the architectural promise.
The case for JSON:API
Native to Drupal core, zero extra infrastructure, and — with jsonapi_extras — enough flexibility to avoid the classic "N+1 relationship" tax.
The case for GraphQL
Still best-in-class when the frontend team is used to it and when a single page assembles data from many content types in one round trip.
My recommendation
Start with JSON:API. Add GraphQL only when a specific page genuinely cannot be served efficiently by a single JSON:API call with include paths.
Read next
- May 25, 2026
Stop Making Users Pay for Work Your CI Pipeline Could Do
Most slow Drupal sites are not slow because the code is wrong. They are slow because expensive work runs at request time when it could have run in the CI pipeline instead. Cold caches, image derivatives, search indexes. The pattern repeats. The fix is the same in every case: move the cost off your users and onto a controlled environment where nobody is waiting. This is a principle, not a tip. Three examples below to make it concrete.
- May 15, 2026
Drupal Got Cache Invalidation Right. The Rest of the Industry Is Catching Up.
Drupal's cache tag system is one of the better-designed cache invalidation models in modern web frameworks. A practitioner's look at why it works, where it breaks across system boundaries, and the mental model that travels to any stack.
- May 11, 2026
Drupal's Queue API is the Most Underused Feature in Core
Most Drupal teams reach for cron, Batch API, or external job runners when Queue API would solve the problem with less code and fewer moving parts. Three patterns where Queue API earns its place, with snippets and architecture diagrams.