Este lunes leí un interesantísimo artículo en Weblog Tools Collection titulado Reformatting WordPress, sobre la posibilidad de generar un blog totalmente nuevo (pero con el contenido de uno anterior, es decir, las entradas con sus categorías, las páginas estáticas, los comentarios y las etiquetas), utilizando para ello las funciones de exportar e importar contenido que incorpora de serie WordPress. La utilidad de este procedimiento es indiscutible para una amplia variedad de circunstancias que pueden darse en el acontecer bloguero:

  • La migración de un blog desde un proveedor de alojamiento a otro, así como el traslado de un blog desde un directorio o un subdominio a otro, o de una intranet a otra.
  • El traslado de un blog elaborado con WPMU a la versión de instalación singular de WordPress y viceversa. Yo he probado la primera de ambas técnicas, y puedo asegurar que funciona perfectamente. Ahora bien, hay que tener en cuenta que cada uno de los blogs alojados en WPMU debe exportarse individualmente; el procedimiento que se describe en este artículo no sirve para migrar toda una plataforma de blogs montada sobre WordPress multiusuario.
  • La refacción de un blog, por ejemplo cuando éste comienza a acusar fallos de rendimiento o exceso de complementos.
  • La reconstrucción de un blog dañado o hackeado (siempre que se cuente, claro está, con un archivo de copia de seguridad a partir del cual se pueda realizar la construcción).
  • La partición de un blog muy grande en varios blogs diferentes.
  • La recombinación de varios blogs en uno solo (véase, por ejemplo, el testimonio que ofrece Isidro Vidal en el primer comentario a esta entrada).
  • La elaboración de una estructura de categorías y páginas fijas que pueda servir como plantilla para crear sucesivos blogs, o blogs con una determinada disposición: portal de un centro, web para un proyecto didáctico, una revista escolar, etc.

Movido por la curiosidad (pero también por el interés), he seguido las indicaciones de Jeffro2pt0 y he procedido a una prueba de exportación del contenido de La Bitácora del Tigre a mi blog para experimentos. El proceso, bastante fácil de llevar a cabo, consta de los siguientes pasos:

  1. Generar un archivo de exportación del blog origen (llamémosle “blog A”). Esto se lleva a cabo desde Administrar > Exportar. Desde esta pantalla, se puede elegir exportar todo el contenido o seleccionar el correspondiente a alguno de los autores del blog. El resultado, que puede tardar unos minutos, es un fichero XML especial (WordPress eXtended RSS, es decir, ‘RSS ampliado de WordPress’ o WXR), en el cual se integran todas las entradas, comentarios, campos personalizados y categorías del blog. El exportador de WordPress no dice nada más, pero como bien apunta Jeffro2pt0 (y yo he confirmado), también se exportan las etiquetas.
  2. Importar el archivo XML desde el blog destino (llamémosle “blog B”). Esta acción se lleva a cabo desde Administrar > Importar. En esta pantalla aparecen todos los scripts de importación disponibles; hay que escoger el último, WordPress. Antes de proceder a la tarea, debe tenerse en cuenta una advertencia muy importante: el script de importación de la última versión estable de WordPress, la 2.3.3, contiene un bug que genera problemas con las etiquetas; el bug ya se ha resuelto, pero no se añadirá a la aplicación hasta la versión 2.5. No obstante, se puede descargar el archivo wordpress.php y copiarlo en el directorio /wp-admin/import, sobrescribiendo el ya existente. Una vez actualizado el script, se elige el archivo de importación mediante el botón Examinar y a continuación se pulsa en el botón Subir archivo e importar. Hay que tener en cuenta que sólo se pueden importar archivos inferiores a 6 MB. (he tenido bastante suerte, porque el mío ocupa 5,2 MB.). También conviene saber que el proceso es lento; mi línea ADSL de 3 MB. funciona muy bien, y aun así ha tardado lo suyo.
  3. Una vez completada la carga del script, la aplicación pregunta a qué usuario deben adjudicarse las entradas importadas. Para cada uno de los autores del blog A, se ofrecen dos posibilidades: asociarlo con un autor del blog B ya existente, o crear un autor nuevo.
  4. A partir de aquí, el script de importación hace su trabajo por sí solo: poco a poco se van creando las entradas y páginas, dentro de sus respectivas categorías y junto a los comentarios y etiquetas asociadas a ellas.

El resultado del proceso de exportación-importación de La Bitácora del Tigre, con sus más de 460 entradas y casi 1800 comentarios, puede comprobarse en mi blog para pruebas, titulado Experimentos con WordPress. Conviene que los visitantes sepan que sólo lo mantendré durante unos días, porque no quiero que Google me lo indexe y provoque resultados duplicados. Además, deben tener en cuenta que el blog experimental no es un clon perfecto de La Bitácora del Tigre (por ejemplo, he eliminado muchas páginas fijas que llamaban a plugins inexistentes, y que por tanto no funcionaban), pero sí una prueba de que la técnica descrita en esta entrada funciona perfectamente.

Si fuera a realizar una migración o reconstrucción real del blog, sería necesario poner en práctica algunas tareas adicionales:

  • Instalar en el nuevo blog o en el blog migrado los plugins existentes en el anterior, o al menos los que fueran necesarios. En la entrada de Jeffro2pt0 y en los subsiguientes comentarios se hacen algunas interesantes observaciones a este respecto
  • Recuperar el blogroll, mediante una técnica de exportación-importación semejante a la ya descrita. A tal efecto, cualquier usuario de WordPress puede generar un archivo OPML con los enlaces de su blog A, apuntando a la siguiente URL: http://dominio_de_que_se_trate/wp-links-opml.php. Posteriormente puede importarlos al blog B desde Enlaces > Importar enlaces. Incluso se puede agilizar el proceso, apuntando directamente desde Enlaces > Importar enlaces a la URL citada.
  • Ajustar las entradas del blog B a las características de la plantilla escogida para dicho blog. Si las entradas del blog A han sido juiciosamente formateadas, este proceso no debería ser más fatigoso de lo necesario. Ahora bien, si las entradas del blog original contaban con estilos de formato o etiquetas poco meditadas, el proceso de ajuste puede convertirse en una experiencia sumamente desagradable. Yo no he repasado todo mi blog experimental (ni ganas), pero al ver las diez o doce primeras entradas he comprobado con suma satisfacción que los estilos de imágenes definidos en el tema de mi blog A se comportan muy bien en el blog B. No estoy en condiciones de asegurar que no haya gazapos y entradas mal formateadas, pero estoy casi seguro de que no serán muy abundantes.

Un par de observaciones finales: la primera es una viva exhortación a los colegas de afición que utilizan WordPress y disponen de alojamientos propios con suficiente capacidad y recursos, para que experimenten esta técnica y compartan sus resultados. Creo que el intento merece la pena, porque es muy posible que el bloguero o la bloguera impenitente y contumaz haya de ponerlo en práctica en más de una ocasión.

La segunda viene motivada por uno de los comentarios a la entrada de Jeffro2pt0, en la que se señala (traduzco del inglés): “migrar de Joomla a WordPress fue increíblemente fácil para nosotros en PhoneNews.com. Sólo lamento no haber llevado a cabo el proceso seis meses antes”. He de investigar este asunto, pues como ya expuse en WordPress como CMS (1), es muy probable que acabe trasladando Lengua en Secundaria desde Joomla a mi gestor de contenidos favorito. Si finalmente me decido (estoy en ello, haciendo probatinas de forma muy discreta), preferiría no tener que acudir al viejo truco del copia-y-pega.