Esta mañana, a solicitud de un compañero que quería mostrar una versión de su blog en una ubicación en la que no dispone de conexión a Internet (no me ha dado más detalles del caso, ni tampoco yo se los he pedido), he estado investigando sobre las diferentes soluciones que permiten obtener dicho objetivo. Las expondré a continuación, de forma más bien sumaria, porque existen muchísimas variaciones, permutaciones y combinaciones a partir de los tres grandes grupos de opciones posibles.
1. Generar una versión documental del blog
La operación consiste en volcar el contenido de un blog a un formato documental –normalmente PDF– que pueda leerse sin conexión a Internet. Es obvio que tal solución sólo es aconsejable si no importa perder la interactividad del blog, su estructura de navegación y la disposición original de sus entradas, páginas, categorías, etiquetas, etc. En un artículo del pasado 22 de noviembre, titulado Hélice 12 y otros documentos en PDF, ya consideré algunas aplicaciones que podrían ser adecuadas para este propósito, pero esta mañana he descubierto, a partir de una consulta a los foros de WordPress, un servicio muy interesante. Se trata de BlogBooker, un servicio online cuyo rasgo característico es que opera a partir de los ficheros de exportación generados por Blogger, LiveJournal y WordPress.
Y la verdad es que lo hace bastante bien, si he de juzgar a partir de mi propia experiencia, pues BlogBooker ha sido capaz de lidiar con el fichero de exportación de La Bitácora del Tigre, un monstruo de casi 10 MB. de texto plano y más de 116.000 líneas, cuyo resultado es un monumental PDF de nada menos que 1599 páginas, con paginación, índices, ilustraciones, comentarios e hipervínculos perfectamente funcionales, que tendré bien a mano para futuras contingencias. Evidentemente, no todo es perfecto en el mundo de las aplicaciones gratuitas –la maquetación y la forma de resolver el asunto de los enlaces incrustados, por poner dos ejemplos, distan mucho del óptimo deseable-, pero el producto final es del todo presentable.
Hay que tener en cuenta, además, que la solución ingeniada por BlogBooker tiene otra virtud muy aprovechable, y es el hecho de que, al estar basada en un fichero de exportación, cabe utilizarla para generar PDFs basados en cualquiera de los múltiples criterios que se pueden seleccionar para exportar un blog de WordPress. Es decir, se puede crear un PDF basado en autores, plazos cronológicos, tipo de contenido o estado de publicación, categorías, etiquetas, etc. Yo he probado a crear una versión documental de la sección de libros de La Bitácora del Tigre, mediante el plugin Advanced Export for WP & WPMU, y el resultado es tan bueno que estoy pensando en utilizarlo como carta de presentación para abrirme paso en el negocio editorial (es broma, porque no están los tiempos como para privarse de la condición de funcionario, por mucho descuento salarial que se nos venga encima).
2. Descargar una versión navegable del blog mediante un capturador web
Los capturadores o web rippers (literalmente, ‘destripadores de webs’) son programas que se conectan a un sitio de Internet, lo leen y lo escriben a un soporte de almacenamiento, en forma de archivos estáticos. Existen multitud de aplicaciones que, de un modo u otro, encajan en esta definición (véase, por ejemplo, el epígrafe correspondiente en Softonic), y sus dos mayores ventajas son, en primer lugar, que resultan relativamente fáciles de utilizar, y en segundo lugar que permiten obtener una copia navegable del sitio, que se puede ejecutar localmente en un navegador sin conexión a Internet. Ahora bien, conviene tener en cuenta que la mayoría de esas aplicaciones dejan ciertos elementos fuera de su alcance, bien sean imágenes, determinados archivos multimedia o ciertas funcionalidades que no se pueden capturar. Por otra parte, para sitios grandes y de estructura compleja, la definición del nivel de profundidad al que debe llegar la extracción del sitio puede resultar bastante complicada.
Yo he experimentado con diversos capturadores web en más de una ocasión, normalmente para hacer pruebas (es decir, sin una necesidad real de utilizar las capturas en un contexto en el que la conexión a Internet fuera imposible) y los resultados nunca han sido los apetecidos. La última vez que lo intenté con mi blog y uno de los programas más conocidos , HTTrack (una aplicación gratuita y multiplataforma, que tiene versiones para Windows y para varias distribuciones de Linux), el web ripper entró en una especie de bucle infinito, hasta que, después de más de diez horas de descarga y tras haber volcado al ordenador más de ¡4 GB. de datos!, tuve que detener el proceso.
En una prueba más reciente, realizada para la redacción de este artículo, y limitada a la ya citada categoría de ‘Libros’ de La Bitácora del Tigre, el HTTrack ha conseguido descargar los archivos correspondientes a dicha sección en algo menos de 16 minutos y con un peso de casi 22 MB., lo cual parece más razonable. Sin embargo, una vez ejecutado el sitio en el navegador local, he podido comprobar que los enlaces que remiten a los artículos de dicha función no envían al sitio almacenado en mi disco duro, sino a las URLs originales, por lo que la descarga carece de utilidad para los objetivos pretendidos. Probablemente este defecto no sea achacable a limitaciones intrínsecas en la funcionalidad del capturador web (a ningún programa se le pueden poner imposibles), pero sí pone de relieve las limitaciones inherentes a esta clase de aplicaciones, que fallan cuando se enfrentan a sitios con una estructura hipertextual tan densa y compleja como un blog realizado con WordPress.
3. Crear una copia exacta del blog mediante un servidor web ejecutable en local
Esta es la opción más satisfactoria desde un punto de vista técnico, porque el resultado final puede ser un clon prácticamente exacto del blog original. Por el contrario, también es la más difícil de conseguir, porque exige la instalación de un servidor web (normalmente mediante un paquete preparado al efecto, como AppServer, EasyPHP, WampServer o XAMPP para Windows, o MAMP y XAMPP para Mac OS X, y no menciono las alternativas para Linux porque muchas distribuciones ya integran, aunque no las tengan activadas, las tres aplicaciones esenciales que forman parte de estos paquetes, es decir, el servidor Apache, el lenguaje de programación PHP y la base de datos MySQL), que ejecute exactamente la misma instalación y configuración del blog original, con sus mismas plantillas y extensiones, y por supuesto con un conjunto de datos idéntico. Si se dispone de los conocimientos para instalar y ejecutar en local un servidor web con los servicios anexos, (dependiendo de la complejidad del paquete, pueden incluir, además, un servidor FTP, un servidor de correo, etc.), es perfectamente factible obtener un blog con un porcentaje altísimo de funcionalidad y fidelidad al original.
Una rápida búsqueda por Internet permite encontrar una auténtica montaña de tutoriales sobre esta técnica, pero para no aburrir a mis lectores sólo ofreceré un puñado de referencias:
- Como instalar WordPress en tu computadora para tener una copia de prueba de tu blog: un tutorial muy completo, que explica todas las fases esenciales del proceso, basado en MAMP para Mac OS X.
- Documentación de XAMPP, que incluye varios completísimos tutoriales (en inglés).
- Using XAMPP for Local WordPress Theme Development: un tutorial auténticamente colosal sobre el desarrollo de plantillas para WordPress a partir de una instalación de XAMPP. Gran parte de lo que en este documento se explica es aprovechable para los propósitos del presente artículo (en inglés).
- WordPress instalado en modo local bajo Ubuntu (Instalando Lamp II). Excelente tutorial sobre la instalación de WordPress en la distribución Ubuntu. El documento es parte de una serie de tres artículos en los que se trata la instalación de Apache-PHP-MySQL (el primero de la serie) y la instalación de Joomla en Ubuntu (el tercero).
- WordPress sobre XAMPP: aunque hay cientos de tutoriales parecidos a éste, lo he escogido porque trata de la instalación de la aplicación sobre Windows 7, y por tanto está bastante actualizado.
Una ventaja adicional de este tipo de soluciones, muy utilizadas por los profesionales de la creación de sitios web, es que permiten montar sitios de desarrollo en los que hacer pruebas y experimentos, y someter al blog a todos los tormentos imaginables, que serían del todo imprudentes en un sitio en producción. Se puede tener en un servidor local una copia sincronizada del blog original y experimentar sobre ella todos los ajustes que se consideren necesarios; sólo una vez que éstos hayan sido afinados y probados a plena satisfacción, el resultado se sube, mediante diversos procedimientos, al servidor de producción.
Por último, las instalaciones de un blog en servidor local tienen otra ventaja, y es que existen paquetes específicamente preparados para ejecutar el servidor web en un dispositivo portátil,como MoWeS Portable, diseñado para funcionar en llaves USB, o Server2Go, para unidades de CD o DVD (también XAMPP y algún otro de los paquetes ya mencionados pueden ser ejecutados en sus denominadas “versiones portables”, tal como expliqué, hace ya bastante tiempo en el artículo WordPress en un pincho). Estas versiones especializadas de los empaquetamientos de la tríada mágica –Apache, PHP y MySQL- son muy adecuadas para aquellos casos en que el objetivo es proporcionar una distribución autoejecutable de un sitio web dinámico, sea un blog, un portal, un LCMS, etc.
En todo caso, nunca hay que olvidarse de la condición esencial de la que hemos partido al comenzar este artículo, es decir, de la falta de conexión a Internet. Si carecemos de ella y nuestra bitácora llama a una imagen, a un vídeo o a un archivo de audio que se halle en otro servidor distinto al que se está ejecutando en local –y esto es muy frecuente en todos los sitios web que aprovechan la enorme variedad de servicios de la Web 2.0, y prácticamente no hay blog que no lo haga-, la funcionalidad asociada a dichos elementos será imposible. Por otra parte, sólo se puede obtener un clon exacto de un blog (de cualquier sitio web, en realidad, sea estático o dinámico) cuando se dispone de todos sus elementos de instalación. Dicho en otros términos: no se puede ejecutar en local un blog de WordPress.com (o, por referirme al caso con el que he empezando este artículo, de la plataforma Multiblog) con todas sus funcionalidades asociadas, porque es imposible recuperar de los servidores de dichos servicios todos los elementos que se la proporcionan. Lo mismo ocurre con un blog de Blogger: éste será exportable a local o a otra plataforma, servicio o aplicación gestora de blogs, pero no se podrá reproducir la instalación original, ya que depende de elementos imposibles de reproducir.
Massimo Pennesi dice
Muchas gracias por este estupendo y completísimo artículo, Eduardo.
Ya he estado trasteando con el BlogBooker, ahora mismo lo haré con otras de las herramientas que presentas.
La clonación offline la usaré dentro de poco, cuando salga WP3, para experimentar en el disco duro antes de actualizar la versión online.
Un saludo
Eduardo Larequi dice
Gracias a ti, Massimo, por estar tan atento. Ahora mismo estoy documentándome para un posible artículo, complementario de éste, sobre la exportación de un blog de WordPress al formato epub, propio de los libros digitales.