Instalar Google XML Sitemap Generator en Wordpress MU
Tras dos horas de búsqueda, observando mucho código – modificaciones profundas al pobre plugin y cosas como aplicar hacks a los fuentes del mismo Wordpress -, el IRC del Wordpress MU, las secciones de los módulos, otra hora ensayando algunos plugins alternativos… encontré la solución al problema de una manera sencilla. En un post en un foro y en dos sugerencias hechas por junsuijin en el IRC de freenode.net.
El problema
Comencemos por ahí, ¿cuál es el problema? El problema consiste en que el Google XML Sitemap Generator no produce una salida al cliente web, sino un archivo que será guardado en un directorio local (en el servidor). En un Wordpress convencional esto funciona de maravilla, ya que, por ejemplo, la siguiente dirección nuestroblog.com/sitemap.xml tiene una correspondencia real con la estructura de archivos /ruta/local/de/wordpress/sitemap.xml. En Wordpress MU, esto no es así. Una ruta como nuestroblog.com/blog2/sitemap.xml no se corresponde a un directorio real. Simplemente, /ruta/local/de/wordpressmu/blog2 no existe.
Crear el directorio funciona, pero… entonces romperemos la estructura del Wordpress MU, nuestroblog.com/blog2 ya no nos mostrará el blog como lo hacía antes. Ponernos a crear redireccionamientos, usar reglas de rewriting… es cambiar un problema por otro.
Las soluciones
Tenemos dos opciones. La primera, que es la que utilicé, consiste en colocar los archivos generados en otra ubicación. La segunda, en la que no puedo profundizar, ya que no la utilicé, consiste en crear un archivo dentro del tema empleado en el blog.
La primera nos da una solución que no es totalmente ideal, ya que no es tan elegante como cabe esperar, la segunda puede solucionarnos este problema, pero muy posiblemente, requerirá de bastante esfuerzo adicional y tendremos que hacerlo para cada tema en nuestro sitio.
La primera solución – archivos en otra ubicación
Podemos colocar los archivos en la raíz del sitio. Claro, tendremos que cambiarle el nombre o sino sobreescribiremos los archivos de la raíz. Algo como blog2_sitemap.xml puede ayudarnos lo suficiente.
Sin embargo, al mirar las herramientas para el webmaster de Google, podemos hacernos a la idea de que ellos esperan que el sitemap esté ubicado dentro de la dirección de cada sitio web. Entonces, la solución será colocarlo en el directorio local /ruta/al/wordpress/mu/wp-content/blogs.dir/<BLOG ID>/files/sitemap.xml, para que externamente se vea como nuestroblog.com/<NOMBRE DEL BLOG>/files/sitemap.xml. No se ve como esperaríamos, pero ya es un buen avance. Naturalmente tenemos que reemplazar <BLOG ID> y <NOMBRE DEL BLOG> por los valores que les corresponden.
La segunda solución – archivos en los temas
Aquí solo puedo dar algunas ideas, ya que no la he llevado a cabo.
Se me ocurre colocar un archivo .php que muestre el contenido de los archivos sitemap.xml y sitemap.xml.gz generados por el plugin.
En realidad, esta solo tiene sentido si se combina con la anterior, y sería solo una forma de hacer que se vea “bien” la url del archivo.
Se me ocurre que en su lugar puede usarse un rewriting, pero no lo realicé. Si alguien lo sugiere, lo colocaré en esta entrada o en una nueva.
Fuentes
junsuijin en el IRC de freenode: http://tyco.ws/.
Discusión acerca de Sitemap en los foros de Wordpress MU.

Comment from kzok
Time 2009.11.28 at 19:21
gracias por la solucion,sinceramente no sabia que hacer >__>. pero de ahi todo esta perfecto ^^