<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CDN AI bot - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/cdn-ai-bot/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Sat, 20 Jun 2026 15:29:18 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.mrtux.it/wp-content/uploads/2022/06/favicon-150x150.png</url>
	<title>CDN AI bot - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AEO WordPress 2026: perché l&#039;infrastruttura batte il contenuto</title>
		<link>https://www.mrtux.it/aeo-wordpress-infrastruttura-cache-cdn-2026</link>
					<comments>https://www.mrtux.it/aeo-wordpress-infrastruttura-cache-cdn-2026#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 15:29:16 +0000</pubDate>
				<category><![CDATA[sviluppo-web]]></category>
		<category><![CDATA[AEO WordPress]]></category>
		<category><![CDATA[AI crawler retrieval]]></category>
		<category><![CDATA[cache edge AEO]]></category>
		<category><![CDATA[CDN AI bot]]></category>
		<category><![CDATA[infrastruttura AEO]]></category>
		<category><![CDATA[llms.txt infrastruttura]]></category>
		<category><![CDATA[TTFB AEO]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/aeo-wordpress-2026-perche-linfrastruttura-batte-il-contenuto</guid>

					<description><![CDATA[AEO WordPress 2026: server response, cache, CDN e bot-friendly infrastructure determinano le citazioni AI. Articoli perfetti non vengono citati se la pagina non è recuperabile.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">L&#x27;articolo perfetto che nessun AI cita</h2>



<p class="wp-block-paragraph">C&#x27;è un problema che nel 2026 sta rovinando il sonno a molti editori e agenzie WordPress: scrivi un articolo tecnicamente impeccabile, con schema markup, FAQ strutturate, citazioni autorevoli, e heading gerarchici corretti. Lo pubblichi, fai indexing. Passano due settimane. Zero citazioni su ChatGPT, Perplexity, Gemini o Claude. Cerchi il tuo URL nel log del server e trovi la risposta: il crawler AI ha provato a recuperare la pagina, ha ricevuto un 503 o un timeout, e si è spostato su un altro candidato. Il contenuto era pronto, ma l&#x27;infrastruttura non era.</p>



<p class="wp-block-paragraph">Questa è la realtà dell&#x27;AEO (Answer Engine Optimization) nel 2026, documentata in modo esemplare da un report Kinsta dell&#x27;11 giugno 2026 intitolato &quot;AEO for WordPress: Why infrastructure now matters as much as content&quot;. La tesi è netta: <strong>l&#x27;AI engine non legge la tua pagina come un umano, la recupera come una macchina, e se la macchina non riesce a scaricare la pagina in tempo e in modo pulito, l&#x27;AI cerca un altro candidato</strong>. Tutto il lavoro redazionale, SEO e di schema markup che hai fatto non conta se il bot AI non riesce a fare retrieval.</p>



<p class="wp-block-paragraph">Su mrtux.it abbiamo già coperto il <a href="https://www.mrtux.it/ai-bot-wordpress-blanket-blocking-strategia" data-wpel-link="internal" target="_self" rel="noopener">blanket blocking e l&#x27;AEO infrastrutturale</a> e la <a href="https://www.mrtux.it/geo-aeo-seo-wordpress-ottimizzare-tre-motori" data-wpel-link="internal" target="_self" rel="noopener">pipeline editoriale GEO/AEO/SEO</a>. Oggi entriamo nel layer che la maggior parte delle guide AEO trascura: cosa rende una pagina WordPress effettivamente recuperabile da un AI crawler, e cosa la rende invisibile.</p>



<h2 class="wp-block-heading">I 4 pilastri infrastrutturali che determinano l&#x27;AEO retrieval</h2>



<p class="wp-block-paragraph">Secondo il report Kinsta, ci sono 4 layer infrastrutturali che, in ordine di importanza, determinano se un AI crawler riesce a recuperare il tuo contenuto.</p>



<h3 class="wp-block-heading">Pillar 1: Server response time e TTFB</h3>



<p class="wp-block-paragraph">Il Time To First Byte (TTFB) è il tempo che passa tra la richiesta del crawler e la ricezione del primo byte di risposta dal server. Un TTFB sotto i 200ms è considerato eccellente per un AI crawler; sopra gli 800ms il crawler può decidere di scartare la richiesta. Sopra i 2 secondi, è quasi certo che il crawler abbandoni.</p>



<p class="wp-block-paragraph">La domanda che devi farti è: <strong>il tuo hosting WordPress regge un TTFB costante sotto i 500ms anche sotto carico AI bot?</strong> Se la risposta è &quot;non lo so&quot;, il primo passo è misurare. Strumenti come <a href="https://www.webpagetest.org/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WebPageTest</a> o la dashboard APM del tuo hosting (Kinsta APM, New Relic, Blackfire) ti danno il dato.</p>



<pre class="wp-block-code"><code># misurazione TTFB di una pagina WordPress con curl
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\nHTTP: %{http_code}\n" \
  -A "Mozilla/5.0 (compatible; GPTBot/1.0; +[openai.com/gptbot](https://openai.com/gptbot))" \
  https://www.mrtux.it/esempio-articolo/</code></pre>



<p class="wp-block-paragraph">Output ideale:</p>



<pre class="wp-block-code"><code>TTFB: 0.180s
Total: 0.420s
HTTP: 200</code></pre>



<h3 class="wp-block-heading">Pillar 2: Caching configuration</h3>



<p class="wp-block-paragraph">L&#x27;AI crawler può accettare contenuto cached, ma solo se la cache è <em>fresca</em> e <em>completa</em>. Configurazioni di cache malfatte (page cache disabilitato, object cache non funzionante, fragment cache esclusivo per user loggati) producono risposte più lente o incomplete.</p>



<p class="wp-block-paragraph">Le 3 regole di cache AEO-friendly sono:</p>



<ol class="wp-block-list"><li><strong>Page cache attivo per utenti anonimi</strong> (la maggior parte dei crawler è anonima). Plugin: WP Rocket, W3 Total Cache, LiteSpeed Cache, o il page cache nativo dell&#x27;hosting managed.</li><li><strong>Object cache Redis o Memcached</strong> per ridurre le query database. Servizio: Kinsta Redis, Object Cache Pro, o Redis gestito dal provider.</li><li><strong>Fragment cache selettivo</strong> per i blocchi che cambiano spesso (es. carrello WooCommerce), non per i blocchi di contenuto (post, page, CPT).</li></ol>



<p class="wp-block-paragraph">Verifica rapida con WP-CLI:</p>



<pre class="wp-block-code"><code># verifica presenza di page cache e object cache attivi
wp eval '
  $page_cache = (defined("WP_CACHE") &amp;&amp; WP_CACHE) ? "attivo" : "NON ATTIVO";
  $object_cache = file_exists(WP_CONTENT_DIR . "/object-cache.php") ? "attivo" : "non presente";
  $redis = extension_loaded("redis") ? "redis disponibile" : "redis non disponibile";
  $memcached = extension_loaded("memcached") ? "memcached disponibile" : "memcached non disponibile";
  echo "Page cache: $page_cache\n";
  echo "Object cache: $object_cache\n";
  echo "Estensioni: $redis | $memcached\n";
'</code></pre>



<h3 class="wp-block-heading">Pillar 3: CDN rules e edge rendering</h3>



<p class="wp-block-paragraph">Un AI crawler che deve recuperare contenuto da un server a 200ms di latenza è in svantaggio rispetto a uno che lo recupera da un edge CDN a 30ms. Il CDN non è più un &quot;nice to have&quot; per AEO: è un requisito.</p>



<p class="wp-block-paragraph">Le regole operative sono:</p>



<ul class="wp-block-list"><li><strong>CDN edge che serve le pagine cachate</strong> agli AI crawler (Cloudflare APO, CloudFront, Fastly, KeyCDN)</li><li><strong>Cache key che include User-Agent e Accept-Encoding</strong> per differenziare la cache per bot</li><li><strong>HTTP/2 o HTTP/3 attivo</strong> per ridurre il numero di round trip</li><li><strong>Brotli compression</strong> per ridurre la dimensione del payload HTML</li><li><strong>Edge cache TTL coerente</strong> con la frequenza di aggiornamento del contenuto (15-60 minuti per blog post, 5-15 minuti per homepage)</li></ul>



<h3 class="wp-block-heading">Pillar 4: Bot access settings</h3>



<p class="wp-block-paragraph">Questo è il pillar che si sovrappone al tema del blanket blocking: la policy con cui gestisci i bot AI deve essere <em>coerente con la tua strategia AEO</em>. Se blocchi tutti i bot AI indiscriminatamente, l&#x27;AI engine non potrà mai citarti perché non può leggerti. Se consenti tutto indiscriminatamente, paghi banda per crawler che ti ignorano.</p>



<p class="wp-block-paragraph">La regola operativa 2026 è: <strong>consenti i bot che producono citazioni referral (GPT-User, OAI-SearchBot, PerplexityBot, ClaudeBot) e blocca solo i bot che producono training data senza citazione (Bytespider, CCBot, Amazonbot, Applebot-Extended)</strong>. È una scelta di business, non tecnica.</p>



<h2 class="wp-block-heading">Le 5 metriche AEO che devi tracciare</h2>



<p class="wp-block-paragraph">L&#x27;AEO non è una disciplina dove &quot;misurare è impossibile&quot;. Ci sono 5 metriche concrete, recuperabili dai log del tuo server e da tool esterni, che ti dicono se l&#x27;infrastruttura sta funzionando per l&#x27;AI retrieval.</p>



<h3 class="wp-block-heading">Metrica 1: Crawl success rate per AI bot</h3>



<p class="wp-block-paragraph">Percentuale di richieste AI bot che ricevono HTTP 200 OK vs 4xx/5xx. Per essere AEO-friendly, devi stare sopra il 95% di success rate. Sotto il 90%, hai un problema di configurazione infrastrutturale.</p>



<pre class="wp-block-code"><code># estrazione log Nginx per AI bot con success rate
awk '/GPTBot|ClaudeBot|PerplexityBot|ChatGPT-User|OAI-SearchBot/ {
  status=$9;
  if (status ~ /^2/) success++;
  else if (status ~ /^[45]/) fail++;
  total++;
}
END {
  printf "AI bot crawl: %d totali, %d success, %d fail\n", total, success, fail;
  printf "Success rate: %.2f%%\n", (success/total)*100;
}' /var/log/nginx/access.log</code></pre>



<h3 class="wp-block-heading">Metrica 2: TTFB medio per AI bot</h3>



<p class="wp-block-paragraph">Stesso calcolo, ma per il tempo medio di risposta alle richieste AI bot. Obiettivo: sotto i 500ms.</p>



<h3 class="wp-block-heading">Metrica 3: Cache hit ratio per AI bot</h3>



<p class="wp-block-paragraph">Percentuale di richieste AI bot servite da cache edge vs origine. Obiettivo: sopra il 70%. Se sei sotto, significa che il tuo CDN non sta cachando le risposte per i bot AI, e ogni richiesta arriva al tuo server di origine.</p>



<h3 class="wp-block-heading">Metrica 4: Quota di richieste AI bot bloccate per error</h3>



<p class="wp-block-paragraph">Percentuale di richieste AI bot che terminano con 403, 429, 503, o timeout. Obiettivo: sotto il 5%. Se sei sopra, hai una configurazione troppo aggressiva (WAF, rate limit, security plugin) che sta impattando l&#x27;AI retrieval.</p>



<h3 class="wp-block-heading">Metrica 5: Tempo medio di risposta robots.txt e sitemap.xml</h3>



<p class="wp-block-paragraph">I crawler AI leggono prima robots.txt e sitemap.xml per capire la struttura del sito. Se questi file sono lenti, il crawler riduce il crawl budget per le altre pagine. Obiettivo: TTFB sotto i 100ms per robots.txt e sitemap.xml.</p>



<h2 class="wp-block-heading">Setup pratico: 4 configurazioni AEO-friendly pronte all&#x27;uso</h2>



<p class="wp-block-paragraph">Vediamo 4 setup tecnici concreti, pronti da applicare a un sito WordPress con accesso root o managed hosting.</p>



<h3 class="wp-block-heading">Setup 1: Nginx fastcgi cache con differenziazione AI bot</h3>



<pre class="wp-block-code"><code># /etc/nginx/conf.d/wordpress-aeo.conf
# page cache per visitatori anonimi e AI bot
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

# esclusione cache per backend admin
map $request_uri $skip_cache {
  default 0;
  ~*/wp-admin/ 1;
  ~*/wp-login.php 1;
  ~*/xmlrpc.php 1;
  ~*/feed/ 1;
}

# differenzia cache TTL per AI bot
map $http_user_agent $ai_bot_cache_ttl {
  default 3600;
  ~*GPTBot 21600;       # 6 ore per GPTBot
  ~*ClaudeBot 21600;     # 6 ore per ClaudeBot
  ~*PerplexityBot 21600; # 6 ore per PerplexityBot
  ~*OAI-SearchBot 21600; # 6 ore per OAI-SearchBot
  ~*ChatGPT-User 21600;  # 6 ore per ChatGPT-User
}

server {
  location ~ \.php$ {
    fastcgi_cache_bypass $skip_cache;
    fastcgi_cache_valid 200 302 $ai_bot_cache_ttl;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
  }
}</code></pre>



<p class="wp-block-paragraph">Questa configurazione serve tutte le richieste anonime (umani e AI bot) dalla cache Nginx, con TTL più aggressive per gli AI bot che accettano cache più stabile.</p>



<h3 class="wp-block-heading">Setup 2: Cloudflare Worker per cache differenziata AI bot</h3>



<pre class="wp-block-code"><code>// Cloudflare Worker: cache AI bot differenziata con header Vary
export default {
  async fetch(request, env, ctx) {
    const ua = request.headers.get('user-agent') || '';
    const aiBots = /GPTBot|ChatGPT-User|ClaudeBot|Claude-Web|PerplexityBot|Google-Extended|CCBot|Applebot-Extended|OAI-SearchBot|Amazonbot|Cohere-AI/i;
    const isAIBot = aiBots.test(ua);

    if (isAIBot) {
      const cacheKey = new Request(request.url, {
        headers: request.headers,
        cf: { cacheTtl: 21600, cacheEverything: true },
      });
      const cache = caches.default;
      let response = await cache.match(cacheKey);
      if (!response) {
        response = await fetch(request);
        if (response.ok) {
          response.headers.set('Cache-Control', 'public, max-age=21600');
          response.headers.set('X-AEO-Cache', 'HIT');
          ctx.waitUntil(cache.put(cacheKey, response.clone()));
        }
      } else {
        response.headers.set('X-AEO-Cache', 'CACHE-HIT');
      }
      return response;
    }

    return fetch(request);
  },
};</code></pre>



<h3 class="wp-block-heading">Setup 3: WordPress mu-plugin per log AEO retrieval</h3>



<pre class="wp-block-code"><code>&lt;?php
# mu-plugins/aeo-retrieval-log.php
# log richieste AI bot per analisi retrieval success rate

add_action('init', function () {
  $ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
  $ai_bots = ['GPTBot', 'ClaudeBot', 'PerplexityBot', 'OAI-SearchBot', 'ChatGPT-User', 'Google-Extended', 'CCBot', 'Amazonbot'];
  $matched_bot = null;
  foreach ($ai_bots as $bot) {
    if (stripos($ua, $bot) !== false) {
      $matched_bot = $bot;
      break;
    }
  }
  if (!$matched_bot) return;

  // log su file daily
  $log_file = WP_CONTENT_DIR . "/aeo-retrieval-" . date('Y-m-d') . ".log";
  $entry = sprintf(
    "%s | %s | %s | %s | UA=%s | TTFB=%dms\n",
    date('H:i:s'),
    $matched_bot,
    $_SERVER['REQUEST_METHOD'],
    $_SERVER['REQUEST_URI'],
    $ua,
    (int) ((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000)
  );
  error_log($entry, 3, $log_file);
});

# hook per log response status
add_action('shutdown', function () {
  $ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
  if (stripos($ua, 'GPTBot') === false &amp;&amp; stripos($ua, 'ClaudeBot') === false) return;
  $status = http_response_code();
  $log_file = WP_CONTENT_DIR . "/aeo-retrieval-" . date('Y-m-d') . ".log";
  error_log(sprintf("  --&gt; STATUS=%d %s\n", $status, date('H:i:s')), 3, $log_file);
});</code></pre>



<p class="wp-block-paragraph">Dopo 7 giorni di log, hai un dataset analizzabile per capire la retrieval quality per AI bot.</p>



<h3 class="wp-block-heading">Setup 4: robots.txt AEO-friendly granulare</h3>



<pre class="wp-block-code"><code># robots.txt AEO-friendly 2026
# Googlebot e Bingbot sempre consentiti
User-agent: Googlebot
Allow: /

User-agent: Bingbot
Allow: /

# AI bot che producono citazioni: consentiti con crawl-delay moderato
User-agent: GPTBot
Allow: /articoli/
Allow: /guide/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /?s=
Crawl-delay: 2

User-agent: ChatGPT-User
Allow: /
Crawl-delay: 1

User-agent: OAI-SearchBot
Allow: /
Crawl-delay: 1

User-agent: PerplexityBot
Allow: /
Crawl-delay: 1

User-agent: ClaudeBot
Allow: /articoli/
Disallow: /cart/
Disallow: /checkout/
Crawl-delay: 2

# AI bot di training senza citazione: bloccati o limitati
User-agent: Google-Extended
Disallow: /articoli-protetti/
Allow: /

User-agent: CCBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Amazonbot
Disallow: /

User-agent: Applebot-Extended
Disallow: /

# sempre bloccare area admin e file sensibili
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /readme.html</code></pre>



<h2 class="wp-block-heading">Quando l&#x27;infrastruttura non basta</h2>



<p class="wp-block-paragraph">Ci sono almeno 3 scenari in cui l&#x27;infrastruttura è necessaria ma non sufficiente per l&#x27;AEO.</p>



<h3 class="wp-block-heading">Scenario A: contenuto non citabile</h3>



<p class="wp-block-paragraph">Se il tuo contenuto è confuso, mal strutturato, o non risponde a domande specifiche in modo chiaro, l&#x27;AI engine lo scansiona e non lo cita. L&#x27;infrastruttura rende la pagina recuperabile, ma il contenuto deve meritare la citazione. È la regola del &quot;retrieval-ready + content-ready&quot;.</p>



<h3 class="wp-block-heading">Scenario B: dominio con bassa autorità</h3>



<p class="wp-block-paragraph">Un dominio nuovo o con bassa autorità di settore viene citato meno di un dominio stabilito, a parità di infrastruttura e contenuto. L&#x27;AEO non sostituisce la brand authority. È un moltiplicatore, non una scorciatoia.</p>



<h3 class="wp-block-heading">Scenario C: AI engine con preferenze specifiche</h3>



<p class="wp-block-paragraph">Ogni AI engine ha le sue preferenze di retrieval. ChatGPT privilegia articoli lunghi e strutturati con FAQ. Perplexity privilegia articoli recenti e con citazioni esterne. Gemini privilegia contenuti con schema markup. Nessuna configurazione infrastrutturale può sostituire l&#x27;ottimizzazione per ciascun engine specifico.</p>



<h2 class="wp-block-heading">Differenza tra AEO, GEO e SEO infrastrutturale</h2>



<p class="wp-block-paragraph">Spesso si confondono i tre acronimi. Ecco la differenza operativa lato infrastruttura.</p>



<h3 class="wp-block-heading">SEO infrastrutturale</h3>



<p class="wp-block-paragraph">Focus: crawlability per Googlebot e Bingbot. Elementi chiave: robots.txt, sitemap.xml, HTTPS, mobile-friendly, Core Web Vitals. È il layer storico che tutti conosciamo.</p>



<h3 class="wp-block-heading">AEO infrastrutturale</h3>



<p class="wp-block-paragraph">Focus: retrieval quality per AI bot che producono citazioni. Elementi chiave: TTFB basso, cache edge differenziata, schema markup esteso, llms.txt. È un&#x27;evoluzione del SEO che richiede configurazioni specifiche per AI bot.</p>



<h3 class="wp-block-heading">GEO infrastrutturale</h3>



<p class="wp-block-paragraph">Focus: presenza come fonte citabile in generative AI. Elementi chiave: autorevolezza del dominio, backlink da fonti autorevoli, struttura del contenuto che supporta la sintesi AI. È il layer più &quot;off-page&quot; dei tre.</p>



<p class="wp-block-paragraph">La sovrapposizione è significativa: tutte e tre richiedono HTTPS, performance, e accessibilità. Le differenze sono nelle ottimizzazioni specifiche per il retrieval AI.</p>



<h2 class="wp-block-heading">Checklist operativa per audit AEO infrastrutturale</h2>



<p class="wp-block-paragraph">Per un sito WordPress in produzione, ecco la sequenza di audit che consiglio di fare ogni 90 giorni.</p>



<ol class="wp-block-list"><li><strong>Misura TTFB</strong> con WebPageTest da 3 location diverse, in 3 orari diversi della giornata</li><li><strong>Verifica page cache attivo</strong> con il WP-CLI snippet qui sopra</li><li><strong>Verifica object cache attivo</strong> (Redis o Memcached)</li><li><strong>Controlla CDN configuration</strong> (cache rules, edge TTL, brotli)</li><li><strong>Analizza log AI bot</strong> con lo script awk qui sopra, calcola success rate</li><li><strong>Verifica robots.txt</strong> AEO-friendly (consenti i bot giusti, blocca gli altri)</li><li><strong>Testa sitemap.xml TTFB</strong> sotto i 100ms</li><li><strong>Verifica llms.txt</strong> presente e aggiornato (vedi articolo dedicato)</li><li><strong>Controlla schema markup</strong> con Google Rich Results Test e Schema.org validator</li><li><strong>Misura cache hit ratio per AI bot</strong> con Cloudflare Analytics o Varnish stats</li></ol>



<p class="wp-block-paragraph">Se tutti i 10 punti sono verdi, la tua infrastruttura è AEO-ready. Se uno o più sono rossi, hai una perdita di citazioni quantificabile.</p>



<h2 class="wp-block-heading">Domande frequenti su AEO infrastruttura WordPress</h2>



<p class="wp-block-paragraph"><strong>Qual è il TTFB minimo per essere citati dagli AI engine?</strong></p>



<p class="wp-block-paragraph">Non c&#x27;è un minimo &quot;ufficiale&quot;, ma la pratica è: sotto i 500ms sei in una posizione sicura. Sopra 1 secondo, rischi timeout e crawler abandonment. Sopra 2 secondi, è quasi certo che il crawler scarti la richiesta.</p>



<p class="wp-block-paragraph"><strong>llms.txt è obbligatorio per l&#x27;AEO?</strong></p>



<p class="wp-block-paragraph">No, llms.txt non è obbligatorio e non è ancora uno standard adottato universalmente dagli AI engine. Tuttavia, è un file che dichiara esplicitamente quali sezioni del sito sono citabili e fornisce un sommario strutturato che alcuni AI engine usano come hint. Averlo non penalizza, e in alcuni casi può migliorare la qualità delle citazioni.</p>



<p class="wp-block-paragraph"><strong>Devo avere un CDN per essere AEO-friendly?</strong></p>



<p class="wp-block-paragraph">Tecnicamente no, ma in pratica sì. Un sito con TTFB costante sotto i 200ms senza CDN è raro, e un edge cache con HTTP/2 e brotli è un moltiplicatore di retrieval quality significativo. Se non puoi avere un CDN, ottimizza il server (PHP 8.2+, opcache, Redis).</p>



<p class="wp-block-paragraph"><strong>Bloccare i bot AI di training (Bytespider, CCBot) danneggia le citazioni?</strong></p>



<p class="wp-block-paragraph">No, anzi. Bloccare i bot di training che non producono citazioni referral non impatta le citazioni ChatGPT/Perplexity/Claude. Sono due bucket distinti: i bot di training raccolgono dati per modelli futuri, i bot di citazione rispondono a query utente in tempo reale.</p>



<p class="wp-block-paragraph"><strong>Come faccio a sapere se un AI engine ha recuperato il mio contenuto?</strong></p>



<p class="wp-block-paragraph">Verifica i log del server per User-Agent specifici. GPTBot: <code>Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +[openai.com/gptbot](https://openai.com/gptbot))</code>. ClaudeBot: <code>Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)</code>. Per PerplexityBot il pattern è simile. Trovi la lista completa sul blog del rispettivo AI engine.</p>



<p class="wp-block-paragraph"><strong>Qual è la differenza tra robots.txt per SEO e per AEO?</strong></p>



<p class="wp-block-paragraph">Per SEO tradizionale, robots.txt gestisce Googlebot, Bingbot, e bot di scraping noti. Per AEO, robots.txt deve gestire i 14 AI bot principali con policy differenziate. La regola pratica: i bot che producono citazioni (GPT-User, OAI-SearchBot, PerplexityBot) vanno consentiti, quelli che producono solo training data (Bytespider, CCBot) vanno bloccati o limitati.</p>



<p class="wp-block-paragraph"><strong>AEO infrastructure è un lavoro continuo o una tantum?</strong></p>



<p class="wp-block-paragraph">Continuo. I bot AI cambiano signature, i requisiti di retrieval evolvono, le configurazioni di cache si degradano nel tempo. Un audit ogni 90 giorni è il minimo per mantenere la qualità.</p>



<h2 class="wp-block-heading">Conclusione: l&#x27;invisibilità infrastrutturale è il killer silenzioso dell&#x27;AEO</h2>



<p class="wp-block-paragraph">Il paradosso del 2026 è che gli articoli meglio scritti, meglio strutturati e con la migliore intent-match sono anche quelli più a rischio di non essere citati, semplicemente perché la loro infrastruttura non è configurata per l&#x27;AI retrieval. Un hosting lento, una cache mal configurata, un robots.txt troppo aggressivo, e tutto il lavoro editoriale evapora.</p>



<p class="wp-block-paragraph">La buona notizia è che l&#x27;infrastruttura è misurabile e migliorabile. A differenza dell&#x27;algoritmo AI (che è una scatola nera), la cache, il CDN, il TTFB, e la policy robots.txt sono sotto il tuo controllo. È il layer dove un investimento tecnico di 1-2 giornate uomo può portare un salto di 30-50% nelle citazioni misurabili.</p>



<p class="wp-block-paragraph">Per chi fa SEO o editoria WordPress, il 2026 sarà l&#x27;anno in cui l&#x27;infrastruttura diventa il differenziale competitivo. Chi la padroneggia, cita. Chi la trascura, viene citato di rado e solo per caso.</p>



<h2 class="wp-block-heading">Riferimenti utili per approfondire</h2>



<ul class="wp-block-list"><li><a href="https://kinsta.com/blog/aeo-wordpress/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Kinsta Blog: AEO for WordPress - Why infrastructure now matters as much as content</a> - articolo di partenza dell&#x27;11 giugno 2026 sul layer infrastrutturale AEO</li><li><a href="https://kinsta.com/blog/geo-vs-aeo-vs-seo-wordpress/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Kinsta Blog: GEO vs AEO vs SEO - What&#x27;s the difference</a> - differenze operative tra i tre acronimi</li><li><a href="https://kinsta.com/blog/bot-traffic-server-load-wordpress/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Kinsta Blog: Why scaling infrastructure doesn&#x27;t fix bot traffic</a> - articolo complementare su bot traffic e performance</li><li><a href="https://www.mrtux.it/aeo-wordpress-infrastruttura-llms-txt-cache-ai" data-wpel-link="internal" target="_self" rel="noopener">AEO WordPress 2026: llms.txt e infrastruttura per AI bot</a> - guida mrtux.it completa su llms.txt e cache edge</li><li><a href="https://www.mrtux.it/geo-aeo-seo-wordpress-ottimizzare-tre-motori" data-wpel-link="internal" target="_self" rel="noopener">GEO, AEO e SEO su WordPress: come ottimizzare per tutti e tre i motori</a> - pipeline editoriale integrata</li><li><a href="https://www.mrtux.it/ai-bot-traffic-wordpress-gestire-crawler-2026" data-wpel-link="internal" target="_self" rel="noopener">AI bot traffic WordPress: gestire GPTBot, ClaudeBot e crawler AI nel 2026</a> - guida completa ai 14 AI crawler</li><li><a href="https://www.mrtux.it/ai-bot-wordpress-blanket-blocking-strategia" data-wpel-link="internal" target="_self" rel="noopener">AI bot WordPress 2026: perché il blanket blocking non funziona più</a> - strategia 5 livelli selettiva</li><li><a href="https://www.mrtux.it/kinsta-bot-protection-self-serve-mykinsta-2026" data-wpel-link="internal" target="_self" rel="noopener">Kinsta Bot Protection self-serve MyKinsta: guida 2026</a> - guida pratica al pannello Kinsta</li><li><a href="https://platform.openai.com/docs/gptbot" target="_blank" rel="noopener nofollow external" data-wpel-link="external">OpenAI GPTBot documentation</a> - specifica tecnica bot OpenAI</li><li><a href="https://docs.claude.com/en/docs/build-with-claude/claude-bot" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Anthropic ClaudeBot documentation</a> - specifica bot Anthropic</li><li><a href="https://commoncrawl.org/big-picture/ccbot" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Common Crawl CCBot</a> - documentazione CCBot per training</li><li><a href="https://developers.cloudflare.com/cache/how-to/cache-rules/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Cloudflare Cache Rules</a> - documentazione cache rules per AI bot differenziati</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/aeo-wordpress-infrastruttura-cache-cdn-2026/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
