Skip to content

seoprocheck/content-decay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

content-decay

Find the pages bleeding search traffic — and fix them by enriching, not pruning.

Python 3.8+ Zero dependencies License: MIT


Content decay is silent: pages that earned rankings slowly lose clicks, then impressions, then everything. Most tools respond with "pruning" — delete or noindex the losers. That's backwards: deleting content you already earned equity with teaches Google your site is shrinking. Decay is a signal to invest.

content-decay reads a Google Search Console export, flags every decaying page, ranks them by lost traffic, diagnoses the decay pattern, and prescribes the matching enrich move.

No API keys. No dependencies — just Python and a CSV you already know how to export.

Get the input (30 seconds in GSC)

  1. Search Console → Performance
  2. Date filter → Compare → e.g. Last 3 months vs Previous period
  3. Pages tab → Export → CSV

Usage

python3 content_decay.py gsc-compare-pages.csv
python3 content_decay.py gsc-compare-pages.csv --min-clicks 10 --top 30
python3 content_decay.py gsc-compare-pages.csv --json          # for dashboards/CI
python3 content_decay.py --current now.csv --previous before.csv   # two single exports

Try it instantly with the bundled fixture:

python3 content_decay.py fixtures/sample-compare-pages.csv
  [SEVERE  ] https://example.com/best-olive-oil/
    clicks 450→120 (-73.3%) · impressions -6.2% · lost ≈330 clicks · score 53.2
    impressions held, clicks fell → snippet/SERP problem
    → Rewrite title & meta description against the queries you still rank for;
      add/refresh structured data so the snippet competes again.

The diagnosis matters

Same symptom, different diseases — the fix depends on which numbers fell:

Pattern Diagnosis Enrich move
Impressions held, clicks fell Snippet/SERP problem — you still rank, people stopped clicking Rewrite title/meta, refresh structured data
Impressions collapsed Relevance or freshness loss Substantial content update: new data, new sections, internal links
Gradual slide in both Out-competed Add original data, tables, examples, FAQs — go deeper than the SERP

Works on the Queries tab export too (decaying queries instead of pages).

Why enrich-first

Pages with history carry links, engagement signals, and indexed equity. Pruning trades all of that for nothing. The only decayed page worth removing is one you genuinely can't make useful — and that's rarer than the pruning industry wants you to believe.

License

MIT © SEO Pro Check · built by @seoprocheck.

About

Find pages bleeding search traffic in GSC exports — diagnosed and ranked, with enrich-first (never prune) fixes. Zero deps.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages