Blog
Field notes on CMS migration
Writing about replatforming without quietly losing the traffic you already had. Redirect strategy, content inventory, what actually breaks at cutover, and how answer engines find you again on the other side. Or browse by topic.
The Doorman Test: Which Pages Get Into the New SiteHow to score every page migrate, rewrite, or kill before a CMS migration using four signals you can measure without building a single template.Read →
Triage Every Page Before You Touch a TemplateScore every page migrate, rewrite, or kill using three questions about reach, quality, and cost — before a single template gets built. A field method for pre-Read →
Score every page migrate, rewrite, or kill firstBefore you touch a single template, tag every page migrate, rewrite, or kill using three signals: real value, machine-readable health, and whether something aRead →
EmDash ships an agent that can publish to your siteCloudflare's new CMS mounts an MCP server by default, so an assistant can create and publish your content. The scopes you grant are the whole story, and so is whether your content is legible to a machine at all.Read →
301 Redirect Mapping: The Exit-Sign ProblemA field guide to 301 redirect mapping for a CMS replatform: what a redirect map actually is, the traps that leak traffic, and how to test before cutover.Read →
CMS Migration Plans: You Budgeted for the Easy HalfA CMS migration plan that is only a timeline has costed the platform and not the content. What the plan has to answer first, and the 13,838-site evidence for why.Read →
301 Redirects: The Field Guide You Learn the Hard WayA 301 redirect map keeps your traffic through a CMS replatform. Here are the rows every team forgets, the chains that leak signals, and how to test before cutRead →
Drupal to Headless: The Node IDs That Break the MoveDrupal stores relationships as numeric IDs. Headless platforms mint new ones on import. Here's how taxonomy, media, and entity references quietly break.Read →
Content Debt: Audit Before It Follows You OverThin, stale, and cannibalizing pages don't fix themselves in a migration — they just cost more to move. Here's how to audit content debt before cutover.Read →
AEO During a Replatform: Surviving the Answer BoxAI answer engines cite you by URL and cache hard. Here's how to keep Google's AI Overviews, ChatGPT, and Perplexity pointed at you after your pages move.Read →
Build an Inventory That Predicts What BreaksA pre-migration content inventory only predicts cutover breakage when it records how each page is loaded — traffic, links, redirects, and dependencies, not juRead →
Sitecore to Contentful: Move the Content, Keep the RelationshipsWhen you move from Sitecore to Contentful, the content survives the trip. The links between content are what break. Here is how to keep them intact.Read →
Speeding Up AI Rediscovery After You ReplatformAI answer engines re-find your migrated site through search crawlers and indexes, not magic. Here's what actually speeds up rediscovery after a CMS move.Read →
What 'Redirects Can Wait' Actually Costs YouDeferring redirects until after a CMS migration quietly bleeds organic traffic for months. Here's why the delay compounds, and what it really costs you.Read →
The pre-cutover SEO checklist that ships with the boxesCanonical tags, hreflang, and structured data are the labels crawlers read after a CMS migration. Here's how to make them survive the cutover intact.Read →
AEM to Headless: The Building Did Half the WorkMoving off Adobe Experience Manager to a headless CMS? Here's what maps cleanly, what you rebuild from scratch, and exactly where your search rankings leak.Read →
The Attic and the Photocopier: Cleaning Before You MoveOrphaned assets and duplicate content are the two quiet killers of migration SEO. Here's how to find them before cutover, and what to do with each.Read →
Keeping AI Answers Pointed at You When URLs ChangeHow to keep Google AI Overviews and other answer engines citing your pages after a replatform changes your URLs, using redirects, stable facts, and crawl acceRead →
It's the gift that keeps on giving the whole year, ClarkNearly half the Drupal web stops getting security patches on 9 December. Upgrading on time is what put them there.Read →
Drupal to headless: the reference-integrity trapsTaxonomy, media, and entity references are what break in a Drupal-to-headless migration. Here's where the links snap and how to bring the ledger with you.Read →
Fixing Redirects After Launch Costs Six Months of TrafficDeferring redirects until after a CMS migration turns ranked URLs into 404s, strands link equity, and forces a slow recrawl. Here's the real cost and the fix.Read →
Four Failed Businesses, and the One I Wouldn't QuitReplatform Radar is the fifth thing I've built — the first four didn't make it. This is the unglamorous, true version of launching a product solo: the silence, the grind, the outreach that goes nowhere, and why I kept showing up.Read →
WordPress to a DXP: Keep Your Permalinks and Crawl BudgetMoving WordPress to a modern DXP without losing rankings comes down to three things: keep permalinks, map redirects one hop deep, and don't waste crawl budgetRead →
The pre-cutover SEO checklist that survives the moveCanonical tags, hreflang, and structured data break quietly during a CMS migration. Here's how to check they survive cutover before Google notices they didn'tRead →
Nobody sold them Drupal: the CMS quietly beating the vendors built for governmentIn US government, sites on a general-purpose open-source CMS outscore the commercial platforms sold specifically to government — and beat the average website on the open web.Read →
AEM to Headless: What Maps, What Rebuilds, Where Rankings LeakMoving from Adobe Experience Manager to a headless CMS? Here's what content maps cleanly, what you rebuild from scratch, and exactly where organic rankings leRead →
Hunt Orphaned Files and Duplicates Before You MigrateOrphaned assets and duplicate content quietly bleed migration SEO. Here's how to find, score, and resolve both before cutover so rankings survive the move.Read →
Platform shopping has cooled: CMS category search is down a third from its 2025 peakCombined US search volume for 15 platform-category terms — headless, composable, DXP, enterprise CMS — peaked in March 2025 and has fallen a third since.Read →
The Inventory Columns That Predict Cutover BreakageA pre-migration content inventory only predicts breakage if you capture the right columns. Here are the fields, signals, and thresholds that flag failures befRead →
Drupal ships the web's best security defaults — and one big gapWe measured 11 signals on 27,385 live sites. Drupal leads every security default we checked — and trails badly on the one signal AI answer engines rely on.Read →
How AI Answer Engines Re-Discover a Site After a ReplatformAfter a replatform, AI answer engines re-crawl on their own clock. Here's how rediscovery actually works and the concrete steps that speed it up.Read →
Content Debt: Don't Migrate Thin, Stale, and Cannibal PagesContent debt is the thin, stale, and cannibalizing pages you drag into a new CMS. Here's how to find them and decide what to migrate, rewrite, or kill.Read →
When Should You Stop Fixing a CMS and Replace It?When should you replace a CMS instead of fixing it? The line I draw after years of pre-migration audits: replace when the problems are structural, not configurable — and the risk I make everyone weigh first.Read →
Scoring Every Page: Migrate, Rewrite, or KillA practical framework for classifying pages as migrate, rewrite, or kill before your CMS migration starts — using traffic, links, freshness, and duplication dRead →
Orphaned Assets and Duplicate Content: Migration's Quiet KillersOrphaned assets and duplicate content rarely show up in a launch checklist, yet they quietly drain migration SEO. Here's how to find and fix both before go-liRead →
301 Redirect Mapping: The Replatform Lessons Teams Learn LateA practical guide to 301 redirect mapping for a CMS replatform, covering the mistakes teams discover after launch and how to catch them before traffic drops.Read →
The State of CMS Migration Readiness 2026We scanned 1,205 live websites to measure what would break if they migrated CMS. WordPress and Drupal score identically — and fail in opposite directions.Read →
Keeping AI Answers Pointed at You After a ReplatformHow to preserve Answer Engine Optimization signals during a CMS migration so Google AI Overviews and LLM answer engines keep citing your pages after URLs chanRead →
What a Sitecore-to-Optimizely Migration Really BreaksA field-tested list of what actually breaks when you move from Sitecore to Optimizely, from renderings to media URLs, plus how to catch each issue before go-lRead →
Build a Pre-Migration Content Inventory That Predicts BreakageA pre-migration content inventory only predicts cutover breakage when it captures URLs, redirects, dependencies, and rankings together. Here is how to build oRead →
Case studies
See all →Real migrations with the names taken off. What broke, what worked, and what we would do differently next time.
- Drupal → WordPressDrupal to WordPress: Lessons from FleetNet America's Move
- Sitecore → ContentfulSitecore to Contentful Migration: A Composite Case Study
- Drupal → ContentfulDrupal to Contentful Migration: A Grounded Case Study
- Adobe Experience Manager → OptimizelyAEM to Optimizely Migration: An Anonymized Composite Study
- Adobe Experience Manager → DrupalAdobe Experience Manager to Drupal: Migration Case Study
- WordPress → ContentfulWordPress to Contentful Migration: A Composite Case Study
- WordPress → ShopifyWordPress to Shopify: A Composite Migration Case Study
- Squarespace → WordPressSquarespace to WordPress: A Composite Migration Case Study
- WordPress → WordPressWordPress to WordPress: A Composite Replatform Case Study
- Sitecore → Sitecore XM CloudSitecore to XM Cloud: A Composite Migration Case Study
- WordPress → SanityWordPress to Sanity: A Composite Migration Case Study
- Drupal → WordPressDrupal to WordPress: A Composite Migration Case Study
- Adobe Experience Manager → ContentfulAEM to Contentful: A Composite Migration Case Study
- Sitecore → OptimizelySitecore to Optimizely Migration: A Composite Case Study
Original research
See all →The measurement behind the writing. Tens of thousands of live sites scanned, the data published openly, free for anyone to cite.
- Nobody Voted for This Template18,682 US government and university domains scanned. Towns that hired a government-website specialist are 11× less likely to be machine-readable than towns that just used WordPress — and one vendor is the front door to a fifth of the American government web. Full method and open dataset.
- The State of AI Readiness 202613,838 sites scored on their AI Pulse — whether AI answer engines can reach, understand, and cite them. 47% grade D or F: the web is reachable, but not machine-understandable. Full method and open dataset.
- The State of Government CMS Readiness 20269,324 US government sites measured. Government has the worst-graded, least AI-visible websites of any segment we've measured — only 25.6% emit structured data — and one in six .gov Drupal sites is end-of-life. Full method and open dataset.
- The State of Higher-Ed CMS Readiness 20261,796 US university sites measured. Drupal runs 5× hotter in higher ed than on the web, yet higher ed emits less structured data than the average site — leaving campuses under-built for AI search. Full method and open dataset.
- The State of CMS Migration Readiness 2026Eleven SEO and security signals measured across 27,000+ live websites. WordPress and Drupal score identically and fail in opposite directions. Full method and open dataset.
Want this analysis for your exact site?
Request a scan →