Crear índices (index) de la tabla wp_options en WordPress


hosting wordpress

Una instalación de WordPress puede convertirse en algo muy pesado cuando instalamos y activamos plugins complejos y con muchas funcionalidades que guardan muchos datos en la base de datos. También los themes multipropósito con muchas posibilidades de personalización pueden tener este problema.

¿De que problema hablamos? Pues que se realicen SELECT o consultas muy largas y pesadas a la DB MySQL o MariaDB de la instalación de WordPress, en la mayoría de los casos a la tabla wp_options y la carga de esas consultas ralentice la carga completa del sitio web e incluso provoque un consumo de recursos fuera de lo normal.

mysql db wpoptions

Este problema es muy común cuando usamos themes pesados como The7, Avada, Enfold, etc. También podemos encontrarnos el problema cuando trabajamos con sitios web WooCommerce con muchos productos y muchas opciones de configuración.

Como he dicho antes, en la mayoría de los casos el problema viene por un exceso de datos guardados y cargados desde el wp_options, ya que en la tabla wp_options existe un campo llamado “autoload” que puede tener un valor “yes” o “no”. Si el valor es “yes”, esta opción será cargada en CADA CARGA DE PÁGINA y aquí es donde empieza el problema: si en cada carga de página se hace un SELECT gigante a la base de datos, tendremos este fallo.

¿Cómo podemos solucionar esto? Pues creando índices. Podemos crear un índice (INDEX) de la tabla wp_options de WordPress para mejorar el rendimiento y el consumo de recursos, al reducir el tiempo y los recursos necesarios para ejecutar el SELECT para cargar estas opciones.
Podemos crear un índice de la tabla wp_options con comandos en el CLI del servidor MySQL o MariaDB, pero también podemos utilizar un plugin: Index Autoload.

Simplemente instalando el plugin Index Autoload para WordPress (plugin gratuito y disponible en el repositorio de plugins de WordPress) vas a notar bastante cambio. No requiere configuración: solo tienes que activarlo y el plugin realizará un índice de wp_options que mantendrá automáticamente cada noche mediante la ejecución de una tarea en WP-CRON.

En la siguiente imagen puedes ver la mejora que se consigue a nivel consumo de recursos utilizando índices en la tabla wp_options de la DB MySQL de un WordPress.

index wp_options

Un buen complemento que puedes utilizar al mismo tiempo que creas índices de la tabla wp_options es utilizar el query cache o cache de consultas. Por otro lado, también puedes optimizar el servidor MySQL o MariaDB directamente en el servidor para mejorar el rendimiento general de la aplicación, en este caso WordPress.

Autor: Alvaro Fontela

Mi nombre es Alvaro Fontela, soy consultor WordPress y blogger activo desde hace años. Co-Fundador de Raiola Networks, escribiendo sobre WordPress en este blog día tras día.

[Total:8    Promedio:3.8/5]

Documentación relacionada

hosting wordpress