Todos los que utilizamos WordPress como gestor de blogs o contenidos necesitamos de vez en cuando hacer algunos ajustes, cambios u optimizaciones en la base de datos. Estos cambios requieren la utilización de un programa o script, como por ejemplo phpMyAdmin, que nos permite llevar a cabo consultas SQL.
En Lecciones, y en otros apartados de Batiburrillo.net ya hemos hablado de algunos ajustes y retoques, hoy nos vamos a referir a tres cambios que redundarán en un mejor funcionamiento.
Eliminar comentarios de spam
Si tienes los comentarios activados en tu sitio, recibirás más o menos mensajes catalogados como basura. Si utilizas un plugin, como Akismet, para controlarlos e impedir su publicación, no significa que se eliminen definitivamente de la base de datos, ocupando un espacio inútil. Para hacerlo necesitarás instalar un plugin, como WP-Optimize, o ejecutar de vez en cuando la consulta siguiente:
DELETE from wp_comments WHERE comment_approved = '0';
Eliminar etiquetas no vinculadas
Cuando nos referimos a eliminar etiquetas no vinculadas, estamos hablando de todas las que no están relacionadas con ninguna entrada, que aparecen perdidas en una tabla, sin conexión alguna. Esto ocurre después de haber borrado varios artículos.
Para llevar a cabo la eliminación tienes que hacer la consulta siguiente, cambiando antes nombre_bd por el nombre que corresponde a la base de datos:
DELETE a,c FROM nombre_bd.wp_terms AS a LEFT JOIN nombre_bd.wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN nombre_bd.wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE ( c.taxonomy = 'post_tag' AND c.count = 0 )
Borrar entradas
Si sólo quieres borrar algunas entradas, puedes hacerlo a mano desde el Panel de Administración, pero si son muchas perderías una gran cantidad de tiempo haciéndolo. Existe la posibilidad de borrar un grupo de posts utilizando una única consulta.
Es conveniente que antes de ejecutar esta consulta, hagas una copia de seguridad de la tabla que vas a modificar, ya que no podrás deshacer lo hecho. Así, si quieres borrar todas las entradas publicadas antes de las 12 horas del día 31 de diciembre del año 2020, esta es la instrucción que debes pegar en la ventana SQL de phpMyAdmin:
DELETE FROM wp_posts WHERE post_date < '2009-12-31 12:00:00' AND post_status = 'publish'
Nota: En el caso de que el prefijo de las tablas no sea wp_ debes cambiarlo en todas las consultas por el que tu tienes. Si no lo haces, verás un mensaje de error que te advierte de la imposibilidad de llevar a cabo la instrucción.