I update old blog posts on a timer instead of when I remember. Every post I publish gets checked the next morning, and again every 90 days after that, by an agent running the same 21 point pass. It files the work itself, fixes what’s unambiguous, and brings me the handful of calls that need a person. This post walks through both checks, what each one catches, and gives you a generator that builds your own.

The checking used to freeze me
I’m a wannabe perfectionist. That sounds like a humble brag and it isn’t one, because in practice it means I get stuck. There’s a long list of things I want in every post, and I used to sit there after writing one and try to hold all of it in my head at once. Did I set the meta description. Are the headings in order. Is there a table. Did I link anything. Did I write alt text or skip it again.
The obsession with checking was worse than the checking. I’d freeze on it, and freezing meant either publishing something half-checked and feeling bad about it, or not publishing at all.
What I have now is not perfection. There’s no such thing, and a system doesn’t make me a better writer. It’s a polisher. It’s a check that’s more than me trusting my own brain to remember 21 things at eleven at night, and having it has done more for my publishing than any amount of trying harder did.
The 90 day version does the same job on old posts, with one addition I love even more. It’s a standing appointment to notice that something I wrote in April isn’t true anymore.
What does a post sweep actually check?
It scores the post against 21 things and fixes the ones that don’t need an opinion. The check covers keyword placement, heading order, whether roughly 40% of the H2s are phrased as questions, whether each of those questions gets answered in the first 40 to 60 words underneath it, alt text on every image, word count against the target for that type of blog post, em dashes and semicolons, an FAQ with real questions in it, a comparison table where one belongs, and at least two internal links.
Two of them are the ones I’d never catch myself. One asks whether the post admits a single downside anywhere, because a post that’s all upside reads as an advertisement to both people and AI search. The other asks what the post was for, and whether a reader who arrived with that question leaves with it answered. That one has failed on posts that passed everything else.
After the audit, four more passes run: dead affiliate links come out and genuinely relevant ones go in, posts on my other blogs get linked where they actually fit, the post gets checked for whether a small tool or printable would improve it, and the product box at the bottom gets set.
Who should update old blog posts on a timer?
You want this if you publish often enough that you can’t hold your own standards in your head, and you already know what you want in every post. The timer is only useful when the checklist exists. Mine came from writing down what I kept forgetting.
It’s not for everyone:
- You publish a few times a year. Open the post and read it. A system for four posts is a hobby, and I say that as someone with a lot of hobbies.
- You don’t have a checklist yet. Build that first. A trigger that fires with nothing to check is noise, and noise is the thing that makes people turn systems off.
- You want it to write for you. This checks structure and consistency. It has no opinion about whether the writing is any good, and neither should you let it.

What do you need to run sweeps on your own posts?
Four pieces, and two of them are free:
- A written checklist. The thing you want in every post. This is the whole system and everything else is delivery. If you’ve never written yours down, that’s the afternoon’s work.
- An agent that can read your posts. I use Claude Code with my WordPress credentials so it reads and writes the live post. A browser chat works too, with you pasting the post in.
- A queue. Somewhere the job can sit until it’s worked. Mine is a table, and it’s the reason a sweep survives me closing the laptop. I wrote about the to-do list my agent works from separately.
- Something to file the row on a schedule. Mine is an n8n workflow on my own server. A cron job or a scheduled task does the same thing.
The checklist half is where I’d start, and I’ve written up how to turn a blog post checklist into a skill if you want the before-publishing version first. This post is the after.
How often should you update old blog posts?
I use 90 days, and I picked it because it felt like long enough for something to go stale and short enough that I’d catch it. It isn’t science. It’s a number in a config file that I can change in one edit, which is the honest answer for most cadences people quote at you.
Two timers run against every post I publish:
| The next-day sweep | The 90-day refresh | |
|---|---|---|
| When it fires | The morning after a post goes live | Every 90 days after that, forever |
| What it’s for | Catching what I missed while writing | Stale facts, dead links, things I’ve since learned |
| How the job arrives | Filed when the post publishes | A workflow at 6am walks every post and files what’s due |
| How many so far | 90 | 73 |
| Priority | Normal | Low, so a fresh post always goes first |
The cap is the part I’d tell anyone building this to copy. The refresh workflow files a maximum of three a day. When I switched it on, 52 posts were already past 90 days, and without a cap that’s 52 jobs in one morning, which is the same as zero jobs because I’d have closed the tab. At three a day it drained in about two and a half weeks and then settled. I have 197 live posts across four blogs now, so at a 90 day cadence that’s about 2.2 due per day. It sits under the cap on its own.
The refresh half earns its place on stale data more than on structure. A post that says a tool costs a certain amount, or that I run three blogs when I now run four, is wrong in a way that a reader notices and I don’t, because I’m not rereading my own April posts for fun.
Get the generator
The generator builds the part that’s actually hard to copy, which is not the checklist. It’s the trigger.
You tell it what you want checked, when the first check should fire after you publish, and how often a post should come back around. It writes you a skill that runs your pass, plus the row that files itself on your schedule, plus the cadence math so you know how many will land per day before you switch it on.
Change two things in whatever it gives you: your own checklist items, and your cap. The cap is the difference between a system you use and one you turn off in week one.
What it doesn’t do
It can’t tell whether a post is any good. It knows if there’s a table, not whether the table helps. Everything it checks is structure and consistency, and a post can pass all 21 and still be boring. I keep expecting that to bother me more than it does, probably because the structural stuff is exactly the part I was bad at holding in my head.
I can’t prove it moved my rankings. I switched both timers on this summer and changed a lot of other things at the same time, so any before and after I showed you would be me picking a story. What I can say is that my posts are consistent now in ways they were not in the spring, and that I publish without the pre-publish spiral.
The last step gets skipped. The product box is the final pass and it’s the one that has silently not run more than once, because by the time everything else is done the run is long and things get dropped off the end. I caught it by checking rather than by noticing.
And it still waits on me. Anything that’s a judgment call about my own writing parks until I look at it, which is correct and also means a row can sit for days when I’m busy. The system is honest about that. I’m the bottleneck, and no timer fixes the bottleneck.

Frequently asked questions
How often should you update old blog posts?
Every 90 days is a reasonable default and it’s what I run. The right number depends on how fast your topic goes stale: prices and software change in months, while a how-to can sit for a year. Pick an interval you can change in one place, because your first guess will be wrong.
Does updating old blog posts actually help SEO?
It should, and I can’t prove it from my own numbers. I turned this on alongside a lot of other changes, so I have no clean before and after to show you. What it definitely does is stop wrong facts and dead links from sitting on live pages, which is worth doing whether or not it moves a ranking.
What should you check when you update an old post?
Start with the things that go wrong on their own: dead links, prices, product names, and any claim with a number in it. Then check structure, which is headings, alt text, meta description, and internal links to newer posts you’ve written since. My pass scores 21 items, but the first four catch most of the real damage.
Can AI update your old blog posts for you?
It can do the mechanical parts on its own, like fixing headings, writing alt text, finding dead links and adding internal links. It should not make judgment calls about your writing without you. I have mine apply anything unambiguous and bring me everything else, which usually ends up being three or four decisions per post.
How do you decide which old posts to update first?
Oldest overdue first, and cap how many you do per day. When I started, 52 posts were past due, and the cap is what kept that from becoming a pile I ignored. Anything freshly published outranks a refresh, since a new post has the most to gain from being fixed early.
Do you need to change the publish date when you update a post?
Not for a small fix, and I don’t. Changing the date on a lightly edited post is the kind of thing that trains readers not to trust your dates. If a post got genuinely rewritten, that’s different, but a timer-driven check is usually a polish rather than a rewrite.
Try it yourself
Write down the five things you want in every post before you write another one. Not twenty-one, five. Then publish something and put a reminder on your calendar for the next morning to check it against those five by hand.
Do that twice, and you’ll know two things: whether your five are the right five, and how much you hate doing it manually. That second one is the real signal. The generator in here is worth running at the point where you’ve felt the manual version, because that’s when you’ll know what to put in your cap and your cadence.
The version of this I’d build first is the next-day check on its own. The 90 day refresh is the better half, but it has nothing to work on until you’ve been publishing for a while, and a system with nothing to do is a system you stop trusting.
Related reading
- The Claude Code To-Do List That Works Before I Do
- Turn Your Blog Post Checklist Into a Claude Code Skill
- What a Claude Code Skill Is, and How to Make One
- Do You Need Rank Math Pro? I Run Three Blogs on Free
Subscribe if you haven’t already, and go forth and automate the boring stuff.
