<?php
 declare(strict_types=1);
 if (file_exists(__DIR__ . '/config.php')) require_once __DIR__ . '/config.php';
 $appName = defined('APP_NAME') ? APP_NAME : 'AEO Metrix';
 $appUrl  = defined('APP_URL')  ? APP_URL  : 'https://www.aeometrix.it';
 $year    = date('Y');
?>
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>llms.txt e robots.txt per AI: guida pratica per farsi leggere dai motori generativi</title>
<meta name="description" content="Guida pratica a llms.txt e robots.txt per AI: come gestire accesso, crawling e recupero dei contenuti da parte di ChatGPT, Gemini, Claude e Perplexity.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/come-funziona-llms-txt-e-robots-ai.php">
<meta property="og:title" content="llms.txt e robots.txt per AI: guida pratica per farsi leggere dai motori generativi">
<meta property="og:description" content="Guida pratica a llms.txt e robots.txt per AI: come gestire accesso, crawling e recupero dei contenuti da parte di ChatGPT, Gemini, Claude e Perplexity.">
<meta property="og:url" content="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/come-funziona-llms-txt-e-robots-ai.php">
<meta property="og:type" content="article">
<link rel="icon" href="/images/favicon.webp" type="image/x-icon">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,700;12..96,800&display=swap" rel="stylesheet">
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "llms.txt e robots.txt per AI: guida pratica per farsi leggere dai motori generativi",
  "description": "Guida pratica a llms.txt e robots.txt per AI: come gestire accesso, crawling e recupero dei contenuti da parte di ChatGPT, Gemini, Claude e Perplexity.",
  "author": {"@type":"Organization","name":"AEO Metrix","url":"<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>"},
  "publisher": {"@type":"Organization","name":"AEO Metrix","url":"<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>"},
  "datePublished": "2026-03-20",
  "dateModified": "<?= date('Y-m-d') ?>"
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {"@type":"Question","name":"llms.txt è obbligatorio?","acceptedAnswer":{"@type":"Answer","text":"No. Non è un requisito formale del web come robots.txt. È però un supporto utile per indicare alle AI quali pagine sono più affidabili e rilevanti."}},
    {"@type":"Question","name":"Se blocco un crawler AI sparisco ovunque?","acceptedAnswer":{"@type":"Answer","text":"Non sempre. Dipende dal tipo di crawler e dallo scenario. Bloccare bot usati per discovery o retrieval può però ridurre la probabilità che i tuoi contenuti vengano recuperati e citati."}},
    {"@type":"Question","name":"Robots.txt basta per controllare tutto?","acceptedAnswer":{"@type":"Answer","text":"No. Controlla soprattutto crawling automatico. Non sostituisce una buona architettura informativa, né risolve problemi di qualità dei contenuti o di autorevolezza."}},
    {"@type":"Question","name":"Quali pagine conviene inserire in llms.txt?","acceptedAnswer":{"@type":"Answer","text":"Homepage, pagine pilastro, guide, documentazione, FAQ, policy, contatti, pagine brand ufficiali e ogni URL che vuoi far riconoscere come fonte primaria."}},
    {"@type":"Question","name":"Serve aggiornare questi file spesso?","acceptedAnswer":{"@type":"Answer","text":"Sì, ogni volta che cambiano struttura del sito, aree strategiche, sezioni informative o policy di accesso."}}
  ]
}
</script>

<style>
:root{
  --bg:#07080f;--bg2:#0c0d17;--surface:#0f1020;--surface2:#141628;
  --border:#1a1d35;--border2:#242840;--text:#dde1f5;--text-mid:#8890b8;--text-dim:#4a5070;
  --accent:#4f6ef7;--accent2:#8b5cf6;--green:#06d6a0;--yellow:#f7c948;
  --orange:#f97316;--red:#ef4444;--r:12px;
  --font:'Bricolage Grotesque',sans-serif;--mono:'DM Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
nav{position:sticky;top:0;z-index:100;background:rgba(7,8,15,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 22px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.nav-logo img{height:44px;width:auto;display:block}
.nav-links{display:flex;gap:4px}
.nav-link{padding:7px 12px;border-radius:8px;font-size:13px;color:var(--text-mid)}
.nav-link:hover{background:var(--surface2);color:var(--text);text-decoration:none}
.nav-link.active{color:var(--accent);background:rgba(79,110,247,.1)}
.nav-cta{display:inline-flex;align-items:center;padding:9px 18px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.nav-cta:hover{text-decoration:none;opacity:.92}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
main{flex:1}
.hero{padding:72px 0 60px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 55% at 50% -5%,rgba(79,110,247,.13) 0%,transparent 65%);pointer-events:none}
.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;border:1px solid rgba(247,201,72,.35);background:rgba(247,201,72,.07);font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--yellow);margin-bottom:20px}
.hero h1{font-size:clamp(30px,5vw,60px);line-height:1.06;letter-spacing:-2px;margin-bottom:20px;max-width:930px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-lead{font-size:18px;color:var(--text-mid);max-width:760px;margin-bottom:32px;line-height:1.7}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.hero-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border2);background:var(--surface2);font-size:12px;color:var(--text-mid)}
.hero-pill span{color:var(--text)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:7px;padding:13px 24px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:15px;font-weight:700;transition:opacity .15s,transform .1s}
.btn-primary:hover{text-decoration:none;opacity:.9;transform:translateY(-1px)}
.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:13px 20px;border-radius:10px;border:1px solid var(--border2);background:var(--surface2);color:var(--text-mid);font-size:14px;font-weight:600;transition:border-color .15s,color .15s}
.btn-secondary:hover{text-decoration:none;color:var(--text);border-color:var(--accent)}
.filter-bar{background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}
.filter-inner{max-width:1100px;margin:0 auto;padding:0 22px;display:flex;gap:0;height:48px;align-items:center}
.filter-btn{padding:0 16px;height:100%;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-mid);border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;background:none;border-left:none;border-right:none;border-top:none}
.filter-btn:hover{color:var(--text)}
.filter-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.filter-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.category-section{padding:52px 0 0;scroll-margin-top:120px}
.cat-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.cat-title{font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;font-family:var(--mono)}
.cat-divider{flex:1;height:1px;background:var(--border)}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:52px}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s}
.tool-card:hover{border-color:var(--border2)}
.tool-card.featured{border-color:rgba(6,214,160,.3);background:linear-gradient(145deg,rgba(6,214,160,.04),var(--surface))}
.tool-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tool-card-left h3{font-size:20px;letter-spacing:-.4px;line-height:1.2;margin-bottom:4px}
.tool-tagline{font-size:13px;color:var(--text-mid);line-height:1.5}
.badge-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.5px;border:1px solid;white-space:nowrap}
.bc-green{border-color:rgba(6,214,160,.4);background:rgba(6,214,160,.08);color:var(--green)}
.bc-blue{border-color:rgba(79,110,247,.4);background:rgba(79,110,247,.08);color:var(--accent)}
.bc-purple{border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.08);color:var(--accent2)}
.bc-yellow{border-color:rgba(247,201,72,.4);background:rgba(247,201,72,.08);color:var(--yellow)}
.tool-why{font-size:14px;color:var(--text-mid);line-height:1.7;border-left:3px solid var(--border2);padding-left:12px}
.tool-feats{display:flex;flex-wrap:wrap;gap:6px}
.feat-tag{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--border2);color:var(--text-mid)}
.tool-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border)}
.tool-price{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text)}
.tool-fit{font-size:12px;color:var(--text-dim);flex:1}
.tool-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--accent);flex-shrink:0}
.tool-link:hover{text-decoration:none;opacity:.8}
.explainer{padding:56px 0;border-top:1px solid var(--border)}
.explainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.section-kicker{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);font-family:var(--mono);margin-bottom:8px}
.section-title{font-size:30px;letter-spacing:-.7px;line-height:1.15;margin-bottom:16px}
.explainer-text p{font-size:16px;color:var(--text-mid);line-height:1.75;margin-bottom:14px}
.diff-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.diff-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}
.diff-row:last-child{border-bottom:none}.diff-header{background:var(--surface2)}
.diff-cell{padding:12px 14px;font-size:13px}.diff-cell.label{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);font-family:var(--mono)}
.diff-cell.seo{color:var(--text-mid)}.diff-cell.ai-seo{color:var(--accent)}.diff-cell.head{font-size:12px;font-weight:700;font-family:var(--mono)}
.head-seo{background:var(--surface2);color:var(--text-mid)}.head-ai{background:rgba(79,110,247,.1);color:var(--accent)}
.compare-section{padding:56px 0;border-top:1px solid var(--border)}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
table{width:100%;border-collapse:collapse;min-width:800px}thead{background:var(--surface2)}
th{padding:12px 14px;text-align:left;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);font-weight:700;font-family:var(--mono);border-bottom:1px solid var(--border)}
td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(255,255,255,.012)}
.ok{color:var(--green);font-weight:700}.med{color:var(--yellow);font-weight:700}.no{color:var(--text-dim);font-size:12px}
.faq-section{padding:56px 0;border-top:1px solid var(--border)}
.faq-list{display:flex;flex-direction:column;gap:2px;margin-top:24px}.faq-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-size:15px;font-weight:600;list-style:none;user-select:none}.faq-q:hover{background:var(--surface2)}
.faq-q::after{content:'+';font-family:var(--mono);font-size:18px;color:var(--text-mid);flex-shrink:0}details[open] .faq-q::after{content:'−'}
.faq-a{padding:0 18px 16px;font-size:14px;color:var(--text-mid);line-height:1.75}
.inline-cta{margin:40px 0;padding:32px 32px;border:1px solid rgba(79,110,247,.22);border-radius:14px;background:linear-gradient(135deg,rgba(79,110,247,.08),rgba(139,92,246,.05));display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.inline-cta-text h3{font-size:22px;letter-spacing:-.4px;margin-bottom:8px}.inline-cta-text p{font-size:15px;color:var(--text-mid);line-height:1.6;max-width:500px}
.final-cta{margin:0 0 72px;padding:52px 40px;border:1px solid rgba(79,110,247,.22);border-radius:16px;background:linear-gradient(135deg,rgba(79,110,247,.08),rgba(139,92,246,.05));text-align:center;position:relative;overflow:hidden}
.final-cta::before{content:'';position:absolute;top:-70px;left:50%;transform:translateX(-50%);width:500px;height:200px;border-radius:50%;background:radial-gradient(ellipse,rgba(79,110,247,.2) 0%,transparent 70%);pointer-events:none}
.final-cta h2{font-size:34px;letter-spacing:-.8px;margin-bottom:14px}.final-cta p{font-size:17px;color:var(--text-mid);margin-bottom:30px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.7}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.related-section{padding:48px 0 64px;border-top:1px solid var(--border)}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.related-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}.related-card:hover{border-color:var(--accent);text-decoration:none}
.related-kicker{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);font-family:var(--mono)}.related-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}.related-desc{font-size:13px;color:var(--text-mid);line-height:1.5}
footer{padding:28px 0;border-top:1px solid var(--border);color:var(--text-dim);font-size:12px}.footer-inner{max-width:1100px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-links{display:flex;gap:16px}.footer-links a{color:var(--text-dim);font-size:12px}.footer-links a:hover{color:var(--text-mid);text-decoration:none}
@media(max-width:900px){.nav-links{display:none}.tools-grid{grid-template-columns:1fr}.explainer-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}}
@media(max-width:700px){.hero{padding:44px 0 36px}.hero h1{font-size:28px;letter-spacing:-1px}.hero-lead{font-size:16px}.inline-cta{flex-direction:column;gap:16px}.final-cta{padding:32px 20px}.final-cta h2{font-size:26px}}
</style>

</head>
<body>
<?php include '../includes/header.php'; ?>
<main>
  <section class="hero">
    <div class="wrap">
      <div class="hero-kicker">Guida tecnica · AI crawling</div>
      <h1>llms.txt e robots.txt:<br><em>come gestire l'accesso dei motori AI</em></h1>
      <p class="hero-lead">Molti siti parlano di visibilità AI senza chiarire una distinzione fondamentale: una cosa è permettere il recupero dei contenuti per risposte in tempo reale, un&#039;altra è regolare crawling e training. Questa guida spiega cosa fare davvero, senza miti e senza configurazioni inutili.</p>
      <div class="hero-pills"><div class="hero-pill">• <span>Controllo accessi AI</span></div><div class="hero-pill">• <span>Recupero contenuti</span></div><div class="hero-pill">• <span>Training vs retrieval</span></div><div class="hero-pill">• <span>Checklist operativa</span></div></div>
      <div class="hero-actions">
        <a class="btn-primary" href="#sections">Leggi la guida →</a>
        <a class="btn-secondary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool">Analizza gratis con AEO Metrix</a>
      </div>
    </div>
  </section>
  <div class="filter-bar">
    <div class="filter-inner"><button class="filter-btn active" onclick="filterCat('all',this)">Tutte le sezioni</button><button class="filter-btn" onclick="filterCat('fondamenti',this)"><span class="filter-dot" style="background:#06d6a0"></span>Fondamenti</button><button class="filter-btn" onclick="filterCat('implementazione',this)"><span class="filter-dot" style="background:#4f6ef7"></span>Implementazione</button><button class="filter-btn" onclick="filterCat('governance',this)"><span class="filter-dot" style="background:#f7c948"></span>Governance editoriale</button></div>
  </div>
  <div id="sections"><div class="wrap">
      <section class="category-section" id="cat-fondamenti" data-cat="fondamenti">
        <div class="cat-header">
          <span class="cat-dot" style="background:#06d6a0"></span>
          <span class="cat-title" style="color:#06d6a0">Fondamenti</span>
          <div class="cat-divider"></div>
        </div>
        <div class="tools-grid">
          <div class="tool-card featured">
            <div class="tool-card-top">
              <div class="tool-card-left">
                <h3>Differenza tra retrieval e training</h3>
                <p class="tool-tagline">Capire questa distinzione evita blocchi dannosi alla visibilità</p>
              </div>
              <span class="badge-pill bc-green">Base essenziale</span>
            </div>
            <p class="tool-why">Quando un utente interroga un motore AI, il sistema può recuperare contenuti pubblici in tempo reale per generare una risposta con link e citazioni. Questo flusso non coincide necessariamente con l&#039;uso dei contenuti per addestrare modelli futuri. Confondere i due piani porta molte aziende a bloccare crawler utili e a ridurre la propria presenza nelle risposte AI.</p>
            <div class="tool-feats"><span class="feat-tag">Retrieval on demand</span><span class="feat-tag">Training separato</span><span class="feat-tag">Minore confusione tecnica</span><span class="feat-tag">Decisioni consapevoli</span></div>
            <div class="tool-footer">
              <span class="tool-price">Priorità alta</span>
              <span class="tool-fit">Ideale per: Siti editoriali, e-commerce, aziende B2B</span>
              <a class="tool-link" href="#final-cta">Applica questa leva →</a>
            </div>
          </div>
          <div class="tool-card ">
            <div class="tool-card-top">
              <div class="tool-card-left">
                <h3>A cosa serve davvero llms.txt</h3>
                <p class="tool-tagline">Un file descrittivo pensato per rendere più chiara la struttura del sito alle AI</p>
              </div>
              <span class="badge-pill bc-blue">Segnale utile</span>
            </div>
            <p class="tool-why">llms.txt non sostituisce robots.txt e non garantisce da solo l&#039;inclusione nei motori AI. È utile come documento orientativo che presenta le aree importanti del sito, le pagine canoniche, le policy, la documentazione e le risorse da considerare prioritarie. Funziona meglio quando il sito è già ben organizzato, leggibile e accessibile.</p>
            <div class="tool-feats"><span class="feat-tag">Mappa per LLM</span><span class="feat-tag">URL prioritarie</span><span class="feat-tag">Risorse chiave</span><span class="feat-tag">Policy e documentazione</span></div>
            <div class="tool-footer">
              <span class="tool-price">Implementazione rapida</span>
              <span class="tool-fit">Ideale per: Brand con blog, documentazione o knowledge base</span>
              <a class="tool-link" href="#final-cta">Applica questa leva →</a>
            </div>
          </div>
        </div>
      </section>
      <section class="category-section" id="cat-implementazione" data-cat="implementazione">
        <div class="cat-header">
          <span class="cat-dot" style="background:#4f6ef7"></span>
          <span class="cat-title" style="color:#4f6ef7">Implementazione</span>
          <div class="cat-divider"></div>
        </div>
        <div class="tools-grid">
          <div class="tool-card ">
            <div class="tool-card-top">
              <div class="tool-card-left">
                <h3>Robots.txt per crawler AI</h3>
                <p class="tool-tagline">Controlla accesso tecnico a specifici user-agent</p>
              </div>
              <span class="badge-pill bc-blue">Controllo tecnico</span>
            </div>
            <p class="tool-why">robots.txt resta il punto di controllo principale per i crawler automatizzati. Deve essere coerente con la strategia del brand: consentire i bot che favoriscono discovery e retrieval, bloccare solo ciò che non deve essere scansionato, evitare regole globali troppo aggressive e verificare che CSS, JS e asset essenziali restino accessibili.</p>
            <div class="tool-feats"><span class="feat-tag">User-agent mirati</span><span class="feat-tag">Blocchi selettivi</span><span class="feat-tag">Asset accessibili</span><span class="feat-tag">Coerenza con sitemap</span></div>
            <div class="tool-footer">
              <span class="tool-price">Alta importanza</span>
              <span class="tool-fit">Ideale per: Developer, SEO tecnico, agenzie</span>
              <a class="tool-link" href="#final-cta">Applica questa leva →</a>
            </div>
          </div>
          <div class="tool-card ">
            <div class="tool-card-top">
              <div class="tool-card-left">
                <h3>Sitemap e pagine canoniche</h3>
                <p class="tool-tagline">I file di supporto contano quanto le regole di accesso</p>
              </div>
              <span class="badge-pill bc-purple">Architettura</span>
            </div>
            <p class="tool-why">Un robots.txt corretto serve a poco se sitemap, canonical e pagine principali non sono affidabili. I motori AI recuperano meglio contenuti ben canonizzati, con URL stabili, titoli espliciti e struttura chiara. Una pagina duplicata, sottile o incoerente crea ambiguità e riduce la probabilità di essere usata come fonte.</p>
            <div class="tool-feats"><span class="feat-tag">Canonical coerenti</span><span class="feat-tag">Sitemap pulita</span><span class="feat-tag">URL stabili</span><span class="feat-tag">Priorità alle pagine utili</span></div>
            <div class="tool-footer">
              <span class="tool-price">Controllo ricorrente</span>
              <span class="tool-fit">Ideale per: Tutti i siti che vogliono citazioni consistenti</span>
              <a class="tool-link" href="#final-cta">Applica questa leva →</a>
            </div>
          </div>
        </div>
      </section>
      <section class="category-section" id="cat-governance" data-cat="governance">
        <div class="cat-header">
          <span class="cat-dot" style="background:#f7c948"></span>
          <span class="cat-title" style="color:#f7c948">Governance editoriale</span>
          <div class="cat-divider"></div>
        </div>
        <div class="tools-grid">
          <div class="tool-card ">
            <div class="tool-card-top">
              <div class="tool-card-left">
                <h3>Pagine da favorire e pagine da escludere</h3>
                <p class="tool-tagline">Non tutto il sito ha lo stesso valore per un motore generativo</p>
              </div>
              <span class="badge-pill bc-yellow">Content governance</span>
            </div>
            <p class="tool-why">Le AI privilegiano contenuti chiari, stabili, verificabili e ricchi di contesto. Ha senso favorire guide, schede servizio, policy, FAQ, glossari e pagine istituzionali. Ha poco senso esporre a discovery pagine thin, filtri vuoti, risultati interni, aree duplicate o contenuti promozionali privi di sostanza informativa.</p>
            <div class="tool-feats"><span class="feat-tag">Selezione delle fonti</span><span class="feat-tag">Riduzione rumore</span><span class="feat-tag">Migliore qualità retrieval</span><span class="feat-tag">Maggiore chiarezza topica</span></div>
            <div class="tool-footer">
              <span class="tool-price">Strategia editoriale</span>
              <span class="tool-fit">Ideale per: Content manager e responsabili marketing</span>
              <a class="tool-link" href="#final-cta">Applica questa leva →</a>
            </div>
          </div>
        </div>
      </section>
      <div class="inline-cta">
        <div class="inline-cta-text">
          <h3>Vuoi capire quali di questi segnali mancano al tuo sito?</h3>
          <p>AEO Metrix aiuta a individuare i gap tecnici, editoriali e semantici che riducono la visibilità nei motori AI e a trasformarli in una roadmap operativa.</p>
        </div>
        <a class="btn-primary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool">Analizza il sito →</a>
      </div>
    </div></div>
  <section class="explainer">
    <div class="wrap">
      <div class="explainer-grid">
        <div class="explainer-text">
          <p class="section-kicker">Approfondimento</p>
          <h2 class="section-title">Qual è la configurazione più sensata oggi</h2>
          <p>La configurazione corretta parte da un principio semplice: se vuoi essere citato da motori AI, devi rendere accessibili i contenuti utili al recupero e chiarire quali sono le pagine più affidabili del sito. Non basta creare llms.txt; serve anche una base tecnica pulita fatta di robots.txt coerente, sitemap aggiornata, canonical corrette e pagine informative solide.</p><p>Per i publisher e i brand, la scelta non dovrebbe essere ideologica ma operativa. Bloccare indiscriminatamente tutti i crawler può ridurre la comparsa del sito in esperienze di ricerca assistita. Al contrario, aprire tutto senza governance espone risorse irrilevanti o duplicate. La soluzione migliore è una strategia selettiva e documentata.</p><p>Un buon llms.txt può funzionare come indice ragionato: homepage, pagine pilastro, documentazione, pagine di contatto, policy, fonti autorevoli interne e sezioni da evitare. È particolarmente utile quando il sito ha molte aree, quando i contenuti sono tecnici o quando il brand vuole dare segnali chiari su quali URL rappresentano la fonte ufficiale.</p>
        </div>
        <div class="diff-table">
          <div class="diff-row diff-header">
            <div class="diff-cell head head-seo">Osservazione</div>
            <div class="diff-cell head head-ai">Interpretazione utile</div>
          </div>
          <div class="diff-row"><div class="diff-cell label">File</div><div></div></div><div class="diff-row"><div class="diff-cell seo">robots.txt</div><div class="diff-cell ai-seo">llms.txt</div></div><div class="diff-row"><div class="diff-cell label">Funzione</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Regola accesso crawler</div><div class="diff-cell ai-seo">Indica risorse e priorità</div></div><div class="diff-row"><div class="diff-cell label">Valore</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Controllo tecnico</div><div class="diff-cell ai-seo">Orientamento semantico</div></div><div class="diff-row"><div class="diff-cell label">Obbligatorio</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Sì, nella pratica</div><div class="diff-cell ai-seo">No, ma utile</div></div><div class="diff-row"><div class="diff-cell label">Impatto</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Può consentire o bloccare crawling</div><div class="diff-cell ai-seo">Non sostituisce blocchi o permessi</div></div><div class="diff-row"><div class="diff-cell label">Errore tipico</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Bloccare troppo</div><div class="diff-cell ai-seo">Aspettarsi effetti magici</div></div><div class="diff-row"><div class="diff-cell label">Da aggiornare quando</div><div></div></div><div class="diff-row"><div class="diff-cell seo">Cambiano sezioni, asset, bot</div><div class="diff-cell ai-seo">Cambiano pagine guida o documentazione</div></div>
        </div>
      </div>
    </div>
  </section>
  <section class="compare-section">
    <div class="wrap">
      <p class="section-kicker">Checklist decisionale</p>
      <h2 class="section-title" style="font-size:28px;letter-spacing:-.6px;margin-bottom:8px">Cosa controllare in pratica</h2>
      <p style="font-size:16px;color:var(--text-mid);margin-bottom:24px">Una matrice rapida per trasformare la guida in priorità operative.</p>
      <div class="table-wrap">
        <table>
          <thead><tr><th>Controllo</th><th>Errore comune</th><th>Conseguenza</th><th>Scelta corretta</th><th>Priorità</th></tr></thead>
          <tbody><tr><td><strong>Bloccare tutti i bot AI</strong></td><td>Disallow globale</td><td>Meno discovery e meno retrieval</td><td>Blocchi selettivi per aree sensibili</td><td>Alta</td></tr><tr><td><strong>Assenza sitemap</strong></td><td>Nessuna sitemap pulita</td><td>Minor chiarezza sugli URL importanti</td><td>Sitemap XML aggiornata e coerente</td><td>Alta</td></tr><tr><td><strong>llms.txt assente o vuoto</strong></td><td>Nessuna guida per LLM</td><td>Più ambiguità sulle fonti</td><td>File sintetico con URL canoniche</td><td>Media</td></tr><tr><td><strong>Pagine duplicate</strong></td><td>Canonical incoerenti</td><td>Fonte meno affidabile</td><td>Riduzione duplicazioni e URL stabili</td><td>Alta</td></tr><tr><td><strong>Asset bloccati</strong></td><td>CSS/JS non accessibili</td><td>Rendering peggiore e segnali incompleti</td><td>Consentire gli asset necessari</td><td>Media</td></tr></tbody>
        </table>
      </div>
    </div>
  </section>
  <section class="faq-section">
    <div class="wrap">
      <p class="section-kicker">Domande frequenti</p>
      <h2 style="font-size:28px;letter-spacing:-.6px;margin-bottom:4px">FAQ</h2>
      <div class="faq-list"><details class="faq-item"><summary class="faq-q">llms.txt è obbligatorio?</summary><p class="faq-a">No. Non è un requisito formale del web come robots.txt. È però un supporto utile per indicare alle AI quali pagine sono più affidabili e rilevanti.</p></details><details class="faq-item"><summary class="faq-q">Se blocco un crawler AI sparisco ovunque?</summary><p class="faq-a">Non sempre. Dipende dal tipo di crawler e dallo scenario. Bloccare bot usati per discovery o retrieval può però ridurre la probabilità che i tuoi contenuti vengano recuperati e citati.</p></details><details class="faq-item"><summary class="faq-q">Robots.txt basta per controllare tutto?</summary><p class="faq-a">No. Controlla soprattutto crawling automatico. Non sostituisce una buona architettura informativa, né risolve problemi di qualità dei contenuti o di autorevolezza.</p></details><details class="faq-item"><summary class="faq-q">Quali pagine conviene inserire in llms.txt?</summary><p class="faq-a">Homepage, pagine pilastro, guide, documentazione, FAQ, policy, contatti, pagine brand ufficiali e ogni URL che vuoi far riconoscere come fonte primaria.</p></details><details class="faq-item"><summary class="faq-q">Serve aggiornare questi file spesso?</summary><p class="faq-a">Sì, ogni volta che cambiano struttura del sito, aree strategiche, sezioni informative o policy di accesso.</p></details></div>
    </div>
  </section>
  <section class="related-section">
    <div class="wrap">
      <p class="section-kicker">Approfondisci</p>
      <h2 style="font-size:26px;letter-spacing:-.6px;margin-bottom:4px">Articoli correlati</h2>
      <div class="related-grid"><a class="related-card" href="schema-markup-per-ai.php"><span class="related-kicker">Guida semantica</span><span class="related-title">Schema markup per AI: come aiutare i motori generativi a capire il sito</span><span class="related-desc">Dati strutturati, entità e pagine da marcare nel modo corretto.</span></a><a class="related-card" href="eeat-per-motori-ai.php"><span class="related-kicker">Checklist editoriale</span><span class="related-title">E-E-A-T per motori AI: come costruire fiducia, prova e autorevolezza</span><span class="related-desc">Segnali editoriali e reputazionali che aiutano la citazione del brand.</span></a></div>
    </div>
  </section>
  <div class="wrap">
    <div class="final-cta" id="final-cta">
      <h2>Trasforma queste linee guida in un piano operativo</h2>
      <p>AEO Metrix aiuta a capire quali elementi tecnici, semantici ed editoriali stanno limitando la tua visibilità nei motori AI e quali interventi hanno la priorità più alta.</p>
      <div class="cta-btns">
        <a class="btn-primary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool" style="font-size:15px;padding:14px 26px">Analizza il tuo sito gratis →</a>
        <a class="btn-secondary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#prezzi" style="padding:14px 22px">Vedi i piani</a>
      </div>
    </div>
  </div>
</main>
<?php include '../includes/footer.php'; ?>
<img src="https://www.aeometrix.it/crawler-tracker.php?action=beacon&domain=tuosito.it&path=<?= urlencode($_SERVER['REQUEST_URI']) ?>" width="1" height="1" style="display:none" alt="">
<script>
function filterCat(id, btn) {
  document.querySelectorAll('.filter-btn').forEach(function(b){ b.classList.remove('active'); });
  btn.classList.add('active');
  document.querySelectorAll('[data-cat]').forEach(function(sec){
    sec.style.display = (id === 'all' || sec.dataset.cat === id) ? '' : 'none';
  });
}
</script>
</body>
</html>
