What is content decay?
Content decay is the slow, sustained loss of organic clicks on a page that used to perform well, usually over three to twelve months, because the page has become less useful or less competitive than what now ranks. A content decay audit finds those pages by comparing each page’s clicks in Google Search Console with the same weeks a year earlier and with the previous period, rules out seasonality, SERP changes and data glitches, and then decides whether to refresh, consolidate, redirect or leave each page.
The usual causes are ordinary: the facts on the page have aged, competitors have published something more complete, the intent behind the query has shifted, or one of your newer pages has started competing with the old one. None of that happens overnight, which is what separates decay from a traffic drop. If a whole site or template lost traffic over a few days, that is a different problem with different causes; work through the organic traffic drop diagnosis instead.
Most content decay tools, from dedicated SaaS products to spreadsheet templates, flag every page whose clicks or impressions fell. In 2026 that flags far too much. A good share of the “decaying” pages in a naive year-over-year report are not decaying at all, for reasons covered in the next two sections.
Content decay vs seasonality and SERP changes
Before you call a page decaying, rule out the patterns that look like decay in a chart but need a different response, or no response.
| Pattern | What the data shows | How to tell | Response |
|---|---|---|---|
| Content decay | Clicks slide over months; position slips across many of the page’s queries | Down year over year and against the previous period | Refresh or consolidate |
| Seasonality | Down against the previous period, flat year over year | The same dip happened last year | Leave it |
| CTR compression | Position and impressions steady, CTR and clicks down | An AI Overview, ads or other features now sit above you | Improve the snippet; accept some loss |
| Lost SERP feature | Impressions fall on a specific date | Group by search appearance; FAQ rich results stopped on 7 May 2026 | Leave it |
| Data artifact | Impressions, CTR or position shift while clicks hold | Dates line up with a known reporting change | Ignore; judge on clicks |
| Sudden drop | A cliff over days, often site- or template-wide | Lines up with a deploy or a ranking update | Diagnose as a traffic drop |
| Cannibalization | One page falls while another of yours rises for the same queries | find_keyword_cannibalization shows shared queries | Consolidate |
Google’s own guide to debugging Search traffic drops suggests checking a page’s top queries in Google Trends to see whether demand fell across the web or only for you. That check is manual: no Search Console tool, ours included, reads Google Trends. It is worth the two minutes for any page whose main query is seasonal or tied to a product launch.
One more lookalike: if most of a page’s clicks come from branded searches, a decline may reflect brand demand rather than the content. Split them first with the method in branded vs non-branded queries.
Why to judge decay on clicks in 2026
Three changes in the last 18 months distort most year-over-year comparisons of impressions, CTR and average position. The two reporting changes didn’t affect clicks at all.
- The impressions logging error (13 May 2025 to 27 April 2026). Google’s Search Console data anomalies page says a logging error prevented accurate impression reporting for that whole period, that impressions, CTR and average position were affected, and that clicks were not. Once fixed, reported impressions fell. John Mueller confirmed the fix applies only going forward, with the old data left as it was.
- The &num=100 change (around 10–12 September 2025). When Google stopped supporting 100 results per page, many properties saw desktop impressions fall and average position jump. The widely reported explanation is that rank-tracking scrapers stopped generating impressions. Google did not list it as a data anomaly, but it is a second break in any series that crosses it.
- FAQ rich results ended on 7 May 2026. The same anomalies page notes that FAQ rich results no longer appear in Google Search, so pages that used to show them lost those impressions. That is not decay, and re-adding FAQ markup will not bring them back. On-page FAQ sections are still fine as content.
There is also a structural change rather than a glitch. Clicks and impressions from AI Overviews and AI Mode are counted in the Web search type, and every link in an AI Overview shares the Overview’s single position. A page can hold a respectable average position while its CTR falls. See Search Console’s generative AI report for what you can and can’t measure there.
A worked example
Here is a year-over-year comparison of two pages over 90 days, run in late October 2026. The numbers are illustrative.
| Page | Clicks | Impressions | Avg position | Verdict |
|---|---|---|---|---|
| /pricing-guide | 2,140 → 2,090 (−2%) | 96,000 → 58,000 (−40%) | 9.4 → 7.1 | Not decay: an impressions artifact |
| /email-onboarding-guide | 1,920 → 1,180 (−39%) | 142,000 → 61,000 (−57%) | 5.1 → 6.8 | Real decline; impressions exaggerate it |
A tool that ranks by impression loss puts the pricing guide near the top of your list. It shouldn’t be on it.
Step 1: find decaying pages in Search Console
You need two comparisons for every page: year over year, which removes seasonality, and against the previous period, which shows whether the decline is still happening.
The manual way
- Open Performance → Search results, click the date filter, choose the Compare tab and pick Compare last 3 months year over year.
- Open the Pages tab and sort by Clicks Difference to put the biggest losers first.
- Export, then repeat with “Compare last 3 months to previous period”.
- Match the two exports in a spreadsheet and keep the pages that lost clicks in both.
The table stops at 1,000 rows, which is fine for most sites and painful for large ones.
The AI way
The compare_search_periods tool in our hosted Search Console MCP server does both comparisons by page. With compareTo: "previous_year" it compares against the same weekdays 52 weeks earlier; with previous_period it uses the immediately preceding period of equal length. It returns the top gaining and losing pages by click change, looking at up to 1,000 pages in each period.
For example.com on Google, run compare_search_periods with dimension page, range 90 and compareTo previous_year, limit 200. Then run it again with compareTo previous_period. List the pages that lost clicks in both comparisons, with clicks now, a year ago and in the previous 90 days. Ignore impressions, CTR and position in the year-over-year result, because last year’s impressions were over-reported.
Read the two comparisons together:
| Year over year | Previous period | Likely meaning |
|---|---|---|
| Clicks down | Clicks down | Decay candidate: keep it |
| Clicks down | Flat or up | The decline happened earlier and has levelled off; check the trend |
| Flat or up | Clicks down | Probably seasonal: the same dip happened last year |
| Up | Up | Growing; leave it alone |
Set a floor so you are not chasing noise. A loss of 20% or more in both comparisons, and at least 50 clicks over 90 days, is a sensible starting point for a small site; raise the absolute floor as your traffic grows. If you have more than 1,000 ranking pages, ask the assistant to page through query_search_analytics with the page dimension and startRow for each period instead.
Step 2: confirm the decline is a trend
Two 90-day totals can hide the shape of the decline, and the shape tells you the cause. Pull the page’s daily clicks for as far back as Search Console goes (16 months) and look at it week by week.
For https://example.com/blog/email-onboarding-guide/, use multicall to run query_search_analytics with dimensions date, limit 400 and a page equals filter twice: 2025-07-01 to 2026-06-30, and 2026-07-01 to the latest available date. Sum clicks by week and tell me whether the decline is a steady slide, a one-off cliff (give me the week it started) or a seasonal pattern that also happened last year.
- A steady slide over several months is classic decay. Carry on to step 3.
- A cliff points to an event. Compare the week with your deploy history and Google’s ranking update dates (March and May 2026 both had core updates). If many pages fell the same week, treat it as a traffic drop rather than decay.
- A repeating dip that matches last year is seasonality. Note it and move on.
In the Search Console interface, the same check is Performance → Search results, a Page filter set to the URL, the date range set to Last 16 months, and the chart switched to the weekly view to smooth out weekday noise.
Step 3: diagnose why each page is decaying
A page’s total clicks are the sum of many queries. Decay rarely hits them evenly, so find out which queries the page lost and how.
For these 10 pages, run query_search_analytics with dimensions page and query for the last 90 days, then for the previous 90 days using startDate and endDate. For each page, list the 10 queries that lost the most clicks and label each one: position fell (ranking loss), position held but CTR fell (SERP change), or the query no longer sends clicks to this page.
Run in late October 2026, both of those periods fall after 27 April 2026, so the position and CTR labels are trustworthy. If most of a page’s loss happened earlier, add the same 90 days last year to find the queries it lost, but read only clicks from that comparison. Grouping by page and query can also drop some rows, so per-query totals won’t add up exactly to the page’s total; that is expected.
Then run three quick checks before you decide anything:
- Cannibalization. If lost queries now go to another of your URLs, run
find_keyword_cannibalization. Two pages splitting a query often both slide. The keyword cannibalization guide covers how to read each page’s share. - Indexing. Run
inspect_urlon the page. If the Google-selected canonical is a different URL, the last crawl is months old or the page is not indexed, you have a technical problem, not decay: first fix pages Google isn’t indexing. - Search appearance. Group the page’s data by
searchAppearanceto see whether the lost impressions belonged to a rich result type, such as FAQ, that no longer shows.
| Signal | Likely cause | Fix |
|---|---|---|
| Position down across many queries | Competitors overtook; the page is dated or thinner | Refresh |
| Position flat, CTR down | AI Overview or other features above you; weaker snippet | Rewrite title and description; lead with the answer |
| New “best”, “vs” or “2026” queries you don’t serve | Intent shifted | Change the format or create a separate page |
| Two of your URLs share the queries | Cannibalization | Consolidate |
| Old crawl date, wrong canonical, not indexed | Technical | Fix indexing first |
| FAQ appearance impressions gone after 7 May 2026 | FAQ rich results retired | Nothing |
On CTR compression, set expectations honestly. Ahrefs’ February 2026 study of 300,000 keywords found an AI Overview correlated with a 58% lower average CTR for the top-ranking page. A better snippet helps, but some of that loss is not recoverable by editing the page.
Content decay triage: refresh, consolidate, redirect or leave
Every candidate gets one of four outcomes. Decide per page, not per query.
| Outcome | When | How |
|---|---|---|
| Refresh | The page still matches intent and ranks for its core queries, but positions slipped or facts aged | Update in place and keep the URL |
| Consolidate | Two or more of your pages split the same queries or cover one topic thinly | Merge the best material into the strongest URL, 301 the others to it, update internal links |
| Redirect or remove | The topic is obsolete: a retired product, a dead feature, a past event | 301 to a close equivalent if one exists; otherwise return 404 or 410 |
| Leave | Seasonality, data artifacts, lost FAQ results, CTR compression with stable positions, or a page whose traffic doesn’t matter | Note it and recheck next quarter |
On redirects, Google’s site move documentation is explicit: redirecting merged pages to the new consolidated page is fine, but redirecting many old URLs to one irrelevant page, such as the home page, can be treated as a soft 404.
Prioritise with a simple score
Priority = clicks lost in 90 days × business value (1–3) ÷ effort (1–3). A product-adjacent guide that lost 700 clicks and needs a day’s update scores far above a dated news post that lost 900 but converts nobody.
Score each decaying page: clicks lost year over year in the last 90 days, times business value (3 for pages that link to pricing or a product, 2 for core guides, 1 for everything else), divided by effort (1 for a title and snippet fix, 2 for a partial rewrite, 3 for a merge or full rewrite). Suggest an outcome for each: refresh, consolidate, redirect or leave. Show the top 15 as a table.
The content refresh checklist
A refresh is not a new date and two extra paragraphs. Work through this list for every page you decided to refresh.
- Re-check intent. Search the three queries the page lost most clicks on. If the top results are now lists, comparisons or tools and yours is an essay, change the format first.
- Fix what is out of date. Facts, prices, product names, screenshots described in text, steps that no longer match the interface, dead links and years in the title.
- Cover the lost queries. Use the page-and-query data from step 3. Each lost query that still matches the page’s purpose should be answered clearly, ideally under a heading.
- Lead with the answer. Put a direct, two- or three-sentence answer near the top. It helps readers, snippets and AI features alike.
- Rewrite the title and description where position held but CTR fell.
- Cut what no longer earns its place. Outdated sections, padding and duplicated advice push the useful part down.
- Strengthen internal links. Use
get_search_pagesto find your current top pages on related topics and link from them with descriptive anchors. Our guide shows how to find internal linking opportunities in Search Console. - Keep the URL. Don’t restructure URLs during a refresh; you would be mixing two changes.
- Update the visible date only for substantial changes, and keep structured data such as
dateModifiedhonest. - Log the change. Note the date and what changed so you can measure it.
If step 3 showed the page sitting in positions 8–20 for its best queries, the striking distance playbook has more detail on closing those gaps.
How to measure recovery after a refresh
- Mark the change. In Performance → Search results, right-click the chart and choose Add annotation with the date and a short note. Everyone with access to the property sees it.
- Confirm the recrawl. Run
inspect_urland check that the last crawl date is after your change. You can request indexing from the URL Inspection tool in the Search Console interface; our tools are read-only and can’t request it for you. - Wait four to eight weeks. Google says some changes take effect in days and others take months. Shorter windows mostly measure noise.
- Compare equal periods, after against before, on clicks first.
For these eight refreshed URLs, use multicall to run query_search_analytics with dimensions page and a page includingRegex filter matching the eight URLs, for 2026-09-01 to 2026-10-12 and 2026-07-21 to 2026-08-31. For each page, show clicks before and after, the change in average position, and the last crawl date from inspect_url. Mark each page recovered (clicks up 20% or more), partial (up 5–20%) or no change.
Because both periods in that comparison fall after 27 April 2026, impressions and position are comparable too. Pages with no change after eight weeks go back into triage: usually a consolidation, a format change, or an honest “leave”.
Run a quarterly content decay audit with AI
Decay is continuous, so the audit should be too. Quarterly suits most sites. Once your AI client is connected (see the Search Console setup guide for Claude, ChatGPT and Cursor), save this as a reusable prompt:
Run a content decay audit for example.com. Use multicall to run compare_search_periods with dimension page, range 90 and compareTo previous_year; the same with compareTo previous_period; and find_keyword_cannibalization for the last 90 days. Judge decline on clicks only. Shortlist pages that lost at least 20% of clicks in both comparisons and at least 50 clicks year over year, flag any that share queries with another page, and give me a triage table with a suggested outcome for each.
A full audit of 15–20 pages, including the per-page query pulls and a few URL inspections, typically takes 40–60 tool calls. Multicall bundles requests but each call inside it still counts, so plan the audit around your plan’s monthly allowance.
Between audits, a lighter check fits into the 30-minute weekly Search Console routine, and if you need to filter a whole section such as /blog/ against another, the Search Console regex cheat sheet has ready-made page patterns.
Frequently asked questions
What causes content decay?
Usually one of five things: the page’s facts have aged, competitors published something better, search intent for the query shifted, another page on your own site now competes for the same queries, or the results page changed so the same position earns fewer clicks. Technical problems such as a changed canonical or a page Google stopped crawling can look similar, so check indexing before you rewrite anything.
How often should I run a content decay audit?
Quarterly suits most sites. Large publishers and sites in fast-moving topics may want a monthly check of their top pages. Audit less often and decay compounds unnoticed; audit more often and normal week-to-week noise starts to look like a trend.
Should I compare year over year or period over period?
Both. Year over year removes seasonality, and the previous period shows whether the decline is still happening. A page that lost clicks in both comparisons is a strong candidate. In 2026, read year-over-year comparisons on clicks only, because Search Console over-reported impressions from 13 May 2025 to 27 April 2026.
Is a drop in impressions always content decay?
No. Impressions fell for many sites when Google stopped supporting the num=100 results parameter in September 2025, when Search Console corrected an impressions logging error in April 2026, and on pages that lost FAQ rich results after 7 May 2026. None of those is decay. If clicks held steady, the page is probably fine.
Should I update the publish date when I refresh a post?
Show an updated date when you have substantially changed the content, and keep the original publish date alongside it if you show both. Google’s helpful content guidance specifically questions changing dates to make pages seem fresh when the content has not substantially changed.