Blog · Craft
— Craft··10 min read

The Content Audit Playbook: How to Find and Fix Underperforming Pages

Joona Heinonen· Choco Media · Rovaniemi

A content audit is one of those tasks that sounds time-consuming until you realise that a handful of underperforming pages are probably dragging down the entire domain. At Choco Media, we run a content audit before almost any content audit SEO engagement — not because we like spreadsheets, but because it tells us exactly where to invest the next hour of work. This guide walks through our full process: the data pulls, the triage logic, and the fix hierarchy we apply from quick refresh to full rewrite.

If your site has been live for more than a year and you have not audited your content, there is a good chance 20–30% of your pages are either invisible in search, cannibalising each other, or sending crawl budget to dead ends. The good news: most of that is fixable, and much of it is fast.

This playbook is built for teams with access to Google Analytics 4 and Google Search Console — both free tools — and takes roughly half a day the first time through. After that, a quarterly audit takes two to three hours.

Step 1: Pull Your Data From GA4 and Search Console

The audit starts with two exports. In Google Analytics 4, go to Reports → Engagement → Pages and screens, set your date range to the last 12 months, and export the full list with sessions, engaged sessions, and average engagement time per page. Filter to organic traffic only using the traffic source dimension if your site has meaningful paid traffic that would skew the numbers.

In Google Search Console, go to Performance → Search results, set the same 12-month range, and click “Pages” to get impressions, clicks, average CTR, and average position for every indexed URL. Export both files. You will join them on URL.

Once merged, you have a working spreadsheet with every content page, its organic traffic, its search visibility, its CTR, and its engagement quality. This is your audit canvas.

Step 2: Identify the Four Page Buckets

Every page on a site fits into one of four buckets. The audit is really the process of sorting pages into these buckets so you can apply the right fix to each.

Bucket 1 — Performers (protect and build on)

These pages rank in positions 1–10, have a healthy CTR for their position (above 3% for branded terms, above 1.5% for non-branded), and generate real engagement. Your job with these pages is to keep them current, add internal links pointing to them, and consider whether they are the right place to direct new conversion traffic.

Bucket 2 — Decay candidates (quick refresh)

Pages that used to get traffic but have been declining over 6–12 months. In GA4, you will see the session trend line dropping. In Search Console, average position will have drifted from 5–8 toward 15–20. These pages had the right idea but need factual updates, new examples, a restructured introduction, and possibly a title change.

Bucket 3 — Low-CTR impressions (title and meta fix)

Pages with solid impression volume in Search Console but CTR below 1%. The page is ranking — Google finds it relevant — but users are choosing other results. The fix is almost always the title tag and meta description. Rewrite both with a tighter value proposition, a specific number or outcome, and a clear match to the query intent you see in the Queries tab for that URL.

Bucket 4 — Thin or orphaned (full rewrite or consolidate)

Pages with fewer than 200 impressions per month after 12 months, very low engagement time (under 30 seconds), and no clear query they are winning. These are usually old posts that were too short, duplicated a topic covered better elsewhere, or simply never targeted a real search need. For these, you have three options: rewrite them from scratch around a legitimate keyword, consolidate them into a stronger existing page via 301 redirect, or remove them and redirect to a category page.

“In client work, we have found that about 40% of a typical blog consists of Bucket 4 content — pages that exist but are not earning anything. Removing or consolidating them almost always lifts the domain’s overall visibility within 6–8 weeks.”

Step 3: Run the GA4 Decay Check

For Bucket 2 identification, the most reliable signal is a side-by-side comparison: current 6 months versus the prior 6 months. In GA4, use the comparison feature in the date picker. Sort by the largest absolute drop in organic sessions. Any page that has lost more than 30% of its organic traffic year-over-year and is not a seasonal topic is a decay candidate.

Common causes of decay include:

Once you have identified decay candidates, check them against our SEO service process — the refresh work often overlaps directly with on-page optimisation tasks we run for clients.

Step 4: Apply the Fix Hierarchy

The fix hierarchy is a decision tree for what to actually do with each page once bucketed. The goal is to prioritise by effort-to-impact ratio rather than jumping straight to full rewrites.

Level 1 — Metadata fix (30 minutes per page)

For Bucket 3 pages: rewrite title tag and meta description. No content changes yet. Measure CTR improvement over 4–6 weeks before deciding whether the content itself needs work. Many pages recover fully with just a metadata fix.

Level 2 — Structural refresh (2–4 hours per page)

For Bucket 2 decay candidates: update statistics and examples, rewrite the introduction, add two or three new sections that address related queries the original did not cover, improve internal linking, and update the published date if the content genuinely changed. Leave the URL intact — you do not want to lose whatever link equity exists.

Level 3 — Full rewrite (half day per page)

For Bucket 4 pages you have decided to keep: treat them as a new post. Start with fresh keyword research, write to a minimum of 1,200 words of genuine value, use proper heading structure, and add at least two internal links to and from adjacent content. Consider whether the old URL is still the right slug — if the topic has drifted significantly, a redirect to a new URL may be cleaner.

Level 4 — Consolidation and redirect (1 hour per cluster)

When two or more pages cover the same topic with too much overlap, pick the stronger one by impressions and backlinks, improve it to absorb the value from the weaker pages, and 301-redirect all weaker URLs to the chosen canonical. Update all internal links site-wide to point to the new canonical rather than the redirected URLs.

Step 5: Check for Keyword Cannibalisation

Cannibalisation happens when two or more pages on your site compete for the same primary keyword. Google effectively has to choose one to show, and it often picks the wrong one — or alternates between them, creating volatile rankings for both.

To find cannibalisation, export your Search Console Queries data filtered by a shared root term. If the same query shows up sending impressions to multiple different URLs in the same week, you have a cannibalisation issue. The fix is usually the same as Level 4 consolidation: pick a winner, strengthen it, and redirect or reoptimise the others around adjacent variations of the same topic.

For sites with more than 100 pages, tools like Ahrefs Site Audit or Screaming Frog can detect cannibalisation clusters automatically. For smaller sites, the manual Search Console export method is fast enough and free.

Step 6: Audit Internal Links

Internal linking is the part of a content audit most teams skip, and it is often where the fastest wins are hidden. A page with no internal links pointing to it is effectively invisible to both crawlers and readers — it can rank on its own merit but will not benefit from any of the site’s accumulated authority.

For each Performer page (Bucket 1), check how many internal links are pointing to it. If fewer than three, add contextual links from related posts. For every new or refreshed piece you publish going forward, identify three existing pages that should link to it and add the links immediately on publication. This is a low-effort habit that compounds significantly over time — and it is a core part of how we structure content work in our AI content creation service.

Step 7: Build a Recurring Audit Rhythm

The first audit is the heaviest. After that, a quarterly audit is manageable in two to three hours because you are only reviewing pages published or modified in the last three months, plus any performers that show an unexpected drop in their trend line.

We keep a running content inventory in a shared spreadsheet with columns for: URL, primary keyword, published date, last audit date, bucket assignment, and next action. Every new piece gets added to the inventory on publication. Every quarter, we filter by last audit date older than 90 days and work through the list. It is not glamorous, but it is the difference between a blog that grows in authority over time and one that accumulates dead weight.

The output of a quarterly audit is a prioritised fix list, not a commitment to fix everything immediately. Rank by expected impact — usually estimated by current impressions — and work through the list in order. A structural refresh of a page already generating 500 monthly impressions will always outperform a fresh post targeting a keyword with no existing visibility.

When to Bring In Outside Help

The audit framework above works for most content sites managed by a small team. There are situations where it makes sense to have an outside pair of eyes run the process — typically when the site has more than 300 pages, when organic traffic has been declining for more than two consecutive quarters despite regular publishing, or when a domain migration or CMS move has scrambled the redirect architecture.

In those situations, the value of external input is not the data pull — that is mechanical — it is the prioritisation judgment that comes from having run the same process across different site types and industries. We cover this as part of our conversion rate optimisation work, since content quality and conversion performance are tightly linked: a page that does not get found does not convert, and a page that arrives with high expectations set by the title needs to deliver on them immediately.

If you want to talk through where your site stands, get in touch — we are happy to run through the first part of this audit live and tell you where the biggest opportunities are.

— Work with Choco Media

Want posts like this working for your business?

10–40 SEO + AI-optimised blog posts a month, researched, senior-edited and published straight to your site. Built to rank on Google and get cited by ChatGPT, Claude and Gemini.

See plans — from €199/mo →
No start-up fee · Price locked for 12 months · Cancel any time after
← All storiesNext story →
— Free tips, monthly

Get the playbook, for free.

One short letter a month — the prompts we use, the campaigns that worked, the AI tools worth the time. No sales pitch, just field notes.

— Want us to do it for you?

Hire the agency.

AI-accelerated content, paid media, brand and web — delivered by one small team that talks to itself. Currently taking on a handful of clients each quarter.

Book a call