Most of the “our traffic fell off a cliff” calls I get have the same story: a new website went live, it looks better, and enquiries halved. The design did not cause it. The URLs changed — /services/boiler-repair became /boiler-repair-salford — nobody redirected the old ones, and Google saw a hundred dead pages and a hundred new ones with no history. This website migration SEO checklist is what I run for every redesign, platform change, domain move and host move, so the new site inherits what the old one earned.
It applies to WordPress-to-WordPress rebuilds, moves from Wix, Squarespace or Webflow to WordPress, Shopify moves (the Shopify SEO checklist covers the store side), and simple host changes. The effort scales with how many URLs change; the discipline is the same.
What “migration” covers
| Type | URLs change? | Risk |
|---|---|---|
| Host move (same site, new server) | No | Low — DNS, SSL, search-replace, .htaccess |
| Redesign on the same platform | Sometimes | Medium — depends on URL and content changes |
| Platform change (Wix → WordPress, WordPress → Shopify) | Almost always | High — every URL needs a map |
| Domain change | All of them | High — map plus Search Console change of address |
| http → https, www → non-www | Scheme/host only | Low if redirected site-wide; high if left as duplicates |
Phase 1: Inventory the old site (before anything is built)
- Crawl every URL with a crawler (Screaming Frog or similar) and export: URL, title, H1, meta description, status code, canonical, word count. Add the sitemap URLs and Search Console’s page list — they catch pages the crawler cannot reach.
- Record the baseline: Search Console performance by page for the last three months (clicks, impressions, average position), and Analytics organic landing pages. This is what you compare against later.
- List the pages that matter: the top 50 by organic clicks and every page with external links (Search Console → Links, or a backlink tool). These get hand-checked at launch.
- Export the backlinks so you can update the ones you control (directories, partners, your Google Business Profile, social bios) after launch.
Phase 2: The redirect map
A spreadsheet with two columns: old URL → new URL, one row per old URL, one-to-one wherever a real equivalent exists. Rules:
- Keep URLs unchanged wherever you can. The best redirect is the one you do not need. On WordPress, set the new site’s permalinks and slugs to match the old ones before changing anything else.
- Equivalent, not nearest: old service page → new service page; old blog post → same post at its new URL. If the content is genuinely gone, redirect to the closest parent (the category, not the home page).
- Never blanket-redirect to the home page. Google treats it as a soft 404; the old pages simply drop.
- Include images and PDFs that had traffic or links.
- Chains and loops: if the old site already had redirects, map from the original URLs straight to the final destination.
- 301, not 302, for anything permanent.
Phase 3: Content parity on the new site
Rankings live in the page, not the design. For every page that matters, the new version keeps: the title tag, the H1, the meta description (or a better one), the substance of the copy, the images with alt text, internal links to the same destinations, schema, and canonical tags pointing to itself. Rewriting is fine; thinning is not — a 900-word service page that becomes a 90-word hero section with icons will lose the ranking the 900 words earned. Rebuild the internal linking on purpose: menus, footers, related links, in-copy links.
Phase 4: Staging traps
Staging sites are set to noindex or password-protected so Google does not index the half-built copy. The number one migration disaster is launching with that noindex still on — the site goes live invisible and traffic falls to zero over two weeks. Second: the staging domain gets indexed because nobody blocked it, and it competes with the real site. Third: hard-coded staging URLs in content and Elementor data survive the move. Check all three on launch day.
Phase 5: Launch day
- Backup of the old site and its database, kept for at least three months.
- New site live; search-replace the staging domain to the live domain (serialisation-safe — on WordPress,
wp search-replaceor a plugin that handles serialised data). - Redirects live — on WordPress, Rank Math’s redirections module; for host moves, a correct
.htaccess; for domain moves, a server-level redirect from the old domain. - Noindex off;
robots.txtallows crawling; the sitemap is regenerated and submitted in Search Console. - Domain change only: Search Console → Change of address; verify the new property; keep the old domain’s redirects for years, not months.
- Test the top 50 old URLs by hand (or with the crawler in list mode): each returns 301 to the right page, which returns 200.
- Check https and www redirects, canonical tags, schema (rich results test), page speed on mobile (the speed checklist), forms and tracking (GA4 and pixel events fire on the new pages).
- Update the links you control: Google Business Profile, social profiles, directories, email signatures, ads, print.
Phase 6: The four-week watch
- Daily for a week: Search Console coverage — new 404s (map them), pages excluded by noindex (should be none), redirect errors. Server logs or a crawler for chains and loops.
- Weekly for a month: performance by page against the baseline. Expect fluctuation for two to six weeks. A page that has lost most of its clicks after a month is either mapped wrongly or thinner than it was.
- Fix 404s as they appear — old URLs you missed will surface from external links and old bookmarks.
- Do not touch the design or URLs again during the watch; stacking changes makes the cause impossible to see.
WordPress specifics
- Permalink structure set before content is created on the new site; slugs copied exactly from the old site where the pages match.
- Rank Math redirections for URL changes (import the map as CSV); no extra plugin needed. For a host move with unchanged URLs, no redirects are needed at all.
- Search-replace the old domain or staging domain across the database, including Elementor’s JSON data, which stores URLs with escaped slashes — use a tool that handles serialised and JSON data.
- Elementor: regenerate the CSS after the move; check global colours, fonts and any hard-coded image URLs.
- .htaccess rebuilt cleanly on a new host: WordPress rules, caching rules, https and www redirects — and nothing copied from the old host’s environment that does not apply.
- Security and maintenance restart on the new site — the security checklist is a good launch-week task.
A realistic timeline
| Site | Inventory + map | Watch |
|---|---|---|
| Brochure site, 20 pages, same URLs | Half a day | 2 weeks |
| Service site + blog, 150 URLs, new structure | 1–2 days | 4–6 weeks |
| Store, 1,000+ products, platform change | A week, with automated mapping and hand checks on the top pages | 6–8 weeks |
| Domain change on any of the above | Add a day and the change-of-address process | Add 4 weeks |
The mistakes that cost half the traffic
- No map, or a map to the home page.
- Noindex left on.
- Content thinned in the name of “clean design”.
- Internal links pointing to old URLs through a redirect forever.
- Tracking not reinstalled, so nobody notices for a month.
- Old domain expired, taking the redirects with it.
- Launching on a Friday afternoon before a holiday.
Further reading: Google: site moves with URL changes · Google Search Console.
FAQ
Will a website redesign hurt my SEO?
Only if URLs, titles or content change without redirects and parity. A redesign that keeps every URL and every page’s substance usually holds its rankings; one that changes URLs without a 1:1 redirect map typically loses 30–60% of organic traffic for months.
Do 301 redirects pass full ranking value?
Close to it, when they go one-to-one from the old page to its genuine equivalent. Redirecting everything to the home page does not — Google treats that as a soft 404 and the old pages drop out.
How long does it take for rankings to recover after a migration?
With a clean redirect map and content parity, two to six weeks of fluctuation is normal; larger sites and domain changes take longer. Traffic that has not recovered after eight weeks usually points to a mapping gap, a noindex left on, or lost content.
Do I need a redirect plugin on WordPress?
Not if you use Rank Math, which includes a redirections module (Yoast Premium does too). For a host move with no URL changes you need no redirects at all — just a correct search-replace of the domain and a working .htaccess.
Rebuilding or moving a site that already ranks? See the WordPress migration and development services — the redirect map and the four-week watch are part of every migration I do, because losing traffic is the expensive way to get a new website.