Cómo optimizar una base de datos MySQL en WordPress con phpMyAdmin
¿Tu WordPress va lento? El problema no siempre está en el hosting o en los plugins. A menudo, el culpable silencioso es una base de datos inflada y llena de basura. Cada comentario de spam, cada revisión de entrada y cada transitorio caducado se acumulan como escombros en un sótano. Si llevas meses publicando contenido, tu base de datos puede tener cientos de megabytes de datos inservibles que frenan cada consulta.
La buena noticia es que no necesitas ser un ingeniero de sistemas para solucionarlo. En esta guía te voy a enseñar, paso a paso y con un lenguaje muy claro, cómo optimizar base datos wordpress usando phpMyAdmin, la herramienta que encontrarás en el panel de control de tu hosting. Al final, notarás una mejora en la velocidad de carga y un panel de administración más ágil.
¿Por qué es tan importante optimizar la base de datos?
Piensa en tu base de datos como el cerebro de WordPress. Cada vez que alguien visita tu web, el servidor hace una consulta a este cerebro para buscar artículos, comentarios o configuraciones. Si el cerebro está lleno de recuerdos inútiles (datos basura), tarda más en encontrar lo que necesita.
Optimizar la base de datos no es opcional, es mantenimiento básico. Una base de datos limpia reduce el tiempo de ejecución de las consultas, alivia la carga del servidor y, en consecuencia, acelera wordpress mysql. Además, si reduces el tamaño de la base de datos, las copias de seguridad se hacen más rápido y ocupan menos espacio en tu disco duro o en la nube.
Otro beneficio clave es la seguridad. Los datos obsoletos pueden contener información sensible o vectores de ataque. Al limpiar, reduces la superficie de vulnerabilidad.
Preparativos antes de tocar nada
Antes de lanzarnos a borrar filas, debemos tomar precauciones. Un error aquí puede romper tu web. No te asustes, solo sigue estos pasos.
Haz una copia de seguridad completa
Este es el mandamiento número uno. Nunca toques la base de datos sin una copia de seguridad reciente. Ve a tu panel de control (cPanel, Plesk o Syspanel en el puerto 2106 si usas ese panel) y exporta la base de datos.
En Syspanel, por ejemplo, el acceso es https://tudominio.com:2106, luego entras en "Bases de datos" y buscas la opción de exportar. Si no lo ves, usa la opción de "Exportar" dentro de phpMyAdmin que veremos ahora.
Accede a phpMyAdmin
phpMyAdmin es una interfaz web que te permite gestionar tu base de datos de forma visual, sin escribir comandos SQL complejos. Para acceder, normalmente encuentras el icono en el panel de tu hosting, en la sección de "Bases de datos". Si usas Syspanel, lo tienes en el mismo sitio, junto a la lista de bases de datos.
Al hacer clic, se abrirá una nueva pestaña. Verás una lista de tablas a la izquierda. Esas tablas son las que vamos a limpiar.
[WARNING]: Si tu web usa un plugin de caché como WP Rocket o W3 Total Cache, desactívalo temporalmente antes de optimizar. Si no, podrías tener conflictos con los datos temporales que se regeneran.
Paso a paso: Cómo optimizar tablas con phpMyAdmin
Ahora sí, vamos a la acción. Sigue estos pasos en orden.
1. Identifica las tablas más problemáticas
No todas las tablas necesitan el mismo cuidado. Las que más se ensucian en WordPress son:
- wp_options: Guarda opciones de configuración, pero también los transitorios (datos temporales). Es la tabla más propensa a la inflación.
- wp_postmeta: Contiene metadatos de cada entrada. Si usas muchos plugins, se llena de basura.
- wp_comments y wp_commentmeta: Los comentarios spam se acumulan aquí.
- wp_revisions: Aquí se guardan las revisiones antiguas de tus entradas. Si editas mucho, puede tener miles de filas.
- wp_transients: Datos temporales de plugins y temas que caducan, pero que no siempre se borran.
2. Optimiza todas las tablas de una sola vez
La forma más rápida de empezar es optimizar todas las tablas a la vez. Esto no borra datos, solo reorganiza el almacenamiento físico, como si desfragmentaras un disco duro.
En phpMyAdmin, haz clic en el nombre de tu base de datos en el panel izquierdo. Arriba, verás una pestaña que dice "SQL" o "Consultas". Haz clic en ella.
En el cuadro de texto, escribe este comando mágico:
OPTIMIZE TABLE wp_posts, wp_options, wp_postmeta, wp_comments, wp_commentmeta, wp_revisions, wp_term_relationships, wp_term_taxonomy, wp_termmeta, wp_usermeta;
Pero espera, si tu prefijo no es wp_ (algunos usan wp2_ o miweb_), tendrás que cambiarlo. Puedes ver el prefijo real en el nombre de las tablas a la izquierda. Haz clic en "Continuar" o "Ejecutar". Verás una tabla con el resultado. Esto es seguro y no borra nada.
[TIP]: Si no quieres escribir el comando, puedes marcar todas las casillas de las tablas en el panel izquierdo, y en el desplegable inferior seleccionar "Optimizar tabla". Es igual de efectivo.
3. Limpia las revisiones de entradas
Ahora viene la limpieza profunda. Las revisiones son copias de seguridad automáticas que WordPress hace cada vez que guardas un borrador o actualizas una entrada. Con el tiempo, acumulas cientos de copias inútiles.
Ve a la pestaña "SQL" de nuevo y ejecuta:
DELETE FROM wp_posts WHERE post_type = 'revision';
Esto eliminará todas las revisiones de todas las entradas. En un blog con 200 entradas y 10 revisiones cada una, eliminarás 2,000 filas de golpe.
[INFO]: Este comando no borra tus entradas publicadas, solo las versiones antiguas guardadas en el historial.
4. Borra los transitorios caducados
Los transitorios son datos temporales que los plugins guardan para acelerar ciertas funciones. El problema es que muchos no se borran al caducar. Para limpiarlos, ejecuta:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%';
Este comando borra los transitorios que ya han expirado. Es muy seguro y no afecta a la configuración de tus plugins.
5. Elimina comentarios spam y pendientes
Si tienes el antispam de Akismet activo, los comentarios spam se guardan en la base de datos. Vamos a vaciarlos.
Primero, borra los marcados como spam:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
Luego, borra los que están en la papelera (si los hay):
DELETE FROM wp_comments WHERE comment_approved = 'trash';
También puedes borrar los comentarios pendientes de moderación que sean muy antiguos, pero eso ya es decisión tuya.
6. Limpia los metadatos huérfanos
Cuando borras una entrada o un comentario, a veces quedan restos en las tablas de metadatos. Esto crea filas que no sirven para nada. Ejecuta estos comandos para purgarlos:
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
Estos comandos son un poco más técnicos, pero no te preocupes, son seguros. Solo borran registros que no tienen relación con ninguna entrada o comentario existente.
7. Optimiza de nuevo las tablas
Después de borrar tanta basura, las tablas están "agujereadas". Ejecuta de nuevo el comando OPTIMIZE TABLE del paso 2 para reconstruir la estructura y recuperar el espacio físico.
OPTIMIZE TABLE wp_posts, wp_options, wp_postmeta, wp_comments;
Uso de plugins para automatizar el mantenimiento
Si todo esto te parece mucho lío, existen plugins que hacen el trabajo por ti. Los más populares son WP-Optimize y Advanced Database Cleaner. Ellos te permiten programar limpiezas semanales sin tocar código.
¿Cuál es la ventaja? Que automatizan el proceso y te avisan del tamaño que has liberado. Sin embargo, te recomiendo hacer la primera limpieza manual con phpMyAdmin para que entiendas qué hay dentro de tu base de datos. Luego, usa el plugin para el mantenimiento rutinario.
[WARNING]: Algunos plugins de limpieza pueden ser agresivos y borrar datos de sesión de usuarios o cachés de plugins. Siempre revisa las opciones antes de activar la limpieza automática.
¿Con qué frecuencia debo optimizar?
No hay una regla fija, pero te doy una guía práctica:
- Blogs con publicaciones diarias: Una vez al mes.
- Tiendas online o webs con mucho tráfico: Cada 2-3 semanas.
- Blogs personales con poco movimiento: Cada 2-3 meses.
Si notas que el panel de administración va lento o que las copias de seguridad tardan mucho, es señal de que toca limpiar.
Errores comunes y cómo evitarlos
Aquí van los fallos que más veo en soporte técnico:
No hacer backup antes de limpiar: Es el error más grave. Un solo comando mal escrito puede dejarte la web en blanco. La copia de seguridad es tu red de seguridad.
Borrar demasiado: Hay quien se pasa y borra la tabla wp_options entera. ¡Cuidado! Esa tabla guarda la configuración de tu sitio, el tema activo, los plugins, todo. Nunca ejecutes DELETE FROM wp_options sin un filtro muy específico.
Olvidar los prefijos: Si tu instalación usa un prefijo distinto a wp_, los comandos fallarán o, peor, borrarán datos de otra tabla que no quieres tocar. Verifica siempre el prefijo en el panel izquierdo de phpMyAdmin.
Optimizar en horario de alto tráfico: Durante la optimización, tu web puede experimentar una breve caída o lentitud. Hazlo en horas de bajo tráfico, como de madrugada.
Preguntas frecuentes (FAQ)
¿Perderé mis artículos si optimizo la base de datos?
No. La optimización y limpieza que hemos hecho borra solo datos temporales, revisiones antiguas y spam. Tus entradas publicadas, páginas y comentarios aprobados se quedan intactos.
¿Es lo mismo optimizar que reparar?
No. Optimizar reorganiza los datos para que las consultas sean más rápidas. Reparar arregla tablas corruptas. En phpMyAdmin tienes ambas opciones en el desplegable inferior. Si tu web da errores de conexión a la base de datos, usa "Reparar tabla" primero.
¿Cuánto espacio puedo liberar?
Depende del historial de tu web. He visto webs que liberan el 60% del tamaño de la base de datos. En un sitio normal, suele liberarse entre 10 y 50 MB en el primer mes.
¿Puedo optimizar desde Syspanel?
Sí. En Syspanel (puerto 2106), tienes acceso a phpMyAdmin en la sección de bases de datos. El proceso es idéntico al que hemos visto. Además, Syspanel tiene una herramienta de copia de seguridad muy fiable que puedes usar antes de empezar.
¿Y si mi web usa un CDN o un firewall?
No afecta. La optimización de la base de datos es a nivel de servidor. Solo asegúrate de purgar la caché del CDN después de optimizar para que los visitantes vean la versión más rápida.
Conclusión: Un mantenimiento sencillo con grandes resultados
Optimizar tu base de datos de WordPress con phpMyAdmin no es ciencia espacial. Con estos comandos y una copia de seguridad en la mano, puedes reducir tamaño bd de forma significativa y mejorar la velocidad de tu web sin tocar una sola línea de código del tema.
La clave está en la constancia. No lo hagas una vez y te olvides. Añade una tarea mensual en tu calendario para ejecutar estos pasos. Tu servidor te lo agradecerá, tus visitantes notarán la diferencia y, lo más importante, evitarás esos sustos de "Error al conectar con la base de datos" en los momentos más inoportunos.
Ahora que ya sabes cómo hacerlo, te animo a que abras tu phpMyAdmin y mires cuántos MB puedes liberar hoy mismo. Es gratificante ver cómo una base de datos de 80 MB baja a 25 MB en diez minutos. ¡Manos a la obra!
