En la entrada sobre La actualización de La Bitácora del Tigre a la versión 2.6 de WordPress expuse, de forma un tanto apresurada (pues al día siguiente me iba de vacaciones), algunas de las novedades de esta última edición. Entre ellas, la posibilidad de guardar las revisiones de una entrada, una función muy útil cuando se trata de volver atrás en el proceso de edición de una entrada, pero que para la mayoría de blogs, que sólo tienen un autor y un proceso de edición lineal, carece de interés.

De interés y de rentabilidad, cabe añadir, porque las sucesivas versiones de una entrada las guarda WordPress como registros adicionales en varias tablas: no sólo wp_posts, como cabría esperar, sino también wp_postmeta, donde se alojan todos los metadatos de las sucesivas instancias, y wp_term_relationships, a la cual van a parar los datos de clasificación temática y etiquetado semántico de la entrada original y sus revisiones.

En suma, una gran cantidad de basura innecesaria y perfectamente prescindible para la mayoría de los blogs y sus autores. Para librarse de ella hay que hacer dos cosas: en primer lugar, añadir al archivo wp-config.php una línea que deshabilita la función de revisión, a saber:

[php light=”true”]define(‘WP_POST_REVISIONS’, false);[/php]

En segundo lugar, hay que limpiar la base de datos de las entradas innecesarias en las tres tablas antedichas. El procedimiento implica un cierto conocimiento de las operaciones en MySQL (siempre conviene hacer una copia de seguridad de la base de datos antes de toquitearla), pero siguiendo las instrucciones que proporcionan Lester Chan y Andrei Neculau en sus respectivos blogs (en inglés), no debiera haber problemas para conseguirlo.

En todo caso, mi recomendación es muy simple: la mayoría de los blogs de autoría única no necesitan la función de revisión, y por tanto conviene prescindir de ella en su actualización, sobre todo si existen limitaciones relacionadas con el tamaño de la base de datos. Lo más sencillo a este respecto es editar el fichero wp-config.php, añadirle la línea antedicha y subirlo a su destino antes de completar el upgrade, para que de esta forma las entradas publicadas y editadas con la nueva versión estén libres de molestos añadidos.

Ya que la entrada toca el asunto de las actualizaciones del blog, conviene señalar que el plugin WP Ajax Edit Comments, que tuve que desactivar tras instalar WordPress 2.6, ha vuelto a funcionar con la versión 2.1.1.3 de dicha extensión. Mil gracias a Albert, descubridor del fallo y atento visitante de esta bitácora. Y hablando de plugins, para incluir la línea de código que he mencionado antes, he recurrido a los servicios de la extensión WP-Syntax, con la que se logra que los fragmentos de código incluidos en el blog tengan una presentación realmente profesional.

Para terminar, dedico esta entrada a otro asiduo de la bitácora, Manuel Rino, cuya petición de ayuda a propósito de la actualización a WordPress 2.6 me ha animado a escribirla. De las vacaciones blogueras en Madeira y las muchas bellezas del archipiélago escribiré en próximos días, porque tengo que ordenar y poner en su sitio un par de miles de fotos digitales. Ya se sabe: sarna con gusto no pica.

Addenda del 29 de julio de 2008, a las 00,30

El asunto de las revisiones de las entradas no es tan fácil de solucionar como parecía, pues también está vinculado con la función de autoguardado, presente en WordPress desde la versión 2.1. En un comentario a la ya citada entrada de Lester Chan Ryan Boren señala que “Autosave should create no revisions when saving drafts and one and only one revision when saving published posts”. Es decir, que la función de autoguardado en WordPress 2.6 no almacena las revisiones de una entrada cuando se encuentra en estado de borrador, pero sí cuando se edita y se guarda una entrada ya publicada. En este caso, sólo se conserva un registro adicional, que es sobreescrito si se producen sucesivas revisiones. Dicho en otros términos: que si el autor de un blog es celoso de la redacción final de sus textos y suele revisar sus entradas después de publicarlas, la tabla wp_posts irá creciendo, de manera lenta pero constante.

Existe una solución más drástica al problema de las revisiones, que es utilizar alguno de los plugins creados en los últimos días por diversos programadores para solventar esta irritante innovación de WordPress 2.6. Yo acabo de instalar la extensión Disable Revisions and Autosave (después de hacer una nueva copia de seguridad de la base de datos, por si acaso), que hace justo lo que indica su nombre, es decir, desactivar completamente las funciones de revisión y autoguardado, y parece que funciona. Hay que tener en cuenta que yo escribo casi todas mis entradas con un cliente para blogs, por lo que hago poco uso del editor de WordPress, salvo cuando tengo que retocar alguna entrada. Incluso cuando utilizo durante largo tiempo el editor, tengo la costumbre de guardar mi trabajo a intervalos regulares, por lo que la función de autoguardado no me hace mucha falta.

Para quienes deseen alternativas menos agresivas, pueden ser útiles otros plugins: por ejemplo, The No Revisions WordPress Plugin, que desactiva la revisión de entradas y, sobre todo, el plugin Revision Control, que añade a las opciones de administración de WordPress la posibilidad de activar o desactivar las revisiones de manera global o por entradas; en este último caso, el plugin permite fijar en cada una de ellas el número de revisiones deseable. Por último, aunque exigen del usuario algo más de trabajo, también son interesantes las opciones de configuración que presenta el artículo Adjust WordPress Autosave or Disable It Completely.