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.
- Use a consistent URL format in both exports — strip trailing slashes or enforce them before merging.
- Include the full URL, not just the path — useful when you have multiple subdomains or redirect chains to catch later.
- If your site is large (over 500 pages), filter to content pages only and exclude tag archives, paginated pages, and author pages.
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.
- When in doubt between rewrite and remove: check whether the URL has any backlinks. If it has 3 or more referring domains, redirect rather than delete.
- Thin content does not just underperform — it dilutes topical authority signals across the domain.
- Orphaned pages (no internal links pointing to them) often perform badly because crawl budget and authority never flow through to them.
“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:
- The post was written for a specific year and was never updated.
- A competitor published a more comprehensive or more recently updated version.
- The search intent for that query shifted — users now want a tool or template rather than a how-to article.
- Internal links to the page were removed during a site redesign.
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.
- Document every redirect in a running log — this prevents future auditors from wondering why a URL suddenly stopped working.
- After implementing Level 3 and Level 4 changes, submit the affected URLs to Search Console for re-indexing via the URL Inspection tool.
- Allow 6–8 weeks before evaluating the impact — Google processes structural content changes slowly.
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.
- Use anchor text that matches or paraphrases the target page’s primary keyword — avoid generic anchors like “click here” or “read more.”
- Deep links pointing to a specific section via anchor are more useful for long-form guides than top-level links.
- Check the internal linking profile of any page you are considering removing — if other pages link to it, update those links before the redirect goes live.
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.
- Integrate the audit rhythm into your existing quarterly review process so it does not feel like a separate project.
- Share the results with whoever writes content — knowing which pages underperformed and why changes the way people brief future pieces.
- Track domain-level organic sessions in GA4 month-over-month as your north-star metric — individual page improvements should show up here within two to three months of implementation.
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.