¿Cómo generar un archivo sitemap.xml para su sitio web dinámico?
Supongamos que tenemos un sitio web dinámico y los artículos se almacenan en una base de datos. Una tabla denominada artículos contiene todos los contenidos y los campos que necesitamos para generar nuestro sitemap.xml son article_id y date_last_mod.
article_id es el identificador del registro del artículo.
date_last_mod es la fecha del último artículo actualizado.
[php]
function get_site_map_content()
{
$xml = "";
$home = ‘http://mywebsite.com/’;
$xml .= ‘<?xml version="1.0" encoding="UTF-8"?>’."\r\n";
$xml .= ‘<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">’."\r\n";
$con = mysql_connect($server, $username, $password);
if($con) {
if(mysql_select_db($dbname)) {
$rslt = mysql_query(‘SELECT * FROM articles ORDER BY date_last_mod DESC’, $con);
if($rslt) {
$row = mysql_fetch_row($rslt);
if($row) {
// Home
$xml .= "\t<url>\r\n\t\t<loc>".$home."</loc>\r\n\t";
$xml .= "\t<lastmod>".$row[date_last_mod]."</lastmod>\r\n\t";
$xml .= "\t<changefreq>weekly</changefreq>\r\n\t";
$xml .= "\t0.8</priority>\r\n\t</url>\r\n";
// All of the articles
do {
$xml .= "\t<url>\r\n\t\t<loc>".$home."article.php?id=".$row[article_id]."</loc>\r\n\t";
$xml .= "\t<lastmod>".$row[date_last_mod]."</lastmod>\r\n\t</url>\r\n";
} while($row = mysql_fetch_row($rslt));
$xml .= "</urlset>\r\n";
}
}
}
mysql_close($con);
}
return $xml;
}
[/php]
Después de escribir la cabecera estándar sitemap.xml, lo primero que haremos es definir la última fecha de actualización de la página de inicio de nuestro sitio web a la fecha del más reciente artículo o post. A continuación, vamos a generar una entrada de mapa de sitio para cada artículo en la tabla artículos.
El código es tan sencillo y se puede editar de acuerdo a sus necesidades…
Para obtener más información, por favor lea esto