← Blog
SEO · September 26, 2026 · 10 min read

How to Do a Content Audit on an Affiliate Site Using Only Search Console

D
How to Do a Content Audit on an Affiliate Site Using Only Search Console

Most affiliate sites have a long tail of posts nobody has looked at since they were published. Some of them rank on page two and would earn with a small push. Some compete with a better post on the same site. Some should never have been written. A content audit sorts them, and you don't need a paid tool to run one.

This post is the audit I run with Search Console alone: what to export, the four groups every post falls into, how to spot pages that are fighting each other, and what to do with each group. It takes an afternoon for a site of a hundred posts.

The short answer

Export 12 months of page-level data from the Performance report, then sort every post into one of four groups: earning, close (impressions but few clicks), competing (two pages on one query), and dead (nothing). Refresh the close ones, merge the competing ones, and either redirect or leave the dead ones depending on whether they hold any links.

That's the whole method. The rest of this post is the detail, including the mistakes that make audits do more harm than good.

What Search Console gives you

The Performance report shows, for every page and every query, four numbers: clicks, impressions, click-through rate and average position. It keeps 16 months of history, it can compare two date ranges side by side, and it filters by page, query, country and device.

That's more than enough. The paid tools estimate what Search Console measures. For an audit of your own site, the measurement wins.

One habit before you start: set the date range to the last 12 months, not the default three. Affiliate traffic is seasonal, and a post that looks dead in February may be the one that pays for December.

Step 1: Export the page-level data

Open Performance, set 12 months, switch the table to Pages, make sure all four metrics are ticked, and export to a spreadsheet. The on-screen table is capped, so for a larger site the export is the only way to see everything.

Add a column for the target keyword of each post. You know it, because you chose it when you wrote the post. If you didn't, the top query for that page in the Queries tab, filtered to the page, is the honest answer.

Then add a second export: the same report with the date set to the previous 12 months, using compare mode. That gives you the direction each post is moving, which matters more than where it sits today.

Step 2: Sort every post into four groups

GroupWhat it looks likeWhat it means
EarningSteady clicks, position under 10 for its keywordLeave it alone, or update products only
CloseHundreds of impressions, few clicks, position 8 to 20Google shows it but not high enough to be clicked
CompetingTwo of your pages share the impressions for one queryThey hold each other down
DeadNear-zero impressions after six months liveGoogle isn't showing it for anything

Most sites split roughly 20 / 30 / 10 / 40. The 30 percent in the close group is where an audit pays, because those pages already have Google's attention and need the least work to earn.

Step 3: Find the competing pages

Cannibalisation is the one problem a spreadsheet won't show you on its own. To find it, go back to the Performance report, open the Queries tab, and click a query that matters to you. Now switch to the Pages tab with that query filter still on.

If one page shows, fine. If two pages share the impressions, with positions a few places apart, they are competing. Google is picking one, then the other, and neither settles. The usual causes on affiliate sites are a "best X" guide and an "X review" post targeting the same phrase, or two guides written a year apart for the same keyword with slightly different titles.

Do this for your top thirty queries by impressions. It takes twenty minutes and it finds the pages that are costing the most.

Step 4: Decide what to do with each group

Close: refresh

These posts need a reason for Google to move them up, and the cheapest reason is a better page. Check the products still exist and are still the right picks, rewrite the intro to answer the query in the first two sentences, add the section the ranking pages have and yours doesn't, and fix the title if it doesn't match how the query is phrased.

Keep the URL. A refresh keeps whatever the page has earned; a new URL starts from nothing.

Competing: merge

Pick the stronger page, usually the one with more clicks and more links pointing at it. Move anything useful from the weaker page into it, then redirect the weaker URL to the stronger one with a 301. Within a few weeks the impressions consolidate, and the surviving page usually lands higher than either did alone.

If both pages deserve to exist, they need different keywords. Retarget one at a related query, change its title and first section to match, and the overlap stops.

Dead: prune or leave

A post with no impressions after six months isn't being shown for anything, but deleting it isn't automatically right. Check three things: does any earning page link to it, does it have links from other sites, and is it the only page you have on its topic. If any of those is yes, refresh it instead.

If none is yes, redirect it to the closest relevant page, or to the category page if there's nothing close. Don't redirect everything to the homepage; that's treated as a soft 404.

Earning: don't touch the words

The temptation is to "improve" the pages that already work. Resist it. The only routine change an earning affiliate page needs is a product check, because a top pick that's out of stock earns nothing. Leave the structure and the writing alone.

The mistakes that make audits backfire

What the audit tells you to write next

The by-product of the audit is a map of what your site ranks for, and the gaps show up as clearly as the problems. Queries where you rank on page two with a thin post are your next refreshes. Queries that appear in the report with no page targeting them are your next posts.

Two AffSERP tools pick up here. Keyword Grouping takes your exported query list and clusters it by intent, which makes the competing pages and the missing pages obvious in one view.

The article tools then write the refreshes and the new posts, and the Refresh option regenerates an older guide with current products without changing its URL, which is exactly what the close group needs. The intent post covers how to decide which gaps to fill first.

FAQ

How often should I audit an affiliate site?

Twice a year is enough for most sites, and once a quarter once you pass a couple of hundred posts. The Performance report keeps 16 months of data, so a six-month window against the previous six months is always available.

Should I delete posts that get no traffic?

Not by default. First check whether the post has impressions (it ranks somewhere, just too low), whether it links to or from pages that do earn, and whether it's the only page on the topic. Delete when none of those apply; otherwise merge it into a stronger page or refresh it.

What is keyword cannibalisation and how do I spot it in Search Console?

Two of your pages ranking for the same query, taking turns and holding each other down. Filter the Performance report to one query, open the Pages tab, and if two URLs share the impressions with similar positions, they are competing. Merge them or repoint one at a different keyword.

Can I do this without Search Console?

Not well. Analytics tells you what visitors did after arriving; only Search Console shows the queries and positions that decide whether they arrive. It's free and takes a day to start collecting data, so verify the site first and run the audit once it has a few months of history.

Turn the audit into refreshed and new posts

AffSERP clusters your Search Console queries, writes the missing posts, and refreshes old guides in place with current products.

Start with free words
D
Written by Daniel R. SEO Lead, AffSERP

Daniel leads SEO at AffSERP. He writes about keyword research, search intent and site structure, favouring methods you can run with Google and Search Console before reaching for a paid tool.

More about Daniel →