Tema: sitemaps XML
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 01/06/2009, 22:59
Avatar de elquique
elquique
 
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Respuesta: sitemaps XML

Yo lo haría desde la base, pero vamos primero a lo que quieres, para eso puedes usar alguna herramienta externa, que justamente hace lo que buscas, explorar los links y armar el sitemap.

Sinceramente de esas no probé ninguna :P, pero en las FAQs y en otros foros recomiendan esta: http://www.xml-sitemaps.com/

Si lo vas a hacer desde la base, y hiciste todo de la base, te vas a animar a hacerlo seguramente tu mismo, recuerda que es solo hacer echo de cada registro, no se tu estructura pero si tienes:

tabla articulos
id
titulo
url
fecha

puedes hacer un
Código:
$sql = "SELECT * FROM articulos";
$rst = mysql_query($sql);
while ($row = mysql_fetch_array($rst)) {
echo $row['url'] . "\r\n";
}
con eso logras una lista de tus URLs, si no las tienes generadas y almacenadas en la tabla, usa ahí un llamado a la función que uses para generarlas.

Pero de esa lista, que seguro la haz hecho muchas veces si programaste tu sitio en PHP, a un sitemap, el camino es bien corto. Si te fijas en: http://www.sitemaps.org/protocol.php el formato del sitemap, veras que lleva una cabecera y luego por cada url se repite el contenido de <url> ... </url> por tanto tu lista anterior la modificas y queda algo como:

Código:
$sql = "SELECT * FROM articulos";
$rst = mysql_query($sql);
while ($row = mysql_fetch_array($rst)) {
echo '<url>' . "\r\n";
echo '<loc>' . $row['url'] . '</loc>' . "\r\n";
echo '<lastmod>' . $row['fecha'] . '</lastmod>' . "\r\n";
echo '<changefreq>monthly</changefreq>' . "\r\n";
echo '<priority>0.8</priority>' . "\r\n";
echo '</url>' . "\r\n";
}
:)
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop