Back to Blog
Blog

How to Do a Content Audit in 2 Hours (Step-by-Step)

·

How to Do a Content Audit in 2 Hours (Step-by-Step)

A content audit is a systematic review of every published piece on your site — scored against traffic, rankings, relevance, and quality — so you can decide what to refresh, consolidate, or remove. Done right, it takes about two hours and leaves you with a prioritized action list that can lift organic traffic in 30–60 days. You don't need an enterprise SEO tool. You need a spreadsheet, Google Search Console, and this template.

Here's exactly how to do it.


What You're Actually Looking For

Before you open a spreadsheet, get clear on the three outcomes a content audit produces:

  • Refresh — the post has traffic potential but is outdated, thin, or misaligned with search intent
  • Keep — it's performing well and doesn't need intervention right now
  • Cut or consolidate — it's getting no traffic, cannibalizing another post, or covering a topic you no longer care about

Every post lands in one of those buckets. The audit is just the scoring system that puts it there.


Step 1: Build Your Content Inventory (20 Minutes)

Start by pulling a full list of your published URLs. You have a few options:

Option A — Google Search Console: Go to Search Console → Performance → Pages. Export to CSV. This gives you every indexed URL with impressions, clicks, and average position. It's the most useful starting point because it's already sorted by traffic signal.

Option B — Screaming Frog (free up to 500 URLs): Crawl your site and export all blog URLs. Useful if you have a large archive or GSC access is limited.

Option C — CMS export: Most platforms (WordPress, Webflow, Ghost) let you export a post list. Less SEO data, but fast.

Paste everything into a spreadsheet with these columns:

URL Title Publish Date GSC Clicks (Last 90 Days) GSC Impressions Avg. Position Action
/blog/example Post Title 2023-06-01 142 3,800 14.2 TBD

If you have more than 100 posts, filter down to posts published more than 12 months ago. New content hasn't had time to decay yet — it doesn't belong in a decay-focused audit.


Step 2: Score Each Post Against Four Signals (30 Minutes)

For each post, you're looking at four things. You don't need exact numbers — a simple High / Medium / Low rating per signal works fine at this stage.

Signal 1: Traffic trend Is this post getting more or fewer clicks than it did 6–12 months ago? In GSC, compare date ranges. A post with 50% fewer clicks year-over-year is a refresh candidate, even if it still gets decent absolute traffic.

Signal 2: Ranking position Posts ranking positions 5–20 are your highest-leverage refresh targets. They're close enough to the top that a meaningful update can push them into positions 1–4 where click-through rates jump dramatically. Posts ranking below 30 need more work — that's usually a rewrite or consolidation situation, not a refresh.

Signal 3: Content freshness Open the post. Does it cite statistics older than 2 years? Reference tools or features that have changed? Include screenshots of outdated interfaces? If yes, mark it stale. Stale content is one of the most common reasons posts quietly lose rankings over time — and it's entirely fixable.

Signal 4: Search intent match Google the target keyword right now. Look at the top 3 results. Does your post match that format and angle? If the SERP has shifted to video tutorials and you wrote a long-form guide two years ago, your content may be misaligned with current intent — regardless of its quality.


Step 3: Categorize Every Post Into Three Buckets (20 Minutes)

Using your scores, assign each post an action:

Refresh — Posts that rank positions 5–20, have declining traffic, are more than 18 months old, or show stale stats/intent drift. These are your highest-ROI targets. Content refreshes consistently outperform new content creation when measured for effort-to-traffic return.

Keep — Posts ranking positions 1–4 with stable or growing traffic. Don't touch these unless a specific issue surfaces. The risk of disrupting a well-ranked post outweighs any marginal gain.

Cut or consolidate — Posts with under 100 impressions in 90 days, no backlinks, and no strategic reason to exist. Thin or duplicative content can create crawl budget waste and drag down overall domain quality signals. Decide: merge into a stronger post, redirect, or delete.


The Content Audit Template

Here's the full spreadsheet template to copy:

Column What to Track
URL Full post URL
Title Current H1
Publish Date Original publish date
Last Updated Most recent revision date
GSC Clicks (90d) From Google Search Console
GSC Impressions (90d) From Google Search Console
Avg. Position Current average ranking
YoY Traffic Change % change vs. same 90-day period last year
Content Age (months) Months since last meaningful update
Intent Match High / Medium / Low
Freshness Score High / Medium / Low
Action Refresh / Keep / Cut / Consolidate
Priority 1 (highest) to 3 (lowest)
Notes Specific issues or opportunities

Fill in one row per post. For most blogs with 30–80 posts, this takes about 20–30 minutes once your GSC data is exported.


Step 4: Prioritize Your Refresh List (15 Minutes)

Not all refresh candidates are equal. Score your refresh list on two axes:

Effort: How much work does this post actually need? A stats update and new intro is low effort. A full structural rewrite is high effort.

Upside: Posts ranking positions 8–15 with 1,000+ impressions per month have the highest upside. Moving from position 12 to position 4 on a high-impression keyword can double or triple clicks with a single update.

Prioritize high-upside / low-effort posts first. These are your quick wins — posts where you're updating a few data points, tightening the intro, and adding a missing FAQ section. They typically move within 3–6 weeks of republishing.


Step 5: Build a 30-Day Action Plan (15 Minutes)

Take your top 5–8 refresh candidates and assign a realistic schedule. A good rule of thumb: one meaningful refresh per week is sustainable for a solo content marketer; two per week for a team.

For each post in your plan, note:

  • The specific issues to fix (stale stats, intent drift, thin sections)
  • The target keyword to optimize toward
  • The target publish date
  • Who owns it

That's your audit output. A prioritized, actionable list — not a 200-row spreadsheet you'll never open again.


FAQ

How often should I do a content audit? For most blogs, a quarterly light audit (filtering GSC for your biggest traffic drops) is enough. A full audit — every URL scored — makes sense twice a year, or after any major Google core update.

Do I need a paid SEO tool to do a content audit? No. Google Search Console gives you the most important signals for free: impressions, clicks, and position. Pair it with a spreadsheet and you have everything you need for a solid audit. Paid tools like Ahrefs or Semrush add useful data (backlinks, keyword difficulty), but they're not required to identify your best refresh candidates.

What's the difference between a content audit and a content inventory? A content inventory is just a list — every URL, title, and publish date. A content audit takes that list and scores it against performance data to produce decisions. The inventory is step one of the audit.

Should I audit pages other than blog posts? Yes, eventually. Landing pages, product pages, and resource guides can all decay. But blog posts are usually the right place to start because they're volume-heavy and more likely to have ranking history in GSC.

What do I do with posts I decide to cut? If a post has any backlinks or existing traffic (even small), redirect it to the most relevant live post. If it has zero links and under 50 clicks in the last 6 months, you can delete it without redirecting — but verify with an SEO crawl first to catch any internal links pointing to it.


Start With Your Top 10

You don't need to audit every post before you can act. Export your GSC data today, sort by impressions descending, and look at the posts ranking positions 5–20. That's your immediate refresh list. Run the full audit template when you have time — but don't let perfect be the enemy of better.

Ready to move faster? SEORefresher connects directly to Google Search Console, automatically surfaces your best refresh candidates, and helps you prioritize without the spreadsheet work. Try it free.

Ready to apply this to your own content?

Try SEORefresher free