{"id":16213,"date":"2025-12-25T11:57:11","date_gmt":"2025-12-25T10:57:11","guid":{"rendered":"https:\/\/webhosting.de\/wordpress-autoload-optionen-performance-datenbank-tuning-boost\/"},"modified":"2025-12-25T11:57:11","modified_gmt":"2025-12-25T10:57:11","slug":"wordpress-opciones-de-autocarga-rendimiento-optimizacion-de-la-base-de-datos-impulso","status":"publish","type":"post","link":"https:\/\/webhosting.de\/es\/wordpress-autoload-optionen-performance-datenbank-tuning-boost\/","title":{"rendered":"Optimizar las opciones de autoload de WordPress: obst\u00e1culos ocultos para el rendimiento en la base de datos"},"content":{"rendered":"<p><strong>Opciones de carga autom\u00e1tica de WordPress<\/strong> decidir qu\u00e9 opciones de la tabla wp_options se transfieren a la memoria cada vez que se carga una p\u00e1gina, lo que influye directamente en el tiempo de carga, el TTFB y los requisitos de memoria. Te mostrar\u00e9 c\u00f3mo identificar datos de autocarga demasiado grandes, reducirlos de forma selectiva y mantenerlos peque\u00f1os de forma permanente, para que las solicitudes se inicien m\u00e1s r\u00e1pido y el backend responda de forma notablemente m\u00e1s fluida.<\/p>\n\n<h2>Puntos centrales<\/h2>\n\n<p>Muchas instalaciones descargan paquetes de datos que crecen silenciosamente. <strong>Carga autom\u00e1tica<\/strong>, aunque estas entradas no son necesarias para todas las p\u00e1ginas. Primero priorizo el an\u00e1lisis del tama\u00f1o total, luego las opciones m\u00e1s grandes y, a continuaci\u00f3n, establezco las entradas no cr\u00edticas en <strong>autoload=no<\/strong> o las elimino de forma controlada. De este modo, reduzco el TTFB y el consumo de RAM, estabilizo las consultas y alivio la carga de PHP. Adem\u00e1s, mantengo los transitorios limpios y compruebo la tabla regularmente para evitar que se acumule nuevo lastre. El alojamiento, la cach\u00e9 de objetos y una tabla wp_options optimizada interact\u00faan entre s\u00ed y proporcionan mejoras notables en el rendimiento sin ning\u00fan riesgo.<\/p>\n<ul>\n  <li><strong>An\u00e1lisis<\/strong> El tama\u00f1o de la carga autom\u00e1tica y las opciones principales<\/li>\n  <li><strong>Limpieza<\/strong> Entradas de complementos hu\u00e9rfanas<\/li>\n  <li><strong>Interruptor<\/strong> Opciones amplias y poco utilizadas en no<\/li>\n  <li><strong>Transitorios<\/strong> y eliminar datos temporales<\/li>\n  <li><strong>Monitoreo<\/strong> y tener en cuenta la configuraci\u00f3n del alojamiento<\/li>\n<\/ul>\n<p>Incorporo estos pasos en mi <strong>Mantenimiento<\/strong> para que la base de datos se mantenga \u00e1gil y el sitio web responda con rapidez y fiabilidad incluso en momentos de mayor tr\u00e1fico.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpress-autoload-optimierung-4729.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>\u00bfQu\u00e9 son las opciones de carga autom\u00e1tica en WordPress?<\/h2>\n\n<p>WordPress almacena las configuraciones en <strong>wp_opciones<\/strong>, incluyendo URL, plugins activos, informaci\u00f3n sobre temas, widgets, transitorios y mucho m\u00e1s. Cada registro tiene el nombre, el valor y el campo. <strong>carga autom\u00e1tica<\/strong>, que determina con \u00abyes\u00bb o \u00abno\u00bb si WordPress carga la entrada cada vez que se inicia la p\u00e1gina. La funci\u00f3n wp_load_alloptions lee todas las entradas autoload=yes de una sola vez para proporcionar ajustes frecuentes sin muchas consultas SQL individuales. Este mecanismo ahorra tiempo con pocos valores peque\u00f1os, pero ralentiza el proceso de inicio con muchas entradas grandes. Aqu\u00ed es precisamente donde se produce un freno oculto que apenas se nota en el d\u00eda a d\u00eda. A lo largo de los a\u00f1os, se acumula una carga que puede prolongar cada solicitud entre milisegundos y segundos.<\/p>\n\n<p>No todas las opciones pertenecen a <strong>Carga autom\u00e1tica<\/strong>: Datos b\u00e1sicos como siteurl o active_plugins s\u00ed, datos de cach\u00e9 o de registro m\u00e1s bien no. Si quedan restos de plugins antiguos en la tabla y est\u00e1n marcados como \u00abyes\u00bb, WordPress seguir\u00e1 carg\u00e1ndolos aunque ya nadie los solicite en el c\u00f3digo. Los campos grandes de los creadores de p\u00e1ginas, los plugins de formularios o las suites de SEO pueden hacer que el paquete de carga autom\u00e1tica supere r\u00e1pidamente 1 MB. A partir de ese momento, el TTFB y los requisitos de memoria aumentan, especialmente en hosts compartidos y con una carga elevada. Por lo tanto, compruebo regularmente qu\u00e9 es lo que realmente debe cargarse autom\u00e1ticamente.<\/p>\n\n<h2>Por qu\u00e9 la carga autom\u00e1tica frena el rendimiento<\/h2>\n\n<p>Cada visita a la p\u00e1gina suma el total de todas las <strong>autoload=s\u00ed<\/strong> Valores en la memoria, independientemente de si los datos son relevantes para la p\u00e1gina actual. Esto consume RAM, aumenta la estructura PHP y ralentiza la ejecuci\u00f3n inicial antes del renderizado. Cuantos m\u00e1s plugins se instalen, m\u00e1s crecer\u00e1 el paquete sin que nos demos cuenta. Las configuraciones de WooCommerce, los plugins de seguimiento o los creadores de p\u00e1ginas tambi\u00e9n aumentan la probabilidad de entradas grandes. Si dejas que esto siga as\u00ed, el primer byte, que a menudo determina la impresi\u00f3n general, sufrir\u00e1 especialmente bajo la carga.<\/p>\n\n<p>Varias gu\u00edas t\u00e9cnicas recomiendan que el tama\u00f1o total no supere aproximadamente <strong>1 MB<\/strong> porque aumenta notablemente la latencia. Cuando se encuentran grandes cantidades de datos de autoload con un I\/O d\u00e9bil o mucho tr\u00e1fico paralelo, los tiempos de respuesta aumentan considerablemente. El backend se vuelve lento, las p\u00e1ginas de administraci\u00f3n se abren m\u00e1s lentamente y las tareas cron tardan m\u00e1s en ejecutarse. El efecto no afecta directamente al almacenamiento en cach\u00e9, pero retrasa la generaci\u00f3n de respuestas y el llenado de la cach\u00e9. Por lo tanto, mantengo el autoload lo m\u00e1s peque\u00f1o posible y solo cargo lo que realmente necesito en todas partes.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpress_autoload_meeting_8472.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>As\u00ed compruebo el tama\u00f1o de los datos de carga autom\u00e1tica<\/h2>\n\n<p>Empiezo con un completo <strong>Copia de seguridad<\/strong> de la base de datos y, a continuaci\u00f3n, leo el tama\u00f1o de la carga autom\u00e1tica. En el panel de control, el estado del sitio web ya proporciona una indicaci\u00f3n si el n\u00famero y el tama\u00f1o son notablemente altos. Para obtener una medici\u00f3n exacta, utilizo SQL y sumo la longitud de todos los valores autoload=yes. Este n\u00famero me indica la urgencia con la que debo intervenir. Si supera 1 MB, planifico inmediatamente una limpieza espec\u00edfica. Una pr\u00e1ctica <a href=\"https:\/\/webhosting.de\/es\/wordpress-optimizacion-base-de-datos-wpoptions-consejos-mantenimiento-de-datos\/\">WP-Options Mantenimiento de datos<\/a> me ayuda a actuar de forma coherente.<\/p>\n\n<p>Utilizo las dos consultas siguientes para analizar la <strong>Talla<\/strong> y los m\u00e1s grandes. Primero calculo la suma de todos los valores cargados autom\u00e1ticamente. A continuaci\u00f3n, enumero los 10 principales por tama\u00f1o de campo para obtener resultados r\u00e1pidos. As\u00ed puedo detectar en cuesti\u00f3n de minutos d\u00f3nde se pierde memoria y latencia. Despu\u00e9s, priorizo la eliminaci\u00f3n o el cambio a autoload=no.<\/p>\n\n<pre><code>SELECT SUM(LENGTH(option_value)) AS autoload_size FROM wp_options WHERE autoload = 'yes';\n<\/code><\/pre>\n\n<pre><code>SELECT nombre_opci\u00f3n, LENGTH(valor_opci\u00f3n) AS longitud_valor_opci\u00f3n FROM wp_options WHERE autoload = 'yes' ORDER BY longitud_valor_opci\u00f3n DESC LIMIT 10;\n<\/code><\/pre>\n\n<h2>Qu\u00e9 entradas suelen ser grandes<\/h2>\n\n<p>Frecuentes flatulencias <strong>Transitorios<\/strong>, objetos de cach\u00e9 y datos de registro se cargan autom\u00e1ticamente sin necesidad. Los dise\u00f1os de generador y las configuraciones de formularios tambi\u00e9n escriben matrices extensas que no son necesarias para cada p\u00e1gina del frontend. Incluso los plugins desactivados suelen dejar restos que siguen estando en \u00abyes\u00bb. En la pr\u00e1ctica, se repiten patrones en los que baso mi limpieza. La siguiente tabla resume los candidatos t\u00edpicos y las recomendaciones. Esta visi\u00f3n general acelera la decisi\u00f3n de si es conveniente eliminar o cambiar a \u00abno\u00bb.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Categor\u00eda<\/th>\n      <th>Ejemplos option_name<\/th>\n      <th>Tama\u00f1o t\u00edpico<\/th>\n      <th>Recomendaci\u00f3n<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td><strong>N\u00facleo<\/strong> Base<\/td>\n      <td>siteurl, home, blogname<\/td>\n      <td>peque\u00f1o<\/td>\n      <td>mantener autoload=yes<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tema<\/strong> &amp; Widgets<\/td>\n      <td>plantilla, hoja de estilos, widget_*<\/td>\n      <td>peque\u00f1o-mediano<\/td>\n      <td>Comprobar, normalmente s\u00ed, vale.<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Constructor<\/strong> \/ Formularios<\/td>\n      <td>builder_*, form_*, theme_mods_*<\/td>\n      <td>mediano-grande<\/td>\n      <td>Establecer autoload=no<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Transitorios<\/strong><\/td>\n      <td>_transient_*, _site_transient_*<\/td>\n      <td>mediano-grande<\/td>\n      <td>Eliminar los que caducan, si no...<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Cache<\/strong> &amp; Registros<\/td>\n      <td>cache_*, log_*, debug_*<\/td>\n      <td>Grande<\/td>\n      <td>No cargar autom\u00e1ticamente, eliminar si es necesario.<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Hu\u00e9rfano<\/strong><\/td>\n      <td>Restos antiguos de plugin_*<\/td>\n      <td>peque\u00f1o-grande<\/td>\n      <td>Eliminar despu\u00e9s de la copia de seguridad<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>En todos los dispositivos, una r\u00edgida <strong>Separaci\u00f3n<\/strong> de configuraciones permanentes y datos temporales los mejores efectos. Solo cargo lo que cada p\u00e1gina realmente necesita. Todo lo dem\u00e1s permanece disponible, pero no se carga autom\u00e1ticamente. De esta manera, aliger\u00e9 la fase de inicio y la gesti\u00f3n de objetos del proceso PHP. Resultado: tiempos de respuesta notablemente m\u00e1s r\u00e1pidos.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpress-autoload-optimieren-3947.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Estrategias para la optimizaci\u00f3n<\/h2>\n\n<p>Empiezo quitando <strong>contaminaci\u00f3n hist\u00f3rica<\/strong> Plugins abandonados, porque estos pasos ahorran mucho espacio y tiempo r\u00e1pidamente. A continuaci\u00f3n, configuro las opciones grandes y poco utilizadas en autoload=no, para que solo se lean cuando sea necesario. Las entradas temporales o relacionadas con la cach\u00e9 nunca deben incluirse en Autoload y se eliminan o se almacenan en memorias dedicadas. Sigo limpiando sistem\u00e1ticamente los transitorios, especialmente los registros caducados. Por \u00faltimo, vuelvo a comprobar el tama\u00f1o total y documento el nuevo estado. De este modo, consigo transparencia y establezco un sistema de supervisi\u00f3n.<\/p>\n\n<p>Trabajo de forma incremental para <strong>Riesgos<\/strong> Minimizar: primero medir, luego cambiar de forma espec\u00edfica y, a continuaci\u00f3n, volver a comprobar. Tengo una copia de seguridad preparada para cada eliminaci\u00f3n. Para las p\u00e1ginas productivas, planifico franjas horarias fuera de las horas punta. Pruebo los cambios en campos sensibles en una instancia de ensayo. De este modo, la p\u00e1gina permanece en l\u00ednea y el resultado es fiable.<\/p>\n\n<h2>Establecer Autoload en \u201eno\u201c: implementaci\u00f3n segura<\/h2>\n\n<p>No todas las opciones grandes tienen que desaparecer, muchas se pueden combinar con <strong>autoload=no<\/strong> Desactivar. De este modo, se mantiene la configuraci\u00f3n, solo se omite la carga autom\u00e1tica. Realizo el cambio de forma controlada mediante SQL y, a continuaci\u00f3n, compruebo el comportamiento en el frontend y en el backend. Pruebo espec\u00edficamente las p\u00e1ginas cr\u00edticas, como los formularios o las funciones de la tienda. Si se producen errores, revoco el cambio inmediatamente. El procedimiento es r\u00e1pido y, por lo general, no tiene efectos secundarios.<\/p>\n\n<pre><code>UPDATE wp_options SET autoload = 'no' WHERE option_name = 'TU_NOMBRE_DE_OPCI\u00d3N';\n<\/code><\/pre>\n\n<p>Para varios candidatos, escribo una peque\u00f1a <strong>Lista<\/strong> de los nombres de la consulta de los 10 primeros y los procesa uno tras otro. Despu\u00e9s de cada actualizaci\u00f3n, vuelvo a medir el tama\u00f1o. Si la suma se reduce significativamente, el TTFB y el consumo de RAM disminuyen inmediatamente. Si algo sale mal, utilizo la copia de seguridad o vuelvo a establecer autoload en yes. As\u00ed me mantengo en el lado seguro.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpress_autoload_opt_7493.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Eliminar transitorios y datos temporales<\/h2>\n\n<p>Los transitorios son limitados en el tiempo. <strong>memoria intermedia<\/strong> y a menudo se mantienen innecesariamente durante mucho tiempo en wp_options. Las entradas caducadas suelen permanecer ah\u00ed si la limpieza falla. Yo elimino regularmente las entradas caducadas _transient_* y _site_transient_*. Adem\u00e1s, me aseguro de que esos datos no se almacenen con autoload=yes. De este modo, el paquete de autoload se reduce notablemente y se mantiene peque\u00f1o. Este cuidado debe formar parte de cualquier plan de mantenimiento.<\/p>\n\n<pre><code>DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%';\n<\/code><\/pre>\n\n<p>Quienes utilizan herramientas prestan atenci\u00f3n a <strong>Seguridad<\/strong> y registros claros, para que los cambios sean comprensibles. Primero pruebo manualmente los trabajos de limpieza autom\u00e1tica. Despu\u00e9s programo comprobaciones peri\u00f3dicas, por ejemplo, trimestrales. As\u00ed no hay sorpresas. Y la tabla no vuelve a crecer sin que nos demos cuenta.<\/p>\n\n<h2>\u00cdndice en la columna Autoload<\/h2>\n\n<p>Si hay muchas opciones, se puede crear un \u00edndice en la columna. <strong>carga autom\u00e1tica<\/strong> Acelerar a\u00fan m\u00e1s los accesos. La consulta autoload=yes se beneficia entonces de una b\u00fasqueda m\u00e1s r\u00e1pida. Esto resulta especialmente \u00fatil en tiendas grandes y activas o en configuraciones multisitio. La intervenci\u00f3n debe realizarse por manos expertas, ya que los \u00edndices incorrectos pueden crear sus propios problemas. Con un plan claro y una copia de seguridad, los tiempos de consulta se reducen notablemente. Documentar\u00e9 el cambio y medir\u00e9 el efecto.<\/p>\n\n<p>Paralelamente, creo que la <strong>Base de datos<\/strong> De forma integral: el motor, el b\u00fafer, las consultas lentas y las tareas programadas influyen en el resultado global. La carga autom\u00e1tica es una herramienta fundamental, pero no la \u00fanica. Una tabla ordenada con una buena indexaci\u00f3n interact\u00faa con las cach\u00e9s y la configuraci\u00f3n de PHP. As\u00ed consigo ganar unos milisegundos adicionales. Las peque\u00f1as correcciones se van sumando.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpressautoloaddesk1934.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Combinar de forma inteligente el alojamiento, la cach\u00e9 de objetos y la carga autom\u00e1tica<\/h2>\n\n<p>Un host r\u00e1pido amortigua los efectos negativos de los grandes <strong>Carga autom\u00e1tica<\/strong>, pero no sustituye a la limpieza. Resulta especialmente eficaz cuando una cach\u00e9 de objetos gestiona los accesos frecuentes a las opciones. De este modo, los valores se almacenan en la memoria y se evitan las lecturas recurrentes de la base de datos. Sin embargo, la mayor ventaja sigue siendo una suma de autoload reducida. Esta comparaci\u00f3n ofrece una breve orientaci\u00f3n: mantenga el autoload reducido y luego complemente las cach\u00e9s de forma sensata. Encontrar\u00e1 m\u00e1s informaci\u00f3n al respecto en el art\u00edculo. <a href=\"https:\/\/webhosting.de\/es\/cache-de-pagina-frente-a-cache-de-objetos-mejora-del-alojamiento-de-wordpress\/\">Cach\u00e9 de p\u00e1gina frente a cach\u00e9 de objetos<\/a>.<\/p>\n\n<p>Ocultar cach\u00e9s <strong>Problemas<\/strong> Solo de forma limitada, si la base de datos es innecesariamente grande. Primero limpio la tabla para que las cach\u00e9s tengan que transportar menos datos. Despu\u00e9s, obtengo un doble beneficio: un inicio m\u00e1s r\u00e1pido y un acceso repetido m\u00e1s r\u00e1pido. La monitorizaci\u00f3n me muestra si el TTFB y la RAM se mantienen estables en niveles m\u00e1s bajos. De este modo, se crea una configuraci\u00f3n limpia con reservas para los picos de tr\u00e1fico.<\/p>\n\n<h2>Cu\u00e1ndo es imprescindible autoload=yes<\/h2>\n\n<p>No todo puede pasar a \u201eno\u201c. Hay <strong>Opciones principales<\/strong>, que WordPress necesita muy pronto en el arranque o pr\u00e1cticamente en cada solicitud. Entre ellos incluyo normalmente:<\/p>\n<ul>\n  <li>siteurl y home (URL b\u00e1sicas, utilizadas anteriormente)<\/li>\n  <li>active_plugins (se necesita directamente al cargar los plugins)<\/li>\n  <li>hoja de estilo y plantilla (selecci\u00f3n de tema)<\/li>\n  <li>nombre del blog, descripci\u00f3n del blog, blog_charset (datos generales de la p\u00e1gina)<\/li>\n  <li>rewrite_rules (se necesita para el an\u00e1lisis de solicitudes y puede ser grande)<\/li>\n<\/ul>\n<p>Por lo general, dejo estas opciones en <strong>autoload=s\u00ed<\/strong>. En casos l\u00edmite como <em>rewrite_rules<\/em> Compruebo si hay conjuntos de reglas excepcionalmente grandes y si hay enlaces permanentes o complementos incorrectos que aumenten el tama\u00f1o. Campos como <em>cron<\/em> y las opciones complejas de los complementos se consideran <strong>sensible<\/strong>: Pueden crecer mucho, pero se utilizan con frecuencia. Aqu\u00ed compruebo en Staging si <em>autoload=no<\/em> Tiene efectos secundarios antes de tomar una decisi\u00f3n.<\/p>\n\n<h2>Caracter\u00edsticas multisitio y opciones de red<\/h2>\n\n<p>En <strong>Multisitio<\/strong>-En cada sitio existen tablas wp_options propias con campo Autoload, adem\u00e1s de la tabla global. <em>wp_sitemeta<\/em> para las opciones de red. Por lo tanto, compruebo la suma de autoload por sitio y, adem\u00e1s, el tama\u00f1o de los metadatos centrales de la red. Las opciones de red grandes no suponen un coste en cada solicitud individual del sitio, pero pueden ralentizar los procesos de administraci\u00f3n y cron.<\/p>\n\n<pre><code>-- Comprobar por sitio (ajustar el prefijo de la tabla seg\u00fan el ID del blog) SELECT SUM(LENGTH(option_value)) AS autoload_size FROM wp_2_options WHERE autoload = 'yes'; -- Revisar los metadatos de toda la red SELECT SUM(LENGTH(meta_value)) AS network_meta_size\nFROM wp_sitemeta; -- Metadatos m\u00e1s grandes de la red SELECT meta_key, LENGTH(meta_value) AS len FROM wp_sitemeta ORDER BY len DESC LIMIT 10;\n<\/code><\/pre>\n\n<p>Para multisitios se aplica lo siguiente: elimino las opciones m\u00e1s grandes por sitio y mantengo los metadatos de red tambi\u00e9n reducidos. Las cach\u00e9s compartidas (cach\u00e9 de objetos) ayudan, pero <strong>no sustituyeron<\/strong> Base de datos limpia.<\/p>\n\n<h2>WP-CLI: an\u00e1lisis y modificaciones masivas desde el shell<\/h2>\n\n<p>En los servidores utilizo <strong>WP-CLI<\/strong>, para ejecutar directamente los an\u00e1lisis SQL y hacer que los cambios sean reproducibles. De este modo, garantizo auditor\u00edas r\u00e1pidas incluso en configuraciones m\u00e1s grandes.<\/p>\n\n<pre><code># Determinar el tama\u00f1o total de la carga autom\u00e1tica wp db query \"SELECT SUM(LENGTH(option_value)) AS autoload_size FROM wp_options WHERE autoload='yes';\"\n\n# Mostrar las 20 opciones de autocarga m\u00e1s grandes wp db query \"SELECT option_name, LENGTH(option_value) AS len FROM wp_options WHERE autoload='yes' ORDER BY len DESC LIMIT 20;\"\n<\/code><\/pre>\n\n<p>Para los cambios masivos, trabajo con una <strong>lista de candidatos<\/strong> del an\u00e1lisis y lo pongo en no de forma controlada. Despu\u00e9s de cada ronda, vuelvo a medir la suma.<\/p>\n\n<pre><code># Ejemplo: candidatos (uno por l\u00ednea) en names.txt\n# autoload=no para todos los nombres (\u00a1cuidado, haz una copia de seguridad antes!) while read -r NAME; do VAL=\"$(wp option get \"$NAME\")\" wp option update \"$NAME\" \"$VAL\" --autoload=no done &lt; names.txt\n<\/code><\/pre>\n\n<p>Con este m\u00e9todo, el historial permanece trazable en el terminal y puedo retroceder de forma espec\u00edfica si es necesario.<\/p>\n\n<h2>Mantenimiento autom\u00e1tico con el complemento MU<\/h2>\n\n<p>Para evitar el crecimiento futuro, pongo peque\u00f1os <strong>Barandillas<\/strong> Un plugin MU puede, por ejemplo, cambiar autom\u00e1ticamente la bandera de autocarga para patrones conocidos, como transitorios, entradas de cach\u00e9 y registros, a \u201eno\u201c y limpiarlos peri\u00f3dicamente. Primero pruebo estas intervenciones en el entorno de pruebas.<\/p>\n\n<pre><code>update($wpdb-&gt;options, array('autoload' =&gt; 'no'), array('option_name' =&gt; $option)); break; } } }, 10, 3);\n\n\/\/ Limpieza programada: eliminar transitorios caducados if (!wp_next_scheduled('autoload_housekeeping')) { wp_schedule_event(time(), 'daily', 'autoload_housekeeping'); } add_action('autoload_housekeeping', function() { global $wpdb;\n    \/\/ Limpiar transitorios caducados (sin tiempos de espera) $wpdb-&gt;query(\"DELETE FROM {$wpdb-&gt;options} WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%'\");\n    $wpdb-&gt;query(\"DELETE FROM {$wpdb-&gt;options} WHERE option_name LIKE '_site_transient_%' AND option_name NOT LIKE '_site_transient_timeout_%'\");\n    \/\/ Opcional: mitigar opciones de autocarga muy grandes $candidates = $wpdb-&gt;get_col(\"SELECT option_name FROM {$wpdb-&gt;options} WHERE autoload='yes' AND LENGTH(option_value) &gt; 500000\");\n    foreach ($candidates as $name) { $wpdb-&gt;update($wpdb-&gt;options, array('autoload' =&gt; 'no'), array('option_name' =&gt; $name)); } });\n<\/code><\/pre>\n\n<p>De esta forma, evito que se vuelvan a cargar datos innecesariamente grandes despu\u00e9s de actualizaciones o nuevos plugins. Documento las excepciones (lista blanca) en caso de que determinadas opciones deban permanecer deliberadamente en Autoload a pesar de su tama\u00f1o.<\/p>\n\n<h2>Eliminaci\u00f3n segura: ejemplos SQL m\u00e1s precisos<\/h2>\n\n<p>Borrar <strong>objetivo<\/strong> y evita da\u00f1os colaterales. En el caso de los transitorios, procuro no borrar directamente los tiempos de espera, sino los valores correspondientes.<\/p>\n\n<pre><code>-- Eliminar solo transitorios caducados (enfoque seguro) DELETE o FROM wp_options o JOIN wp_options t ON o.option_name = REPLACE(t.option_name, '_timeout_', '') WHERE t.option_name LIKE '_transient_timeout_%'\n  AND t.option_value &lt; UNIX_TIMESTAMP(); -- Transitorios de toda la red (multisitio) DELETE o FROM wp_options o JOIN wp_options t ON o.option_name = REPLACE(t.option_name, &#039;_site_transient_timeout_&#039;, &#039;_site_transient_&#039;)\nWHERE t.option_name LIKE &#039;_site_transient_timeout_%&#039; AND t.option_value &lt; UNIX_TIMESTAMP();\n<\/code><\/pre>\n\n<p>Adem\u00e1s, para las opciones grandes que rara vez se utilizan, establezco sistem\u00e1ticamente el indicador en \u201eno\u201c en lugar de eliminarlas. De este modo, mantengo un riesgo bajo y puedo volver atr\u00e1s en cualquier momento si es necesario.<\/p>\n\n<h2>Indexaci\u00f3n: crear, probar, desmontar<\/h2>\n\n<p>Si la tabla es grande, un \u00edndice combinado acelera las b\u00fasquedas frecuentes. Lo creo, lo mido y, si no resulta \u00fatil, lo elimino.<\/p>\n\n<pre><code>-- Crear \u00edndice (adaptar el nombre seg\u00fan las reglas del host) CREATE INDEX autoload_name_idx ON wp_options (autoload, option_name); -- Probar, medir y, si es necesario, eliminar DROP INDEX autoload_name_idx ON wp_options;\n<\/code><\/pre>\n\n<p>Antes compruebo los \u00edndices existentes para no crear duplicados. Tras la creaci\u00f3n, verifico los planes de consulta y los tiempos de respuesta bajo carga real.<\/p>\n\n<h2>Medici\u00f3n y validaci\u00f3n: documentar claramente el antes y el despu\u00e9s.<\/h2>\n\n<p>Las optimizaciones las acredito con <strong>cifras<\/strong>. Mido el TTFB en p\u00e1ginas representativas, realizo un seguimiento de los picos de memoria y cuento las consultas a la base de datos. Para obtener una visi\u00f3n r\u00e1pida, utilizo una breve salida de registro durante las pruebas (no la dejo activa de forma permanente):<\/p>\n\n<pre><code>&lt;?php \/\/ No utilizar de forma permanente en producci\u00f3n, \u00a1solo para pruebas! add_action(&#039;shutdown&#039;, function() { if (defined(&#039;WP_DEBUG&#039;) &amp;&amp; WP_DEBUG) { error_log(sprintf(\n            &#039;WP-Run: %.3fs | Queries: %d | Peak-Mem: %.1fMB&#039;, timer_stop(0, 3), get_num_queries(), memory_get_peak_usage(true) \/ 1048576 )); } });\n<\/code><\/pre>\n\n<p>Con dos o tres rondas de mediciones antes y despu\u00e9s de la optimizaci\u00f3n, puedo ver si el TTFB, el n\u00famero de consultas y la memoria m\u00e1xima mejoran como se esperaba. Al mismo tiempo, observo el backend (p\u00e1ginas de plugins y editores), ya que aqu\u00ed se notan especialmente los paquetes de autoload grandes.<\/p>\n\n<h2>Errores comunes y c\u00f3mo evitarlos<\/h2>\n\n<ul>\n  <li><strong>Poner todo en \u201eno\u201c:<\/strong> Las medidas generales interrumpen funciones o generan muchos SQL individuales. Procedo de forma selectiva y realizo pruebas.<\/li>\n  <li><strong>Cambiar opciones cr\u00edticas del n\u00facleo:<\/strong> Trate con cuidado siteurl, home, active_plugins, campos de tema y rewrite_rules.<\/li>\n  <li><strong>Eliminaci\u00f3n incorrecta de transitorios:<\/strong> Eliminar los tiempos de espera en lugar de los valores, o borrar ambos al azar. Mejor: limpiar los valores caducados de forma selectiva.<\/li>\n  <li><strong>Trabajar sin copia de seguridad:<\/strong> Antes de cada ronda, guardo la base de datos y anoto los cambios.<\/li>\n  <li><strong>Pensar solo en \u201eDB\u201c:<\/strong> La cach\u00e9 de objetos, los l\u00edmites de memoria PHP, las tareas cron lentas y los l\u00edmites de alojamiento tambi\u00e9n influyen. Considero el sistema de forma integral.<\/li>\n  <li><strong>Limpiar una vez y olvidarse:<\/strong> Sin un control peri\u00f3dico, Autoload vuelve a crecer. Planifico intervalos de mantenimiento fijos.<\/li>\n<\/ul>\n\n<h2>Mejores pr\u00e1cticas para el futuro<\/h2>\n\n<p>Decido conscientemente <strong>Plugins<\/strong>, que manejan correctamente las opciones y borran los datos al eliminarlos. Despu\u00e9s de las pruebas, los complementos se eliminan por completo, no solo se desactivan. Antes de realizar modificaciones importantes, siempre hago una copia de seguridad de la base de datos. A continuaci\u00f3n, vuelvo a comprobar el tama\u00f1o de la carga autom\u00e1tica para detectar inmediatamente cualquier anomal\u00eda. Especialmente en las configuraciones de almacenamiento en cach\u00e9, mantengo la configuraci\u00f3n sencilla y evito los t\u00edpicos problemas. Echa un vistazo a <a href=\"https:\/\/webhosting.de\/es\/por-que-redis-es-mas-lento-de-lo-esperado-errores-tipicos-de-configuracion-cacheopt\/\">Configuraciones incorrectas de Redis<\/a> ayuda a evitar efectos secundarios.<\/p>\n\n<p>Regular <strong>Atenci\u00f3n<\/strong> evita que la tabla wp_options vuelva a crecer. Me fijo plazos fijos, por ejemplo, trimestrales. Si anoto los valores antes y despu\u00e9s de la optimizaci\u00f3n, puedo detectar tendencias. De este modo, act\u00fao a tiempo, en lugar de reaccionar m\u00e1s tarde bajo presi\u00f3n. Esta rutina ahorra tiempo y nervios a largo plazo.<\/p>\n\n<h2>Flujo de trabajo concreto paso a paso<\/h2>\n\n<p>Primero me aseguro <strong>Base de datos<\/strong> y los archivos por completo, para poder volver atr\u00e1s en cualquier momento. A continuaci\u00f3n, determino el tama\u00f1o actual de la carga autom\u00e1tica y las 10 entradas principales mediante SQL. Despu\u00e9s, identifico los datos de plugins hu\u00e9rfanos y las entradas grandes de cach\u00e9, registro o transitorias. En el siguiente paso, configuro las opciones que se utilizan con poca frecuencia en autoload=no y elimino de forma selectiva los restos superfluos. Por \u00faltimo, vuelvo a medir, documento la nueva suma y planifico una repetici\u00f3n de la comprobaci\u00f3n.<\/p>\n\n<p>En casos delicados <strong>Campos<\/strong> Primero pruebo los cambios en el entorno de pruebas. Si se produce alguna anomal\u00eda, reactivo valores individuales o restauro la copia de seguridad. A continuaci\u00f3n, ajusto mi selecci\u00f3n de plugins para evitar un nuevo crecimiento. Basta con un sencillo protocolo por ronda para mantener una visi\u00f3n general. El proceso sigue siendo \u00e1gil y conduce de forma fiable a efectos medibles.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/wordpress-autoload-8234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Resumen: tabla peque\u00f1a, gran efecto<\/h2>\n\n<p>Autoload es un potente <strong>mecanismo<\/strong>, que frena considerablemente cuando la tabla wp_options est\u00e1 llena de datos innecesarios. Si mantienes la suma por debajo de 1 MB, el TTFB, los requisitos de RAM y las latencias del backend disminuir\u00e1n notablemente. El camino para lograrlo es claro: medir, eliminar el lastre, autoload=no para valores poco frecuentes, limpiar transitorios y controlar regularmente. Las cach\u00e9s y un buen alojamiento refuerzan el efecto, pero no sustituyen a una base de datos limpia. Quien convierta este proceso en una rutina, obtendr\u00e1 m\u00e1s velocidad de forma permanente con el mismo hardware.<\/p>\n\n<p>Considero que Autoload es <strong>tornillo de ajuste<\/strong> Con una excelente relaci\u00f3n calidad-precio: pocos cambios, efecto notable. Las tiendas y las p\u00e1ginas con mucho contenido se benefician de inmediato. Con una breve revisi\u00f3n mensual o trimestral, la tabla se mantiene \u00e1gil. As\u00ed, las p\u00e1ginas responden m\u00e1s r\u00e1pido, los administradores trabajan con mayor rapidez y las tareas programadas se ejecutan sin problemas. Se trata de un rendimiento sostenible sin riesgos y sin necesidad de instalar nuevos plugins.<\/p>","protected":false},"excerpt":{"rendered":"<p>Aprende a optimizar las opciones de carga autom\u00e1tica de WordPress en la tabla wp_options para eliminar obst\u00e1culos ocultos y acelerar tu sitio web con un ajuste espec\u00edfico de la base de datos.<\/p>","protected":false},"author":1,"featured_media":16206,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[781],"tags":[],"class_list":["post-16213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-datenbanken-administration-anleitungen"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"2502","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"WordPress Autoload-Optionen","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"16206","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/16213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/comments?post=16213"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/16213\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/media\/16206"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/media?parent=16213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/categories?post=16213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/tags?post=16213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}