Decay Detection

PageBridge automatically identifies content that is losing search performance over time. It compares recent metrics against baselines and flags pages that cross configurable thresholds.

What is content decay?

Content decay happens when a page gradually loses search visibility. Rankings drop, traffic decreases, and the page becomes less effective at driving organic visits. Common causes include:

  • Competitors publishing fresher or more comprehensive content
  • Search intent shifting for target keywords
  • Algorithm updates changing ranking factors
  • Outdated information reducing user engagement signals

Detection rules

PageBridge detects three types of decay, each with configurable thresholds:

Position decay

Triggers when a page's average position drops by 3 or more positions over the comparison window.

ParameterDefault
Threshold3 positions
Min impressions100
Comparison window28 days
Sustained over14 days

Low CTR

Triggers when a page ranks in the top 10 positions but has a CTR below 1%. This indicates the title/description may need improvement.

ParameterDefault
CTR threshold1% (0.01)
Max position10
Min impressions1,000
Comparison window28 days
Sustained over7 days

Impressions drop

Triggers when impressions drop by 50% or more from the baseline period.

ParameterDefault
Drop threshold50% (0.5)
Min impressions (baseline)500
Comparison window28 days
Sustained over14 days

Severity levels

Each decay signal is assigned a severity based on the magnitude of the change:

  • Low — the metric has crossed the threshold but the change is relatively small
  • Medium — noticeable decline that warrants attention
  • High — significant drop that should be addressed urgently

Quiet period

Newly published content is excluded from decay detection for a configurable quiet period (default: 45 days). This prevents false positives — new content often has volatile metrics as it gets indexed and finds its ranking position.

# Override the quiet period
pagebridge sync --site sc-domain:example.com --quiet-period 60
bash

Custom rules

When using the DecayDetector API programmatically, you can pass custom rules:

const detector = new DecayDetector(db, [
  {
    type: 'position_decay',
    threshold: 5,          // Trigger on 5+ position drop
    minImpressions: 200,
    comparisonWindowDays: 14,
    sustainedDays: 7
  }
])
typescript

See also