SEO Content Audit: A 5-Step Pass That Ends in Shipped Fixes (2026)
An SEO content audit should end in merged changes, not a spreadsheet. A 5-step audit loop for MDX/git sites, with caps and a re-measure step.
SEO Content Audit: A 5-Step Pass That Ends in Shipped Fixes
An SEO content audit is a pass over every page you have published, checked against real search data, that ends in one of four decisions per page: fix it, merge it, refresh it, or leave it alone. If your audit ends in a color-coded spreadsheet instead of merged changes, you ran an inventory, not an audit.
Most audit guides stop at the spreadsheet. This one is built for sites that live in git — MDX, markdown, or a repo-backed CMS — where the natural end state of an audit is a pull request. Below is the five-step loop we use, the caps that keep it honest, and the re-measure step almost everyone skips.
Why most content audits ship nothing
The classic failure mode is not bad analysis — it is unbounded output. You export every URL, score everything, and produce 80 "opportunities." Eighty opportunities is a backlog, and backlogs die. Within a month the sheet is stale and nothing changed on the site.
The fix is structural, not motivational: an audit is only useful if it is capped and closed-loop. Capped means the output is a ship list short enough to actually execute this week — five actions is a good ceiling for a small site. Closed-loop means every shipped change gets a re-check date, so next quarter's audit reads outcomes instead of re-deriving the same findings.
Step 1 — Pull first-party evidence, not third-party guesses
Start with Google Search Console. It is the only data source that tells you what Google actually did with your pages: impressions, clicks, average position, and indexing state. Everything else is a derivative or a guess.
For each published page, capture four numbers over the last 28 days:
- Impressions — is Google showing it at all?
- Clicks — is anyone choosing it?
- Average position — is it page one, page two, or buried?
- Indexed? — a surprising share of "zero traffic" pages are simply not in the index.
A live probe (gsc-performance, gsc-queries in the PageSeeds CLI, or the GSC UI) is enough. Do not start with a paid crawler or a rank tracker; those answer different questions and mostly add noise at this stage.
Step 2 — Bucket every page into one of four decisions
With evidence attached, each page falls into a small set of patterns. The decision table:
| Signal from GSC | Diagnosis | Decision | |---|---|---| | High impressions, CTR well below peers, position 3–15 | Title/meta not earning the click | Fix title + meta + intro | | Position roughly 7–13 with real impressions | Striking distance — one push from page one | Fix content depth, internal links | | Two or more URLs ranking for the same query | Cannibalization — you compete with yourself | Merge into the stronger URL, 301 the rest | | Impressions dropping 40%+ vs the prior window | Content decay | Refresh with current info | | Zero impressions, indexed, months old | Deep position or weak demand | Investigate before acting | | Zero impressions, not indexed | Google has not accepted the page | Fix links/content quality, request indexing | | Steady clicks, healthy CTR | Working | Leave it alone |
Two rules keep this step honest. First, "leave it alone" is a decision — most healthy pages should get it. Second, zero impressions is not a verdict. A page at position 60 with 300 impressions has a ranking problem; a page with zero impressions may just be too new to judge. Check the publish date before you condemn anything.
Step 3 — Cap the ship list to five
This is the step that separates an audit from a report. Sort your fix/merge/refresh candidates by expected impact — impressions times recoverable click share is a fine rough ranking — and take the top five. Not fifteen. Five.
A five-item ship list for a small site might look like:
- Rewrite the title and meta on your highest-impression low-CTR page.
- Merge two thin posts competing for the same query into the stronger one, with a 301.
- Refresh the decaying guide that lost half its impressions this quarter.
- Add internal links from three strong pages to a new page Google has not indexed.
- Write one new page for a keyword your strategy says you should own and no page covers.
Everything below the cut goes into an explicit backlog — noted, not acted on. If the backlog keeps growing, the answer is a bigger cadence, not a bigger weekly list.
Step 4 — Ship through git, not through tickets
If your content lives in MDX in a repo, the audit's output should be commits. A title fix is an edit to frontmatter. A merge is a rewritten keeper page plus a line in redirects.csv. A refresh is a dated content update. Each lands as a pull request a human can review.
This is exactly the loop a weekly SEO workflow runs on a schedule, and the role an SEO operator — human or software — exists to fill. Tooling like an AI SEO agent or an SEO automation tool compresses steps 1–4 by reading GSC directly and preparing the repo changes for you; the audit logic above stays the same whether you execute by hand or with an agent. Either way, the discipline that matters is the cap and the merge, not the tooling.
One hard gate regardless of tooling: deindexing and noindex stay human decisions. Software can propose them with evidence; it should never execute them unattended.
Step 5 — Re-measure on a lag, then close the loop
Shipped is not finished. GSC data lags, and Google needs time to recrawl, so schedule the outcome check about 30 days after each change. The review is simple: compare the page's impressions, clicks, and position window-over-window against the pre-change baseline, then classify — improved, regressed, neutral, or insufficient data.
That classification feeds the next audit. Fixes that worked become patterns to repeat. Regressions get investigated instead of compounded. Without this step, every audit starts from zero and you are forever re-deriving the same findings — with it, each quarter's pass gets shorter and sharper.
A minimal audit cadence for lean teams
You do not need an agency retainer for this. A workable cadence for a small site:
- Weekly (30–60 min): light pass over top movers and new pages; ship at most a couple of targeted fixes.
- Quarterly (half a day): the full five-step audit above across the whole catalog.
- Continuous: indexing state and decay alerts from your own tape, so nothing waits three months to be noticed.
The audit is not the deliverable. The merged pull request is — and the 30-day re-check is what makes the next audit cheaper than this one.
FAQ
What is an SEO content audit?
An SEO content audit is a structured review of every page on your site against first-party search data — impressions, clicks, position, indexing — to decide which pages to fix, merge, refresh, or leave alone. A good audit ends in a short, shippable action list, not a report.
How often should you run an SEO content audit?
A full inventory pass quarterly is enough for most small sites. Between full audits, run a light weekly pass over your top movers and decaying pages so problems are caught within weeks, not quarters.
What tools do you need for an SEO content audit?
Google Search Console is the only mandatory data source — it is first-party demand truth. Add your content catalog (CMS or git repo), and optionally a behavioral tool like PostHog to see what visitors do after landing. Paid crawlers and rank trackers are optional, not required.
What is the difference between a content audit and a content inventory?
An inventory lists what exists: URLs, titles, word counts, dates. An audit attaches evidence and a decision to each row — fix, merge, refresh, keep — and, in the execution-first version, a shipped change with a re-measure date.
Should you delete pages that get no traffic?
Rarely as a first move. Zero impressions usually means deep position or indexing problems, not a bad topic. Try targeted fixes or merging into a stronger page first. Noindex or removal is a last resort and should stay a human decision.
$41/monthBilled annually — $490/year
Frequently Asked Questions
What is an SEO content audit?
An SEO content audit is a structured review of every page on your site against first-party search data — impressions, clicks, position, indexing — to decide which pages to fix, merge, refresh, or leave alone. A good audit ends in a short, shippable action list, not a report.
How often should you run an SEO content audit?
A full inventory pass quarterly is enough for most small sites. Between full audits, run a light weekly pass over your top movers and decaying pages so problems are caught within weeks, not quarters.
What tools do you need for an SEO content audit?
Google Search Console is the only mandatory data source — it is first-party demand truth. Add your content catalog (CMS or git repo), and optionally a behavioral tool like PostHog to see what visitors do after landing. Paid crawlers and rank trackers are optional, not required.
What is the difference between a content audit and a content inventory?
An inventory lists what exists: URLs, titles, word counts, dates. An audit attaches evidence and a decision to each row — fix, merge, refresh, keep — and, in the execution-first version, a shipped change with a re-measure date.
Should you delete pages that get no traffic?
Rarely as a first move. Zero impressions usually means deep position or indexing problems, not a bad topic. Try targeted fixes or merging into a stronger page first. Noindex or removal is a last resort and should stay a human decision.