Limpiar la base de datos de WordPress y ganar velocidad

Revisiones, transients caducados, metadatos huérfanos y crones muertos engordan tu base de datos de WordPress en silencio. Así se limpia cada uno sin riesgo.

Nadie se propone engordar su base de datos de WordPress — simplemente ocurre. Editas una entrada veinte veces y WordPress guarda veinte copias en silencio. Un plugin que eliminaste hace un año dejó sus tareas programadas girando en el vacío. Entradas de caché caducadas que debían borrarse solas nunca lo hicieron. He abierto bases de datos de sitios con un año de vida y el contenido útil era un error de redondeo al lado de la basura. Aquí tienes exactamente qué se acumula, qué partes se pueden eliminar sin riesgo y cómo mantenerlo todo limpio sin tener que pensar en ello.

Lo esencial

  • La basura habitual: revisiones, borradores automáticos, comentarios en papelera/spam, transients caducados, metadatos huérfanos, metadatos duplicados, caché oEmbed y eventos cron muertos.
  • El Database Optimizer te muestra el tamaño de tu base de datos y un conteo de cada categoría limpiable antes de tocar nada — y te deja limpiar cada una por separado.
  • Las revisiones se conservan, no se borran: tú decides cuántas mantener (5 por defecto), así que tu historial de edición reciente sobrevive.
  • La limpieza no se puede deshacer, así que haz una copia de seguridad primero — si el módulo Backup está activo, el optimizador te lo recuerda.
  • Prográmala diaria, dos veces al día o semanal y se ejecuta discretamente vía cron de WordPress; los comentarios pendientes de moderación quedan excluidos por defecto, así que nunca pierdes uno real.

¿Qué está atascando realmente tu base de datos de WordPress?

La mayor parte es invisible hasta que la buscas. Esto es lo que acumula un sitio típico, y por qué existe cada cosa:

  • Revisiones de entradas — WordPress guarda una copia completa cada vez que pulsas Actualizar. Una página editada cincuenta veces arrastra cincuenta revisiones.
  • Borradores automáticos — hacer clic en Añadir nueva crea una fila de borrador aunque nunca escribas una palabra.
  • Entradas y comentarios en la papelera — el contenido borrado se queda en la base de datos hasta que vacías la papelera.
  • Comentarios spam — capturados y archivados, pero se acumulan si no los eliminas.
  • Transients caducados — valores temporales en caché que debían borrarse solos y no lo hicieron.
  • Metadatos huérfanos — metadatos de entradas, comentarios, términos y usuarios cuyo objeto padre ya no existe.
  • Metadatos duplicados — la misma clave meta guardada varias veces en los metadatos de entradas, comentarios o usuarios.
  • Datos oEmbed en caché — vistas previas de contenido incrustado que WordPress cachea en postmeta, a menudo mucho después de que el embed haya desaparecido.
  • Eventos cron muertos — tareas programadas que dejaron plugins que ya eliminaste, y que siguen disparándose contra el vacío.

Ese último par — metadatos duplicados y crones muertos — es donde la mayoría de las herramientas «de limpieza» se quedan cortas, y suelen ser los contribuyentes más traicioneros en un sitio viejo.

Aquí tienes cada categoría de un vistazo — qué es y si se puede eliminar sin riesgo:

Categoría de datosQué es¿Se puede eliminar?
Revisiones de entradasUna copia completa guardada cada vez que pulsas ActualizarSí — se limitan, no se borran (conserva 5 por defecto)
Borradores automáticosUna fila de borrador creada con solo hacer clic en Añadir nueva
Entradas y comentarios en papeleraContenido borrado que sigue en la papelera
Comentarios spamComentarios capturados y archivados como spam
Transients caducadosValores en caché que debían borrarse solos
Metadatos huérfanosMetadatos de entrada, comentario, término o usuario cuyo padre ya no existe
Metadatos duplicadosLa misma clave meta guardada más de una vez
Datos oEmbed en cachéVistas previas de embeds cacheadas en postmeta
Eventos cron muertosTareas programadas que dejaron plugins eliminados
Comentarios pendientes de moderaciónComentarios reales que aún no has revisadoNo — excluidos por defecto

¿Cómo se limpia una base de datos de WordPress, categoría por categoría?

Limpiar una base de datos de WordPress con seguridad significa vaciar cada tipo de desorden por separado, en vez de confiar en un único botón de «borrarlo todo». Activa el módulo Database Optimizer en Blaminhor Essentials: su panel te muestra el tamaño de la base de datos y un conteo en vivo de cada categoría — revisiones, borradores, spam, transients, metadatos huérfanos y duplicados, caché oEmbed y crones muertos — cada una con su propio botón de limpieza, así que ves el problema antes de actuar sobre él.

El módulo Database Optimizer: una vista general del tamaño de la base de datos con un conteo por categoría de revisiones, borradores, spam, transients y datos huérfanos, cada una con su propio botón de limpieza. Cada categoría contada por separado, cada una con su propio botón de limpieza — tú decides exactamente qué se va y qué se queda.

Cada categoría se limpia de forma independiente. Nunca te ves forzado a pulsar un botón de «limpiar todo» en el que no confías; elimina el spam hoy, deja las revisiones en paz, vuelve más tarde a por los transients. Dos detalles importan:

  • Las revisiones se limitan, no se borran. Tú eliges cuántas conservar — cinco por defecto — así que despejas el atasco sin perder tu historial de edición reciente.
  • Los comentarios pendientes de moderación están protegidos. El optimizador deja intactos por defecto los comentarios pendientes y te avisa de que no se contaron, así que un comentario legítimo que aún no has revisado nunca desaparece en una limpieza.

¿Optimizar las tablas realmente recupera espacio en disco?

A veces — y aquí es donde muchos consejos son sencillamente erróneos. Después de borrar filas, MySQL no siempre devuelve el espacio. En las tablas MyISAM más antiguas, ejecutar OPTIMIZE TABLE sí recupera de verdad ese espacio liberado, y el optimizador lo reporta como sobrecarga recuperable.

En las tablas InnoDB modernas — lo que WordPress usa por defecto hoy — la cosa cambia: el espacio «libre» que MySQL reporta está preasignado y gestionado por el motor, y OPTIMIZE TABLE en general no puede devolverlo al sistema operativo. Por eso el optimizador deliberadamente no cuenta el espacio libre de InnoDB como sobrecarga: prometer un ahorro de disco que no puede entregar sería puro ruido. En un sitio con InnoDB, la ganancia real viene de eliminar las propias filas basura — tablas más ligeras y consultas más rápidas — no de perseguir un contador de megabytes. Es un detalle pequeño, pero es la diferencia entre una herramienta honesta y una que infla sus propios números.

¿Puedes configurarlo y olvidarte?

Sí — y esa es la idea. Activa la limpieza programada y elige una cadencia: diaria, dos veces al día o semanal (semanal es el valor por defecto). A partir de ahí se ejecuta en segundo plano vía cron de WordPress, vaciando las categorías que activaste sin que muevas un dedo. El Database Optimizer incluso te muestra un resumen en tu escritorio cuando la basura se acumula, con una limpieza en un clic ahí mismo.

¿Con qué frecuencia es suficiente?

Para la mayoría de los sitios, semanal o mensual mantiene todo en orden sin inconveniente alguno. Si llevas un blog con muchos autores o una tienda WooCommerce generando pedidos y revisiones todo el día, inclínate por la frecuencia más alta. El objetivo no es obsesionarse con una base de datos esbelta — es impedir que la basura llegue a acumularse siquiera. Configura la programación una vez y deja que trabaje.

Una base de datos limpia se complementa de forma natural con los otros básicos del rendimiento: con las tablas ligeras, el caché y la optimización del front-end te dan la ganancia de velocidad visible que tus visitantes sí perciben.

Database Optimizer es una de las más de 20 herramientas de Blaminhor Essentials — gratuito y de código abierto en WordPress.org.

Descargar Blaminhor Essentials

– blaminhor

FAQ

¿Limpiar la base de datos de WordPress realmente la hace más rápida?

Puede hacerlo, por dos vías: tablas más pequeñas significan consultas más ligeras, y eliminar miles de filas obsoletas (sobre todo en wp_postmeta y wp_options) reduce el trabajo que WordPress hace en cada carga de página. La ganancia es mayor en sitios viejos que nunca se han limpiado; en uno bien mantenido, se trata más bien de impedir que la basura vuelva a acumularse.

¿Es seguro limpiar mi base de datos de WordPress?

Sí, si haces una copia de seguridad primero y entiendes cada categoría. Los elementos estándar como revisiones, spam y transients caducados se pueden eliminar sin peligro. Lo único que hay que dejar en paz son los comentarios pendientes de moderación, que el Database Optimizer excluye por defecto. Crea siempre una copia de seguridad antes de una limpieza, porque la operación no se puede deshacer.

¿Puedo limpiar mi base de datos de WordPress sin plugin (phpMyAdmin/SQL)?

Puedes, usando phpMyAdmin y SQL — por ejemplo borrando las filas donde post_type es « revision ». Pero las consultas en crudo no perdonan: una cláusula WHERE mal escrita y pierdes contenido real, sin confirmación y sin vuelta atrás. Haz una copia de seguridad primero y, sinceramente, una herramienta que te muestra los conteos antes de actuar es mucho más segura para la mayoría.

¿Cómo limito o reduzco las revisiones de entradas en WordPress?

Añade « define('WP_POST_REVISIONS', 5); » a wp-config.php para limitar cuántas copias guarda WordPress por entrada, o ponlo en false para desactivar las revisiones por completo. Eso frena las nuevas; para borrar las ya almacenadas sigues necesitando una limpieza. El Database Optimizer limita las revisiones en vez de borrar tu historial reciente.

¿Por qué mi base de datos de WordPress es tan grande?

A menudo la culpa es de la tabla wp_options. Los plugins guardan ahí sus ajustes con « autoload » en yes, así que WordPress carga cada uno de ellos en absolutamente todas las páginas — a veces megabytes que nunca usas. Los transients caducados y los metadatos huérfanos se apilan encima. Recortar la basura autocargada y las filas obsoletas es donde de verdad se pierde peso.

¿Limpiar mi base de datos borrará alguna de mis entradas o contenido?

No. Una limpieza bien hecha apunta al desorden — revisiones, spam, transients caducados, filas huérfanas — nunca a tus entradas publicadas, páginas o comentarios aprobados. El Database Optimizer incluso deja intactos por defecto los comentarios pendientes de moderación. Eso sí, la única salvaguarda real es una copia de seguridad antes de ejecutarla, porque la operación no se puede deshacer.

blaminhor Construyo lo que falta.

Comentarios