Content Decay Audit - Google Search Console Traffic Drop avatar

Content Decay Audit - Google Search Console Traffic Drop

Pricing

$1.00 / 1,000 page analyzeds

Go to Apify Store
Content Decay Audit - Google Search Console Traffic Drop

Content Decay Audit - Google Search Console Traffic Drop

Compare two Google Search Console page exports. First 25 pages free, then $0.001/page. Flags LOST, DECAYING, CTR_DROP, RANK_SLIP, STRIKING_DISTANCE, GROWING or STABLE, ranked by clicks lost, with a refresh plan per page. No API key.

Pricing

$1.00 / 1,000 page analyzeds

Rating

0.0

(0)

Developer

Umair Saleem Mohammad Saleem

Umair Saleem Mohammad Saleem

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Answer first: this actor is a content decay audit for Google Search Console. Give it two GSC Pages exports (previous vs current period) or one compare export. It labels every page LOST, RANK_SLIP, DECAYING, CTR_DROP, STRIKING_DISTANCE, NEW, GROWING or STABLE, ranks pages by clicks lost and writes a content refresh plan for the biggest losers. First 25 pages free every run, then $0.001 per page. No Google login, no API key.

Quick facts
Best forContent decay audits, finding pages losing Google traffic, GSC traffic drop diagnosis, content refresh planning
InputTwo GSC Pages CSVs (or one compare CSV), pasted or as public CSV URLs
OutputOne row per page: status, clicksLost, click / impression / position changes, refreshPlan
PriceFirst 25 pages free every run, then $0.001 per page. No start fee
NeedsNo Google login, no API key, no crawl
Not includedLive GSC API connection, content rewriting

Unlike dashboards that only show % change, it names the failure mode (lost vs rank slip vs CTR drop vs shrinking demand) so you know what kind of fix each page needs.

How the labels work

StatusMeaning
LOSTHad enough previous clicks, now zero or gone from the report
RANK_SLIPClicks down 30%+ and average position worse by 3+
DECAYINGClicks down 30%+ and impressions down 20%+ (demand or coverage shrinking)
CTR_DROPClicks down 30%+ while rankings/impressions held (SERP features, weak title)
STRIKING_DISTANCEPosition 8–20 with ≥100 impressions: quick-win refresh
GROWINGClicks up 20%+
NEWPresent only in the current period
STABLENo action needed

Thresholds match the Actor code (minPrevClicks default 10; pages below that are only checked for striking distance). Label priority when several rules could match: LOST → RANK_SLIP → DECAYING → CTR_DROP → STRIKING_DISTANCE → GROWING → NEW → STABLE.

Input example

Paste two GSC Pages exports (or one compare export in Current period CSV and leave Previous empty):

Current period

page,clicks,impressions,ctr,position
https://example.com/seo-guide,420,15000,2.8%,6.1
https://example.com/keyword-research,90,9000,1.0%,9.4

Previous period

page,clicks,impressions,ctr,position
https://example.com/seo-guide,800,21000,3.8%,4.2
https://example.com/keyword-research,210,9300,2.3%,8.9

Columns are detected automatically (page, clicks, impressions, CTR, position). A GSC compare export with “previous / current” column names in one file also works. Public CSV URLs also work. Optional: minPrevClicks (default 10), maxRefreshPlans (default 25).

Output sample

[
{
"page": "https://example.com/seo-guide",
"status": "DECAYING",
"clicksLost": 380,
"clicksPrev": 800,
"clicksNow": 420,
"clickChangePct": -47.5,
"impressionsPrev": 21000,
"impressionsNow": 15000,
"impressionChangePct": -28.6,
"positionPrev": 4.2,
"positionNow": 6.1,
"positionChange": 1.9,
"refreshPlan": [
"Demand or coverage is shrinking: check if the topic moved to new queries in GSC",
"Re-target the page at the growing queries; update title/H1 and add an answer-first summary",
"Consider merging with an overlapping page"
]
}
]

Dataset rows are ranked by clicks lost (then status severity, then impressions). A SUMMARY key-value record gives pagesAnalyzed, totalClicksLost, and byStatus counts. Refresh plans are attached to the top N pages by clicks lost (maxRefreshPlans, default 25).

Pricing (pay per event)

Pages comparedYou pay
First 25 pages every runFree
100 pages$0.075 (75 × $0.001)
500 pages$0.475
1,000 pages$0.975
5,000 pages$4.975
  • Event charged: page-analyzed at $0.001 per page after the free tier.
  • Refresh plans are included in the page price. No actor-start fee.
  • You are not charged for pages that were not successfully analyzed. Compute is CSV parse only, so platform compute cost stays near zero even on large exports.
  • Cap spend with Apify run options / account spend limits if you want a hard ceiling.

Cost vs value

A weekly GSC compare on a 500-URL site costs under $0.50 and surfaces the pages that lost the most clicks — cheap enough to schedule, specific enough to act on.

How it compares (live Apify Store prices, verified 18 Oct 2026)

List prices on the Apify Free plan, read from the Apify Store API on 18 October 2026.

ActorWhat you getPriceCost for ~1,000 pages
cygnix_labs/content-decay-audit (this)GSC CSV compare → status label + refresh plan$0.001 / page, first 25 free, no start fee~$0.98
junipr/content-decay-signal-auditorCrawl + decay signals + recommendations$0.0115 / page + $0.035 start (signals, recommendations, $0.40 report extra)~$11.50+
kuantum/seo-decay-radarContent monitoring observations$0.015 / observation~$15
siteverdict/siteverdict-gsc-ga4-analystLive GSC + GA4 property analysis$0.35 / property + $0.005 / URL inspectedDifferent job (API connection)
alizarin_refrigerator-owner/gsc-data-analyzerGeneral GSC insights$0.10 start + $0.08 / analysis + extrasNot page-level decay rows

Honest take. For "which pages are losing clicks and why", this is about 10x cheaper than the other page-level decay tools. It works from GSC exports you provide; if you want an actor that connects to the live GSC and GA4 APIs for you, siteverdict does that.

For AI agents / MCP

When an agent should call this actor: the user asks which pages are losing Google traffic, about content decay, a traffic drop in Search Console, or which old posts to refresh first, and can provide GSC Pages exports.

Connect the Apify MCP server with only this actor enabled (works in Claude, ChatGPT, Cursor, VS Code, Codex and any MCP client):

https://mcp.apify.com?tools=cygnix_labs/content-decay-audit

Or search for it with the default server: search-actors keywords such as content decay, Search Console, traffic drop.

Example call-actor input:

{
"currentCsvUrl": "https://example.com/gsc-pages-current.csv",
"previousCsvUrl": "https://example.com/gsc-pages-previous.csv",
"minPrevClicks": 10,
"maxRefreshPlans": 10
}

What to read from the result: rows are sorted by clicks lost; each has page, status, clicksLost, clickChangePct, positionPrev / positionNow and refreshPlan (for the top maxRefreshPlans pages). SUMMARY gives pagesAnalyzed, totalClicksLost and byStatus. Use currentCsvText / previousCsvText to paste data inline.

Cost control for agents: Sites with 25 pages or fewer are free; 500 pages cost under $0.50. Pass maxTotalChargeUsd in callOptions to hard-cap spend. This actor is pay-per-event, so it also works with Apify agentic payments (no Apify account needed for the agent).

Example prompt: "Compare my last 3 months vs the previous 3 months of GSC pages and give me a refresh plan for the 10 pages that lost the most clicks."

FAQ

Which periods should I compare? Last 3 months vs the previous 3 months, or year-over-year for seasonal sites. Does it rewrite content? No. It tells you what to fix and in what order. Pair with Keyword Clusterer + Content Brief for briefs. Do I need a Google login or API key? No. Export CSV from Search Console → Performance → Pages and paste it (or give a public CSV URL). What if I only have one compare export? Paste it in Current and leave Previous empty — the Actor detects compare columns (clicks … previous / current). Why are some low-traffic pages STABLE? Pages with previous clicks below minPrevClicks (default 10) are only evaluated for STRIKING_DISTANCE; otherwise they stay STABLE so noise does not flood the report. Can I cap spend? Set a max total charge in Apify run options / your account spend limits. The run stops when the event charge limit is reached. Errors / empty CSV? You are not charged for pages that were not successfully analyzed. An empty current CSV fails the run before any charge.

What is content decay? A page that used to earn steady search traffic and is now losing clicks, because rankings slipped, the SERP changed (lower CTR) or demand for the topic shrank. This actor separates those causes because each needs a different fix.

Integrations

Run via the Apify API, schedule weekly runs, or send results to Google Sheets, Make, Zapier, n8n, Slack or webhooks.

Changelog

  • 0.1.6 (2026-10-18): README rewritten answer-first for search and AI agents: quick facts, comparison re-verified on 18 Oct 2026, "For AI agents / MCP" section with example input. Price unchanged ($0.001/page, first 25 free).
  • 0.1.1 (2026-10-16): Store comps, cost table, default memory 1024 MB.

More SEO and AEO tools by Cygnix Labs

Questions or a feature request? Open an issue on this actor's Issues tab. We answer within 24 hours.