Sitemap dinamico
11/01/2012Il sitemap è un file XML in cui sono elencati tutti gli URL delle pagine di un sito Web, e viene utilizzato dai motori di ricerca per l'indicizzazione dei contenuti. Anche i siti dinamici attraverso il sitemap possono fornire URL corretti che permettono una indicizzazione intelligente ed aggiornata dei contenuti.
Come fare allora per produrre un file xml sempre aggiornato rispetto ai nuovi post senza dover manualmente ogni volta ricostruire il sitemap?
Semplice, prima di tutto costruiamo un file php che estrae dalla tabella del nostro database tutti gli articoli presenti e con un loop estraiamo i dati necessari (url e data) a costruire il file sitemap in formato xml corretto.
Il formato di riferimento lo trovate qui, sinteticamente è questo (sostituire le parentesi quadre con le angolari)
<url>
<loc>https://www.disign.it/javascript-intercettare-il-blocco-maiuscolo-attivato-307-46-1.html</loc>
<lastmod>2012-01-09</lastmod>
</url>
quindi nel nodo url sono indicati
loc = The location URI of a document. The URI must conform to RFC 2396 (https://www.ietf.org/rfc/rfc2396.txt)
lastmod = The date the document was last modified. The date must conform to the W3C DATETIME format (https://www.w3.org/TR/NOTE-datetime).
Costruito il loop ad ogni chiamata il file php costruirà un xml aggiornato.
Non rimane dunque che associare al nome sitemap.xml il caricamento del nostro file php, e lo facciamo applicando una regola di mod rewrite (operando sul file .htaccess come spiegato qui) che reindirizza le chiamate del file sitemap.xml sul nostro file php
RewriteRule ^sitemap.xml ./mappa.php [L,QSA]