Templates / Content audit
Content audit template. Five buckets, from quick win to prune.
A free content audit template that puts every page with Search Console data into one of five buckets, each with a plain rule and a next step. The sheet sorts the pages for you as you paste the numbers. With a filled example and a guide. No email, no sign-up.
Free to copy, edit and run every month.
Free download. Get the content audit template as a file.
Both files hold the same five buckets, the rules and the columns. No gate: click and it downloads.
Sheet with formulas (.csv)
Paste your Search Console numbers and the bucket and next step fill in by themselves. In Google Sheets choose File, Import, Upload. In Excel, open the file or use Data, From Text/CSV.
Markdown document (.md)
For an audit you write up and share: the rules, a summary per bucket, the page table and a notes section for each bucket. Opens in any editor.
The template. The five buckets of a content audit.
Each bucket has one rule you can check in Search Console and one next step. They are the same buckets SerpDad's Improve hub uses.
| Bucket | Rule | Next step | What it usually means |
|---|---|---|---|
| Quick win | Average position 4 to 10, with impressions rising | Optimize | Google already shows the page on page one. Small changes have the shortest road to more clicks. |
| Striking distance | Average position 11 to 20 | Optimize | Page two. The page is relevant, and the pages above it cover something it does not. |
| Rework | At least 100 impressions, with fewer than 0.5% clicked | Optimize | People see it and pass. The title and snippet often miss what the searcher wants. |
| Decay | Clicks down more than 25%, from at least 100 before | Refresh | Something changed. Look at the top 10 before you touch the page. |
| Prune | No clicks in 90 days | Merge | The page earns nothing alone. Its useful parts usually belong in another page. |
A filled example. Six pages, sorted.
A fictional software blog. The URLs and numbers are illustrative, chosen so each bucket appears once.
| Page | Clicks | Impressions | Avg position | Bucket | Why |
|---|---|---|---|---|---|
| /blog/onboarding-checklist/ | 410 (395) | 18,200 (15,100) | 6.8 | Quick win | Position 4 to 10 and impressions rising |
| /blog/churn-rate-formula/ | 120 (130) | 9,400 (9,100) | 14.2 | Striking distance | Position 11 to 20 |
| /blog/customer-health-score/ | 22 (25) | 6,800 (7,100) | 8.9 | Rework | 0.32% of impressions clicked |
| /blog/nps-survey-questions/ | 140 (260) | 11,300 (12,000) | 9.6 | Decay | Clicks down 46% from 260 |
| /blog/2019-product-update/ | 0 (0) | 40 (55) | 38.0 | Prune | No clicks in 90 days |
| /pricing-faq/ | 95 (98) | 2,100 (2,050) | 3.1 | Monitor or keep | Steady, no rule met |
The guide. Run the audit in an afternoon.
Export from Search Console
Open Performance, then Pages. Export clicks, impressions and average position for the last 28 days and for the 28 days before. Export clicks for the last 90 days too.
Paste the numbers
One row per URL in columns A to G of the sheet. The click change, CTR, bucket and next step fill in by themselves.
Sort by bucket
Read each bucket top to bottom. Move a page by hand if you know something the numbers do not, and write why in the notes.
Give every row an owner and a date
A bucket without a name next to it is a list, not a plan.
Work from quick win to prune
Quick wins are the closest to paying off. Prune decisions can wait a week while you check links and redirects.
Bucket by bucket. What to do with each one.
Quick win and striking distance
Find the keywords the page shows for at those positions. Compare the page with the ones above it: a missing section, an answer buried low, an old date. Change the one thing most likely to matter, then wait for the next audit.
Rework
Read the title and snippet as a searcher would, next to the top 10. If the page answers a different question than the one people search, fix the page, not just the title.
Decay
Compare the top 10 from before the drop with today's. A new AI Overview, a format change, a new competitor or an intent shift each call for a different refresh. Check last year's same weeks first: some dips are seasonal.
Prune
Find the page that owns the topic. Move anything useful across, then redirect the old URL to it. Delete only pages with nothing worth keeping and no links pointing to them.
The honest line. A bucket says what happened, not why.
Every rule in this template reads Search Console numbers. None of them knows why a number moved. Clicks fall in a holiday week, rise when a competitor drops a page, and swing when Google changes the results page.
So treat the bucket as the first question, not the answer. Before you rewrite a decaying page, look at what changed in its top 10. Before you merge a pruned page, check who links to it. The audit tells you where to look. You still have to look.
| Instead of | Write |
|---|---|
| This page is dying. | Clicks fell from 260 to 140 in 28 days. The top 10 now shows an AI Overview. |
| These pages are useless. | 14 pages had no clicks in 90 days. 9 can merge into existing pages. |
| Easy wins here. | 6 pages sit at positions 4 to 10 with impressions rising. |
Or skip the export. Let SerpDad sort the pages every month.
SerpDad's Improve hub runs this content audit from your own Search Console data, with the same five buckets plus monitor and keep. Each page shows the Search Console rows that placed it, so you can check the rule yourself. With 12 months of data, a dip that matches the same weeks last year goes to monitor, not decay.
For a decaying page, SerpDad shows the stored top 10 from before the drop next to a fresh one, and names what changed. A refresh rebuilds the brief from the new results and drafts only the changed sections. SerpDad suggests next steps. It never promises a ranking change.
See how Improve works or read the Improve docs.
Questions and answers.
Can't find the answer? Email us.
What is a content audit template?
A sheet with one row per page, its Search Console numbers, and a rule that sorts it into a bucket with a next step. This one uses five buckets: quick win, striking distance, rework, decay and prune. Pages that fit none are left to monitor or keep.
What data do I need to fill it in?
Google Search Console, with at least 90 days of data. You need clicks and impressions for the last 28 days and the 28 days before, the average position, and clicks for the last 90 days, per page.
How often should I run a content audit?
Once a month is enough for most sites. The 28-day comparison smooths daily noise, and a monthly pass gives refreshed pages time to show a result before you judge them again.
Should I delete the pages in the prune bucket?
Not straight away. A page with no clicks in 90 days usually belongs inside another page. Merge what is useful into the page that owns the topic and redirect the old URL. Delete only pages with nothing worth keeping and no links pointing to them.
Does a page in the decay bucket mean our content got worse?
Not necessarily. The bucket says clicks fell, not why. Seasonal demand, a new AI Overview or a competitor can all cause it. Compare the top 10 from before the drop with today's before you rewrite anything.
Can SerpDad run this audit for me?
Yes. SerpDad's Improve hub runs the content audit from your Search Console data with the same buckets, and shows the rows that placed each page. For a decaying page it shows the old top 10 next to a fresh one. It suggests next steps and never promises a ranking change.
Sort the pages by hand,
or let Improve sort them for you.
Your first plan is free up to 1,000 keywords, with briefs for the top 5 pages. No card needed.