Las incrustaciones estándar de YouTube cargan scripts, establecen cookies y transmiten datos del visitante a los servidores de Google antes incluso de que el usuario haga clic en reproducir. Según el RGPD, esto constituye un tratamiento de datos sin consentimiento. Esta guía cubre todos los métodos para incrustar vídeos de YouTube en WordPress cumpliendo el RGPD, desde soluciones rápidas hasta soluciones robustas a largo plazo.
Lo que hacen las incrustaciones estándar de YouTube entre bastidores
Cuando pegas una URL de YouTube en el editor de bloques de WordPress, WordPress la convierte automáticamente en una incrustación de iframe usando oEmbed. Parece inofensivo, pero en el momento en que un visitante carga esa página, ocurren varias cosas sin ninguna interacción del usuario:
- Carga de JavaScript: el iframe carga aproximadamente 800KB de JavaScript desde
youtube.com,google.comygooglevideo.com. Esto incluye el reproductor de YouTube, bibliotecas de analítica y scripts de publicidad. - Establecimiento de cookies: YouTube establece varias cookies, entre ellas
VISITOR_INFO1_LIVE(persiste 180 días),YSC(cookie de sesión),PREF(persiste 240 meses) yGPS(caduca tras 30 minutos). Estas cookies rastrean al usuario entre sitios web. - Transmisión de datos: la dirección IP del visitante, el user agent del navegador, la resolución de pantalla, los ajustes de idioma y la URL de tu página se envían a los servidores de Google. Si el visitante ha iniciado sesión en una cuenta de Google, estos datos se vinculan a su perfil.
- Conexión a la red publicitaria: YouTube establece conexiones con
doubleclick.netygoogleadservices.com, introduciendo al visitante en el ecosistema publicitario de Google. - Carga de recursos adicionales: también se cargan fuentes de
fonts.googleapis.com, imágenes dei.ytimg.comy varios píxeles de seguimiento.
Todo esto ocurre al cargar la página, antes de que el visitante decida ver el vídeo. Desde la perspectiva del RGPD, estás tratando datos personales y permitiendo el seguimiento por terceros sin ninguna base jurídica.
Cookies de YouTube y su clasificación según el RGPD
Entender qué cookies establece YouTube te ayuda a configurar correctamente tu gestión del consentimiento. Estas son las cookies principales y sus finalidades:
- VISITOR_INFO1_LIVE: estima el ancho de banda del usuario para determinar la calidad del vídeo. Persiste 180 días. Clasificación: funcional/marketing.
- YSC: rastrea las interacciones del usuario con vídeos incrustados. Cookie de sesión. Clasificación: estadística/marketing.
- PREF: almacena preferencias del usuario, como la calidad de vídeo preferida y los ajustes del reproductor. Persiste hasta 240 meses. Clasificación: funcional.
- GPS: registra un ID único en dispositivos móviles para el seguimiento. Caduca tras 30 minutos. Clasificación: marketing.
- IDE: utilizada por Google DoubleClick para mostrar anuncios segmentados. Persiste 13 meses. Clasificación: marketing.
- CONSENT: almacena el estado de consentimiento de cookies del usuario para los servicios de Google. Persiste 20 años. Clasificación: esencial (para Google).
Dado que la mayoría de estas cookies tienen finalidades de marketing y seguimiento, no puedes cargar incrustaciones de YouTube sin consentimiento bajo el RGPD. La única opción que cumple es bloquear la incrustación hasta que el usuario lo acepte.
Método 1: modo de privacidad mejorada de YouTube (youtube-nocookie.com)
YouTube ofrece un modo de incrustación con privacidad mejorada que utiliza el dominio youtube-nocookie.com en lugar de youtube.com. Es la solución más rápida, aunque no es una solución completa por sí sola.
Para usarlo, sustituye el dominio en tu código de incrustación:
<!-- Incrustación estándar (NO cumple el RGPD) -->
<iframe src="https://www.youtube.com/embed/VIDEO_ID"
width="560" height="315"
frameborder="0"
allowfullscreen></iframe>
<!-- Modo de privacidad mejorada -->
<iframe src="https://www.youtube-nocookie.com/embed/VIDEO_ID"
width="560" height="315"
frameborder="0"
allowfullscreen></iframe>Lo que esto cambia realmente: el dominio sin cookies impide que YouTube establezca cookies de seguimiento en tu dominio antes de que el usuario haga clic en reproducir. Sin embargo, una vez que el usuario inicia el vídeo, se establecen cookies igual que con una incrustación normal. Además, el iframe sigue cargando JavaScript y transmitiendo la dirección IP del visitante a Google al cargar la página. Por estas razones, el modo de privacidad mejorada por sí solo probablemente no es suficiente para cumplir plenamente el RGPD. Es una buena mejora, pero deberías combinarlo con uno de los demás métodos descritos a continuación.
Si usas el editor de bloques de WordPress, puedes cambiar al dominio sin cookies con un filtro en el functions.php de tu tema:
add_filter('embed_oembed_html', function($html) {
return str_replace('youtube.com/embed/', 'youtube-nocookie.com/embed/', $html);
});Método 2: solución de dos clics con un plugin de WordPress
La solución de dos clics es el enfoque más común para cumplir el RGPD en la UE. En lugar de cargar el iframe de YouTube de inmediato, muestras una imagen de marcador de posición estática. Solo cuando el usuario hace clic activamente se carga la incrustación real. Esto garantiza que no se transmiten datos a Google hasta que el usuario toma una decisión deliberada.
Varios plugins de WordPress implementan este patrón:
- Embed Privacy: un plugin gratuito que envuelve incrustaciones de YouTube, Vimeo, Google Maps y muchos otros proveedores en una capa de consentimiento. Sustituye el iframe por un aviso y un botón. Cuando el usuario hace clic, se carga la incrustación real. Admite consentimiento por proveedor y por incrustación. Es una opción sólida si quieres una solución ligera y específica.
- WP YouTube Lyte: sustituye las incrustaciones de YouTube por un marcador de posición ligero y adaptable. Utiliza la miniatura de YouTube como imagen de previsualización y solo carga el reproductor completo al hacer clic. También admite el dominio sin cookies por defecto.
- Flavor: un plugin más reciente que ofrece incrustaciones de vídeo con consentimiento y un diseño limpio. Funciona con YouTube, Vimeo y otros proveedores.
- Borlabs Cookie: un plugin premium de gestión del consentimiento con bloqueador de contenidos integrado. Detecta automáticamente los iframes de YouTube y los sustituye por un marcador de posición de consentimiento. Después de que el usuario acepte las cookies de medios externos, todas las incrustaciones de YouTube de la página se cargan a la vez.
- Real Cookie Banner: similar a Borlabs Cookie, incluye una función de bloqueador de contenidos. Cuenta con plantillas preconfiguradas para YouTube, Vimeo, Google Maps y muchos otros servicios. Muy popular en la comunidad WordPress alemana.
- Complianz: otro plugin de gestión del consentimiento con capacidades de bloqueo de contenidos. Puede sustituir los iframes de YouTube por un marcador de posición que muestra la miniatura del vídeo y un aviso de consentimiento.
Al elegir un plugin, considera si necesitas una solución de privacidad de vídeo independiente (Embed Privacy, WP YouTube Lyte) o una plataforma completa de gestión del consentimiento que también gestione las incrustaciones de YouTube (Borlabs, Real Cookie Banner, Complianz). Si ya tienes una CMP instalada, comprueba si admite el bloqueo de contenidos antes de añadir otro plugin.
Método 3: patrón de fachada manual con carga diferida
Si quieres control total sin depender de plugins, puedes construir una fachada (también llamada "lite embed") tú mismo. La idea es sencilla: muestra la miniatura del vídeo como imagen estática y crea el iframe de YouTube dinámicamente solo cuando el usuario haga clic.
Aquí tienes una implementación completa:
<style>
.yt-facade {
position: relative;
padding-bottom: 56.25%; /* relación de aspecto 16:9 */
background: #000;
cursor: pointer;
overflow: hidden;
}
.yt-facade img {
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
transition: opacity 0.3s;
}
.yt-facade:hover img { opacity: 0.8; }
.yt-facade .play-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
}
.yt-facade .consent-text {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.8);
color: #fff;
padding: 12px 16px;
font-size: 13px;
line-height: 1.4;
z-index: 1;
}
.yt-facade .consent-text a { color: #aecbfa; }
</style>
<div class="yt-facade" data-video-id="VIDEO_ID">
<img src="https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg"
alt="Miniatura del vídeo" loading="lazy" />
<div class="play-btn">
<svg width="68" height="48" viewBox="0 0 68 48">
<path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55C3.97 2.33 2.27 4.81 1.48 7.74.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/>
<path d="M45 24L27 14v20" fill="white"/>
</svg>
</div>
<div class="consent-text">
Al hacer clic, aceptas cargar contenido de YouTube.
<a href="/privacy-policy">Política de privacidad</a>
</div>
</div>
<script>
document.querySelectorAll('.yt-facade').forEach(function(el) {
el.addEventListener('click', function() {
var videoId = this.dataset.videoId;
var iframe = document.createElement('iframe');
iframe.src = 'https://www.youtube-nocookie.com/embed/' + videoId + '?autoplay=1&rel=0';
iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';
iframe.allowFullscreen = true;
iframe.style.cssText = 'position:absolute; top:0; left:0; width:100%; height:100%; border:0;';
this.innerHTML = ';
this.appendChild(iframe);
});
});
</script>Este enfoque tiene varias ventajas. No se cargan recursos externos hasta que el usuario hace clic, lo que te da pleno cumplimiento del RGPD sin un banner de consentimiento de cookies para el propio vídeo. También mejora drásticamente el rendimiento de carga de la página, ya que solo cargas una pequeña imagen en miniatura en lugar de 800KB de JavaScript de YouTube. El texto de consentimiento en la parte inferior informa al usuario de lo que ocurrirá cuando haga clic.
Para hacerlo reutilizable en WordPress, puedes envolverlo en un shortcode. Añade esto al functions.php de tu tema hijo:
function gdpr_youtube_shortcode($atts) {
$atts = shortcode_atts(array('id' => '), $atts);
if (empty($atts['id'])) return ';
$vid = esc_attr($atts['id']);
return '<div class="yt-facade" data-video-id="' . $vid . '">'
. '<img src="https://img.youtube.com/vi/' . $vid . '/maxresdefault.jpg" '
. 'alt="Video" loading="lazy" style="width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;" />'
. '<div style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;">'
. '<svg width="68" height="48" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55C3.97 2.33 2.27 4.81 1.48 7.74.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24L27 14v20" fill="white"/></svg>'
. '</div></div>';
}
add_shortcode('youtube_gdpr', 'gdpr_youtube_shortcode');Después úsalo en cualquier entrada o página: [youtube_gdpr id="dQw4w9WgXcQ"]
Método 4: integración con un plugin de gestión del consentimiento
La solución más robusta para sitios con muchas incrustaciones de YouTube es usar un plugin de gestión del consentimiento con función de bloqueador de contenidos. Este enfoque lo gestiona todo automáticamente, incluso para contenido existente donde se pegaron URLs de YouTube directamente en las entradas.
- Instala una CMP con bloqueo de contenidos: Real Cookie Banner, Borlabs Cookie y Complianz son compatibles. Instala el plugin elegido y completa el asistente de configuración.
- Habilita el bloqueador de contenidos de YouTube: en los ajustes de la CMP, ve a la sección del bloqueador de contenidos. La mayoría de las CMP incluyen plantillas preconfiguradas para YouTube. Habilita la plantilla de YouTube. El plugin detectará ahora automáticamente los iframes de YouTube en tus páginas.
- Configura el marcador de posición: personaliza el marcador de posición que sustituye al iframe de YouTube. La mayoría de las CMP te permiten establecer una imagen de fondo (extraída automáticamente de la API de miniaturas de YouTube), un mensaje personalizado que explique por qué el vídeo está bloqueado y un botón para cargar el vídeo.
- Asigna la categoría de cookies: asigna YouTube a la categoría de cookies "Medios externos" o "Marketing". El vídeo solo se cargará después de que el usuario haya aceptado esta categoría a través del banner de consentimiento.
- Considera la funcionalidad "Recordar mi elección": la mayoría de las CMP ofrecen una opción para que el usuario recuerde su elección para un proveedor concreto. Una vez que haga clic en "Cargar contenido de YouTube" una vez, todas las incrustaciones de YouTube en todas las páginas se cargarán automáticamente durante esa sesión o durante un periodo configurable.
- Comprueba a fondo: visita una página con una incrustación de YouTube en una ventana de incógnito. Verifica que el vídeo está sustituido por un marcador de posición. Rechaza todas las cookies y confirma que el vídeo permanece bloqueado. A continuación, acepta la categoría de cookies pertinente y verifica que el vídeo se carga correctamente.
Editor de bloques Gutenberg: cambio a incrustaciones con privacidad mejorada
El editor de bloques de WordPress (Gutenberg) tiene un bloque de incrustación de YouTube integrado. Por defecto, utiliza el dominio estándar youtube.com. No hay un ajuste nativo para cambiar al dominio sin cookies, pero puedes gestionarlo de varias formas:
- Enfoque con filtro PHP: usa el filtro
embed_oembed_htmlmostrado anteriormente para sustituir automáticamente todas las URL de oEmbed por la variante sin cookies. - Bloque HTML personalizado: en lugar de usar el bloque de incrustación de YouTube, usa un bloque HTML personalizado y pega manualmente el código del iframe con
youtube-nocookie.com. - Plugin bloqueador de contenidos: si usas una CMP con bloqueador de contenidos, intercepta automáticamente el bloque estándar de incrustación de YouTube. No necesitas cambiar nada en tu contenido; el plugin gestiona el bloqueo en el momento del renderizado.
Para sitios nuevos, el flujo de trabajo más sencillo es: usa el método de incrustación que te resulte más cómodo (pegar URL, bloque de incrustación o shortcode) y deja que tu CMP gestione el cumplimiento del RGPD mediante el bloqueo de contenidos.
Beneficios de rendimiento de las incrustaciones de YouTube que cumplen el RGPD
Los métodos de incrustación que respetan la privacidad no solo resuelven problemas legales; mejoran significativamente el rendimiento de tu sitio:
- Incrustación estándar de YouTube: carga aproximadamente 800KB de JavaScript, 200KB de CSS y varios recursos de imagen por incrustación. Cada incrustación dispara más de 20 peticiones HTTP. Si tienes tres vídeos en una página, eso supone más de 2,4MB solo de JavaScript.
- Patrón de fachada (solo miniatura): carga una sola miniatura JPEG de unos 15-40KB. Una petición HTTP por vídeo. El reproductor completo de YouTube solo se carga para el vídeo que el usuario realmente quiere ver.
- Impacto en Core Web Vitals: la reducción de JavaScript mejora directamente el Total Blocking Time (TBT) y el First Input Delay (FID). La carga inicial más pequeña mejora el Largest Contentful Paint (LCP). Como Core Web Vitals es un factor de posicionamiento de Google, las incrustaciones que cumplen el RGPD pueden incluso mejorar tu SEO.
En páginas con varias incrustaciones de vídeo, la mejora de rendimiento es notable. Una página con cinco incrustaciones estándar de YouTube podría puntuar 40 en Google PageSpeed. La misma página con patrones de fachada puede puntuar fácilmente por encima de 90.
Cómo gestionar incrustaciones de YouTube en páginas de producto de WooCommerce
Si incrustas vídeos de YouTube en páginas de producto de WooCommerce (para demostraciones, tutoriales o reseñas), hay que prestar especial atención. Las páginas de producto son críticas para las conversiones, por lo que tanto el rendimiento como el cumplimiento importan. Estas son las mejores prácticas:
- Usa patrones de fachada en las páginas de producto: la mejora de rendimiento es especialmente valiosa aquí, ya que cada 100ms de tiempo de carga adicional reduce la tasa de conversión.
- Coloca los vídeos por debajo del pliegue: pon los vídeos de producto en una pestaña separada (por ejemplo, "Vídeo del producto") o por debajo de la descripción del producto. Así, el marcador de posición del vídeo no afecta al diseño inicial de la página.
- Evita la reproducción automática de vídeos de producto: además de ser un problema de RGPD, los vídeos con reproducción automática en páginas de producto molestan a los clientes y aumentan la tasa de rebote.
Cómo detecta InspectWP los problemas de incrustación de YouTube
InspectWP rastrea tu sitio WordPress y comprueba específicamente las prácticas de incrustación de YouTube. La sección de RGPD del informe indica si tu sitio carga incrustaciones de YouTube y comunica qué dominio utilizan: el dominio estándar youtube.com o el dominio con privacidad mejorada youtube-nocookie.com. Si InspectWP detecta incrustaciones estándar de YouTube sin un mecanismo de consentimiento visible, lo destaca como un posible problema de RGPD. Ejecuta un análisis de InspectWP después de implementar cualquiera de los métodos anteriores para verificar que tus cambios funcionan correctamente en todas las páginas de tu sitio.