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