Fix: AdSense delay regex now preserves ?client= parameter

The AdSense delay system was stripping the ?client=ca-pub-XXXXXX
parameter from script URLs during the regex replacement, causing
ads to fail loading silently.

Changed regex patterns to use capture groups ($1) to preserve the
complete URL including query parameters.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-27 09:47:07 -06:00
parent c6e156089d
commit 1876231ac1

View File

@@ -55,24 +55,26 @@ function roi_replace_adsense_scripts($html) {
} }
// Patrones para encontrar etiquetas de script de AdSense // Patrones para encontrar etiquetas de script de AdSense
// NOTA: Usamos grupos de captura ($1) para preservar la URL completa incluyendo ?client=
$patterns = array( $patterns = array(
// Buscar etiquetas de script async para AdSense // Buscar etiquetas de script async para AdSense (captura URL completa con client ID)
'/<script\s+async\s+src=["\']https:\/\/pagead2\.googlesyndication\.com\/pagead\/js\/adsbygoogle\.js[^"\']*["\']\s*(?:crossorigin=["\']anonymous["\'])?\s*><\/script>/i', '/<script\s+async\s+src=["\'](https:\/\/pagead2\.googlesyndication\.com\/pagead\/js\/adsbygoogle\.js[^"\']*)["\']\s*(?:crossorigin=["\']anonymous["\'])?\s*><\/script>/i',
// Buscar etiquetas de script sin async // Buscar etiquetas de script sin async (captura URL completa con client ID)
'/<script\s+src=["\']https:\/\/pagead2\.googlesyndication\.com\/pagead\/js\/adsbygoogle\.js[^"\']*["\']\s*(?:crossorigin=["\']anonymous["\'])?\s*><\/script>/i', '/<script\s+src=["\'](https:\/\/pagead2\.googlesyndication\.com\/pagead\/js\/adsbygoogle\.js[^"\']*)["\']\s*(?:crossorigin=["\']anonymous["\'])?\s*><\/script>/i',
// Buscar scripts inline de adsbygoogle.push // Buscar scripts inline de adsbygoogle.push
'/<script>\s*\(adsbygoogle\s*=\s*window\.adsbygoogle\s*\|\|\s*\[\]\)\.push\(\{[^}]*\}\);\s*<\/script>/is', '/<script>\s*\(adsbygoogle\s*=\s*window\.adsbygoogle\s*\|\|\s*\[\]\)\.push\(\{[^}]*\}\);\s*<\/script>/is',
); );
// Reemplazar scripts async de AdSense con versiones retrasadas // Reemplazar scripts async de AdSense con versiones retrasadas
// IMPORTANTE: $1 preserva la URL completa incluyendo ?client=ca-pub-XXXXXX
$replacements = array( $replacements = array(
// Reemplazar etiqueta de script async con atributo data para carga retrasada // Reemplazar etiqueta de script async con atributo data para carga retrasada
'<script type="text/plain" data-adsense-script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" crossorigin="anonymous"></script>', '<script type="text/plain" data-adsense-script src="$1" crossorigin="anonymous"></script>',
// Reemplazar etiqueta de script no-async // Reemplazar etiqueta de script no-async
'<script type="text/plain" data-adsense-script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" crossorigin="anonymous"></script>', '<script type="text/plain" data-adsense-script src="$1" crossorigin="anonymous"></script>',
// Reemplazar scripts de push inline con versiones retrasadas // Reemplazar scripts de push inline con versiones retrasadas
'<script type="text/plain" data-adsense-push>$0</script>', '<script type="text/plain" data-adsense-push>$0</script>',