Cómo optimizar la base de datos de WordPress (sin plugins, en cPanel)
¿Tu WordPress va lento? Antes de culpar al hosting o instalar más plugins de caché, deberías mirar lo que pasa dentro de tu base de datos. Con el tiempo, WordPress acumula basura: revisiones de entradas, transients caducados, comentarios spam y tablas fragmentadas. Todo eso pesa y ralentiza cada consulta.
La buena noticia es que no necesitas instalar un plugin más. En este artículo te voy a enseñar, paso a paso, cómo optimizar base de datos WordPress desde cPanel, usando herramientas gratuitas y nativas como phpMyAdmin. Aprenderás a limpiar base de datos WordPress, a optimizar MySQL WordPress y a acelerar WordPress base de datos de forma segura y sin tocar una sola línea de código complejo.
Al final, tendrás una web más ligera, rápida y con una base de datos limpia y ordenada. Vamos a ello.
¿Por qué es importante optimizar la base de datos de WordPress?
Cada vez que alguien visita tu web, WordPress hace consultas a la base de datos para traer las entradas, los comentarios, las opciones de configuración, etc. Si la base de datos está llena de registros inútiles, esas consultas tardan más. Es como buscar una aguja en un pajar lleno de paja vieja.
Estos son los principales culpables del peso innecesario:
- Revisiones de entradas: Cada vez que guardas un borrador o actualizas un artículo, WordPress guarda una copia completa. Con el tiempo, puedes tener cientos de revisiones por entrada.
- Transients (transitorios): Son datos temporales que usan los plugins y temas para guardar cachés. Muchos quedan huérfanos y nunca se limpian.
- Comentarios spam: Si no usas un filtro agresivo, los comentarios basura se acumulan en la tabla
wp_comments. - Tablas fragmentadas: Cuando borras datos, los espacios que quedan en las tablas no se reutilizan bien. Es como un disco duro fragmentado.
Optimizar la base de datos no solo acelera WordPress base de datos, sino que también facilita las copias de seguridad (pesan menos) y reduce el riesgo de errores.
Antes de empezar: Precauciones obligatorias
[WARNING] Nunca trabajes directamente sobre tu base de datos en producción sin una copia de seguridad. Un error puede romper tu web por completo.
Vamos a hacer las cosas bien. Antes de optimizar MySQL WordPress, sigue estos pasos:
- Entra en cPanel (o en Syspanel, si tu hosting usa ese panel. Recuerda que Syspanel se accede por el puerto 2106).
- Busca la sección "Archivos" y haz clic en "Administrador de copias de seguridad" o "Backup".
- Crea una copia de seguridad completa de la base de datos (y si puedes, de todos los archivos). Descárgala a tu ordenador.
[INFO] Si tu hosting usa Syspanel, el acceso es igual que cPanel pero con la URL https://tudominio.com:2106. El resto de pasos son idénticos.
Con la copia de seguridad en tu poder, ya puedes trabajar con tranquilidad.
Paso 1: Accede a phpMyAdmin desde cPanel
Para limpiar base de datos WordPress a nivel profesional, vamos a usar la herramienta que ya viene instalada en casi todos los paneles de control: phpMyAdmin.
Sigue estos pasos:
- Entra en tu cPanel (o Syspanel por el puerto 2106).
- Busca la sección "Bases de datos".
- Haz clic en el icono de "phpMyAdmin".
Se abrirá una nueva pestaña con el administrador de bases de datos.
- En el panel lateral izquierdo, verás una lista de todas tus bases de datos. Haz clic en el nombre de la base de datos de tu WordPress (normalmente empieza con
wp_o algo similar, comotuweb_wpdb).
[TIP] Si no sabes cuál es tu base de datos, revisa el archivo wp-config.php de tu WordPress. Busca la línea DB_NAME y ahí verás el nombre exacto.
Ya estás dentro. Ahora sí, vamos a trabajar.
Paso 2: Limpiar las revisiones de entradas (la mayor basura)
Las revisiones son, con diferencia, lo que más espacio ocupa. Si has estado editando entradas durante meses, puedes tener miles de copias.
Vamos a borrarlas de forma segura con una consulta SQL.
2.1. Ir a la pestaña SQL
En la parte superior de phpMyAdmin, verás varias pestañas: Explorar, Estructura, SQL, Buscar, etc. Haz clic en "SQL".
2.2. Ejecutar la consulta de limpieza
En el cuadro de texto que aparece, copia y pega la siguiente consulta:
DELETE FROM wp_posts WHERE post_type = "revision";
[WARNING] Asegúrate de que el prefijo de tus tablas es wp_. Si no lo es, cámbialo en la consulta. Por ejemplo, si tu prefijo es miwp_, la consulta sería DELETE FROM miwp_posts WHERE post_type = "revision";
Esta consulta eliminará todas las revisiones de entradas, páginas y tipos de contenido personalizado. No borra las entradas originales, solo las copias de seguridad internas.
Haz clic en "Continuar" o en el botón "Ejecutar" (dependiendo de la versión de phpMyAdmin).
Verás un mensaje como "X filas afectadas". Ese número es la cantidad de basura que acabas de eliminar.
Paso 3: Eliminar los transients caducados
Los transients son datos temporales que se guardan en la tabla wp_options. Muchos plugins los crean y nunca los borran.
3.1. Identificar los transients
Los transients se guardan con nombres como _transient_... y _site_transient_.... Los que ya han caducado tienen una clave de tiempo (timestamp) en el campo option_value.
3.2. Borrar los transients caducados
Ejecuta esta consulta para eliminar solo los que ya han expirado:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_value < NOW();
Y esta para los transients de red (si usas multisitio):
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%' AND option_value < NOW();
[TIP] Si quieres borrar todos los transients (incluso los que no han caducado), puedes usar DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%';. Esto es seguro, ya que WordPress los regenerará cuando los necesite, pero puede causar una leve ralentización temporal al recargarlos.
Paso 4: Limpiar los comentarios spam y papelera
Los comentarios spam son otro gran lastre. Si tienes miles, cada carga de página que muestra comentarios se vuelve más lenta.
4.1. Borrar el spam
Ejecuta esta consulta para eliminar todos los comentarios marcados como spam:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
4.2. Borrar la papelera de comentarios
DELETE FROM wp_comments WHERE comment_approved = 'trash';
4.3. (Opcional) Borrar los comentarios pendientes de moderar
Si tienes muchos comentarios pendientes que nunca apruebas, también puedes eliminarlos:
DELETE FROM wp_comments WHERE comment_approved = '0';
[INFO] Los comentarios pendientes son aquellos que están esperando moderación. Si los borras, no podrás recuperarlos.
Paso 5: Optimizar las tablas (desfragmentar)
Ahora que has limpiado muchos datos, las tablas están "agujereadas". Hay que optimizarlas para que MySQL reorganice el espacio y las consultas sean más rápidas.
5.1. Seleccionar todas las tablas
En phpMyAdmin, en el panel izquierdo, haz clic en el nombre de tu base de datos. Verás una lista de todas las tablas en la parte derecha.
5.2. Marcar todas las tablas
En la parte inferior de la lista, hay un enlace o botón que dice "Seleccionar todo" o "Marcar todos". Haz clic en él.
5.3. Ejecutar la optimización
En el desplegable que aparece (normalmente al lado de "Con seleccionados"), elige la opción "Optimizar tablas" y haz clic en "Continuar".
phpMyAdmin ejecutará una consulta OPTIMIZE TABLE en cada tabla. Esto es exactamente lo que necesitas para optimizar MySQL WordPress.
[TIP] Si prefieres hacerlo manualmente, puedes ejecutar la consulta OPTIMIZE TABLE wp_posts, wp_options, wp_comments; en la pestaña SQL, cambiando los nombres de las tablas según las tuyas.
Paso 6: Eliminar plugins y temas inactivos (opcional pero recomendado)
Los archivos de plugins y temas inactivos no están en la base de datos, pero sus tablas pueden quedarse si los desinstalaste mal.
6.1. Identificar tablas huérfanas
En la lista de tablas, busca tablas que no empiecen por tu prefijo (como wp_) o que tengan nombres raros (como wp_revslider_...). Esas son de plugins que ya no usas.
6.2. Borrar las tablas huérfanas
[WARNING] Solo borra tablas si estás 100% seguro de que no pertenecen a un plugin activo. Si no sabes qué son, mejor no las toques.
Si identificas una tabla huérfana, haz clic en el enlace "Eliminar" (o "Borrar") en la fila correspondiente. Confirma la operación.
Paso 7: Programar la optimización (opcional, pero muy útil)
No querrás hacer esto manualmente cada semana. Puedes programar una tarea para que se ejecute automáticamente.
7.1. Crear un script PHP
Crea un archivo llamado optimizar.php en la raíz de tu WordPress y pega este código:
<?php
// Conectar a WordPress
require_once('wp-load.php');
// Consultas de limpieza
$queries = array(
"DELETE FROM wp_posts WHERE post_type = 'revision'",
"DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_value < NOW()",
"DELETE FROM wp_comments WHERE comment_approved = 'spam' OR comment_approved = 'trash'",
"OPTIMIZE TABLE wp_posts, wp_options, wp_comments"
);
foreach ($queries as $query) {
$wpdb->query($query);
}
echo "Optimización completada.";
?>
7.2. Programar la tarea en cPanel
- Ve a la sección "Tareas programadas" o "Cron Jobs" en cPanel.
- Configura una tarea que ejecute ese script cada semana, por ejemplo.
- El comando sería algo así:
php /home/tuusuario/public_html/optimizar.php
[WARNING] Después de programar la tarea, borra el archivo optimizar.php de tu servidor para evitar que alguien lo ejecute manualmente y cause problemas.
Preguntas frecuentes (FAQ)
¿Cada cuánto tiempo debo optimizar la base de datos?
Depende del tráfico y la frecuencia de publicación. Para la mayoría de blogs, una vez al mes es suficiente. Si publicas mucho o tienes muchos comentarios, puedes hacerlo cada dos semanas.
¿Es necesario desactivar los plugins antes de optimizar?
No, no es necesario. Las consultas que hemos usado son seguras y no interfieren con los plugins activos. Solo trabajan con datos que ya no se necesitan.
¿Qué pasa si no tengo cPanel? ¿Puedo usar Syspanel?
Sí. Syspanel es el panel de control que usan algunos hostings. El acceso es por el puerto 2106 (https://tudominio.com:2106). Dentro, las herramientas son similares a cPanel, y phpMyAdmin está disponible en la sección "Bases de datos".
¿Puedo optimizar la base de datos desde wp-cli?
Sí, si tu hosting tiene WP-CLI, puedes ejecutar comandos como wp db optimize o wp post delete $(wp post list --post_type='revision' --format=ids). Es más avanzado, pero muy rápido.
¿Estas consultas afectan a mi SEO?
Al contrario. Al acelerar WordPress base de datos, mejoras la velocidad de carga, que es un factor de ranking. Además, una base de datos limpia reduce el riesgo de errores 500 y caídas.
Conclusión
Optimizar la base de datos de WordPress sin plugins es totalmente posible y muy recomendable. Con estas sencillas consultas en phpMyAdmin, has aprendido a limpiar base de datos WordPress, eliminar revisiones, transients y spam, y a optimizar MySQL WordPress para que las consultas sean más rápidas.
Recuerda siempre hacer una copia de seguridad antes de tocar nada, y si tu hosting usa Syspanel, accede por el puerto 2106. Con un mantenimiento mensual, tu web irá como un tiro.
[TIP] Combina esta optimización con una buena caché de página y un CDN. Verás una mejora drástica en los tiempos de carga.
Si tienes dudas, déjalas en los comentarios. Estaré encantado de ayudarte. ¡Buena suerte!
