Published: July 27, 2026 • By Aditya • ⏲ 12 min read

Migrating to a Custom CMS Without Losing SEO Traffic: The 50-Point Checklist

CMS Migration SEO Checklist

A poorly executed migration can cost you years of SEO progress overnight. We have seen sites lose 60-80% of their organic traffic in a matter of weeks, all because a few technical details got missed during a replatform. One client came to us after losing 71% of their traffic in three weeks post-launch. The entire cause: 340 URLs that had been mass-redirected to the homepage instead of their equivalent new pages. Google treated every single one as a soft 404 and stripped the ranking signals those pages had built up over four years. The good news? Almost every migration disaster is preventable. Below is the exact 50-point checklist we use to move sites to a custom CMS without handing Google a reason to drop your rankings.

Why Migrations Go Wrong in the First Place

Most migration failures do not come from one big mistake. They come from a pile of small ones that add up: a few hundred broken redirects, some missing meta descriptions, a sitemap that never got updated. Google notices all of it, and it notices fast.

The other thing that trips people up is timing. Teams get excited about the new design or the new CMS features, and SEO becomes an afterthought that gets bolted on right before launch. By then, it is too late to catch the stuff that actually matters.

The fix is simple in theory: treat SEO as part of the migration project from day one, not a QA step at the end. Here is how to actually do that.

Who Should Own This Checklist

A CMS migration touches every layer of your site, which means it needs more than one person watching it. Here is how responsibility should be split across a typical team:

  • SEO lead: Owns the pre-migration audit, URL mapping, metadata documentation, and post-launch ranking monitoring. This person sets the baseline and signs off that equity was preserved.
  • Development team: Implements the 301 redirects, configures canonicals, handles robots.txt and sitemap setup, and ensures structured data is re-implemented correctly in the new CMS templates.
  • Content team: Migrates and validates meta titles, descriptions, heading structures, alt text, and body content. They own the human-readable accuracy of the transfer.
  • Analytics/MarTech: Ensures tracking tags, GA4, and Search Console verification carry over cleanly. Without this, you will not know if traffic actually held post-launch.
  • Project manager or stakeholder: Holds the timeline and makes sure SEO milestones are not skipped under deadline pressure, because that is exactly when they get skipped.

One practical note: the person running the post-launch GSC monitoring should not also be the person executing the launch. You need a second set of eyes on the live site within the first 48 hours.

Checklist at a Glance

This checklist is split into five phases. Phase 1 is where 80% of your traffic protection actually happens. If you rush it, nothing in Phases 2 through 5 will save you.

PhaseFocus PointsWho Leads
Phase 1Pre-Migration Audit & Planning1 to 18SEO Lead
Phase 2URL Structure & Redirects19 to 28Dev Team
Phase 3Content & On-Page Elements29 to 39Content + SEO
Phase 4Technical SEO on the New CMS40 to 47Dev + SEO Lead
Phase 5Post-Launch Monitoring48 to 50SEO Lead + Analytics

Phase 1: Pre-Migration Audit and Planning

This is where 80% of your traffic protection happens. Skip this phase and no amount of post-launch fixing will fully save you.

  1. Crawl your entire current site using Screaming Frog or Sitebulb, and export every single URL. This is your baseline.
  2. Pull your full backlink profile from Ahrefs, Semrush, or GSC so you know exactly which pages have link equity worth protecting.
  3. Export Google Search Console data for the last 16 months, covering clicks, impressions, and rankings by page.
  4. Identify your top-traffic pages using Analytics, and flag them as high priority for the migration team.
  5. Document every indexed URL using a site: search, since your CMS crawl and Google's index do not always match.
  6. List all current meta titles and descriptions so nothing gets lost when content gets moved.
  7. Audit your current URL structure and decide upfront whether it is changing. Changing URLs unnecessarily is one of the biggest traffic killers in any migration.
  8. Map old URLs to new URLs in a spreadsheet, one row per page, no exceptions. This is the single most critical deliverable of the entire project.
  9. Identify orphaned pages that still get traffic but are not linked from anywhere obvious.
  10. Check for existing redirect chains so you do not build new redirects on top of old broken ones.
  11. Audit your internal linking structure, especially breadcrumbs, footer links, and related-post modules.
  12. Review your current robots.txt and note anything being blocked or allowed on purpose.
  13. Pull your current XML sitemap and compare it against your crawl to catch discrepancies.
  14. Document structured data currently in use, including schema markup for reviews, FAQs, products, local business, and anything else.
  15. Check current page speed and Core Web Vitals so you have a benchmark to compare against post-launch.
  16. Confirm hosting and server setup for the new CMS, including SSL certificate handling.
  17. Set a realistic migration timeline. Rushed migrations are where most mistakes happen. Give yourself at least four weeks of staging time for a site over 500 URLs.
  18. Build a staging environment that mirrors the new CMS exactly, and make sure it is blocked from indexing with a noindex meta tag and a Disallow: / in robots.txt. You will remove both of these before going live. Keep that on a checklist you cannot lose.

Phase 2: URL Structure and Redirects

This is the single most important technical piece of any migration. Get this wrong and everything else you did right will not matter.

  1. Create 301 redirects for every single URL, not just the important ones. Google penalises gaps, not just wrong redirects.
  2. Avoid redirect chains (URL A to B to C). Redirect straight from old to final destination.
  3. Never mass-redirect everything to the homepage. Google treats this as a soft 404 and it tanks trust fast. Every URL needs its own destination that genuinely matches the original content.
  4. Test every redirect on staging before launch, not after.
  5. Preserve URL structure where possible. If you do not have a strong reason to change URLs, do not change them.
  6. Use 301s, not 302s, for permanent moves. This one gets missed constantly and it matters for link equity transfer.
  7. Check for case sensitivity issues between old and new URL structures.
  8. Confirm trailing slash consistency across the new CMS.
  9. Set canonical tags correctly on every page in the new system.
  10. Update or redirect any UTM-tagged or parameter URLs that were driving traffic or conversions.

Phase 3: Content and On-Page Elements

Redirects get you to the right page. This phase makes sure that page is still worth ranking.

  1. Migrate all meta titles and descriptions exactly, or improve them deliberately. Never leave them blank.
  2. Preserve heading structure (H1, H2, H3) on every migrated page.
  3. Migrate all image alt text, since this often gets dropped in CMS transfers.
  4. Check image file names and compression did not get reset to generic defaults during the move.
  5. Preserve or rebuild internal links within body content, not just navigation.
  6. Migrate all structured data (schema markup) and validate it with Google's Rich Results Test.
  7. Keep author bios and E-E-A-T signals intact, especially for YMYL content like health or finance pages.
  8. Preserve publish and updated dates where accurate. CMS migrations often reset these to the launch date, which signals to Google that years of content is brand new.
  9. Check that blog categories and tags redirect properly, not just individual posts.
  10. Confirm pagination is handled correctly on blog and category pages.
  11. Review and preserve FAQ sections, since these often carry featured snippet rankings.

Phase 4: Technical SEO Setup on the New CMS

  1. Submit a new, clean XML sitemap to Google Search Console immediately at launch.
  2. Update robots.txt to reflect the new site structure and confirm nothing important is blocked by accident.
  3. Critical: Remove your staging noindex and robots.txt Disallow before going live. This is the most catastrophic and most common migration mistake. A site can look perfectly functional while being completely invisible to Google because a noindex meta tag or Disallow: / was copied from staging and never removed. Check yourdomain.com/robots.txt within the first hour of launch. Use GSC URL Inspection on your three most important pages and confirm they show as indexable. Check this before you tell anyone the site is live.
  4. Verify canonical URLs render correctly across templates, not just on a few sample pages.
  5. Set up 404 monitoring so you catch broken links fast instead of finding out weeks later.
  6. Test mobile rendering across your key templates, since custom CMS builds can behave differently on mobile.
  7. Re-check Core Web Vitals on the live new site and compare against your pre-migration benchmark.
  8. Confirm hreflang tags are correct if you are running multiple regional or language versions.
  9. Set up proper HTTPS across the entire site, with no mixed content warnings. Also lower your DNS TTL to around 300 seconds at least 48 hours before launch, so the new IP address propagates almost immediately after you flip DNS and minimises the window where visitors still hit the old server.

Phase 5: Post-Launch Monitoring

The work is not done at launch. This is where most teams relax too early, and where problems turn into permanent losses.

  1. Monitor Google Search Console daily for the first two weeks, watching indexing status and crawl errors closely. A spike in 404s or a drop in indexed pages needs immediate attention.
  2. Track rankings for your top 20 to 30 keywords daily for the first month, so you catch drops before they compound. Systemic drops across an entire section usually point to redirect, template, or metadata problems in that section.
  3. Keep old redirects live for at least 12 months. Google can take a while to fully process a migration, and some backlinks in the wild never update their hrefs. Turning redirects off early is one of the most avoidable causes of long-term traffic loss.

What to Do If Traffic Drops After Migration

Some fluctuation in the first two to four weeks is normal. Google needs time to re-crawl the new site and process all the redirects. But if you see a significant, sustained drop after week four, here is how to diagnose it:

  • Check GSC Coverage report first. Look for a spike in soft 404s, redirect errors, or pages being excluded that were not before. This is where most problems surface.
  • Segment the drop by page template. If all blog posts dropped but service pages held, the issue is template-specific. If only one section dropped, it is likely a missed redirect batch or metadata problem in that section.
  • Compare rankings page by page against your pre-migration baseline. A broad drop across many keywords usually points to a technical issue. A drop on one cluster usually points to content or redirect problems on those specific URLs.
  • Check your backlinks. Use Ahrefs or Semrush to see if referring domains are pointing to URLs that now return 404s. Patch these with redirects immediately.
  • Run a full crawl on the live site and compare it to your pre-migration crawl. Any URLs in the old crawl that are missing from the new one need to be accounted for, either redirected or intentionally retired.

The Mistakes That Cause the Most Damage

If you only remember three things from this checklist, make it these:

  • Missing redirects. Every single old URL needs a home. No exceptions. And every redirect must point to a genuinely equivalent page, not the homepage.
  • Changing URL structure for no reason. A new CMS does not mean new URLs. Keep what is working.
  • Launching with staging blocks still in place. A noindex tag or Disallow: / left over from staging will make your site invisible to Google even if everything else is perfect. This still catches experienced teams off guard.

Final Thought

Migrations feel risky because they are risky, but only when SEO gets treated as an afterthought. Work through this checklist properly, give yourself enough runway before launch, assign clear ownership to each phase, and keep watching the data closely after you go live. Do that, and a CMS migration becomes a growth opportunity rather than a traffic disaster.

If you are planning a migration and want a second pair of eyes before anything goes live, our custom CMS development and technical SEO teams handle migrations from planning through post-launch monitoring. Get a free audit and we will tell you exactly what your current site is risking before you move.

Frequently Asked Questions

What is the biggest SEO risk during a CMS migration?

Missing 301 redirects. Every old URL that does not redirect to its equivalent new page loses its link equity and rankings. Mass-redirecting to the homepage is almost as bad because Google treats it as a soft 404 and strips the ranking signals.

How long does it take to recover SEO traffic after a migration?

If the migration is done correctly, recovery is usually within four to eight weeks as Google re-crawls the new site and processes the redirects. If significant mistakes were made, recovery can take three to six months.

Should I keep my old URL structure when migrating to a custom CMS?

Yes, wherever possible. Changing URLs is one of the biggest traffic killers during a migration. Keep your existing URL structure unless there is a specific, compelling reason to change it.

What is a soft 404 in CMS migrations?

A soft 404 happens when a page returns a 200 OK status but shows content Google considers empty or irrelevant, like redirecting hundreds of old URLs to the homepage. Google detects these and removes the ranking equity those URLs held.

How do I check if my staging noindex is still active after launch?

Check your live robots.txt at yourdomain.com/robots.txt for any Disallow: / directives. Then use Google Search Console URL Inspection on key pages immediately after launch to confirm they are indexable.

GetLocably Logo

Written By Aditya

We are a specialist SEO and Web Development agency helping technical and local businesses scale their search traffic. We focus on data-driven growth, not guesswork.


Planning a migration and want someone to sanity-check the setup before you go live? Get a free SEO audit, no sales call required.