Marrow & Co · 2023

Moving a 9,000-page publisher off a legacy CMS

A food publisher was stuck on an unsupported CMS with a 40-minute publish cycle. We migrated 9,000 pages to a headless CMS and static front end without losing search traffic.

  • Astro
  • Headless CMS
  • Redirect mapping
Client
Marrow & Co
Year
2023
Role
Migration, content modelling, front end
Duration
4 months
Services
  • CMS migration
  • SEO preservation
  • Editorial tooling

The problem

Marrow & Co publishes recipes, guides and a weekly newsletter, with about 9,000 pages and 1.4 million monthly visits, most from search. Their CMS was a custom PHP system whose original developer had left in 2019. Publishing a change triggered a full cache rebuild that took 40 minutes, so editors batched corrections and often published typos they had already fixed.

Security patches had stopped, and the hosting provider had given notice on the PHP version. A previous migration attempt by another agency had stalled at the content export, because recipes stored ingredients as free HTML with inconsistent markup. The editorial team was worried about losing their search rankings, which drive 70% of revenue through ads and affiliate links.

Process

  1. 01

    Parse the mess into structure

    We wrote an importer in TypeScript that turned recipe HTML into structured ingredients, steps and timings. It handled 91% of recipes automatically. The rest went into a review queue where two editors fixed them over three weeks. Structured data meant we could finally output valid Recipe schema, something the old CMS never managed.

  2. 02

    Every URL accounted for

    We crawled the old site, pulled twelve months of search console data and built a redirect map for every URL that had earned a click. Slugs stayed identical where possible. A test suite checked all 11,400 old URLs against the new build on every deploy, failing on any 404 or redirect chain longer than one hop.

  3. 03

    Publish in seconds

    The front end is Astro with incremental builds triggered by CMS webhooks, so a corrected typo is live in about 20 seconds. We chose a hosted headless CMS over self-hosting to remove the patching burden, accepting a monthly licence cost. We trained editors in two sessions and wrote a short guide for the preview and scheduling workflow.

01Recipe importer: free HTML in, structured ingredients and steps out
02Redirect suite checking 11,400 legacy URLs on every deploy
03Recipe page with structured timings and printable method
04Search clicks across the cutover: a 4% dip, then recovery

Outcome

We cut over on a Tuesday morning with the old site kept on standby for a week. Organic traffic dipped 4% in the first fortnight, then recovered and finished the quarter 11% up, helped by the new Recipe markup. Publish time went from 40 minutes to 20 seconds.

20 s
publish time, down from 40 min
+11%
organic traffic after a quarter
11,400
legacy URLs tested every deploy

Tell us what is slow, broken or still in a spreadsheet

Send a short brief. Within two working days you get a reply from an engineer, not a sales rep, with first questions and a rough range.

Booking projects from February 2027

Live demo · Kiln Digital— View template →