Este lunes leí un interesantísimo artículo en Weblog Tools Collection titulado Reformatting WordPress, sobre migración del contenido de WordPress. Más exactamente, 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 WordPress. de forma nativa.
Es evidente que un procedimiento estándar de exportación e importación de un sitio web creado con WordPress resulta sumamente útil para una amplia variedad de situaciones y circunstancias:
- 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:
- 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.
- 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.
- 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.
- 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 tuviera que llevar a cabo 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.
Isidro Vidal dice
Hola Eduardo, yo también he realizado esta operación con mis blogs de aula. Quise «limpiarlos» a principio de curso para que los nuevos alumnos tuviesen el blog como nuevo. Cree otro blog con la incorporación de la exportación de tres blogs de WordPress. Me quedé maravillado de esta herramienta que te genera otro blog: categorías, enlaces, páginas estáticas, etc. He dejado dos blogs, uno de 1º y otro de 2º de ESO, como un cajón donde he importado todos los comentarios de dos y tres blogs respectivamente.
Saludos
Gustavo dice
Hola a todos ! ojala que me puedan ayudar ! tengo un error al intentar importar el archivo xml ; «Failed to write file to disk» ; pero ya active los permisoss… y nada ….!! por favor ayudenme!! :(;
Eduardo Larequi dice
Es un problema complicado, Gustavo, que puede tener varias causas. Te aconsejo que busques en los foros de WordPress. Concretamente, aquí (in inglés).
Gustavo dice
Hola de nuevo; encontre alguna info sobre ello me dice que desactive una opcion del php.ini pero donde rayos esta ese archivo no lo encuentro..
Les agradeceria si me ayudan a solucionar este problema . Muchas Gracias :)
Eduardo Larequi dice
El php.ini está en la configuración de tu proveedor de alojamiento. Tendrás que ponerte en contacto con la empresa que aloja tu blog, para exponerles el problema.
Si tienes el blog alojado en local, bajo Windows, el php.ini se encuentra en el directorio c:\windows.
juanlu dice
hola
necesito algo de ayuda he cambiado de hosting y de paso he actualizado mi version de wordpress a la 3.0
el caso es que no puedo inportar me da error desconocido
Eduardo Larequi dice
La mayoría de errores a la hora de importar o actualizar a WordPress 3.0 tienen que ver con la falta de memoria del servidor. Tienes más información al respecto aquí.
javi dice
Buenos días :)
He leido con atención y me ha parecido muy interesante el artículo. Me estoy preguntando, (que era mi búsqueda original cuando he llegado aquí…) si existirá alguna forma ‘sencilla’ de lograr lo ‘contrario’, es decir, a partir de un blog online ajeno, cuya estructura y organización nos guste, crear un propio, con todo el contenido completamente diferente, no se si me explico. Si tenéis experiencia, o simplemente pensáis que estoy loco :D por favor, decidme!
Atentamente!
JAvi :)
Eduardo Larequi dice
Que yo sepa, Javi, lo que quieres no es posible de manera sencilla. Si el blog que te gusta tiene un tema gratuito, siempre lo puedes descargar y copiar las hojas de estilo del blog que quieres «imitar». Pero el proceso para llegar a los mismos resultados puede ser muy complejo.