🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo optimizar tablas de una base de datos MySQL en WordPress

Actualizado el 19 de diciembre de 2025

¿Tu WordPress va lento? ¿Notas que las páginas tardan una eternidad en cargar o que el panel de administración se congela? Aunque a menudo pensamos en plugins o en el hosting, el verdadero cuello de botella suele estar en la base de datos. Con el tiempo, las tablas de MySQL se llenan de basura, datos huérfanos y fragmentación, lo que afecta directamente al rendimiento.

En esta guía extensa y práctica, aprenderás paso a paso cómo optimizar tablas MySQL en WordPress, ya sea desde phpMyAdmin optimizar o mediante comandos SSH. No necesitas ser un experto en bases de datos; solo sigue estas instrucciones y notarás una mejora significativa en la velocidad de tu sitio.

¿Por qué es importante optimizar las tablas de tu base de datos?

Cada vez que alguien visita tu web, WordPress realiza cientos de consultas a la base de datos. Si las tablas están desordenadas o fragmentadas, esas consultas tardan más en ejecutarse. Es como buscar un libro en una biblioteca donde los estantes están desordenados: tardas más en encontrarlo.

La fragmentación ocurre cuando los datos se guardan y se borran constantemente (por ejemplo, al publicar comentarios, revisiones de entradas o usar plugins de caché). Con el tiempo, los archivos de datos se llenan de espacios vacíos inutilizables. Al optimizar, fuerzas a MySQL a reorganizar la información, liberar espacio y compactar las tablas.

Los beneficios son claros:

  • WordPress rendimiento mejora visiblemente.

  • Las consultas SQL se ejecutan más rápido.

  • Reduces el tamaño total de la base de datos, lo que facilita las copias de seguridad.

  • Evitas errores comunes como "Table is marked as crashed".


Preparación antes de tocar nada (IMPORTANTE)

Antes de lanzarte a optimizar, hay dos reglas de oro que debes respetar siempre. Ignorarlas puede convertir una mejora de rendimiento en una pesadilla.

1. Haz una copia de seguridad completa

Optimizar es un proceso seguro, pero cualquier operación sobre la base de datos conlleva un riesgo mínimo. Si algo falla a mitad de camino (un corte de luz, un timeout del servidor), podrías corromper una tabla.

Usa un plugin como UpdraftPlus o haz una copia manual desde Syspanel (el panel de control que incluye HestiaCP, accesible a través del puerto 2106). En la sección de "Bases de datos", encontrarás la opción de exportar un archivo .sql de toda tu base.

[WARNING] No optimices nunca sin una copia de seguridad reciente. Un solo comando mal ejecutado puede dejarte la web en blanco.

2. Identifica qué tablas son las más pesadas

No todas las tablas necesitan la misma atención. Las más problemáticas suelen ser:

  • wp_options (donde se guardan las opciones de caché y transients).

  • wp_posts y wp_postmeta (contenido y metadatos, especialmente si tienes muchas revisiones).

  • wp_comments (si tienes muchos comentarios).

  • wp_woocommerce_sessions (si usas WooCommerce).

Puedes ver el tamaño de cada tabla desde phpMyAdmin o con una consulta SQL rápida. Esto te ayudará a priorizar.


Método 1: Optimizar tablas MySQL con phpMyAdmin (el más fácil)

Si tu hosting usa phpMyAdmin optimizar es la opción más visual y segura, perfecta para principiantes. Aquí tienes el proceso completo.

Paso 1: Accede a phpMyAdmin

Dependiendo de tu hosting, puedes acceder desde el cPanel, DirectAdmin o desde Syspanel. En el caso de Syspanel (HestiaCP), el acceso suele estar en la sección "Bases de datos" o directamente en http://tu-dominio.com:2106 (recuerda, el puerto es el 2106 y no el 2083).

Una vez dentro, verás la lista de bases de datos a la izquierda. Haz clic en la que corresponde a tu WordPress (normalmente empieza con wp_ o el prefijo que elegiste al instalar).

Paso 2: Selecciona todas las tablas

En la vista principal de la base de datos, verás una tabla con todas las tablas listadas. En la parte inferior, hay un selector que dice "Con seleccionados:" y un desplegable. Haz clic en la casilla superior para seleccionar todas las tablas de la lista.

Paso 3: Elige la opción "Optimizar tabla"

En el menú desplegable de acciones, selecciona la opción Optimizar tabla. No es "Reparar", no es "Vaciar", es exactamente "Optimizar". Luego haz clic en "Continuar" o "Ejecutar".

Paso 4: Espera a que termine y revisa los resultados

phpMyAdmin ejecutará la operación y te mostrará una pantalla con el estado de cada tabla. Verás mensajes como "Tabla ya está actualizada" o "OK". Si alguna tabla está dañada, te lo indicará y podrás usar la opción "Reparar" después.

[TIP] Si tienes muchas tablas (más de 50), hazlo en lotes de 10 o 20 para evitar que el servidor se sobrecargue. Puedes desmarcar algunas y repetir el proceso.


Método 2: Optimizar mediante comandos SSH (para usuarios avanzados)

Si tienes acceso SSH a tu servidor, este método es más rápido y no depende de la interfaz web. Es ideal si gestionas varios sitios o si phpMyAdmin te da problemas con tablas grandes.

Paso 1: Conéctate por SSH

Usa un cliente como PuTTY o la terminal de tu sistema. Necesitarás las credenciales de acceso (IP, usuario y contraseña o clave SSH). Si usas Syspanel, la información de acceso SSH suele estar en la sección "Cuentas de usuario".

Paso 2: Accede a MySQL

Una vez conectado, escribe el siguiente comando y presiona Enter:

mysql -u tu_usuario -p

Te pedirá la contraseña de la base de datos. Después de introducirla, estarás dentro del cliente de MySQL.

Paso 3: Selecciona tu base de datos

Escribe el comando para usar tu base de datos (cámbiala por el nombre real):

USE nombre_de_tu_base;

Paso 4: Optimiza todas las tablas de una vez

El comando mágico que lo hace todo es el siguiente:

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;

Pero si quieres optimizar todas las tablas de la base de datos sin tener que escribirlas una a una, puedes usar esta consulta que genera los comandos automáticamente:

SELECT CONCAT('OPTIMIZE TABLE ', table_name, ';') FROM information_schema.tables WHERE table_schema = 'nombre_de_tu_base';

Esto te mostrará una lista de comandos. Copia la salida y pégala en el cliente de MySQL para ejecutarlos.

[INFO] Si tu tabla es muy grande (más de 1 GB), la optimización puede tardar varios minutos. No canceles el proceso, podría dejar la tabla bloqueada.

Paso 5: Sal de MySQL

Cuando termines, escribe exit; para volver a la terminal.


Método 3: Optimizar automáticamente con plugins (la opción "olvídate")

Si no quieres entrar en paneles ni terminales, hay plugins que hacen este trabajo por ti de forma programada. Es la opción más cómoda para mantener el WordPress rendimiento sin esfuerzo continuo.

WP-Optimize

Es el plugin más popular para limpiar y optimizar bases de datos. No solo optimiza las tablas, sino que también:

  • Elimina revisiones de entradas antiguas.

  • Limpia transients caducados.

  • Borra comentarios spam.

  • Hace un análisis del tamaño de la base.

Advanced Database Cleaner

Otra excelente opción. Te permite programar optimizaciones diarias o semanales. Puedes elegir qué tablas optimizar y qué datos limpiar. Es muy visual y fácil de usar.

Configuración recomendada

Con cualquiera de estos plugins, te sugiero:

  • Programa la optimización una vez por semana.

  • Activa la limpieza automática de transients (son datos temporales que se acumulan).

  • Limita las revisiones de entradas a 2 o 3 por artículo (esto reduce mucho el tamaño de wp_posts).

[TIP] Los plugins de optimización son útiles, pero no sustituyen a una buena limpieza manual periódica. Úsalos como complemento, no como única solución.


¿Qué más puedes hacer para mejorar el rendimiento de tu base de datos?

Optimizar las tablas es solo una parte del pastel. Para que tu WordPress vuele, considera estos ajustes adicionales.

Limpia las revisiones de entradas

Cada vez que guardas un borrador o actualizas un artículo, WordPress guarda una revisión completa en wp_posts. Con el tiempo, esto puede suponer cientos de filas inútiles.

Puedes borrarlas directamente con SQL:

DELETE FROM wp_posts WHERE post_type = 'revision';

O mejor aún, desactiva las revisiones en tu archivo wp-config.php añadiendo:

define('WP_POST_REVISIONS', 2);

Esto limita a 2 revisiones por entrada.

Elimina los transients caducados

Los transients son datos en caché que se guardan en wp_options. Muchos plugins los crean y no los borran. Para limpiarlos:

DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%';

Usa un motor de almacenamiento adecuado

La mayoría de tablas en WordPress usan InnoDB, que es perfecto para la integridad de datos. Si alguna tabla usa MyISAM, considera convertirla a InnoDB desde phpMyAdmin (opción "Operaciones" > "Motor de almacenamiento"). InnoDB es más eficiente con consultas concurrentes.


Preguntas frecuentes (FAQ) sobre optimización de tablas

¿Cada cuánto tiempo debo optimizar las tablas?

Depende del tráfico y la actividad de tu web. Como regla general:

  • Si publicas a diario o tienes comentarios constantes: una vez a la semana.

  • Si es un blog pequeño o una web estática: una vez al mes es suficiente.

¿Es peligroso optimizar tablas en un sitio en producción?

No, la operación es segura y no bloquea la lectura de datos en la mayoría de los casos. Sin embargo, si tienes un sitio muy grande (miles de visitas simultáneas), hazlo en horas de bajo tráfico.

¿La optimización reduce el tamaño de la base de datos?

Sí, especialmente si eliminas datos basura antes de optimizar. La fragmentación se compacta y el archivo .sql de tu copia de seguridad será más pequeño.

¿Qué pasa si me da error "Table is full" o "Table is crashed"?

Eso indica que la tabla está dañada. Ve a phpMyAdmin, selecciona la tabla problemática y usa la opción Reparar tabla en lugar de Optimizar. Si no funciona, restaura la copia de seguridad.


Conclusión: la optimización es un hábito, no una acción puntual

Optimizar las tablas de tu base de datos MySQL no es un evento único. Es una tarea de mantenimiento que deberías incorporar a tu rutina mensual. Con las herramientas que te he mostrado (phpMyAdmin, SSH o plugins), no tienes excusa para no hacerlo.

Recuerda que la base de datos es el corazón de tu WordPress. Si está sana y ligera, todo lo demás (plugins, temas, caché) funcionará mucho mejor. Empieza hoy mismo con una limpieza básica y programa la próxima para dentro de un mes. Tu web (y tus visitantes) te lo agradecerán con una carga más rápida y una mejor experiencia de usuario.

[INFO] Si usas Syspanel (HestiaCP) para gestionar tu hosting, no olvides que el acceso a las herramientas de base de datos se realiza a través del puerto 2106. Allí también puedes hacer copias de seguridad manuales antes de cualquier operación.

Ahora que ya sabes cómo optimizar tablas MySQL, no hay excusa para tener una web lenta. Manos a la obra.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel