Content Decay: Spot Losing Posts Before Revenue Drops
Content decay shows up in Search Console months before it hits signups. A date-comparison method to catch it early and rule out seasonality and updates.
TL;DR Content decay is a slow, page-level loss of search demand captured by one URL, and it appears in Search Console impressions and position long before it shows up in trial signups. Compare equal date ranges per page, then rule out seasonality, SERP-feature changes, and algorithm updates before you call anything decay. Detection is this post; deciding what to refresh is the next one.
Here is a hypothetical that I have watched play out, in some form, on more than one small SaaS blog. A founder's best-converting post, a comparison page that sends a handful of trials every week, starts sending slightly fewer. Nobody notices for two months, because trials are noisy and the monthly total still looks fine thanks to two newer posts picking up slack. By the time revenue reporting shows a dip, the comparison page has slid from position 4 to position 9, and a competitor's fresher page owns the spot.
The ranking loss was visible in Search Console the whole time. It just was not visible in the dashboard the founder actually looked at.
That gap is the whole problem. Revenue is the last place decay shows up, not the first.
What is content decay, and why small sites feel it first
Content decay is the gradual decline in organic traffic to a specific page that used to perform, caused by that page losing relevance, rankings, or click share for the queries it once won. The key words are gradual and specific page. A sitewide cliff overnight is not content decay; that is a technical issue, a penalty, or an update, and it needs a different investigation.
Small, low-authority sites feel decay harder for a structural reason. A big site with 2,000 ranking pages can lose ten of them and the aggregate barely moves. A 40-post SaaS blog usually gets most of its non-branded clicks from a few pages. When one of those slips, there is no cushion, and because you cannot out-link the competitor who replaced you, the window for a cheap fix is short.
That is also why content decay work on a small site should be detection-first. Catching a slide at position 6 is a title-and-section fix. Catching it at position 14 is a rewrite.
Why revenue is a lagging indicator
Think about the order in which a decaying post loses value:
- Impressions shift. Google starts testing other pages for your queries, or the query set your page appears for narrows.
- Average position slips. Often by small amounts, and often hidden by query-mix changes (I explain that trap in how to read Search Console average position).
- Clicks fall. Now the traffic drop is real, but it is still spread across weeks.
- Conversions fall. Trials and signups from that page decline, and the noise in small numbers hides it for a while longer.
- Revenue moves. The last and slowest signal.
If your reporting starts at step 4 or 5, you are always reacting late. The fix is to watch steps 1 to 3 at the page level, on a fixed cadence. I lay out the reporting side of that in an SEO reporting format that drives decisions; this post covers the detection method that feeds it.
The Google Search Console compare-dates method
Google's own guide to debugging Search traffic drops recommends starting from the Performance report's main chart, widening the view to a 16-month window to see yearly patterns, and comparing periods such as the last three months against the previous period or year over year. That is the backbone of the method. What I add is doing it per page instead of sitewide.
Step 1: Pick the right comparison windows
Run two comparisons for every page you care about:
- Last 28 days vs the previous 28 days. Catches recent movement.
- Last 3 months vs the same 3 months last year. Neutralizes seasonality, if the page is old enough.
Google's help page on advanced filtering and comparison suggests using weekly or monthly granularity when comparing date ranges, because it smooths out day-of-week effects. For a small site with thin daily numbers, that advice matters even more. Daily charts on a page with 30 clicks a week are mostly noise.
Step 2: Filter to one page, then look at queries
In the Performance report, add a Page filter for one URL and switch on all four metrics: clicks, impressions, CTR, and average position. Then open the Queries tab with the date comparison active. You want to know which queries lost impressions or position, not just that the page did.
This query-level view is where most false alarms die. If the page lost clicks only on one query that was never relevant, you do not have decay. You had a lucky ranking that ended.
Step 3: Read the pattern across metrics
The combination of metrics tells you more than any single one:
- Impressions flat, position flat, CTR down. The SERP changed around you. Look at the results page itself.
- Impressions down, position flat. Search demand fell. Probably seasonal or a market shift, not your page.
- Impressions flat or up, position down. Classic decay. Something else is winning your queries.
- Impressions down, position down. Decay, or an update. Check the timeline before deciding.
Step 4: Check against another URL of yours
Before blaming the page, check whether another URL on your own site started ranking for the same queries during the same window. If it did, the problem is cannibalization, not decay, and the fix is consolidation. I cover that diagnosis in finding and fixing keyword cannibalization.
Separating decay from things that only look like it
A declining organic traffic line has at least four common causes besides decay. Rule them out in this order, because each is cheaper to check than the last.
Seasonality
Google's debugging guide lists seasonality and changing user interests as a cause of traffic drops and points to Google Trends as a way to check whether interest in a topic changed across the whole web. If your year-over-year comparison shows the same dip in the same months, and Trends shows the same shape for your head query, the page is fine. Demand left, and it will come back.
The catch for young SaaS blogs: if the page is less than a year old, you have no year-over-year baseline. In that case, lean on Trends and on your impressions-versus-position pattern. If position held steady while impressions fell, that is demand, not decay.
SERP-feature changes
Sometimes your page ranks exactly where it did, but the results page around it changed. A new AI Overview, a People Also Ask block, a video carousel, or a forum module can push a position-3 organic result below the fold. Google's visual elements gallery is a useful reference for what those elements are called.
The signature is CTR falling while position holds. The diagnosis is manual: search the query in a clean browser and look. If the click loss is caused by a feature you cannot win, rewriting the post will not help, and you should know that before spending a weekend on it.
Algorithm updates
Google publishes confirmed ranking updates, including core and spam updates with their start and end dates, on the Search Status Dashboard ranking history. Line up your page's drop date against that list.
An update-driven drop usually hits several pages at once and starts within the rollout window. Decay usually hits one page and creeps. If several unrelated posts dropped in the same week a core update rolled out, you are dealing with a sitewide quality question, not five separate decaying posts.
Tracking glitches
Search Console itself occasionally has logging issues. Google keeps a list of data anomalies in Search Console with affected dates. If your drop is a single strange day that coincides with a listed anomaly, ignore it. Technical causes like an accidental noindex tag or blocked crawling are also on Google's list of traffic-drop causes, and those show up as cliffs, not slopes.
A content decay severity table
Once you have ruled out the impostors, grade what remains. These thresholds are my working heuristic, not industry benchmarks. Adjust them to your own baseline, which I explain how to build in SEO benchmarks for small SaaS.
| Severity | Pattern in the comparison | What it usually means | Action |
|---|---|---|---|
| Watch | Clicks down slightly, position stable, one comparison only | Noise or minor SERP shift | Re-check next cycle |
| Early decay | Position slipping on core queries, impressions stable | Competitors overtaking you | Queue for refresh review |
| Active decay | Clicks and position down in both comparison windows | Page losing relevance | Refresh this month |
| Severe decay | Page has fallen off page one for its main query | Intent or SERP has moved on | Rewrite, merge, or retire |
| Not decay | Matches seasonality, update timing, or a SERP feature | External cause | Document it and move on |
The most important row is the last one. A good content decay process mostly produces "not decay" verdicts. That is a feature. It stops you from rewriting healthy posts because one month was quiet.
Make it a cadence, not a panic
Detection only works if it runs before you are worried. My rhythm on a small blog:
- Monthly: run the 28-day comparison on your top pages by clicks and your top pages by conversions. Those lists overlap less than you would think.
- Quarterly: run the year-over-year comparison across every post with meaningful impressions, and fold it into a broader content audit you actually act on.
- After any confirmed update: check the dashboard dates against your top pages within a week of rollout ending.
Keep a simple log: page, date checked, severity, suspected cause, next step. After two or three cycles you will see which posts decay on a schedule and which never move. That log also gives you the page-level revenue context that measuring content marketing ROI depends on, because you can tie a slipping page to the trials it used to send.
Where detection stops and refreshing starts
This post deliberately stops at diagnosis. Knowing a page is decaying does not tell you whether it deserves your next three hours more than a new post, or which part of it to change. That prioritization and execution work lives in my guide on what to refresh first and how to do it. Treat it as the next step: take every page graded Early, Active, or Severe from the table above and run it through that triage.
The bigger lesson for low-authority sites is that decay is cheaper to prevent than to fix. Posts built on winnable queries, with clear intent and a SERP you can actually compete on, hold their ground longer because you were not squeezing into a fight you could barely win in the first place. That is the logic behind how I plan content in Boomranq: pick the queries a small site can win, then watch them so you notice the moment you start losing one.