Saltar al contenido
Optimización de la Base de Datos de WordPress: Cómo Limpiar y Acelerar Tu Base de Datos

Optimización de la Base de Datos de WordPress: Cómo Limpiar y Acelerar Tu Base de Datos

Erik KellerErik KellerActualizado el: 15 min de lectura635 vistas

Cada carga de página, envío de formulario, operación de plugin y sesión de usuario en WordPress implica consultas a la base de datos. Con el tiempo, la base de datos acumula sobrecarga: revisiones de publicaciones antiguas, transitorios expirados, metadatos huérfanos, comentarios de spam y tablas no utilizadas de plugins desactivados. Este exceso ralentiza las consultas, aumenta el tamaño de las copias de seguridad y degrada el rendimiento general del sitio. Esta guía cubre cómo identificar la sobrecarga de la base de datos, limpiarla de manera segura y prevenir su regreso.

Lo que WordPress Almacena en la Base de Datos

Entender qué vive en tu base de datos te ayuda a identificar qué se puede eliminar de manera segura. Una instalación estándar de WordPress utiliza 12 tablas principales, y los plugins añaden sus propias tablas según sea necesario.

Tabla Almacena Fuente Común de Sobrecarga
wp_posts Publicaciones, páginas, revisiones, adjuntos, tipos de publicaciones personalizadas Revisiones de publicaciones, borradores automáticos
wp_postmeta Metadatos para publicaciones (campos personalizados, datos de plugins) Meta huérfana de publicaciones eliminadas
wp_options Configuraciones del sitio, configuraciones de plugins, transitorios Transitorios expirados, configuraciones de plugins antiguas
wp_comments Comentarios y trackbacks Comentarios de spam, comentarios en la papelera
wp_commentmeta Metadatos para comentarios Metadatos de Akismet para comentarios eliminados
wp_usermeta Metadatos de usuario Tokens de sesión, datos de usuario de plugins
wp_termmeta Metadatos para categorías y etiquetas Metadatos de términos huérfanos

Fuentes Comunes de Sobrecarga en la Base de Datos

Revisiones de Publicaciones

WordPress guarda una revisión cada vez que haces clic en "Guardar Borrador" o "Actualizar" en una publicación o página. Una publicación editada 50 veces tiene 50 revisiones almacenadas en la tabla wp_posts, cada una con su propio conjunto de entradas de postmeta. En un sitio con cientos de publicaciones, las revisiones pueden representar miles de filas innecesarias en la base de datos.

Transitorios

Los transitorios son datos temporales almacenados en la tabla wp_options por el núcleo de WordPress y los plugins. Tienen tiempos de expiración, pero WordPress no elimina automáticamente los transitorios expirados. Se acumulan con el tiempo y pueden hacer crecer significativamente la tabla de opciones, especialmente en sitios con muchos plugins.

Datos Huérfanos

Cuando eliminas una publicación, su metadato (entradas de wp_postmeta) puede no ser eliminado. De manera similar, eliminar comentarios, usuarios o términos puede dejar filas de metadatos huérfanas. Los plugins desactivados y eliminados a menudo dejan sus tablas de base de datos, consumiendo espacio y desordenando tu base de datos.

Contenido de Spam y en la Papelera

Los comentarios de spam, las publicaciones en la papelera y los comentarios en la papelera permanecen en la base de datos hasta que se vacían manualmente. Los sitios con Akismet u otros filtros de spam pueden acumular miles de comentarios de spam que necesitan limpieza periódica.

Borradores Automáticos

WordPress crea publicaciones de borrador automático cuando haces clic en "Agregar Nuevo" en el editor de publicaciones, incluso si nunca publicas. Estos se acumulan con el tiempo y no sirven para nada después de que termina la sesión de edición.

Limpieza Manual de la Base de Datos a través de SQL

Para aquellos que se sienten cómodos con SQL, puedes limpiar directamente usando phpMyAdmin o un cliente de base de datos. Siempre haz una copia de seguridad de tu base de datos antes de ejecutar consultas de limpieza.

Eliminar Revisiones de Publicaciones

-- Eliminar todas las revisiones de publicaciones
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Eliminar metadatos huérfanos (metadatos para publicaciones eliminadas)
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
W
 AQUÍ p.ID ES NULL;

Limpiar Transitorios

-- Eliminar transitorios expirados
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();

-- Eliminar los datos transitorios de transitorios expirados
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';

Eliminar Comentarios de Spam y en la Papelera

-- Eliminar comentarios de spam
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Eliminar comentarios en la papelera
DELETE FROM wp_comments WHERE comment_approved = 'trash';

-- Eliminar metadatos de comentarios huérfanos
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;

Limpieza de Base de Datos Basada en Plugins

Si prefieres un enfoque basado en GUI, varios plugins manejan la optimización de la base de datos con capacidades de programación:

WP-Optimize

WP-Optimize es un plugin gratuito que limpia revisiones, borradores, spam, transitorios y datos huérfanos. También optimiza tablas de la base de datos y soporta limpiezas programadas. La versión Pro añade soporte para multisite y programación avanzada.

Optimización de Base de Datos WP Rocket

WP Rocket incluye una pestaña de Base de Datos que maneja revisiones, borradores automáticos, publicaciones en la papelera, comentarios de spam, transitorios y optimización de tablas. Dado que WP Rocket es principalmente un plugin de caché, obtienes limpieza de base de datos junto con optimización de rendimiento en una sola herramienta.

Limpiador Avanzado de Base de Datos

Este plugin profundiza más al detectar tablas dejadas por plugins desactivados y eventos cron huérfanos. Categoriza las tablas como núcleo de WordPress, creadas por plugins o desconocidas, ayudándote a identificar qué tablas son seguras para eliminar.

Plugin Versión Gratuita Limpieza Programada Detección de Tablas
WP-Optimize Básico
WP Rocket No (solo Premium) No
Limpiador Avanzado de Base de Datos Solo Pro Sí (detallado)

Optimizaciones en wp-config.php

Previene la hinchazón de la base de datos en la fuente añadiendo estas constantes a tu archivo wp-config.php:

Limitar Revisiones de Publicaciones

// Mantener solo 5 revisiones por publicación (recomendado)
define( 'WP_POST_REVISIONS', 5 );

// Desactivar revisiones por completo (no recomendado para la mayoría de los sitios)
define( 'WP_POST_REVISIONS', false );

Establecer revisiones en 5 proporciona suficiente historial para recuperarse de errores mientras previene el crecimiento ilimitado de revisiones. Para sitios con mucho contenido y ediciones frecuentes, 10 revisiones es una alternativa razonable.

Papelera Automática

// Vaciar la papelera cada 7 días (el valor predeterminado es 30)
define( 'EMPTY_TRASH_DAYS', 7 );

// Desactivar la papelera (elementos eliminados inmediatamente - usar con precaución)
define( 'EMPTY_TRASH_DAYS', 0 );

Intervalo de Autoguardado

// Aumentar el intervalo de autoguardado a 5 minutos (el valor predeterminado es 60 segundos)
define( 'AUTOSAVE_INTERVAL', 300 );

Optimizando Tablas de Base de Datos

Después de eliminar filas, ejecuta una operación de OPTIMIZAR para recuperar espacio fragmentado:

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;

Programa esto mensualmente o después de grandes operaciones de limpieza. La mayoría de los plugins de limpieza incluyen optimización de tablas en sus tareas programadas.

Programación de Limpieza Automática

Configura horarios automatizados: limpieza semanal de transitorios y spam, eliminación mensual de revisiones y optimización de tablas, y auditorías trimestrales de tablas de plugins huérfanas. Tanto WP-Optimize como WP Rocket admiten limpieza programada. Configúralos durante horas de menor actividad.

Monitoreo del Tamaño de la Base de Datos

Controla el tamaño de tu base de datos para detectar el crecimiento excesivo a tiempo. Ejecuta esta consulta para ver los tamaños de las tablas individuales:

SELECT table_name AS 'Tabla',
       ROUND(data_length / 1024 / 1024, 2) AS 'Datos (MB)',
       table_rows AS 'Filas'
FROM information_schema.tables
WHERE table_schema = 'tu_nombre_de_base_de_datos'
ORDER BY (data_length + index_length) DESC
LIMIT 20;

Si wp_options supera los 5 MB o wp_postmeta crece más allá de los 100 MB, es hora de una limpieza. Estas tablas se consultan con frecuencia, por lo que su tamaño afecta directamente los tiempos de carga de las páginas.

Para un enfoque integral de optimización del rendimiento que incluya optimización de la base de datos junto con almacenamiento en caché, optimización de imágenes y configuración del servidor, lee nuestra guía de optimización de velocidad de WordPress. Para mantener la salud de la base de datos como parte de tu rutina de mantenimiento, consulta nuestra guía de mantenimiento de WordPress.

Para más detalles, consulte la documentación oficial: API de Base de Datos de WordPress.

Preguntas Frecuentes

¿Es seguro eliminar revisiones de publicaciones de la base de datos?

Sí, eliminar revisiones de publicaciones es seguro y no afecta tu contenido publicado. Las revisiones son instantáneas históricas de los cambios en borrador. Una vez que tu contenido está finalizado, las revisiones no sirven para la mayoría de los sitios. Sin embargo, siempre haz una copia de seguridad de tu base de datos antes de realizar cualquier limpieza.

¿La optimización de la base de datos mejorará notablemente la velocidad de mi sitio?

La mejora depende de cuánto esté inflada tu base de datos. Los sitios con más de 50,000 filas huérfanas o una tabla wp_options que supere los 10 MB verán mejoras notables en los tiempos de carga de las páginas y la capacidad de respuesta del panel de administración. Los sitios más pequeños pueden ver ganancias marginales. La optimización de la base de datos funciona junto con el almacenamiento en caché y otras medidas de rendimiento para una mejora acumulativa.

¿Con qué frecuencia debo optimizar mi base de datos de WordPress?

Para sitios activos con actualizaciones de contenido regulares, la optimización mensual es una buena base. Los sitios de alto tráfico con comentarios frecuentes, transacciones de WooCommerce o envíos de formularios pueden beneficiarse de la limpieza semanal de transitorios y spam con optimización mensual de tablas.

¿Los plugins de limpieza de base de datos pueden romper mi sitio?

Plugins de buena reputación como WP-Optimize y WP Rocket están diseñados para ser seguros. Apuntan a categorías de bloat conocidas (revisiones, transitorios, spam) y no tocan datos esenciales. El riesgo aumenta al eliminar manualmente tablas específicas de plugins. Si no estás seguro de si una tabla es necesaria, déjala en su lugar y investiga su propósito primero.

¿Cuál es la diferencia entre OPTIMIZE TABLE y eliminar filas?

Eliminar filas quita datos de la tabla. OPTIMIZE TABLE reorganiza el almacenamiento físico de la tabla después de que se han eliminado filas, recuperando espacio en disco y desfragmentando el archivo de datos. Piénsalo como eliminar archivos (eliminar filas) frente a desfragmentar tu disco duro (optimizar la tabla).

¿Debo usar InnoDB o MyISAM para las tablas de WordPress?

WordPress utiliza InnoDB por defecto desde la versión 5.5, y es el motor de almacenamiento recomendado. InnoDB admite bloqueo a nivel de fila (mejor para usuarios concurrentes), transacciones y recuperación ante fallos. MyISAM es más rápido para operaciones de lectura intensiva, pero carece de estas características de fiabilidad. Si encuentras tablas MyISAM en tu base de datos, generalmente se recomienda convertirlas a InnoDB.

¿Cómo identifico las tablas dejadas por plugins desactivados?

El plugin Advanced Database Cleaner puede detectar y categorizar tablas no esenciales. Alternativamente, ejecuta la consulta SQL SHOW TABLES y compara los nombres de las tablas con las tablas del núcleo de WordPress y tus plugins actualmente activos. Las tablas con prefijos que coinciden con plugins desactivados son candidatas para eliminación.

¿WooCommerce añade un bloat significativo a la base de datos?

Sí. WooCommerce almacena datos de pedidos, metadatos de productos, sesiones de clientes y transitorios que crecen sustancialmente en tiendas activas. Utiliza WooCommerce > Estado > Herramientas para limpiar transitorios y sesiones expirados regularmente.

Optimiza el Rendimiento desde Todos los Ángulos

WP Rocket maneja el almacenamiento en caché, la limpieza de la base de datos y la optimización del rendimiento en un solo plugin, para que puedas mantener tu sitio funcionando sin problemas.

Explora WP Rocket →

Preguntas frecuentes

¿Con qué frecuencia debo optimizar mi base de datos de WordPress?
Para la mayoría de los sitios, la optimización mensual es suficiente. Los sitios con alto tráfico y tiendas WooCommerce activas o foros deben optimizarse semanalmente. Herramientas automatizadas como WP-Optimize pueden manejar esto según un horario.
¿Es seguro eliminar las revisiones de publicaciones de la base de datos?
Sí, eliminar revisiones antiguas de publicaciones es seguro y comúnmente recomendado. WordPress almacena revisiones ilimitadas por defecto, lo que puede añadir miles de filas. Puedes limitar las revisiones añadiendo la constante define REVISIONS en wp-config.php.
¿La optimización de la base de datos mejorará la velocidad de mi sitio?
La optimización de la base de datos generalmente reduce el tiempo de ejecución de consultas, lo que mejora el tiempo de respuesta del servidor (TTFB). El impacto es más notable en páginas dinámicas con consultas complejas, como las páginas de productos de WooCommerce o los resultados de búsqueda.
¿Debo optimizar la base de datos antes o después de hacer una copia de seguridad?
Siempre crea una copia de seguridad completa de la base de datos antes de realizar cualquier optimización. Esto asegura que puedas restaurar tus datos si algo sale mal durante el proceso de limpieza.
¿Qué son las filas de metadatos huérfanos y puedo eliminarlas de forma segura?
Los metadatos huérfanos son filas en las tablas meta que hacen referencia a publicaciones, usuarios o comentarios que ya no existen. Son seguros de eliminar y a menudo se acumulan de plugins o contenido eliminados. Herramientas como WP-Optimize pueden identificar y limpiar estas entradas.

Compartir esta publicación

Sobre el Autor

Erik Keller
Erik Keller

Experto en WordPress

Especialista senior en WordPress con amplia experiencia en desarrollo de temas, plugins y WooCommerce. Apasionado por ayudar a las empresas a tener éxito con soluciones WordPress.

WordPressWooCommerceDesarrollo de TemasDesarrollo de PluginsOptimización de Rendimiento

Mantente Actualizado

Recibe los últimos consejos y tutoriales de WordPress en tu correo.