Tal como auguraba al final de mi artículo del domingo, he aprovechado la coyuntura de la actualización fracasada a WordPress 2.5.1 para hacer una instalación limpia de la nueva versión e incluir en ella el contenido ya existente en la bitácora. Armado de paciencia y del procedimiento de exportación-importación que he descrito en varios artículos (el último el titulado Más sobre la exportación e importación de blogs en WordPress), me he lanzado a la tarea de ventilar el blog y deshacerme de la materia muerta y las excrecencias acumuladas en sus tres años de existencia. El procedimiento que he seguido consta de los siguientes pasos:

1. Exportar el contenido del blog original. El resultado es un fichero XML, con el formato WordPress eXtended RSS (RSS ampliado de WordPress) o WXR, que contiene todas las entradas, comentarios, campos personalizados, categorías y etiquetas del blog.

2. Exportar los enlaces del blogroll a un fichero XML. Los interesados en saber cómo hacerlo pueden consultar el artículo De WordPress a WordPress y tiro porque me toca.

3. Crear una nueva base de datos, subir a un directorio provisional todos los archivos de WordPress 2.5.1 y proceder a una instalación limpia contra dicha base de datos. Con ello se asegura que la base de datos con la que se va a trabajar mantiene la codificación y cotejamiento adecuados (UTF, por defecto) y se consigue una tabla wp_options tan limpia como resulta humanamente posible.

4. Importar el fichero XML de contenido desde el nuevo blog. Téngase en cuenta que, al hacerlo, todos los IDs de entradas, comentarios, categorías y etiquetas se reordenan. En la mayoría de los casos esto no tiene mucha importancia (de hecho, es ventajoso), pero puede afectar al resultado de ciertos plugins o widgets.

5. Importar el fichero XML con los enlaces del blogroll desde el nuevo blog. Conviene saber que, tras efectuar la importación, hay que recategorizar los enlaces, es decir, adscribirlos a las categorías correspondientes. Mi blog tenía unos sesenta enlaces, así que no me costó mucho; quien tenga doscientos, ya sabe lo que le espera.

6. Añadir todos los plugins necesarios (más de veinte, en mi caso) y configurarlos adecuadamente. Esta es una tarea larga y tediosa que hay que realizar con cuidado y atención, porque no sólo se trata de subir, activar y configurar los complementos, sino de integrarlos correctamente en la plantilla del blog y en sus barras laterales (he aprovechado para actualizar la plantilla e instalar la versión 2.0.5 del tema Tarski; por cierto, mientras escribía estas líneas me he enterado de la publicación de la versión 2.1, que tendré que examinar a fondo, pues trae novedades muy interesantes). En todo caso, la revisión de plugins y plantillas constituye una oportunidad estupenda para replantearse qué extensiones son auténticamente necesarias, y de cuáles se puede prescindir. En mi caso, la actualización a WordPress 2.5.1 me ha permitido librarme de varios plugins que ya no son necesarios o que son incompatibles con la nueva versión de la aplicación.

7. Comprobar exhaustivamente la funcionalidad del nuevo blog. Para ello he navegado una y otra vez por el frontend y el backend como usuario administrativo y como usuario no registrado y me he esforzado en escudriñar con lupa todos los escondrijos de la bitácora. A pesar de mis esfuerzos, seguro que se me ha pasado algún rinconcito por alto. Si alguien lo descubre, le agradeceré que me avise.

8. Borrar los archivos y directorios del blog antiguo y mover el nuevo blog desde su directorio provisional a la ubicación definitiva. Atención: este es un paso absolutamente esencial, que hay que planificar y realizar con todo el cuidado del mundo, porque si se comete algún fallo puede dar al traste con el proceso de migración. En mi caso, el movimiento de archivos es más fácil que en una instalación estándar de WordPress, porque yo alojo todos mis documentos e imágenes fuera del directorio /wp-content, y no utilizo nunca el sistema integrado de subida de archivos de la aplicación.

9. Mediante el PHPMyAdmin, modificar los valores de la tabla wp_options que apuntan a la dirección provisional (por ejemplo, http://www.labitacoradeltigre.com/nuevo), de forma que apunten a la antigua (http://www.labitacoradeltigre.com). Esto afecta a dos registros de la citada tabla, siteurl y home.

10. Entrar en el interfaz de administración del blog y regenerar la estructura de enlaces permanentes o permalinks. En este paso me he quedado atascado durante un buen rato, porque el nuevo .htaccess no funcionaba, hasta que me he dado cuenta de que el antiguo tenía una línea adicional para permitir que las reglas de redirección de WordPress actuaran en mi cuenta de alojamiento. Ha sido añadir esa línea, actualizar el navegador, y listo.

Este procedimiento, sin duda laborioso, tiene algunas ventajas indiscutibles. Para empezar, permite conservar todo el contenido del blog y, en cierta manera, ordenarlo y “comprimirlo” en nuevas tablas, de un tamaño algo menor que las anteriores y por tanto más funcionales. En segundo lugar, la reinstalación del blog permite limpiar la tabla wp_options, que en un blog de tamaño medio puede llegar a acumular con el tiempo miles de registros inservibles. Por último, la nueva instalación aprovecha todas las funcionalidades de la última versión de WordPress. De todas ellas, la que más me ha gustado ha sido la actualización automática de plugins, que funciona con singular eficacia en aquellas extensiones que están preparadas para ello.

No obstante, la reinstalación seguida de la importación del contenido del blog antiguo no está libre de problemas. Por ejemplo, tal como señalé en Más sobre la exportación e importación de blogs en WordPress, la importación no conserva los valores adecuados en el campo comment_count de la tabla wp_posts; yo creía que este fallo afectaba a todas las entradas, pero me he dado cuenta de que no es así. Por alguna razón que no consigo comprender, algunas entradas conservan la información correcta sobre el número de comentarios asociados, pero otras no. Una consulta SQL a mi base de datos me ha permitido saber que sólo tengo que retocar manualmente un par de cientos de entradas (lo iré haciendo en los próximos días), lo que no deja de ser un magro consuelo. Por otra parte, la reordenación de los IDs de distintas tablas (entradas, comentarios, etiquetas, categorías) afecta, como ya he dicho, a los plugins y widgets que identifican esos elementos a partir de sus identificadores. En mi caso, no he visto ningún plugin afectado, pero sí varios widgets programados “a mano”, cuyo código me he visto obligado a retocar.

Ahora mismo, y tras un arduo trabajo de fin de semana, La Bitácora del Tigre es funcional al menos en un noventa por ciento. Me quedan, no obstante, algunas tareas que habré de completar en los próximos días, a saber:

  • Instalar ciertos plugins. Entre ellos, FAlbum, que era el que permitía acceder desde el blog a las fotos de mi cuenta de Flickr, pues no sé todavía si es compatible con WordPress 2.5.1 y la versión 2.1 de Tarski. Tampoco he instalado el plugin Organize Series, que aunque sea compatible con la nueva versión de la aplicación modifica la estructura de la base de datos, razón por la cual he preferido aplazar su instalación.
  • Buscar un nuevo repositorio multimedia para los archivos de audio que hasta la fecha formaban parte esencial de la sección de podcasts. Al comprobar algunos artículos de esta sección me he dado cuenta de que los MP3s, hasta la fecha alojados en MediaMax, eran inaccesibles. Al parecer, este servicio ha desaparecido o se ha transmutado en otro, de fiabilidad dudosa. Mientras la compruebo y, por si acaso, voy buscando otro alojamiento, lamento decir que la sección de podcasts se quedará sin la música que era su auténtica razón de ser. Vayan por delante mis disculpas a los aficionados a la música de cine.
  • Revisar entradas, a la caza y captura de gazapos de estilo, caracteres erróneos sobrevivientes a los últimos avatares del blog y otros pequeños fallos.

Addenda del 24-V-2008

Tras la reinstalación y limpieza del blog he hecho algunos cambios. El más importante, la sustitución del plugin FAlbum por Slickr Gallery, una extensión más sencilla de administrar y menos exigente en términos de ocupación de la base de datos, pues la caché de las páginas visitadas se realiza sobre uno de los subdirectorios de instalación del plugin.

Aunque con otra técnica y mayor despliegue de efectos en AJAX, el nuevo plugin hace, más o menos, lo mismo que el antiguo: integrar las galerías de fotografías de una cuenta en Flickr con la página de fotos del blog.

Addenda del 30-V-2008

He actualizado el plugin WP-PostViews a la versión 1.30. Además, he reseteado el contador de visitas para que empiece por 0, porque en las últimas semanas había notado algunas incongruencias bastante alarmantes en las cifras de visitas. Con la nueva versión, pueden excluirse los impactos del administrador del blogs y de los robots de búsqueda, lo cual contribuye a tener una visión más ajustada a la realidad.