Scholar HeistScholar Heist
← All skills
SEOv1.0.0 · 2026-08-07

Content Refresher

The most under-rated skill in the pipeline, enforced by ratio: for every 2 new posts, refresh 4 old ones. A refreshed post keeps its URL, its link equity and its rankings, and gains a freshness signal. A republished post starts from zero. Refreshing is usually worth more than the next new post, and almost nobody does it.

Download skill

What it does

  • Select by signal, not nostalgia
  • Specify each refresh exactly
  • Apply through update-by-ID
  • Log and re-audit
SKILL.md
---
name: content-refresher
description: Refresh old posts on the 1:2 rule — for every 2 new posts, update 4 old ones by ID, keeping the URL, link equity and rankings while earning a freshness signal. Use when asked to update old content, refresh or revive posts, fix decaying rankings, decide which posts to update next, apply approved audit or link fixes, update stale stats, or someone says 'our old posts are slipping'. For finding what needs fixing, see seo-audit. For which queries are closest to winning, see keyword-research.
metadata:
  version: 1.0.0
---

# Content refresher

The most under-rated skill in the pipeline, enforced by ratio: **for every 2
new posts, refresh 4 old ones.** A refreshed post keeps its URL, its link
equity and its rankings, and gains a freshness signal. **A republished post
starts from zero.** Refreshing is usually worth more than the next new post,
and almost nobody does it.

This skill both *selects* what to refresh and *applies* approved changes — it
is the execution arm the audit and the link orchestrator route into.

## Before you start

| Input | Why |
| --- | --- |
| The registry with publish/update dates | Selection starts from age and performance |
| Search Console data | Positions 5–20 are the refresh goldmine — "the single best content-refresh input you will ever get" |
| Approved changes, if routed here | From seo-audit findings or link-orchestrator patches |
| The claims register | Updated stats need sources like any other claim |

## Step 1 — Select by signal, not nostalgia

Surface the 4 (per 2 new posts) that most need refreshing:

| Signal | Why it selects |
| --- | --- |
| Position 5–20 in Search Console | Closest to winning; smallest push, biggest gain |
| Ranking decay over recent months | Losing ground to fresher competitors |
| Stale dated content — old years, prices, screenshots | Visible staleness converts nobody |
| High-traffic post not updated in 6+ months | Defend what earns before it slips |
| Audit criticals routed here | The under-70 items with approved fixes |

## Step 2 — Specify each refresh exactly

Per post, the specific update — never "refresh it":

- **Which section to add** (a question the post now must answer).
- **Which stats are stale** — replacements from the register, with sources and
  dates.
- **Which new internal links to add** (from the link patches; targets from the
  registry only).
- What to cut — sections that no longer earn their place.
- **Bump the last-updated stamp** — the visible freshness signal.

## Step 3 — Apply through update-by-ID

The mechanics that make refreshing free of downside: **fetch the post by ID
through the REST API, apply the changes, re-save. Same URL, same rankings, new
freshness signal.** Never create a new post for updated content — and never
change the slug, which is the same mistake wearing a smaller hat.

Voice and claim rules bind exactly as for new content: register-sourced numbers,
no em dashes, the voice file's rules on every new sentence.

## Step 4 — Log and re-audit

Registry row updated (new updated-date, what changed). The refreshed post
re-enters the audit cadence — a refresh that doesn't move its scores next audit
was a stamp-bump, not a refresh.

## Output

```
# Refresh cycle: <month> · 1:2 check — <n> new published → <2n> refreshes owed

| Post (ID) | Signal | Add | Replace (stale → sourced) | Links + | Cut |
[4 rows per 2 new posts]

Applied: update-by-ID · URLs unchanged · slugs unchanged · stamps bumped
Registry updated ✓ · Re-audit scheduled: <date>
Sources for every replaced stat: <register refs>
```

## When it breaks

| What you see | What it means | The fix |
| --- | --- | --- |
| Refreshed post lost its rankings | Republished as new, or slug changed | Update-by-ID only; the URL is the asset |
| Refreshes happen "when there's time" | The ratio unenforced | 1:2 shares the publishing calendar — it is scheduled, not spare-time |
| Posts selected by gut | Nostalgia over signal | Selection from Search Console 5–20, decay, and staleness |
| Refresh = new date, same content | Stamp-bumped, not refreshed | Every refresh specifies add/replace/cut concretely |
| New stats as wrong as the old ones | Replacements unsourced | Register + dates, exactly like new claims |
| Scores flat at re-audit | The refresh dodged the audit's criticals | Approved findings are the spec; apply them, not cosmetics |
| Old post now duplicates a newer one | Refresh expanded into a sibling's intent | Check the registry; merge or differentiate, don't collide |

Never "refresh" by rewriting a post that is ranking well into your current
style. Position 3 is not a problem — the refresh targets what is slipping or
almost-winning, and leaves winners alone.

## Rules

- **The 1:2 ratio is enforced on the calendar**, because refreshing is worth
  more than the next new post and loses to novelty in every unscheduled week.
- **Update-by-ID, same URL, same slug, always**, because the URL carries the
  equity and a republish starts from zero.
- **Selection runs on signals**, because the goldmine is positions 5–20, not
  the posts you remember fondly.
- **Every refresh specifies add/replace/cut**, because a bumped date without
  changed substance teaches engines your stamps lie.
- **Replaced stats carry sources and dates**, because updating one unsourced
  number with another is motion, not progress.

## Related skills

- **seo-audit** — the findings this skill applies after approval.
- **link-orchestrator** — the link patches this skill executes.
- **keyword-research** — Search Console's 5–20 list feeds selection.
- **wordpress-publisher** — the update-by-ID mechanics underneath.

Reviews

Sign in to leave a review.