<?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');

$checklist = [
    'Schema Markup JSON-LD' => [
        ['label' => 'FAQPage schema su tutte le pagine con domande/risposte', 'priority' => 'critical'],
        ['label' => 'HowTo schema per guide e tutorial passo-passo', 'priority' => 'critical'],
        ['label' => 'Article / BlogPosting con datePublished, dateModified, author', 'priority' => 'high'],
        ['label' => 'Organization con name, url, logo, sameAs (social ufficiali)', 'priority' => 'high'],
        ['label' => 'BreadcrumbList su tutte le pagine interne', 'priority' => 'medium'],
        ['label' => 'Person schema per autori con expertise e credentials', 'priority' => 'medium'],
    ],
    'Contenuto e E-E-A-T' => [
        ['label' => 'Ogni articolo ha un autore identificabile con bio e credenziali', 'priority' => 'critical'],
        ['label' => 'Heading strutturati H1 → H2 → H3 con domande reali degli utenti', 'priority' => 'critical'],
        ['label' => 'Risposte dirette e sintetiche nei primi 2-3 paragrafi (Answer Box style)', 'priority' => 'high'],
        ['label' => 'Citazioni a fonti autorevoli esterne (gov, università, ricerche)', 'priority' => 'high'],
        ['label' => 'Contenuto long-form: minimo 1200 parole per topic importanti', 'priority' => 'high'],
        ['label' => 'Sezione "Chi siamo" con storia, team, contatti verificabili', 'priority' => 'medium'],
        ['label' => 'Data di aggiornamento visibile e accurata', 'priority' => 'medium'],
    ],
    'File AI-specific' => [
        ['label' => 'llms.txt nella root del sito (manifesto per LLM)', 'priority' => 'critical'],
        ['label' => 'robots.txt non blocca GPTBot, ClaudeBot, Google-Extended, PerplexityBot', 'priority' => 'critical'],
        ['label' => 'Sitemap XML aggiornata e linkata in robots.txt', 'priority' => 'high'],
        ['label' => 'Open Graph e Twitter Card su tutte le pagine principali', 'priority' => 'medium'],
    ],
    'Performance tecnica' => [
        ['label' => 'TTFB (Time To First Byte) sotto 600ms', 'priority' => 'high'],
        ['label' => 'Core Web Vitals: LCP < 2.5s, CLS < 0.1, FID < 100ms', 'priority' => 'high'],
        ['label' => 'HTTPS attivo su tutto il sito senza mixed content', 'priority' => 'critical'],
        ['label' => 'Nessun errore 404 o redirect loop su pagine indicizzate', 'priority' => 'high'],
        ['label' => 'Pagine accessibili senza JavaScript obbligatorio (SSR o SSG)', 'priority' => 'medium'],
    ],
    'Link e autorevolezza' => [
        ['label' => 'Link interni coerenti con architettura a silo tematico', 'priority' => 'high'],
        ['label' => 'Backlink da domini autorevoli nel settore (DA > 40)', 'priority' => 'high'],
        ['label' => 'Menzioni brand su Wikipedia, press, forum di settore', 'priority' => 'medium'],
        ['label' => 'Profili social completi e collegati al sito via sameAs', 'priority' => 'medium'],
    ],
];

$steps = [
    ['n'=>'01','title'=>'Audit tecnico del sito','icon'=>'🔍',
     'body'=>'Prima di ottimizzare per ChatGPT devi capire la situazione attuale. Esegui un\'analisi AEO completa per verificare quali schema markup mancano, se robots.txt blocca i bot AI, la presenza del file llms.txt e le performance di caricamento. Senza questa baseline non sai dove intervenire.'],
    ['n'=>'02','title'=>'Installa i file AI-ready','icon'=>'🤖',
     'body'=>'Crea il file <code>llms.txt</code> nella root del sito con una descrizione chiara di chi sei, cosa fai e quali sono le tue pagine più importanti. Modifica <code>robots.txt</code> per permettere esplicitamente a <code>GPTBot</code>, <code>ClaudeBot</code>, <code>PerplexityBot</code> e <code>Google-Extended</code> di scansionare il tuo sito.'],
    ['n'=>'03','title'=>'Implementa lo schema JSON-LD','icon'=>'📋',
     'body'=>'Aggiungi <code>FAQPage</code> schema a ogni pagina che risponde a domande. Usa <code>HowTo</code> per le guide. Inserisci <code>Organization</code> nella homepage con tutti i profili social nel campo <code>sameAs</code>. Lo schema strutturato è il modo più diretto per comunicare informazioni verificabili a ChatGPT durante il training e la retrieval.'],
    ['n'=>'04','title'=>'Ottimizza per E-E-A-T','icon'=>'🏆',
     'body'=>'Ogni contenuto deve avere un autore con bio, credenziali e link al profilo. Cita fonti autorevoli. Aggiungi sezioni "Verificato da" o "Aggiornato il". ChatGPT privilegia contenuti che dimostrano esperienza reale (Experience), competenza comprovata (Expertise), riconoscimento del settore (Authoritativeness) e affidabilità (Trustworthiness).'],
    ['n'=>'05','title'=>'Struttura i contenuti per le risposte AI','icon'=>'✍️',
     'body'=>'Scrivi heading come domande reali degli utenti. Metti la risposta diretta nei primi 50 parole dopo ogni H2. Usa liste ordinate per procedure, liste puntate per caratteristiche. Questa struttura è quella che i LLM estraggono più facilmente quando generano risposte.'],
    ['n'=>'06','title'=>'Costruisci autorevolezza esterna','icon'=>'🔗',
     'body'=>'Ottieni menzioni su siti autorevoli del tuo settore: blog di partner, testate giornalistiche, forum specializzati. Le citazioni esterne sono il segnale più forte che un brand è considerato affidabile dalla comunità. Wikipedia e profili LinkedIn verificati aumentano ulteriormente la probabilità di essere citati.'],
    ['n'=>'07','title'=>'Monitora le citazioni AI','icon'=>'📊',
     'body'=>'Verifica periodicamente se ChatGPT, Gemini e Perplexity citano il tuo brand nelle risposte alle query del tuo settore. Il GEO Score misura questa visibilità in modo sistematico. Senza monitoraggio non puoi sapere se le ottimizzazioni stanno funzionando.'],
];
?>
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Come ottimizzare un sito per essere citato da ChatGPT (Guida 2026)</title>
<meta name="description" content="Guida pratica 2026 per ottimizzare il tuo sito e comparire nelle risposte di ChatGPT, Gemini e Perplexity. Checklist completa con 25+ controlli AEO.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/come-ottimizzare-sito-chatgpt.php">
<meta property="og:title" content="Come ottimizzare un sito per ChatGPT — Guida completa 2026">
<meta property="og:description" content="7 step e 25+ controlli per far citare il tuo brand da ChatGPT, Gemini e Perplexity. Schema JSON-LD, llms.txt, E-E-A-T e molto altro.">
<meta property="og:url" content="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/come-ottimizzare-sito-chatgpt.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": "HowTo",
  "name": "Come ottimizzare un sito per essere citato da ChatGPT",
  "description": "Guida passo-passo per ottimizzare un sito web in ottica AEO e comparire nelle risposte dei principali motori AI come ChatGPT, Gemini e Perplexity.",
  "totalTime": "P7D",
  "step": [
    {"@type":"HowToStep","position":1,"name":"Audit tecnico del sito","text":"Esegui un\'analisi AEO completa per verificare schema markup, robots.txt, llms.txt e performance."},
    {"@type":"HowToStep","position":2,"name":"Installa i file AI-ready","text":"Crea llms.txt e configura robots.txt per permettere ai bot AI di scansionare il sito."},
    {"@type":"HowToStep","position":3,"name":"Implementa lo schema JSON-LD","text":"Aggiungi FAQPage, HowTo, Organization e Article schema markup alle pagine rilevanti."},
    {"@type":"HowToStep","position":4,"name":"Ottimizza per E-E-A-T","text":"Aggiungi autori con credenziali, cita fonti autorevoli e dimostra expertise reale."},
    {"@type":"HowToStep","position":5,"name":"Struttura i contenuti per le risposte AI","text":"Scrivi heading come domande, rispondi direttamente nei primi paragrafi, usa liste strutturate."},
    {"@type":"HowToStep","position":6,"name":"Costruisci autorevolezza esterna","text":"Ottieni menzioni su siti autorevoli, testate di settore e profili verificati."},
    {"@type":"HowToStep","position":7,"name":"Monitora le citazioni AI","text":"Verifica periodicamente il GEO Score per misurare la visibilità nei motori AI."}
  ],
  "author": {"@type":"Organization","name":"AEO Metrix","url":"<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>"}
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {"@type":"Question","name":"Come faccio a comparire nelle risposte di ChatGPT?","acceptedAnswer":{"@type":"Answer","text":"Per essere citato da ChatGPT devi: implementare schema JSON-LD (FAQPage, HowTo, Organization), aggiungere il file llms.txt, permettere l'accesso a GPTBot in robots.txt, ottimizzare per E-E-A-T e costruire autorevolezza esterna con menzioni su siti riconosciuti."}},
    {"@type":"Question","name":"Quanto tempo ci vuole per essere citati da ChatGPT?","acceptedAnswer":{"@type":"Answer","text":"I risultati dipendono dalla frequenza di aggiornamento dei modelli. Le ottimizzazioni tecniche (schema, llms.txt) hanno effetto più rapidamente sulle versioni con retrieval in tempo reale come Perplexity. Per ChatGPT con dati di training, i tempi sono più lunghi ma la struttura del sito viene comunque valutata nei retrieval mode."}},
    {"@type":"Question","name":"Cos'è il file llms.txt?","acceptedAnswer":{"@type":"Answer","text":"Il file llms.txt è un manifesto testuale nella root del sito che descrive il brand, l'attività, le pagine principali e le informazioni chiave destinate ai Large Language Model. È l'equivalente del robots.txt ma pensato per comunicare direttamente con gli AI crawler."}}
  ]
}
</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}
code{font-family:var(--mono);font-size:.88em;background:var(--surface2);border:1px solid var(--border2);padding:1px 6px;border-radius:4px;color:var(--green)}

/* NAV */
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 */
.hero{padding:72px 0 56px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 60% -5%,rgba(79,110,247,.12) 0%,transparent 70%);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;border:1px solid rgba(79,110,247,.3);background:rgba(79,110,247,.08);font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.hero h1{font-size:clamp(28px,4.2vw,52px);line-height:1.08;letter-spacing:-1.5px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-lead{font-size:17px;color:var(--text-mid);margin-bottom:28px;line-height:1.7}
.hero-stats{display:flex;flex-wrap:wrap;gap:20px}
.hero-stat{text-align:center}
.hero-stat-num{font-size:26px;font-weight:800;font-family:var(--mono);color:var(--accent);display:block;line-height:1}
.hero-stat-lbl{font-size:11px;color:var(--text-dim);margin-top:3px;font-family:var(--mono);letter-spacing:.4px}

/* progress card */
.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
.progress-card-title{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);font-family:var(--mono);margin-bottom:4px}
.prog-row{display:flex;flex-direction:column;gap:4px}
.prog-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-mid)}
.prog-label span:last-child{font-family:var(--mono);color:var(--text)}
.prog-bar{height:6px;background:var(--surface2);border-radius:999px;overflow:hidden}
.prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2))}

/* ARTICLE BODY */
.article-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;padding:56px 0 72px;align-items:start}
.article-body{}

/* SIDEBAR */
.sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:16px}
.sidebar-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}
.sidebar-title{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);font-family:var(--mono);margin-bottom:12px}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:4px}
.toc-list a{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-mid);padding:5px 0;border-bottom:1px solid var(--border);transition:color .15s}
.toc-list a:hover{color:var(--text);text-decoration:none}
.toc-list a:last-child{border-bottom:none}
.toc-num{font-family:var(--mono);font-size:10px;color:var(--text-dim);flex-shrink:0;width:18px}

.cta-sidebar{background:linear-gradient(135deg,rgba(79,110,247,.12),rgba(139,92,246,.08));border:1px solid rgba(79,110,247,.25);border-radius:12px;padding:18px;text-align:center}
.cta-sidebar p{font-size:13px;color:var(--text-mid);margin-bottom:12px;line-height:1.5}
.btn-cta-sm{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:13px;font-weight:700;transition:opacity .15s}
.btn-cta-sm:hover{text-decoration:none;opacity:.9}

/* SECTION HEADINGS */
.section-kicker{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);font-family:var(--mono);margin-bottom:8px}
.article-body h2{font-size:26px;letter-spacing:-.6px;line-height:1.2;margin-bottom:12px;margin-top:48px}
.article-body h2:first-child{margin-top:0}
.article-body p{font-size:16px;color:var(--text-mid);line-height:1.75;margin-bottom:16px}
.article-body ul,
.article-body ol{padding-left:20px;margin-bottom:16px}
.article-body li{font-size:15px;color:var(--text-mid);line-height:1.7;margin-bottom:6px}

/* STEPS */
.steps-list{display:flex;flex-direction:column;gap:0;margin:28px 0}
.step-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--border)}
.step-item:last-child{border-bottom:none}
.step-left{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
.step-num{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(79,110,247,.18),rgba(139,92,246,.12));border:1px solid rgba(79,110,247,.3);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;font-weight:700;color:var(--accent);flex-shrink:0}
.step-line{width:1px;flex:1;background:var(--border);margin:6px auto 0}
.step-item:last-child .step-line{display:none}
.step-icon{font-size:22px;margin-bottom:4px}
.step-body{flex:1;padding-top:8px}
.step-body h3{font-size:18px;font-weight:700;line-height:1.3;margin-bottom:8px}
.step-body p{font-size:15px;color:var(--text-mid);line-height:1.7;margin:0}

/* CHECKLIST */
.checklist-wrap{margin:28px 0}
.checklist-group{margin-bottom:24px}
.checklist-group-title{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text);font-family:var(--mono);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.checklist-items{display:flex;flex-direction:column;gap:6px}
.cl-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}
.cl-item:hover{border-color:var(--border2)}
.cl-check{width:18px;height:18px;border-radius:5px;border:2px solid var(--border2);flex-shrink:0;margin-top:1px;cursor:pointer;appearance:none;background:transparent;transition:background .15s,border-color .15s}
.cl-check:checked{background:var(--green);border-color:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}
.cl-text{font-size:14px;color:var(--text-mid);line-height:1.5;flex:1}
.cl-priority{font-size:10px;font-family:var(--mono);font-weight:700;letter-spacing:.5px;padding:2px 7px;border-radius:999px;flex-shrink:0;margin-top:2px}
.prio-critical{background:rgba(239,68,68,.12);color:var(--red);border:1px solid rgba(239,68,68,.25)}
.prio-high{background:rgba(249,115,22,.1);color:var(--orange);border:1px solid rgba(249,115,22,.22)}
.prio-medium{background:rgba(247,201,72,.1);color:var(--yellow);border:1px solid rgba(247,201,72,.22)}

/* checklist progress */
.cl-progress-bar{height:6px;background:var(--surface2);border-radius:999px;overflow:hidden;margin-bottom:6px}
.cl-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:999px;transition:width .3s}
.cl-progress-label{font-size:11px;color:var(--text-dim);font-family:var(--mono);display:flex;justify-content:space-between;margin-bottom:16px}

/* CALLOUT */
.callout{display:flex;gap:12px;padding:16px 18px;border-radius:10px;margin:24px 0}
.callout-info{background:rgba(79,110,247,.08);border:1px solid rgba(79,110,247,.2)}
.callout-warn{background:rgba(247,201,72,.07);border:1px solid rgba(247,201,72,.2)}
.callout-success{background:rgba(6,214,160,.07);border:1px solid rgba(6,214,160,.2)}
.callout-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.callout-body{font-size:14px;color:var(--text-mid);line-height:1.7}
.callout-body strong{color:var(--text)}

/* INLINE CTA */
.inline-cta{margin:36px 0;padding:28px 28px;border:1px solid rgba(79,110,247,.25);border-radius:14px;background:linear-gradient(135deg,rgba(79,110,247,.08),rgba(139,92,246,.05));display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.inline-cta-text h3{font-size:20px;letter-spacing:-.4px;margin-bottom:6px}
.inline-cta-text p{font-size:14px;color:var(--text-mid);line-height:1.6;max-width:500px}
.btn-primary{display:inline-flex;align-items:center;gap:7px;padding:12px 22px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:14px;font-weight:700;white-space:nowrap;transition:opacity .15s,transform .1s;flex-shrink:0}
.btn-primary:hover{text-decoration:none;opacity:.9;transform:translateY(-1px)}
.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border-radius:9px;border:1px solid var(--border2);background:var(--surface2);color:var(--text-mid);font-size:13px;font-weight:600;transition:border-color .15s,color .15s}
.btn-secondary:hover{text-decoration:none;color:var(--text);border-color:var(--accent)}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:2px;margin-top:20px}
.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}

/* FINAL CTA */
.final-cta{margin:48px 0 72px;padding:48px 40px;border:1px solid rgba(79,110,247,.22);border-radius:16px;background:linear-gradient(135deg,rgba(79,110,247,.07),rgba(139,92,246,.05));text-align:center;position:relative;overflow:hidden}
.final-cta::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:400px;height:180px;border-radius:50%;background:radial-gradient(ellipse,rgba(79,110,247,.18) 0%,transparent 70%);pointer-events:none}
.final-cta h2{font-size:30px;letter-spacing:-.7px;margin-bottom:12px}
.final-cta p{font-size:16px;color:var(--text-mid);margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

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:960px){
  .hero-inner{grid-template-columns:1fr}
  .progress-card{display:none}
  .article-layout{grid-template-columns:1fr}
  .sidebar{position:static;display:none}
}
@media(max-width:700px){
  .hero{padding:44px 0 32px}
  .hero h1{font-size:28px}
  .inline-cta{flex-direction:column;gap:16px;text-align:center}
  .final-cta{padding:32px 20px}
  .final-cta h2{font-size:24px}
}
</style>
</head>
<body>

<?php include '../includes/header.php'; ?>

<main>

  <section class="hero">
    <div class="wrap">
      <div class="hero-inner">
        <div>
          <div class="hero-badge">Guida pratica 2026</div>
          <h1>Come ottimizzare un sito per essere citato da <em>ChatGPT</em></h1>
          <p class="hero-lead">7 step concreti, una checklist interattiva con 25+ controlli e tutto quello che devi sapere per far sì che ChatGPT, Gemini e Perplexity citino il tuo brand nelle loro risposte.</p>
          <div class="hero-stats">
            <div class="hero-stat"><span class="hero-stat-num">7</span><div class="hero-stat-lbl">Step operativi</div></div>
            <div class="hero-stat"><span class="hero-stat-num">25+</span><div class="hero-stat-lbl">Controlli AEO</div></div>
            <div class="hero-stat"><span class="hero-stat-num">4</span><div class="hero-stat-lbl">Motori AI coperti</div></div>
          </div>
        </div>
        <div class="progress-card">
          <div class="progress-card-title">Segnali AEO per visibilità AI</div>
          <?php
          $bars = [
            'Schema JSON-LD' => 90,
            'E-E-A-T' => 82,
            'llms.txt + robots.txt' => 75,
            'Performance tecnica' => 68,
            'Autorevolezza esterna' => 60,
          ];
          foreach ($bars as $label => $val):
          ?>
          <div class="prog-row">
            <div class="prog-label"><span><?= $label ?></span><span><?= $val ?>%</span></div>
            <div class="prog-bar"><div class="prog-fill" style="width:<?= $val ?>%"></div></div>
          </div>
          <?php endforeach; ?>
        </div>
      </div>
    </div>
  </section>

  <div class="wrap">
    <div class="article-layout">

      <!-- MAIN CONTENT -->
      <article class="article-body">

        <div class="section-kicker">Perché conta</div>
        <h2>ChatGPT non "cerca" — decide da chi imparare</h2>
        <p>La differenza fondamentale tra la SEO tradizionale e l'ottimizzazione per i motori AI è questa: Google ti mostra perché il tuo sito appare tra i risultati. ChatGPT, invece, ti cita perché considera il tuo sito una fonte affidabile — e quella valutazione avviene in modo implicito, sulla base della struttura del tuo contenuto, dei segnali di autorevolezza e della leggibilità per i crawler AI.</p>
        <p>Questo significa che non esiste un "keyword stuffing" per ChatGPT. Funzionano invece segnali strutturali: dati ben organizzati, schema markup corretto, file dedicati ai bot AI, contenuti che rispondono direttamente alle domande degli utenti.</p>

        <div class="callout callout-info">
          <span class="callout-icon">💡</span>
          <div class="callout-body"><strong>Importante:</strong> ChatGPT in modalità "Browse" e le versioni RAG (Retrieval-Augmented Generation) come Perplexity accedono ai siti in tempo reale. Le ottimizzazioni tecniche hanno effetto quasi immediato su queste piattaforme.</div>
        </div>

        <div class="section-kicker" style="margin-top:48px">La guida step-by-step</div>
        <h2>7 step per ottimizzare il tuo sito per i motori AI</h2>

        <div class="steps-list">
          <?php foreach ($steps as $s): ?>
          <div class="step-item" id="step-<?= $s['n'] ?>">
            <div class="step-left">
              <div class="step-num"><?= $s['n'] ?></div>
              <div class="step-line"></div>
            </div>
            <div class="step-body">
              <h3><?= $s['icon'] ?> &nbsp;<?= htmlspecialchars($s['title'], ENT_QUOTES) ?></h3>
              <p><?= $s['body'] ?></p>
            </div>
          </div>
          <?php endforeach; ?>
        </div>

        <!-- INLINE CTA -->
        <div class="inline-cta">
          <div class="inline-cta-text">
            <h3>Verifica subito il tuo sito</h3>
            <p>AEO Metrix esegue tutti questi controlli in automatico in meno di 30 secondi: schema markup, llms.txt, E-E-A-T, performance e GEO Score su 4 LLM reali.</p>
          </div>
          <a class="btn-primary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool">Analizza gratis →</a>
        </div>

        <div class="section-kicker">Checklist interattiva</div>
        <h2>25+ controlli AEO: spunta quelli già completati</h2>
        <p>Usa questa checklist per tenere traccia del tuo avanzamento. I controlli sono organizzati per area e priorità: <span style="color:var(--red);font-weight:700">Critical</span> (impatto massimo), <span style="color:var(--orange);font-weight:700">High</span>, <span style="color:var(--yellow);font-weight:700">Medium</span>.</p>

        <div class="cl-progress-bar"><div class="cl-progress-fill" id="clFill"></div></div>
        <div class="cl-progress-label"><span>Progresso checklist</span><span id="clCount">0 / <?= array_sum(array_map('count', $checklist)) ?> completati</span></div>

        <div class="checklist-wrap" id="checklistWrap">
          <?php $idx = 0; foreach ($checklist as $group => $items): ?>
          <div class="checklist-group">
            <div class="checklist-group-title"><?= htmlspecialchars($group, ENT_QUOTES) ?></div>
            <div class="checklist-items">
              <?php foreach ($items as $item): $idx++; ?>
              <label class="cl-item">
                <input type="checkbox" class="cl-check" data-cl>
                <span class="cl-text"><?= htmlspecialchars($item['label'], ENT_QUOTES) ?></span>
                <span class="cl-priority prio-<?= $item['priority'] ?>"><?= strtoupper($item['priority']) ?></span>
              </label>
              <?php endforeach; ?>
            </div>
          </div>
          <?php endforeach; ?>
        </div>

        <div class="callout callout-warn">
          <span class="callout-icon">⚠️</span>
          <div class="callout-body"><strong>Attenzione robots.txt:</strong> Molti siti bloccano involontariamente i bot AI con regole generiche come <code>User-agent: *</code> e <code>Disallow: /</code>. Verifica sempre che GPTBot, ClaudeBot e PerplexityBot abbiano accesso alle pagine che vuoi siano indicizzate.</div>
        </div>

        <div class="section-kicker" style="margin-top:48px">Esempio pratico</div>
        <h2>Come appare un llms.txt ben fatto</h2>
        <p>Il file <code>llms.txt</code> dovrebbe essere leggibile da un LLM come una presentazione sintetica del tuo sito. Ecco la struttura raccomandata:</p>

        <div style="background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:18px 20px;margin:16px 0 24px;font-family:var(--mono);font-size:13px;line-height:1.9;color:var(--text-mid);overflow-x:auto">
          <span style="color:var(--green)"># [Nome Brand]</span><br>
          <span style="color:var(--text-dim)">## Descrizione</span><br>
          Breve descrizione del brand e dell'attività (2-3 frasi chiare).<br><br>
          <span style="color:var(--text-dim)">## Servizi principali</span><br>
          - Servizio 1: descrizione sintetica<br>
          - Servizio 2: descrizione sintetica<br><br>
          <span style="color:var(--text-dim)">## Pagine chiave</span><br>
          - Home: https://tuosito.it/<br>
          - Chi siamo: https://tuosito.it/chi-siamo<br>
          - Contatti: https://tuosito.it/contatti<br><br>
          <span style="color:var(--text-dim)">## Expertise</span><br>
          Settore, anni di esperienza, certificazioni, clienti notevoli.
        </div>

        <div class="section-kicker" style="margin-top:48px">Domande frequenti</div>
        <h2>FAQ — Ottimizzazione per ChatGPT</h2>

        <div class="faq-list">
          <details class="faq-item">
            <summary class="faq-q">Come faccio a sapere se ChatGPT mi cita già?</summary>
            <p class="faq-a">Il modo più diretto è interrogare manualmente ChatGPT con domande del tuo settore e verificare se il tuo brand appare nelle risposte. AEO Metrix automatizza questo processo con il GEO Score: interroga sistematicamente i principali LLM con query rilevanti per il tuo settore e misura la frequenza e la qualità delle citazioni del tuo brand.</p>
          </details>
          <details class="faq-item">
            <summary class="faq-q">Quanto tempo ci vuole per essere citati da ChatGPT?</summary>
            <p class="faq-a">Dipende dalla modalità. Per le versioni con retrieval in tempo reale (Perplexity, ChatGPT Browse, Gemini con Google Search) le ottimizzazioni tecniche hanno effetto entro 1-2 settimane dall'indicizzazione. Per i modelli con dati di training fissi, le citazioni dipendono dai cicli di aggiornamento del modello, che possono essere mensili o semestrali.</p>
          </details>
          <details class="faq-item">
            <summary class="faq-q">Il file llms.txt è obbligatorio?</summary>
            <p class="faq-a">Non è uno standard obbligatorio, ma è altamente consigliato. È l'equivalente del robots.txt per i LLM: fornisce un punto di riferimento strutturato che i modelli AI possono usare per capire rapidamente chi sei e cosa fai. Siti che lo implementano correttamente hanno un vantaggio significativo nella visibilità AI.</p>
          </details>
          <details class="faq-item">
            <summary class="faq-q">Lo schema JSON-LD aiuta davvero con i motori AI?</summary>
            <p class="faq-a">Sì, in modo significativo. Il markup strutturato rende le informazioni verificabili e facilmente leggibili dai crawler AI. In particolare FAQPage e HowTo forniscono risposte in un formato che i LLM possono estrarre e citare direttamente. Organization con sameAs aiuta a collegare il brand ai profili social ufficiali, aumentando il trust score.</p>
          </details>
        </div>

      </article>

      <!-- SIDEBAR -->
      <aside class="sidebar">
        <div class="sidebar-box">
          <div class="sidebar-title">Contenuto</div>
          <ul class="toc-list">
            <li><a href="#step-01"><span class="toc-num">01</span> Audit tecnico</a></li>
            <li><a href="#step-02"><span class="toc-num">02</span> File AI-ready</a></li>
            <li><a href="#step-03"><span class="toc-num">03</span> Schema JSON-LD</a></li>
            <li><a href="#step-04"><span class="toc-num">04</span> E-E-A-T</a></li>
            <li><a href="#step-05"><span class="toc-num">05</span> Contenuto strutturato</a></li>
            <li><a href="#step-06"><span class="toc-num">06</span> Autorevolezza</a></li>
            <li><a href="#step-07"><span class="toc-num">07</span> Monitoraggio</a></li>
          </ul>
        </div>
        <div class="cta-sidebar">
          <div class="sidebar-title">Strumento consigliato</div>
          <p>Analizza il tuo sito con AEO Metrix: 90+ controlli automatici, GEO Score e action plan in 30 secondi.</p>
          <a class="btn-cta-sm" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool">Analizza gratis →</a>
        </div>
        <div class="sidebar-box">
          <div class="sidebar-title">Articoli correlati</div>
          <ul class="toc-list">
            <li><a href="strumenti-aeo.php"><span class="toc-num">→</span> I 5 migliori tool AEO 2026</a></li>
            <li><a href="ai-seo-tools.php"><span class="toc-num">→</span> AI SEO: i migliori tool</a></li>
          </ul>
        </div>
      </aside>

    </div>
  </div>

  <!-- FINAL CTA -->
  <div class="wrap">
    <div class="final-cta">
      <h2>Hai completato la checklist?</h2>
      <p>AEO Metrix verifica automaticamente tutti questi controlli e ti dice esattamente cosa correggere per primo.</p>
      <div class="cta-btns">
        <a class="btn-primary" href="<?= htmlspecialchars($appUrl, ENT_QUOTES) ?>/#tool" style="font-size:15px;padding:13px 24px">Analizza il tuo sito gratis →</a>
        <a class="btn-secondary" href="strumenti-aeo.php" style="padding:13px 20px">Confronta i tool AEO</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(){
  const checks = document.querySelectorAll('[data-cl]');
  const fill   = document.getElementById('clFill');
  const count  = document.getElementById('clCount');
  const total  = checks.length;

  function update(){
    const done = document.querySelectorAll('[data-cl]:checked').length;
    const pct  = total ? Math.round(done / total * 100) : 0;
    if(fill)  fill.style.width = pct + '%';
    if(count) count.textContent = done + ' / ' + total + ' completati';
  }

  checks.forEach(function(c){ c.addEventListener('change', update); });
  update();
})();
</script>
</body>
</html>