Thousands of reports
Migrated off a proprietary platform onto WordPress VIP, with their images and file assets
Content Migration
Thousands of records, a legacy data model, and no tolerance for broken relationships or lost rankings. We map the old structure onto the new one first, then import, then prove it landed correctly.
The data work
Most migration risk is not in the cutover weekend. It is in the mapping decisions taken weeks earlier, when someone decides what a legacy content type becomes.
We catalogue the source first: every content type, custom field, taxonomy term, media asset and relational link, with counts. You cannot validate an import against a source you never measured.
Every legacy object type gets an explicit decision: it moves as is, it transforms, or it is deprecated. That mapping is documented before any pipeline runs, so the import executes a plan instead of judgement calls made under deadline.
Authors, taxonomy terms, related content, parent and child records, cross-references between catalogues. These break first in a naive export, because a CSV has no concept of a foreign key. We resolve relational lookups during the import instead of reattaching them by hand.
Files move, and so do the references inside the content. Inline images, downloads, embeds and hard-coded links to the old domain are rewritten, so migrated articles do not quietly depend on a server you are switching off.
Imports are configured as repeatable jobs with conditional logic, not one-shot scripts. That is what makes a staging pilot worth doing, and what makes delta imports possible when the legacy site keeps publishing.
Slugs are regenerated to fit the new taxonomy rather than inherited from the old system, so the redirect matrix comes out of the same inventory as the content mapping. Building it after launch means reconstructing it from crawl errors, which is always incomplete.
Reconciliation used to be a sampling exercise: check a hundred records, infer the rest. The AI layer in our Autonomy platform widens that, comparing far more of the source against what landed and flagging the records that do not match, so validation covers more of the library in the same window.
Proof
Everest Group, a global research and advisory firm, held thousands of reports on a proprietary platform, separate from its marketing site. 40Q migrated both onto WordPress VIP in one project: the documents, the images and files attached to them, the marketing content, and the users themselves across several integrations. These describe the scope of that migration. They are not measured performance figures, and we do not have published ones for this engagement.
Migrated off a proprietary platform onto WordPress VIP, with their images and file assets
The reports platform and the marketing site migrated together rather than in sequence
Accounts migrated across several integrations, so access survived the move with the content
Validation
Sign-off is not a feeling that the site looks fine. Each of these produces an artifact you can read.
Record counts, metadata values and relational links are compared between the legacy inventory and the WordPress database, one content type at a time. Discrepancies are logged, the mapping corrected, and the job re-run rather than patched by hand.
Counts being right does not mean the page is right. We spot-check critical templates for formatting, media and block output, because a field can migrate perfectly and still render as raw markup.
The redirect map is crawled to confirm coverage and catch chains, then Search Console coverage is monitored through cutover, so missed URLs surface within days rather than in a quarterly report.
Worth reading even if you never hire us.
Related insights
The business case sitting behind most of the migrations we run.
Jun 4, 2025
WordPress
Nov 18, 2025
WordPress
Mar 30, 2026
WordPress
Take the next step
Send us your content inventory, or let us produce one. We will map the volume, the relationship complexity and the redirect surface, and tell you what the migration involves.