How to conduct a content migration audit
Here's how to determine exactly what content needs to be migrated and what can be safely retired with little to no impact.
Raise your hand if your company has gone through a site migration or will be soon. Most of us have been through this process more times then we care to admit. During a site migration it’s not uncommon to splurge on a fancy design and CMS. But then corners are cut anywhere else possible to save a few bucks. To save money, leadership might decide not to migrate all the site content. Unfortunately, leadership doesn’t understand the performance impact this decision might make. The good news is that leadership has you on their team and I’ll be walking you through a detailed process for determining exactly what content needs to be migrated and what can be safely retired with little to no impact.
Content analysis requirements
This analysis does not require a dozen subscriptions to costly toolsets. The following tools are required to accomplish this analysis.
- Analytics – I use Google analytics but data from Adobe or any other analytics platform that allows page level details will suffice.
- AHREFs – I use the standard subscription, but your needs might be dependent on the size of your site (details below).
- Microsoft Excel – specifically pivot tables and the VLOOKUP function.
Determining when to migrate vs. retire content
Not all content is worth keeping on your website. Many are seeing performance increases with content pruning. The goal of this analysis is to understand exactly what content should be migrated “as-is,” migrated with updates or retired indefinitely. Below are a few KPIs to review the fate of each piece of content.
- Traffic – Total traffic is broken out by channel.
- Keywords – How many keywords does a page have visibility for?
- Page 1 keywords – How many keywords are likely driving organic traffic?
- Inbound links – How many links has this content acquired?
- Conversions – How much money, leads or actions has this content generated (by channel)?
Please note that it’s important to pull both traffic and conversions by channel. While many consider a content migration as a strong SEO play (it is), removing content that performs well in other channels is just as crucial to examine.
Export channel level sessions by landing page
I recommend pulling a full years’ worth of data by channel to account for any seasonality within your niche. I used the client’s fiscal year, but you can easily use a calendar year.
You want to create a master spreadsheet with a list of all your site’s URLs in column A. (This can be done easily with an export of your CMS or a ScreamingFrog crawl/export). We’ll rely on the VLOOKUP function to pull individual channel sessions into this list. The VLOOKUP function I used for pulling organic sessions into my master list looked like the following:
- “A3” is the first URL in our master spreadsheet in which you want to match to our organic session export.
- “organic-session-export” is the name of the file exported from Google Analytics.
- “A1:B247” is the subset of data you want to look at for the “A3” value within the “organic-session-report.”
- “2” represents the column number in which you want to look up (and pull) into the master spreadsheet. In this instance, column 2 is our sessions value.
- “false” indicates that you only want to pull this data into the master spreadsheet if the “A3” value matches the value in the “organic-session-export” EXACTLY.
Complete the VLOOKUP function for all channel sessions. My master spreadsheet looks like this at this step:
Leveraging AHREFs for keyword visibility
The next step is pulling keyword visibility by URL. It’s important that you use a tool like AHREFs or SEMRush as we want visibility into as much keyword data as we can get and not be limited to just the keywords you actively track on your own.
As you see from the example above, this is a small (but authoritative) site with only 13,000 keywords and all the keyword data falls within the 30,000-row export limit the standard AHREFs license allows us. If you have significantly more data you will likely want to filter your keyword data by position, volume or even word count. You can also work directly with AHREFs/SEMRush to access more of your site’s data if you’re dealing with a much larger site.
Once your data is exported, you’ll be left with a big spreadsheet full of data, but we still need to distill it to a raw count of keywords per URL. We will be using PivotTables within Excel to accomplish this task.
Once your PivotTable has been created, you’ll need to choose the fields in which you want the data displayed. Add “URL” to the Rows field and “Keyword” to the values field. Make sure your keyword value is displaying “Count of Keywords.”
With this export/PivotTable you can now complete another VLOOKUP function to layer in your keyword data to your master document. It should look something like this now.
You can now use this same process but with keywords in which you have first-page visibility (filter in AHREFS or your raw export). Use the VLOOKUP function on that report and your master document now has total keyword visibility as well as traffic driving first-page keyword visibility by URL.
Leveraging AHREFs for link visibility
The process for getting inbound link counts tied to URL is the same as keyword visibility but leveraging AHREFs backlinks report. Do note that AHREFs does have a limitation to the number of backlinks you can export with your subscription. With the standard subscription, you can export one million rows.
After using the PivotTable and VLOOKUP function we’ve discussed, your master spreadsheet should now include backlink data.
Incorporate revenue, lead and conversion data
It’s time to incorporate the most important KPI to this master document. Revenue and or conversion data. For this example, I leveraged lead counts (form fills) as the primary goal. While I was able to export goal values in Google Analytics, you will need to identify the best source for your site’s revenue/conversion data. After layering in conversion and or revenue numbers, your master spreadsheet will look something like this.
Assign migrate/migrate + update/retire to each URL and quantify impact
Finally, after all the steps above you have a spreadsheet with all your sites content, its sessions, keyword visibility, inbound link count and conversion values. It’s finally time to review the data and establish thresholds for what’s worth keeping, updating or simply removing. Each project will have different thresholds, but a few rules I considered in this analysis were:
- KPIs prioritized in the following order, conversions, inbound links, organic sessions, paid sessions, etc.
- Pages with total conversions > X are automatically qualified for migration.
- Pages with < X total sessions (and no links/conversions) qualify for retirement.
- Pages with > X total sessions (and no links/conversions) qualify for migration + future update.
- Pages with < X total sessions but contain first-page visibility of Y keywords qualify for migration.
Quantify your findings into a simple headline
This content migration analysis will contain a lot of data. Leadership doesn’t want to look at your page by page analysis. They want (and need) to see your recommendation in addition to any performance impact they should be aware of. Don’t overthink this. Create a tab at the very beginning of the document often serves this purpose.
In our original scenario, we discussed how leadership often wants to cut corners to save money in migration costs. However, after reviewing your analysis, they realize that the performance and financial hit would far too detrimental to the business than investing in resources to migrate the value-adding content.
Opinions expressed in this article are those of the guest author and not necessarily Search Engine Land. Staff authors are listed here.