Back to all recipes
Content OpsJune 10, 2026

AI Automation Recipe: Detect Decaying Content and Refresh It Automatically

Master AI Automation 2026 and Generative Engine Optimization. A recipe to find pages losing traffic with Google Search Console data, prioritize them by impact, and generate AI-assisted refresh briefs on autopilot.

Most teams pour all their energy into new content while their existing library quietly decays. It's a leak: a page that ranked #3 last year slides to #9, loses two-thirds of its clicks, and nobody notices because no alarm goes off. In 2026, with AI Overviews compressing the SERP, content decay is faster and more punishing than ever — and refreshing an existing page is usually higher-ROI than writing a new one, because it already has history, links, and indexation.
This recipe builds an automated decay detector: it reads your Google Search Console data, flags pages that are slipping, ranks them by how much traffic you can win back, and hands you an AI-generated refresh brief for each one.

The Why: Refresh Beats Rewrite

A decaying page is a compounding asset you already own. Refreshing it:
  • Recovers lost clicks without starting from a zero-authority URL.
  • Preserves link equity and indexation — you update in place, keeping the URL.
  • Costs a fraction of net-new content for often larger short-term gains.
The hard part was never the rewrite — it's noticing the decay early and knowing which pages are worth the effort. That's exactly what you can automate.

The Concept: Decay = a Negative Trend in Clicks or Position

Decay isn't one bad week; it's a sustained downward trend. Compare a recent window (last 28 days) against a prior baseline (the 28 days before that, or the same period last year) and flag pages where clicks or average position are trending down while impressions hold — a classic "losing the click, not the demand" signature.
text
For each page:
  recent_clicks vs prior_clicks   → falling?
  recent_position vs prior_position → worse?
  impressions roughly stable        → demand still exists
  → decay candidate, score by recoverable traffic

The How: A Four-Step Recipe

Step 1: Pull the Data from Search Console

Use the GSC API to fetch page-level metrics for two windows. (This is the same data source as the GA4 LLM traffic recipe, from the search side.)
python
# Pseudocode around the Search Console API
def get_page_metrics(site, start, end):
    rows = searchconsole.query(
        site, start_date=start, end_date=end,
        dimensions=["page"], row_limit=25000,
    )
    return {r["page"]: {"clicks": r["clicks"],
                         "impressions": r["impressions"],
                         "position": r["position"]} for r in rows}

recent = get_page_metrics(SITE, "2026-05-13", "2026-06-09")
prior  = get_page_metrics(SITE, "2026-04-15", "2026-05-12")

Step 2: Score Decay by Recoverable Traffic

Don't just flag what dropped — rank by what's worth fixing. A page that lost 2,000 clicks matters more than one that lost 5. Prioritize by absolute clicks at risk.
python
def decay_report(recent, prior):
    out = []
    for url, r in recent.items():
        p = prior.get(url)
        if not p or p["clicks"] < 20:
            continue
        click_delta = r["clicks"] - p["clicks"]
        pos_delta = r["position"] - p["position"]   # positive = got worse
        demand_held = r["impressions"] >= 0.8 * p["impressions"]
        if click_delta < 0 and pos_delta > 0.5 and demand_held:
            out.append({
                "url": url,
                "clicks_lost": -click_delta,            # recoverable upside
                "position_drop": round(pos_delta, 1),
                "impressions": r["impressions"],
            })
    return sorted(out, key=lambda x: x["clicks_lost"], reverse=True)

priorities = decay_report(recent, prior)[:20]   # top 20 worth refreshing

Step 3: Generate a Refresh Brief per Page

For each priority page, scrape its current content and the current top-ranking competitors with Firecrawl, then ask a model what specifically to update. The goal is a brief, not an auto-publish — a human still approves the changes.
text
### SYSTEM
You are an SEO content strategist. A page is losing rankings. Produce a refresh brief.

### INPUT
Target query: {query}
Our current page (markdown): {our_content}
Current top 3 competitors (markdown): {competitor_content}
Position dropped from {old_pos} to {new_pos}.

### TASK
Identify WHY we're likely losing and exactly what to update:
1. Stale facts/stats/dates to refresh (list them specifically).
2. Sub-topics or entities competitors now cover that we don't.
3. Sections to restructure into self-contained, citable answers (for AI Overviews).
4. A new or updated FAQ block (3 questions) targeting the query's follow-ons.
Output as a checklist a writer can execute in under an hour.

Step 4: Route, Refresh, Re-verify

Send each brief to your queue (a Linear issue, a Slack message, a sheet row) via n8n or Gumloop. After the page is updated and redeployed, mark it and let the next monthly run confirm recovery. Schedule the whole job monthly so decay is caught early, not after a page has cratered.

Strategic Deep Dive: The "Freshness Sensitivity" Tier

Not every page decays at the same rate. Tag each page by freshness sensitivity and check accordingly:
TierExamplesCheck cadence
VolatilePricing, "best X 2026", stats roundupsMonthly
AnnualGuides, how-tos with a year in the titleQuarterly
EvergreenDefinitions, conceptsTwice a year
This stops you from wasting refresh cycles on stable pages and ensures the time-sensitive ones never go stale — the same freshness logic used in the AI SEO Content Pipeline.

The Tools

Conclusion

Content decay is invisible until it's expensive. By turning your Search Console data into a ranked, automated decay report with ready-to-execute refresh briefs, you stop the leak before it drains your best pages — and you do it with an hour of human review instead of a week of guesswork. New content grows the library; automated refresh keeps the library alive. In 2026, the teams that win compounding organic traffic are the ones that treat refresh as a system, not an afterthought. </content>
Advertisement

Ready to automate more?

Explore our directory of over 546 autonomous AI tools and platforms to drastically increase your output.

Browse AI Tools Directory