Modernization path

Move from a monolithic CMS to a headless architecture.

Migration from a traditional CMS (WordPress, Drupal, Joomla) to a headless architecture: a content API back-end (Strapi, headless Drupal, Directus) paired with a SPA front-end (Next.js, Astro), SEO and performance preserved.

Key figures
91/100
SEO score reached after the WordPress → Next.js migration of access-international.dev (April 2026)
Access internal audit
51
301 redirects preserved with no Google ranking loss on the same migration
8-16 weeks
typical duration of a headless migration from 100 to 5,000 pages
ATLAS methodology applied

From scoping to deployment, five structured phases.

Each phase aggregates one or more of the ten ATLAS steps. No phase starts until the previous one has delivered its validated artefact. The ATLAS methodology makes AS/400 migration predictable and auditable.

  1. 01Phase 1

    SEO scoping & URL mapping

    ATLAS steps
    E1 Intake · E2 Discovery · E2b Functional spec

    Complete inventory of source URLs, content, and third-party integrations (CRM, ESP, payment). Multi-language hreflang map. Core Web Vitals baseline audit. Priority scope and target CMS choice (Strapi, headless Drupal, Directus, WP+WPGraphQL). Source/target 301 redirect table validated by SEO.

    Phase deliverable
    URL map + functional spec + signed 301 table + CMS choice
  2. 02Phase 2

    Content modeling & capture

    ATLAS steps
    E2e Editorial capture · E3 Dependency mapping

    Content modeling workshop: separation between business entities (Article, Author, Category) and presentation components (Hero, CTA Block), normalized relations. Capture existing editorial workflows, identify WordPress plugins / Drupal modules to replace or integrate.

    Phase deliverable
    Signed content model + editorial workflow map
  3. 03Phase 3

    API architecture & design system

    ATLAS steps
    E4 Target architecture · E4b Pre-migration tests

    Optimized content API design: one page = one call, not cascade. Front-end design system (components, design tokens). Performance budget set (LCP < 2.5 s, CLS < 0.1, INP < 200 ms). Non-regression test suite preparation on critical workflows.

    Phase deliverable
    API spec + design system + perf budget + test suite
  4. 04Phase 4

    Content migration & integrations

    ATLAS steps
    E5 Migration · E6 Parity validation

    Build SPA front (Next.js or Astro), configure target headless CMS, migrate content from monolith, integrate CRM/ESP/payment, activate live previews, visual parity tests on representative page sets.

    Phase deliverable
    Complete target site in pre-prod + signed parity tests
  5. 05Phase 5

    Cutover & 90-day monitoring

    ATLAS steps
    E7 Delivery

    Production cutover with 301 table active on .htaccess or middleware. Editor training over 2 sessions (before + 2 weeks after). Daily Search Console monitoring for 90 days, alert on impression or position drop. Publishing time measurement post-cutover (target: ≤ baseline).

    Phase deliverable
    Site in production + active 301s + trained editors + 90d monitoring active
Who is concerned

Business context and modernization stakes.

Who runs a monolithic CMS today

News media and editorial portals whose front-end debt slows down publishing cycles. Multi-site, multi-market brands that stack WordPress or Drupal instances to manage several countries. Public-sector and institutional players who maintain complex bilingual sites (French/Arabic, French/English) where performance and accessibility are audited. In every case, tight front/back coupling becomes a brake: every presentation change forces a full CMS release cycle, and the legacy stack blocks any modernization of mobile or app fronts.

Why migrate to headless now

Three forces are pushing the move: (1) Core Web Vitals pressure since 2021 — a monolithic site struggles to pass the LCP < 2.5 s threshold without a deep rendering rewrite; (2) multi-channel — website, mobile app, in-store screens, voice all share the same content, which a monolithic CMS cannot expose cleanly; (3) end-of-life of critical plugins (notably on WordPress) forcing a decision: WordPress rebuild or headless cutover. Headless decouples the fast front-end cadence (design system) from the slow back-end cadence (content governance, security).

When headless does NOT make sense

For a simple brochure site with no multi-channel needs and no dedicated technical team, an optimized WordPress remains more economical. For an editorial team without dev support, headless reduces autonomy (no native WYSIWYG on the front-end). For an e-commerce site with heavy merchandising workflows, some monolithic platforms (Shopify, Magento) keep the edge. Headless is not a universal answer: it makes sense when multi-channel, performance, or front-end freedom justify the investment.

Self-evident case study: our own WordPress to Next.js headless migration

The access-international.dev site moved from WordPress to a headless architecture (Next.js 16 + static export) on April 23, 2026. Factual markers: 135 bilingual pages (66 FR + 66 EN + utility pages), a 124-URL sitemap with complete FR/EN hreflang, 51 WordPress → Next.js 301 redirects baked into the Plesk `.htaccess` to preserve every legacy path. Post-migration SEO audit 91/100, security 92/100 (HSTS preload, hardened headers). 31 OG images generated through Playwright from a parameterized HTML template. AI crawlers (GPTBot, ClaudeBot, PerplexityBot) are explicitly allowed in `robots.txt`. This migration is our own proof point: we apply on our site the ATLAS methodology we sell to clients. No theoretical claim — the result is measurable and open to audit.

Source platform

Monolithic CMS (WordPress, Drupal, Joomla)

Target technology

Headless CMS + SPA front (Next.js, Astro)

Technology alternatives

Compare target trajectories.

Strapi (Node.js, open source)

When the team has a JavaScript culture and wants a lightweight, extensible CMS back-end deployable on Cloudflare, Vercel, or AWS. No PHP dependency.

Headless Drupal (JSON:API)

When the team capitalizes on existing Drupal expertise (modules, permissions, editorial workflows) and wants to keep the back-end while modernizing the front.

Directus (data-first, PostgreSQL)

When content is structured like a real database and the team wants an automatically generated REST/GraphQL API without a heavy CMS abstraction.

Headless WordPress via WPGraphQL

When WordPress is already in place and a smooth transition is preferred — keep the WP back-end, switch the front to Next.js or Astro, add a GraphQL layer.

Scoping reference

Typical duration and team for this path.

8 to 16 weeks depending on content volume to migrate (from 100 to 5,000 pages), number of third-party integrations (CRM, ESP, payment), and design system maturity. Typical team: 1 project manager, 2 front-end developers (Next.js or Astro), 1 API/CMS developer, 1 SEO lead during the migration phase.

Challenges

  • Decoupling the front-end from the back-end without losing editorial capabilities.
  • Preserving SEO and performance during and after the cutover.
  • Driving change adoption among editorial teams on the new workflows.

ATLAS approach

  • Inventory of content, URLs, and existing editorial workflows.
  • Design of the content API and target data model.
  • Front-end SPA build with SSG or ISR, progressive integration.

Expected outcomes

  • Operational headless architecture in production.
  • Measurably improved Core Web Vitals performance.
  • Editorial workflows preserved, publishing time maintained or reduced.
Identified pitfalls and ATLAS response

What we learned on this migration path.

Pitfall 01

SEO preservation poorly framed — the migration changes URL structure, breaks redirects, or subtly alters server-side rendering. Common pattern in the literature: 20% to 40% ranking losses in the six months following cutover, sometimes never recovered.

ATLAS response

Complete URL mapping, source and target, before any development, exhaustive 301 redirect table baked into .htaccess or middleware, comparative Core Web Vitals audit before/after, daily Search Console monitoring for 90 days post-cutover. On the Access International project, 51 WordPress→Next redirects were preserved with no position loss.

Pitfall 02

Content model copy-pasted from the monolith — teams replicate WordPress content types into Strapi without rethinking the API. Result: rigid API, duplicated data, the front-end has to make 5 calls to render a homepage.

ATLAS response

Upstream content modeling workshop, clear separation between business entities (Article, Author, Category) and presentation components (Hero, CTA Block), normalized relationships. The API must deliver a full page in a single optimized call, not in cascade.

Pitfall 03

Editorial workflow broken without preparation — editors lose their familiar WYSIWYG, no longer see visual rendering while writing, must understand the notion of "draft API" versus published. Strong resistance, delayed content publishing.

ATLAS response

Implement live previews on the front-end (Next.js draft mode, Astro view transitions), hands-on training of editors over 2 short sessions, visual documentation of the new flows. Success is measured by article publishing time: it must remain less than or equal to the previous baseline.

Pitfall 04

Front-end performance poorly measured — the team assumes "headless = automatically fast" and neglects front-end optimizations. Result: LCP degraded by unoptimized images, CLS broken by custom fonts, bloated JavaScript bundle.

ATLAS response

Performance budget set at scoping (LCP < 2.5 s, CLS < 0.1, INP < 200 ms), continuous CrUX field data measurement, systematic optimization: WebP/AVIF responsive images, subset fonts with font-display swap, aggressive code splitting, ISR or SSG by default. Headless guarantees performance only if performance is explicitly governed.

Cell composition

A specialized cell for this modernization path.

Several distinct profiles, mobilized over the full program duration. Reproducing this cell internally is rarely realistic — the legacy skills shortage and ATLAS expertise depth make outsourcing structurally faster and less risky.

Duration
8 to 16 weeks depending on content volume and integrations
Volume
5 to 7 people for 500 to 5,000 pages with CRM/ESP/payment integrations
Profiles

Headless CMS architect

1

Content modeling, target CMS choice (Strapi, headless Drupal, Directus, WP+WPGraphQL), API design, design system

Front-end SPA developers

2

Next.js or Astro, SSG/ISR, Core Web Vitals optimization, responsive WebP/AVIF images, code splitting, draft mode for previews

API / CMS developer

1

Headless CMS configuration, REST/GraphQL API, entity modeling, editorial workflows, permissions

SEO lead

1

Source/target URL mapping, exhaustive 301 table, hreflang, robots/sitemaps, GSC monitoring 90 days post-cutover

Editorial UX & change

1 (half-time)

Live preview design, hands-on editor training (2 sessions), visual documentation, publishing time measurement

Project manager

1

Scoping → cutover leadership, business / IT / SEO team coordination, user acceptance

Access field experience

This path in real conditions.

Back-end CMS capability — Drupal, WordPress

Access has hands-on experience on monolithic CMS back-ends, delivered for clients: Drupal powering the bilingual (Arabic + English) Ministry of Culture KSA platform for Vision 2030 heritage valorization; WordPress powering the Azur City portals (3 shopping malls) and Gnet News (news portal). This back-end expertise transfers directly to a headless transition (headless Drupal via JSON:API, headless WordPress via WPGraphQL).

Multi-site Drupal · multi-instance WordPress · transferable headless expertise
Modern SPA front-end capability — Next.js, Astro

On modern static front-ends: the access-international.dev site itself runs Next.js 16 + static export on Plesk hosting, with 135 bilingual pages, SEO baseline 91/100, complete hreflang, and 51 preserved legacy redirects. The vivantro.org site runs on Astro with Cloudflare Pages. The terrageo.pages.dev site combines Vite + React + PWA. SPA front-end capability is operational and can be paired with any headless CMS back-end.

3 production front-ends · Next.js · Astro · PWA · SEO audit 91/100
Frequently asked questions

What decision-makers ask about this path.

How much does a CMS-to-headless migration cost?+

Cost depends on content volume, number of integrations, and design system maturity. As a benchmark: an editorial site of 500 pages with 3 third-party integrations (CRM, ESP, payment) lands between 40,000 and 80,000 EUR in a fixed-price nearshore Tunisia engagement. A multi-site portal with 5,000 pages and complex editorial workflows can exceed 150,000 EUR. The Intake scoping phase locks an explicit range. See the delivery models.

How do you guarantee SEO preservation during the migration?+

Three safeguards: (1) complete URL mapping before any development, exhaustive 301 redirect table validated by the SEO lead; (2) comparative Core Web Vitals audit before/after to ensure the headless move improves performance and introduces no CLS or LCP regressions; (3) daily Search Console monitoring for 90 days post-cutover, automatic alert on any drop in impressions or positions. On our own site we preserved 51 WordPress redirects with no ranking loss.

How long does a headless migration take?+

8 to 16 weeks depending on volume. For a brochure site of 100 pages without complex integrations, 8 weeks are enough (scoping 2, dev 4, UAT + cutover 2). For a multi-site portal of 5,000 pages with CRM, ESP, payment, and multilingual content, plan 14 to 16 weeks. A pilot on a sub-perimeter (one section, one language) in 4 weeks validates the mechanics before committing to the rest.

How do editors adopt the new stack?+

The main risk of a headless migration is editorial resistance: loss of the familiar WYSIWYG, new workflows, draft API. Our approach: live previews on the front-end from day one (Next.js draft mode or Astro view transitions), 2 hands-on training sessions with editors (before cutover and 2 weeks after), visual workflow documentation. Success is measured by article publishing time: it must remain less than or equal to the previous baseline within 30 days of cutover.

Considering a migration to headless?

Three concrete ways to start — from an SEO diagnostic to a full program. Our approach is demonstrated on access-international.dev itself (51 redirects preserved, SEO score 91/100).