Glosario

¿Qué es oEmbed?

8 de febrero de 2026 Actualizado el 19 abr 2026

Pegas un enlace de YouTube en una entrada de WordPress y, como por arte de magia, se transforma en un reproductor de vídeo incrustado. Sin iframes que copiar, sin HTML con el que pelearse: solo una URL plana que se convierte en contenido enriquecido. Esa magia es oEmbed, un protocolo abierto integrado en WordPress desde la versión 2.9 (2009). Es cómodo, prácticamente invisible y, según cómo lo mires, una característica útil o un problema de privacidad y seguridad que conviene conocer.

Cómo funciona el protocolo oEmbed paso a paso

Cuando pegas una URL en el editor de bloques de WordPress, WordPress no se limita a envolverla en un iframe y cruzar los dedos. El proceso tiene tres pasos diferenciados:

  1. Búsqueda del proveedor: WordPress comprueba la URL contra una lista codificada de proveedores oEmbed de confianza (YouTube, Vimeo, Twitter, Spotify, etc.). Si la URL coincide con un proveedor conocido, WordPress sabe a quién pedirle el código de incrustación.
  2. Petición a la API: WordPress envía una petición HTTP al endpoint oEmbed del proveedor, pasando la URL y las dimensiones de incrustación deseadas. Por ejemplo, para un vídeo de YouTube, llama a algo como https://www.youtube.com/oembed?url=...&format=json.
  3. Renderizado de la incrustación: El proveedor responde con un JSON que contiene el HTML de incrustación (normalmente un iframe), un título, la URL de una miniatura y metadatos como el nombre del autor. WordPress almacena esta respuesta en caché y muestra la incrustación en tu entrada.

Si la URL no coincide con ningún proveedor conocido, WordPress también puede intentar el descubrimiento oEmbed: obtiene la URL de destino y busca una etiqueta <link type="application/json+oembed"> en el HTML que apunte a un endpoint oEmbed. Así es como servicios menos conocidos pueden ofrecer incrustaciones sin estar en la lista blanca de WordPress.

Proveedores oEmbed compatibles en WordPress

WordPress incluye soporte integrado para una larga lista de proveedores. Los más utilizados son:

  • Vídeo: YouTube, Vimeo, Dailymotion, VideoPress, TikTok
  • Audio: Spotify, SoundCloud, Mixcloud
  • Redes sociales: Twitter/X, Instagram, Reddit, Tumblr, Bluesky
  • Imágenes: Flickr, Imgur, SmugMug
  • Otros: entradas de WordPress.com, Speaker Deck, Crowdsignal, Pocket Casts

Los plugins pueden añadir proveedores adicionales y WordPress también te permite registrar proveedores oEmbed personalizados mediante la función wp_oembed_add_provider().

WordPress como proveedor oEmbed: descubrimiento y API REST

Esta es la parte que mucha gente pasa por alto: WordPress no solo consume oEmbed, también actúa como proveedor. Por defecto, todo sitio WordPress expone un endpoint oEmbed en /wp-json/oembed/1.0/embed y añade un enlace de descubrimiento a cada página:

<link rel="alternate" type="application/json+oembed"
      href="https://example.com/wp-json/oembed/1.0/embed?url=..." />

Esto significa que otros sitios WordPress (o cualquier aplicación compatible con oEmbed) pueden incrustar tus entradas con solo pegar su URL. La vista previa incrustada incluye el título de la entrada, un extracto, el nombre del sitio y el autor, lo que nos lleva a las cuestiones de seguridad y privacidad.

Riesgos de seguridad y problemas de privacidad de oEmbed

La funcionalidad de proveedor oEmbed tiene varios aspectos que conviene tener en cuenta:

  • Exposición de información: El endpoint oEmbed devuelve títulos de entradas, extractos, nombres públicos de autor y metadatos del sitio a cualquiera que lo consulte. No hace falta haber iniciado sesión. Esto puede ser un problema si publicas contenido en el que la identidad del autor no debería ser pública o si quieres minimizar la información que tu sitio expone.
  • Posibilidad de SSRF: Cuando WordPress obtiene datos oEmbed para URL pegadas en el editor, realiza peticiones HTTP salientes. En teoría, una URL maliciosa podría intentar aprovechar esto para una falsificación de petición del lado del servidor (SSRF), haciendo que WordPress solicite recursos internos. WordPress dispone de salvaguardas, pero la superficie de ataque existe.
  • Carga de recursos de terceros: Cada servicio incrustado carga sus propios scripts, hojas de estilo y mecanismos de seguimiento desde servidores externos. Una incrustación de YouTube carga los scripts de seguimiento de Google. Una incrustación de Twitter carga los scripts de X. Cada una de ellas genera peticiones de terceros relevantes para el cumplimiento del RGPD y puede afectar al rendimiento de carga de la página.
  • Superficie de la API REST: El endpoint oEmbed forma parte de la API REST de WordPress. Si intentas minimizar los endpoints de API públicamente accesibles de tu sitio (un paso habitual de fortificación), el descubrimiento oEmbed amplía esa superficie.

Cómo deshabilitar oEmbed en WordPress

Si no quieres que otros sitios incrusten tu contenido o quieres reducir la exposición de información de tu sitio, puedes deshabilitar el lado de proveedor sin perder la capacidad de incrustar contenido externo en tus propias entradas:

// Eliminar los enlaces de descubrimiento oEmbed del head HTML
remove_action('wp_head', 'wp_oembed_add_discovery_links');

// Eliminar el JavaScript específico de oEmbed del frontend
remove_action('wp_head', 'wp_oembed_add_host_js');

// Deshabilitar la ruta oEmbed de la API REST
add_filter('embed_oembed_discover', '__return_false');

Si además quieres impedir que WordPress obtenga datos oEmbed para las URL que pegues (por ejemplo, para evitar por completo las peticiones salientes), puedes eliminar el filtro oEmbed del contenido:

remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result');

oEmbed y el RGPD: carga de contenido de terceros

Desde el punto de vista de la protección de datos, las incrustaciones oEmbed son, en esencia, carga de contenido de terceros. Cuando un visitante ve una página con una incrustación de YouTube, su navegador realiza peticiones a los servidores de Google, transfiriendo su dirección IP, cookies y datos de huella digital del navegador. Conforme al RGPD, esto puede requerir consentimiento previo.

Varios plugins de WordPress abordan esto cargando las incrustaciones de forma diferida tras un clic de consentimiento (el visitante ve un marcador de posición y debe hacer clic para cargar la incrustación real). Es un enfoque habitual en el mercado de habla alemana, donde la aplicación del RGPD es especialmente estricta.

Comprueba tu configuración de oEmbed con InspectWP

InspectWP comprueba si tu sitio WordPress tiene el descubrimiento oEmbed habilitado buscando la etiqueta de enlace oEmbed en el HTML de tu página. Si está presente y no era tu intención exponer tu contenido para que se incruste en otros sitios, el informe te avisa para que decidas si deshabilitarlo.

Analiza tu sitio de WordPress ahora

InspectWP analiza tu sitio de WordPress en busca de problemas de seguridad, SEO, cumplimiento del RGPD y rendimiento, gratis.

Analiza tu sitio gratis