<\/script>/i', // Buscar etiquetas de script sin async '/<\/script>/i', // Buscar scripts inline de adsbygoogle.push '/', // Reemplazar etiqueta de script no-async '', // Reemplazar scripts de push inline con versiones retrasadas '', ); // Primera pasada: reemplazar etiquetas de script $html = preg_replace($patterns[0], $replacements[0], $html); $html = preg_replace($patterns[1], $replacements[1], $html); // Segunda pasada: reemplazar llamadas inline de push $html = preg_replace_callback( '/'; }, $html ); // Agregar comentario para indicar que se procesó (solo en modo debug) if (defined('WP_DEBUG') && WP_DEBUG) { $html = str_replace('', '', $html); } return $html; } /** * Agrega script inline para inicializar AdSense retrasado * * Esto agrega un pequeño script inline que marca AdSense como listo para cargar * después de que adsense-loader.js ha sido enqueued. */ function roi_add_adsense_init_script() { $delay_enabled = roi_get_option('roi_adsense_delay_enabled', '1'); if ($delay_enabled !== '1' || is_admin()) { return; } ?> ROI Theme Options) * 2. En la sección "Performance", activar la opción "Delay AdSense Loading" * 3. Guardar cambios * * Comportamiento: * - Los scripts de AdSense NO se cargarán hasta que el usuario: * * Haga scroll en la página * * Haga click en cualquier parte * * Toque la pantalla (móviles) * * Mueva el mouse * * Presione una tecla * - Si no hay interacción, los scripts se cargarán después de 5 segundos * * Beneficios: * - Mejora significativa en Core Web Vitals (FID, TBT) * - Reduce el tiempo de carga inicial de la página * - No afecta la monetización (los ads se siguen mostrando) * - Sin layout shifts al cargar los ads * * Para desactivar: * - Desmarcar la opción en el panel de opciones del tema * - Los scripts de AdSense se cargarán normalmente */