Content Freshness
Detect articles whose content is going stale — with score history and automatic refresh suggestions.
Content Freshness measures, per article, how current the content still is — based on date mentions, fact currency, SERP drift, new developments in the topic, and competing content. You get a freshness score per article plus a history of when the score last dropped. Anyone publishing regularly without active maintenance loses rankings silently and slowly — Freshness is the early warning indicator. Stale articles are handed straight to Content Optimizer, where the fix gets formulated concretely.
What it can do
- Article freshness score — a 0–100 score per article with reasoning per signal.
- Score history — trend over time; you see when an article started to slip.
- Manual re-checks — re-check a single article immediately, without waiting for the next cron slot.
- Project overview — list of all articles sorted by freshness, filtered by status (
fresh,stale,critical). - Refresh suggestions — automatically generated hints on what's outdated (dates, statistics, tools, links).
- Async check — re-check runs as a queue job, the endpoint returns
202.
When to use
- You have a blog with 50+ articles and can't track each one manually.
- Rankings drop with no visible cause — freshness is the first suspect.
- You want to automate periodic content maintenance instead of just producing new content.
- You're building an editorial workflow where articles are queued for cyclical updates.
Workflow
- Overview —
GET /content-freshness?project_id=&status=shows all articles sorted. - Article detail —
GET /articles/{id}/freshnessshows current score + signals. - Trigger re-check —
POST /articles/{id}/freshness/checkstarts a fresh pull, async202. - Read history —
GET /articles/{id}/freshness/historyshows the score trend over time. - Optimize — send critical articles directly to Content Optimizer.
- Re-score — run another freshness check after the optimizer apply.
API
| Method | Endpoint | Notes | Credits |
|---|---|---|---|
| GET | /v1/content-freshness |
List of all articles with freshness score. Filter ?project_id=&status= |
— |
| GET | /v1/articles/{id}/freshness |
Current score + signal breakdown for an article | — |
| POST | /v1/articles/{id}/freshness/check |
Trigger re-check, async 202 |
per run |
| GET | /v1/articles/{id}/freshness/history |
Score history over time | — |
Status values: fresh (score ≥ 75), stale (40–74), critical (< 40).
Filter example:
GET /v1/content-freshness?project_id=42&status=critical
Credits & Limits
- Re-check costs per run (low-cost read pull, depending on pull depth).
- Overview and history are credit-free.
- Freshness scores are refreshed cyclically in the background; a manual re-check is only needed when you want an immediate update.
- Asynchronous — the endpoint returns
202, result via polling or by calling/articles/{id}/freshness.
Related modules
- Content Optimizer — the natural next step for
staleandcriticalarticles. - AI Content Editor — rewrites straight from the editor.
- Content Audit — site-wide inventory; freshness is its temporal drift.
- Automation — set up freshness checks as a recurring job.
Letzte Aktualisierung: May 1, 2026