TIME serve 3.096 parole a ClaudeBot, 1.502 sono pubblicità
Lo smistamento esiste, gira in produzione ed è documentato (Vincent Schmalbach, The Register). Quanto se ne è scritto finora, con pochissime eccezioni, è una storia di ricavi: un editore ha trovato il modo di fatturare il traffico dei bot. Quella metà è coperta.
L'altra metà riguarda chiunque non possieda TIME. Ogni sito che compete per essere citato dall'IA condivide ormai il livello delle risposte con pagine costruite per essere ingerite, non lette. E nessun gestore sa se il proprio stack faccia lo stesso. La stessa mattina abbiamo eseguito la medesima verifica a sei User-Agent sul nostro sito, ottenendo 631.385 byte di HTML identici al byte per ogni agente, umano o crawler che fosse. La verifica ha richiesto novanta secondi e non l'avevamo mai fatta prima.
Di seguito: che cosa serve davvero TIME, come è realizzato lo smistamento, perché non è cloaking nel senso che i suoi strumenti SEO controllano, e quale comando rivela che cosa fa il suo dominio.
Che cosa serve davvero TIME a un crawler IA
| User-Agent | Stato | Byte | Content-Type |
|---|---|---|---|
| Chrome 139 (browser desktop) | 200 | 1.232.251 | text/html |
| Googlebot | 200 | 1.232.251 | text/html |
| ClaudeBot | 200 | 41.862 | text/markdown |
| GPTBot | 200 | 41.862 | text/markdown |
| ChatGPT-User | 200 | 41.862 | text/markdown |
| PerplexityBot | 406 | 0 | — |
La versione Markdown è ventinove volte più leggera dell'HTML. Su una pagina di articolo — quella del 5 agosto su un accordo fiscale — lo stesso divario dava 276.981 byte di HTML contro 10.827 di Markdown, un fattore 25,6. TIME avrebbe convertito le proprie pagine in Markdown intorno a giugno 2026, sul presupposto che un accesso automatico più agevole aumenti le probabilità di comparire nelle risposte generative (Relevant Audience).
Due righe della tabella contraddicono gli articoli del 5 agosto, secondo i quali GPTBot e ChatGPT-User venivano respinti con un 406, mentre PerplexityBot riceveva il Markdown. Nella nostra misurazione il rifiuto si è spostato su PerplexityBot e i due agenti di OpenAI vengono serviti. Non sosteniamo che i primi resoconti fossero errati: riportiamo ciò che un punto di presenza europeo ha restituito un giorno dopo. L'identificativo Cloudflare di ogni risposta indicava Monaco di Baviera, quindi una richiesta dagli Stati Uniti può ancora differire.
Questa instabilità non è una nota a margine: è il risultato centrale. La lista di autorizzazioni è una configurazione viva, cambiata nell'arco di ventiquattro ore dalla sua documentazione pubblica, all'interno di un sistema privo di qualsiasi regola dichiarata. Il che ci porta al file che tutti controllano.
Il robots.txt di TIME pesa 2.326 byte ed elenca decine di esclusioni di parametri URL per Googlebot. Non contiene nessuna direttiva per ClaudeBot, GPTBot, ChatGPT-User, PerplexityBot, CCBot o Google-Extended (time.com/robots.txt, consultato il 6 agosto 2026). Ognuno di questi agenti viene gestito in un punto che il file robots non è in grado di descrivere.
❌ Leggere il robots.txt, non trovarvi direttive per i bot IA e concluderne che il sito tratti tutti gli agenti allo stesso modo.
✅ Inviare le richieste e confrontare le risposte.
I due metodi danno risposte opposte sullo stesso dominio, nello stesso giorno.
La pubblicità non è un banner, è una scheda di riferimento
Il blocco sponsorizzato della versione Markdown si apre con un commento HTML che nomina fornitore e campagna:
<!-- mobian-agent-ad id="c733d38f-..." campaign="ally-2026-q3"
creative="agentads-creative-ally-v1" -->
Mobian è la piattaforma pubblicitaria che lo alimenta e vende esplicitamente questo formato come pubblicità destinata agli agenti IA (themobian.ai). Ally e il Project Management Institute risultano tra i primi acquirenti (Media Copilot).
Ciò che sta tra i delimitatori merita attenzione. Non è un testo pubblicitario, ma una voce di consultazione strutturata: un titolo ### Definition, poi ### Organization facts e ### Key product features come tabelle Markdown, ogni riga con una colonna Source che attribuisce l'affermazione all'inserzionista. Fondata nel 2009. Oltre 75.000 sportelli automatici senza commissioni. Zero costi di scoperto. Ogni dato formattato esattamente come un sistema di recupero delle informazioni preferisce assimilarlo.
È il progetto stesso a puntare lì. Un annuncio grafico è facile da ignorare per un modello linguistico, perché non somiglia a un testo. Una tabella di definizioni con le fonti è formalmente indistinguibile dal contenuto redazionale che la circonda, ed è collocata subito dopo il titolo, prima del corpo dell'articolo (API Evangelist). Questa unità non compete per l'attenzione. Compete per essere recuperata.
La pagina di articolo si è comportata diversamente, e la differenza è istruttiva: non conteneva alcun blocco pubblicitario, eppure restituiva ugualmente un'intestazione di impression e un conteggio di token. L'inventario non è su ogni pagina. La misurazione sì.
Lo smistamento si basa sullo User-Agent, e l'intestazione Vary sostiene il contrario
Le intestazioni di risposta della versione Markdown sono insolitamente esplicite:
content-type: text/markdown; charset=utf-8
x-mobian-format: md
x-mobian-tokens: 10448
x-mobian-registry-version: 2026-07-28.v9
x-mobian-impression: 119ce963-1a68-41d5-a3d9-17ac0a0e9fab
cache-control: no-store
vary: Accept
x-mobian-tokens quota la pagina nell'unità di misura dell'acquirente: 10.448 token per la home page, 2.681 per l'articolo. L'identificativo di impression è nuovo a ogni richiesta; abbiamo chiamato tre volte la stessa URL ottenendo tre UUID distinti. Unito a cache-control: no-store, significa che ogni passaggio di un crawler è fatturabile — quanto rilevato da Schmalbach e confermato dalle nostre richieste ripetute.
Il meccanismo sottostante è il rilevamento dello User-Agent al bordo della rete di distribuzione, davanti alla quale si trova Cloudflare, e non una negoziazione del contenuto né uno schema di URL separato (daily.dev).
È sull'ultima riga che un gestore dovrebbe fermarsi. Vary: Accept dichiara che la risposta varia in base all'intestazione Accept. Non è così. Abbiamo inviato Accept: text/markdown con uno User-Agent Chrome desktop e ricevuto gli interi 1.232.251 byte di HTML. La risposta varia in base allo User-Agent, e quella dimensione non è dichiarata.
È anche la ragione per cui esiste la via conforme agli standard. La negoziazione del contenuto — il client chiede text/markdown, il server la rispetta — è il modo documentato di servire varianti leggibili dalle macchine (explainx.ai), e llms.txt è il modo dichiarativo di indirizzarvi i client (limy.ai). Entrambi sono ispezionabili dall'esterno. Il riconoscimento dello User-Agent al bordo non lo è, ed è precisamente per questo che la lista di autorizzazioni ha potuto invertirsi da un giorno all'altro senza che nulla cambiasse nella configurazione pubblicata del sito.
Perché non è cloaking, e perché la cosa conta
L'istinto porta a gridare al cloaking e ad attendersi una penalizzazione. Conviene rileggere la definizione. Le linee guida antispam di Google descrivono il cloaking come la presentazione agli utenti di contenuti diversi da quelli presentati ai motori di ricerca (Google Search Central). Nella nostra misurazione Googlebot ha ricevuto 1.232.251 byte: la stessa pagina, al byte, ricevuta dal browser.
TIME quindi non nasconde nulla a Google. Serve a Google esattamente ciò che serve agli esseri umani, e accanto serve una versione separata e monetizzata a un insieme di agenti che la regola di Google non copre. Alcuni professionisti la considerano una tecnica legittima anziché un inganno (iPullRank); l'osservazione utile è più circoscritta.
La documentazione di Anthropic mostra quanto sia ormai granulare il quadro: ClaudeBot, Claude-User e Claude-SearchBot sono agenti distinti con finalità distinte (Anthropic, Search Engine Roundtable). Un sito può comportarsi in modo diverso con ciascuno, e nulla nel patto con i crawler lo obbliga a dichiararlo.
Che cosa comporta per il livello di citazione da cui lei dipende
Il calcolo di TIME regge. Le visite dalla ricerca calano, il traffico dei bot cresce, e monetizzare il crawler è una risposta razionale (Digiday). Si sostiene ormai che le richieste degli agenti costituiscano la maggioranza del traffico web, il che sposta la domanda: non più se bloccarli, ma che cosa servire loro (WorkOS, Digital Applied). Un singolo editore che lo fa è una notizia economica.
L'effetto di secondo ordine non parla più di TIME.
Quando un assistente risponde a una domanda, compone la risposta a partire da fonti. Se una di queste è una pagina in cui circa metà delle parole formano una tabella sponsorizzata dotata di una propria colonna Source, i dati sponsorizzati arrivano nella risposta rivestiti dell'autorevolezza dell'editore. Il lettore vede una citazione di una testata rispettata. Le frasi di posizionamento dell'inserzionista hanno viaggiato nello stesso invio, formattate in modo più recuperabile del giornalismo che le circonda.
Nessuno in questa catena si è comportato male. L'editore ha etichettato il blocco come «Sponsored content». Il crawler ha prelevato ciò che gli è stato dato. L'assistente ha citato la fonte. Semplicemente, l'etichetta non è una struttura che il livello di recupero sia tenuto a conservare, e quando la risposta raggiunge il lettore non esiste più una pagina resa da ispezionare. Fra gli sviluppatori si discute già di filtri antipubblicitari per i contenuti serviti ai modelli linguistici (Hacker News): una corsa non ancora iniziata, che nessun gestore di sito governa dalla propria parte.
Per chi compete per le citazioni ne discendono tre conseguenze:
- La quota di citazioni è in parte acquistabile. Non tramite i suoi contenuti, ma tramite uno spazio nella versione per crawler del sito di qualcun altro. È un canale in cui i concorrenti possono investire e che lei non può verificare.
- La sua impronta nel livello delle risposte non è verificata. Ogni sito con una rete di distribuzione, regole al bordo, un CMS disaccoppiato o una gestione dei bot dispone di uno stack in grado di smistare in base allo User-Agent. La maggior parte dei gestori non ha mai controllato se il proprio lo faccia.
- Il controllo va ripetuto. Il nostro è cambiato entro ventiquattro ore dalla pubblicazione. Un audit una tantum misura una configurazione, non una politica.
Quest'ultimo punto coincide con la lezione tratta quando Claude Code ha corretto una falla di isolamento che il canale npm predefinito ancora non distribuiva: l'annuncio e l'artefatto che i suoi sistemi ricevono davvero sono due fatti distinti, e solo uno dei due è verificabile.
Esegua la verifica sul suo stack
Novanta secondi, nessuna dipendenza, nessun account. Sostituisca la URL:
URL="https://www.example.com/"
for UA in \
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/139.0.0.0 Safari/537.36" \
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
"ClaudeBot/1.0 ([email protected])" \
"GPTBot/1.2 (+https://openai.com/gptbot)" \
"ChatGPT-User/1.0 (+https://openai.com/bot)" \
"PerplexityBot/1.0 (+https://perplexity.ai/perplexitybot)"
do
printf '%-14s %s\n' \
"$(curl -s -o /dev/null -w '%{http_code} %{size_download}' -A "$UA" -L "$URL")" \
"${UA:0:46}"
done
Legga il risultato attraverso quattro domande.
I conteggi in byte coincidono? Dimensioni identiche su tutti gli agenti significano che non c'è smistamento. È il risultato ottenuto sul nostro dominio: 631.385 byte, sei volte, senza variazioni.
Qualche agente riceve qualcosa di diverso da un 2xx? Un 403 o un 406 per un crawler e non per un altro è una regola che qualcuno ha impostato, magari un valore predefinito della gestione dei bot che nessuno ha mai riletto. Verifichi che sia voluta.
Il Content-Type cambia? text/markdown al crawler e text/html al browser è uno smistamento, che le parole differiscano o meno.
E se smista, Vary è corretto? Aggiunga -D - alla chiamata curl e legga le intestazioni. Se la risposta varia in base allo User-Agent, Vary: User-Agent deve dirlo.
Un risultato diverso da zero non è automaticamente un problema. Servire Markdown agli agenti è un'ottimizzazione ragionevole e diverse piattaforme di documentazione lo fanno di proposito. Il problema è uno smistamento di cui non si sapeva nulla, perché la stessa capacità al bordo che riduce una pagina a Markdown può anche iniettarvi contenuti, e da un browser la differenza è invisibile. La disciplina di verifica è quella che applichiamo alle competenze degli agenti prima che girino contro uno stack di produzione e alle interfacce leggibili dalle macchine in generale: ispezionare l'artefatto, non l'annuncio.
Esegua la verifica sul sito vetrina, sulla documentazione e sulla pagina dei prezzi: le regole al bordo raramente sono uniformi. Poi la ripeta il trimestre successivo, perché la nostra si è spostata in un giorno.
Se preferisce che tutto questo venga verificato, monitorato e corretto, è ciò di cui si occupa la nostra pratica di ingegneria degli agenti IA. Vale la stessa impostazione delle tre misure di Tailscale: la misura che conta è quella che regge anche quando la configurazione cambia.
Domande frequenti
Servire contenuti diversi ai crawler IA viola le regole di Google? Non per come sono scritte. Google definisce cloaking il mostrare ai motori di ricerca qualcosa di diverso da ciò che vedono gli utenti. Nella nostra misurazione del 6 agosto 2026 Googlebot ha ricevuto lo stesso HTML del browser, quindi il confronto previsto dalla regola non scatta mai.
Come si verifica se il proprio sito smista in base allo User-Agent? Richieda la stessa URL con più stringhe User-Agent e confronti codice di stato, numero di byte e Content-Type. Byte identici tra browser, Googlebot e i principali agenti IA significano assenza di smistamento. Il ciclo completo è nella sezione precedente.
Il blocco sponsorizzato compare su tutte le pagine di TIME? No. La home page portava un blocco di 1.502 parole il 6 agosto 2026; la pagina di articolo che abbiamo verificato non ne aveva alcuno, pur restituendo un'intestazione di impression per ogni richiesta e un conteggio di token.
È la stessa cosa della negoziazione del contenuto?
No. Abbiamo inviato Accept: text/markdown con uno User-Agent da browser e ricevuto HTML completo. La risposta dipende dallo User-Agent, mentre l'intestazione Vary dichiara Accept: è proprio questa dichiarazione errata che i gestori dovrebbero cercare nel proprio stack.
Posso impedire ai crawler IA di leggere una versione con pubblicità di una pagina accanto alla quale vengo citato? No. Si controlla ciò che serve il proprio dominio, non ciò che servono i domini altrui. Ciò che si controlla è se le proprie pagine siano davvero quello che si crede.
Fonti
- https://www.vincentschmalbach.com/time-serves-ai-bots-a-different-website
- https://www.theregister.com/ai-and-ml/2026/08/05/time-magazine-has-a-separate-version-of-its-website-with-ads-only-ai-can-see/5283640
- https://apievangelist.com/2026/08/03/how-time-serves-ads-to-ai-agents
- https://digiday.com/media/time-has-started-serving-ads-to-ai-agents
- https://themobian.ai
- https://mediacopilot.ai/time-ads-ai-agents-markdown
- https://www.relevantaudience.com/geo/time-ads-targeting-ai-agents-markdown-pages
- https://daily.dev/posts/how-time-serves-ads-to-ai-agents-5mhfmc0bf
- https://news.ycombinator.com/item?id=49182041
- https://ipullrank.com/cloaking-for-llms
- https://www.seroundtable.com/anthropic-updates-its-crawler-docs-40978.html
- https://workos.com/blog/ai-agent-web-traffic-what-developers-need-to-change
- https://explainx.ai/blog/markdown-for-agents-content-negotiation-guide-2026
- https://limy.ai/blog/llms.txt-in-2026-the-full-guide
- https://www.digitalapplied.com/blog/ai-crawler-bot-traffic-statistics-2026-data-reference
- https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
- https://time.com/robots.txt
- https://developers.google.com/search/docs/essentials/spam-policies