Field notes from the AI search frontier.

Updating your page does nothing until the freshness signals move with it
You can rewrite half an article and to a machine the page looks untouched. Freshness is a technical claim carried by dateModified, sitemap lastmod, and the visible date. How to signal real updates without faking the dates.
read_post →
Google recrawls your 404s far more than your 410s, and at scale that is real budget
The 410 deindexation-speed gap is smaller than people claim. But a controlled experiment found Google recrawls 404s 49.6% more than 410s, and on a large site that is real crawl budget. Here is when to use each and how to deploy 410 at scale.
read_post →
Blocking every AI bot with one line costs you the citations you actually want
AI crawlers do three different jobs, training, retrieval for citation, and user-triggered fetches. A blanket Disallow blocks them all and can delete you from ChatGPT and Perplexity answers. Here is how to segment robots.txt instead.
read_post →
ChatGPT and Perplexity barely cite the same sources
ChatGPT and Perplexity overlap on barely 11% of the sources they cite. There is no single "AI search" to optimize for anymore, and here is how each engine actually chooses.
read_post →
The 38,000-to-1 gap between what AI crawls and what it cites
AI bots crawl tens of thousands of pages for every one they cite. Most of that funnel is unstudied, which means it is also unoptimized. Here is what happens between a crawl and a citation.
read_post →
The shopping query your product page never sees
Google's Conversational Attributes let you write feed copy that AI shopping answers match to natural-language queries. How to do it without keyword stuffing.
read_post →
How one HTTP header can feed Googlebot a stale, fragmented copy of your page
One response header decides how many copies of each URL your CDN stores, and almost no SEO audit checks it. Here is how Vary fragments your cache, feeds Googlebot stale HTML, and what to set instead.
read_post →
Why your JavaScript content can show up in Google days after you publish it
Google reads your page twice. Raw HTML first, rendered JavaScript second. The render queue is where new content waits to get indexed, and most teams misread the lag. Here is how it works and how to catch it in Search Console.
read_post →
How the Post-Redirect-Get pattern hides billions of junk filter URLs from Googlebot
A store with 32 filter parameters can generate 4,294,967,296 unique URLs. That is 2 raised to the 32nd power, and it assumes the laziest possible math, one on/off state per facet. Add a second value to any facet and the count climbs past four billion fast. Every one of those URLs is a door Googlebot has to open before it can decide the room behind it is empty.
read_post →
Getting cited in AI Overviews tells you almost nothing about whether AI Mode can see you
Two Google surfaces answer the same query, agree on the answer about 86% of the time, and cite the same URLs only 13.7% of the time. That last number comes from Ahrefs, which compared 540,000 query pairs across AI Overviews and AI Mode. The gap is the whole story. A citation in AI Overviews is weak evidence, close to none, that AI Mode will surface you for the same search.
read_post →