Content Decay Detector
Finds the pages losing rankings and traffic, scores how fast each is slipping, and ranks which ones to refresh first by traffic at risk.
Last updated 2026-08-06
Summary#
Content Decay Detector groups your real ranked keywords by the page that holds them, compares each keyword against its previous position, and scores every page on how much traffic it is losing. The output is a refresh queue ordered by traffic at risk. Its internal tool id is content_decay.
Purpose#
Published content does not hold its position. Competitors publish, results get re-ranked, and a page that brought in traffic for two years quietly stops. The loss is invisible in a total-traffic chart because a dozen small declines look like noise.
This tool exists to make the decline page-level and specific. The decision it supports is a maintenance decision: given limited editing time, which page do you refresh first?
Overview#
You enter a domain. Metric Vault pulls that domain's ranked keywords from live search data, highest traffic first, including each keyword's current position, its previous position, whether it was lost outright, its estimated traffic and its search volume.
How much of your site a run covers#
A standard run reads 700 keywords. For a large site that is a sample, and the result says so in a line under the numbers: Sample size 700 of 209,454 ranked keywords, highest traffic first, grouped into 160 pages. Both figures are measured on the run, so the line moves with the domain. When 700 covers everything the domain ranks for, it says that instead, because a site with nine ranked keywords is not a sample of itself.
Reading highest-traffic-first matters: a sample takes the keywords carrying the most traffic, so the pages most worth knowing about are the ones it reaches.
| Plan | Keywords per deeper run |
|---|---|
| Free | 700 |
| Starter | 700 |
| Pro | 5,000 |
| Agency | 10,000 |
| Enterprise | 20,000 |
On a paid plan the result offers Run the deeper scan, which re-runs at your plan's depth. On one large site that took the run from 160 pages to 889. The deeper scan costs a credit like any other run, and the disclosure line updates to the depth it actually reached.
Even the deepest run is a depth rather than a census, and the line never claims otherwise. Covering every keyword on a site with a couple of hundred thousand of them would mean hundreds of provider calls for a single run.
Every keyword is attributed to the page that ranks for it, and the pages are scored. A keyword counts as slipping when it fell two or more places — a one-place move is treated as noise — or when it disappeared from the results entirely. The traffic tied to those slipping keywords becomes the page's traffic at risk.
The decay score combines three things: how large that page's traffic at risk is relative to the worst page on the site, what share of the page's keywords are slipping, and how severe the average slip is. A page that is gaining on balance is pulled down so it does not surface as a refresh target.
The queue is then ordered by traffic at risk, with the decay score as the tiebreak. That ordering is the point: it puts the page where a refresh recovers the most traffic at the top.
Benefits#
- Page-level, not site-level, so the output is an editing list rather than a chart.
- Ordered by traffic at risk, so the first row is the highest-value refresh.
- Shows the individual slipping keywords behind each page, so you know what to fix.
- Distinguishes a page that is genuinely decaying from one that is simply small.
- Costs 1 credit, which keeps it under the monthly premium threshold.
Use Cases#
Planning a quarterly refresh cycle. You have time to update five pages; the top five rows tell you which five.
Explaining a traffic dip. The traffic-at-risk figure and the slipping keyword list turn "traffic is down" into a specific, fixable list.
Protecting a flagship page. A high-traffic page appearing in the Refresh now band is the most urgent maintenance signal the platform produces.
Auditing an inherited site. One run tells you which of someone else's pages are still working and which are fading.
Deciding refresh versus rewrite. A page with many keywords slipping slightly needs a refresh; a page that lost most of its keywords usually needs rebuilding.
Requirements#
- A signed-in account.
- A paid plan — 1 credit per run, and any cost above zero is blocked on Free.
- A domain that already ranks for something. A brand-new site has no ranked keywords and therefore nothing to score.
- Available credits and hourly headroom.
- No integration and no verified domain.
Permissions#
Any workspace member on a paid plan can run it. Free accounts are refused with This tool needs a paid plan. Free includes the 10 technical SEO tools; upgrade to Pro to unlock the rest. The recommendations panel under the result requires Pro or above — see Get Recommendations.
Cost#
1 credit per run. The run button reads Detect Decay · 1 report, matching the 1-credit charge.
Below the premium threshold of 3, so the monthly quota never blocks it — only the hourly fair-use cap of 100 light-tool calls per hour. A shared-cache hit still charges the credit; the cached window for this tool is three days. See How credits work and Result caching and freshness.
Navigation Path#
Dashboard → Keyword & Content Research → Content Decay Detector
The sidebar entry carries a pink NEW badge.
Inputs#
| Field | Accepts | Required | Default | Validation | Notes |
|---|---|---|---|---|---|
e.g. nike.com | A domain | Yes | Empty | Empty input shows Enter a value first. | Protocol and path are stripped. Enter the root domain — a single URL will not produce a site-wide queue |
| Country picker (topbar) | Country list | No | United States | — | Recorded with the run; the ranked-keyword data comes from the United States, English-language index |
| Date range (topbar) | 7d to all | No | Last 30 days | — | Recorded with the run. Position comparisons are against each keyword's own previous position, not against your selected range |
Pressing Enter in the field runs the tool. Try sample and the run button both fire the run immediately — they do not open a preview.
Step-by-Step Guide#
- Open
Keyword & Content Researchand choose Content Decay Detector. - Enter your domain in the field marked
e.g. nike.com. - Click Detect Decay, or press
Enter. - Wait for
Analyzing… this can take a few seconds for live data.to clear. - Read the four KPI tiles, then
What this means. - Work down
Refresh Priority Queuefrom row 1. - Open
Why these pages are decayingfor the keyword-level evidence on the worst pages. - Export or share the report from the buttons at the top of the view.
Two sources, and the tool says which#
If the domain you run this on is a Search Console property you have connected and selected, the tool uses measured clicks: what Google recorded for each page over the last 28 days, against the 28 before it. The queue is labelled Measured and names the property.
For any other domain, including every competitor, it uses estimated traffic modelled from ranking data, and the queue is labelled Estimated.
The two disagree, and only one of them is checkable against Search Console, so the tool never mixes them in one queue.
The columns differ, on purpose. Search Console stores clicks per page and queries per property, not queries per page, so on the measured path there are no per-page keyword counts to show. Those three columns are removed rather than filled with zeros, and the space goes to what was measured: clicks now, clicks before, average position, clicks lost, and why.
The "why" is one of three, split from the stored numbers rather than guessed:
| Why | What it means | What to do |
|---|---|---|
| Lost positions | You slipped down the results | Refresh the page and rebuild internal links to it |
| Fewer clicks at the same position | Impressions held, clicks fell | Rewrite the title and description, and check for an AI answer above you |
| Fewer searches | Demand for the topic dropped | Retarget the page or accept the decline |
This is the same split the Search Console page uses, off the same stored columns, so the two screens cannot disagree about a page.
Reading the Results#
The four KPI tiles.
| Tile | Sub-label | Reads | Good | Bad | Action |
|---|---|---|---|---|---|
Pages Analyzed | N ranked keywords | How many URLs held ranked keywords | Dozens or more | A handful | A thin count means the site ranks for little, not that it is healthy |
Decaying Pages | losing rankings or traffic | Pages in the Refresh now or Watch bands | Under a quarter of pages | Over half | Above half, the problem is site-wide — look for a sitewide cause before editing pages |
Traffic at Risk | N% of tracked visits | Monthly visits tied to slipping keywords | Under 10% | Over 30% | The percentage matters more than the raw number; it is the share of your measured traffic in play |
Refresh Now | flagged critical | Pages scoring 60 or above | 0 to 2 | Many | This is your work queue for the month |
What this means. Two to four plain-language findings, each with a badge: Act for a bad-tone finding, Watch for a warning, OK for a good one. The first one usually names your single worst page and the visits at risk on it. When nothing is decaying, this block says so directly rather than manufacturing concern.
Refresh Priority Queue — Highest traffic at risk first. The core deliverable. One row per page, ten columns:
| Column | What it means | How to read it |
|---|---|---|
# | Queue position | Row 1 is the page to refresh first |
Page | The path on your site | Hover for the full URL |
Status | Refresh now, Watch, Stable or Growing | See the status table below |
Decay | The 0-100 decay score | 60+ is critical, 32-59 is watch |
Traffic | Estimated monthly visits the page earns now | Context for the risk figure next to it |
Keywords | Ranked keywords attributed to the page | A page with 2 keywords is a smaller signal than one with 60 |
Declining | Slipping keywords, with lost ones in brackets | Lost keywords are worse than slipped ones |
Avg drop | Average positions lost across the slipping keywords | -3 is drift; -15 is displacement |
Traffic at risk | Visits tied to the slipping keywords | The number that sets the queue order |
Recommended action | The prescribed next step | Written per status, ready to paste into a task |
The four statuses.
| Status | Score | What it means | What to do |
|---|---|---|---|
Refresh now | 60+ | The page is losing meaningful traffic fast | Refresh now — update facts and stats, expand thin sections, refresh the publish date, re-promote. |
Watch | 32-59 | Real but contained slippage | Monitor — light refresh of the slipping sections; re-check next cycle. |
Stable | Under 32 | Holding position | No action needed. |
Growing | Improving on balance | The page is gaining ground | Leave as-is — this page is gaining ground. |
Read a row like this: high traffic and high traffic-at-risk is your first refresh; high traffic with low risk is a page to leave alone; low traffic with high risk proportionally is worth a quick edit but not a rewrite; Growing pages should be studied, not touched — whatever is working there is worth copying onto the decaying pages.
Why these pages are decaying. Expanded detail for up to five pages in the Refresh now or Watch bands. Each block shows the URL, the status, a Decay N/100 chip, and a one-line reason in the form "7 of 24 keywords slipping (2 lost), avg -6 positions; ~1,400 monthly visits at risk". Beneath it, a keyword table:
| Column | What it means |
|---|---|
Keyword | The term |
Now | Current position, or — when the keyword was lost |
Was | The previous position |
Change | Positions gained or lost, or lost |
Traffic | Estimated monthly visits from that keyword |
Volume | Monthly search volume for the term |
This table is where the edit brief comes from. A page losing its head term needs a different fix from a page losing a dozen long-tail terms: the first is a competitive problem on one query, the second is usually a freshness or depth problem across the whole piece.
Get recommendations. A panel under the result turns the findings into a step-by-step plan, grouped as Fix first, Do next and Quick wins. It is a Pro-and-above feature with its own monthly allowance — see Get Recommendations.
What to do with it. Take the top three rows. For each, open the keyword table, note the terms that slipped, and rewrite those sections with current facts and numbers. Refresh the publish date, then re-promote the page. Re-run in six weeks and check whether those rows moved down the queue.
Examples#
Example: You run ourshop.com. The tiles read 96 pages analyzed across 3,180 ranked keywords, 18 decaying pages, 24,400 visits at risk (21% of tracked visits) and 5 flagged critical. Row 1 of the queue is /guides/running-shoes: status Refresh now, decay 78, 9,200 monthly visits, 64 keywords, 21 declining (3 lost), avg drop -11, 6,100 visits at risk. Opening it, the keyword table shows the head term fell from #3 to #14 and three long-tail terms were lost. You rewrite the comparison section, update the 2024 figures, refresh the date and re-promote. Six weeks later the page sits at decay 24 and status Watch.
Screenshots#
Tips#
- Enter the root domain, not a single page. The tool builds a site-wide queue.
- Read
Traffic at riskas a percentage of tracked visits, not as an absolute — the percentage is what tells you how serious this is for your site. - Study the
Growingrows before you edit the decaying ones. They show what is currently working on your site. - Re-run quarterly. Ranking movement below one position is deliberately ignored, so weekly runs mostly show the same queue.
- Feed the top row straight into Content Optimizer to get the specific edits for that page.
Best Practices#
- Refresh by traffic at risk, not by decay score. The score ranks severity; the traffic figure ranks value.
- Fix the content, not just the date. Changing a publish date without updating the page rarely recovers a position.
- Handle lost keywords separately from slipped ones. A lost keyword usually means the page no longer matches the query at all.
- Pair a decaying cluster with Internal Linking Engine — a page starved of internal links decays faster and recovers slower.
- Keep a record of each run before you edit, so the next run measures the effect of your work.
Common Mistakes#
- Entering a single URL. The queue is built from every ranked keyword on the domain; a URL narrows nothing and can return nothing.
- Treating a low
Pages Analyzedcount as good news. It means the domain ranks for little, which is a different problem. - Refreshing the highest decay score first when a lower-scoring page has far more traffic at risk.
- Reading
Avg dropalone. A large average drop across two keywords matters less than a small drop across sixty. - Re-running weekly and expecting movement. Sub-two-place changes are filtered out on purpose.
Limitations#
- Ranked-keyword data comes from Google's United States, English-language index. The country picker does not change the underlying market.
- Up to 700 keywords are analyzed per run, ordered by estimated traffic. A very large site is sampled at its most valuable end, not read whole.
- Comparison is against each keyword's own previous position as reported by the data provider — it is not a diff against your last Metric Vault run.
- Keywords that moved fewer than two places are ignored.
- Traffic figures are estimates, not analytics. They are useful for ranking pages against each other, not for reporting exact visits.
- Pages that rank for nothing never appear, however badly they are performing.
- The date range picker does not change the comparison window.
- Saved results are kept for 90 days.
Troubleshooting#
| Symptom | Likely cause | Fix |
|---|---|---|
Enter a value first. | Empty field | Type a domain |
Please sign in to run this tool. | Signed out | Sign in and retry |
This tool needs a paid plan… | Free plan | Upgrade — see Plans and pricing |
No ranked pages found for this domain, so there is nothing to score for decay yet. Try a domain with organic rankings (e.g. nike.com). | The domain has no measurable ranked keywords | Check the spelling, or use a domain that already ranks. See A tool returned no data |
Invalid analysis type: content_decay | The ranked-keyword lookup returned nothing at all for this target | Re-check the domain; try the root domain without a path |
| Only two or three pages listed | A small site, or one whose rankings sit on very few URLs | Expected. The queue reflects what actually ranks |
Everything reads Stable | No material decay was detected | Good news, and the What this means block says so explicitly |
| Same numbers as two days ago | Shared cache hit — three days for this tool | Expected. See Result caching and freshness |
Hourly fair-use limit reached… | Over 100 light-tool calls this hour | Wait for the hourly reset |
FAQs#
How does it know a page is decaying? It compares every ranked keyword's current position against the previous position reported by the data provider, counts the ones that fell two or more places or were lost, and totals the estimated traffic behind them. That total is the page's traffic at risk.
What exactly is the decay score? A 0-100 composite: half of it is the page's traffic at risk relative to the worst page found, roughly a third is the share of the page's keywords that are slipping, and the rest reflects how severe the average slip is. Pages improving on balance are scored down so they do not appear as refresh targets.
Why is a page with a big drop lower in the queue than one with a small drop? Because the queue is ordered by traffic at risk. A four-place drop on a term worth 5,000 visits outranks a twenty-place drop on a term worth 40.
Is this comparing against my last run? No. It compares each keyword against its own previous position in the search data, so a first run is immediately useful — there is no baseline to build.
Why does it cost 1 credit when it looks so detailed? It makes a single, cached provider call and does the analysis in-house. Credits track backend cost — see How credits work.
Can I export the queue? Yes. Export PDF, Export Excel, Export CSV, Export JSON and Share public link are at the top of the view.
Does refreshing a page guarantee recovery? No. A refresh restores relevance and freshness; if a competitor now covers the topic far better, the fix is a rebuild rather than an update.
See also
Was this article helpful?
Thanks — feedback noted for the docs team.