Update it, in most cases. A post that already ranks for something, even badly, has done the slow part. A new post starts that clock from zero, and the clock is the expensive bit. The exception is a post that was wrong when you wrote it, and there are more of those than most people want to count.
The question usually arrives as a time problem. There are four hours this month for the blog and the choice is between refreshing something from last year or writing something new. Framed like that, new always wins, because new is more interesting to write. Framed as what the reader gets for the four hours, it mostly loses.
Decide by what the post is doing, not how old it is
Age is the wrong sort key. A three year old post that still answers the question correctly needs nothing. A six month old post written before you understood the subject needs replacing. Sort by symptom instead.
| Symptom | What is probably going on | Update or replace |
|---|---|---|
| Traffic fell slowly over months | Somebody published a better answer, or the answer itself moved | Update. The URL still carries weight. |
| Traffic fell in one step | Either the question stopped being asked or you broke something | Check the site first. Then ask whether anyone still asks it. |
| Never had traffic | The title does not match how anyone phrases the question | Update the title and lead before anything else. The body may be fine. |
| Still gets traffic, you wince reading it | You knew less then | Replace the body under the same URL. Keep the address, lose the words. |
| Two posts cover the same ground | You forgot the first one existed | Merge into the stronger URL and redirect the other. |
| Steady traffic, nobody clicks anything | It answers the question and the reader leaves | Leave it alone. It is working. |
The last row is the one people get wrong. A post that answers the question and sends the reader on their way has done its job. Rewriting it to add a call to action is how a working page gets broken.
Rule these out before you touch anything
Four checks, in order. Each one either clears or it does not.
- Confirm the page still loads the way you think. A redirect chain, a moved image, a script that now errors, a form that posts to nothing. Half the posts I have opened to refresh had a technical fault and no writing problem at all.
- Read it as a stranger, on a phone. Read it properly rather than skimming. Note the first place you would stop, and why. That is the paragraph to fix, and often it is the only one.
- Check whether the question is still asked. Search the title. If every result is from the year the post was written, the question has aged out and no update brings it back.
- Look for the post that already replaced it. On your own site. If a newer post covers the same ground, this is a merge rather than an update, which is a different job with a redirect at the end.
If all four clear, the post needs an update and you already know which paragraph. If step three fails, stop. Write something new instead, and move the old one to the file of questions nobody asks any more.
What an update actually involves
Less than a rewrite and more than a date change. In practice:
- Fix the fault from step one first, then leave the post a fortnight before judging anything else, because that alone may have been the whole problem.
- Rewrite the title and the first paragraph in the words people use now. Those two are what a search result shows, and they are usually what dated.
- Replace anything that was true then and is not now. Prices, interface names, keyboard shortcuts, the step that no longer exists. Say what changed rather than silently swapping it, so a returning reader knows why it looks different.
- Cut the section you added to reach a word count. You know which one. It has been dragging the post down since the day it went up.
- Link it to the newer posts that did not exist when it was written, and link those back to it.
- Change the date shown on the page only if the content changed enough that a returning visitor would notice. Bumping a date on a comma fix teaches search engines that your dates mean nothing.
Keep the URL. Every item above happens under the same address. The moment the slug changes you have written a new post with extra steps, and one of those steps is a redirect you will forget.
When new is the right answer
The cases are narrower than the urge to write suggests.
- The question is new. Nothing on the site addresses it, not even badly, and people are asking it. This is the clean case and it is rarer than it feels.
- The old post was wrong at the root rather than merely dated. The advice would have hurt somebody who followed it. Replace the body under the old URL and say at the top that you did.
- The old post argued two things. Split it. One half keeps the URL, the other gets a new one, and they link to each other.
- You have changed your mind. A post that now argues against you is worse than no post. Write the new position and point the old post at it with a line explaining the change, which readers trust more than a quiet deletion.
Which is fine, except that none of these is "it has been a while". Time passing is a feeling that arrives before a reason does, and the table at the top is where to go looking for the reason.
What I had wrong
I spent most of a year treating the publish date as the thing to protect, refreshing anything older than twelve months on a rota. It felt like maintenance. It was churn. Posts that were fine got reworded for no reader benefit, and each one lost a little of whatever it had been doing right, because I was editing for freshness rather than for a fault.
The rota is gone. What replaced it is the list of symptoms at the top, checked when a post shows one and otherwise left alone. Fewer posts get touched, and the four hours go on the one that actually needed them. The honest version is that most of the old posts did not need me at all, and the ones that did were never the oldest.
If the answer turns out to be new, the questions people have already asked you are still the better source of topics, and an old post that no longer answers one of them is the first candidate for an update.