Skip to main content

Migrating a website from one platform to another, or changing its architecture, can be one of the most disruptive stages in the SEO lifecycle of a business. It’s fraught with things that can go wrong, such as incorrect redirects, rogue robots.txt commands or carrying noindex tags over from the staging site! You can find plenty of resources online about preparing for a migration, however, it is equally important to carry out an analysis after the fact to understand what has dropped and why.

This blog details a step-by-step process that you can follow – if you have access to the right tools and data – to do a comprehensive post-migration analysis and find ways to diagnose and rectify any adverse performance. You can even do this retrospectively a few weeks or months after the migration but bear in mind that it will become harder to fix issues the longer you wait.

What you’ll need:

  • Crawling software e.g., Screaming Frog Spider
  • Pre- and post-migration ranking data
  • Spreadsheet software e.g., Microsoft Excel or Google Sheets

Step 1

Download this spreadsheet template, or if you want to create your own, build a table with the following columns:

  • Keyword
  • Search volume
  • Old position
  • New position
  • Position change
  • Old URL
  • New URL
  • URL unchanged
  • Old URL response
  • Redirect destination
  • Redirect destination = New URL

This is going to be our master worksheet where we’ll carry out all the analysis to help us identify ranking drops.

Step 2

Open your pre-migration ranking data. This can come from any source – you may have been tracking keywords in dedicated ranking software, or if you have access to historical third-party data from the likes of Semrush, Sistrix or Ahrefs then you can use that too.

Copy the list of keywords, search volume, old position, and old URL into the columns in your master sheet. If you are dealing with a large number of keywords, then you may want to remove any below a certain volume or position threshold, but that’s to be decided on a case-by-case basis. You should also remove duplicates, as these tools will often give you multiple values for the same keyword.

Step 3

Open up your post-migration ranking data. Populate the new position and new URL columns with this information. Use a formula to calculate the difference between the old position and the new position and put this value in the position change column.

Step 4

Now you will want to see if there’s been any change in the ranking URL. If the migration involved a URL restructure, then this will be the case, however, if not then it can be very handy to see whether Google has picked another URL on the site to rank against a certain keyword.

In the column “URL unchanged” – copy and paste the following formula:

=EXACT([@[Old URL]],[@[New URL]])

If you used the same headers as specified at the start of this guide, then this formula will return a series of TRUE and FALSE values. TRUE indicates where the ranking URL is unchanged (old URL and new URL match) and FALSE indicates where it has changed.

Step 5

Copy the list of old URLs and crawl them using your website crawling software (e.g., Screaming Frog Spider), making sure to configure the crawler to follow all redirect chains.

Step 6

Once the URLs are crawled, export the data, and populate two of the remaining columns with old URL response (status code) and redirect destination (if applicable). This value must be the final redirect destination if there is a chain.

Step 7

The final column which needs populating (“Redirect destination = New ranking URL”) is another EXACT formula:

=EXACT([@[Redirect destination]],[@[New URL]])

TRUE indicates where the redirect destination matches the new URL that Google is ranking for this keyword and FALSE indicates where it doesn’t.

You should now have all your columns filled with data that you’ve either added yourself or calculated using a formula. To avoid any corruption or formulas breaking, copy the whole table and paste it as values. That’s the bulk of the work done and it’s now down to you to play about with the data to diagnose any ranking drops as a result of the migration. However, here are a few things that I always look at:

  • Remove any keywords where the rank change is zero or greater. If the ranking has gone up or stayed the same, then it’s not something we want to worry about analysing.
  • Remove any keywords with a rank change from -5 to -1 where the old position was 20 or greater (i.e., 20+). There’s often quite a lot of fluctuation from this position downwards, and movement of 1 to 5 positions isn’t something to be worried about.
    • It’s worth noting that if you have keywords falling into this bracket then only remove the ones where the ranking URL is unchanged or has changed to the redirect destination. Any which have changed completely are worth keeping in for further analysis
  • Take a close look at keywords where the ranking URL has changed and/or does not match the redirect destination. These are situations where Google has decided to swap out the URL that it is ranking against a certain keyword and might not be honouring the redirect that you’ve implemented.
  • Filter down to any URLs returning a 404/410 status code and implement a redirect if the content is still on the website at another URL.
  • Filter the old position by 1 to 10 and then sort by search volume to find the most impactful drops relative to search volume

We hope you found this step-by-step post-migration process useful. If you’d like to discuss a website migration or your SEO performance with our team, please get in touch or head over to the c3 site for more information.