What goes wrong

Redirects & URL mapping

The most common and most damaging migration failure. Redirect rules built up over years — pointing old URLs to new ones, managing legacy platform structures, preserving link equity — disappear when the server moves. On Apache servers this means the .htaccess file. On NGINX, server-level configuration. Neither migrates automatically. Neither gets checked unless someone specifically looks for it.

  • Old platform URL structures left pointing nowhere
  • WWW to non-WWW canonical redirect lost — duplicate content signals sent to Google
  • Pagination redirects, feed redirects and legacy redirect chains broken
  • Thousands of internal links pointing to URLs that no longer exist

SEO & plugin configuration

Every plugin that affects how your site behaves stores settings in the database. If those settings don't carry across — or if a plugin is deactivated during migration — you're back to defaults. The pages still load. The titles are just wrong.

  • SEO plugin titles and meta data wiped — 530 pages in one case
  • Noindex configuration reset — wrong pages appear in Google, right pages disappear
  • Sitemap broken — permalink flush skipped, sitemap 404ing for weeks
  • Caching plugin removed or misconfigured — performance degrades silently
  • Security plugin settings reset — hardening rules lost

Images & media

If I had a pound for every migration where images didn't make it across, I'd have retired somewhere warm. Media cleanup tools that don't account for page builder references. CDN configurations that don't survive a server move. Upload folders that weren't included in the file transfer.

Media cleanup tools must be Pro versions on page builder sites — free versions don't scan ACF, Divi or Elementor fields correctly and will delete images that are in active use. The images won't be in the trash. They'll require a server restore.

Why crawl comparison is non-negotiable

The only way to know what a migration has damaged is to compare a full crawl before against a full crawl after. Not a spot check. A complete crawl: status codes, title tags, canonical tags, indexability, image responses — compared column by column using our crawler.

Without that comparison, you're working from memory and assumption. Neither surfaces 530 changed page titles or 398 missing images.

What the work involves

Pre-migration audit

The baseline that makes the post-migration audit meaningful. Run before anyone touches anything.

  • Full site crawl using our crawler — status codes, titles, meta, canonicals, indexability, image responses
  • Redirect rule export and full documentation
  • URL mapping — old URLs to new destinations, legacy platform structures
  • Page mapping — content, categories, taxonomies, structural changes planned
  • SEO plugin settings export (Rank Math / Yoast)
  • Plugin configuration documentation — caching, security, redirects, forms
  • Current sitemap verification and GSC baseline
  • Image and media library audit — folder structure, CDN configuration
  • Database export confirmation — not just files

Post-migration audit

Delivered within 48 hours of the migration completing, before the damage compounds.

  • Full crawl against the pre-migration baseline using our crawler
  • Status code comparison — new 404s, redirect chains, server errors
  • Title tag comparison — any reversion to WordPress defaults
  • Indexability comparison — noindex changes in both directions
  • Redirect verification — all documented rules tested end-to-end
  • Image response audit across key page types
  • Sitemap verification and GSC resubmission
  • Plugin configuration check — SEO, caching, security, redirects
  • Prioritised remediation list with clear ownership

Migration recovery

For sites where the migration has already happened and the damage is already done. Audit, prioritise, fix.

  • Full technical audit of the current state against available baseline data
  • Identification and documentation of all losses
  • Redirect rebuild — .htaccess or NGINX configuration as appropriate
  • SEO configuration review and repair
  • Sitemap restoration and GSC resubmission
  • Image audit and restoration brief for hosting provider
  • Crawl monitoring setup

SEO

  • Rank MathExport settings before migration. Stores title, meta and schema data in wp_postmeta — database must migrate correctly or all custom title data is lost.
  • Yoast SEOSame principle. Settings export available under Tools → Import/Export. Verify after migration.

Redirects

  • RedirectionExport all redirect rules before migration. On NGINX servers this is your primary redirect management tool — the server-level configuration handles the persistent layer.
  • .htaccess / NGINX configNot a plugin — but the most important file on an Apache server. Back it up. Check it's intact after migration. On NGINX, confirm with your host how server-level redirects are managed.

Caching

  • FlyingPressConfiguration lost on server migration if not manually exported. Full rebuild required after any server move.
  • WP RocketExport settings file before migration. Check CDN configuration survives the move.
  • LiteSpeed CacheServer-dependent — some settings tied to server configuration rather than WordPress.

Security

  • Really Simple SecurityCheck noindex and .htaccess rules after migration — settings can reset to defaults.
  • WordfenceFirewall rules and IP blocks are database-stored but verify after migration.

Backup

  • UpdraftPlusRun a full backup immediately before migration. Confirm both database and files are included. Store offsite — not on the server being migrated.
  • All-in-One WP MigrationUseful for smaller sites. Verify file size limits at destination before migrating.

Media

  • Media Cleaner ProIf running a media cleanup around migration time, use the Pro version — the free version does not scan page builder fields and will delete images in active use.

WordPress / WooCommerce

Migration & recovery

Shopify

Migration & recovery

Visualsoft

Platform exit

Magento

Migration

Server migration

Any platform

CMS migration

Any platform

From the work

E-commerce retailer — two-stage migration failure

Two years. Two agencies. Two sets of damage.

The first agency was brought in to migrate the site from Visualsoft to WooCommerce. What they actually did was rebuild the site from scratch and leave the content behind. The majority of redirects were put in place but not all of them — and nothing else came across. No title tags. No meta descriptions. No historical content. A new site that looked like a migration but wasn't.

Twelve months of remediation work followed. Custom title tags written across hundreds of pages. Rank Math configured correctly. FlyingPress set up to handle Core Web Vitals. The redirect gaps identified and closed. The noindex settings set properly across taxonomy pages. Slow work but it was getting somewhere.

Then the second agency moved the site to a new server.

Post-migration audit identified 530 pages with wiped SEO titles — every custom title replaced with WordPress defaults. 398 images deleted across 15 monthly upload folders. FlyingPress gone. Rank Math configuration reset to defaults including noindex back on across taxonomy pages. The entire .htaccess redirect block dropped. A broken sitemap undetected since the migration date.

Everything built in the twelve months of recovery work. Gone in an afternoon.

The .htaccess was rebuilt from scratch, verified against a pre-migration crawl and a detailed remediation brief sent to the hosting provider covering the specific database tables and upload directories requiring restoration. Total remediation time from audit to implementation: one working day. Total time to get back to where we were before the second agency touched it: considerably longer.

Dealing with migration damage?

Bring what you know about the current situation and we'll go from there. A post-migration audit takes a day. Undoing the damage from not doing one can take considerably longer.