L’importanza della sitemap XML e come crearla

Scritto da Gianluca il 10 February 2010

Pubblicato in Blogging, Web Development

Innanzitutto mi sembra doveroso precisare: che cosa si intende con sitemap? Ormai generalmente nel web con sitemap si intende quella pagina del sito che raccoglie in modo gerarchico tutte le pagine del sito per fornire ad un utente una vera e propria mappa. Oltre che agli utenti questa pagina è utile anche agli spider dei motori di ricerca che in questo modo leggono ed esplorano tutti i link del sito.

C’è una versione della sitemap ancora più utile ai motori di ricerca la sitemap XML ovvero un file, appunto in formato XML, che secondo degli standard raccoglie l’elenco di tutte le pagine e dei rispettivi link di un sito che vogliamo indicizzare nella serp dei motori di ricerca.

In questo modo avendone due con differenti funzioni potremmo ottimizzare la prima per gli utenti e la seconda per i motori di ricerca. La sitemap XML di cui parleremo in questo articolo è stata introdotta da Google nel Giugno del 2005 e risponde ad un protocollo ben definito e nei mesi successivi è stata supportata anche da altri importanti motori di ricerca come Yahoo e MSN (sucessivamente divenuto Bing).

Vantaggi

Il vantaggio fondamentale è che l’utilizzo della sitemap ci consente di essere sicuri che tutte le pagine vengano visitate dallo spider, e quindi si spera indicizzate dai motori di ricerca (dico si spera perchè non basta che una pagina esista perchè venga indicizzata ma deve avere certe caratteristiche) questo senza la sitemap potrebbe non accadare per esempio quando:

  • le pagine all’interno del nostro sito non sono bene collegate fra loro
  • per errore o per altri motivi abbiamo pagine totalmente isolate
  • ci sono pochi link in ingresso al nostro sito
  • abbiamo contenuti in flash, ajax o semplicemente javascript che potrebbero nascondere certe pagine agli spider
  • abbiamo migliaia di pagine tipo per un azienda che produce migliaia di prodotti ed è presente una pagina per prodotto oppure abbiamo migliaia di post

Nel caso per esempio che alcuni motori di ricerca abbiano indicizzato pagine che ora non esistono più avendo una sitemap definita della pagine esistenti quelle sbagliate verranno tolte dai risultati (attenzione questo non è automatico ma sicuramente aiuta a fare chiarezza).

Oltre che all’elenco di pagine la sitemap offre ai motori di ricerca altre informazioni molto importanti come:

  • la data di ultima modifica di ogni pagina
  • la frequenza di aggiornamento di ogni pagina
  • la priorità di indicizzazione delle pagine e quindi la loro importanza nel sito: nella sitemap viene assegnato ad ogni pagina un valore in decimi che al massimo può essere 1 questo sta a significare l’importanza della pagina.

Come Crearla

Esistono varie possibilità per creare la sitemap XML a seconda delle esisgenze se si utilizza WordPress per esempio basta un comodo plugin, oppure si può creare con tool online oppure a mano.

A mano

Anche se a mano è la via più scomoda e poco pratica sopratutto se trattiamo migliaia di pagine credo sia importante conoscere almeno la sintassi base di come è strutturata una sitemap XML, anche senza conoscere il metalinguaggio XML (non ci vuole niente per capirlo) vedrete che è abbastanza banale. Il codice base è questo:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>http://www.example.com/</loc>
    <lastmod>2005-01-01</lastmod>
    <changefreq>daily</changefreq>
    <priority>1</priority>
  </url>
  <url>
    <loc>http://www.example.com/secondapagina.htm</loc>
    <lastmod>2005-01-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority></em>
  </url>
</urlset>

Per poterla creare basta un semplice editor di testo e andremo a salvare il file con il nome sitemap.xml ovviamente attenzione che l’estensione sia XML.

Commentiamolo un po il codice, per prima cosa bisogna dichiarare che utilizziamo il linguaggio XML e la codifica UTF-8 (prima riga), poi apriamo il tag <urlset> per definire il protocollo della sitemap XML (seconda riga), poi per ogni url che vogliamo inserire apriamo il tag <url> e definiamo l’indizizzo <loc>, l’ultima modifica <lastmod> (opzionale aaaa-mm-gg), la frequenza di aggiornamento <changefreq> (opzionale può assumere i valori: always, hourly, daily, weekly, monthly, yearly e never) e infine la priorità <priority> (opzionale va da 0.0 a 1.0) ovviamente ricordiamoci di chiudere ogni tag e alla fine di tutto l’elenco chiudiamo l’ultimo tag </urlset>.

Con WordPress

Su wordpress ci sono vari plugin che consentono la creazione di ottime sitemap XML, quello che vorrei consigliarvi in assoluto è Google XML Sitemap Generator for WordPress potete scaricarlo direttamente dalla pagina ufficiale e installarlo come qualsiasi altro normale plugin.

Una volta installato troverete il pannello di controllo XML-Sitemap sotto la voce Settings (Impostazioni) da cui potrete impostare ogni cosa come la frequenza di aggiornamento, la priorità dei vari tipi di pagina, segnalarlo ad alcuni motori di ricerca.

Molto importanti anche le funzioni per escludere alcune categorie o alcuni post. Una volta impostato basterà generare la prima volta la sitemap XML poi questo plugin ad ogni aggiornamento del nostro blog (nuovi post, nuove pagine ecc) modificherà automaticamente al sitemap.

Con Tools On-line

Nel caso non utilizziate una piattaforma potete semplicemente avvalervi di tool on-line che tramite dei crawler esplorano il vostro sito e creano la sitemap, questo potrebbe essere pericoloso perchè per i motivi che dicevamo prima lo spider potrebbe non trovare alcune pagine e quindi escluderle, è meglio controllare i risultati di questi tool per vedere se sezioni del nostro sito sono state trascurate. I tool che vi consiglio io sono:

Potreste anche pensare di utilizzare dei programmini gratuiti come Gsitemap che trovate qua.

Gli unici limiti a cui fare “attenzione” (tra virgolette perchè ce ne vuole a raggiungerli) sono quelli dei 50000 URL e dei 10MB. Vorrei segnalarvi questo post di SeoPerSeo che suggerisce di suddividere in più file sitemap veramente grandi e offre uno script in php utile al riguardo.

Come Segnalarla

La sitemap va generalmente posizionata nella cartella principale del nostro dominio oppure possiamo creare un redirect nel file .htaccess per esempio se si trova nella cartella blog andremo a scrivere questa riga nel file .htaccess:

Redirect /sitemap.xml /blog/sitemap.xml

Affinche venga letta dai crawler possiamo aggiungere una riga al file robots.txt

sitemap: http://www.example.tld/sitemap.xml

Per segnalarla direttamente ai motori di ricerca come Google possiamo utilizzare i Google Webmaster Tool per una guida più esaustiva anche su altri motori di ricerca e sugli altri strumenti avanzati vi rimando al guest post che ho scritto su francescogavello.it

Oppure possiamo utilizzare i seguenti url di segnalazione tramite i quali inoltrare direttamente la sitemap ai motori di ricerca Google e Bing, al posto di {url} inserire l’indirizzo della sitemap.

http://www.google.com/webmasters/tools/ping?sitemap={url}

http://www.bing.com/webmaster/ping.aspx?sitemap={url}

Condividi

Se ti è piaciuto questo post e per sostenere il mio blog condividilo, lascia un commento e se vuoi ancora seguirmi abbonati al mio feed

Buzz This! Share

3 Commenti

  1. Leonardo says:

    Ciao Gianluca, ti segnalo anche l’uso di una chiamata CURL per segnalare la sitemap aggiornata a Google una volta creata richiamando questo url:
    http://www.google.com/webmasters/tools/ping?sitemap={url}

    dove {url} e’ l’url dove e’ presenta la sitemap sul tuo sito!
    In bocca al lupo per i tuoi studi…

    • Gianluca says:

      grazie per la segnalazione aggiorno direttamente il post con questo url e quello di Bing.

  2. elisa says:

    Una curiosità: il nome del file sitemap deve avere sempre la denominazione sitemap.xml oppure può essere chiamato ad esempio sitemap_miosito.xml?

Inserisci un commento

Ultimi Tweet

...solo un attimo. Sto caricando i tweets, se non si sono caricati è perchè probabilmente i server di twitter sono sovraccarichi

Seguimi su twitter

Foto su flickr

Bruxelles AtomiumInterno Palazzo DucaleBruxellesAmsterdamPotsdamer Platz ArcadesCopenhagenPiazza MazziniFrancoforteAmsterdamPragaCheckpoint CharlieBorsa di Francoforte Seguimi su Flickr