Limpiar la base de datos de WordPress

Dificultad del post: facilmediadificil
advanced db cleaner

Este post es realmente una forma de profundizar en algo de lo que ya he hablado en este otro post donde expliqué un poco más en detalle la base de datos de WordPress.

En breves tendré más sorpresas sobre este tema (abril 2021), ya que en los últimos meses he profundizado mucho. Sin embargo, por el momento te dejo este post donde vas a ver cómo limpiar la DB de WordPress con un plugin concreto.

Hoy vamos a hablar de Advanced Database Cleaner, un plugin muy avanzado que permite realizar tareas de limpieza de la base de datos. Esto resulta muy útil cuando hablamos de bases de datos muy “rodadas” y muy machacadas, con muchos rastros de plugins instalados y desinstalados a lo largo del tiempo.

advanced db cleaner

Advanced Database Cleaner tiene dos versiones: la gratuita y la de pago. Aunque con la versión gratuita es suficiente, tenemos algunas limitaciones importantes que nos pueden frenar o al menos dificultar nuestra tarea de limpiar la base de datos siguiendo patrones.

Todos estos plugins de limpieza de la base de datos detectan más o menos cosas, pero todos utilizan el mismo sistema. Posteriormente, es el plugin quien tiene que proporcionar las herramientas necesarias para que el usuario administrador (que normalmente tiene conocimientos avanzados) limpie lo que sabe que no necesita.

advanced db cleaner

Sí, lo has adivinado. En este post vamos a hablar todo el tiempo de Advanced DB Cleaner para WordPress, tanto de su versión gratuita como de pago.

En el siguiente post tienes alternativas, pero ten en cuenta que estas otras herramientas no tienen las mismas capacidades que Advanced Database Cleaner Pro: https://alvarofontela.com/entendiendo-base-datos-mysql-wordpress/

Antes de entrar en materia, te dejo por aquí un completo vídeo de mi canal de Youtube donde puedes ver un poco más sobre el plugin:

Icono suscripción Newsletter

¿Quieres
recibir mis articulos?

No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.

 

Advanced Database Cleaner FREE VS PRO

Aunque en la mayoría de los casos te servirá con la versión gratuita la verdad es que, si te dedicas a “esto” (mantenimiento WordPress), te encontrarás con limitaciones importantes que te ralentizarán en tu trabajo.

El plugin incorpora una base de datos de detección de datos, que nos enseña de qué plugin son ciertas tablas o de qué plugin son ciertas “options” de la tabla wp_options (ahora bien, esto falla mucho y no es del todo fiable). En la actualidad suele fallar un 70 u 80% de las veces, pero he hablado con su desarrollador y me ha comentado que con la ayuda de la comunidad (gente como yo, que suele tener una base de datos propia) va a mejorar esto en futuras versiones.

limpiar db wordpress

Además de eso, hay otra cosa que no trae la versión gratuita, que sí trae la de pago y que es bastante útil para limpiar manualmente. Hablo del sistema de filtrado, que puede parecer una tontería pero a nivel de metodología es muy útil. En la versión FREE, esta funcionalidad está bloqueada:

limpiar db wordpress

En cambio, en la versión PRO de Advanced Database Cleaner podremos utilizarla:

limpiar db wordpress

En resumen, la versión gratuita y la de pago se diferencian en dos cosas: la detección, que puede ser más o menos útil, y los filtrados. Pueden parecer pocas cosas, pero estas dos opciones son bastante útiles para la “batalla”.

Si buscas más información acerca de la versión PRO de Advanced Database Cleaner, puedes encontrarla en su sitio web oficial: https://alvaro.click/advanceddatabasecleaner

 

Limpiar basura de la base de datos de WordPress

Esto es lo que suelen hacer la mayoría de los plugins. No difiere demasiado, aunque detecta bastante bien y bastantes cosas.

Vamos a empezar con la pestaña “General clean-up” de Advanced DB Cleaner.

advanced db cleaner pro

Para esto no necesitamos la versión PRO. Si solo queremos hacer esto, cualquier plugin gratuito nos lo va a permitir llevar a cabo medianamente bien: WP Optimize, por ejemplo.

Sin embargo, dependerá totalmente del punto donde “cojee” nuestra instalación WordPress. Hay instalaciones que acumulan revisiones, mientras que otras acumulan datos huérfanos en la tabla postmeta. Dependiendo de lo que queramos limpiar, algunos plugins detectarán más o menos.

Lo que sí tengo que añadir es que Advanced Database Cleaner permite programar limpiezas cada cierto tiempo y esto mola porque se puede automatizar de esta manera:

advanced db cleaner pro

Otra cosa que diferencia a Advanced Database Cleaner es que podemos establecer filtros de días para limpiar. Por ejemplo, podemos establecer que no se borren los elementos de los últimos X días (yo suelo configurar el filtro a 15):

advanced db cleaner pro

Los filtrados son bastante útiles para algunos elementos, ya que podemos no querer borrar las revisiones o los borradores automáticos de los últimos días.

Yo, normalmente, marco todos los checkbox pero indico que no se borren los elementos de los últimos 15 días:

advanced db cleaner pro

Por último debo añadir que, normalmente, para que se limpien correctamente los datos de la DB de WordPress que limpiamos con esta herramienta debemos ejecutar un “Optimize”. Vamos a verlo en la siguiente sección, un poco más abajo.

 

Limpiar tablas de plugins desinstalados en WordPress

Ahora empiezan los puntos fuertes de Advanced Database Cleaner, ya que en la pestaña “Tables” o «Tablas» tenemos todas las tablas de nuestra base de datos:

advanced db cleaner pro

Con la versión PRO, como puedes ver en la imagen anterior, está la columna “Belong to” donde se intenta detectar a qué plugin pertenecen estas tablas o si son tablas huérfanas de un plugin o theme desinstalado.

En la versión gratuita nos mostrará ese dato cerrado:

advanced db cleaner pro

Con la identificación de tablas huérfanas podemos detectar algunas cosas:

advanced db cleaner pro

Aunque, como he dicho, la detección no es 100% fiable y en algunos casos puede dar falsos positivos o falsos negativos.

El proceso es simple: revisamos manualmente las tablas, consultando los nombres con una base de datos externa para saber a qué plugin pertenece cada una, y borramos las tablas de los plugins que ya no están instalados.

En cuanto a la detección de tablas huérfanas, está bien y a veces funciona, pero en algunos casos puede mostrar tablas como huérfanas que realmente son de plugins instalados:

advanced db cleaner pro

Para acabar, simplemente quiero añadir lo que comenté en la sección anterior.

Para finalizar una limpieza de basura, no viene mal ejecutar un “Optimize” y “Repair” de la base de datos.

advanced db cleaner pro

Al hacer este proceso de la imagen anterior, limpiaremos los elementos borrados de la base de datos y bajará el tamaño de la DB en mayor o menor medida.

 

Limpiar la tabla wp_options de WordPress

Este es otro punto fuerte del plugin Advanced DB Cleaner. Permite limpiar de forma “asistida” la tabla wp_options de WordPress donde se suelen guardar opciones de la mayoría de plugins y themes, así como del propio núcleo de WordPress.

Aquí realmente es donde merece la pena de verdad la versión PRO, ya que detectar opciones huérfanas es necesario aunque la herramienta no sea del todo exacta. Buscar opciones huérfanas en la tabla wp_options es un trabajo mucho más minucioso que buscar tablas huérfanas en la base de datos y, por eso, toda ayuda es poca.

advanced db cleaner pro

En las versiones FREE del plugin no tendremos ni ayuda en la detección ni el filtrado que puede ayudar a limpiar en masa:

advanced db cleaner pro

Hay que tener en cuenta una cosa y es que, al limpiar la tabla wp_options, lo que intentamos es limpiar la carga de parámetros autoload.

Con todas las visitas sin cachear, WordPress hace una consulta a la base de datos, concretamente a la tabla wp_options, donde se cargan todas las filas de la tabla wp_options que tengan el parámetro autoload.

Precisamente con el plugin Advanced DB Cleaner, en la pestaña de información llamada “Resumen” o “Overview” podremos ver cuántas “options” hay dentro de la tabla wp_options:

advanced db cleaner pro

Pero para ver cuantos parámetros autoload tenemos cargados y cuánto pesa la consulta deberemos utilizar otro plugin. Yo suelo utilizar el plugin WP Healthcheck (disponible en el repo de WordPress), que es tan simple que apenas da información:

advanced db cleaner pro

Sin embargo, proporciona justo el dato que necesitamos y resulta muy útil para acelerar sitios web WordPress. Al bajar el tamaño de la consulta de los autoload, podremos acelerar algunas partes de WordPress (por ejemplo, el carrito y el checkout de un WooCommerce o el dashboard de cualquier WordPress).

Por último, si quieres saber más sobre las options de WordPress, déjame tu email y te avisaré en apenas dos meses con novedades interesantes sobre cómo detectar options huérfanas.

Icono suscripción Newsletter

¿Quieres
recibir mis articulos?

No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.

 

Limpiar CRON en WordPress

Aunque esto ya va mucho más allá de la base de datos y debería tratarse en el post sobre el wp-cron.php de WordPress, la verdad es que Advanced Database Cleaner nos da una muy buena gestión e incluso una buena detección de los CRON.

Su sistema detecta CRON huérfanos cargados en el wp-cron.php:

advanced db cleaner pro

Evidentemente esto poco tiene que ver con la base de datos, pero nos permite limpiar un poco más nuestra instalación WordPress.

advanced db cleaner pro

Lo único que nos permite en este sentido es borrar los CRON huérfanos, aunque también debemos tener cuidado con los falsos huérfanos en la detección.

Al final, cualquiera de las tres tareas que hemos visto en este post sirve para hacerle el mantenimiento a instalaciones WordPress con mucho “rodaje”, muchos años de utilización y por las que han pasado muchos plugins en sus diferentes versiones.

Si quieres saber más sobre el CRON y el wp-cron.php, aquí tienes un post bastante completo: https://alvarofontela.com/wp-cron-php-wordpress-configurar-desactivar/

 

Programar limpiezas con Advanced DB Cleaner

Otra de las cosas que me gustan de Advanced DB Cleaner es la posibilidad de programar tareas de limpieza, optimización y reparación de la base de datos de WordPress.

Normalmente, configuro una limpieza semanal para todos los elementos siguiendo la regla de los 15 días para algunos elementos:

advanced db cleaner pro

Y, justo para 1 hora después, programo una optimización y reparación de la base de datos para “asentar” la limpieza realizada.

advanced db cleaner pro

Con esto, tengo mi sitio más o menos limpio y optimizado en lo que a base de datos se refiere.

Ahora bien, la limpieza de tablas y opciones huérfanas tendremos que hacerla manualmente y con mucho cuidado.

Icono suscripción Newsletter

¿Quieres
recibir mis articulos?

No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.

Tal vez te interese...

Álvaro Fontela
Álvaro Fontela
Soy ponente en eventos de marketing digital, consultor WordPress y co-fundador de Raiola Networks, amante del mundo del motor (coches japoneses) y tecnófilo empedernido.
Álvaro Fontela
Álvaro Fontela
Soy ponente en eventos de marketing digital, consultor WordPress y co-fundador de Raiola Networks, amante del mundo del motor (coches japoneses) y tecnófilo empedernido.

4 respuestas

  1. Buen post! Algo que me parece importante y que detecté y corregí gracias al plugin litespeed-cache es el tipo de motor de las tablas. Algunas de las mías eran myisam y gracias a este plug-in pude convertirlas en innodb, que se supone es mucho más eficiente… 😅

    1. Si, actualmente sobretodo en instalaciones que tiran mucho de DB, suele ayudar cambiar de MyISAM a InnoDB.

      Las instalaciones actuales ya se instalan todas con InnoDB.

  2. Hola Álvaro.
    ¿Cómo estás? Espero que muy bien.
    Felicitarte por el tutorial del plugin Advanced Database Cleaner para WordPress, está brutal.
    Quería hacerte una pequeña consulta, entonces los «Orphaned post meta» del General clean-up se pueden borrar sin ningún peoblema. ¿No?
    Gracias por todo lo que aportas.
    Saludos

    1. Hola Ricardo, te pongo lo mismo que en Youtube.

      Los «Orphaned post meta» pueden borrarse en el 99% de los casos. Puede haber algún plugin raro que los use, pero en todo caso estaría funcionando por fuera del núcleo de WP y por lo tanto es difícil saber como actuar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share on twitter
Share on facebook
Share on linkedin