Woordenlijst

Wat is oEmbed?

8 februari 2026 Bijgewerkt op 19 apr 2026

U plakt een YouTube-link in een WordPress-bericht, en deze verandert als bij toverslag in een ingebedde videospeler. Geen iframes om te kopiëren, geen HTML om te bewerken — gewoon een URL die rijke media wordt. Die magie heet oEmbed, een open protocol dat sinds versie 2.9 (2009) in WordPress is ingebakken. Het is handig, vrijwel onzichtbaar en — afhankelijk van uw perspectief — ofwel een nuttige functie ofwel een privacy- en beveiligingszorg waarvan u zich bewust moet zijn.

Hoe het protocol onder de motorkap werkt

Wanneer u een URL plakt in de WordPress-blokeditor, wikkelt WordPress deze niet zomaar in een iframe en hoopt op het beste. Het proces heeft drie afzonderlijke stappen:

  1. Provider-lookup — WordPress vergelijkt de URL met een vaste lijst vertrouwde oEmbed-providers (YouTube, Vimeo, Twitter, Spotify, enz.). Als de URL overeenkomt met een bekende provider, weet WordPress waar het de embedcode moet opvragen.
  2. API-verzoek — WordPress verstuurt een HTTP-verzoek naar het oEmbed-eindpunt van de provider, met daarin de URL en de gewenste embedafmetingen. Voor een YouTube-video benadert het bijvoorbeeld iets als https://www.youtube.com/oembed?url=...&format=json.
  3. Embed-rendering — De provider antwoordt met JSON die de embed-HTML bevat (meestal een iframe), een titel, een thumbnail-URL en metadata zoals de auteursnaam. WordPress slaat deze respons op en rendert de embed in uw bericht.

Als de URL niet overeenkomt met een bekende provider, kan WordPress ook oEmbed-discovery proberen — het haalt de doel-URL op en zoekt naar een <link type="application/json+oembed">-tag in de HTML die naar een oEmbed-eindpunt wijst. Zo kunnen minder bekende diensten toch embeds bieden zonder op de WordPress-whitelist te staan.

Welke diensten worden ondersteund?

WordPress wordt geleverd met ingebouwde ondersteuning voor een lange lijst providers. De meest gebruikte zijn onder andere:

  • Video: YouTube, Vimeo, Dailymotion, VideoPress, TikTok
  • Audio: Spotify, SoundCloud, Mixcloud
  • Sociaal: Twitter/X, Instagram, Reddit, Tumblr, Bluesky
  • Afbeeldingen: Flickr, Imgur, SmugMug
  • Overig: WordPress.com-berichten, Speaker Deck, Crowdsignal, Pocket Casts

Plugins kunnen extra providers toevoegen, en met WordPress kunt u ook aangepaste oEmbed-providers registreren via de functie wp_oembed_add_provider().

WordPress als oEmbed-provider

Hier is het deel dat veel mensen missen: WordPress consumeert oEmbed niet alleen — het fungeert ook als provider. Standaard exposeert elke WordPress-site een oEmbed-eindpunt op /wp-json/oembed/1.0/embed en voegt een discovery-link toe aan elke pagina:

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

Dit betekent dat andere WordPress-sites (of elke oEmbed-bewuste applicatie) uw berichten kunnen embedden door simpelweg de URL te plakken. De ingebedde preview bevat de berichttitel, een samenvatting, de naam van de site en de auteur — wat ons brengt bij de beveiligings- en privacykant.

Beveiligings- en privacy-implicaties

De oEmbed-providerfunctionaliteit heeft verschillende aspecten die het overwegen waard zijn:

  • Informatieblootstelling — Het oEmbed-eindpunt geeft berichttitels, samenvattingen, weergavenamen van auteurs en sitemetadata terug aan iedereen die het bevraagt. U hoeft niet ingelogd te zijn. Dit kan een zorg zijn als u inhoud publiceert waar de auteursidentiteit niet openbaar zou moeten zijn, of als u de informatie die uw site blootstelt wilt minimaliseren.
  • SSRF-potentieel — Wanneer WordPress oEmbed-gegevens ophaalt voor URL's die in de editor zijn geplakt, doet het uitgaande HTTP-verzoeken. In theorie zou een geprepareerde URL kunnen proberen dit te misbruiken voor Server-Side Request Forgery, waarbij WordPress interne resources opvraagt. WordPress heeft hiertegen veiligheidsmaatregelen, maar het aanvalsoppervlak bestaat.
  • Laden van third-party resources — Elke ingebedde dienst laadt zijn eigen scripts, stylesheets en trackingmechanismen vanaf externe servers. Een YouTube-embed laadt Google's trackingscripts. Een Twitter-embed laadt de scripts van X. Elk van deze creëert third-party verzoeken die relevant zijn voor GDPR-naleving en de prestaties van de pagina kunnen beïnvloeden.
  • REST API-oppervlak — Het oEmbed-eindpunt is onderdeel van WordPress' REST API. Als u probeert het aantal publiek toegankelijke API-eindpunten op uw site te minimaliseren (een gangbare beveiligingsmaatregel), draagt oEmbed-discovery bij aan dat oppervlak.

oEmbed-providerfunctionaliteit uitschakelen

Als u niet wilt dat andere sites uw inhoud embedden, of als u de informatieblootstelling van uw site wilt verminderen, kunt u de providerkant uitschakelen zonder de mogelijkheid te verliezen om externe inhoud in uw eigen berichten te embedden:

// Verwijder oEmbed-discoverylinks uit HTML head
remove_action('wp_head', 'wp_oembed_add_discovery_links');

// Verwijder oEmbed-specifieke JavaScript van de frontend
remove_action('wp_head', 'wp_oembed_add_host_js');

// Schakel de oEmbed REST API-route uit
add_filter('embed_oembed_discover', '__return_false');

Als u ook wilt voorkomen dat WordPress oEmbed-gegevens ophaalt voor URL's die u plakt (bijv. om uitgaande verzoeken volledig te vermijden), kunt u het oEmbed-filter uit de inhoud verwijderen:

remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result');

De GDPR-invalshoek

Vanuit het oogpunt van gegevensbescherming zijn oEmbed-embeds in wezen het laden van third-party content. Wanneer een bezoeker een pagina met een YouTube-embed bekijkt, doet zijn browser verzoeken naar de servers van Google — waarbij IP-adres, cookies en browsertapgegevens worden overgedragen. Onder GDPR kan hiervoor voorafgaande toestemming vereist zijn.

Verschillende WordPress-plugins pakken dit aan door embeds lazy te laden achter een toestemmingsklik (de bezoeker ziet een placeholder en moet klikken om de daadwerkelijke embed te laden). Dit is een gangbare aanpak in de Duitstalige markt waar de GDPR-handhaving bijzonder streng is.

Hoe InspectWP helpt

InspectWP controleert of op uw WordPress-site oEmbed-discovery is ingeschakeld door te zoeken naar de oEmbed-link-tag in de HTML van uw pagina. Als deze aanwezig is en u niet de bedoeling had uw content beschikbaar te stellen voor embedding op andere sites, geeft het rapport u een waarschuwing zodat u kunt beslissen of u dit wilt uitschakelen.

Controleer nu uw WordPress-site

InspectWP analyseert uw WordPress-site op beveiligingsproblemen, SEO-problemen, GDPR-naleving en prestaties — gratis.

Analyseer uw site gratis