How often should I refresh content for AI citations
Refresh by page type: evergreen explainers quarterly, pricing on every change, research when claims date, news in days. Recrawl is not a published vendor SLA.
William Spurlock Founder — Spurlock Studios 30 MIN
Refresh content for AI citations on the clock the page type actually changes — not on a sitewide “quarterly content refresh.” Evergreen explainers get a quarterly accuracy pass, and you rewrite only when the extractable answer is wrong or no longer the cleanest unit. Pricing and offer pages ship the day the number changes. Research pages refresh when the collection window expires. News pages update in hours to days, then get dated or demoted. Recrawl is a separate lag: Google says crawling can take several days to several months, Search Console indexing requests typically take a day or so and still do not guarantee the index, and IndexNow pings do not guarantee indexing. None of those are a citation SLA.
This spoke sits under the Answer Engine Optimization playbook. If the page cannot be lifted as a standalone answer, fix structure first with answer-first pages for AI citations. Off-site corroboration on Reddit has its own clock — Reddit for AI citations is not a monthly press-release cadence. Lane work lives on /visibility.
The short answer
- Check citations on a frozen prompt panel monthly (weekly on money queries). That is a log, not a rewrite.
- Rewrite HTML by page type: evergreen quarterly if the answer drifted; pricing on every change; research when the dated claim expires; news in days.
- Request recrawl only after a real HTML change on a money URL. Do not burn the daily inspect cap on costume bumps.
- Google, Bing/IndexNow, ChatGPT Search, and Perplexity do not publish a citation recrawl SLA you can put in a deck. Plan ranges. Re-check the panel after a wait window, not the next morning.
- Protect a passage that already gets quoted. Stale facts get a surgical edit. Winning tables do not get a “fresh voice” pass.
What does “refresh” actually mean for AI citations?
Most teams use one word for three jobs. Mixing them is how a cited how-to becomes an unquoted essay in six weeks.
| Job | What you do | Cadence | Done looks like |
|---|---|---|---|
| Citation check | Re-run the same prompts on the same engines | Weekly on money queries; monthly on the rest of the panel | Screenshot + cited URL + stale-fact flag |
| Content refresh | Change the HTML answer unit, table, or dated claim | By page type (next section) | Fetched HTML matches the new truth |
| Recrawl request | Tell an index the URL changed | After a real edit, once | Inspect/IndexNow ticket filed; then you wait |
A citation check that finds “still cited, still accurate” is a successful refresh cycle with zero writing. A rewrite that does not change a fact is a costume. A recrawl request with no HTML change is anxiety.
Procedure before anyone opens the CMS:
- Name the URL and the page type.
- Pull the last citation-log row for the frozen queries that land here.
- Decide: check only, surgical fact fix, or full rewrite of the extractable unit.
- If you will edit, write the new lead answer first — 40–80 words that still work if lifted alone.
- Ship HTML. Then, and only then, request recrawl on that URL.
- Re-score the panel after a wait window (see recrawl section). Do not rescore at 9 a.m. the next day and call the channel dead.
I have been SEO certified since 2021. The certification does not make Google crawl on your calendar. It makes this sequence boring if you actually follow it.
How often should each page type get a rewrite?
Four types cover most citation programs. Adjacent templates inherit the closest row — do not invent a fifth calendar for every H1.
| Page type | Rewrite trigger | Citation-check cadence | Recrawl request |
|---|---|---|---|
| Evergreen explainer (what-is, how-to, definition) | Quarterly accuracy pass. Rewrite only if the lead, steps, or table is wrong, incomplete, or no longer the cleanest extract | Monthly | After a real HTML change on a URL that already ranks or gets impressions |
| Pricing / packages / SKUs | Same day as a price, plan name, or inclusion change. Dated “as of” line in the answer block | Weekly until the new number appears in answers; then monthly | Yes, on the URL that changed |
| Research / benchmark / original numbers | When the collection window expires, a primary source updates, or you would no longer defend the number on a sales call | Monthly; extra check the week the new number ships | After the dated number is in HTML next to method |
| News / incident / policy change | Hours to a few days: correct, date-stamp, or demote. Do not leave an undated “breaking” block up for a quarter | Daily while the story is live; stop when you demote | Once after the correction — not hourly |
Adjacent types, same logic:
| Adjacent template | Inherit from | Extra rule |
|---|---|---|
| About / NAP / entity facts | Pricing (event-driven) | One canonical fact block. Do not leave a 2023 city on the footer |
| Comparison / “best for” | Research + evergreen | Refresh when the criteria or named vendors change, not when someone wants a new listicle |
| Software UI how-to | Evergreen, but event-driven on product releases | Screenshot and step list die when the UI moves. That is a trigger, not a quarter |
| FAQ that prevents hallucination | Pricing | Ship the day the offer, hours, or policy changes |
| Case study | Evergreen | Do not “refresh” named outcomes you can no longer defend |
Operator rule: if two people cannot name the trigger in one sentence, you do not have a cadence. You have a vibe.
Checklist when you classify a URL:
- Page type written on the ticket (one of the four, or an inherit row)
- Trigger named (date, event, or “accuracy pass, no rewrite unless…”)
- Owner who can ship HTML without a six-person review
- Frozen queries that this URL is supposed to win
- Next citation-check date on the panel, not “sometime Q4”
Hundreds of production sites taught me the same split: pricing lies get cited fastest, and they hurt longest. Explainers can wait a quarter. A wrong “from $X” cannot.
Worked week for a four-URL set, no invented client metrics:
| URL job | What you found Monday | Action this week | Recheck |
|---|---|---|---|
| Pricing | Live HTML says $X; ChatGPT Search still recites last year’s $Y | Ship $X + “as of [date]” today; ping IndexNow; Request indexing once | Day 7 and day 21 on the same pricing prompts |
| Evergreen how-to | Cited; quoted sentence still matches HTML | Accuracy pass: no rewrite. Log the quote | Monthly |
| Research benchmark | Collection window ended in March; page still says “current” | Either re-run the study or date the number and stop calling it current | The week the new HTML ships, then monthly |
| News incident | Three-month-old “today” lede | Date-stamp the outcome or demote to a short archived note | Daily until the live voice is gone, then stop |
If you cannot fill that table without opening twenty other URLs, your inventory is the blocker — not your writing queue.
How often should you log citations without rewriting?
More often than you rewrite. Less often than you refresh Slack.
The panel is the product. If you only rewrite, you will never know whether the last edit helped, hurt, or never got fetched.
| Query class | Check cadence | Sample | Stop condition |
|---|---|---|---|
| Money / commercial (“best X for Y,” comparison, pricing) | Weekly | 8–15 prompts, same wording | You skip two weeks in a row — then you are guessing |
| Definition / how-to that already cites you | Monthly | Same 10–20 prompts | You rewrite the winning passage because you were bored |
| Brand / “who is [you]” | Monthly | 5–8 prompts across ChatGPT Search, AI Overviews, Perplexity | Default chat still recites a retired SKU — that is a fact ticket, not a blog ticket |
| News cluster | Daily for 7–14 days, then monthly or kill | The 3–5 queries the incident created | You keep a live-blog voice on a settled fact |
Procedure for one check (20–40 minutes, not a workshop):
- Open the frozen prompt list. Do not improve the wording because you dislike last week’s answer.
- Run each prompt on the engines you actually care about. Label: cited with link, mentioned, absent, or stale-fact.
- Capture the quoted sentence if you are cited. If it does not match your live HTML, you have a residue or a competitor extract.
- File tickets only for stale facts, missing extractable units, or eligibility bugs. Do not file “make it fresher.”
- Store the row. Next week compares to this row, not to memory.
Minimum columns on that row — if a column is missing, you cannot decide rewrite vs wait:
| Column | Example | Used for |
|---|---|---|
| Date | 2026-08-19 | Wait-window math against ship date |
| Prompt (verbatim) | “How often should I refresh content for AI citations?” | Stops silent prompt drift |
| Engine / mode | AI Overviews, ChatGPT Search, Perplexity | Separate clocks |
| Status | cited-link / mentioned / absent / stale-fact | The rate you report |
| Quoted sentence | First 20 words of the lift | Diff against live HTML |
| Live HTML match? | yes / no / n/a | Recrawl vs copy vs residue |
| Ticket | none / fact-fix / eligibility / extract | Prevents “make it fresher” |
A monthly log with the same 25 prompts beats a quarterly “AI audit” that changes the question set every time. Measurement spokes in this cluster cover the scoreboard; this post only cares that the log exists so refresh decisions have a before and after.
What should change in a refresh — and what should stay frozen?
Refresh the truth. Freeze the extract that already works.
| Change this | Leave this | Why |
|---|---|---|
| Dated numbers, prices, versions, legal status | The 60-word lead that already matches what engines quote | You came to correct a fact, not to win a prose contest |
| Broken steps / dead UI | Heading structure that maps to the questions you rank for | Fan-out still needs those H2s |
| Table that names vendors who exited | Table shape (criteria × options) | Shape is the citeable object; cells are the payload |
dateModified / visible “Updated” line | Cosmetic synonyms in paragraph 4 | Dates must match a real edit (schema.org dateModified is the date of the last modification — not a marketing season) |
| Internal link to the protectable offer URL | A new cousin URL “for 2026” | A trusted URL plus a refresh often beats an orphan |
Google’s people-first guidance still asks whether someone who landed directly would leave having achieved a goal. A year-stuffed title with the same body fails that test. It also trains you to treat freshness as costume.
Decision list for a quarterly evergreen pass:
- Accurate and still cited — log it. Do not rewrite.
- Accurate, not cited — check extractability (lead, table, snippet eligibility) before you add 800 words.
- Inaccurate, cited — surgical edit of the quoted unit today. This is the emergency row.
- Inaccurate, not cited — fix the fact, then decide if the URL still deserves the slot.
- Thin duplicate of a better URL — merge. Do not refresh both.
Failure to freeze a winning passage is the expensive mistake. I will not invent a “citation recovery rate” for your deck. I will tell you that replacing a table engines already lift with a mood paragraph is how you donate the Overview to a competitor who kept the table.
How long until a refresh shows up in AI answers?
You do not get a vendor SLA. You get documented ranges for crawl and index, plus a citation decision you do not control.
Google’s AI-features documentation is explicit on preview-control changes: crawling can take anywhere from several days to several months, depending on how often their systems decide a page needs to be refreshed, and you may request a recrawl. That sentence is about crawl and processing. It is not “you will be cited in 14 days.”
URL Inspection’s Request indexing notes say indexing typically takes a day or so, can take a week or two, and submitting a request does not guarantee the page enters the Google index. There is a daily inspect cap. Use it as a scalpel on money URLs after a real edit.
IndexNow’s FAQ says submitting a URL does not guarantee indexing. Quality, robots.txt, noindex, and each engine’s own selection still win. A 200 on the ping means the engine received the URL. It does not mean ChatGPT Search or Copilot will quote you tomorrow. ChatGPT Search and Perplexity do not publish a public recrawl SLA you can calendar as of August 2026. Do not invent one.
| Lever | Honest range | What it is not |
|---|---|---|
| Google recrawl after a content or preview-control change | Several days to several months (AI features) | A citation date |
| Request indexing | Typically a day or so; up to a week or two; not guaranteed (URL Inspection) | “We are in AI Overviews” |
| IndexNow ping | Discovery nudge; no index guarantee (FAQ) | A Bing or ChatGPT citation |
Sitemap lastmod | Helps discovery when it is honest (sitemaps overview) | A force-crawl |
| Search generative AI exclusion | Google says exclusion generally takes a few days, with some cache lag (control help) | An inclusion SLA (there isn’t one) |
Wait-window I actually use on visibility work — checkpoints, not promises:
| After you ship | What you inspect | What you may not claim |
|---|---|---|
| Day 0 | Live HTML has the new answer; URL Inspection live test is clean | “Google has it” |
| Day 7 | Indexed crawled content vs live; citation log unchanged is normal | “Refresh failed” |
| Day 21 | First chance a recrawl landed on a trusted URL | “AEO is dead” |
| Day 60–90 | Citation-rate movement on the frozen set | A booked Overview inclusion date |
To appear as a supporting link in AI Overviews or AI Mode, the page must be indexed and snippet-eligible; there are no extra technical requirements. Eligibility is the floor. Citation is a later decision. Google also says it does not need special AI text files or extra markup for generative Search features. A weekly llms.txt “refresh” is not a cadence.
Do Google, ChatGPT, and Perplexity share a refresh clock?
No. Treat them as separate wait windows on the same HTML change. A Perplexity answer that already shows your new price does not prove AI Overviews have recrawled you. A ChatGPT Search cite does not prove Googlebot has the new snapshot.
| Surface | What you can request | Documented timing you may quote | What you may not quote |
|---|---|---|---|
| Google AI Overviews / AI Mode | URL Inspection recrawl; honest sitemap lastmod | Crawl/process: several days to several months (AI features). Request indexing: typically a day or so, up to a week or two, not guaranteed (URL Inspection) | “Cited in 14 days if we hit Request indexing” |
| Bing / IndexNow participants | IndexNow ping (docs) | 200 means received. No index guarantee | “Copilot will quote the new paragraph tomorrow” |
| ChatGPT Search | IndexNow + Bing Webmaster hygiene on the URLs Search can see; do not confuse GPTBot (training crawler) with a user fetch | No public recrawl SLA as of August 2026 | A days-to-cite number you saw in a LinkedIn screenshot |
| Perplexity | Live fetch on some prompts; still not a contract | No public recrawl SLA as of August 2026 | “Perplexity always updates same day” |
Procedure when the engines disagree after a ship:
- Confirm live HTML is the new truth (view-source, not the CMS preview).
- URL Inspection: compare crawled snapshot to live. If crawled is old, you are in Google’s recrawl range — wait, do not rewrite again.
- Re-run the same prompt in ChatGPT Search and Perplexity. Log each as its own row.
- If retrieval products show the new fact and Overviews still show the old one, keep the HTML stable. Do not “refresh” a third time to chase the slow surface.
- If every surface still recites the old fact at day 21 and Inspection still shows old HTML, you have a discovery or eligibility bug — not a copy problem.
Checklist:
- One HTML ship, many log rows (one per engine)
- GPTBot allow/block treated as a training choice, not a Search citation lever
- No averaged “AI refresh time” in the exec deck
- Next edit blocked until the wait window on the slowest money surface has elapsed, unless the live HTML is factually wrong
Default chat without search is worse: it can recite residue for a long time after every index is clean. That is not a reason to rewrite the page weekly. It is a reason to keep an accuracy row on the panel and to corroborate the fact off-site.
How should lastmod and dateModified tell the truth?
Lie about the date and you train two systems to ignore you: the crawl scheduler and the reader who checks “Updated.”
Google’s sitemap guidance is that lastmod should reflect the last significant update, and inaccurate lastmod values may be ignored. schema.org dateModified is the date of the last modification. If those two disagree with the visible “Updated August 2026” line, you have three clocks telling three stories.
| Signal | Set it when | Do not set it when |
|---|---|---|
| Visible “Updated” | You changed a fact, step, table, or offer | You fixed a typo in the footer |
dateModified in JSON-LD | Same as the visible date, ISO 8601 | You want the page to “look fresh” for AEO |
Sitemap lastmod | Significant content change | Nightly regenerate of the whole sitemap with today on every URL |
| Title year (“… for 2026”) | The substance actually changed for that year | January 2 costume pass |
Procedure for an honest date bump:
- Diff the answer block and the citeable table against last quarter’s shipped HTML.
- If nothing material changed, keep the old dates. Log “accuracy pass, no rewrite.”
- If something material changed, update visible date,
dateModified, and sitemaplastmodto the same day. - Request recrawl only on URLs in step 3.
- Note the ship date on the citation panel so week-three “still old quote” can be compared to crawl date, not to your feelings.
Checklist:
- Visible date,
dateModified, andlastmodmatch on the URLs you actually edited - Unedited URLs still carry their real last-edit dates
- No sitewide
lastmod= today - Year in the H1 matches a real change, or the year was removed
A sitemap that stamps every URL with tonight’s date is not a freshness program. It is a credibility leak.
Should you edit the trusted URL or publish a cousin?
Edit the URL that already has crawl history when the intent is the same and the facts changed. Publish a new URL only when the question is actually new. Year-stamped cousins (/guide-2025 plus /guide-2026) split the extract and teach engines to quote whoever kept one stable address.
| Situation | Edit the trusted URL | New URL | Kill / redirect |
|---|---|---|---|
| Price, SKU, or hours changed | Yes | No | No |
| How-to steps changed; same job | Yes | No | No |
| Collection window ended; same benchmark | Yes — date the new run on the same URL | Only if the method is a different study | Old “current” wording |
| New buyer question the old URL cannot answer without mush | No — keep the old extract | Yes, with a distinct intent and a link both ways | No |
| “Refresh” = new slug with last year’s post copied | No | No | 301 the costume to the survivor |
| News outcome is now history | Edit into a dated recap, or | A short archive URL if the live URL must stay a hub | Undated “breaking” block |
Procedure:
- Name the query the page is supposed to win. If the query did not change, you do not need a new slug.
- Paste the last cited sentence. If you still want that sentence to exist, it has to exist on a URL engines already trust.
- If you must publish a 2026 edition, 301 last year’s edition and move the answer block — do not leave two competing extracts.
- Add one internal link from the pillar and from the closest spoke. Orphans wait longer to recrawl.
- Request recrawl on the survivor, not on the redirected shell.
Checklist:
- One canonical URL per intent after the refresh
- Cited sentence still present on that URL, or replaced with a better one already in HTML
- Redirects tested (200 on the survivor, 301 on the costume)
- Sitemap lists the survivor;
lastmodonly on the survivor - Panel prompts still match the survivor’s H1
A trusted URL plus a fact fix is a refresh. A new subdomain with the same essay is a Clock-2 delay dressed up as a content strategy.
What usually fails first when teams put citations on a refresh calendar?
The first break is almost never “we did not publish enough.” It is one of five operational failures.
| Failure | What it costs | What you do instead |
|---|---|---|
| Rewriting a cited passage into a new voice | You donate the extract to whoever kept the old table | Freeze the quoted unit; edit around it |
| Costume date bumps | Engines ignore lastmod; humans stop trusting “Updated” | Accuracy pass with a no-rewrite outcome |
| Request indexing every morning | You hit the daily cap; money URLs wait behind anxiety clicks | One request after a real edit; then wait the window |
| One calendar for every template | Pricing stays wrong for a quarter; explainers get churned weekly | Four-type table above, enforced on the ticket |
| No frozen panel | You cannot tell lag from a drop | 25–40 prompts, same engines, before the first rewrite |
Worked failure I see on visibility audits: a team “refreshes” twenty evergreen posts every quarter. They change intros, shuffle H2s, and add a 2026 in the title. Two of those URLs were the supporting links in AI Overviews on definition queries. After the rewrite, the Overview still answers the question — with a competitor’s unchanged table. Search Console still shows impressions. The citation log, if anyone had kept one, would have shown the loss in week three. They did not keep one. They booked another refresh sprint.
Checklist that would have caught it:
- Last cited sentence pasted into the ticket before the rewrite
- Diff required against that sentence
- Editor may not ship if the cited sentence died without a better replacement already in HTML
- Panel re-run at day 21 with the same prompts
- Kill criterion: if citation rate falls and the passage changed, revert the extract, do not “iterate the vibe”
I will cite receipts I can defend: SEO since 2021, 500+ automations built, 20,000+ hours on agentic systems, 35,000+ hours saved for clients, hundreds of production sites. I will not invent a percentage of “citation loss from refreshes.” If you cannot say the number out loud, do not put it in the passage you hope an Overview lifts.
What does a 90-day refresh calendar look like?
Not twenty tickets on day two. One inventory, then event-driven edits, then one evergreen pass on URLs that earned it.
| Window | Action | Done looks like |
|---|---|---|
| Days 1–7 | Inventory every citation-target URL into the four types. Freeze 25–40 prompts. Baseline the panel | Spreadsheet with type, trigger, owner, last cited sentence |
| Days 8–21 | Event-driven only: wrong prices, wrong NAP, expired research numbers, live news corrections | Shipped HTML on those URLs; recrawl requested once each |
| Days 22–45 | Extractability on URLs that are indexed, snippet-eligible, and uncited | Lead answer + one table live; no nosnippet accident |
| Days 46–70 | Quarterly evergreen pass on the five explainers with impressions or prior citations — rewrite only if the decision list says so | Accuracy-pass notes, including explicit no-rewrite rows |
| Days 71–90 | Re-score the panel. Compare citation rate and stale-fact rate to day 7. Decide keep / merge / invest | One page to leadership, not a new editorial calendar |
Weekly ops after the first 90 days:
| Cadence | Owner | Artifact |
|---|---|---|
| Weekly | SEO or visibility lead | Money-query citation log (cited / mentioned / absent / stale) |
| Weekly | Whoever owns pricing | Diff of live prices vs CMS vs schema |
| Monthly | Content | Evergreen accuracy pass queue (cap: 5 URLs) |
| Event | Whoever changes an offer | Same-day HTML on pricing / FAQ / entity |
| Quarterly | Marketing lead | Research-window review: defend or re-run the number |
Cap the evergreen queue. Unlimited “refresh” backlogs recreate the twenty-ticket panic this calendar exists to prevent.
Who owns which job — write names, not “content”:
| Job | Accountable | Consulted | Does not own |
|---|---|---|---|
| Frozen prompt panel | SEO / visibility lead | Content, whoever owns the offer | A vendor dashboard with a new prompt every week |
| Event-driven pricing / NAP HTML | Whoever can ship the CMS without a committee | Legal if the number is contractual | The blog intern |
| Evergreen accuracy pass | Content, capped at five URLs | SEO (cites the last quoted sentence) | Performance marketing “need more URLs” |
| Recrawl request | SEO, after HTML is live | Engineering if Inspection fails | Anyone clicking Request indexing as a morning ritual |
| Reddit corroboration | A human who already belongs in the thread | Brand / legal for disclosure | A monthly “community refresh” calendar |
Reddit and other corroboration sit on a slower, human clock. You do not “refresh Reddit” with a monthly corporate thread. You show up when there is a real question, disclose affiliation, and point at the owned URL only when that URL is the primary artifact. That spoke is Reddit for AI citations. Do not add Reddit karma to this 90-day table.
How do you measure whether the cadence is working?
You measure the panel and the stale-fact rate. You do not measure publish volume.
| KPI | Source | Review | Kill / change criterion |
|---|---|---|---|
| Citation rate on frozen prompts | Manual log (+ Search Console generative AI impressions if the property has the report) | Monthly; weekly on money set | Rate falls after a rewrite of a previously cited URL → inspect the extract, consider revert |
| Stale-fact rate | Same log: answers that recite a retired price, SKU, or city | Weekly until zero on offer facts | Any stale offer fact older than the ship date + wait window → eligibility or residue, not “need more posts” |
| Time from HTML ship to crawled snapshot | URL Inspection crawled vs live | After each money-URL edit | Still showing old HTML at day 21 → Clock-2, not copy |
| Accuracy-pass no-rewrite count | Editorial log | Quarterly | Zero no-rewrite rows usually means you are churning on purpose |
| Protectable conversions | Analytics / CRM | Weekly | The only number that pays rent |
Search Console counts AI Overviews and AI Mode inside the Web search type; the generative AI performance report, where it exists, is impression-led. Neither report is a recrawl SLA. Pair them with the manual log or you will mistake an impression bump for a freshness win.
Procedure for a monthly cadence review (one hour):
- Export the panel. Same prompts as last month.
- Split rows: cited / mentioned / absent / stale-fact.
- For each stale-fact, open the owned URL. If live HTML is already correct, you are waiting on recrawl or fighting residue. If live HTML is still wrong, the cadence failed — that is a same-day ticket, not a quarterly theme.
- For each previously cited URL that dropped, diff the extract. If you rewrote it, say so in the meeting.
- Report citation rate and stale-fact rate. Do not report “12 posts refreshed.”
If informational sessions fall while citation rate holds and stale-fact rate is zero, the cadence is doing its job. If you refreshed twenty URLs and both rates got worse, you ran a content panic and called it AEO.
| 90-day cadence read | Pass | Fail |
|---|---|---|
| Stale offer facts on the panel | Zero on live HTML; leftovers tagged as recrawl or residue with dates | “We’ll catch it next quarter” |
| Cited extracts | Still match shipped HTML, or a better replacement already live | Voice pass killed the quote |
| Evergreen queue | Accuracy-pass notes include no-rewrite rows | Twenty titles gained a year |
| Recrawl requests | One per changed money URL, then a wait | Daily inspect-cap theater |
| Dates | Visible / dateModified / lastmod agree | Sitewide lastmod = today |
What should you skip if you only have a week?
Skip the evergreen library. Ship the lies.
| Do this week | Skip this week |
|---|---|
| Fix every live price, package name, and NAP mismatch | Quarterly voice pass on twenty explainers |
| Surgical edit of any cited sentence that is now false | New cousin URLs “for AI” |
Confirm snippet eligibility on the five money URLs (nosnippet, max-snippet:0, JS-only answers) | IndexNow blast of the whole sitemap “to be safe” |
| Freeze or reuse a 25-prompt panel and baseline it | Buying an AEO tool so you can delay the log |
| One recrawl request per URL you actually changed | Request indexing on URLs you did not edit |
| Date-stamp or demote a news URL that is still pretending the incident is live | A Reddit campaign to “refresh mentions” |
Numbered 5-day plan:
- Day 1 — Inventory: list URLs with prices, entity facts, and any page already cited. Screenshot the current answers on 10 money prompts.
- Day 2 — Ship fact fixes. Visible date +
dateModified+ sitemaplastmodonly on those URLs. - Day 3 — Eligibility: URL Inspection live test on the same set. Remove accidental preview controls. Server-render the answer block if it only exists after a client fetch.
- Day 4 — Request indexing / IndexNow once per changed money URL. Do not repeat tomorrow.
- Day 5 — Write the wait-window reminders (day 7 and day 21). Brief whoever thought “refresh the blog” was the week’s job.
Friday done-check — if any box is empty, the week was theater:
- Every live price and NAP string matches CMS, schema, and the answer block
- Every cited-but-false sentence has a surgical HTML fix or an explicit “waiting on recrawl” note with a ship date
- Five money URLs pass a live Inspection without
nosnippet/noindexsurprises - Panel of ≥10 money prompts baselined with screenshots
- Recrawl requested once per changed URL, and the next check dates are on a calendar
- Zero new cousin slugs, zero year-stuffed titles with unchanged bodies
A week is enough to stop citing a wrong number. It is not enough to rebuild a cluster. If the HTML still cannot be quoted as a standalone answer, the week’s leftover is an answer-first ticket, not another synonym pass.
When is a refresh not worth doing yet?
Do not put a costume calendar on a page that is not eligible to be quoted.
| Blocker | Why a refresh is wasted | What to do first |
|---|---|---|
Not indexed / Discovered – currently not indexed | Engines cannot fetch a new paragraph they cannot find | Internal links, uniqueness, sitemap; do not spam Request indexing on that status |
nosnippet / max-snippet:0 / noindex | Preview controls apply to AI Overviews and AI Mode | Fix the tag; then wait for recrawl (days to months) |
| Answer only in client JavaScript | Crawl may index a shell | Server-render the lead and the table |
| No frozen panel | You will not know if the refresh worked | Baseline 25 prompts before the first rewrite |
| Thin page with no citeable object | Fresh fluff is still fluff | Write the 40–80 word lead and one table, or merge the URL |
| Duplicate of a better URL | You will split extracts | Canonical / merge, then refresh the survivor |
| Site excluded from Search generative AI features | Inclusion in Overviews / AI Mode is off at the property | Check the Search generative AI control before you rewrite copy |
Decision list:
- If Clock-2 (index + snippet) is red, refresh is not the job.
- If Clock-2 is green and the page has a liftable answer that is true, skip the rewrite and log the citation check.
- If the page is true but not liftable, spend the sprint on extractability, not on a new outline.
- If the page is false, refresh today regardless of the quarterly calendar.
- If leadership wants a year in every title and no fact changed, refuse the ticket. That is the costume pass.
A visibility audit is the right next step when you cannot tell recrawl lag from a bad extract, when pricing is already correct and you still lose every Overview, or when the team is about to “refresh the blog” instead of freezing a panel. DIY the tables above if you have Search Console and an owner who can ship HTML. Hire when the argument is political or the inventory is a mess. The lane page is /visibility. The system map is the AEO playbook.
FAQ
How often should I refresh content for AI citations?
By page type, not a sitewide calendar: evergreen explainers get a quarterly accuracy pass (rewrite only if the extract drifted), pricing and entity facts ship the day they change, research refreshes when the dated claim expires, and news moves in hours to days then gets dated or demoted. Citation checks run more often than rewrites — weekly on money queries, monthly on the rest.
How do I measure whether a refresh cadence is working?
Re-run a frozen prompt panel and compare citation rate plus stale-fact rate to the baseline from before the edit. If a previously cited URL dropped after you rewrote the extract, treat that as a self-inflicted loss until the diff says otherwise. Publish volume and “we requested indexing” are not KPIs.
What usually fails first when teams try this?
They rewrite a passage that was already getting quoted, or they bump dates without changing facts. The next failures are using one calendar for every template and clicking Request indexing every morning. Keep the cited sentence on the ticket and require a diff against it before anyone ships.
How long does this take to show results?
Plan ranges, not a date you can invoice. Google recrawl can take several days to several months; Request indexing typically takes a day or so (up to a week or two) and does not guarantee the index; IndexNow does not guarantee indexing. Re-check the panel around day 21, and treat day 60–90 as the first defensible look at citation-rate movement — not day 2.
What should I skip if I only have a week?
Skip the evergreen library, the synonym pass, and the whole-sitemap IndexNow blast. Fix live prices and NAP, surgically edit any cited sentence that is now false, confirm snippet eligibility on five money URLs, and request recrawl once per URL you actually changed. Baseline the panel so week three has a before.
When is this not worth doing yet?
When the URL is not indexed, not snippet-eligible, or has no citeable answer unit. A refresh cannot help a page engines are not allowed to quote. Fix eligibility and write a liftable lead first. Also skip the costume calendar if you do not have a frozen prompt panel — you will not know whether the work did anything.
CTA
If your “content refresh” is a quarterly costume pass, stop. Classify the URL, fix the lies this week, and put citations on a log — not on a vibes calendar.
Lane: /visibility · Book a visibility audit.
What questions does this article answer?
- How often should I refresh content for AI citations?
- By page type, not a sitewide calendar: evergreen explainers get a quarterly accuracy pass (rewrite only if the extract drifted), pricing and entity facts ship the day they change, research refreshes when the dated claim expires, and news moves in hours to days then gets dated or demoted. Citation checks run more often than rewrites — weekly on money queries, monthly on the rest.
- How do I measure whether a refresh cadence is working?
- Re-run a frozen prompt panel and compare citation rate plus stale-fact rate to the baseline from before the edit. If a previously cited URL dropped after you rewrote the extract, treat that as a self-inflicted loss until the diff says otherwise. Publish volume and “we requested indexing” are not KPIs.
- What usually fails first when teams try this?
- They rewrite a passage that was already getting quoted, or they bump dates without changing facts. The next failures are using one calendar for every template and clicking Request indexing every morning. Keep the cited sentence on the ticket and require a diff against it before anyone ships.
- How long does this take to show results?
- Plan ranges, not a date you can invoice. Google recrawl can take several days to several months; Request indexing typically takes a day or so (up to a week or two) and does not guarantee the index; IndexNow does not guarantee indexing. Re-check the panel around day 21, and treat day 60–90 as the first defensible look at citation-rate movement — not day 2.
- What should I skip if I only have a week?
- Skip the evergreen library, the synonym pass, and the whole-sitemap IndexNow blast. Fix live prices and NAP, surgically edit any cited sentence that is now false, confirm snippet eligibility on five money URLs, and request recrawl once per URL you actually changed. Baseline the panel so week three has a before.
- When is this not worth doing yet?
- When the URL is not indexed, not snippet-eligible, or has no citeable answer unit. A refresh cannot help a page engines are not allowed to quote. Fix eligibility and write a liftable lead first. Also skip the costume calendar if you do not have a frozen prompt panel — you will not know whether the work did anything.
Last reviewed — Google AI-features recrawl language, Search Console URL Inspection indexing notes, IndexNow FAQ (no index guarantee), sitemap lastmod guidance, and schema.org dateModified checked 2026-08-19.
AI Visibility
AI Visibility Cannabis visibility when the ad accounts are banned
Google and Meta will not take the usual spend. The models still answer dispensary, cultivator, and brand questions — if the site can be read and the cart can clear a 21+ order.
AI Visibility When ChatGPT names the franchise, not your shop
Run the best-HVAC-near-me prompt panel. If the model names a national franchise, fix corroboration and entity facts — not another blog calendar.
AI Visibility What belongs in an AI visibility monthly retainer vs a one-time audit
A one-time audit is the baseline plus prioritized fixes. A monthly retainer is prompt-panel tracking, entity hygiene, page jobs, and citation recovery.
AI Visibility Does Wikipedia or Wikidata help AI recommend my brand
Wikipedia is not a paid AI lever. Notability plus independent sources decide the page; a real Wikidata item helps entity consistency, not a promotional stub.
Will's Journal in your inbox.
What I learned this week building for shops, floors, and houses.
You're on the list.
Sign-up failed — try again.
By subscribing, you agree to the Privacy Policy.