Content libraries rarely fail because nobody published. They fail because nobody decided. Years of calendars, product launches, and abandoned experiments leave hundreds of URLs with unclear jobs. Some still earn. Many dilute. A few actively compete with better pages for the same query.

The job of a content audit is not to admire traffic charts. It is to restore intentionality: which pages deserve investment, which need a rewrite, which should consolidate, and which should leave the index with a redirect. If the output is only “content hygiene matters,” you ran a workshop, not an audit.

Define the audit job before you export anything

Pick a primary job so scoring does not become mud. Recover decaying winners. Reduce cannibalization. Prune index waste. Find evaluation-page gaps. Most teams need a blend, but one job should lead. Align it with current strategy so you do not resurrect themes you already abandoned.

  • Scope: blog only, or all indexable resources including guides and comparison URLs.
  • Timebox: often three to six weeks for a mid-size library.
  • Owners: content, SEO, and someone who can approve removals.
  • Success: a decided backlog with redirect targets, not a perfect taxonomy.

Build an inventory that forces decisions

Export URLs from the CMS and Search Console. Add sessions, conversions if available, referring links if tracked, last updated date, index status, and target query if known. Then add human fields: buying stage, accuracy risk, and strategic fit (core, adjacent, off-strategy).

Resist the urge to score every URL in the domain on day one. Start with indexable URLs that have earned impressions in the last year, plus strategic pages with zero impressions that leadership still cares about. Expand later. Perfect inventories that never reach decisions are a common failure mode.

Scores that turn a content inventory into actions
ScoreWhat it capturesHigh meansTypical action
Demand evidenceImpressions, clicks, rankingsSearch still caresProtect or refresh
Business fitICP and offer relevanceSupports current revenue pathsKeep in the cluster
Accuracy riskProduct, pricing, or claims driftLikely to mislead or create objectionsRefresh or unpublish fast
Distinct intentOverlap with sibling URLsUnique job in the setKeep separate
Experience depthFirst-hand detail vs generic adviceHard for commodity answers to replaceInvest further

Spot decay, cannibalization, and gaps

Decay shows up as falling impressions and clicks on pages that once held stable positions, often after product changes or SERP feature shifts. Cannibalization shows up as multiple URLs ranking unstably for the same query with overlapping briefs. Gaps show up when sales asks for comparison pages you never built while the blog is full of adjacent education.

Also mark commodity explainers with no experience layer. They may still show impressions while earning fewer clicks because answer surfaces absorb the easy query. Decide whether to deepen them with original proof or stop investing. Do not confuse “still getting impressions” with “still earning a job.”

Apply keep, refresh, merge, and kill rules

Write the rules before emotions enter. Refresh if demand and business fit are high but accuracy risk or staleness is high. Merge if two URLs share intent and neither is a clear winner. Kill if business fit is low, demand is negligible, and the page creates quality or trust risk. Keep pristine pages that sales still uses even when traffic is modest.

  1. Sort by business fit first, not by traffic ego.
  2. Apply rules in batches of similar templates.
  3. Record a redirect target for every merge or kill.
  4. Create refresh briefs only for URLs that will get real subject-matter time.
  5. Publish the decision log where future marketers can find it.

What “kill” actually includes

Kill usually means noindex or 404/410 plus a 301 to the best remaining intent match when equity or bookmarks matter. Update internal links. Tell sales which URL replaces the old one. Silence after deletion is how broken links linger in decks and email footers.

Decision log row template for each audited URL

| Field | Value |
| --- | --- |
| URL | |
| Primary query / intent | |
| Demand (1-5) | |
| Business fit (1-5) | |
| Accuracy risk (1-5) | |
| Distinct intent (1-5) | |
| Decision | keep / refresh / merge / kill |
| Redirect target (if merge/kill) | |
| Owner | |
| Ship window | Now / Next / Later |
| Notes | |

Turn decisions into a two-quarter backlog

Group actions into waves. Wave one: accuracy risks on high-demand pages. Wave two: merges that clarify clusters. Wave three: net-new evaluation pages the audit proved missing. Wave four: selective deepening of hubs that still support the argument. Protect capacity for refreshes. Teams that only celebrate new URLs recreate the mess within a year.

If engineering support is limited, sequence technical tasks carefully. Redirects and template updates need sprint slots. Do not approve a giant prune list if nobody can implement redirects for two months. Pair editorial decisions with a shipping plan, or the audit becomes a PDF nobody executes. For sequencing across SEO workstreams, use prioritising SEO audit findings.

Measure whether the audit changed the library

Share a before-and-after map with leadership: how many URLs entered, how many were removed or consolidated, which clusters became clearer, and which gaps were confirmed. Numbers make the work legible. They also prevent the false conclusion that “we need to publish more” when half the library had no strategic job.

  • Indexed URL count in the audited sections before and after.
  • Impressions and clicks for refreshed winners at 30/60/90 days.
  • Cannibalization pairs resolved (one clear primary URL per intent).
  • Refresh versus new-URL capacity ratio for the next two quarters.

When index waste is the dominant symptom, pair content decisions with the technical view in index bloat: find it and what it costs. Killing pages without fixing the systems that regenerate thin URLs is a temporary cleanup.

A content audit succeeds when every important URL has a decision, an owner, and a ship window. Volume of rows in a spreadsheet is not success.