Después de un tiempo utilizando la web, es inevitable que la base de datos se vaya llenando de basura: datos huérfanos, datos duplicados, revisiones… Datos que, en el mejor de los casos, tienen escasa utilidad, y que lo único que hacen es “inflar” la base de datos, enlentecer y agrandar las copias de seguridad, y hacer el traspaso de datos menos eficiente.
Así que, en un sano ejercicio de orden y limpieza, vamos a ver, de palabra y obra, cómo limpiar la base de datos de WordPress, operación que conviene realizar de vez en cuando (en función de la frecuencia con que instales/desinstales plugins o crees nuevos contenidos) para mantener la web limpia de polvo y paja.
Tabla de contenidos
Basura en la base de datos
Pues sí, esto es como todo: con el uso la base de datos de WordPress se va llenando de datos inútiles, redundantes o duplicados. ¿Qué tipos de datos? Pues muchos, la verdad.
Tantos que, en una web con frecuentes cambios (plugins que se activan y se desactivan, continua adición de contenido, creación/eliminación de taxonomías, etcétera) y a la que no se le realiza una limpieza, los datos basura pueden ocupar mucho más que los realmente útiles.
Revisiones y borradores automáticos
Éste es el ejemplo más típico. Tanto las revisiones como los borradores automáticos son muy útiles cuando estás creando contenido. Un navegador que se cuelga o una conexión que se pierde podrían hacerte perder mucho trabajo de no ser por los borradores automáticos.
Igualmente, la existencia de las revisiones puede salvarte tras meter la pata en la edición de un contenido: basta recuperar la última revisión sin errores, y aquí no ha pasado nada.
Pero una vez que el contenido está terminado es raro volver a necesitarlas. Como mucho, puedes llegar a necesitar la última revisión si algún día decides actualizarlo, a modo de copia de seguridad de ese contenido. Sin embargo, muchas veces lo que tenemos es algo así:
Revisiones de una entrada cualquiera de este blog
A efectos prácticos, cada una de esas líneas ocupa es en la base de datos equivalente a una entrada. Imagina eso en cada post, página, producto de tu web.
Opciones transitorias o transient options
En WordPress las opciones transitorias (transient options) son datos que WordPress, la plantilla o los plugins utilizan para su funcionamiento, generalmente datos que se guardan durante un breve periodo porque se va a necesitar acceder a ellos de nuevo y resulta más eficiente guardarlos en la base de datos que volverlos a generar. En pocas palabras, una especie de caché de datos de ejecución.
Entonces, ¿para qué necesitaríamos borrarlos? Y, sobre todo, ¿es seguro hacerlo? Pues sí, es seguro borrar las opciones transitorias, en caso de necesitarlas WordPress, el theme o el plugin volverán a generarlas. Es más, es recomendable borrarlas si planeas exportar o clonar la base de datos, ya que puede reducir su tamaño.
Términos que no estén en uso
¿Alguna vez te has puesto a crear categorías o etiquetas como un loco, sin asignarles contenidos? Solo por si acaso, porque crees que en el futuro las vas a usar… Quizá has contestado que no, que tú no haces esas cosas, pero créeme, hay quien lo hace. He visto cosas que vosotros no creeríais…
Pues bien, todos estos términos sin usar, además de afectar negativamente al SEO si no se cuenta con una correcta configuración del SEO on-site de WordPress, ocupa espacio innecesario en la base de datos.
Sí hay que tener cuidado cuando hagamos limpieza de la base de datos (y en la segunda parte del artículo vemos cómo paso a paso) al eliminar estos términos que no están en uso: quizá tengamos alguno asignado a algún borrador (sigue considerándose que no está en uso, puesto que el contenido no está publicado) y podríamos perderlo.
Datos huérfanos
En este apartado entra todo un batiburrillo de cosas: opciones y metadatos que se han mantenido después de eliminar el contenido (entrada, página, producto, imagen…), usuario, comentario o término del que dependían.
Contenido eliminado o spam
Esto es tan obvio que no requiere explicación: comentarios que están clasificados como spam, entradas o pedidos que se han eliminado, pero continúan en la papelera, términos a los que les ocurre lo mismo… Datos, datos y más datos que, por un motivo un otro, desechamos en su día pero que no fue definitivamente eliminado.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Limpiar la base de datos de WordPress
Después de este rápido (y no exhaustivo) repaso, se hace evidente que la base de datos de WordPress hay que limpiarla de tiempo en tiempo. No hay que obsesionarse, claro, pero es algo que conviene hacer al menos unas veces al año. Depende, como decía antes, del uso que se haga de la web.
Pero claro, no podemos hacer esto manualmente. Ni falta que hace, porque ya hay plugins para ello. Un ejemplo (un muy buen ejemplo, sin duda) es WP-Optimize, que no sólo limpia la base de datos, sino que también la desfragmenta.
WP Sweep
Sin embargo mi opción preferida hasta el momento es, sin duda, WP-Sweep, a pesar de tener “solamente” 40.000 instalaciones activas, frente a las más de 600.000 que tiene WP-Optimize.
Y es mi preferida por dos razones. En primer lugar, porque tiene una interfaz de usuario limpia, clara y súper fácil de usar, y eso para un usuario con pocos conocimientos técnicos es muy importante.
Pero sobre todo por otra razón: en lugar de realizar las opciones directamente sobre la base de datos (mediante sentencias SQL), lo hace a través de funciones de WordPress como wp_delete_post_revision o delete_transient.
Esto le resta algo de eficiencia en la ejecución (al fin y al cabo es un plugin que vamos a usar un par de veces al año) pero garantiza unos resultados completos: con WP-Sweep no van a quedar datos huérfanos.
Limieza con WP-Sweep
Así que vamos a ponernos manos a la obra. Y, como siempre antes de tocar cualquier cosa referente a la base de datos, es realizar una copia de seguridad. Si no sabes cómo, puedes echar un vistazo a este artículo:
Y ahora sí, ya podemos ir a Herramientas > Sweep, que es la herramienta que tenemos disponible tras activar WP-Sweep. Ahí veremos algo similar a esto:
En esta imagen sólo se ven las opciones relativas a la limpieza de datos aparejados a las entradas (revisiones, autoguardados, entradas eliminadas, etcétera), pero hay otras para los datos concernientes a los comentarios, usuarios y opciones, y a la optimización de tablas de la base de datos.
En la línea correspondiente a cada una de las opciones te indica qué cantidad de datos prescindibles hay y qué proporción suponen sobre el total. También tienes dos acciones: Sweep, que realizará la limpieza correspondiente, o Details, que muestra un listado detallado de todos los datos a eliminar.
Puedes ir estudiando y realizando la limpieza opción por opción, o puedes ir directo al final, donde encontrarás el botón Sweep All, que realiza todas las limpiezas listadas en la página. Si vas a utilizar este botón sólo tienes que tener las dos precauciones que ya he mencionado:
- Hacer antes una copia de seguridad
- Comprobar que no tienes ningún borrador al que hayas asignado un término sin usar de alguna taxonomía, ya que ese término se perderá al realizar la limpieza Unused Terms
Y ya está. El proceso tardará más o menos en función de la cantidad de datos que tenga que eliminar, y te irá informando según avance a través de las distintas secciones a optimizar.
Sí te aviso que la que más va a tardar será la última, la optimización de tablas de la base de datos, y que es normal que tarde un tiempo. También te digo, para tu tranquilidad, que puedes interrumpir el proceso cuando quieras sin consecuencias negativas.
Y listo: nuestra base de datos vuelve a estar impoluta, y hasta la próxima vez.
Vídeo: limpiar la base de datos de WordPress con WP-Sweep
Como siempre, para los que gusten más de ir directos al grano y tengan menos tiempo para lecturas, aquí te dejo un vídeo en el que puedes ver el proceso de optimización y limpieza de la base de datos de WordPress. Como podrás ver, es bastante rápido y sencillo.
Alejandro dice
Genial