The short version
- We quoted a rebuild in routes. The work was in records: 387 content entries and 545 assets.
- Routes are what a stakeholder sees. Records are what somebody has to move, remap and verify one at a time.
- Count entries, assets and the fields inside each content type before quoting anything.
- The expensive part is never the pages. It is the roughly one record in six with something irregular in it.
We quoted an enterprise rebuild in routes. Forty-two of them. That number was accurate and almost entirely beside the point.
The actual work was 387 content entries and 545 assets, exported out of a hosted CMS and remapped into a new content model. Routes are what a stakeholder can see, so routes are what gets discussed in the scoping call. Records are what somebody has to move, verify and fix.
Why is the route count misleading?
Because one route can be assembled from dozens of records, and one record can appear on several routes.
A listing page is a template plus however many entries feed it. A case study page is an entry, plus an author reference, plus three or four assets, plus whatever taxonomy terms it belongs to. Rebuilding the template is a day. Moving four hundred entries through a changed content model is the project.
| What gets quoted | What actually gets done |
|---|---|
| 42 routes | 42 templates, mostly straightforward |
| Not counted | 387 content entries remapped |
| Not counted | 545 assets with alt text, captions, references |
| Not counted | A redirect map for changed URL structures |
| Not counted | Form re-embedding and delivery testing |
| Not counted | The ~1 in 6 records with something irregular |
What should you count instead?
Export the content model before quoting. You want four numbers.
Entries, by content type. Not a total. A total hides the fact that one type has eleven fields and another has two.
Assets, with their metadata. Images are not files. They are files plus alt text, captions, focal points and references from multiple entries. Move the file and lose the rest and the site quietly gets worse.
Fields per type, and which have no equivalent in the destination. This is where the real cost sits. A relationship that existed as a native reference in the old system may have nowhere to land, which means either extending the new model or making a judgment call four hundred times.
Records with anything irregular. Sample twenty at random. Whatever proportion has a legacy field, an embedded script, a broken reference or a half-finished draft, apply it to the whole set. In our experience it runs around one in six.
Routes are what the stakeholder sees. Records are what somebody has to move, verify and fix.
What breaks?
Redirects, because URL structures rarely map one to one, and a near-match redirect is worse than a 404. It looks fine, ranks badly, and nobody notices for a quarter.
Forms, because they get re-embedded during the rebuild and stop delivering without erroring. We now stub forms loudly during a migration rather than leave live-looking ones in place, for reasons in the form that quietly dropped leads.
References between entries, because the old system enforced them and the new one may not.
Do you migrate everything?
No, and deciding this before the export is what keeps the scope honest.
Pages with rankings or backlinks must move and must be redirected. Pages with neither are candidates for retirement, and retiring them usually improves the site as well as the bill.
Who checks it afterwards?
One named person, entry by entry, against a checklist. Automated checks catch missing fields and broken links. They do not catch a caption attached to the wrong image, or a redirect pointing at a page that is nearly right.
The deploy itself is its own trap, covered in verify what is actually live before you touch anything.
Frequently asked questions
How do you estimate a CMS migration?
Count records rather than pages. Export the content model first and get counts of entries, assets and the fields inside each content type. One migration we ran had 42 routes but 387 entries and 545 assets, and the effort tracked the records.
What is usually underestimated in a website migration?
Assets and irregular records. Images carry alt text, captions, focal points and references from several entries. And roughly one record in six has something unusual in it, such as a legacy field or a broken reference, and that minority consumes most of the manual time.
Should you migrate all content or only what performs?
Audit first. Pages with rankings or backlinks must move and must be redirected. Pages with neither are candidates for retirement, which lowers cost and usually improves the site. That audit takes about a day and routinely removes a fifth of the work.
What breaks most often during a CMS migration?
Redirects, forms and references between entries. Redirects because URL structures rarely map one to one, forms because they get re-embedded and stop delivering without erroring, and references because a relationship the old system enforced may have no field to land in.
How long does a CMS migration take?
It depends on record count and irregularity rather than page count. A useful estimate only exists after exporting the content model and sampling twenty records for irregularities. Quoting before that export is guessing.
Who should own content QA after a migration?
One named person working entry by entry against a checklist. Automated checks catch missing fields and broken links. They do not catch a caption attached to the wrong image or a redirect pointing at a page that is nearly right.
Sources
- Chua Network delivery data across 8 client accounts (internal fact bank)
- Chua Network engagement records, anonymized (internal experience bank)