Sitemaps en WordPress

Los sitemaps, no son más que un estándar de datos, para informar a los buscadores de la información que tenemos en nuestros blogs, es decir, creamos un archivo "resumen" en nuestro blog, en un formato en el que Google, Yahoo y otros buscadores entienden perfectamente.

Ya hemos hablado de cómo crear los Sitemaps de Google, y los sitemaps de Yahoo en nuestro blog.

Sitemaps WordPress

Actualizado el 16/04/2007.

Para ello he modificado un script de php que ya existía, y que ahora podéis descargarlo aquí, en formato ZIP.

Descargar sitemap.zip
Descomprimir en local y saldrá sitemap.php
Subir sitemap.php a tu servidor, a la carpeta principal o raiz. Si has seguido los pasos de Blogs desde cero, usas el programa de FTP y en el servidor en la carpeta /public_html/ deberás dejar este archivo.

En este mismo momento nuestro blog ya usa el formato Sitemaps. Si vamos a www.nuestrodominio.com/sitemap.php (en vez de nuestrodominio.com visita el nombre de tu dominio 😉 ) veremos cómo dinámicamente, es decir, cada vez que se pide esa información nos genera unos datos en un formato de datos XML.

Eso si, sitemaps es un archivo XML, y los archivos XML suelen tener la extensión o terminación .xml y nuestro archivo es un php, y tiene terminación .php

En la práctica ese archivo tiene el mismo contenido que si se llamase .xml en vez de .php y es un XML bien formado, pero mejor si al césar lo que es del césar, y hacemos que se llame sitemap.xml

Para ello, nos descargamos el archivo .htaccess, que está en la raiz de nuestro servidor y lo modificamos por otro .htaccess con este contenido:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 RewriteRule ^sitemap.xml?$ ./sitemap.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Esa línea en negrita significa que si alguien pide sitemap.xml que se le sirva sitemap.php De esta manera solventamos nuestro problemilla. Parecerá .xml pero realmente es un .php

Para facilitar, os he colgado aquí el .htaccess:

.htaccess para sitemap (htaccess.zip)

Descargar htaccess.zip
Descomprimir en local y saldrá .htaccess Ojo, debe llevar un punto por delante.
Subir .htaccess a tu servidor, a la carpeta principal o raiz. Si has seguido los pasos de Blogs desde cero, usas el programa de FTP y en el servidor en la carpeta /public_html/ deberás dejar este archivo. Seguramente deberás sobreescribir el que ahí se encuentre.

Si vamos a www.nuestrodominio.com/sitemap.xml (en vez de nuestrodominio.com visita el nombre de tu dominio 😉 ) veremos cómo nos genera el sitemap.

Publicaré en breve cómo informar a Google y a Yahoo de que tenemos sitemap.

Este artículo se enmarca dentro de cómo hacer tu blog desde cero. Ahora deberemos informar a Google de la dirección de nuestro sitemap, a Yahoo, y a Ask, de dónde está nuestro Sitemap.

Más artículos de WordPress.

Technorati Tags: , , , , ,

18 pensamientos en “Sitemaps en WordPress

  1. txipi

    Galder, no sé qué me pasa con tu blog y bloglines que cada día me aparece como que hay artículos nuevos y son los de los últimos días una y otra vez. ¿Estás retocándolos o actualizándolos de alguna manera? 😕 ¿Quizá haces algún tipo de ping o similar?

  2. txipi

    Después de unos días de mirarlo bien, veo que es solamente este artículo, que sale una y otra vez en los feeds de Bloglines como si fuera nuevo. No sé qué tiene de especial. En un principio pensé que Bloglines lo consideraba nuevo si había algún comentario (cosa rara porque en el resto de blogs no pasa), pero viendo que tampoco es ese, me quedo con la mosca. ¿Hay algo en este post que se vaya cambiando todos los días un par de veces?

    Es una pena, porque vienes ilusionado a leer otro nuevo post y te encuentras con el p$%& post de Sitemaps 😀

    Siento ser tan tikismikis, pero estaría bien dar con el problema O:-)

  3. elisa

    Hola,

    He probado a poner el sitemap en mi blog tal y como explicas en tu artículo pero no me sale bien. He pensado que puede deberse a que mi blog no está en la página principal de mi site, sino en una carpeta llamada seo, es decir que la url de mi blog es: http://www.e-lisa.es/seo.

    Podrías explicarme cómo tengo que hacerlo,

    gracias!

  4. elisa

    Hola de nuevo,
    Parece que es una URL no válida para Google porque el sitemap ha de estar en el directorio raíz del dominio. Supongo que lo que habrá que hacer es eliminar el sitemap de la carpeta seo y dejar el existente en la raiz, en http://www.e-lisa.es.

    Pero ahora lo he puesto en la raiz y tampoco me va.

    He probado a quitar todos los archivos sitemap.php y los he vuelto a subir y nada, me da error. me dice:

    Warning: main(wp-blog-header.php) [function.main]: failed to open stream: No such file or directory in /home/elisa/public_html/sitemap.php on line 1

    Fatal error: main() [function.require]: Failed opening required ‘wp-blog-header.php’ (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/elisa/public_html/sitemap.php on line 1

  5. azuka

    Hola!

    Yo coloqué mi sitemap gracias a tu tuto, pero hay algo que he notado, yo modifico el htaccess, lo guardo, reviso y está bien. Pero a los dias cambia, es decir, lo que había modificado no está, es eso posible?

    Saludos! ^^

  6. Galder Autor

    Azuka me temo que el problema seguramente sea que estás dándole a subir el htaccess por FTP y realmente no se está subiendo. Bórralo y vuélvelo a subir.

    Suerte!

  7. Pingback: Google Sitemaps en Wordpress · galder.net

  8. Pingback: Pequeña modificación Sitemap.php · galder.net

  9. Samurai

    ¿que pudo pasar?

    Tenía WordPress instalado en un subdirectorio, así que ubiqué los archivos en el subdirectorio; al principio funcionó el sitemap.php sin problemas. Intenté el cambio a xml ubicando el .htaccess mencionado en el subdirectorio tal como dice arriba, y en lugar de funcionar, el WordPress me saltó a la web de la raíz… Decidí eliminar los cambios pero mi wordpress no volvió a funcionar, no me accede al home:

    ” Not Found
    The requested URL /blogs/miblog/ was not found on this server. ”

    …supongo que mi problema se debió a que mi WOrdpress estaba instalado en un subdirectorio y no en la carpeta raiz, pero estoy 100% seguro que dejé todo como estaba originalmente. ¿Qué pudo pasar? Cualquier ayuda gracias…, estaré visitando esta web :/

  10. Pingback: 16 cosas por hacer después de comenzar un nuevo blog en WordPress en rubendomfer

  11. Pingback: ¿Qué Hecer Luego de Instalar Nuestro Blog con WordPress?

  12. Eduard

    Hola amigos.

    Os pido ayuda para solventar un problema. He instalado el script para generar el sitemap pero me encuentro con que al intentar acceder a sitemap.xal me aparece este mensaje de error,

    El documento XML debe tener un elemento de nivel superior.

    Y no se ni por donde empezar. ¿podeis echarme una mano?.

    Saludos

  13. Galder Autor

    Hola Eduard:

    He ido a tu web/sitemap.php y veo el error. Comprueba por favor que lo que te está generando es claramente un XML y que es el XML que tiene que ser. Estás haciendo algo mal en el PHP pero nadie puede ver el código del PHP.

    Saludos

  14. Eduard

    Hola Galder, agradecido por la rapidez en la respuesta.
    El fichero php para generar el sitemap es este que creo modificaste tu.

    <?php echo ”; ?>

    always
    1.0

    get_results(“SELECT * FROM $wpdb->posts WHERE post_status = ‘publish’ AND post_date

    ID); ?>
    post_modified, false); ?>
    daily
    0.8

    Además y siguiendo las instrucciones, he modificado el .htaccess para que el resultado se presente como un xml.

    He intentado instalar el plugin de wordpress pero me da un error de memoria?? que no se como solucionar.

    Saludos

  15. Pingback: 16 cosas para hacer antes de empezar con Wordpress - ¿Que miras?

Deja un comentario

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