Guide
By Axel Antas-Bergkvist Published May 11, 2026 Updated May 31, 2026

How to refresh old WordPress posts at scale

The most reliable SEO move on an established WordPress site isn’t writing new posts. It’s refreshing old ones — the cornerstone articles published two, three, five years ago that still pull traffic, still earn links, and still rank for the queries they were written for. Search engines reward content that gets re-verified and re-dated. Readers reward facts that are actually current.

The catch is that doing this by hand across an archive is brutal. You open a post in the Block Editor, read it, decide what to update, rewrite a few sentences, change the published date, save. Then the next one. A serious refresh pass across two hundred old posts is two weeks of admin work, which is why most teams never run one and why every “refresh your old content” article on the internet quietly assumes you have an intern.

This guide is the version that doesn’t assume that. The workflow is: sync your site down to a folder of markdown, filter by date in the frontmatter, run one careful AI pass, preview, and push back. The same machinery as the bulk SEO sweep, pointed at a slightly different job.

Step 1: pick the posts worth refreshing

The wrong instinct is “refresh everything older than 18 months.” Most archives have a long tail that earns no traffic and no links. Refreshing it is busywork that produces no visible result.

The right instinct is the intersection of three things: posts that are old, posts that are still earning attention (traffic, impressions, or backlinks), and posts where the facts have plausibly changed since they were written. A pricing roundup from 2022 fits all three. A personal essay from 2022 fits none.

Pull a list from your analytics tool of choice. Search Console works fine — sort by clicks over the last 90 days, filter to URLs whose post was published more than 18 months ago. That’s your shortlist. Don’t try to refresh five hundred posts in one pass. Refresh the fifty that matter.

Step 2: sync your site down

This is the part Specter handles. A two-way sync between WordPress and a local folder, pulling every post as a .md file with frontmatter that includes the published date, the modified date, the slug, the categories, the meta title, and the meta description. If you haven’t set it up yet, the edit-with-Claude workflow covers the connect step.

Once it’s running you have a folder. The folder is what makes the rest of this possible — you can filter, sort, and operate on it the way you can’t operate on wp-admin.

Step 3: filter the folder by date

Frontmatter is just text, so you can grep it. A quick shell loop pulls out every post older than your cutoff:

grep -rl "^date: 20[12][0-9]" posts/ | while read f; do
  d=$(grep "^date:" "$f" | head -1 | cut -d'"' -f2)
  if [[ "$d" < "2024-12-01" ]]; then echo "$f"; fi
done

Or skip the shell and just ask Claude to do it: “List every .md file in this folder where the date frontmatter field is older than December 2024 and the URL appears in this CSV of high-traffic posts.” Same result, fewer keystrokes. Either way you end up with a focused list — usually 30 to 80 files — that you actually want to refresh.

Step 4: the refresh prompt

This is the prompt that earns the workflow. The trick is to refresh facts without rewriting voice. AIs left to their own devices will smooth all your posts into the same lukewarm style and you’ll spend the next month regretting it. Be explicit.

For each post in this folder, refresh dated facts:
- Update statistics, version numbers, pricing, and dates to current values
  (use web search to verify).
- Replace dead links with current ones where possible; flag dead links you
  can't replace in a comment at the top of the file.
- Add a one-line "Updated: <today's date>" note under the H1.
- Update the `modified` field in frontmatter to today.

Do NOT:
- Rewrite the intro, headings, or anything for "style" or "flow".
- Change the post's argument or conclusion.
- Touch posts where the facts are still accurate.

Show me a summary of what you changed per post.

The “do not” list is the part most people skip and most regret. Without it the AI will helpfully turn your sharp third-person prose into smooth corporate copy. With it, you get exactly the work you wanted.

Step 5: review the diff

Read what changed. This is non-negotiable for content that’s already ranking — a careless rewrite can cost you a position you spent years earning. Open the files in your editor of choice, scan the diff per post, accept what’s correct, fix what isn’t.

If your archive is big enough that reviewing every diff is the new bottleneck, scope the refresh smaller. Fifty posts a quarter, well-reviewed, beats two hundred posts of slop that quietly tanks your rankings.

Step 6: preview and sync back

Run Specter’s dry-run preview. You’ll see exactly which posts will be updated, with the post slug and the change summary, before anything touches your live site. If the preview looks right, push. Specter batches the REST API calls and retries on flakes — long sweeps don’t time out the way ad-hoc scripts do.

If you changed a post inside wp-admin at the same time you changed it locally, Specter will flag the conflict instead of silently overwriting either version.

A note on the “updated date”

There’s a small culture-war about whether bumping the published date is honest. The practical answer: bump the modified date always (which most themes display somewhere), and bump the published date only when the refresh is substantial enough that calling it the same article would be a stretch. A version bump and three new statistics is a modified-date change. A full structural rewrite with new sections is a published-date change. Don’t lie to readers and you won’t have to apologize to them.

The mental model

Old posts are an asset. Refreshing them is one of the highest-leverage moves on an established site, and the only reason most teams don’t do it is the manual cost. A folder of markdown plus an AI pass collapses that cost to something you can actually fit into a quarter, without giving up the review step that keeps you from breaking what already works.

Buy Specter Pro — $99/year Browse all WordPress guides