Redesign of the institutional website of a Middle Eastern public university on Drupal, bilingual Arabic and English with native right-to-left support, and API integration with academic services. A conventional Drupal site: the reference covers the back office and multilingual work, not headless.
Headless Drupal: keep the back office, rebuild the front-end.
Migrating a Drupal site to a headless architecture: Drupal 11 kept as the back office and exposed through JSON:API, pre-rendered Next.js or Astro front-end, the special case of end-of-life Drupal 7, multilingual and editorial workflows preserved.
Business context and modernization stakes.
Drupal is already headless-ready
Since Drupal 8.7, the JSON:API module ships in core: every content type, taxonomy and media item can be made available through an API without custom development, according to the access rights set in Drupal; by default this API is read-only. The strengths that made you choose Drupal stay in the back office: editorial workflows (Content Moderation), fine-grained permissions, native multilingual, multi-site. Decoupling replaces only the presentation layer, the Twig theme, with a modern front-end.
The Drupal 7 case
Drupal 7 has not been maintained by the Drupal community since 5 January 2025 (drupal.org; some vendors offer paid extended support). It has no JSON:API in core and its data model differs from recent versions. Taking a Drupal 7 site headless therefore means migrating the back office first to Drupal 11, or to another headless CMS, then building the front-end. The two workstreams run together: it avoids rebuilding a Twig theme that is about to disappear. The same logic applies to Drupal 10, which reaches end of life on 9 December 2026 (drupal.org): a project started today targets Drupal 11. See Drupal upgrade.
Three ways to decouple
The choice depends on what the site still has to do on the Drupal side.
- Fully decoupledThe whole public site is served by the front-end; Drupal becomes a back office only, and its access can be limited to editorial teams.
- Progressively decoupledDrupal keeps rendering some sections (logged-in area, complex forms) while the front-end takes over the public pages. Useful to move step by step.
- Leaving DrupalContent moves to Directus, Strapi or Payload. Relevant when the team no longer wants to maintain PHP, or when the database must become the source of truth (Directus).
What headless changes for visibility
AI engine crawlers read the HTML returned by the server. A pre-rendered front-end hands them every page complete, in every language, with controlled hreflang tags. A front-end built in the browser usually hands them an empty page (two exceptions: Google AI Overviews and Microsoft Copilot). Details on CMS to headless migration; for a WordPress site, see WordPress to headless migration.
Compare target trajectories.
JavaScript team, need for an editor preview and automatic updates of only the pages that changed.
Mostly editorial site with little interactivity: very light pages, almost no JavaScript.
Logged-in area or heavy business forms in Drupal: decouple the public pages first, the rest later.
Content structured like a database, SQL-savvy team, wish to leave PHP.
The current theme works and no other channel is planned: a Drupal upgrade is enough.
How long, and with what team?
Indicative estimate, to be confirmed at scoping: for an up-to-date Drupal 11, or a Drupal 10 moved to 11 within the same project, plan 8 to 16 weeks depending on the number of content types, languages and page templates. For Drupal 7, add the back-office migration, estimated with the Drupal upgrade. Typical team: a project manager, a Drupal developer (API, content model, migration), two front-end developers (Next.js or Astro), a part-time SEO lead.
What are the risks?
- Choose the level of decoupling: full, progressive, or leaving Drupal.
- Handle end-of-life Drupal 7 without rebuilding a theme that is about to disappear.
- Preserve multilingual, right-to-left and editorial workflows in the new front-end.
- Preserve SEO (URL aliases, metadata, 301 redirects, hreflang).
How does ATLAS control them?
- Inventory of the Drupal site: version, content types, languages, modules, templates, URLs.
- Choice of decoupling level and, for Drupal 7, of the back-office target.
- Design of JSON:API resources and build of the pre-rendered front-end, with draft preview.
- Tests on a sample of each template and each language, then cutover and redirects.
- Search Console monitoring and editor support after go-live.
What results to expect?
- Drupal back office kept, with its workflows, permissions and multilingual support.
- Pre-rendered front-end, readable by search engines and AI engines, in every language.
- Goal: SEO preserved (exhaustive 301 redirects, complete hreflang) and monitoring after go-live.
- For Drupal 7: exit from the end-of-life version within the same project.
What we learned on this migration path.
Cascading JSON:API requests: the front-end calls the API ten times per page because relationships are not included.
Relationship include parameters designed up front, dedicated resources for heavy pages, number of calls per template measured before go-live.
Multilingual and right-to-left forgotten on the front-end: Drupal handles translations, but the new front-end must handle Arabic, per-language URLs and hreflang tags itself.
Per-language routing, mirrored layout for Arabic and hreflang tags designed from the first mockup, tested on every template.
Broken editorial workflow: editors lose the preview of content under review.
Draft preview wired to Content Moderation states, so reviewers see the final page before publishing.
SEO lost at cutover: Pathauto URL aliases and Metatag metadata not carried over by the front-end.
Aliases and metadata read from Drupal by the front-end, URL mapping before development, exhaustive 301 redirects, Search Console monitoring after go-live.
This path in real conditions.
access-international.dev is served by a statically exported Next.js front-end with no CMS, bilingual French and English, with complete hreflang tags.
What decision-makers ask about this path.
Do we need an extra module to take Drupal headless?+
Not for the essentials: JSON:API has been in Drupal core since version 8.7 and is read-only by default, with access governed by Drupal permissions. Additional modules then handle draft preview, or trigger front-end regeneration every time an editor publishes.
Can a Drupal 7 site go straight to headless?+
Not sensibly. Drupal 7 reached end of life on 5 January 2025 and has no JSON:API in core. The back office must move to Drupal 11, or to another headless CMS, while the front-end is being built. See Drupal upgrade.
Next.js or Astro for the front-end?+
Next.js when you need interactivity, a rich editor preview and incremental regeneration. Astro for a mostly editorial site with pages that need almost no JavaScript. Both produce pre-rendered HTML that AI engines can read.
Do multilingual and Arabic survive decoupling?+
Yes, provided they are handled on the front-end from the start. Drupal keeps managing translations and their workflow, but per-language routing, the mirrored right-to-left layout for Arabic and hreflang tags become the new front-end's job, and must be tested on every template.
How much does a Drupal to headless migration cost?+
Cost depends on the starting version (Drupal 7 means migrating the back office too), the number of page templates to rebuild and the number of languages. Free initial scoping call, 30 minutes to 2 hours.
Does this modernization path match your context?
We frame the trajectory, the budget, and the deliverables in a first thirty-minute conversation. A short POC can be proposed before committing to the full program.
Start this path →