Skip to content
Infra

Content freshness in 2026: the 90-day rule for SEO and GEO

AI assistants in 2026 skip stale content. A 90-day refresh cycle that moves data, facts, and structure brings them back to the page.

June 16, 2026 · 7 min read · Updated October 12, 2026

Four rows of ninety thin bars, each row starting tall and bright white beside a lit refresh tile and fading shorter and darker to the end

Content freshness stopped being a soft ranking factor in 2026. It is now a hard floor. Ahrefs analyzed 17 million AI search citations and found that ChatGPT, Perplexity, and Gemini cite content updated in the last 13 weeks far more often than older material at the same quality. Google followed with the site reputation abuse update, which penalizes stale content dressed up with a new date.

Republishing the same post with a new timestamp does not help. A 90-day refresh cycle that updates data, facts, and structure does. This article walks through the protocol we run on our own blog: what counts as a real refresh, what does not, and how to keep the cycle going without producing fake freshness signals.

Why freshness signals got louder in 2026

Three forces converged. AI assistants cite recent sources because users assume an answer from ChatGPT or Perplexity reflects current reality, not a 2022 archive. Search engines respond by weighting freshness more heavily for queries that drift quickly, which now covers most queries about software, AI, and SaaS. And the volume of new content keeps rising, which means older posts get crowded out unless they earn a refresh.

The Ahrefs study put a number on the shift. For software, AI, and B2B queries, 67% of AI citations point to pages updated in the last 13 weeks. Stale content does not get demoted, the assistant simply picks a fresher source at the same quality bar.

The fake freshness trap

The first reaction is to change the timestamp and call it done. This stopped working in 2024 and now actively hurts. Google's site reputation abuse update was written to catch sites flipping dateModified without editing the body. Schema markup that lies about a refresh produces a clear signal mismatch when the crawler compares body to metadata.

Fake freshness shows up in three forms. A timestamp change with zero edits. A token edit, one sentence rewritten, padded with a new date. Schema dateModified pushed programmatically across the whole archive every Sunday. All three are now actively detected.

The freshness signal works only when the content actually moved. Anything else gets caught.

What a real 90-day refresh contains

The protocol has five checks. Skipping any one of them weakens the result.

Data points. Every number, statistic, and percentage older than twelve months needs a fresh source or gets cut. A blog post citing "85% of teams say X" from a 2023 survey reads as old, even if the rest of the article is sharp.

Tool versions. Next.js, Stripe, Supabase, and the model lineup from each AI vendor move every quarter. A post that mentions Next.js 14 in 2026 broadcasts staleness, even when the underlying advice still holds.

Fresh examples. One new case study, customer quote, or worked example from the last quarter. The example does not need to replace the old ones, it sits alongside them and signals recent thinking.

Internal links. Cover the posts published since the last refresh. A well-maintained archive has internal links pointing forward in time, not only backward.

Lead and structure. Rewrite the opening paragraph to address what shifted in the topic since the original publish date. If nothing shifted, the post may not need a refresh yet.

A refresh that touches less than 30% of the body is cosmetic. We treat 30% as the floor before dateModified is allowed to move.

How we run the 90-day cycle

The protocol runs as a scheduled job. A cron flags every published post older than 90 days. The flag produces a checklist: which numbers need re-verification, which tool versions have moved, which new posts should be linked from the body.

The editor handles the rewrite manually. Automation generates the checklist, never the content. We tried LLM-rewritten refreshes and the AI citations got worse: the model produces consistent prose that lacks the specific recent data points an external assistant wants to cite.

The job blocks any dateModified update where less than 30% of the body changed. The block is hard. A cosmetic refresh fails the check and waits for a real one.

This calendar discipline matters more than the tooling. Most sites that fail at content freshness do not fail at automation. They fail at carving out the 30 to 45 minutes per article needed to do the work.

A worked example

One of our older posts on GEO best practices was published in late 2024. The first 90-day refresh in early 2025 updated three statistics, swapped the Stripe billing example for a newer one, added internal links to four posts written in between, and rewrote the lead to cite the Princeton GEO paper that came out in the meantime.

The body changed by 38%. AI citations of the post resumed within two weeks. By the second refresh cycle, the post was outranking newer competitors on three of its target queries. By the third, it had become the primary citation source for two AI assistants on its main query.

The compounding effect is the point. A post refreshed three times in nine months reads, to a crawler, as a working document by an author who keeps showing up. A post refreshed zero times reads as abandoned.

When 90 days is the wrong number

The 90-day default applies to software, AI, and SaaS topics, where the underlying ground shifts inside that window. Two cases need a different cadence.

News and announcements. 24 to 72 hours, then archive. A post about a product launch needs an update inside the news cycle or it loses relevance entirely.

Evergreen reference content. 180 days is enough for posts on stable subjects like CSS specifications, design principles, or accounting basics. The 90-day cadence on these produces busywork without lifting traffic.

Compliance content sits in a third bucket: the refresh cycle is dictated by the regulatory calendar, not by the editor.

The default of 90 days is the right choice only when the post sits in a topic that moves at the same speed. Pick the wrong cadence and the protocol fails. Too fast and the team burns out. Too slow and the signal goes flat.

The cost question

A real refresh takes 30 to 45 minutes per article. For a 60-post archive, that is 30 to 45 hours per quarter, or one focused day per month. The cost is real. The return shows up on the traffic graph.

Producing new content for the same traffic gain costs more. A new post takes 3 to 6 hours to write, edit, and publish at the same quality level. A refresh of an already-ranking post takes 30 to 45 minutes and produces equivalent or better traffic lift, because the post already has its backlinks, internal links, and indexed history.

The discipline is the bottleneck, not the cost. Teams that run the 90-day cycle for a year report two to three times more AI citations than teams producing the same volume of new content without a refresh cadence.

Sources

Frequently asked questions

Related services

Related articles

Studio

Start a project.

We write about what we build. Tell us what you want to build.