Formato XML delle Sitemap

Passa a:
Definizioni tag XML
Codici di escape
Utilizzo dei file dell'indice Sitemap
Altri formati sitemap
Ubicazione del file Sitemap
Convalida della Sitemap
Estensione del Protocollo Sitemap
Invio delle informazioni ai crawler dei motori di ricerca

In questo documento viene descritto lo schema XML per il Protocollo Sitemap.

Il formato Protocollo Sitemap è composto da tag XML. Tutti i valori dei dati in una Sitemap devono utilizzare i codici di escape. Il file stesso deve utilizzare la codifica UTF-8.

La Sitemap deve:

Tutti gli altri tag sono facoltativi. Il supporto di questi tag facoltativi varia a seconda del motore di ricerca in uso. Consulta la documentazione di ciascun motore di ricerca per maggiori informazioni.

Inoltre tutti gli URL in una Sitemap devono provenire da un solo host, ad esempio www.esempio.it o store.esempio.it. Per ulteriori informazioni, vedere Percorso del file Sitemap

Sitemap XML di esempio

Di seguito viene riportata una Sitemap di esempio che contiene solo un URL e utilizza tutti tag facoltativi. I tag facoltativi vengono riportati in corsivo.


<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.esempio.it/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

</urlset> 

Vedi anche l'esempio con più URL.

Definizioni tag XML

I tag XML disponibili vengono descritti di seguito.

Attributo Descrizione
<urlset> obbligatorio

Comprende il file e fa riferimento agli standard del protocollo corrente.

<url> obbligatorio

Tag principale per ogni voce URL. I tag restanti sono secondari di questo tag.

<loc> obbligatorio

URL della pagina. L'URL deve iniziare con il protocollo (ad esempio http) e terminare con una barra finale, se richiesto dal server web. Questo valore deve contenere meno di 2048 caratteri.

<lastmod> facoltativo

Data dell'ultima modifica del file. Questa data dovrebbe avere il formato W3C Datetime, che ti consente di omettere l'ora, se lo desideri, e di utilizzare il formato AAAA-MM-GG.

Tieni presente che la data deve essere impostata sulla data dell'ultima modifica apportata alla pagina collegata, non alla data di generazione della Sitemap.

Questo tag è separato dall'intestazione If-Modified-Since (304) che il server può restituire ed è possibile che i motori di ricerca utilizzino queste informazioni da entrambe le sorgenti in modo differente.

<changefreq> facoltativo

Frequenza con la quale la pagina potrebbe venire modificata. Questo valore fornisce informazioni generiche ai motori di ricerca ed è possibile che non sia esattamente correlato alla frequenza di scansione della pagina. I valori validi sono:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

Il valore "always" deve essere utilizzato per descrivere i documenti che subiscono modifiche ogni volta che vi si accede. Il valore "never" deve essere utilizzato per descrivere gli URL archiviati.

Il valore di questo tag viene considerato un suggerimento e non un comando. Anche se i crawler dei motori di ricerca possono prendere in considerazione questa informazione, è possibile che la scansione di pagine contrassegnate come "hourly" avvenga meno di frequente rispetto alla scansione di pagine contrassegnate come "yearly". È possibile che i crawler eseguano la scansione periodica di pagine contrassegnate come "never", in modo da poter gestire modifiche impreviste apportate a tali pagine.

<priority> facoltativo

La priorità di questo URL rispetto ad altri URL del sito. L'intervallo di valori validi è compreso tra 0,0 e 1,0. Questo valore non influisce sul modo in cui le tue pagine vengono confrontate con le pagine di altri siti, ma ti consente di indicare ai motori di ricerca le pagine che reputi più importanti per i crawler.

La priorità predefinita di una pagina è 0,5.

È probabile che la priorità assegnata a una pagina non influisca sulla posizione degli URL nelle pagine dei risultati di un motore di ricerca. I motori di ricerca possono utilizzare queste informazioni al momento della selezione degli URL dello stesso sito; pertanto, puoi utilizzare questo tag per aumentare la probabilità di visualizzazione delle pagine più importanti nell'indice di ricerca.

Inoltre, è probabile che l'assegnazione di un'alta priorità a tutti gli URL del tuo sito non sia di aiuto. Poiché la priorità è relativa, essa viene utilizzata solo per selezionare gli URL del tuo sito.

Torna all'inizio

Codici di escape

Il file Sitemap deve utilizzare la codifica UTF-8. In genere, è possibile eseguire questa operazione al momento del salvataggio del file. Analogamente a quanto accade con i file XML, tutti i valori dei dati (inclusi gli URL) devono utilizzare codici di escape per i caratteri elencati nella seguente tabella.

Carattere Codice di escape
E commerciale & &amp;
Virgolette ' &apos;
Virgolette doppie " &quot;
Maggiore di > &gt;
Minore di < &lt;

Inoltre, tutti gli URL, compreso l'URL della tua Sitemap, devono utilizzare caratteri di escape ed essere codificati in modo da consentire la lettura ai server Web sui quali sono posizionati. Tuttavia, se utilizzi script, strumenti o file di log per generare gli URL (qualsiasi metodo, ad eccezione dell'inserimento manuale), l'operazione viene in genere eseguita automaticamente. Assicurati che tutti i tuoi URL siano conformi allo standard URI RFC-3986, allo standard IRI RFC-3987 e allo standard XML .

Di seguito, viene riportato un esempio di URL che utilizza caratteri non ASCII (ü) e caratteri che richiedono l'utilizzo di codici di escape (&):

http://www.esempio.it/ümlat.html&q=name

Di seguito viene riportato l'URL con codifica ISO-8859-1 (per il servizio di hosting su un server che utilizza la stessa codifica) e con codice di escape:

http://www.esempio.it/%FCmlat.html&q=name

Di seguito viene riportato lo stesso l'URL con codifica UTF-8 (per il servizio di hosting su un server che utilizza la stessa codifica) e con codice di escape:

http://www.esempio.it/%C3%BCmlat.html&q=name

Di seguito, viene riportato lo stesso URL ma questa volta con codice di escape:

http://www.esempio.it/%C3%BCmlat.html&amp;q=name

Sitemap XML di esempio

Il seguente esempio illustra una Sitemap in formato XML. La Sitemap dell'esempio contiene un numero ridotto di URL, ognuno dei quali utilizza un insieme diverso di parametri facoltativi.


<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.esempio.it/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

   <url>

      <loc>http://www.esempio.it/catalog?item=12&amp;desc=vacation_hawaii</loc>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.esempio.it/catalog?item=73&amp;desc=vacation_new_zealand</loc>

      <lastmod>2004-12-23</lastmod>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.esempio.it/catalog?item=74&amp;desc=vacation_newfoundland</loc>

      <lastmod>2004-12-23T18:00:15+00:00</lastmod>

      <priority>0.3</priority>

   </url>

   <url>

      <loc>http://www.esempio.it/catalog?item=83&amp;desc=vacation_usa</loc>

      <lastmod>2004-11-23</lastmod>

   </url>

</urlset>

Torna all'inizio

Utilizzo di file dell'indice Sitemap (per raggruppare più file Sitemap)

Puoi creare più file Sitemap, ma ciascuno di essi non può contenere più di 50.000 URL e non può avere una dimensione superiore a 50 MB (52,428,800 byte). Se lo desideri, puoi comprimere i file Sitemap utilizzando gzip per ridurre i requisiti di larghezza di banda. Il file Sitemap, tuttavia, una volta decompresso non può superare i 50 MB. Se desideri indicare più di 50.000 URL, crea più file Sitemap.

Se fornisci più Sitemap, devi elencare ogni file Sitemap in un file dell'indice Sitemap. I file dell'indice Sitemap non possono contenere più di 50.000 Sitemap e non devono avere una dimensione superiore a 50 MB (52,428,800 byte) e possono essere compressi. Puoi creare più file dell'indice Sitemap. Il formato XML di un file dell'indice Sitemap è molto simile al formato XML di un file Sitemap.

Il file dell'indice Sitemap deve:

Il tag facoltativo <lastmod> è anche disponibile per i file dell'indice Sitemap.

Nota: un file dell'indice Sitemap può solo specificare le Sitemap che si trovano nel suo stesso sito. Ad esempio, http://www.iltuosito.it/sitemap_index.xml può includere le Sitemap di http://www.iltuosito.it, ma non di http://www.esempio.it o http://iltuohost.iltuosito.it. In modo analogo alle Sitemap, anche il file dell'indice Sitemap deve utilizzare la codifica UTF-8.

Indice Sitemap XML di esempio

Il seguente esempio illustra un indice Sitemap in cui sono elencate due Sitemap:


<?xml version="1.0" encoding="UTF-8"?>

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <sitemap>

      <loc>http://www.esempio.it/sitemap1.xml.gz</loc>

      <lastmod>2004-10-01T18:23:17+00:00</lastmod>

   </sitemap>

   <sitemap>

      <loc>http://www.esempio.it/sitemap2.xml.gz</loc>

      <lastmod>2005-01-01</lastmod>

   </sitemap>

</sitemapindex>

Nota: per gli URL delle Sitemap, come per tutti i valori nei file XML, devono essere utilizzati i caratteri di escape .

Definizioni dei tag XML dell'indice Sitemap

Attributo Descrizione
<sitemapindex> obbligatorio Comprende informazioni su tutte le Sitemap del file.
<sitemap> obbligatorio Comprende informazioni su una singola Sitemap.
<loc> obbligatorio

Identifica l'ubicazione della Sitemap.

Questo percorso può essere una Sitemap, un file Atom, un file RSS o un semplice file di testo.

<lastmod> facoltativo

Indica la data di modifica del file Sitemap corrispondente. Non corrisponde alla data di modifica delle pagine elencate nella Sitemap. Il valore del tag lastmod deve essere nel formato W3C Datetime.

Fornendo l'ora dell'ultima modifica, indichi ai crawler dei motori di ricerca di recuperare solo un sottoinsieme di Sitemap nell'indice, ossia solo le Sitemap modificate a partire da una determinata data. Il meccanismo di prelievo incrementale delle Sitemap consente di individuare rapidamente i nuovi URL nei siti di grandi dimensioni.

Torna all'inizio

Altri formati sitemap

Il Protocollo Sitemap consente di fornire informazioni dettagliate sulle pagine ai motori di ricerca. Ti consigliamo di utilizzarlo per fornire ulteriori informazioni sulle pagine del sito, e non solo gli URL. Tuttavia, oltre al protocollo XML, supportiamo i feed RSS e i file di testo, che forniscono informazioni limitate.

Feed di diffusione dei contenuti

Puoi fornire un feed RSS (Real Simple Syndication) 2.0 o Atom 0.3 o 1.0. In genere, si utilizza questo formato soltanto se il sito già dispone di un feed di diffusione dei contenuti. È possibile che in questo modo i motori di ricerca non vengano a conoscenza di tutti gli URL del tuo sito, poiché il feed potrebbe fornire informazioni solo sugli URL recenti; tuttavia queste informazioni possono essere utilizzate per ottenere informazioni su altre pagine del tuo sito nel corso dei normali processi di scansione seguendo i link disponibili nella pagina del feed. Assicurati che il feed sia collocato nella directory di livello più elevato di cui desideri venga eseguita la scansione da parte dei motori di ricerca. I motori di ricerca estraggono le informazioni dai feed nel seguente modo:

File di testo

Puoi fornire un semplice file di testo contenente un URL per riga. Il file di testo deve rispettare le seguenti convenzioni:

Di seguito sono riportate voci di esempio del file di testo.

http://www.esempio.it/catalog?item=1

http://www.esempio.it/catalog?item=11

Torna all'inizio

Ubicazione del file Sitemap

Il percorso di un file Sitemap determina l'insieme di URL che può essere inserito nella Sitemap. Un file Sitemap posizionato in http://esempio.it/catalog/sitemap.xml può includere tutti gli URL che iniziano con http://esempio.it/catalog/ ma non quelli che iniziano con http://esempio.it/images/.

Se hai l'autorizzazione a modificare http://esempio.org/path/sitemap.xml, si presume che tu abbia anche l'autorizzazione a fornire informazioni relative agli URL con il prefisso http://esempio.org/path/. Alcuni esempi di URL considerati validi in http://esempio.it/catalog/sitemap.xml sono:


http://esempio.it/catalog/show?item=23

http://esempio.it/catalog/show?item=233&user=3453

Gli URL non considerati validi in http://esempio.it/catalog/sitemap.xml sono:


http://esempio.it/image/show?item=23

http://esempio.it/image/show?item=233&user=3453

https://esempio.it/catalog/page1.html

Questo significa che tutti gli URL elencati nella Sitemap devono utilizzare lo stesso protocollo (in questo esempio, il protocollo http) e risiedere nello stesso host della Sitemap. Ad esempio, una Sitemap che si trova in http://www.esempio.it/sitemap.xml non può includere gli URL di http://sottodominio.esempio.it.

Gli URL non considerati validi vengono ignorati. Ti consigliamo di salvare la Sitemap nella directory principale del tuo server web. Ad esempio, se il server web è su esempio.it, il file dell'indice Sitemap si troverà su http://esempio.it/sitemap.xml. In alcuni casi, potresti dover creare Sitemap diverse per i vari percorsi del tuo sito, ad esempio se le autorizzazione di protezione della tua azienda separano i diritti di accesso in scrittura a directory diverse.

Se invii una Sitemap utilizzando un percorso con un numero di porta, devi includere tale numero nel percorso in ciascun URL riportato nel file Sitemap. Ad esempio, se la tua Sitemap è ubicata in http://www.esempio.it:100/sitemap.xml, ciascun URL riportato nella Sitemap deve iniziare con http://www.esempio.it:100.

Sitemap e invii incrociati

Per inviare Sitemap per più host da un singolo host, è necessario dimostrare la proprietà degli host per i quali vengono inviati gli URL in una Sitemap. Di seguito viene fornito un esempio. Supponiamo che desideri inviare Sitemap per 3 host:


www.host1.com con file Sitemap sitemap-host1.xml

www.host2.com con file Sitemap sitemap-host2.xml

www.host3.com con file Sitemap sitemap-host3.xml

Inoltre desideri collocare tutte e tre le Sitemap su un unico host: www.sitemaphost.com. Gli URL delle Sitemap sarebbero:


http://www.sitemaphost.com/sitemap-host1.xml

http://www.sitemaphost.com/sitemap-host2.xml

http://www.sitemaphost.com/sitemap-host3.xml

Per impostazione predefinita, in questo caso verrebbe generato un errore di "invio incrociato" a causa del tentativo di inviare gli URL per www.host1.com attraverso una Sitemap che si trova in www.sitemaphost.com e lo stesso accadrebbe per gli altri due host. Per evitare l'errore devi dimostrare di essere il proprietario di www.host1.com, ovvero di avere l'autorizzazione alla modifica dei file. A tale scopo, modifica il file robots.txt su www.host1.com affinché punti alla Sitemap in www.sitemaphost.com.

In questo esempio, il file robots.txt in http://www.host1.com/robots.txt conterrà la riga "Sitemap: http://www.sitemaphost.com/sitemap-host1.xml". Modificando il file robots.txt file in www.host1.com affinché punti alla Sitemap in www.sitemaphost.com, dimostri implicitamente di essere il proprietario di www.host1.com. In altre parole, chi controlla il file robots.txt in www.host1.com garantisce che la Sitemap all'indirizzo http://www.sitemaphost.com/sitemap-host1.xml contiene gli URL per www.host1.com. Puoi ripetere lo stesso processo per gli altri due host.

Ora puoi inviare le Sitemap in www.sitemaphost.com.

Quando il file robots.txt di un determinato host, ad esempio http://www.host1.com/robots.txt, punta a una Sitemap o a un indice Sitemap di un altro host, è previsto che per ogni Sitemap di destinazione, ad esempio http://www.sitemaphost.com/sitemap-host1.xml, tutti gli URL appartengano all'host che punta a essa. Questa condizione è dovuta al fatto che, come riportato in precedenza, si prevede che gli URL di una Sitemap provengano da un solo host.

Torna all'inizio

Convalida della Sitemap

I seguenti schemi XML definiscono gli elementi e gli attributi che possono essere visualizzati nel file Sitemap. Puoi scaricare lo schema dai seguenti link:

Per le Sitemap: http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
Per i file dell'indice Sitemap: http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd

Sono disponibili diversi strumenti per la convalida della struttura della Sitemap in base a questo schema. Puoi trovare un elenco di strumenti relativi a XML in ognuno dei seguenti percorsi:

http://www.w3.org/XML/Schema#Tools
http://www.xml.com/pub/a/2000/12/13/schematools.html

Per convalidare la Sitemap o il file dell'indice Sitemap in base a uno schema, è necessario che il file XML abbia intestazioni aggiuntive, come mostrato di seguito.

Sitemap:


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      ...

   </url>

</urlset>

File dell'indice Sitemap:


<?xml version='1.0' encoding='UTF-8'?>

<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <sitemap>

      ...

   </sitemap>

</sitemapindex>

Torna all'inizio

Estensione del Protocollo Sitemap

Puoi estendere il Protocollo Sitemap utilizzando il tuo spazio dei nomi. Devi semplicemente specificare questo spazio dei nomi nell'elemento principale. Ad esempio:


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

         xmlns:example="http://www.example.com/schemas/example_schema"> <!-- namespace extension -->

   <url>

      <example:example_tag>

         ...

      </example:example_tag>

      ...

   </url>

</urlset>

Torna all'inizio

Invio delle informazioni ai crawler dei motori di ricerca

Dopo aver creato il file sitemap e averlo posizionato sul tuo server web, invialo ai motori di ricerca che supportano questo protocollo. Puoi eseguire questa operazione nel seguente modo:

I motori di ricerca possono quindi recuperare la tua Sitemap e rendere disponibili gli URL ai propri crawler.

Invio della sitemap tramite l'interfaccia di invio del motore di ricerca

Per inviare la sitemap direttamente a un motore di ricerca e ricevere informazioni sullo stato e gli errori di elaborazione, consultare la documentazione di ogni motore di ricerca.

Indicazione della posizione della sitemap nel file robots.txt.

Puoi specificare l'ubicazione della sitemap utilizzando un file robots.txt. A tale scopo, è sufficiente aggiungere la seguente riga:

Sitemap: http://www.example.com/sitemap.xml

Questa direttiva è indipendente dalla riga user-agent, pertanto il posizionamento nel file non è importante. Se disponi di un file dell'indice Sitemap, puoi indicare solo l'ubicazione di tale file. Non è necessario elencare ogni singola sitemap indicata nel file dell'indice.

Puoi specificare più file Sitemap per ogni file robots.txt.

Sitemap: http://www.example.com/sitemap-host1.xml

Sitemap: http://www.example.com/sitemap-host2.xml

Invio della sitemap tramite una richiesta HTTP

Per inviare la tua sitemap utilizzando una richiesta HTTP (sostituisci <searchengine_URL> con l'URL fornito dal motore di ricerca), quindi invia la richiesta al seguente URL:

<searchengine_URL>/ping?sitemap=sitemap_url

Ad esempio, se la tua Sitemap è disponibile all'indirizzo http://www.esempio.it/sitemap.gz, l'URL avrà il seguente aspetto:

<searchengine_URL>/ping?sitemap=http://www.esempio.it/sitemap.gz

Applica la codifica URL a tutti gli elementi che seguono /ping?sitemap=:

<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.iltuosito.it%2Fsitemap.gz

Puoi inviare la richiesta HTTP utilizzando wget, curl o un altro meccanismo a tua scelta. Una richiesta corretta restituirà un codice di risposta HTTP 200. Se ricevi una risposta diversa, dovrai reinviare la richiesta. Il codice di risposta HTTP 200 indica solo che il motore di ricerca ha ricevuto la tua Sitemap e non che la Sitemap o gli URL in essa contenuti sono validi. Un modo semplice per eseguire questa operazione è impostare un processo automatizzato per generare e inviare periodicamente le Sitemap.
Nota: se desideri inviare un file dell'indice Sitemap, è sufficiente inviare solo una richiesta HTTP che includa l'ubicazione del file dell'indice Sitemap; non è necessario inviare singole richieste per ciascuna sitemap elencata nell'indice.

Torna all'inizio

Esclusione del contenuto

Il Protocollo Sitemap consente di indicare ai motori di ricerca il contenuto da indicizzare. Per indicare ai motori di ricerca il contenuto che non deve essere indicizzato, utilizza il file robots.txt o il meta tag robots. Per ulteriori informazioni su come indicare ai motori di ricerca i contenuti da escludere, consulta robotstxt.org.

 

Torna all'inizio

Ultimo aggiornamento: 21 novembre 2016