Sitemap XML dinamica da database
Produce una sitemap XML leggendo URL e date di modifica da una tabella.
Quando si usa
Quando il sito contiene articoli, prodotti o schede che cambiano spesso e una sitemap statica diventerebbe difficile da mantenere.
Perché si usa
Le nuove pagine vengono incluse automaticamente e lastmod aiuta i motori di ricerca a riconoscere gli aggiornamenti.
Vantaggi principali
- Soluzione riutilizzabile e adattabile
- Codice privo di dipendenze esterne
- Struttura commentabile e integrabile nel progetto
Anteprima del risultato
La sitemap dinamica genera un elenco XML di indirizzi da comunicare ai motori di ricerca.
<urlset>
<url><loc>https://www.sito.it/pagina.asp</loc></url>
</urlset>Codice completo
Studia il flusso prima di copiarlo e provalo in un ambiente separato. Adatta sempre nomi, selettori, percorsi e controlli al progetto reale.
<%
Response.Buffer=True
Response.ContentType="text/xml"
Response.CodePage=65001
Response.CharSet="utf-8"
Response.Write "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbCrLf
Response.Write "<urlset xmlns=""http://www.sitemaps.org/schemas/sitemap/0.9"">" & vbCrLf
Dim rs:Set rs=conn.Execute("SELECT ID, DataModifica FROM Articoli WHERE Pubblicato=True ORDER BY ID")
Do Until rs.EOF
Response.Write "<url><loc>https://www.esempio.it/articolo.asp?id=" & CLng(rs("ID")) & "</loc>"
If Not IsNull(rs("DataModifica")) Then Response.Write "<lastmod>" & Year(rs("DataModifica")) & "-" & Right("0" & Month(rs("DataModifica")),2) & "-" & Right("0" & Day(rs("DataModifica")),2) & "</lastmod>"
Response.Write "</url>" & vbCrLf
rs.MoveNext
Loop
Response.Write "</urlset>"
rs.Close:Set rs=Nothing
%>Da personalizzare: Dominio, percorso delle URL, query e campo della data di modifica.
Errore da evitare: Non stampare HTML, spazi o messaggi di errore prima della dichiarazione XML; esegui sempre l'escape delle URL contenenti caratteri speciali.