Documentación de WPConsent

Documentación, Materiales de Referencia y Tutoriales para WPConsent

Bloqueo Automático de Scripts

¿Cómo evitas que los scripts de seguimiento establezcan cookies antes de que tus visitantes den su consentimiento? WPConsent detecta y bloquea automáticamente scripts de terceros conocidos para que no se ejecuten hasta que se acepte la categoría de cookies apropiada. El bloqueo automático de scripts es una de las características más importantes para el cumplimiento del RGPD y la CCPA.

Tabla de contenidos

Requisitos previos

Antes de empezar, asegúrate de tener:

  • WPConsent instalado y activado (consulta nuestra guía sobre cómo instalar WPConsent)
  • El banner de consentimiento habilitado en WPConsent >> Ajustes
  • El interruptor Habilitar bloqueo de scripts activado en WPConsent >> Ajustes (ver habilitar bloqueo de scripts más abajo)
  • Acceso de administrador a tu sitio de WordPress

Comprender cómo funciona el bloqueo de scripts

WPConsent utiliza un proceso de 3 pasos para cada solicitud de página en tu sitio.

1. Capturar la salida de la página

Cuando un visitante carga una página, WPConsent inicia el almacenamiento en búfer de salida PHP en el hook template_redirect. Esto captura el HTML completo antes de que el navegador lo reciba. El almacenamiento en búfer de salida se omite para páginas de administración, feeds, solicitudes AJAX, llamadas a la API REST y respuestas que no sean HTML.

2. Detectar y modificar scripts

WPConsent analiza el HTML almacenado en búfer y compara cada etiqueta script y iframe con su base de datos de servicios conocidos.

Para cada script coincidente:

  • El atributo type cambia de text/javascript a text/plain, lo que evita que el navegador lo ejecute.
  • El src original se mueve a un atributo data-wpconsent-src.
  • Se agregan los atributos data-wpconsent-category y data-wpconsent-name para que el frontend sepa cómo manejarlos.

Para cada iframe coincidente:

  • Se elimina el atributo src y se almacena en data-wpconsent-src.
  • Un marcador visual con un botón de consentimiento reemplaza al iframe.

Cuando el visitante interactúa con el banner y acepta una categoría de cookies, el JavaScript del frontend encuentra todos los elementos bloqueados etiquetados con esa categoría. Restaura los atributos src de los scripts, crea nuevos elementos ejecutables y restaura el src en los iframes para que se carguen normalmente.

Activar el bloqueo de scripts

Configuración de bloqueo de scripts en el administrador de WPConsent

Para empezar:

  1. Navega a WPConsent >> Ajustes en tu administrador de WordPress.
  2. Busca el interruptor Habilitar bloqueo de scripts.
  3. Activa el interruptor para habilitar el bloqueo o desactívalo para deshabilitarlo.
  4. Haz clic en Guardar Cambios.

El bloqueo de scripts requiere que el banner de consentimiento esté habilitado. Si deshabilitas el banner, el bloqueo de scripts también se desactivará automáticamente.

Revisar los servicios detectados automáticamente

WPConsent mantiene una lista de scripts conocidos actualizada de forma remota que cubre servicios populares de análisis, marketing y publicidad. La lista se obtiene del servidor de WPConsent y se almacena en caché localmente durante 24 horas, por lo que se pueden agregar nuevos servicios sin necesidad de actualizar el plugin. El equipo de WPConsent está ampliando continuamente la lista de bloqueo.

Característica Pro: Con la versión de pago, puedes añadir reglas personalizadas de bloqueo de scripts y iframes para cualquier servicio directamente desde el administrador. La versión de pago también añade el bloqueo automático de scripts de seguimiento de WooCommerce Sourcebuster. Consulta las reglas de bloqueo de scripts personalizados para más detalles.

Habilitar el bloqueo de contenido para iframes

Más allá del bloqueo de scripts, WPConsent puede bloquear iframes y contenido incrustado de servicios como YouTube, Vimeo, DailyMotion, Google Maps y reCAPTCHA. Puedes controlar el bloqueo de contenido por separado del bloqueo de scripts.

Para activarlo:

  1. Navega a WPConsent >> Ajustes en tu administrador de WordPress.
  2. Activa el interruptor Bloqueo de Contenido.
  3. Selecciona los servicios que deseas bloquear de la lista de selección múltiple que aparece.
  4. Haz clic en Guardar Cambios.

Cuando el bloqueo de contenido está activo:

  • A los iframes se les elimina su atributo src para que no se carguen.
  • Un marcador visual con una imagen en miniatura y un botón de consentimiento reemplaza a cada iframe.
  • Las imágenes en miniatura se obtienen de la API de WPConsent y se almacenan localmente en tu servidor.
  • Cuando el visitante hace clic en el botón del marcador o acepta la categoría correspondiente del banner, el contenido se carga inmediatamente.

Para más detalles sobre cómo personalizar los marcadores, consulta nuestra guía sobre bloqueo de contenido y marcadores.

Cuando un visitante hace clic en Aceptar Todo o guarda preferencias específicas del banner:

  1. WPConsent guarda las elecciones del visitante en una cookie llamada wpconsent_preferences.
  2. El banner se oculta.
  3. Se restauran y ejecutan todos los scripts bloqueados que coinciden con las categorías aceptadas.
  4. Se restaura la fuente de todos los iframes bloqueados que coinciden con las categorías aceptadas.
  5. Se eliminan los marcadores de contenido para las categorías aceptadas.
  6. Se actualizan las señales de modo de consentimiento de Google (si procede).
  7. Se actualizan las señales de consentimiento de Microsoft Clarity (si procede).
  8. Se dispara un evento wpconsent_consent_saved en el objeto window.
  9. Se dispara un evento wpconsent_consent_processed en el objeto document.
  10. Se inserta un evento wpconsent_consent_processed en el dataLayer de Google Tag Manager.

Cuando un visitante abre el panel de preferencias y cambia sus elecciones:

  1. WPConsent compara las nuevas preferencias con las guardadas.
  2. Si alguna categoría previamente aceptada ahora es denegada, todas las cookies se borran.
  3. Las preferencias actualizadas se guardan en la cookie wpconsent_preferences.
  4. La página se recarga para que los scripts de las categorías revocadas se bloqueen de nuevo en la carga de página fresca.

La recarga de la página asegura un estado limpio. Los scripts que ya se ejecutaron no se pueden "des-ejecutar" en el navegador, por lo que una recarga es la única forma fiable de evitar que se ejecuten los scripts revocados.

Cuando utilizas servicios de Google (Google Analytics, Google Ads o Google Tag Manager), WPConsent soporta el Modo de Consentimiento de Google v2 como alternativa al bloqueo completo de scripts. Con el Modo de Consentimiento de Google activado, los scripts de Google se cargan pero operan en un modo restringido y sin cookies hasta que el visitante acepta las cookies.

WPConsent genera automáticamente un script de valor predeterminado de consentimiento al principio del que establece todas las señales de consentimiento de Google (ad_storage, analytics_storage, ad_user_data, ad_personalization) en denied. Cuando el visitante acepta la categoría de cookies relevante, WPConsent envía una llamada de consent update para cambiar esas señales a granted.

Para activar o desactivar este comportamiento, navega a WPConsent >> Ajustes y busca el ajuste Modo de Consentimiento de Google. Cuando el Modo de Consentimiento de Google está activado, los scripts de Google Analytics, Google Tag Manager y Google Ads se ejecutan en modo restringido en lugar de ser bloqueados por completo.

Para un tutorial completo, consulta nuestra guía sobre Modo de Consentimiento de Google v2.

De forma similar al Modo de Consentimiento de Google, WPConsent soporta el Modo de Consentimiento de Clarity para Microsoft Clarity. Cuando está activado, los scripts de Clarity no se bloquean. En su lugar, reciben señales de consentimiento a través de la API de Clarity. Cuando un visitante guarda sus preferencias, WPConsent envía los valores apropiados de ad_Storage y analytics_Storage a la función consentv2 de Clarity.

Para activar o desactivar este comportamiento, navega a WPConsent >> Ajustes y busca el ajuste Modo de Consentimiento de Clarity.

Para más detalles, consulta nuestra guía sobre Modo de Consentimiento de Microsoft Clarity.

Usar el modo de permitir por defecto (excluir)

WPConsent también soporta un modelo de exclusión voluntaria (opt-out) donde los scripts se ejecutan por defecto y solo se bloquean después de que un visitante rechaza explícitamente una categoría. Esto es útil para regiones donde el consentimiento de exclusión voluntaria es suficiente (como bajo la CCPA).

Cuando Permitir por defecto está activado, todos los scripts se desbloquean al cargar la página, incluso antes de que el visitante interactúe con el banner. Si el visitante rechaza una categoría, las cookies se borran y la página se recarga con esos scripts bloqueados.

Puedes configurar esto en ajustes generales.

Verificar su configuración

Después de activar el bloqueo de scripts, prueba tu sitio para confirmar que todo funciona correctamente:

  1. Abre tu sitio web en una ventana de navegador privada/incógnita.
  2. Abre las herramientas de desarrollador del navegador (pulsa F12).
  3. Comprueba la pestaña Elementos para confirmar que los scripts de seguimiento tienen type="text/plain" en lugar de type="text/javascript".
  4. Acepta todas las cookies del banner.
  5. Comprueba la pestaña Red para confirmar que las solicitudes de seguimiento solo se disparan después de que aceptas.
  6. Abre el panel de preferencias, revoca una categoría y verifica que la página se recarga.

Preguntas frecuentes

¿Necesito cambiar la forma en que añado scripts de seguimiento a mi sitio?

No. WPConsent intercepta los scripts automáticamente, independientemente de cómo se añadieron. Puedes seguir usando plugins como MonsterInsights, WPCode, o incluso código pegado manualmente en tu tema.

¿Por qué mi script de Google Analytics todavía se carga después de habilitar el bloqueo de scripts?

Si tienes Google Consent Mode habilitado, los scripts de Google se cargan en modo restringido en lugar de ser bloqueados. Este es el comportamiento esperado. Para bloquearlos por completo, desactiva el interruptor de Google Consent Mode en WPConsent >> Settings.

¿Puedo bloquear scripts que no están en la lista de detección automática?

Sí, pero solo en la versión de pago. La versión de pago te permite agregar reglas personalizadas de bloqueo de scripts y iframes para cualquier servicio. Consulta reglas personalizadas de bloqueo de scripts para obtener instrucciones.

Los scripts que ya se ejecutaron no se pueden detener desde el navegador. La única forma confiable de asegurar que los scripts revocados no continúen ejecutándose es recargar la página, lo que permite que WPConsent los bloquee nuevamente desde cero.

¿El bloqueo de scripts afecta el rendimiento de mi sitio?

WPConsent utiliza el almacenamiento en búfer de salida de PHP para procesar el HTML antes de que llegue al navegador. El impacto en el rendimiento es mínimo. La lista de detección de scripts se obtiene de forma remota y se almacena en caché durante 24 horas, por lo que no hay una llamada API adicional en cada carga de página.

Conclusión

El bloqueo automático de scripts es la base de las funciones de cumplimiento de WPConsent. Una vez habilitado, intercepta scripts de seguimiento conocidos y evita que se ejecuten hasta que los visitantes otorgan su consentimiento. Combinado con el bloqueo de contenido para iframes y Google Consent Mode para servicios de Google, te brinda control total sobre los scripts de terceros en tu sitio.

Para obtener información sobre cómo personalizar qué contenido incrustado se bloquea y cómo aparecen los marcadores de posición, lee nuestra guía sobre bloqueo de contenido y marcadores de posición.

Was this article helpful?

Artículos relacionados