references/content-decision-matrix.md
# Content decision matrix
A decision tree for classifying every page in a content audit and picking the right action. Use it after pulling the inventory and performance data.
---
## The 6 actions
Every page gets exactly one of these:
1. **Keep.** Page is healthy. Defend it.
2. **Refresh.** Update facts, examples, screenshots, year references.
3. **Update.** Deeper rework. New sections, restructured argument, expanded scope.
4. **Merge.** Combine with another page. Redirect the loser.
5. **Redirect.** Page has no path forward. Redirect to closest relative.
6. **Prune.** Remove from sitemap, return 410 or noindex.
---
## The decision tree
Follow the tree top to bottom. The first match wins.
### Step 1: Is the page on-topic for the property?
If no: redirect to the most relevant page. If no relative exists, prune.
### Step 2: Is the page duplicative of another page on the same site?
If yes: merge. Pick the stronger of the two as the canonical, redirect the other. See "Merge selection criteria" below.
### Step 3: Has traffic declined sharply over the last 6-12 months?
Define "sharp": a drop of 40% or more, sustained for 3+ months, not explainable by seasonality.
If yes: investigate. Likely actions are refresh, update, or redirect depending on root cause. See "Decay diagnosis" below.
### Step 4: Is the page over 18 months old with stale specifics?
Stale specifics include: outdated year references, old screenshots, dated examples, products no longer available, statistics from old reports.
If yes: refresh. Keep the structure. Replace the stale parts.
### Step 5: Is the page ranking on page 2-3 for relevant terms?
Page 2-3 means positions 11-30 for keywords with meaningful volume.
If yes: update. The page has potential. It needs more depth, better structure, or broader scope to break into top 10.
### Step 6: Is the page getting steady traffic but the content is shallow vs the SERP?
Shallow means: shorter than the top 3 SERP results, missing subtopics they cover, or single-keyword focused while they cover a topic cluster.
If yes: update. The page is winning despite being thin. Make it stronger before competitors push it down.
### Step 7: Is the page getting low traffic with no growth trend?
Low traffic: under 50 organic clicks per month for an established page (over 12 months old).
If yes and no clear path to improvement: prune or redirect. Do not waste effort trying to rescue every page.
### Step 8: Default
If none of the above, the page is healthy. Keep. Schedule a routine refresh on a 12-18 month cadence.
---
## Merge selection criteria
When two pages cover overlapping topics, decide which becomes canonical.
Pick the page with:
1. Stronger backlink profile (Ahrefs Site Explorer)
2. More ranked keywords with meaningful volume
3. Better URL (cleaner, more descriptive, shorter)
4. Higher current position for the head term
If the pages have different strengths, often the right move is to keep the better URL and migrate the better content into it.
Always:
- 301 redirect the loser to the winner
- Update internal links to point at the canonical
- Notify Search Console (resubmit sitemap)
- Wait 4-8 weeks before evaluating impact
---
## Decay diagnosis
Sharp traffic decline can have multiple root causes. Diagnose before deciding action.
### Possible causes and their signatures
| Cause | Signature | Action |
| --- | --- | --- |
| SERP feature steal (featured snippet, PAA, AI overview) | Position stable, click-through rate fell | Refresh + restructure for snippet capture, or accept the new normal |
| Competitor published better content | Position fell, SERP composition includes new domain | Update to match or exceed competitor depth |
| Intent shifted (informational to transactional, etc.) | SERP composition is now a different content type (e.g., now product pages dominate) | Re-evaluate format, or pivot URL purpose |
| Internal cannibalization | A newer page on same site now ranks for the same term | Merge or differentiate |
| Site-wide ranking decline | Multiple pages lost position simultaneously | Likely site-wide issue, see `seo-traffic-diagnosis` |
| Content went stale | Year references and stats are outdated | Refresh |
| Algorithm update | Decline correlates with a known update date | Audit content quality and E-E-A-T |
| Lost backlinks | Referring domain count fell | See `seo-backlink-audit` for reclamation |
| Migration aftermath | Decline started immediately after a migration | Audit redirect chains and structural changes |
Always confirm the cause before acting. Wrong diagnosis equals wrong fix.
---
## Worked examples
### Example 1: keep
Page: pillar guide on a core topic, 2 years old, top 3 ranking, steady traffic, 800+ clicks/month, content is current.
Decision: keep. Schedule routine refresh in 6 months.
### Example 2: refresh
Page: how-to guide, 3 years old, position 6-8, traffic flat for 12 months, screenshots show old UI, references "in 2023".
Decision: refresh. Update screenshots, year references, and any tool versions. Re-promote internally.
### Example 3: update
Page: 1,200 word article on a category topic, position 14 for the head term, low CTR, top 3 results are 3,000+ word topic hubs covering 8-10 subtopics.
Decision: update. Expand to cover the missing subtopics. Restructure for skim. Add internal links from related pages.
### Example 4: merge
Pages: two articles on closely overlapping topics, both ranking somewhere between positions 8-15 for related terms, splitting traffic.
Decision: merge. Pick the page with stronger backlinks as canonical. Migrate the unique content from the other. 301 redirect the loser. Update internal links.
### Example 5: redirect
Page: outdated tutorial for a tool no longer in use, no organic traffic, no ranked keywords, off-topic for current site direction.
Decision: redirect to closest relevant page. If none, prune (410 or noindex).
### Example 6: prune
Page: thin tag archive with under 5 items, no organic traffic, no internal links, indexed only because of CMS defaults.
Decision: prune. Noindex via meta tag or remove from sitemap. Add to robots disallow if appropriate.
---
## Effort and traffic forecast cheat sheet
For sequencing the roadmap, use these rough estimates:
| Action | Typical effort per page | Traffic impact timeline |
| --- | --- | --- |
| Keep | 0 (or routine refresh in 6-12 months) | None |
| Refresh | 2-4 hours | 30-60 days to see ranking impact |
| Update | 6-16 hours | 60-120 days |
| Merge | 4-8 hours per pair | 60-120 days |
| Redirect | 30 min | Immediate (no ranking impact) |
| Prune | 30 min | Immediate (positive if it removes thin content drag) |
| Create new | 12-30 hours | 90-180 days for new pages to gain traction |
Updates and merges typically deliver more traffic per hour invested than new content. Most teams underweight them.
---
## Common mistakes
- **Pruning aggressively without verifying low value.** Some low-traffic pages have backlinks, internal link equity, or seasonal traffic. Audit these before pruning.
- **Refreshing pages that need updates.** A surface refresh on a thin page does not move rankings. Match the action to the root cause.
- **Updating pages that need merges.** Two competing pages on the same topic will keep splitting traffic. Merge first, then optimize.
- **Skipping internal link audit.** Updates and refreshes underperform without renewed internal links pointing to them.
- **Optimizing pages with intent mismatch.** If the SERP is now product pages and the page is an article, no amount of editing fixes that. Either pivot the page type or redirect.
- **Forgetting to notify Search Console.** Resubmit sitemap after major content moves to accelerate recrawl.
SKILL.md
---
name: seo-content-gap-audit
description: "Audit content gaps and decay using Ahrefs MCP data: missing topics, thin coverage, outdated content, and decaying pages. Use this skill when planning a content roadmap, refreshing a stale catalog, building topical authority, or identifying which existing pages need update versus replacement. Triggers on content gap, content audit, content refresh, content roadmap, decaying content, content decay, topical authority, what topics should we cover, where is competitor content stronger. Also triggers when organic traffic is flat despite consistent publishing."
category: seo-audit-suite
catalog_summary: "Missing topics, thin coverage, outdated content, decay diagnosis"
display_order: 4
---
# SEO Content Gap Audit
Find content gaps and decay using Ahrefs MCP data. Stack-agnostic. Produces a roadmap of create, update, merge, and prune actions across the existing content catalog and identified topic gaps.
---
## When to use
- Planning the next quarter or half of content investment
- Refreshing a stale or underperforming content catalog
- Building topical authority in a target space
- Identifying decaying pages before they tank traffic
- Audit prep before a major site redesign or migration
- Diagnosing why content investment is not driving organic growth
## When NOT to use
- Pure keyword research (use `seo-keyword`)
- Competitor keyword gap (use `seo-keyword-gap-audit`)
- Single-page optimization (use `seo-onpage`)
- Pure prune-and-redirect decisions (use `seo-content-audit`)
- New site planning with no existing content (use `content-strategy`)
---
## Required inputs
- Target property and content scope
- Competitor set (3-5 properties with comparable content depth)
- Target topics or pillars (if defined)
- Existing content inventory with URLs, primary topics, publish dates
- Performance data (organic clicks per page, ranked keywords per page)
- Confirmation Ahrefs MCP is connected
---
## The framework: 4 categories of content opportunity
Every content opportunity falls into one of four categories. Different categories need different actions.
Content gap analysis is sharper with multiple data sources. Ahrefs surfaces keyword and topic gaps (the primary backend below). Similarweb surfaces traffic-driving page-level gaps (which of a competitor's pages earn meaningful traffic, not just rankings). Semrush surfaces SERP-feature gaps (where competitors win answer boxes, knowledge panels, People Also Ask placements). The three platforms often disagree on individual data points; that disagreement is itself a useful signal.
### Category 1: Missing topics
Topics with traffic potential where the property has no relevant page at all. Competitors often rank in the top 10. The fix: create new content.
Pulled from:
- Ahrefs Content Explorer (top performing content in target topics)
- Competitor top pages (Ahrefs Site Explorer)
- Keyword gap audit output (clustered into topics)
### Category 2: Thin coverage
Topics where the property has a page but it is too shallow, narrow, or single-keyword to compete with topical hubs. Competitor pages cover the topic across multiple subtopics. The fix: deepen the existing page or expand into a topic cluster.
Pulled from:
- Pages ranking on page 2-3 for target keywords
- Pages with low organic click share relative to ranked keyword volume
- Pages where competitors have longer or broader equivalents
### Category 3: Outdated content
Pages that ranked well historically but have lost ground due to staleness. Information is dated, examples are old, the SERP intent has shifted. The fix: refresh with current information and re-promote.
Pulled from:
- Pages with declining organic clicks over the last 6-12 months
- Pages with publish dates over 18 months old
- Pages with ranked keywords slipping in position
### Category 4: Decaying content
Pages that have lost traffic for reasons not obviously about staleness: SERP feature changes, competitor publishing, intent shifts, internal linking dilution. The fix: diagnose why, then refresh, merge, or redirect.
Pulled from:
- Pages with sharp recent traffic drops
- Pages where SERP composition has shifted (more video, more featured snippets, AI overviews)
- Pages that compete with newer pages on the same site (cannibalization)
---
## Workflow
1. **Charter the audit.** Scope (whole site or section), goal, time window for performance data.
2. **Pull the inventory.** Every URL, with publish date, primary topic, organic clicks, ranked keywords.
3. **Pull competitor coverage.** Top pages and content clusters from each competitor.
4. **Classify each existing page.** Healthy / thin / outdated / decaying / off-topic.
5. **Identify missing topics.** Cross-reference competitor top pages and keyword gap output.
6. **Score each opportunity.** See [`references/content-decision-matrix.md`](references/content-decision-matrix.md).
7. **Cluster.** Group related missing topics into pillar concepts.
8. **Decide actions.** Create / update / merge / redirect / prune for each opportunity.
9. **Sequence the roadmap.** Quarter by quarter, with effort estimates and traffic forecasts.
10. **Hand off.** Output feeds `content-strategy`, `content-and-copy`, and `seo-onpage`.
---
## The action decision matrix
For each piece of existing content or proposed new content, decide one action.
| Signal | Action |
| --- | --- |
| Strong page, healthy traffic, current information | Keep. Defend with internal linking and refresh on schedule. |
| Page exists, ranking on page 2-3, content is thin vs SERP | Update. Deepen, restructure, broaden. |
| Page exists, traffic declining, content is dated | Refresh. Update facts, examples, year references, screenshots. |
| Page exists, low or zero traffic, low ranking, no improvement path | Prune or merge. Redirect to a stronger relative if one exists. |
| Multiple pages on overlapping topics | Merge into one canonical page. Redirect the others. |
| Topic missing entirely, competitor coverage strong | Create new page or pillar. |
| Topic missing, but competitors do not rank well either | Validate intent before investing. Could be an opportunity or could be a dead end. |
| Page is off-topic for the property | Redirect to most relevant page or remove from sitemap. |
---
## Failure patterns
- **All-create, no-update bias.** Teams default to creating new content. Updates and merges often outperform new pieces by a wide margin and at lower cost.
- **Treating publish date as currency.** A 5-year-old page can outrank a 1-month-old page if it is better. Stop deleting old content reflexively.
- **Cannibalization blind spots.** Two pages on overlapping topics dilute each other. Audit for it explicitly.
- **No effort estimates.** A roadmap without effort sizes cannot be sequenced realistically.
- **No traffic forecast.** A roadmap without forecasted impact loses funding fights. Forecast even with wide confidence bands.
- **Refreshing without re-promotion.** A refreshed page needs a re-crawl signal: update sitemap, internal links, distribution.
- **Ignoring intent shift.** Some keywords have shifted from informational to transactional or to AI-answer-dominated. Recognize when the SERP is no longer addressable by the existing format.
- **Confusing decay with seasonality.** A 30% click drop in summer for a back-to-school topic is not decay. Compare year-over-year, not month-over-month.
- **Auditing in isolation from the keyword gap.** The two audits feed each other. Run them adjacent.
---
## Output format
A content gap audit document with:
1. **Executive summary.** Top 3 themes, content health verdict, recommended quarterly investment split.
2. **Content inventory snapshot.** Counts by health classification.
3. **Missing topics.** Prioritized list with cluster mapping and traffic forecast, or state the gap per the data-availability rule.
4. **Thin coverage.** Pages to deepen, with recommendation for each.
5. **Outdated content.** Pages to refresh, with refresh scope.
6. **Decaying content.** Pages to diagnose and act on, with hypothesis for each.
7. **Cannibalization findings.** Page pairs to merge.
8. **Action roadmap.** Quarter by quarter, with effort and forecast.
9. **Methodology.** Data sources, classification criteria, caveats.
Length: 8-15 pages plus an attached inventory spreadsheet.
---
## If required data is unavailable
This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.
---
## Reference files
- [`references/content-decision-matrix.md`](references/content-decision-matrix.md) - Detailed decision tree for classifying pages and choosing the create/update/merge/prune action, with worked examples.