oEmbed ist ein offenes Protokoll, das es Websites ermöglicht, eingebettete Inhalte (Videos, Bilder, Tweets usw.) einfach durch Einfügen einer URL anzuzeigen. Wenn du einen YouTube-, Twitter- oder Spotify-Link in den WordPress-Editor einfügst, wandelt oEmbed ihn automatisch in einen ansprechenden, interaktiven Embed um — ohne HTML-Programmierung.
Wie oEmbed funktioniert
Der oEmbed-Prozess umfasst drei Schritte:
- Discovery — WordPress erkennt, dass eine URL möglicherweise oEmbed unterstützt. Es sucht nach einem
<link type="application/json+oembed">-Tag im HTML der Zielseite oder gleicht die URL mit seiner Liste bekannter oEmbed-Anbieter ab. - Anfrage — WordPress sendet eine HTTP-Anfrage an den oEmbed-Endpunkt des Anbieters mit der URL und den gewünschten Abmessungen.
- Antwort — Der Anbieter gibt JSON oder XML zurück, das den Embed-HTML-Code (meist ein Iframe), Titel, Thumbnail und Metadaten enthält.
oEmbed in WordPress
WordPress hat eingebaute oEmbed-Unterstützung für Dutzende von Diensten, darunter:
- YouTube, Vimeo, Dailymotion
- Twitter/X, TikTok, Instagram
- Spotify, SoundCloud, Mixcloud
- Reddit, Tumblr, WordPress.com
- Flickr, Imgur, SmugMug
WordPress fungiert auch als oEmbed-Provider — andere WordPress-Seiten können deine Beiträge einbetten, indem sie deren URL einfügen.
oEmbed Discovery
Standardmäßig fügt WordPress einen oEmbed-Discovery-Link zum HTML jeder Seite hinzu:
<link rel="alternate" type="application/json+oembed"
href="https://example.com/wp-json/oembed/1.0/embed?url=..." />
Dies teilt anderen Seiten mit: "Du kannst diese Seite einbetten — so bekommst du den Embed-Code." Praktisch, aber es legt deinen REST API oEmbed-Endpunkt öffentlich offen.
Sicherheits- und Datenschutzbedenken
- Informationspreisgabe — Der oEmbed-Endpunkt offenbart Beitragstitel, Auszüge, Autorennamen und Website-Informationen für jeden, der ihn abfragt.
- SSRF-Risiko — oEmbed Discovery beinhaltet, dass WordPress ausgehende HTTP-Anfragen sendet, um Embed-Daten abzurufen. Bösartige URLs könnten dies potenziell für Server-Side Request Forgery (SSRF) ausnutzen.
- Laden von Drittanbieter-Daten — Jeder eingebettete Dienst lädt eigene Skripte, Cookies und Tracking von externen Servern — relevant für die DSGVO-Konformität.
- Angriffsfläche — Der oEmbed REST-Endpunkt vergrößert die öffentlich zugängliche API-Oberfläche deiner Seite.
oEmbed Discovery deaktivieren
Wenn du nicht möchtest, dass andere Seiten deine Inhalte einbetten, kannst du oEmbed Discovery deaktivieren:
// oEmbed Discovery Links deaktivieren
remove_action('wp_head', 'wp_oembed_add_discovery_links');
// oEmbed REST API Endpunkt deaktivieren
add_filter('embed_oembed_discover', '__return_false');
Wie InspectWP hilft
InspectWP erkennt, ob oEmbed Discovery auf deiner WordPress-Seite aktiviert ist, indem es den oEmbed-Link-Tag im HTML deiner Seite prüft. Wenn es aktiviert ist und du es nicht benötigst, kannst du es deaktivieren, um die öffentliche Informationspreisgabe deiner Seite zu reduzieren.