Skip to content

Website migration checklist

For a redesign, a new platform or a new domain. The goal: every address that gets visits or links today still leads to the right page tomorrow, and nothing on the new site stops search engines from reading it.

RR Web Serviceswww.rrwebservices.com/checklists/site-migration-checklist/
Checked November 9, 2026

Website migration checklist

For a redesign, a new platform or a new domain. The goal: every address that gets visits or links today still leads to the right page tomorrow, and nothing on the new site stops search engines from reading it.

23 steps in 5 partsEach with how to check it and what β€œdone” looks likeLast checked against the sources: November 9, 2026

Download PDF 0 of 23 done

Start here: the 10 steps that matter most

If you only have an hour or two, do these first. The full list, with how to check each one, follows.

  1. Decide what is changing, and change as little as you can at onceA written list: domain (same or new), addresses (same or new), design, content, platform.
  2. List every address on the current siteOne spreadsheet of addresses from the sitemap, a full crawl, Search Console and analytics, including PDFs and images that get links.
  3. Mark which pages matter mostTop pages by clicks (Search Console, last 12 months), by conversions and by links, flagged in the sheet.
  4. Save a β€œbefore” snapshotSaved: Search Console clicks and queries per page, rankings for main searches, titles, descriptions and structured data of top pages.
  5. Map each old address to the closest new pageEvery old address with traffic, links or a reason to exist has one new destination in the sheet.
  6. Use permanent (301 or 308) redirects in one stepEach old address goes straight to its final new address with a 301 or 308.
  7. Keep the content and titles of pages that rankTop pages keep their main text, title, H1 and structured data, or improve on them.
  8. Update canonicals, hreflang and structured data addressesEvery canonical and hreflang points to a live new address; structured data uses new URLs.
  9. Block the test site from search, but not the live oneTest site behind a password; live site with no noindex and an open robots.txt.
  10. Test the redirect map on the new site before launchEvery row in the map tested: right destination, one step, permanent code.

How to use this checklist

Every step has a priority (Start here, Important, When you have time), who usually does it (You or a developer) and a rough time. Done when says what finished looks like, How to check tells you how to confirm it yourself, and Common mistake is the slip we see most. Tick the box when a step passes its check.

Steps marked with a free tool can be checked in seconds at rrwebservices.com/tools/. Sources are numbered at the end; every fact was checked against them on November 9, 2026.

Your score: ______ of 23 steps done    Date: ______________

Plan and take stock

  • Start hereYou + developer1 hour

    A new domain, new addresses, new design and new content all at once makes problems hard to find. Google’s site move guide treats moves with URL changes as the risky kind.

    Done when: A written list: domain (same or new), addresses (same or new), design, content, platform.

    How to check it, and the usual mistake

    How to check: If addresses can stay the same, keep them.

    Common mistake: Rewriting all content during the move.

  • Start hereDeveloper2-3 hours

    You can only redirect what you know about.

    Done when: One spreadsheet of addresses from the sitemap, a full crawl, Search Console and analytics, including PDFs and images that get links.

    How to check it, and the usual mistake

    How to check: Compare the counts from each source; investigate addresses that appear in only one.

    Common mistake: Using the sitemap alone. Old pages often aren’t in it.

  • Start hereYou1 hour

    Pages with clicks, conversions or links need the most care.

    Done when: Top pages by clicks (Search Console, last 12 months), by conversions and by links, flagged in the sheet.

    How to check it, and the usual mistake

    How to check: Export pages from Search Console and upload to the GSC Data Interpreter.

    Common mistake: Looking at only the last month, which misses seasonal pages.

  • Start hereYou1 hour

    You need something to compare with after the move.

    Done when: Saved: Search Console clicks and queries per page, rankings for main searches, titles, descriptions and structured data of top pages.

    How to check it, and the usual mistake

    How to check: Make sure the exports open and are dated.

    Common mistake: Realizing after launch that the old data is gone.

  • ImportantYou10 min

    If the domain changes, redirects only work while you own and host the old one.

    Done when: Old domain renewed for several years, with hosting that can serve redirects.

    How to check it, and the usual mistake

    How to check: Look up the renewal date at your registrar.

    Common mistake: Letting the old domain expire a year later.

Build the redirect map

  • Start hereYou + developer2-6 hours

    Google recommends permanent server-side redirects from each old URL to the matching new one.

    Done when: Every old address with traffic, links or a reason to exist has one new destination in the sheet.

    How to check it, and the usual mistake

    How to check: Sort by clicks and review the top 100 by hand.

    Common mistake: Redirecting everything to the homepage. Google can treat that like a missing page.

  • Start hereDeveloper1-2 hours

    Permanent redirects tell search engines the move is lasting. Chains slow things down and lose some visitors.

    Done when: Each old address goes straight to its final new address with a 301 or 308.

    How to check it, and the usual mistake

    How to check: Paste the rules into the .htaccess Analyzer to check for chains, loops and temporary codes.

    Common mistake: Temporary 302s left in place, or old redirects pointing to addresses that now redirect again.

    # Apache (.htaccess): one page
    Redirect 301 /old-services/ https://www.example.com/services/
    
    # A whole folder
    RedirectMatch 301 ^/blog/(.*)$ https://www.example.com/insights/$1
  • When you have timeDeveloper30 min

    Ads and campaigns use parameters; inconsistent slashes create duplicates.

    Done when: Redirects keep useful parameters, and every address ends up in the site’s one slash style.

    How to check it, and the usual mistake

    How to check: Test a few addresses with ?utm_source=test and with and without a trailing slash.

    Common mistake: Redirect rules that strip parameters, breaking ad tracking.

  • When you have timeDeveloper30 min

    Pages with no replacement and no traffic don’t need a redirect.

    Done when: Removed pages answer 404 or 410 and are listed in the sheet as removed.

    How to check it, and the usual mistake

    How to check: Spot-check a few removed addresses.

    Common mistake: Removing pages that still get links or traffic.

Prepare the new site

  • Start hereYouVaries

    Rankings depend on the content. Changing the address and the content at the same time makes drops hard to explain.

    Done when: Top pages keep their main text, title, H1 and structured data, or improve on them.

    How to check it, and the usual mistake

    How to check: Compare old and new top pages side by side.

    Common mistake: A new design that drops half the text for a cleaner look.

  • ImportantDeveloper1-2 hours

    Links through redirects slow crawling and pages down.

    Done when: Menus, footers and links in content point straight to new addresses.

    How to check it, and the usual mistake

    How to check: Crawl the new site and look for internal links that redirect.

    Common mistake: Hard-coded old links in old blog posts.

  • Start hereDeveloper1 hour

    They must point to new addresses, or they send mixed signals.

    Done when: Every canonical and hreflang points to a live new address; structured data uses new URLs.

    How to check it, and the usual mistake

    How to check: Run templates through the SEO Health Dashboard.

    Common mistake: Canonicals copied from the test site.

  • Start hereDeveloper15 min

    A test site in Google competes with the real one. A blocked live site disappears.

    Done when: Test site behind a password; live site with no noindex and an open robots.txt.

    How to check it, and the usual mistake

    How to check: Search site:your-test-domain on Google.

    Common mistake: Copying the test site’s noindex or robots.txt to live.

  • Start hereDeveloper1 hour

    Fixing redirects after launch costs traffic.

    Done when: Every row in the map tested: right destination, one step, permanent code.

    How to check it, and the usual mistake

    How to check: Run the list through a bulk redirect checker or a script against the test server.

    Common mistake: Testing only a handful.

Launch

  • ImportantYou + developer

    Problems appear in the first hours.

    Done when: Launch on a low-traffic day with the developer available.

    How to check it, and the usual mistake

    How to check: Agree a rollback plan.

    Common mistake: Launching on a Friday evening.

  • Start hereDeveloper30 min

    Live servers can behave differently from test ones.

    Done when: A sample of the top 50 old addresses tested live within the first hour.

    How to check it, and the usual mistake

    How to check: Click them in a private browser window.

    Common mistake: A server cache serving old pages.

  • ImportantYou15 min

    Google’s site move guide suggests submitting sitemaps so the old URLs get crawled and the redirects found.

    Done when: New sitemap submitted in Search Console; old sitemap still available for a few weeks.

    How to check it, and the usual mistake

    How to check: Search Console’s Sitemaps report.

    Common mistake: Deleting the old sitemap on day one.

  • Start hereYou15 min

    It tells Google the whole site moved to a new domain. It needs both domains verified in Search Console and the 301s in place.

    Done when: Change of Address submitted from the old domain’s property.

    How to check it, and the usual mistake

    How to check: Search Console, Settings, Change of address.

    Common mistake: Using it for a move within the same domain, where it doesn’t apply.

  • ImportantYou1-2 hours

    Profiles, ads, emails and directories should point to new addresses directly.

    Done when: Google Business Profile, social profiles, ads, email signatures and main directories updated.

    How to check it, and the usual mistake

    How to check: List every place your site is linked from that you can edit.

    Common mistake: Ads pointing to redirects for months.

After the move

  • Start hereYou15 min a day

    Errors and dropped pages show up there first.

    Done when: Indexing and not found reports reviewed; spikes investigated.

    How to check it, and the usual mistake

    How to check: Search Console, Pages; compare clicks with your β€œbefore” snapshot.

    Common mistake: Expecting no movement. Some fluctuation for a few weeks is normal.

  • Start hereDeveloper1 hour a week

    Missing redirects show up as not found errors.

    Done when: Every 404 with traffic or links redirected to the right page.

    How to check it, and the usual mistake

    How to check: Search Console’s not found list and your server logs.

    Common mistake: Ignoring 404s from old campaign addresses.

  • Start hereDeveloper

    Google’s John Mueller has said to keep redirects for at least a year; signals take time to move over, and people keep old links and bookmarks.

    Done when: Redirects documented, with no end date.

    How to check it, and the usual mistake

    How to check: Make a note so nobody removes them in a later cleanup.

    Common mistake: Dropping redirects after a few months to tidy up the server.

  • ImportantYou1 hour

    It shows which pages lost ground and need attention.

    Done when: Before and after clicks for the top pages compared; drops investigated one by one.

    How to check it, and the usual mistake

    How to check: Upload old and new exports to the GSC Data Interpreter.

    Common mistake: Comparing a seasonal month with a different season.

Want this checked for you?

The free .htaccess Analyzer runs many of these checks on your page in under a minute and tells you what to fix first.

Run the free check
RR Web Services Β· rrwebservices.com Β· Free tools that check these steps: rrwebservices.com/tools/