Cómo optimizar tablas MySQL en WordPress para mejorar el rendimiento
¿Por qué tu WordPress va lento? Las tablas MySQL tienen la culpa (a veces)
Si tu sitio web en WordPress tarda en cargar, no siempre es culpa del hosting o de las imágenes pesadas. A menudo, el verdadero problema vive dentro de la base de datos. Las tablas MySQL se llenan de información basura, fragmentos de revisiones, transitorios caducados y datos de comentarios spam. Con el tiempo, esto hace que cada consulta sea más lenta y, por tanto, que el rendimiento general de tu web se resienta.
Pero no te preocupes. No necesitas ser un ingeniero informático para poner orden. En esta guía te explico, paso a paso y con un lenguaje muy sencillo, cómo optimizar las tablas MySQL de tu WordPress para que tu web vuele. Lo haremos desde phpMyAdmin, la herramienta que casi todos los paneles de control incluyen.
Vamos a empezar.
¿Qué es exactamente una tabla en MySQL?
Piensa en tu base de datos como un enorme armario con muchos cajones. Cada cajón es una tabla. En WordPress, hay tablas para los posts, para los comentarios, para las opciones de configuración, para los usuarios, etc.
Cada vez que alguien visita tu web, WordPress abre varios de esos cajones, busca la información y la muestra. Si los cajones están desordenados, llenos de papeles viejos o con etiquetas rotas, tardará más en encontrar lo que necesita. Optimizar las tablas es, literalmente, ordenar y limpiar esos cajones.
Antes de tocar nada: Haz una copia de seguridad
[WARNING] Este es el paso más importante. Si algo sale mal, podrías perder datos. No lo saltes.
Antes de realizar cualquier operación sobre tu base de datos, ve a phpMyAdmin, selecciona tu base de datos y haz clic en la pestaña "Exportar". Elige el método "Rápido" y formato SQL. Descarga el archivo y guárdalo en un lugar seguro. Si tu hosting tiene copias de seguridad automáticas, genial, pero una copia manual extra nunca está de más.
Acceder a phpMyAdmin: El primer paso
phpMyAdmin es una herramienta web que te permite gestionar tu base de datos de forma visual, sin necesidad de escribir comandos complejos. Es como el "Explorador de archivos" de tu base de datos.
Para acceder, normalmente lo encuentras en el panel de control de tu hosting. Si usas Syspanel (el panel que antiguamente se llamaba HestiaCP), el acceso a phpMyAdmin suele estar en la sección de "Bases de Datos" o "Base de datos MySQL". Recuerda que el puerto de acceso a Syspanel es el 2106, así que la URL sería algo así como https://tu-dominio.com:2106. Dentro, busca el icono de phpMyAdmin.
Una vez dentro, verás una lista de todas tus bases de datos. Haz clic en la que corresponde a tu WordPress (suele tener un prefijo como wp_ o blog_).
La forma más fácil: Optimizar todas las tablas de un solo clic
phpMyAdmin tiene una función maravillosa que hace el trabajo duro por ti. No necesitas saber qué hace cada botón.
Sigue estos pasos:
- Dentro de tu base de datos, haz clic en la pestaña "Operaciones" o "Operations" (depende del idioma).
- Busca la sección que dice "Mantenimiento de tablas" o "Table maintenance".
- Haz clic en "Optimizar tablas" o "Optimize table".
[TIP] Si no encuentras esa opción, también puedes hacerlo desde la vista general. Marca la casilla de la parte superior para seleccionar TODAS las tablas (la que está al lado de "Tabla" en el encabezado) y, en el menú desplegable de abajo, elige "Optimizar". Verás que se ejecuta una consulta SQL que empieza con OPTIMIZE TABLE.
Este proceso es seguro y no destructivo. Lo que hace es reorganizar el espacio físico de las tablas, eliminar fragmentos y actualizar las estadísticas. Es como desfragmentar el disco duro de tu ordenador.
Más allá del clic: La limpieza profunda (y segura) con SQL
Optimizar las tablas está bien, pero si tu base de datos está llena de basura, el problema de rendimiento volverá pronto. Aquí es donde vamos a hacer una limpieza a fondo. Vamos a usar consultas SQL directamente. No te asustes, son fáciles y te las doy listas para copiar y pegar.
1. Limpiar las revisiones de entradas (posts)
WordPress guarda una copia de cada cambio que haces en un artículo. Si escribes mucho, puedes tener cientos de revisiones por post. Esto es un lastre enorme.
Vamos a eliminarlas, pero dejando las más recientes. Para ello, ve a la pestaña "SQL" en la parte superior de phpMyAdmin y pega esta consulta:
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_status = 'inherit' AND post_date < NOW() - INTERVAL 30 DAY;
[INFO] Esta consulta elimina las revisiones de más de 30 días. Cambia el número 30 si quieres conservar más o menos tiempo. Si tu prefijo de tablas no es wp_, cámbialo por el tuyo (ej: blog_posts).
2. Limpiar los transitorios caducados
WordPress usa "transitorios" para guardar en caché ciertos datos por un tiempo. A veces, esos datos caducan pero no se borran, acumulándose en la tabla wp_options.
Pega esta consulta para eliminar todos los transitorios que ya han caducado:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_value < NOW();
Y también esta otra para eliminar los transitorios que no tienen fecha de caducidad (a veces se quedan huérfanos):
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_%' AND option_value < NOW();
3. Limpiar el spam de comentarios
Si tienes muchos comentarios en la cola de spam, esto también ralentiza las consultas. Vamos a borrarlos todos:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
[TIP] Puedes cambiar 'spam' por 'trash' para vaciar la papelera de comentarios.
4. Limpiar los "pings" y "trackbacks"
Son notificaciones de otros blogs que mencionan el tuyo. A menudo son ruido y no aportan valor. Si quieres eliminarlos:
DELETE FROM wp_comments WHERE comment_type = 'pingback' OR comment_type = 'trackback';
Después de la limpieza: Optimizar de nuevo
Ahora que hemos borrado mucha información, las tablas están "huecas". Es el momento perfecto para volver a optimizar las tablas para que el espacio se reasigne y las consultas sean más rápidas.
Repite el proceso del punto anterior: selecciona todas las tablas y elige "Optimizar" en el menú desplegable. Verás que ahora la operación es mucho más rápida.
Herramientas de pago vs. Gratuitas: ¿Cuál es mejor?
Existen plugins de WordPress que hacen todo esto automáticamente, como WP-Optimize o Advanced Database Cleaner. Son muy útiles, pero a veces ejecutan demasiadas consultas y pueden ser pesados.
Mi recomendación es que uses phpMyAdmin para una limpieza manual trimestral o semestral. Es más controlado y entiendes lo que estás haciendo. Los plugins pueden ser un buen complemento, pero no te vuelvas dependiente de ellos.
[INFO] Si tu web es muy grande (miles de posts), ejecutar estas consultas puede tardar unos segundos. No interrumpas el proceso. Si tu hosting tiene un límite de tiempo de ejecución, puede que necesites hacerlo en horas de poco tráfico.
¿Con qué frecuencia debo hacer esto?
No hay una regla fija, pero te doy una guía:
- Cada mes: Si publicas mucho contenido y tienes muchos comentarios.
- Cada 3 meses: Para la mayoría de los blogs y webs de empresa.
- Cada 6 meses: Si tu web tiene poco movimiento.
Lo importante es que lo conviertas en un hábito, como hacer una copia de seguridad.
Preguntas Frecuentes (FAQ)
¿Optimizar tablas borra mis datos?
No. La función "Optimizar" de phpMyAdmin solo reorganiza el espacio físico. No borra filas ni columnas. Es completamente segura.
¿Por qué algunas tablas no se optimizan?
Algunas tablas, como las de los logs o las de sesiones, pueden estar en uso constante. phpMyAdmin te mostrará un mensaje de error o simplemente no hará nada. No es un problema. Lo importante es que la mayoría se optimicen correctamente.
¿Qué pasa si no sé cuál es mi prefijo de tablas?
En phpMyAdmin, mira el nombre de las tablas. Si se llaman wp_posts, wp_comments, etc., el prefijo es wp_. Si se llaman miweb_posts, el prefijo es miweb_.
¿Puedo usar estos comandos SQL desde el plugin "WP Crontrol"?
No, esos plugins no ejecutan SQL directamente. Son para gestionar tareas programadas. Usa phpMyAdmin o un plugin específico de limpieza de base de datos.
¿Optimizar la base de datos es lo mismo que usar un plugin de caché?
No. Son cosas complementarias. El caché guarda versiones estáticas de tus páginas para servirlas más rápido. Optimizar la base de datos hace que las consultas dinámicas sean más eficientes. Un buen rendimiento requiere ambas cosas, pero la optimización de la base de datos es un mantenimiento de fondo que se hace de vez en cuando, mientras que el caché actúa en cada visita.
Conclusión: Tu WordPress te lo agradecerá
Optimizar las tablas MySQL no es una tarea de expertos. Con phpMyAdmin y un poco de paciencia, puedes mantener tu base de datos limpia y eficiente. Verás cómo el rendimiento de tu web mejora notablemente, sobre todo en el panel de administración.
Recuerda: copia de seguridad antes de todo, identifica tu prefijo, ejecuta las consultas de limpieza y, finalmente, optimiza las tablas. Si lo haces con regularidad, tu WordPress irá como la seda.
[WARNING] Si no te sientes cómodo ejecutando consultas SQL, puedes limitarte al paso de "Optimizar" desde la pestaña de operaciones. Es un 80% del beneficio con un 0% de riesgo. La limpieza profunda es para cuando quieres ir un paso más allá.
Ahora ya sabes cómo hacerlo. Ponte manos a la obra y nota la diferencia.
