Canonical, rel=next/prev, Hreflang e GEO

La guida completa ai segnali tecnici che governano la canonicalizzazione, la paginazione, il targeting internazionale e la nuova ottimizzazione per i motori generativi (GEO / AI Search).

🔗 1) Canonical: cos'è e a cosa serve

Il tag <link rel="canonical"> è un segnale che indica ai motori di ricerca qual è la versione ufficiale (canonica) di una pagina quando esistono più URL con contenuto identico o molto simile. Serve a consolidare i segnali di ranking (link, autorità, pertinenza) su un unico URL ed evitare i problemi di contenuto duplicato.

Si inserisce nel <head> della pagina e deve puntare sempre a un'URL assoluta:

<link rel="canonical" href="https://www.tuosito.it/pagina/" />

⚠️ A differenza del redirect 301, il canonical è un suggerimento, non un comando: Google lo considera insieme ad altri segnali e in alcuni casi può scegliere un canonico diverso da quello dichiarato.

✅ Canonical: regole d'oro

  • Self-referencing — ogni pagina canonica deve avere un canonical che punta a sé stessa. È la configurazione corretta nel 90% dei casi.
  • URL assoluta e definitiva — sempre con protocollo https://, senza parametri di tracking, nella versione www/non-www scelta come canonica.
  • Un solo canonical per pagina — più tag rel="canonical" si annullano a vicenda e Google li ignora tutti.
  • Coerenza con la sitemap — l'URL nel canonical deve essere identica a quella presente in sitemap.xml.
  • Niente canonical verso pagine in noindex o redirette — invieresti segnali contraddittori.
  • Canonical cross-domain — è possibile puntare a un dominio diverso (es. contenuto syndication), ma va usato con grande cautela.

⚠️ Errori di canonicalizzazione più comuni

  • 🔁 Canonical che punta a un URL redirezionato → catena di segnali incoerente.
  • 🏠 Tutte le pagine con canonical verso la homepage → de-indicizzazione di massa delle pagine interne.
  • 🔣 Canonical con parametri (UTM, sessioni, filtri) → frammenta i segnali su varianti inutili.
  • 🌐 Mismatch HTTP/HTTPS o www/non-www → versione canonica diversa da quella effettivamente servita.
  • 🧩 Canonical inserito via JavaScript non sempre letto in modo affidabile: preferisci l'HTML server-side.
  • 📄 Canonical e meta robots noindex insieme → conflitto: scegli uno dei due in base all'obiettivo.

📑 2) Link rel="next" e rel="prev": la paginazione

I tag <link rel="next"> e <link rel="prev"> nascono per segnalare ai motori di ricerca la relazione di sequenza tra le pagine di una serie paginata (es. /blog/?page=1, /blog/?page=2, …) o tra le pagine di un articolo suddiviso.

<!-- Su /blog/page/2/ -->
<link rel="prev" href="https://www.tuosito.it/blog/page/1/" />
<link rel="next" href="https://www.tuosito.it/blog/page/3/" />

📌 Nota fondamentale: dal 2019 Google non usa più rel=next/prev come segnale di indicizzazione. Continua però a essere utile per:

  • 🧭 Accessibilità e browser — alcuni browser e tecnologie assistive li usano per il prefetch e la navigazione.
  • 🔎 Altri motori — Bing dichiara ancora di tenerne conto.
  • 🧱 Chiarezza strutturale — documentano la relazione fra le pagine, utile anche per i crawler generici.

🧠 Paginazione SEO: come gestirla oggi

Poiché rel=next/prev non basta più, la gestione moderna della paginazione si fonda su questi principi:

  • Ogni pagina paginata ha un canonical self-referencing (la pagina 2 è canonica di sé stessa, NON della pagina 1).
  • 🚫 Evita il canonical "view-all" forzato se la pagina unica è troppo pesante o lenta.
  • 🔗 Link interni chiari verso pagina precedente/successiva e, idealmente, verso le prime/ultime pagine.
  • 📭 Le pagine paginate restano indicizzabili (index, follow): mettere noindex fa perdere i link verso i contenuti profondi.
  • 🗺️ Includi nella sitemap solo le pagine di valore, non necessariamente ogni singola pagina di archivio.
  • ⚙️ Mantieni comunque rel=next/prev per gli altri motori e per la semantica: costa poco e non fa danni.

🌍 3) Hreflang: il targeting linguistico e geografico

L'attributo hreflang indica a Google la lingua e (facoltativamente) la regione di una pagina, permettendogli di servire all'utente la versione corretta in base alla sua lingua/paese. È essenziale per i siti multilingua o multi-paese.

<!-- Nel <head> di OGNI versione della pagina -->
<link rel="alternate" hreflang="it"      href="https://www.tuosito.it/pagina/" />
<link rel="alternate" hreflang="en"      href="https://www.tuosito.com/page/" />
<link rel="alternate" hreflang="en-US"   href="https://www.tuosito.com/us/page/" />
<link rel="alternate" hreflang="x-default" href="https://www.tuosito.com/page/" />

Il valore segue lo standard ISO 639-1 per la lingua (es. it, en, de) ed eventualmente ISO 3166-1 Alpha-2 per il paese (es. en-US, en-GB, pt-BR).

✅ Hreflang: le 5 regole che non puoi sbagliare

  • 🔁 Bidirezionalità (return tag) — se la pagina A indica B come alternativa, anche B deve indicare A. Senza reciprocità Google ignora la dichiarazione.
  • 🪪 Auto-riferimento — ogni pagina deve includere un hreflang verso sé stessa, oltre a quelli verso le altre lingue.
  • 🧭 x-default — dichiara la pagina di fallback per gli utenti la cui lingua/paese non corrisponde a nessuna versione (tipicamente la versione internazionale o il selettore lingua).
  • 🔗 URL assolute e canoniche — usa sempre l'URL canonica di ogni versione, mai redirect o varianti.
  • ⚖️ Coerenza canonical ↔ hreflang — il canonical di ogni pagina deve puntare a sé stessa, non alla versione in un'altra lingua.

🛠️ Dove dichiarare l'hreflang

Hai tre metodi alternativi (scegline uno e sii coerente su tutto il sito):

  • Nell'HTML — tag <link rel="alternate" hreflang> nel <head>. Il più diffuso.
  • Negli header HTTP — utile per file non-HTML come i PDF.
  • Nella sitemap XML — con il namespace xhtml:link, ideale per siti molto grandi perché centralizza tutto in un unico file.
<!-- Variante in sitemap.xml -->
<url>
  <loc>https://www.tuosito.it/pagina/</loc>
  <xhtml:link rel="alternate" hreflang="it" href="https://www.tuosito.it/pagina/"/>
  <xhtml:link rel="alternate" hreflang="en" href="https://www.tuosito.com/page/"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.tuosito.com/page/"/>
</url>

⚠️ Errori hreflang più frequenti

  • Codici erratien-UK non esiste (è en-GB); la lingua va prima, il paese dopo.
  • Return tag mancanti — la causa numero uno di hreflang ignorati da Google.
  • x-default assente — peggiora la gestione del traffico internazionale non targettizzato.
  • URL in hreflang diverse da quelle canoniche — generano conflitti di segnali.
  • Hreflang verso pagine in noindex o 404 — l'intero cluster linguistico viene scartato.
  • Targeting solo per paese ignorando la lingua — ricorda: hreflang lavora prima sulla lingua.

🤖 4) Parametri GEO: ottimizzare per LLM e AI Search

La GEO (Generative Engine Optimization) è l'insieme delle tecniche per rendere i contenuti facilmente compresi, estratti e citati dai motori generativi e dagli assistenti AI: Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot e gli agenti AI in generale.

A differenza della SEO classica — che punta al posizionamento di un link in SERP — la GEO punta a far sì che il tuo contenuto venga usato come fonte nella risposta sintetizzata dall'AI. Cambiano quindi i segnali da curare.

🧩 I parametri tecnici della GEO

  • 📄 llms.txt — il nuovo file (proposto come standard) collocato nella root (/llms.txt) che fornisce agli LLM una mappa curata dei contenuti più importanti in formato Markdown. È l'equivalente del robots.txt ma pensato per i modelli linguistici.
  • 🏗️ HTML semantico — usare <article>, <section>, <main>, <header>, <nav> aiuta i parser AI a isolare il contenuto reale dal "rumore".
  • 🧱 Dati strutturati (Schema.org)Article, FAQPage, HowTo, Product, Organization: forniscono all'AI fatti espliciti e disambiguati.
  • 👤 Segnali E-E-A-T — autore dichiarato, bio, fonti citate, date di pubblicazione/aggiornamento: gli LLM privilegiano contenuti con autorialità verificabile.
  • 📊 Densità informativa — un buon rapporto testo/codice e contenuto estraibile lato server (non solo via JavaScript) rendono la pagina realmente leggibile dai crawler AI.
  • 🤝 Accesso ai bot AI — gestisci consapevolmente in robots.txt user-agent come GPTBot, ClaudeBot, PerplexityBot, Google-Extended: decidi se vuoi essere fonte di addestramento e/o di citazione.

💻 Esempio di file llms.txt

# tuosito.it

> Agenzia SEO e Digital Marketing. Guide tecniche su SEO,
> redirect, canonicalizzazione e ottimizzazione per AI.

## Guide principali
- [Guida ai Redirect 301](https://www.tuosito.it/redirect-301.php): gestione reindirizzamenti
- [Robots.txt e Sitemap.xml](https://www.tuosito.it/robots-sitemap.php): controllo scansione
- [Canonical, Hreflang e GEO](https://www.tuosito.it/canonical-hreflang-geo.php): segnali tecnici

## Contatti
- [Chi siamo](https://www.tuosito.it/chi-siamo/)
- Email: info@tuosito.it

💻 robots.txt: gestire i bot AI

# Consenti la citazione, blocca eventualmente il training:

# OpenAI (ChatGPT)
User-agent: GPTBot
Allow: /

# Anthropic (Claude)
User-agent: ClaudeBot
Allow: /

# Perplexity
User-agent: PerplexityBot
Allow: /

# Controllo training dei contenuti per Google
User-agent: Google-Extended
Disallow:        # vuoto = consenti; "/" = blocca il training

Sitemap: https://www.tuosito.it/sitemap.xml

⚠️ Bloccare i bot AI riduce la visibilità nelle risposte generative ma protegge i contenuti dall'uso in addestramento: è una scelta strategica, non solo tecnica.

✅ Best practice GEO per essere citati dall'AI

  • 🎯 Rispondi in modo diretto — apri sezioni e paragrafi con la risposta sintetica alla domanda, poi approfondisci.
  • Struttura a domande — H2/H3 in forma di domanda + risposta concisa: è il formato che gli LLM estraggono più volentieri.
  • 📚 Cita fonti e dati — numeri, studi e riferimenti aumentano l'affidabilità percepita dal modello.
  • 🧾 Aggiungi schema FAQPage/HowTo — esplicita domande e passaggi in formato machine-readable.
  • 🆕 Mantieni i contenuti aggiornati — date di aggiornamento visibili e contenuti freschi sono premiati.
  • 🔤 Linguaggio chiaro e definizioni — spiega gli acronimi, evita ambiguità: l'AI ama il contenuto disambiguato.
  • 🏷️ Entità ben definite — collega persone, brand e luoghi a identità riconoscibili (Organization schema, sameAs).

🧭 Come lavorano insieme questi segnali

  • 🔗 Canonical decide quale URL rappresenta il contenuto.
  • 📑 rel=next/prev descrive la sequenza delle pagine paginate.
  • 🌍 Hreflang stabilisce quale lingua/paese servire a ciascun utente.
  • 🤖 GEO determina quanto facilmente l'AI può capire e citare il contenuto.

La regola di coerenza: canonical, hreflang e sitemap devono raccontare la stessa storia. Quando questi segnali concordano, i motori di ricerca tradizionali e quelli generativi interpretano il sito correttamente; quando si contraddicono, perdi posizionamenti e citazioni.

📋 Checklist tecnica completa

  • ✅ Ogni pagina ha un canonical self-referencing assoluto e in HTTPS
  • ✅ Nessun canonical verso pagine redirette, in noindex o 404
  • ✅ Un solo tag canonical per pagina
  • ✅ Le pagine paginate hanno canonical a sé stesse e restano index/follow
  • rel=next/prev presenti per gli altri motori (opzionale ma consigliato)
  • ✅ Hreflang reciproci (return tag) su tutte le versioni linguistiche
  • ✅ Hreflang con auto-riferimento e x-default dichiarato
  • ✅ Codici lingua/paese conformi a ISO 639-1 / 3166-1
  • ✅ Coerenza tra canonical, hreflang e sitemap.xml
  • ✅ HTML semantico e dati strutturati Schema.org presenti
  • ✅ File /llms.txt pubblicato e aggiornato
  • ✅ Policy chiara per i bot AI in robots.txt
  • ✅ Contenuti con autore, fonti e date di aggiornamento (E-E-A-T)