Analyze with AI
Get AI-powered insights from this Mad Devs article:
A team decides to replace its CMS and asks for an estimate based on page count. Yet those pages depend on content types, templates, reusable components, forms, languages, analytics, and external systems. A CMS migration moves a website's managed content and the capabilities needed to publish and operate it from one content management system to another. It is not simply a bulk upload. This guide will help you define a preliminary scope, expose dependencies and open questions, and give your team or implementation partner a consistent basis for planning the work.
Key takeaways
- Content transfer, content transformation, component development, and functionality rebuilds are different kinds of work.
- An estimate becomes more useful when its dependencies, exclusions, client responsibilities, and assumptions are explicit.
- Frontend behavior and editorial workflows should be agreed before content is imported at scale.
- Validation, launch ownership, and post-launch support belong in the CMS migration plan, not in an unpriced afterthought.
Decide whether the problem requires a CMS migration
Define the constraint before selecting the remedy. Slow pages may be caused by frontend code or hosting rather than the CMS. A difficult page builder may reflect poorly designed components. Publishing delays may come from approvals or an integration that requires manual work. Replacing the platform without distinguishing these causes can move the same problem into a new stack.
There are usually three levels of intervention to consider:
- Fix the current implementation. Refactor a template, repair an integration, or simplify the publishing process while keeping the platform.
- Modernize a limited part. Replace the frontend, introduce a component library, or move one site area while retaining part of the current system.
- Change the CMS. Rework the content model and publishing environment when the platform cannot meet confirmed requirements at an acceptable operational cost.
The question is not whether another CMS has more features. State a testable objective instead: for example, editors must be able to assemble an approved campaign page from governed components, preview it, schedule it, and manage its SEO fields without a code release. Then identify which part of the current system prevents that outcome.
Platform limits are a real evaluation trigger, but they do not prove that migration is always the answer. In an Acquia-commissioned 2026 survey, 54% of 575 developers across the US, UK, and France said limits of the current platform triggered their last CMS evaluation. This is a vendor study about evaluations within its sample, not a measure of completed migrations or the whole market. If a platform change remains justified, teams still choosing a target can compare CMS options separately from scoping the move.
Build a scope inventory before estimating the move
A useful inventory maps what exists to a decision about the target state. “Audit forms” is only an activity. “Retain the lead form, replace its plugin, and confirm CRM field mapping with Sales Operations” is a scope decision with an owner and a remaining question.
| Area | What to inventory | Scope decision | What must be clarified |
|---|---|---|---|
| Content types, fields, and relationships | Page, article, person, location, taxonomy, references, required fields | Map, merge, split, transform, archive, or recreate each type | Which relationships and validation rules must remain, and who approves the target model? |
| Components, templates, and page variants | Reusable blocks, fixed templates, layout options, conditional variants | Rebuild, consolidate, redesign, or retire each pattern | Which visual and responsive states are approved, and which pages are true exceptions? |
| Media, attachments, and embedded content | Images, documents, video, alt text, crops, captions, external embeds | Migrate originals and metadata, relink, reprocess, or leave externally hosted | Are rights, source files, renditions, and broken references known? |
| Forms, search, and external integrations | Form logic, CRM writes, notifications, site search, APIs, webhooks | Reconnect, replace, simplify, or retire each function | What is the expected end-to-end result, which credentials are available, and which external owner accepts it? |
| Languages and publishing rules | Locales, fallbacks, translated relationships, regional variants, states, schedules | Preserve, change, or reduce locale and workflow behavior | Which content must launch in each locale, and how are missing translations handled? |
| URLs, metadata, structured data, and analytics | Current routes, titles, canonicals, schema, tags, events, consent behavior | Preserve URLs where possible; map changes and reproduce required measurement | Who approves redirects, metadata rules, event definitions, and consent behavior? |
| Roles, preview, approval, and scheduling | Permissions, drafts, preview modes, reviews, publishing windows | Recreate, simplify, or replace each editorial workflow | Which roles can perform each action, and what evidence shows the workflow is acceptable? |
Assign an owner to every unresolved answer. A developer can confirm that a form returns a successful response, but the team receiving the lead should confirm that the correct record, attribution, and notification arrive in the CRM. Editors should accept preview and scheduling behavior. SEO should approve URL and metadata rules.
Page count remains a useful input for migration volume and verification, but it is not a proxy for implementation complexity. Ten thousand pages using one clean model can require less modeling and component work than 300 pages built from many one-off templates. Count unique structures, relationships, variants, functions, and exceptions alongside total pages.
Separate content transfer from functionality rebuilds
The word “migration” often hides several workstreams. Separate them in the plan so that a proposal cannot include one and silently assume the others.
Compatible content transfer moves values that already fit the target model: a title into a title field, for example. Even then, media references, author relationships, identifiers, and publishing states need mapping.
Content transformation changes structure or format. A legacy rich-text field may need to become ordered components. Taxonomies may be consolidated, embedded markup cleaned, links rewritten, or locale relationships reconstructed. Automated transformations should be distinguished from editorial work. Automation can apply a defined rule; it cannot decide whether an outdated claim should be revised or whether a low-value page should be retired.
Component and template development recreates how content is presented and behaves. With a headless CMS, imported content does not create a working website. The frontend must query the content, map component data, render responsive states, support preview, and handle errors. A CMS change does not necessarily require a visual redesign, however. Preserving the appearance while replacing the implementation and redesigning the experience are separate scope decisions.
Functionality rebuilds cover capabilities previously supplied by plugins, theme code, frontend code, or other services. Search, forms, personalization, localization, consent, redirects, and analytics may need new integrations or custom implementation. The content export alone may contain none of their logic.
Agreed retirement is also legitimate scope. A stale calculator, unused page variant, or duplicate workflow should not be rebuilt merely because it exists. Record who can approve keep, revise, or retire decisions. Marketing or the content owner determines business value; engineering determines technical implications; SEO assesses search dependencies.
Consider an illustrative campaign page. It uses reusable hero, testimonial, and offer blocks; localized copy; a lead form that creates a CRM record; and a conversion event used in reporting. Keeping the same URL and design still creates distinct tasks. Content specialists map copy and relationships into the target model. Developers build or adapt the three components and their preview states. The integration owner maps and tests the CRM submission. Analytics specialists reproduce the event and its consent conditions. Editors verify that they can assemble, localize, preview, and schedule the page. “Migrate one page” does not describe this work.
A lesson from Mad Devs' CMS evaluation
Mad Devs' 2022 Strapi evaluation offers a limited historical example of why user requirements belong in scope before bulk migration. The team gathered requirements from project managers, content managers, and developers, including reusable components, page assembly, redirects, permissions, and editing history. It then deployed a test implementation for one page and assessed the result against those needs.
The exercise exposed limitations for that project, including component preview and aspects of editorial work, and Mad Devs did not complete a full move to Strapi. Those observations describe the tested scenario and the product in 2022. They should not be treated as a current review of Strapi or as evidence from a client migration.
The planning lesson is narrower and still useful: test the work people must perform, not only whether data can be stored. Mad Devs' later CMS overview describes marketers assembling pages from predefined blocks and managing SEO data in Prismic. For a new migration, the scope should similarly specify which pages, blocks, and SEO fields editors can change themselves, which changes remain governed by developers, and how the team will accept those workflows. Editorial independence is a requirement to define, not a promise that development work disappears.
Turn scope decisions into cost and timeline assumptions
Estimates should follow the inventory rather than a universal price per page. The largest effort drivers are often the diversity of models and components, the condition of source content, transformation complexity, and the number of integrations with external owners. Localization multiplies relationships and acceptance paths. A separate frontend adds development and test scope. Editorial requirements add preview, permissions, and workflow behavior that a simple import does not cover.
The plan should also address a moving source. If editors continue changing the old site while migration work proceeds, the team needs a defined way to capture late updates. Training, launch verification, stabilization, and support consume effort even after the first successful import.
Separate one-time implementation from ongoing cost. One-time work can include discovery, modeling, component development, integration, transformation scripts, content editing, testing, and launch. Recurring cost can include CMS licenses, hosting, media delivery, integration services, monitoring, maintenance, support, and development of new components. This separation prevents a low implementation estimate from hiding a different operating model.
To compare proposals, give each supplier or internal team the same expected outcome and ask them to state:
- included content, components, functions, locales, and launch work;
- explicit exclusions and deferred items;
- client responsibilities, including decisions, access, content work, and acceptance;
- assumptions about source quality, reuse, volume, and third-party availability;
- the process for handling newly discovered variants or changed requirements.
Two estimates are not comparable if one includes integration acceptance and stabilization while another covers only content loading. Open questions can remain, but each should be tied to an assumption, an owner, and the point at which it must be resolved.
Sequence the work around publishing and dependencies
A practical CMS migration process moves from scope clarification to content model and components, then migration and integrations, verification, launch, stabilization, and handoff. These are dependency boundaries rather than a rigid waterfall. Teams can work in parallel, but downstream work should not rely on an unresolved contract.
The target content model should be stable before mass transformation rules are finalized. Components must render representative content before editors can verify pages. CRM access and an agreed test destination must exist before a form can be accepted. URL mapping must be approved before changed routes and redirects are launched.
Choose deliberately between a single launch and phased migration. A single launch concentrates cutover work and requires the target experience to be ready as a whole. A phased move can reduce the amount changed at once and provide earlier feedback. It can also require compatible routing, two systems operating together, duplicated integrations, and precise ownership of content in each phase. Phased does not automatically mean simpler or cheaper.
Publishing continuity needs its own rule. State where editors create and update content during each stage, how changes after the initial export are recorded, and when the source becomes read-only. A short content freeze may simplify final synchronization for some sites, while others must keep publishing and reconcile a defined set of late changes. There is no universal need for a month-long freeze.
For every phase, name the input it depends on and the decision that makes it complete. This exposes scheduling risks earlier than a calendar built from optimistic task durations alone.
Include launch safeguards in the project scope
Launch work should define owners and expected results in three areas.
- Content and functions. Confirm that required pages, fields, relationships, media, forms, search behavior, and editorial actions produce the agreed result. Sample checks are useful only within a documented scope; critical templates and functions may require complete coverage.
- Visibility and measurement. Verify retained URLs and approved redirects for changed URLs, along with titles, metadata, canonicals, sitemap output, and hreflang where localization requires it. Confirm analytics events, attribution, and consent behavior. Redirects reduce avoidable disruption but do not guarantee unchanged traffic, and staging checks cannot guarantee how search engines will respond.
- Operations. Confirm production access, monitoring, incident ownership, escalation contacts, support coverage, and a feasible recovery or rollback path. The person responsible for a failed CRM submission may differ from the person responsible for the CMS.
Each safeguard needs an owner and an observable expected result, not just a checkbox. Detailed reconciliation, evidence thresholds, cutover approval, and rollback rehearsal deserve their own test plan; the Mad Devs guide to data migration testing covers that depth. Keep post-launch search and analytics monitoring open long enough to identify issues that cannot appear in staging.
Prepare the handoff between your team and the implementation partner
A useful handoff contains the business objectives, completed inventory, required functions and integrations, editorial workflows, release constraints, assumptions, and open questions with owners. It should let engineers trace each desired outcome to content, frontend, integration, and acceptance work.
Responsibilities remain shared. The client team decides which content and business capabilities have value. Engineers assess implementation and operational consequences. SEO specialists define and verify visibility requirements. Editors accept the workflows they will use after launch. An internal team can deliver the migration when it has the required skills, capacity, and decision access.
An implementation partner becomes useful when content modeling, component development, integrations, migration, and launch coordination must progress together or supplement limited internal capacity. For a Prismic target, Mad Devs' Prismic migration services cover implementation areas such as content modeling, components, API integration, migration, and support. The platform choice and engagement should still follow the site's confirmed requirements, not precede them.
Conclusion
Start with one important page type. Record its source data, relationships, components, functions, URLs, measurement, and the editorial actions required to publish it. That small exercise will expose assumptions that page count misses. Use those dependencies to extend the inventory across the site, assign owners to open questions, and prepare a scope that an internal team or implementation partner can estimate and challenge.
Prismic development services Plan your CMS migration Define the content, components, and integrations your move needs before development. Discuss your project |







