The Complete Website Migration Checklist

If you don’t plan a site migration, it will almost certainly lead to a drop in rankings and organic traffic. To avoid this, it is necessary to follow a certain website migration checklist.

Let’s look at how to plan and carry out a site move the right way.

What is website migration?

Website migration (also known as a “site move”) generally refers to any essential changes on a website that can affect its SEO. Such changes include, but are not limited to the following:

  • domain name change (e.g., from to;
  • top-level domain change (e.g., from to;
  • changing content management system (e.g., from WordPress to Shopify);
  • upgrading content management system (e.g., moving from Magento 1 to Magento 2);
  • changing the site structure or URL structure (e.g., from …/product-name to …/category/product-name);
  • consolidation of content (e.g., merge subfolders …/news and …/articles into …/blog);
  • moving from a subdomain to a subfolder or vice versa (e.g., from to;
  • site redesign: updating the website design without changing URLs;
  • switching web hosting (e.g., moving to a different hosting provider);
  • HTTP to HTTPS, etc.

There may also be hybrid migrations when you combine several changes. For example, you may change your domain name and content management system at the same time.

This complicates the migration process and makes it more difficult to troubleshoot potential technical SEO issues if the migration goes wrong.

In any case, for a successful site move, follow the website migration checklist below.

Migration planning

Choose an appropriate time

Plan to migrate your website during periods when your site generates the least amount of traffic and/or revenue.

Prepare a list of all URLs of the site

It is necessary to crawl your site and prepare a list of all site URLs. This will be necessary to make a list of priority pages.

A list of site URLs should include pages that return the HTTP status code 200 (“OK”), 404 errors (“Not found” pages), and 301 (302) redirects.

This task can be carried out using Screaming Frog SEO Spider.

Set up Google Search Console

Google Search Console is an essential tool for successful website migration. It allows you to facilitate and monitor the migration process.

Detailed instructions on how to verify site ownership can be found in Google documentation.

If you have not used Google Search Console before, it will take a few days for Google to collect all the necessary data after you verify site ownership.

Prepare the necessary SEO reports

It is recommended to prepare the following reports:

  1. Pages that generated organic traffic over the past six months (Google Analytics).
  2. All pages that have backlinks. This information is very important: if backlinks are lost during the migration, your website will almost certainly lose its rankings.
  3. All indexed pages on Google (Google Search Console).
  4. The number of internal links to each page of the website.
  5. List of keywords (search queries) the website has positions for (Google Search Console or any other SEO tool like SEMrush or Ahrefs).

Export all the necessary reports to Excel and keep them for later use.

Review any configured settings in Google Search Console

Identify sitemaps, crawl issues and/or warnings (if any), mobile usability issues, check crawl stats, and pages that contain Structured Data (if any).

Prepare URLs of all images

If images are moved to a different location during a site migration, a list of image URLs will be required.

Gather site speed information

Page load time affects conversions. The slower speed of your new site may cause a drop in revenue or conversions after its launch.

So it is important to prepare data about site speed. You can find it in Google Search Console (sections “Page Experience” and “Core Web Vitals”).

Make a list of the site’s pages by priority

Now you need to combine data from the SEO reports you have already prepared and make a list of prioritized pages. This is a very important step in the website migration checklist.

Prioritized pages are those that are indexed in Google, have more backlinks, and have the highest organic traffic/conversions.

You can add the following columns to the summary table:

  • URL address
  • HTTP status code
  • indexability
  • status in Google (indexed or not indexed)
  • organic traffic
  • backlinks
  • referring domains
  • internal links

The summary table may look like this:

Summary table - final

As a result, you will get a list of pages by priority from an SEO perspective.

Prepare a list of landing pages used in your advertising campaigns (if any)

If you run Google Ads or other ad campaigns, make sure to prepare a list of landing pages used in these campaigns.

When the new site goes live, you will need to update landing page URLs.

Pre-migration preparations

Set up a staging site

Making significant changes to your website is not recommended until you’ve tested them on a staging site. This is especially true if these changes involve changing URLs.

That’s why it is strongly recommended to set up a staging domain and launch your new website there.

In this article we will not discuss how to set up a staging site – this is a separate topic. Ask your dev team to do this or hire a developer.

Make sure your staging site is blocked from crawling and indexing

Ideally, you should enable HTTP authentication (password protection) for your staging site.

If you cannot do it for some reason, add the 'noindex, nofollow' meta tag to all pages of the staging site. This tag doesn’t prevent 3rd party access but is still a good solution.

Using robots.txt file to disallow crawling of the staging site is not recommended. Google can still index a page blocked in robots.txt if it finds external links to the page.

Create a backup of the old site

Having a backup of your website is critical during the migration process. If something goes wrong with the new site, you’ll need a backup to restore the old site.

Create URL mapping (also known as 301 redirect map)

This is another very important step in the website migration checklist. 301 redirect map is a spreadsheet that includes the following two columns:

Old page URL → New page URL

So the current page URLs need to be mapped to the new URLs. Be sure to include the following pages in your URL redirect file:

  • all pages that generate organic traffic;
  • all pages that have backlinks;
  • pages that have a high number of internal links from other pages.

You can choose not to move to the new site those URLs that don’t have backlinks, don’t generate organic traffic, and aren’t indexed on Google.

Also, include images and other multimedia files if their URLs will be changed during the migration.

The result should be a prioritized list of current URLs and corresponding new URLs.

Prepare and verify 301 redirects

For priority HTML pages, images, and other multimedia files, create and test 301 redirects at the page level.

All URLs you intend to redirect must return the appropriate HTTP response code 200 (“OK”).

Please note: if you have existing redirects on the site, you need to take them into account during the migration. If you don’t, you may lose them or get redirect chains.

Provide correct HTTP status codes for deleted or merged content

All URLs on the old website that will not be moved to the new website must return HTTP status code 410 (“Gone”) or 404 (“Not Found”).

Don’t delete your old site

Once the new site goes live, do not delete the old one. You should keep it to ensure all the ranking signals are transferred to the new URLs.

Review Search Console verification

Make sure that Search Console will work after the new site is launched. Choose the option that corresponds to the verification method you used for the old site.

This may include copying the HTML tag to the homepage of the new site, checking your Google Analytics tracking code, etc.

Executing migration

Choose your migration strategy

For small and medium websites, Google recommends moving all URLs at once.

If you have a large website, you can migrate it in parts. This can make it easier to monitor, identify, and resolve possible issues.

Implement redirects

Implement 301 redirects from the old URLs to the new URLs at the page level, as indicated in the URL mapping.

This is another essential step in the website migration checklist, so make sure all redirects are set up correctly.

Check your robots.txt file

Check your robots.txt file after launching the new website. Make sure it does not contain directives that disallow the crawling of the old and new URLs.

Also make sure that search engines can crawl images, CSS, and JavaScript files to render pages correctly.

Use the “Change of address” tool (for domain migration)

If you’ve changed your domain name, let Google know about it using the “Change of address” tool in Google Search Console:

Change of address tool in Search Console

Before using this tool, you must set up 301 redirects from the old website to the new website and verify the new domain in Search Console.

If you use this tool, you will see notifications in the old and new sites’ Search Console:

Google Search Console notification domain change OLD-SITE
Google Search Console notification domain change NEW SITE

Submit a new XML sitemap

In Search Console, submit the sitemap you created earlier that includes the new URLs.

However, do not delete the old sitemap. This makes it easier for Google to find the redirects from the old URLs to the new URLs, which speeds up the site migration.

Check how Google renders new pages

Use the URL inspection tool to check how Google renders new URLs:

URL inspection tool

Update page titles, meta descriptions, and Schema markup on the new site

Ensure pages of the new site have SEO-friendly titles and meta descriptions. You can use the titles and descriptions of old pages or write new ones.

As for Schema markup – if old pages had Schema markup, new pages should ideally have the new equivalent markup.

Check canonical links

Make sure canonical tags on the new website point to the new URLs.

Update inbound links

If any external links point to URLs that have changed during the migration, update them (Facebook, Instagram, pages used in advertising campaigns, etc.)

Keep 301 redirects in place for a year

Maintain redirects until Google has indexed all the new URLs and removed all the old URLs from its index. Google recommends keeping redirects for at least a year.

Post-migration monitoring

Check crawl errors and the number of indexed pages

Check Google Search Console regularly for possible crawl issues (section Indexing – Pages). Also, monitor the total number of indexed pages.

If everything went smoothly, you should see that old URLs are gradually being de-indexed and new URLs are being indexed.

Monitor crawl statistics

For this purpose, you may use either Google Search Console (section Settings – Crawl Stats) or server log files.

If Google crawls the new site without any issues, you will not see any crawl problems in the Google Search Console:

Host status report in Search Console

Monitor organic traffic and rankings

Your website might encounter temporary declines in organic traffic and/or fluctuations in rankings. But if the migration was carried out correctly, organic traffic and rankings should recover after some time.

Recovery happens when Google successfully transfers all ranking signals from the old URLs to the new ones.

Typically, this process can span from several days to a few weeks for small and medium-sized websites. For large sites, it may take longer.

Common mistakes

Not redirecting old URLs to the corresponding new URLs

The worst mistake you can make during site migration is not redirecting old URLs to new URLs.

Without redirects, Google cannot transfer ranking signals from old to new pages, resulting in a significant drop in organic traffic.

That is why creating a redirect map is an integral part of the website migration checklist.

Redirecting many old URLs to a single irrelevant new URL

All redirects from old to new URLs must be relevant. This means that the content of the old page must be equivalent to the content of the new page.

Avoid redirecting many old URLs to a single irrelevant new URL. This practice is called “irrelevant redirects” and negatively affects the ranking of the new website in organic search.

However, you can redirect a few old pages to a new consolidated and relevant page.

Robots.txt file disallows crawling of the new website

When a new site is launched, developers may forget to update its robots.txt file.

If your staging site was blocked from crawling in robots.txt, ensure that the new site allows search engines to crawl it.

Pages of the new website contain the ‘noindex’ directive

Your staging site may be blocked from indexing using the 'noindex' directive in a meta tag or in the ‘X-Robots-Tag’ HTTP header.

In the source code of a page, the 'noindex' meta tag looks as follows:

noindex meta tag

When a new site goes live, make sure its pages do not have 'noindex' directives.

Incorrect canonical links on the new site

It is also possible that the canonical links were not updated when the new site was launched. They may still point to either the old URLs or the staging site.

Make sure canonical links on the new website are correct and point to the new URLs.


To achieve a successful site move, you must carefully plan, prepare, and execute the migration process. The duration of this process can vary, taking several days for small websites to several weeks or more for larger sites.

When done correctly, website migration may lead to only a temporary drop in organic traffic. However, improper planning and execution can significantly harm your SEO.

I hope this website migration checklist will help you successfully migrate your site.

Andrew Postelniak

I am a freelance SEO consultant with over 7 years of experience.

I've worked with various companies (from local to international) as well as marketing agencies from the USA, Canada, Europe, and Australia.

This is my SEO blog where I share actionable tips from my experience.


Leave a Reply

Your email address will not be published. Required fields are marked *