Sitemap Dinamico

Sitemap Dinamico

Como crear un sitemap dinámico, un feed dinámico, un javascript dinámico e incluso un css dinámico, que funcione y que sea aceptado por los navegadores y buscadores es muy fácil.

 

Antes de empezar a aprender como se hace un sitemap dinámico te recomiendes que visites el mejor tutorial/ejemplo en sitemaps que te puedes encontrar en la red http://www.google.es/sitemap.xml.

Fíjate bien, antes de llegar aquí seguro que has visto otros tutoriales incluso el de google que explica como hacer un buen sitemap, pero el tuyo contiene miles de páginas y se añaden diariamente más.

Y claro, poner una a una a mano es casi imposible, pero un sitemap tiene que pesar poco y el de google pesa muy poquito.

¿Donde están las siguientes etiquetas de sitemap en el de google?
<lastmod></lastmod>
<changefreq></changefreq>

Como puedes ver, hasta ellos optimizan en el sitemap, pues tu igual. Solo necesitas el loc y el priority, además fíjate que el priority va en decimales (miles).

Dicho esto vamos ha hacer un sitemap dinámico y con extensión xml para que así todos los bots nos los indexen. (Al 100% no te lo indexarán nunca, y eso no depende de como hagas el sitemap, sino de la diferencia entre el contenido, peso de la página, tiempo de carga, etc…)

  1. Estructura de un sitemap:

    Todo sitemap debe empezar con las siguientes etiquetas:
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
    y ser cerrado con
    </urlset>Entre la apertura del urlset y su cierre debes insertar las etiquetas loc y priority.

  2. Rellenar sitemap:

    Voy a usar una sentencia sql y asp ya que es con el código de programación que mejor me defiendo, pero es una simple consulta a una bds y un bucle while que imprime los resultados.
    Supongamos que tienes un apartado de ficha de clientes con una url parecida a /clientes-5.htm. Pongo htm en vez de asp ya que antes en .htacces habrás modificado la extensión del archivo para que parezca un htm, sino luego explicaré como hacerlo.
    <%set rs=SiteMap_STRING.Execute("Select id_cliente From clientes")
    do while not rs.EOF
    rs.movenext()
    response.write "<url>"
    response.write "<loc>http://www.tuweb/carpeta-si-existiera/clientes-"&rs("id_cliente")&".html"</loc>"
    response.write "<priority>Yo aquí uso una funcion random() para que no todos tengan la misma prioridad, pero también puedes ponerlo en si pagan a 0.800 y si no en 0.500, (No recomiendo que todo esté en 1.000)</priority>"
    response.write "</url>"
    Loop
    rs.close()
    set rs=Nothing%>

    Este archivo se llamará sitemap.asp y así lo subirás a tu servidor.
    ¡No se me ha olvidado! Ya se que dije un xml dinámico y no un sitemap.asp.

  3. Modificar extensión:
    Pues a abrir el .htacces. Si no tienes ninguna Rule creada, infórmate de como se hace en apache (si es tu caso) o en IIS.
    Yo uso el ISAPI REWRITE para mi servidor ya que es Xindows.
    Vamos a ello, ejemplo de un .htacces en IIS:
    # Helicon ISAPI_Rewrite configuration file
    # Version 3.1.0.50
    RewriteEngine on
    RewriteRule ^rss.xml? rss.asp [NC,LP,QSA]
    RewriteRule ^sitemap.xml? sitemap.asp [NC,LP,QSA] <-- Esta es la línea que os interesa
    RewriteRule ^javascript.js? javascript.asp [NC,LP,QSA]
    RewriteRule ^(estilos-i([^/]*).css? estilos.asp?id=$1 [NC,LP,QSA]
    RewriteRule ^estilos.css? estilos.asp [NC,LP,QSA]

He puesto otras líneas para que veáis diferentes ejemplos y así crear archivos en asp o php que se ahorren la cache y poder ponerlos en un subdominio sin el maldito cookieless.
Ahora accede a www.tuweb.com/sitemap.xml y verás que todo está bien.

Si te da algún error de parse, piensa que es codificación UTF-8 y que ni acentos ni ñ ni simbolitos se aceptan.
Piénsalo antes de crear una url que no será bien recibida por los bots.

Salu2.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *