Website migrations require due diligence and can lead to hours (if not days or weeks, sometimes even months) of headaches and lost traffic and revenue if not done correctly and with adequate planning. Having been involved with countless site migrations, I’ve learned far more from the problematic migrations than the smooth, successful website transfers. I’ve compiled a checklist of things to do when migrating your website. While this is written assuming you’ll be changing domain names, this also applies if you are migrating from http to https for the same domain name.
Inform your visitors ahead of time.
Add a notice to current site informing your visitors that the site will be ported over to a new domain. This will help you reduce the number of visitors who mistakenly think they visited the wrong website.
XML Sitemap on OldDomain.com
Make sure you have a sitemap for your current site. Once the current site’s URLs are 301 redirecting to their counterparts, (re)submit this sitemap in Google Search Console so they immediately crawl and, therefore index the new domain URLs. Don’t 301 redirect your old domain XML sitemap to its new counterpart until after you’ve done this.
List of URLs
Also, create a list of current URLs in a spreadsheet. You can do this by crawling the site through any number of crawlers, though I prefer Tech SEO 360 (not an affiliate link). But any number of crawlers will do.
As a bonus, I would also get a list of all of your site’s URLs that Google has indexed (ideally, that should be all of them, but the larger your site and the lower your authority/trust signals, the lower the percentage of your site’s URL’s will be indexed). Doing so will give you a sense of which URLs should be a priority regarding 301 redirects. You can do this using the site: operator, but the larger your site, the more time consuming. This is where it will pay to have Scrapebox (again, not an affiliate link) or something similar.
Notify your Hosting company.
Notify your hosting that you’ll be porting everything over to a new domain name and ask them to ensure everything will be rolled over smoothly. This is especially important if your settings have been highly customized. One example: sometimes a redirect has been implemented through the DNS and will override 301 redirects you implement later. This can result in hours of frustration (not to mention lost traffic, revenue and/or leads) if not caught in advance or at least, early.
Email addresses…don’t forget about those!
Make sure your new domain will have email addresses and that the old email addresses will be forwarded to the new (ie. info@olddomain.com forwards to info@newdomain.com). Make sure you test this by emailing the @olddomain.com email addresses to ensure the email addresses are forwarding correctly.
Check your Rankings
Get a list of current rankings. This will be used to compare rankings on the new site in the future. You can get this from Google Search Console or other tools like aHrefs.
Back up website
Ensure you have a backup of your current site before making any changes. This way if things go south, you can revert while you figure out what went wrong, and you won’t be stuck without a website for hours or even days while you troubleshoot.
301 Redirects
301 redirect OldDomainName.com to NewDomainName.com. Make sure all old pages are redirected, not just your homepage (this is where that spreadsheet of all your OldDomain.com URLs begins to come in handy). Ideally, old pages should redirect to their new counterparts. If a page is being discontinued, then redirect to the closest thing on the new site or the homepage if none exists.
Google Search Console account
Create an account for all versions of your new domain (http://www.domain.com and http://domain.com as well as https://www.domain.com and https://domain.com if applicable). After implementing site launch and 301 redirects from old site, watch for 404’s and other crawl errors and fix them immediately.
Once 301 redirects are in place, add a “change of address” in the old domain’s Google Search Console account.
Google Analytics account
Just change the domain name properties within the existing account if your business model will remain the same (and add an annotation logging when the switch occurred). Otherwise, I would suggest creating a new, separate account for the new domain name. After launching and implementing 301 redirects from the old site, watch for 4XX errors and fix them immediately (they will not necessarily be the same URLs as reported in GSC, given the different methodologies of the two tools). Continue to watch search engine traffic and ensure traffic is porting over smoothly.
XML Sitemap on NewDomain.com
Create and submit an XML sitemap for your new website, and submit it to your new Google Search Console account to help ensure your new URLs are indexed.
URL Indexer
While uploading to Google Search Console should be enough to get most of your new URLs indexed, it doesn’t hurt to give it a boost. This is where URL indexers (not to be confused with URL pingers, which aren’t nearly as effective) come in handy. It certainly doesn’t hurt to submit your URLs to your indexer, especially if you already have access to a good one.
Website audits
Check the usual: site speed, run crawl reports, check for mobility issues, schema/microdata and other site health indicators to ensure the new site is running smoothly. If you have access to an up-time monitor, this is one of the best times to use it.
List of URLs
Check that spreadsheet URL list you created for OldDomain.com and ensure they are all 301 redirecting to the new site. You can do this manually or use any number of tools that will report HTTP headers en masse.
Notify your visitors again.
Add a notice on NewDomain.com that OldDomain.com is now NewDomain.com so people know they didn’t visit the wrong site. This will help suppress bounces.
Check your new site’s Rankings.
Watch new site rankings and compare them against your OldDomain.com ranking report your ran earlier in the process. Rankings will almost certainly dip at first but should mostly recover within a month or so.