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

Guía para optimizar consultas MySQL en WordPress y PrestaShop

Actualizado el 5 de diciembre de 2025

¿Tu tienda online o web con WordPress o PrestaShop va lenta? A menudo, el culpable no es tu hosting, sino la base de datos. Las consultas lentas MySQL son como un atasco en la autopista de tu web. En esta guía, te explicaré paso a paso cómo optimizar consultas MySQL para que tanto WordPress como PrestaShop vuelen. No necesitas ser un experto en bases de datos, solo seguir estos consejos prácticos.

¿Por qué son importantes las consultas MySQL?

Imagina que tu web es una biblioteca enorme. Cada vez que un usuario entra, pide un libro (datos). Si los bibliotecarios (MySQL) tienen que buscar en montones de papeles desordenados, tardarán una eternidad. Optimizar consultas MySQL significa ordenar esos datos para que se encuentren al instante.

Las consultas lentas son peticiones que tardan más de lo normal en ejecutarse. En WordPress y PrestaShop, esto sucede por:

  • Tablas desordenadas o sin índices.
  • Plugins o módulos mal programados.
  • Un volumen de datos muy grande sin mantenimiento.
  • Servidor con recursos limitados.

El resultado: tiempos de carga altos, usuarios frustrados y peor posicionamiento SEO. Google penaliza las webs lentas.

Primeros pasos: Diagnóstico de consultas lentas

Antes de optimizar, debes saber qué está fallando. Aquí tienes cómo detectar las consultas lentas MySQL en tu sistema.

Activar el log de consultas lentas en MySQL

Accede a tu servidor por SSH (necesitarás las credenciales de tu hosting). Ejecuta:

mysql -u root -p

Luego, dentro de MySQL, activa el registro temporal:

SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;

Esto registrará todas las consultas que tarden más de 2 segundos. Para ver el archivo de log:

SHOW VARIABLES LIKE 'slow_query_log_file';

Si usas Syspanel (el panel de control que antes se llamaba HestiaCP, accesible por el puerto 2106), puedes revisar estos logs desde la sección de "Base de datos" o usando el comando tail en la terminal.

[TIP] Desactiva el log después de diagnosticar para no consumir recursos: SET GLOBAL slow_query_log = 'OFF';.

Herramientas para WordPress y PrestaShop

  • WordPress: Instala el plugin Query Monitor. Te muestra todas las consultas en tiempo real, su tiempo y qué plugin las genera.
  • PrestaShop: Activa el modo depuración en /config/defines.inc.php cambiando _PS_MODE_DEV_ a true. Luego, revisa el perfil de rendimiento en el back office.

Optimización para WordPress: MySQL al máximo

WordPress es muy dependiente de la base de datos. Aquí tienes las mejores prácticas para WordPress MySQL optimización.

1. Limpia y optimiza tablas regularmente

Con el tiempo, las tablas se fragmentan. Usa phpMyAdmin (desde Syspanel, puerto 2106, sección "Bases de datos") o un plugin como WP-Optimize.

Pasos:

  1. Accede a phpMyAdmin.
  2. Selecciona tu base de datos de WordPress.
  3. Marca todas las tablas (normalmente empiezan por wp_).
  4. En el menú desplegable, elige "Optimizar tabla".

Esto reorganiza los datos y libera espacio.

2. Añade índices a tablas clave

Los índices son como el índice de un libro: aceleran las búsquedas. En WordPress, la tabla wp_options suele ser un cuello de botella. Ejecuta esta consulta SQL en phpMyAdmin:

ALTER TABLE wp_options ADD INDEX (autoload);

También revisa wp_postmeta y wp_terms. Si tienes muchas entradas, añade índices compuestos:

ALTER TABLE wp_postmeta ADD INDEX (post_id, meta_key);

[WARNING] No añadas índices sin pensar. Demasiados pueden ralentizar las escrituras. Céntrate en las columnas que aparecen en consultas WHERE y JOIN.

3. Desactiva consultas innecesarias

Muchos plugins hacen consultas cada vez que cargas una página. Revisa con Query Monitor qué consultas se repiten. Por ejemplo:

  • Desactiva el almacenamiento en caché de transientes si no lo usas.
  • Elimina revisiones de entradas antiguas con DELETE FROM wp_posts WHERE post_type = 'revision'.

4. Usa un sistema de caché de objetos

La caché de objetos guarda resultados de consultas en memoria RAM. Instala Redis desde Syspanel (en la sección "Servicios") y luego el plugin Redis Object Cache en WordPress.

Configuración básica:

  1. Activa Redis en Syspanel.
  2. Instala el plugin y conéctalo (normalmente funciona automático).
  3. Verifica que las consultas se reducen drásticamente.

Optimización para PrestaShop: Rendimiento de base de datos

PrestaShop es más pesado que WordPress, pero con estos ajustes lograrás una gran PrestaShop MySQL rendimiento.

1. Limpia datos obsoletos

PrestaShop acumula muchos datos: pedidos antiguos, carritos abandonados, logs. Desde el back office:

  • Ve a Parámetros Avanzados > Rendimiento.
  • Activa "Limpiar automáticamente" y establece un período (ej: 30 días).

También puedes ejecutar SQL directamente:

DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_guest WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

2. Optimiza tablas específicas

PrestaShop tiene tablas muy grandes como ps_log o ps_search_index. Ejecuta:

OPTIMIZE TABLE ps_log;
OPTIMIZE TABLE ps_search_index;

3. Añade índices a tablas de búsqueda

La búsqueda en PrestaShop es famosa por ser lenta. Mejórala con índices:

ALTER TABLE ps_product ADD INDEX (id_category_default);
ALTER TABLE ps_product_lang ADD INDEX (name);

Si tienes muchos productos, considera usar el motor de búsqueda Elasticsearch (disponible en módulos avanzados).

4. Configura correctamente el motor de almacenamiento

PrestaShop funciona mejor con InnoDB que con MyISAM. Verifica el motor de cada tabla:

SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'tu_bd_prestashop';

Si ves MyISAM, conviértelo:

ALTER TABLE ps_product ENGINE=InnoDB;

[INFO] InnoDB soporta transacciones y bloqueo a nivel de fila, ideal para tiendas con muchos usuarios concurrentes.

Consejos avanzados para ambos sistemas

Independientemente de la plataforma, estos ajustes te ayudarán a optimizar consultas MySQL de forma global.

1. Ajusta la configuración de MySQL

Edita el archivo my.cnf (en Syspanel, busca "Configuración de servicios" o usa SSH). Recomendaciones:

[mysqld]
query_cache_size = 128M
tmp_table_size = 64M
max_heap_table_size = 64M
innodb_buffer_pool_size = 1G

El innodb_buffer_pool_size es clave: asigna el 70% de la RAM disponible si tu web es solo MySQL.

[WARNING] No copies estos valores sin ajustarlos a tu servidor. Si tienes 512MB de RAM, reduce a 256M.

2. Usa un plugin de caché de consultas

Además de Redis, puedes instalar:

  • WordPress: W3 Total Cache o WP Super Cache.
  • PrestaShop: Módulo de caché como "Advanced Cache" o "Page Cache".

Estos guardan páginas HTML estáticas, reduciendo consultas a la base de datos.

3. Monitoriza continuamente

Instala MySQLTuner para recibir recomendaciones automáticas:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl

Te dirá qué ajustar, como el tamaño del buffer o índices faltantes.

Preguntas frecuentes (FAQ)

¿Cada cuánto debo optimizar mi base de datos?
Al menos una vez al mes. Si tu web tiene mucho tráfico, cada semana.

¿Puedo romper algo al añadir índices?
Es raro, pero siempre haz una copia de seguridad antes. Usa phpMyAdmin o un plugin como UpdraftPlus.

¿Qué hago si las consultas lentas persisten?
Revisa si tu hosting es adecuado. A veces, el problema es el servidor. Cambia a un plan con más RAM o SSD.

¿Syspanel me ayuda con esto?
Sí, desde Syspanel (puerto 2106) puedes acceder a phpMyAdmin, reiniciar MySQL, y ver logs de consultas lentas. También instalar Redis con un clic.

¿El SEO mejora al optimizar consultas?
Totalmente. Google tiene en cuenta la velocidad de carga. Menos consultas lentas = mejor experiencia de usuario = mejor posicionamiento.

Conclusión

Optimizar consultas MySQL no es magia negra. Con limpiezas periódicas, índices estratégicos y una buena configuración del servidor, tu WordPress o PrestaShop pueden cargar en segundos. Empieza por diagnosticar las consultas lentas, aplica estos consejos y notarás la diferencia.

Recuerda que la clave está en el mantenimiento constante. No esperes a que tu web se vuelva inmanejable. Desde Syspanel (tu panel de control en el puerto 2106) tienes todas las herramientas para hacerlo fácilmente. ¡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