How to Find the Pages on Your Site That Are Quietly Decaying

Svg
  • Reading time 14 min
  • Summarize with AI
  • Sep. 4, 2026

Most pages on your site will not die outright, they will drift. Score every published page on ten mechanical signals before you spend a single API credit. Age since the last real edit is worth 40 of the 100 points, and everything else on the list reads only your own database.

We built that scanner, pointed it at our own 197 pages, and found it was measuring us wrong, so below is our method, our weights, and our failure.

What does content decay actually look like?

Decay is a page losing search traffic while nothing about it visibly breaks: it still loads, it still ranks for something, and it still reads the way it did on the day you published it, which is exactly why almost nobody catches it in time, and why the loss usually surfaces in a quarterly report rather than in an alert.

What changed sits outside the page, because rivals published longer answers, the topic moved on, and the year in your title now reads as a warning to anyone scanning the search results rather than a promise of something current, which costs you the click before anybody has read a word of it.

Nobody files a bug for that.

On our own library the pattern was ordinary and the ranking was not. Of 197 scored pages, our contact page came first.

It runs 394 words. The top-10 average is 594, the page still carries a date from 2017, and a booking page came second at 236 words against an average of 1,476.

Both scores were arithmetically correct and commercially useless, which is the most common way a refresh queue dies in its first week.

The ten signals you can score for free

Six of the ten are about time: months since the last real edit, whether the page has been edited at all, and a stale year sitting in the title.

Then the newest year mentioned anywhere in the body, percentage claims old enough to need re-checking, and a dateModified in your schema that lags behind your database.

Three are about structure: word count against your own floor, fewer than three internal links pointing in, and a long post carrying no H2 headings.

The tenth is the only one that measures an outcome instead of a cause, and it is the click drop Search Console has already recorded for you. None of it costs a credit.

The ten decay signals and the maximum points each can contributeMonths since the last real edit can add up to 40 points. A measured Search Console click drop adds up to 25. A stale year in the title adds up to 15. Never edited since publication adds up to 10, and thin content adds up to 10. The newest year mentioned in the body adds up to 8. Ageing percentage claims add up to 7. Weak internal linking and a lagging dateModified in schema each add up to 6. A long post with no H2 headings adds up to 4. The raw total of 131 is capped at 100.What the decay score is actually made ofMaximum points each signal can contribute to a single page. Raw total 131, capped at 100.Measured decayProxy for decay Months since the last real edit40Search Console clicks actually fell25A stale year sitting in the title15Never edited since it was published10Thin against your own word floor10Newest year in the body is old8Percentage claims that may have aged7Fewer than three internal links6Schema says it is older than it is6A long post with no H2 structure4 Only one of these ten measures decay. The other nine are the proxies you can score without a Search Console connection.
The maximum points each of the ten signals can add to one page. The raw total is 131, capped at 100.

The raw total comes to 131 points, capped at 100. That cap is not tidy.

Two badly decayed pages can both land on 100 carrying completely different problems underneath, so treat the number as a queue position rather than a diagnosis of what is wrong.

Nine of these ten signals are proxies for decay. Only the Search Console drop is decay itself.

Why is age worth 40 points and a measured click drop only 25?

Because most sites arrive without a Search Console connection, and a scanner that gives you nothing until you finish an OAuth flow is a scanner nobody runs twice.

Age is the one signal every site already has on day one, so we weight it highest for availability rather than for quality of evidence.

That is a compromise, and it is the weakest part of our model. On a site with clean Search Console history, a page that lost 60% of its clicks in ninety days deserves to outrank a page that is merely old.

At the default weights it will not always do so. The weight is configurable for exactly that reason, so if you have the click data, raise it and let the measurement win.

Does any of this matter to AI engines, or only to Google?

It matters to both. Less than the freshness industry claims.

Ahrefs analysed 16,975,000 cited URLs across ChatGPT, Perplexity, Gemini, Copilot, AI Overviews and the organic Google results, which makes it the largest public read we have on the question. Pages the assistants cited had last been updated 909 days earlier on average, against 1,047 days for pages in the organic top 10.

That gap is real, and the absolute number is humbling.

The typical page an AI assistant cites was last touched about two and a half years ago. Recency tilts the odds for you rather than deciding them for you, and in every dataset we have read it ranks below retrievability, ranking position and how often the brand is mentioned elsewhere.

Published age moves too.

AI-cited URLs averaged 1,064 days since publication against 1,432 days for the organic top 10, which the same study puts at 25.7% fresher.

On the Google side, freshness has been query-dependent since 2007, when Query Deserves Freshness began promoting new pages on topics that are genuinely moving.

Your evergreen definition page does not need a date on it. Your pricing page, your regulation summary, or anything carrying a year in the title does.

Two broad core updates landed in 2026, in March and in May, and Google’s advice after each was what it always is: make content that satisfies people.

Changing your date to look current is not that. Changing what your page says, because the world moved underneath it, is.

Refreshing is not about the date. It is about whether the page still says the truest available thing.

Show me the plugin

Reviva is the WordPress plugin this method runs on.

How do you know your own measurement is right?

You test the measurer against a page whose length you already know. We did not do that for two releases.

Our parser read the first <article> element in the document. On most modern themes that element is a related-posts teaser card, so a 2,809-word page measured as 13 words and came back reported as thin and orphaned.

Why our own measurement was wrong, and what fixed itUntil version 1.2.1 the page parser read the first article element in the document. On a modern theme that element is usually a related-posts teaser card, so a 2,809 word page measured as 13 words and was reported as thin and orphaned. The parser now picks the container holding the most text, which on the same page is the main element, and measures 2,809 words against a top-ten average of 2,772. The same bug affected competitor parsing, so length comparisons were wrong on any site using card grids.BEFORE · UP TO v1.2.0Take the first <article> in the documentheader<article> — related post13 words<article> — related post<main> — the actual page, never readVerdict: “thin and orphaned”Your words 0 · gap −2,725 · the page is not emptyAFTER · v1.2.1 ONWARDSTake the container holding the most textheader<article> — 13 words, skipped<article> — 11 words, skipped<main> — longest text node wins2,809 wordsVerdict: “needs to align with recent developments”Your words 2,809 · top-10 average 2,772 · gap +37
The parser bug that made a 2,809-word page measure as 13 words, and the rule that replaced it.

Here is the same page on the same day, before and after the fix.

The old report said your words 0, gap minus 2,725, and concluded that the page was empty and lacked essential content. The new one says 2,809 words against a top-10 average of 2,772, a gap of plus 37, with three of seven rivals updated this year.

Nothing about the page changed. Only the ruler did.

Two things about that are worth saying plainly. The bug affected competitor parsing as well as our own, so every length comparison we produced against a card-grid site was wrong in both directions, including the ones we showed clients.

The parser fix alone did not clear it either, because snapshots were cached against each page’s modified date, so unedited pages kept serving months-old parses through the following release.

It took us three versions to close, because 1.2.1 fixed the parser, 1.2.2 keyed the snapshot cache on the plugin version so that an upgrade invalidates every old parse automatically, and 1.2.3 fixed the exclusion list that was pinning our own utility pages to the top.

We now ship a check that answers the question directly instead of asking you to trust us. It fetches one of your own pages, bypasses every cache, and reports the kilobytes returned, the element it measured inside, the word count, and the first words it read.

On our site that check currently reads 395 KB downloaded, measured inside <main>, 1,151 words counted.

If one of your pages downloads as 400 KB and measures as 13 words, that single line tells you so before you act on anything else in the report.

My read on this

Most refresh programmes are ranked by age, and age is the wrong sort of old. Age is not urgency. I would spend a refresh budget almost entirely on the pages already sitting between position 4 and 15, because those pages have proved Google will rank you for the topic. They need a push rather than the full rescue an abandoned page would take.

An old page nobody finds is not a decayed page but a page that never worked, and rewriting it is a new project wearing a maintenance costume.

The second thing I would change is who gets to rank first, because our own queue put a contact page and a booking page at the very top. A scoring model that cannot be told to ignore your legal, contact and careers pages will waste the opening week of every programme.

Beshoy Adel, Head of SEO and GEO at VOCTOS, 13+ years in search

Ours could not, until we found that the exclusion setting skipped re-scoring but left the old score sitting in the database, which pinned excluded pages to the top permanently.

What an evidence-led refresh brief actually contains

It names its sources. Every “what changed” item carries the URL it came from and the date that source was published.

Every missing section names a ranking page that actually covers it, and every proposed statistic is flagged for re-verification rather than asserted as fact.

Where the evidence is thin, the report says so. It lowers its own confidence rating instead of writing around the gap. That is the difference between a brief your writer can act on and a list of opinions with a logo on it.

Reviva content gaps tab showing a missing section marked high priority, the competitor URLs that cover it, an estimated word count, questions to answer and entities the top ten mention
The content gaps tab. Each missing section names the ranking pages that already cover it, so the recommendation carries its own evidence.

The comparison table is the part clients read first, and it lists each ranking page with its word count, H2 count, last modified date and schema types.

That turns “we need more content” into something specific: three of the seven rivals updated this year, one publishes an FAQ block, and you have neither.

The objections we hear most

These three arrive on almost every refresh call, in almost these words. Each one describes a real failure mode rather than a misunderstanding. The answer below names the mechanism first and the fix second, because a fix nobody on your team can explain will not survive the next handover.

“We refreshed the page and Google did not notice.”

Call it the invisible refresh. Your database says you edited the page in June.

The JSON-LD on the published version still announces a dateModified from last year, usually because a caching layer or an SEO plugin is emitting a stored value.

That gap scores up to 6 points and gets named in the report. Check the rendered HTML, not the editor.

“Our oldest pages are the ones we would never rewrite.”

That is the utility page problem, and it is the single most common reason a refresh queue gets abandoned.

Your contact, careers, legal and booking pages are genuinely old and genuinely short, so they win a contest they should never have entered.

Exclude them by ID. Then confirm the exclusion actually removed them from the queue instead of quietly skipping the recalculation.

“I do not want a tool telling my writers what to write.”

Neither do we, which is why ours refuses to rewrite anything. What it produces is evidence.

What changed in the world, who covers the subjects you skip, which of your outbound links have gone dead since you published, and which pages on your own site already mention this topic in plain text without linking to it.

The editing decision stays with your team, where it belongs.

Where this sits in what VOCTOS runs for clients

Reviva is not a side project. It is one of the tools our own team runs on client libraries.

Next to it sit two Chrome extensions we built for daily checks, and a client portal that puts AI search measurement, technical SEO, content workflow, paid media and billing behind a single login.

We build them because the market did not.

As of August 2026 we had not found another agency in the region putting all five behind one login. We would rather be corrected on that than repeat it unchecked.

VOCTOS has run search out of Cairo since 2017, across 500+ projects in 22+ countries, and Reviva came out of the quarterly refresh checklist those projects kept generating by hand.

We moved into AI search before it had a settled name, we are a Google Premier Partner, and TechBehemoths ranks us the top GEO agency in Egypt.

A decay scanner stops being a convenience and becomes the only option at a library in the thousands.

Delta Medical Laboratories is that case. Since March 2026 the brand has grown past a million monthly organic visits across 159,200 organic keywords, 1,186 of them ranked first in Saudi Arabia, and 5,570 Delta pages are now cited across ChatGPT, Gemini, Google AI Overviews and AI Mode.

Nobody audits 159,200 keywords by hand. No quarterly spreadsheet catches the handful of pages that slipped last month while the team was busy publishing the next batch of new ones. That is one client in one market, and it is not a forecast for yours.

The useful question is not whether your content is old

The useful question is whether the pages that already earn attention are still the best answer available for the query they win.

Age is a cheap proxy. A model built on age alone will send you confidently to your own contact page.

Measured traffic loss is the real signal. Structural comparison against the live top 10 is what turns a score into a brief somebody can action on Monday morning.

If you have Search Console connected and a library above roughly 50 pages, run the scan, raise the weight on the click data, exclude your contact and careers and legal pages by ID, and then work the top ten by hand.

If you are not there yet, the free pass alone will still surface the stale years in your titles and the pages sitting on fewer than three internal links. Both are worth an afternoon of anybody’s time, so start there.

Don't miss the chance to
make your website more visible!

Initial consultation and
audit of the current situation

For free
Submit a request
Previous article
Did you like the article?
Share:

Read also

  • Svg
    Article

    What Is Relevance in SEO, Explained Simply

  • Svg
    Article

    ChatGPT Is Saying Something False About My Company. What Can I Actually Do?

  • Svg
    Article

    How to Edit Website Code: A Guide for Beginners and Professionals

  • Svg
    Article

    How to Find Out a Website’s CMS: 4 Simple Ways

  • Svg
    Article

    Study: The State of Arabic AI Citations in 2026

  • Svg
    Article

    Study: AI Search Optimization in the Middle East: The Arabic Citation Gap

  • Svg
    Article

    Best Tools for Testing Website Responsiveness (Mobile-Friendliness)

  • Svg
    Article

    Eduverse Online School SEO Case Study: 151K Sessions and 75% Organic Share in 1 Year

Our Case Studies

All case studies
Delta Logo

SEO & GEO for Delta Medical Labs

Svg GEO
SEO & GEO for Delta Medical Labs

1M+ monthly organic visits, 159,200 ranked keywords, 3,600 AI Overview citations, and 1,186 #1 rankings in KSA.

VPNLY LOGO

Arabic SEO, GEO & guest posting for VPNly

Svg SEO
Arabic SEO, GEO & guest posting for VPNly

65K peak monthly organic visits, 55 guest posts, and 149 pages cited by AI engines.

Ogaei Logo

SEO & GEO for Ogaei Virtual Care

Svg GEO
SEO & GEO for Ogaei Virtual Care

From 3 to 7,931 monthly organic clicks in 7 months, 2.9M+ impressions, and 40+ keywords in Google’s Top 10.

eduverse logo

SEO for Eduverse

Svg SEO
SEO for Eduverse

12× search traffic in 10 months, 45% of target keywords in the top 5, and 55% in the top 10.

Trusted by

Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg
Svg

Tell us about your project

* Required fields

File size must not exceed 2MB. File extensions: docx, doc, pdf, xlsx, xls