UA-51298262-10 Skip to main content
WordPress

Optimizar wp_options en WordPress y reducir la carga

By septiembre 8, 2026No Comments
Optimizar wp_options en WordPress y reducir la carga

Por qué la tabla wp_options frena tu WordPress

Si andas buscando cómo optimizar tabla wp_options, sospecho que ya has probado lo de siempre: caché, CDN, comprimir imágenes. Y el sitio sigue lento. Pues mira, hay una tabla que casi nadie revisa y que suele ser la culpable. La wp_options. Cada vez que alguien carga una página, WordPress recupera de ella todos los registros marcados como autoload. Si ahí dentro hay megas de datos que ya no sirve nadie, el rendimiento se hunde.

Una instalación limpia ronda las 200-300 filas, con un autoload de menos de 800 KB. Cuando pasa de 1 MB ya hay problema. Si llega a 3 MB, ni te cuento.

Cómo diagnosticar el estado de tu tabla wp_options

Medir el tamaño del autoload

Ejecuta esta consulta en phpMyAdmin o desde la consola de MySQL:

SELECT SUM(LENGTH(option_value)) AS autoload_size FROM wp_options WHERE autoload = ‘yes’;

El resultado viene en bytes. Divide entre 1024 y tienes KB. Por encima del millón de bytes, hay trabajo que hacer.

Identificar los registros autoload más pesados

Con esto sacas los 20 registros autoload más gordos:

SELECT option_name, LENGTH(option_value) AS size FROM wp_options WHERE autoload = ‘yes’ ORDER BY size DESC LIMIT 20;

Esa lista te dice bastante. Ahí aparecen los de siempre: opciones de plugins que desinstalaste hace meses, transients expirados que nadie borró, restos de temas antiguos.

Limpiar transients expirados y huérfanos

Los transients son datos temporales. Deberían borrarse solos. Pero plugins mal programados los dejan ahí, acumulándose sin pudor. Ejecuta:

DELETE FROM wp_options WHERE option_name LIKE ‘_transient_%’ AND option_value = »;

Y para los que tienen la expiración ya vencida:

DELETE FROM wp_options WHERE option_name LIKE ‘_transient_timeout_%’ AND option_value < UNIX_TIMESTAMP();

Consejo: copia de seguridad antes de tocar nada con un DELETE. Siempre. Si no te ves con valor para meterte en la base de datos, en RedServicio (redservicio.net) te hacemos el backup y la limpieza completa.

Convertir registros autoload a no-autoload

Ojo, porque no todo lo pesado hay que borrarlo. Muchos datos solo necesitan dejar de cargarse en cada visita. El feed de noticias del escritorio, por ejemplo, o el historial de actualizaciones. Se cambia así:

UPDATE wp_options SET autoload = ‘no’ WHERE option_name IN (‘recently_edited’, ‘dashboard_widget_options’);

Con opciones de plugins, más cuidado: primero verifica que el plugin no dependa de que ese valor esté en autoload. Si algo se rompe, revierte el cambio y listo.

Eliminar residuos de plugins desinstalados

Desinstalas un plugin y, en muchos casos, sus opciones se quedan en la base de datos para siempre. Para encontrarlas, busca nombres que contengan el slug del plugin desaparecido:

SELECT option_name, LENGTH(option_value) FROM wp_options WHERE option_name LIKE ‘%nombre_del_plugin%’;

¿El plugin ya no está instalado y el tema no lo usa? Entonces puedes borrarlas sin miedo. Si dudas, mejor marcarlas primero con autoload = ‘no’ y observar el sitio unos días.

Optimizar físicamente la tabla con OPTIMIZE TABLE

Borrar miles de filas deja la tabla fragmentada. Se recupera así:

OPTIMIZE TABLE wp_options;

Esto reordena datos e índices y reduce el tiempo de lectura. Si has limpiado wp_postmeta recientemente, hazlo también ahí.

Prevención: buenas prácticas para mantener wp_options ligera

  1. Desinstala plugins con sus herramientas oficiales y revisa después si dejan residuos en wp_options.
  2. Evita instalar y desinstalar plugins de prueba en producción; usa un entorno de staging.
  3. Programa una limpieza de transients mensual con WP-CLI: wp transient delete –expired.
  4. Revisa el tamaño del autoload cada trimestre con la consulta de diagnóstico.
  5. Mantén el archivo wp-config.php sin opciones dinámicas innecesarias y usa constantes para configuraciones fijas.
Dato útil: en sitios con mucho tráfico, pasar el autoload de 5 MB a menos de 1 MB puede recortar entre 100 y 300 milisegundos el tiempo de respuesta del servidor en cada petición sin caché.

Conclusión

La wp_options es de esas tablas que nadie mira y que, sin embargo, condicionan el tiempo de carga de cualquier WordPress. Medir el autoload, limpiar transients vencidos, quitar restos de plugins antiguos y pasar registros pesados a no-autoload: todo esto puedes aplicarlo hoy mismo con las consultas de arriba. Eso sí, con backup previo, y monitorizando después con algo como Query Monitor o New Relic. ¿Prefieres no tocar la base de datos? Es una opción razonable. En RedServicio (redservicio.net) llevamos años optimizando bases de datos de WordPress y podemos hacerlo por ti.