Notcutts - WordPress blog migration to Magento 

The migration encompassed the client's full blog estate, including posts, taxonomies, authors, media and custom page components. It also required a robust SEO rewrite approach for maintaining SEO continuity, ensuring article URLs retained their authority throughout the transition.

Client Link

BACKGROUND

Notcutts is a long-standing UK garden centre business built on horticultural expertise.

Notcutts is a family-owned group of garden centres. Originally founded in 1897 by horticulturalist Roger Crompton Notcutt in Suffolk, it has remained in the Notcutt family for more than a century.

Today, Notcutts operates a network of 19 garden centres across England and a thriving website, offering a wide range of garden plants, outdoor furniture, homeware, pets and wildlife products, gifts and more. Many locations also include restaurants and visitor amenities to enhance the customer experience.

The company grew from a small nursery into one of the UK’s leading garden retail brands, known for combining gardening advice, quality products and a destination shopping experience. Their heritage includes participation in national horticultural shows and early contributions to the garden centre concept in the UK.

Notcutts highlights its passion for gardening, its inspiration from nature, and the expert advice it shares with customers, while upholding its family values and strong commitment to customer service and community engagement.

BRIEF

Migrate a WordPress-based blog into Magento to simplify platform operations and preserve SEO.

The client’s content operation depended on a WordPress blog deeply embedded into Magento, complicating releases and maintenance. That architecture created long-term friction:


  • Two platforms to secure, patch, monitor, and back up
  • A fragile integration layer sitting inside the Magento runtime
  • Higher release risk: blog and Magento changes could collide
  • SEO risk: hundreds of established URLs needed to keep their authority

Scope of migration


  • 234 published posts
  • Dozens of categories, tags, authors
  • Extensive media library
  • 246 URL rewrites required to preserve SEO equity
  • Blog page components including 32 widgets and ~8 PageBuilder templates
The goal was to move the entire Notcutts blog experience into Magento using Mirasvit BlogMX, and retire WordPress cleanly without disrupting a live transactional site.

files/Notcutts-50-50-Image.jpg

HOW WE HELPED

We delivered a phased WordPress to Magento blog migration with minimal operational risk.

A migration plan that covered the whole system, not just content.


We produced a detailed migration playbook that explicitly defined:


  • Data sources and target mappings (posts, categories, tags, authors, media)
  • SEO approach (rewrite generation and validation)
  • Deployment sequencing (code vs content vs final cutover)
  • Rollback procedures (including keeping both platforms available during transition)
This made the migration repeatable, testable and auditable, rather than a one-off "best effort".

Phased deployment instead of a "big bang"


We deliberately split the work into phases that each ended in a stable, transactional live site:

  • Pre-deploy preparation (everything that can be done off-line)
  • Live code deploy (install BlogMX alongside WordPress)
  • Live content deploy (migrate content safely and verify)
  • Cutover (switch URLs and disable FishPig integration)
  • Decommission (remove WordPress in a later deploy)
This structure let the client pause between phases for review, testing, and stakeholder sign-off without risking excessive downtime.

Slipstreaming: Run both blogs side-by-side on live


The key risk reducer was a "slipstream" approach:

  • WordPress remained live and serving `/garden-advice`, whilst the client prepared blog content on the staging site.
  • BlogMX was installed and configured on production, but initially mounted at a temporary URL, so it didn't conflict with the existing WordPress blog.
  • Only when BlogMX was visually and functionally verified did we switch the final URL over.
Result: no cliff-edge launch moment; the "launch" became a controlled URL flip.

Dry-runs in non-production to surface surprises early


We used local and staging/UAT to rehearse the migration steps, validate SQL dumps, confirm media paths, and verify URL rewrite behaviour - so unexpected issues happened in controlled environments, not during a live deployment window.

The result was a smooth deployment with minimal downtime and no surprises.

PHASED EXECUTION OVERVIEW

Phase A: Pre-deploy preparation (minimise live downtime)


Code preparation:

  • Added tooling to export/import CMS content reliably (MSP_CmsImportExport) on UAT.
  • Created a release branch and merged all required blog/migration changes early.
  • Resolved conflicts and stabilised the release branch ahead of any production action.

Data preparation

  • Exported CMS pages/blocks from UAT
  • Produced a BlogMX SQL dump (BlogMX lacks a first-class export/import)
  • Prepared redirect mapping for WordPress → BlogMX URLs (246 rewrites)

Media preparation

We copied BlogMX media assets from UAT to live before cutover to avoid "missing image" regressions.

Phase B: Live code deploy (no functional change for customers)


  • Initiated a content freeze to prevent drift during migration
  • Enabled a Cloudflare maintenance page only when required
  • Took a full live DB backup, just in case (which was removed later, as per data security requirements).
  • Deployed the release branch to production
  • Disabled maintenance page

At this point:

  • WordPress still served the live blog
  • BlogMX was installed and ready for configuration and content migration

PHASED EXECUTION OVERVIEW CONT'D

Phase C: Live content deploy (migrate and validate)


  • Exported CMS blocks on live (as a safety snapshot)
  • Imported CMS blocks/pages from UAT without overwriting existing live content
  • Migrated BlogMX content via direct SQL import (single-run, tightly controlled)

Imported in dependency order:

  • Authors → categories → tags → posts
  • Configured BlogMX at temporary blog URL

Verified:

  • Frontend rendering and layout/styling
  • URL rewrite behaviour (no loops, no 404s, correct canonical patterns)
  • Content completeness and media integrity

Pragmatic content-layer decisions

For elements prone to ID collisions and brittle DB mapping, we chose high-signal, low-risk manual recreation:

  • Rebuilt 32 widgets on live (avoids cross-environment ID mismatch)
  • Recreated 8 PageBuilder templates cleanly in production once the base CMS content was in place
  • This avoided the common trap of "perfect automation" that introduces subtle production bugs


Phase D: Cutover (when the client was ready)


  • Changed BlogMX URL from temporary path to the final `/garden-advice`
  • Disabled FishPig integration (so WordPress stopped serving the blog route)
  • Imported/generated the final set of rewrites

The cutover was intentionally small, reversible, and performed only after full verification.

RISK MANAGEMENT & ROLLBACK DESIGN

What we protected against


  • Extended downtime
  • SEO regression (lost authority / 404s)
  • Data drift during migration
  • Hard-to-debug cross-platform regressions


Rollback plan


  • Enable maintenance page
  • Revert to previous release and redeploy
  • Reload PHP-FPM (clear OPcache)
  • Full DB restore typically unnecessary (blog migration avoids catalog/sales tables)
  • Disable maintenance page

The critical point: rollback was fast, because the migration avoided touching core Magento tables and because WordPress remained available until the client gave approval to switchover.

files/Notcutts-50-50-Image2.jpg

CONCLUSION

Search equity protected while consolidating content into a single Magento platform.

A controlled migration that preserved SEO and simplified the platform


  • 234 posts deployed from staging to production
  • 246 SEO rewrites prepared to preserve search equity
  • Blog and Magento now run as a single-platform Magento solution
  • Migration executed as a sequence of low-risk, reversible steps
  • Client maintained control over pacing via staging validation and phased sign-offs
  • Operational complexity reduced by removing a separate CMS platform from the runtime path

What This Demonstrates (For Prospective Clients)


  • Enterprise-grade planning: Migration playbooks that include SEO, data, code, rollback.
  • Zero-drama launches: Slipstream and phased deploys over "big bang" releases.
  • Technical pragmatism: Automate where it’s safe; go manual where IDs and templates create hidden risk.
  • Comms discipline: Close coordination with account management and stakeholders to keep decisions fast and informed.

CONTACT

Get in touch to see how we can build you a Magento or Shopify site or maybe support you in the day-to-day running of your existing site.

Please get in touch for a no obligation, highly accurate estimate and timeline for a new Magento or Shopify eCommerce site.

files/ContactUsBlockDesktop_fede44d1-525a-48b1-9790-5fa1703ec11c.jpg

Enter your email address to sign up to our newsletter, featuring case studies, insights, industry news and much more.