In an ideal world, a website migration would move the whole website from one domain to another without any changes. But that is rare. That is why I have this website migration checklist to ensure nothing is missed.
Migrations are unavoidable and usually done to increase business. Some migrations are just bad advice, like moving your blog to a subdomain or to Hubspot.
There are risks attached to all migrations, but having clear goals, a comprehensive checklist, and an SEO expert for oversight will mitigate the risks. I have fixed many failed migrations. These often happen as the result of a new web design. Most web design companies are not in the SEO business.
What is a Website Migration?
A website migration can be moving from one domain to another, changing CMS or eCommerce platform, or integrating more than one website.
These are some of the common reasons why websites are migrated:
- Platform Upgrade – Upgrading to a newer, more flexible CMS platform like WordPress or Drupal from an outdated system or an old static site. This allows you to leverage newer technologies and features.
- Performance Enhancements – Migrating to a faster web host, CDN, or implementing caching/compression can significantly improve website speed and page load times. This improves user experience and SEO.
- Web Design Refresh – Redesigning the website with a new look, layout, branding, and user interface. This helps keep the site contemporary and appealing.
- New Features – Adding new functionality like user accounts, eCommerce, blogs, forums, etc. Expanding capabilities may require starting fresh with a new platform.
- Content Management – Adopting a CMS solution to allow non-technical users to update content more easily compared to static HTML sites.
- Expiring Web Hosting Contract – Moving to a new host upon contract termination to potentially reduce costs or leverage newer infrastructure.
- Domain Name Change – Adopting a new domain name and transitioning traffic/rankings from an old domain to a new one.
- Security Vulnerabilities – Migrating from a platform with known vulnerabilities to a newer, more secure option to protect the site.
- Technical Debt – Rewriting an outdated site on old frameworks/languages into a modern web stack for easier ongoing management.
- Traffic Growth – Scalability issues may require migrating to a more robust infrastructure to support increased traffic.
- Business Rebranding – Major business changes like mergers, leadership changes, new business models, etc, may warrant a website migration.
Does a Website Migration Affect SEO?
A website migration can impact SEO and organic rankings in various ways, both positively and negatively. Here are some of the common SEO effects of a website migration:
- Indexation Issues – Moving to a new domain can temporarily cause pages to drop out of the index, resulting in traffic loss until search engines recrawl and reindex the new site.
- Redirect Chains – Setting up proper 301 redirects from old URLs to new URLs preserves link equity and avoids broken links. Complex redirect chains can introduce issues.
- URL Changes – Links containing old URLs need to be updated to avoid losing rankings. URL changes also reset any authority/trust that was built up over time.
- Content Loss – Failing to properly migrate all content from the old site can negatively impact pages that now have thin or missing content.
- Link Equity Loss – Not migrating over all backlinks usually results in passing on less overall domain/page authority to the new site.
- Duplicate Content – Keeping the old site live too long can result in search engines seeing duplicate content issues and diluting rankings.
- Crawling Issues – Structural changes, new site architecture, or technical errors on the new site can make it more complicated for search bots to crawl correctly.
- Ranking Fluctuations – Typical migration issues can cause rankings to fluctuate initially before stabilising over months as the new site is re-crawled and indexed properly.
- Improved Performance – A redesigned site on modern infrastructure can significantly improve page speed and user experience, which search engines reward.
SEO Migration Checklist
Don’t let this happen to your website.
Plan. Even the most simple migrations go wrong without a plan.
Know when the migration will happen and check everything off the following list.
Crawl the current site with Screaming Frog. Set it up to save all the HTML and content. Include all analytics and Google Search Console data from the last 16 months.
Create a Website Copy
Be secure and keep a copy before you start. You can use this copy to compare the new site to the old later if needed. Ensure the copy is no indexed.
Set up staging as early as possible for the new website, within reason. Remember that no more changes can be made on the live site once the final copy is completed to staging.
List All External Code and Apps Used on Your Website
It is not fun if your analytics stop working or your external payment processor is disconnected. List everything that is used on your current site.
- Google Analytics
- Google Tag Manager
- Google Ads – be ready to change the URLs for all your landing pages
- Copy over the LinkedIn Insight Tag
- Facebook Pixel and any other social media trackers
- Google Search Console
- Company email addresses
- Email collection forms on the website
- Hubspot, ConvertKit, etc
- Check the website for code inserts
- Cloudflare integration
List all the current plugins if you are moving from one WordPress install to another. Then, install all of these plugins on the new website.
Site Migration Checklist Part 2: Map All URLs
Export all pages from the Screaming Frog crawl mentioned above and save them in a Google sheet. This will be my master doc for mapping all current URLs to new ones.
These data are essential as you will have the analytics traffic and Google Search Console data beside all the current URLs. This will ensure that all the important pages are recreated if content pruning is happening simultaneously with the site migration.
Create a 301 Redirect Map
This is where the most SEO damage is done. If a page is moving from one site to another, there MUST be a 301 on a page by page basis.
When content is moved from one URL to another without a 301 redirect, Google will not rank that new page as it sees it as duplicating the old URL.
Ensure all the current URLs are in column A on your Google Sheet or Excel doc. In column B, add the new URL.
In column C, use this to create the redirect file:
=CONCATENATE(“Redirect 301 “,A1,” “,B1) – (copy for all rows)
Copy the output from column C and add it to your htaccess file.
Note that the spaces must be exact; otherwise, you will crash the new site when you use these redirects.
Don’t redirect the admin login page. You might need to log into the CMS after the migration is done.
This is not the final redirect file.
Every website will already have a redirect file, either in a plugin or in the htaccess file.
Download the redirects into a sheet.
I like to keep the URLs in two columns. In the third column, add the URL that will now be the final URL after the migration. This would have been the old redirect:
Redirect 301 example.com/page-5/ https://example.com/page-55/
In column C, I would add newdomain.com/page-55/
And my new redirect will be:
Redirect 301 example.com/page-5/ https://newdomain.com/page-55/
I am unwinding redirects so that all redirects go A to B and not A to B to C or even more hops. This ensures that your new site stays as technically clean as possible, and it can help unlock growth if you have too many historic redirects.
I then combine these redirects with the ones in the previous sheet above.
WordPress Page IDs
I sometimes come across websites where the page_id= has been used in the menu or other structural parts of the website. If these exist, they need to be redirected.
The easiest way to find page ids is in the Screaming Frog crawl. Search for page_id, and you will have a list of all these URLs.
You need to do these before the current site is offline. Finding the correct equivalent URL that uses words is time-consuming but nearly impossible after the site has been redirected.
Again, use the same 301 redirect pattern:
Redirect 301 example.com/?page_id=5 https://newdomain.com/page-55/
No Indexed Pages
Refer to the Screaming Frog crawl and list all the pages that are not indexed. These will be login and thank you page type pages.
No indexed all these pages on the new site while it is on staging.
Refer back to the crawl and check for canonicals that are not self-canonical. If these are valid, copy over the exact instructions to the new site.
Multilingual Hreflang Tags
This could be a whole blog post on its own. If you are running a multilingual website, ensure all the rel-alternate hreflang tags are in place.
Check the current robots file and if there are disallows or other rules. If they are still valid, copy them to the robots.txt on the new site.
Redirect PDFs & Images
Keep the URL slugs the same if the same images and PDFs are used on the new site. This way, all files can be mass redirected rather than individually – saving considerable time.
Search & Replace in Database
Check all links and domain mentions for the new site are now the new domain by performing a search and replace in the database.
Starting the Website Migration
Don’t run a migration when your website is at its busiest. If your traffic is mostly 9 to 5, run the migration in the evening or the weekend – but make sure all resources are available with access to all passwords, including 2FA.
Assuming your new site is live on either staging or a new domain. Ensure the new domain or staging is not indexable.
Run a crawl using Screaming Frog on both sites and save the data. The crawl should include all the text from all pages.
Take a backup of the site that is being transferred.
Start the Migration
- Disable the cache on both sites until the migration is complete
- Enable the redirection. (Change A record first if required)
- Allow indexing of the new site
- Add new site to Google Search Console
- Add the new site sitemap to GSC
- Request domain change in GSC
- If possible, update backlinks to the new domain
- Enable cache after migration
Monitor the Website Migration
In Screaming Frog, check all the URLs from the old site to ensure there are no 404s and all pages are redirecting. Keep the old site registered with Google Search Console to see errors that Google flags.
Crawl the new site and ensure there are no links to staging or back to the old domain.
Track indexing of pages on the new site and ranking of keywords. Keep tracking the new and old for at least a month.
If you have changed the domain name/company name, ensure there are no mentions of the old – this often happens in title tags.
I am the founder and manager of BeFound SEO and the main consultant. I started offering SEO services back in 2007 when I had to explain SEO, as most people had no idea what it was and how much it could help their business online. I still love seeing the results from SEO.
When I’m not creating great strategy, I am usually out hiking up a mountain.
Connect with me on the links below.