Aunque a salto de mata, porque hay otros asuntos que ahora mismo ocupan mi atención, sigo puliendo las aristas del proyecto de «Blog de aula para la exportación» [Atención: este sitio ya no existe]. Ahora mismo, una vez definida la estructura de contenidos y después de probar varias extensiones que añaden funciones especialmente apropiadas para un blog escolar (la última incorporación ha sido la del plugin Role Manager, que amplía hasta el infinito las posibilidades de administración de los roles y capacidades asignados a los usuarios), estoy haciendo pruebas con las funciones de importación y exportación de WordPress.
Hace ya algunos meses que describí la mecánica de uso y las posibilidades de esta función, el resultado de cuya puesta en práctica es un fichero con el formato WordPress eXtended RSS o WXR (en realidad un XML), que contiene todas las entradas, comentarios, campos personalizados, categorías y etiquetas. Desde aquel artículo he seguido investigando sobre el proceso de exportación e importación, y he hecho algunos descubrimientos muy interesantes, que paso a describir.
1. La exportación e importación de un blog grande con muchas entradas funciona bien tanto en instalaciones de WordPress monousuario como en alojamientos multiusuario basados en WordPress MU, por ejemplo el de WordPress.com. Véanse, a modo de ejemplo, los «clones» de La Bitácora del Tigre que he creado en dos instalaciones provisionales: «Nuevo blog para copiar», que reside en la misma cuenta de alojamiento que utiliza mi blog principal, y «Blog importado para el Tigre», creado al efecto en una cuenta nueva de WordPress.com [Atención: ambos sitios ya no existen].
2. Como saben los usuarios que han puesto en práctica esta técnica, la exportación e importación mediante el fichero WXR sólo es posible si el fichero de exportación tiene un tamaño máximo de 6 MB. Por su parte, si la importación del blog se realiza desde una cuenta de WordPress.com, el fichero está limitado a 3 MB., o al menos eso es lo que se afirma en el interfaz de administración de WPMU, en la opción Importar > WordPress. A la hora de la verdad, sin embargo, mi nueva cuenta en WordPress.com me ha permitido importar con éxito el fichero XML de La Bitácora del Tigre, que pesa 5,4 MB. y tiene la friolera de 52305 líneas (por cierto, para trastear con él utilizo una aplicación excelente: el editor Notepad++).
3. Aunque el proceso de exportación e importación funciona razonablemente bien (hay que tener paciencia en la fase de importación, pues el servidor invierte un buen rato en procesar el XML), no está exento de problemas, a saber:
- La vinculación entre los comentarios y las entradas a las que aquéllos están asociados se debilita. Aunque la relación entre unos y otras no se pierde, el nuevo WordPress no sabe contar el número de comentarios relacionados con cada entrada. Yo he resuelto el problema accediendo a las tablas de la aplicación, editando una entrada de prueba y cambiando el valor del campo comment_count, pero es evidente que semejante técnica supone un auténtico tormento cuando se trata de poner al día un blog con varios centenares de entradas.
- La numeración de los IDs de las entradas y los comentarios se altera en el proceso de importación (véanse, a este respecto, los comentarios al artículo Exporting-Importing A Category, del que me ocuparé más adelante). Esto no debería ser un problema (incluso puede ser ventajoso, porque la reordenación sirve para limpiar la base de datos), salvo que se utilice algún plugin cuyo funcionamiento implica los IDs antiguos de las entradas o/y los comentarios.
4. Si los resultados del proceso de exportación-importación de WordPress mediante el archivo WXR no resultan satisfactorios por los problemas antedichos (o por alguna otra circunstancia), siempre se puede acudir a una reinstalación de la aplicación mediante cualquiera de los diversos procedimientos de importación y exportación descritos con sumo detalle en Moving WordPress. Esta técnica, que en sus distintas variantes implica la realización de un backup de la base de datos, tiene, como casi todo en la vida, sus ventajas e inconvenientes:
- Ventaja principal: el blog resultante es un duplicado perfecto del original. Si va acompañado del traslado de todos los archivos de la aplicación (temas y plugins incluidos), el nuevo blog debería funcionar como una réplica exacta del anterior.
- Inconvenientes serios: el blog resultante mantiene toda la basura que se va acumulando en la tabla wp_options, así como las tablas generadas por los plugins que se hayan podido instalar a lo largo de la historia del blog. Este inconveniente se puede subsanar exportando sólo el contenido del blog (es decir, dejando fuera del backup de la base de datos la tabla wp_options y las posibles tablas creadas por los plugins) y reconfigurándolo minuciosamente en su nueva ubicación. Eso es lo que yo hice cuando me tocó migrar La Bitácora del Tigre, y el resultado fue plenamente satisfactorio.
5. Aunque por el momento el script de exportación de WordPress no permite exportaciones parciales (por algún sitio he leído que es probable que las próximas ediciones de la aplicación incluyan esta mejora), ya hay quien ha encontrado la manera de conseguirlo (véase, de nuevo, el artículo Exporting-Importing A Category). El truco consiste en crear un usuario provisional y hacerlo autor de las entradas que interese exportar (otro proceso laborioso, pero no hay gloria sin esfuerzo). A partir de ahí, todo es coser y cantar, pues el script de exportación permite seleccionar las entradas de un autor concreto.
6. También hay quien se las ha ingeniado para solventar el problema del tamaño del fichero WXR. El procedimiento, bastante laborioso, consiste en tomar el XML original y partirlo en pedazos, de forma que se pueda llevar a cabo una importación en pasos sucesivos. Yo no he puesto en práctica este truco porque no me ha hecho falta, pero habida cuenta de que dentro de no mucho tiempo el fichero de exportación de mi blog superará la frontera de los 6 MB., he anotado celosamente esta técnica, para cuando llegue la ocasión.
7. Los trucos descritos en los dos pasos anteriores no sólo sirven para solventar las limitaciones de los scripts de exportación e importación de WordPress. Siempre que se utilicen con cuidado y paciencia, constituyen un instrumento de indiscutible utilidad para partir un blog muy grande en otros más pequeños, o para combinar varios blogs pequeños en uno más grande.
Laia dice
Cuenta conmigo para la queja ante las administraciones para que reconozcan el trabajo en la red. Habría que empezar por un manifiesto y una propuesta de reconocimiento y recoger firmas, como un primer paso para que sepan que existimos
Carlos de la Fé dice
Hola… creo que al cambiarme de wordpress.org a host particular me pasó esto exactamente, porque, desde una determianda fecha (no sé por qué moirvo ésa y no otra), tanto en el panel de admin como en en el contador de comentarios al lado del ombre del post, aparce «0», aunque los comentarios siguen stando y son visilbles. Es esto lo que quieres decir?
…La vinculación entre los comentarios y las entradas a las que aquéllos están asociados se debilita. Aunque la relación entre unos y otras no se pierde, el nuevo WordPress no sabe contar el número de comentarios relacionados con cada entrada….
Y, si es así, es esta la solución que econtraste?
…Yo he resuelto el problema accediendo a las tablas de la aplicación, editando una entrada de prueba y cambiando el valor del campo comment_count, pero es evidente que semejante técnica supone un auténtico tormento cuando se trata de poner al día un blog con varios centenares de entradas….
Me lo explicas? No me entero en PHP…
RoninRojo dice
Muchas gracias por la info, me ha sido muy útil.
Saludos!
Eduardo Larequi dice
Para resolver el problema, Carlos, necesitas una herramienta que te permita acceder online a la base de datos de WordPress: por ejemplo, el PHPMyAdmin. Ve a la tabla wp_posts, fíjate en cualquier entrada que tenga comentarios y comprueba el campo comment_count. Si el valor de dicho campo es 0, tendrás que cambiarlo, y poner el número correspondiente al de comentarios de la entrada. A partir de este momento, WordPress ya sabrá contar correctamente los comentarios.
Me alegro de que te haya servido esta información, RoninRojo.
Carlos de la Fé dice
Gracias, Eduardo: dicho y hecho.
Pero es que, fíjate en la diferencia.. pedazo de tigre al lado del gatito ;)
Eduardo Larequi dice
Bueno, tan hermoso es un gato como un tigre. A mí me gustan todos los felinos, con independencia de su tamaño.
txolo dice
Hola!
Igual ya ni me contestas porque el post es antiguo, pero buscando información sobre la importación de blogs lo he encontrado. El caso es que estoy intentando importar/exportar de un blog a otro, hago todo el proceso pero luego no pasa nada, no aparecen las entradas. ¿Se supone que tarda un tiempo o qué?
Gracias
CESAR dice
HOLA A TODOS.. ACTUALEMTE MANEJO UN WEB BASADA EN WORDPRESS. MI RPREGUNTA ES COMO PASO ESA WEB EN WORDPRESS A WORDPRESS MU, SIN PERDER MIS POST COMENTARIO NI TAG. EL THEME PUEDA QUE NO SEA COMPATIBLE.. QUE SE PUEDE HACE AL RESPECTA TAMBIEN… SALUDOS !!
Eduardo Larequi dice
Lo que tienes que hacer, César, es lo siguiente: primero exportar tu web, desde Herramientas > Exportar, y luego importarla desde el nuevo blog de WordPress MU (Herramientas > Importar). Conservarás todas las entradas, los comentarios y las etiquetas, pero puede que algunas cosas (enlaces a imágenes, archivos, etc.) no se importen bien, por lo que siempre es necesario verificar el resultado de la importación. Si el blog es muy grande, el proceso puede ser muy largo y laborioso.