L'articolo che stai leggendo è stato scritto 466 giorni orsono.
Le informazioni presenti potrebbero non essere aggiornate!
Al momento il miglior motore di ricerca del mondo sembra essere Google. Per la verità l'algoritmo che sfrutta comincia ad essere vecchiotto e non sono rari i casi in cui lo si critichi per risultati di ricerca incoerenti.
Forse per questo, forse per invogliare una partecipazione attiva dell'utenza, in modo tale che i risultati siano maggiormente influenzati dagli utilizzatori, Google mette a disposizione dei webmaster un strumento molto potente per la corretta indicizzazione del proprio sito internet: la Google Sitemap.
Per la verità non mi sono mai interessato più di tanto a fare SEO. Ma ultimamente, oltre a rinnovare il blog, mi si è chiesto di cercare i punti deboli di un paio di siti internet e trovare qualche contromisura adeguata.
Sostanzialmente la Google Sitemap non è altro che una raccolta organizzata dei link del vostro sito. Il linguaggio utilizzato è XML. Ottimo per fornire flussi di informazione dinamici che necessitano di una facile archiviazione.
Il protocollo utilizzato da Google inoltre è open source. Oltre gli indiscussi vantaggi di sviluppo, l'intento è quello di uniformare i metodi di archiviazione link, in modo che motori di ricerca diversi diano risultati coerenti fra di loro.
Se non avete tanta voglia di studiare, Google mette a disposizione un tool apposito per la creazione della sitemap: Google Sitemap Generator. I più famosi CMS mettono a disposizione plugin appositi.
Se, come me, non usate un famoso CMS, ma un prodotto fatto in casa, allora è il momento di studiare :)
Le specifiche di base sono molto semplici.
1 - Deve essere un file XML 1.0 ed utilizzare il set di caratteri UTF-8
Il vostro sito usa un set di caratteri diverso? Fregatevene perchè nel file non ci sono i contenuti, ma solo link e direttive di descrizione indipendenti dal contenuto fisico delle URL :)
La prima riga del file sarà obbligatoriamente:
<?xml version="1.0" encoding="UTF-8"?>
Ma ricordate che, nonostante il charset UTF-8, trattandosi di un XML vanno usati i caratteri di escape per la codificazione HTML corretta. Di seguito la tabella delle notazioni:
- & &
- ' '
- " "
- > >
- < <
2 - Il "corpo" basilare della sitemap
Il resto del file ha la seguente struttura di base:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.sito.com/</loc>
</url>
</urlset>
- urlset: tutto il file è incapsulato in questa macrodirettiva, che si occupa anche di specificare il formato corrente del protocollo utilizzato. E' obbligatorio.
- url: ogni link inviato via google sitemap è inserito in questo tag. Con la direttiva url google saprà che sta per leggere un link e le sue specifiche. E' obbligatorio.
- loc: la location, il link vero e proprio da indicizzare. E' necessaria la specifica del protocollo (http, https, ftp). E' obbligatorio.
Fin qui abbiamo cosa è assolutamente necessario per produrre una sitemap google adeguata. Ma abbiamo la possibilità di arricchirla con informazioni aggiuntive, che il crawler di google utilizzerà per gestire al meglio il posizionamento del vostro sito.
3 - Il "corpo" arricchito della sitemap
La struttura completa della sitemap è la seguente. Gli elementi lastmod, changefreq e priority sono facoltativi.
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.sito.com/</loc>
<lastmod>2007-02-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
- lastmod: data dell'ultima modifica. Indica a google la freschezza della pagina :)
- changefreq: la frequenza con cui una pagina cambia di contenuto. L'elemento, abbinato a lastmod, ma anche da solo, indica a google ogni quanto controllare la pagina, nonchè il tipo di contenuto in funzione della metodologia di pubblicazione dei contenuti. Le scelte possibili sono:
- always
- hourly
- daily
- weekly
- monthly
- yearly
- never
Penso ci sia poco da spiegare. Ma facciamo due esempi. La home page di OKNOtizie che tipologia di changefreq ha? Ovviamente always :)
Un articolo di questo blog scritto due anni fa? Verosimilmente never. L'home page del vostro blog? Beh, dipende con che frequenza postate, ma un daily potrebbe andare più che bene.
Fate attenzione, la direttiva non è un comando, ma un consiglio. Non avrete vantaggi ad impostare tutti i link con frequenze di modifica elevati. Anzi, ne otterrete uno svantaggio di posizionamento per contenuto archiviato (changefreq in never) e probabilmente una penalizzazione da google se per più volte il crawler ha fatto viaggi a vuoto cercando update in pagine che non modificate mai.
- priority: la priorità della pagina. Elemento anche questo facoltativo e da leggere come un consiglio, non come un comando. Il valore settabile è nell'intervallo compreso fra 0.0 e 1.0. Non settando l'elemento google utilizzerà il default impostato a 0.5.
Anche sulla priorità bisogna fare attenzione a non esagerare. Prima di tutto perchè è priorità relativa agli altri link contenuti nella sitemap. E' solo un confronto interno.
Capirete che settare tutti i link a priority 1.0, non solo non aiuta, ma risulta dannoso perchè nei fatti annulla il dato.
4 - Che file inserire nella sitemap?
Tutti :) Organizzandoli in modo coerente magari. Avete un blog? Bene, in alto io metterei il link alla home page con frequenza di aggiornamento giornaliera e priorità massima.
Priorità massima darei pure al feed principale. Google ama i feed (non solo perchè ha comprato feedburner) e li indicizza benissimo!
E via via a scalare quello che viene dopo. I link agli archivi mensili, i link agli archivi delle categorie, fino ai link dei singoli post.
5 - Limite dimensionale
Una sitemap non può essere più grande di 10MB e non può contenere più di 50.000 link. Per i nostri blog sono limiti molto elevati, ma per siti molto grandi il limite è facilmente raggiungibile.
Per ovviare alla cosa evitando di vedersi link in eccesso non indicizzati, google permette di caricare più sitemap di uno stesso sito. Ma in questo caso va utilizzato un file indice delle sitemap.
Anche questo in formato XML, ma magari ne parlo un'altra volta :)







