SaaS website migration SEO
Redesigns, rebrands and CMS moves without losing rankings: URL mapping, redirect QA, staged launch, a rollback trigger and a fourteen day watch list.
On this page 10 sections
- Which of the three migrations are you running?
- The baseline you cannot recreate after launch
- URL mapping rules, including what to retire rather than redirect
- How to QA four thousand redirects without opening four thousand tabs
- Staged launch, DNS and CDN
- The three failures that cause most of the losses
- The fourteen day watch list and the rollback trigger
- Freeze content changes for two weeks either side
- What recovery actually looks like when it goes wrong
- Start here
- Frequently asked questions
The short answer
A SaaS site migration keeps its rankings when three things are true: every old URL with clicks, links or internal links resolves in a single 301 hop to the closest matching new URL, the new templates ship with the same indexable content and hreflang as the old ones, and nothing else changes for two weeks either side of the switch. Capture a crawl and a 16 month Search Console export before you touch anything, because you cannot recreate that baseline afterwards.
Key points before you start
A migration is the only SEO project where nothing happening counts as a win. Nobody gets a bonus for holding traffic flat through a replatform, and everybody remembers the quarter organic fell 40 percent because a staging robots.txt went live with the rest of the build.
This is the runbook for the three moves SaaS companies actually make: a redesign on the same domain, a CMS replatform, and a rebrand onto a new domain. The order of operations matters more than any single tactic in it.
Which of the three migrations are you running?
Name it out loud before you plan anything, because the risk profile and the freeze window differ by a factor of three. A redesign that preserves URLs is a two week project with modest downside. A rebrand onto a new domain touches every signal you own at once.
| Migration type | What changes | Typical organic risk | Recommended freeze window |
|---|---|---|---|
| Redesign, same URLs | Templates, internal links, page speed | Low to medium. Losses come from content removed during the redesign, not the design itself | 1 week either side |
| CMS replatform | URL structure, rendering method, sitemaps, redirects | Medium to high. Client side rendering and URL pattern changes do the damage | 2 weeks either side |
| Rebrand to a new domain | Domain, brand entity, every URL, third party listings | High. Everything moves at once and brand queries reset | 3 weeks either side |
The most common real world version is a replatform from WordPress or HubSpot CMS onto Webflow or a Next.js build on Vercel, driven by a marketing team that wants to ship pages without engineering. That move is usually correct. It also changes URL patterns, rendering and sitemap generation in one go, which is why it belongs in the medium to high row.
The combined project problem
Marketing wants the new design, product wants the new CMS, and the founder wants the new name. Shipping all three in one release means that if organic falls 22 percent, three teams will spend six weeks arguing about which change caused it. Sequence them. Ship the replatform on identical URLs and identical copy, verify two weeks of flat data, then change the design, then change the name.
The baseline you cannot recreate after launch
Capture the current state before a single file moves, because Search Console only holds 16 months and crawl data of a site that no longer exists is impossible to regenerate. This is the step teams skip when the launch date slips and it is the step that makes recovery possible.
Pre migration capture, all dated and stored outside the CMS
0 of 7 done
That last item earns its place. When a page loses rankings after a replatform, the fastest diagnosis is a side by side diff of old and new rendered HTML, and you can only do that if you saved the old one.
Sort the crawl by clicks and referring domains. The output is your priority list: usually 50 to 200 URLs that generate almost all the organic signups, plus a long tail that nobody has looked at in three years. Treat those two groups completely differently. The technical SEO audit checklist covers the wider site health work that should already be done before a migration adds to it.
16 months
Maximum Search Console history available, which is why the pre launch export is not optional
Google Search Console data retention
URL mapping rules, including what to retire rather than redirect
Map every old URL to exactly one new URL, in one hop, to the closest matching intent. Where no close match exists, do not invent one. Retire the page properly instead.
The decision rules that hold up:
| Situation | Action | Why |
|---|---|---|
| Same page, new URL pattern | 301 to the equivalent page | One hop, direct match, no ambiguity |
| Three thin posts consolidated into one guide | 301 all three to the guide | Consolidation is legitimate when the new page genuinely covers all three |
| Old page with clicks but no equivalent | Build the equivalent, then 301 | Redirecting to a parent category loses the ranking within weeks |
| Zero clicks, zero referring domains, zero internal links in 12 months | 410 Gone | Retiring cleanly is better than a redirect to a weak match |
| Old integration or docs URL linked by a partner | 301 and keep it permanently | Partner directories update on a multi year cycle, if ever |
| Paginated or faceted URL from the old CMS | 410 or leave to 404 | These were never meant to rank and the redirect map should stay readable |
The rule everyone breaks is the fourth one. There is an instinct to redirect everything somewhere, and it produces a map where 900 dead URLs point at the blog index. Google treats an irrelevant redirect as a soft 404 anyway, so you get the same outcome with extra confusion in your reporting.
Before mapping, check where the new pages will live in the hierarchy. If the replatform is also your chance to fix a messy URL structure, do that thinking against a proper site architecture model rather than whatever the new CMS defaults to. And if part of the move involves pulling the blog off a subdomain, read the subfolder versus subdomain case first, because that decision is much harder to reverse than it looks.
Keep the map in a spreadsheet with five columns: old URL, new URL, reason, 12 month clicks, referring domains. Sort descending by clicks. Somebody senior signs off on the top 100 rows by hand. The rest can be pattern matched.
Editable working copy
Get this checklist as a working file
Save the checks on this page as a working copy and assign an owner, status and evidence for each action.
How to QA four thousand redirects without opening four thousand tabs
Run the QA twice: once against staging with a host header override, once against production 30 minutes after DNS moves. Each pass is a list mode crawl of your old URL export, checked against four columns.
Redirect QA pass
- Load the old URL list
Take the complete URL column from the pre migration crawl, not the sitemap. Sitemaps miss orphaned pages that still hold links.
- Crawl in list mode
Point Screaming Frog at staging with the host mapped, follow redirects enabled. On a 4,000 URL list this takes under 20 minutes at 5 threads.
- Check hop count equals one
Any row with 2 or more hops goes back to engineering. Chains usually appear where an old redirect rule from a previous migration is still live.
- Check the final URL matches the map
Join the crawl export against your mapping sheet on old URL. Mismatches are almost always regex rules catching more than intended.
- Check the destination returns 200 and is indexable
A 301 into a noindex page is worse than a 404 because it looks fine in the crawl summary.
- Check the 100 highest value URLs by hand
Open them. Look at the page. Automated checks confirm the status code, not that the destination is the right page for the query.
- Re-run everything against production
Edge rules behave differently from origin rules. Run the identical crawl 30 minutes after cutover and diff the two exports.
Comparing the staging and production crawl exports catches the class of bug that only appears at the edge, where a Cloudflare or Vercel rule takes precedence over the application redirect and quietly strips a path segment. If you need a view on which crawler to standardise on for this, the technical SEO crawler comparison covers the list mode differences that matter here.
Staged launch, DNS and CDN
Lower your DNS TTL to 300 seconds at least 48 hours before launch, so a rollback propagates in five minutes rather than a day. That single change is the difference between a bad hour and a bad weekend.
The launch sequence that works:
- Freeze the old site 48 hours before. No publishing, no edits, no new redirects.
- Final content sync from old CMS to new, then re-run the redirect QA against staging.
- Drop TTL, confirm propagation with
digfrom three networks. - Cut DNS. Verify robots.txt, a sample of 20 redirects, and the XML sitemap within 10 minutes.
- Submit the new sitemap in Search Console. For a domain change, file the change of address on the old property.
- Keep the old origin running for 30 days. Not the DNS, the origin. If you need to serve something from the old stack you will be glad it still boots.
Keep the old sitemap alive for a fortnight
Leave the old XML sitemap accessible and submitted for about two weeks after cutover. It sounds wrong, but it gives Google a fast path to recrawl exactly the URLs that now 301, which pulls forward the discovery of your new URLs. Remove it once the indexed count on the new property stabilises.
For anyone running multiple language versions, the hreflang cluster has to be rebuilt in the new templates and validated before launch, not after. The failure mode is covered below, and the wider setup lives in the international SaaS SEO guide.
The three failures that cause most of the losses
Almost every serious migration loss traces back to one of three things, and all three are detectable within an hour of launch if somebody is looking.
Redirect chains ending at the homepage. The signal is a crawl where hundreds of URLs show 2 or 3 hops and a final URL of /. It usually happens when a catch-all rule sits below the specific rules and swallows anything unmatched. Effect: the pages stop ranking within two to four weeks, and because the homepage still ranks, dashboards look survivable until the monthly report lands.
Missing hreflang on the new templates. The new CMS renders the page fine in every locale but the alternate tags were part of the old template and nobody ported them. The signal is a rise in impressions for the wrong country and a fall in clicks from your second largest market. Fix takes a day. Detection often takes six weeks, which is the real cost.
Staging robots.txt or noindex headers shipped to production. The most damaging and the most preventable. Either Disallow: / goes live in robots.txt, or the x-robots-tag: noindex header set on staging follows the build into production, which no robots.txt check will catch because it lives in the response header.
Check the header, not only the file
Curl your homepage and five template types immediately after cutover and read the response headers as well as the body. curl -sI https://yourdomain.com | grep -i robots takes four seconds. A noindex header on a Webflow or Vercel deployment looks completely normal in a browser, and it will deindex the site inside a week.
Review request
Free SaaS marketing audit
Share your site, stage and priorities to request a review of your positioning, funnel and acquisition plan.
The fourteen day watch list and the rollback trigger
Watch a fixed list on a fixed cadence, and write the rollback trigger down before launch day. Nobody makes a good reversion decision at 2am with a founder on the call.
| Window | What to check | Where | Escalate if |
|---|---|---|---|
| Hour 0 to 2 | robots.txt, x-robots headers, 20 sampled redirects, canonical tags on 5 templates | curl and browser | Any noindex, any chain, any canonical pointing at staging |
| Day 1 | Full list mode crawl against production versus the staging crawl | Screaming Frog | More than 1 percent of rows differ from the mapping sheet |
| Day 1 to 3 | Server errors and 404 volume | Server logs, Search Console crawl stats | 5xx rate above baseline, or new 404s from internal links |
| Day 3 to 7 | Indexed page count versus baseline | Search Console page indexing report | Indexed pages down more than 25 percent |
| Day 3 to 14 | Clicks and impressions on the 20 highest converting pages | Search Console, compared to the same weekday | Clicks down more than 30 percent for 3 consecutive days |
| Day 7 to 14 | Signups and demo requests by landing page | Analytics and CRM | Conversions down while sessions hold, which points at broken forms, not SEO |
The written rollback trigger: revert DNS to the old stack if indexed pages fall more than 25 percent from baseline by day seven, or if clicks on the priority page set drop more than 30 percent for three consecutive days and no server error, seasonality or algorithm update explains it. Reverting is not an admission of failure. It is cheaper than eight weeks of recovery.
That last row matters more than the SEO rows for a SaaS business. Sessions holding while demo requests fall means the new template broke a form or a tracking event, which is a two hour fix that otherwise gets misdiagnosed as a ranking problem for a month. The same instrumentation discipline applies to any SEO experiment you run afterwards.
Freeze content changes for two weeks either side
This is the position I would defend hardest. Do not rewrite copy, add pages, change titles, or prune the blog in the fortnight before or after the switch. A simultaneous redesign and content rewrite makes the cause of any loss unknowable, and unknowable causes turn into quarters of guessing.
The objection is always the same: the new site is the moment to fix everything, and holding back feels like wasted opportunity. Fair. The counter is that a two week delay costs you roughly 4 percent of a year’s publishing output, and a misdiagnosed migration drop costs a quarter. Ship the content the week after the watch list closes clean, with your keyword map already built during the freeze so nothing is lost.
Exception: fix genuine errors immediately. A broken canonical is not a content change.
What recovery actually looks like when it goes wrong
Assume six to twelve weeks from the moment the fix ships, not from the moment you find the problem. A 3,000 URL SaaS site that shipped a broken redirect map recovers on Google’s recrawl schedule, and recrawl priority follows the pages Google already considered important.
The pattern is consistent: high value pages that still had internal links and external links recover first, often within two to three weeks of the fix. Mid tail pages follow over the next month. The long tail, especially programmatic sets, may never fully return, because the crawl budget that used to reach them has been spent on redirect resolution and the pages were marginal to begin with.
Two things speed it up. Resubmit the corrected sitemap and use the URL inspection tool on your top 50 pages, which is slow but reliable. And rebuild internal links to the affected pages from your strongest URLs, since internal linking is the lever you fully control. If the lost pages were bottom of funnel comparisons and alternatives pages, prioritise those above everything else, for the reasons set out in the bottom of funnel page work.
Start here
If your launch is more than two weeks out, capture the baseline this week and build the mapping sheet next. If your launch is next Friday, do the baseline capture today regardless of what else is unfinished, because everything else on this page can be fixed after the fact and that cannot.
If you have already launched and something feels wrong, run the hour zero checks now: robots.txt, response headers, a 200 URL list mode crawl. Those three checks find roughly four out of five migration disasters in under an hour, and the rest of the diagnosis belongs with your broader SaaS SEO programme rather than the migration itself.
Editable CSV worksheet
SaaS SEO planning worksheet
A practical seo planning worksheet: decisions, owners, evidence and next actions.
Frequently asked questions
How long does it take Google to process a SaaS site migration?
Google Search Central says a site move with URL changes usually takes several weeks to process, and larger sites can take a few months. In practice a 400 page SaaS marketing site settles in two to four weeks, while a 5,000 page site with programmatic templates often takes eight to twelve weeks before impressions return to baseline.
Do you lose link equity through a 301 redirect?
Google has stated publicly since 2016 that no PageRank is lost through 30x redirects. What actually causes loss is chained redirects, redirects to irrelevant destinations such as the homepage, and redirects that resolve to a page with different content and intent. The hop itself is not the problem. The destination choice usually is.
Should I redesign and replatform at the same time?
Only if you have no choice. Doing both means a template change, a URL change and often a content change land together, so if organic drops you cannot tell which one did it. If the project must combine them, ship the replatform on identical URLs and identical copy first, then change the design two weeks later.
What is the fastest way to QA thousands of redirects?
Put the mapping in a CSV, crawl the old URL list in list mode with Screaming Frog or Sitebulb against staging, and check four columns: status code is 301, hop count is 1, final URL matches the mapped target, and the final URL returns 200 and is indexable. Repeat the same crawl against production 30 minutes after DNS cuts over.
How long should 301 redirects stay in place after a migration?
Google Search Central recommends keeping redirects for at least one year. For a SaaS company that has ever had documentation, integration pages or a changelog linked from partner sites, keep them permanently. The redirect map costs nothing to host at the edge, and old integration URLs keep receiving traffic from partner directories for years.
What is a defensible rollback trigger for a site migration?
Write it before launch. A common one: if Search Console shows indexed pages down more than 25 percent from baseline by day seven, or clicks on the 20 highest converting pages down more than 30 percent for three consecutive days with no server error explaining it, revert DNS to the old stack while the cause is found.
Does changing domain for a rebrand permanently hurt SEO?
No, but it costs more than a redesign and takes longer to settle. A clean domain change with one hop redirects, an updated Search Console change of address, and refreshed brand mentions typically returns to baseline in six to twelve weeks. The lasting damage comes from unclaimed brand queries and third party listings still pointing at the old name.
The saas-marketing.net editorial team Research and editorial
We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.
Published September 11, 2026. Last updated .