Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

«Las opciones cargadas automáticamente podrían afectar al rendimiento»: qué significa y cómo arreglarlo

En Herramientas → Salud del sitio puede aparecer una recomendación con un nombre largo: «Las opciones cargadas automáticamente podrían afectar al rendimiento». Suele venir acompañada de un número, por ejemplo «tu sitio tiene 2.400 opciones (1,8 MB) cargadas automáticamente».

Este aviso sí vale la pena atenderlo, porque afecta todas las páginas de tu sitio, incluido el escritorio.

Qué son las opciones «autoload», en simple

WordPress guarda sus ajustes y los de tus plugins en una tabla de la base de datos llamada wp_options. Cada fila tiene una marca que dice si debe cargarse siempre, en cada visita, o solo cuando se necesita.

Las que se cargan siempre viajan juntas en una sola consulta al empezar cada página. Si son pocas y livianas, es eficiente. El problema aparece cuando un plugin guarda ahí cosas grandes (registros, cachés, listas de miles de elementos) o cuando desinstalas un plugin y sus opciones se quedan cargándose para siempre, sin que nadie las use.

¿Desde cuánto preocuparse? WordPress muestra el aviso cuando el total supera unos 800 KB. Como referencia, un sitio sano suele estar por debajo de 300 o 400 KB.

Paso 1: ver cuáles pesan más

Haz un respaldo de la base de datos y abre phpMyAdmin desde cPanel. En la pestaña SQL ejecuta esta consulta (cambia wp_ si tu tabla usa otro prefijo):

SELECT option_name,
       ROUND(LENGTH(option_value) / 1024, 1) AS kb,
       autoload
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto-on', 'auto')
ORDER BY LENGTH(option_value) DESC
LIMIT 25;

Verás la lista de opciones ordenadas de la más pesada a la más liviana. El nombre casi siempre delata al dueño: wpseo_… es Yoast, elementor_… es Elementor, rank_math_… es Rank Math, _transient_… son datos temporales.

¿Por qué tantos valores de autoload? Desde WordPress 6.6 la columna ya no solo dice yes o no. También puede decir on, off, auto, auto-on o auto-off. Los que empiezan con «auto» significan que WordPress decide solo; por ejemplo, desde esa versión las opciones de más de 150 KB ya no se cargan siempre a menos que el plugin lo pida explícitamente.

Paso 2: decidir qué hacer con cada una

  • Es de un plugin que ya no usas: se puede borrar. Revisa antes que el nombre no coincida con un plugin activo.
  • Es de un plugin activo, pero enorme: no la borres; apaga su autoload (paso 3). El plugin la seguirá leyendo cuando la necesite, solo que con una consulta extra.
  • Empieza con _transient_: son datos temporales. Borrar los vencidos es siempre seguro.
  • Es de WordPress (siteurl, home, active_plugins, cron, rewrite_rules…): no la toques. Si cron pesa mucho, el problema está en las tareas programadas, no en la opción.

Paso 3: apagar el autoload sin borrar nada

Con WP-CLI (la forma más cómoda)

# Cuánto pesa hoy todo lo que se carga siempre
wp option list --autoload=on --format=total_bytes

# Las 20 más pesadas
wp option list --autoload=on --fields=option_name,size_bytes --format=csv | sort -t, -k2 -nr | head -n 20

# Apagar el autoload de una opción concreta
wp option set-autoload nombre_de_la_opcion off

# Borrar los transients vencidos
wp transient delete --expired

Con PHP, para dejarlo permanente

Algunos plugins vuelven a marcar su opción como «cargar siempre» cada vez que la guardan. Para esos casos, un mu-plugin lo corrige cada día. Guárdalo como wp-content/mu-plugins/cwp-autoload.php:

<?php
/**
 * Plugin Name: Autoload a dieta (Curso WordPress)
 * Description: Mantiene apagado el autoload de opciones pesadas.
 */

// Escribe aquí los nombres que encontraste en el paso 1.
const CWP_SIN_AUTOLOAD = array(
	'nombre_opcion_pesada_1',
	'nombre_opcion_pesada_2',
);

add_action( 'admin_init', function () {
	if ( get_transient( 'cwp_autoload_revisado' ) ) {
		return;
	}
	wp_set_options_autoload( CWP_SIN_AUTOLOAD, false );
	set_transient( 'cwp_autoload_revisado', 1, DAY_IN_SECONDS );
} );

Usa nombres exactos, nunca comodines. Y si un plugin deja de funcionar después del cambio, quita su opción de la lista: perderás algo de velocidad, pero nada se rompe.

Paso 4: comprobar el resultado

Vuelve a Salud del sitio y pulsa para revisar de nuevo, o repite la primera consulta. Un buen objetivo es bajar de 500 KB.

Si usas caché de objetos (Redis o Memcached), esto importa el doble. WordPress guarda todas las opciones autoload juntas en una sola entrada de esa caché. Memcached tiene un límite de 1 MB por entrada: si te pasas, deja de guardarla y el sitio va más lento que sin caché. Es un clásico difícil de diagnosticar.

Para desarrolladores: no seas tú el que llena la tabla

Si haces plugins, desde WordPress 6.6 puedes y debes decir explícitamente qué cargar siempre:

// Ajustes que se usan en cada página: sí.
add_option( 'mi_plugin_ajustes', $ajustes, '', true );

// Registros, cachés o datos que se usan solo en el escritorio: no.
add_option( 'mi_plugin_registro', array(), '', false );
update_option( 'mi_plugin_registro', $registro, false );

Y en la desinstalación (uninstall.php), borra tus opciones. Es lo que separa a un plugin limpio de uno que deja basura para siempre.

¿No sabes de quién es una opción de tu lista? Pega su nombre en el foro y te ayudamos a identificar el plugin y decidir si es seguro apagarla.