Zum Hauptinhalt springen
Technisches SEO

VideoObject-Markup: Videos in die Suche bringen

09. September 2026 · 8 Min. Lesezeit

Ein VideoObject nach schema.org sagt Google in maschinenlesbarer Form, was in einem Video steckt: Titel, Beschreibung, Vorschaubild, Veröffentlichungsdatum und die Adresse der Datei. Ohne dieses Markup bleibt ein selbst gehostetes Video in der Videosuche praktisch unsichtbar, weil aus einem nackten <video>-Tag kaum etwas hervorgeht.

Vier Felder sind Pflicht, ein fünftes entscheidet über Erfolg oder Fehlschlag. Der Einbau dauert eine halbe Stunde, und die Fehlerquellen sind seit Jahren dieselben: die falsche URL im falschen Feld, eine Dauer, die kein Mensch auf Anhieb richtig schreibt, und ein Video, das der Crawler gar nicht erst zu sehen bekommt.

Wann sich ein eigenes VideoObject überhaupt lohnt

Wenn Sie ein YouTube-Video per iframe einbetten, brauchen Sie auf Ihrer Seite in aller Regel kein eigenes Markup. YouTube liefert die strukturierten Daten für dieses Video selbst aus, und Google ordnet das Ergebnis der YouTube-Seite zu, nicht Ihrer. Sie dürfen ein VideoObject ergänzen, gewinnen damit aber selten etwas. Wer über YouTube Reichweite will, arbeitet besser an Titel, Kapiteln und Kanalstruktur; wie das aussieht, steht im Beitrag zur Sichtbarkeit von Videos auf YouTube.

Interessant wird VideoObject bei selbst gehosteten Videos: die MP4-Datei auf dem eigenen Server oder in einem CDN, eingebunden über einen eigenen Player. Hier hat Google keine zweite Datenquelle. Der Crawler sieht ein Video-Element mit einer Datei und weiß weder, wie das Video heißt, noch worum es geht. Produktvideos im Shop, Anleitungen im Support-Bereich, Mitschnitte von Webinaren: das sind die Fälle, in denen sich die Arbeit rechnet.

Ein Sonderfall sind Videos, die über einen Hoster wie Vimeo laufen und auf Ihrer Seite eingebettet sind. Dort lohnt sich das Markup meistens, weil Ihre Seite die Landingpage ist und der Hoster keine eigene Ergebnisseite dafür bespielt. Sehen Sie trotzdem vorher in den Quelltext: Liefert der Anbieter bereits ein VideoObject mit, stehen am Ende zwei Auszeichnungen für dasselbe Video auf einer Seite, und Google entscheidet sich für eine davon.

Pflichtfelder im Video-Markup, und wo es hakt

Google verlangt vier Felder, ohne die kein Video-Ergebnis entsteht: name, description, thumbnailUrl und uploadDate. Der Grund wird sichtbar, sobald man sich ein fertiges Suchergebnis ansieht. Google baut die Anzeige genau daraus: Der Name wird zur Überschrift, die Beschreibung zum Snippet, das Thumbnail zum Vorschaubild, das Datum zur Altersangabe. Fehlt ein Baustein, lässt Google das Ergebnis lieber weg, als es halb darzustellen.

Bei description reicht ein Halbsatz nicht. Zwei bis drei Sätze, die das Video beschreiben und nicht die Seite drumherum, sind das Minimum; im Snippet schneidet Google ohnehin nach rund 150 Zeichen ab. thumbnailUrl braucht eine crawlbare Bild-URL, mindestens 60 mal 30 Pixel groß, in der Praxis gern deutlich größer. Ein Poster-Bild, das erst per JavaScript in den Player gesetzt wird, zählt nicht. Und uploadDate gehört im ISO-Format mit Zeitzone hinein, also 2026-09-09T08:00:00+02:00 statt 09.09.2026.

Dazu kommt ein Feld, das formal nur „eines von beiden" ist und in der Praxis über alles entscheidet. contentUrl ist die direkte Adresse der Videodatei, etwa https://beispiel.de/videos/anleitung.mp4. embedUrl ist die Adresse des Players, also das, was im src eines iframes steht. Google bevorzugt contentUrl, weil es die Datei damit selbst abrufen und auswerten kann. Der Klassiker unter den Fehlern: In contentUrl landet die URL der Seite, auf der das Video eingebunden ist. Das ist keine Mediendatei, und Google verwirft die Angabe stillschweigend. Können Sie beide URLs sauber liefern, liefern Sie beide.

Die vollständige Feldliste mit allen empfohlenen Angaben steht in der Google-Dokumentation zu strukturierten Daten für Videos. Wer mit schema.org insgesamt noch fremdelt, findet die Grundlagen strukturierter Daten in einem eigenen Beitrag.

duration: warum PT1M30S und nicht 1:30

Das Feld duration ist optional und gehört trotzdem immer hinein. Google zeigt die Länge als kleines Badge im Suchergebnis, und ohne Dauer sind Key Moments gar nicht erst möglich. Erwartet wird eine Zeitspanne nach ISO 8601, und die schreibt sich anders, als es sich anfühlt.

Der Aufbau ist simpel, sobald man ihn einmal gesehen hat: P steht für die Periode, T leitet den Zeitanteil ein, danach folgen die Werte mit H, M und S. 90 Sekunden werden zu PT1M30S, eine Stunde und zwölf Minuten zu PT1H12M, zwei Minuten und fünf Sekunden zu PT2M5S. Führende Nullen brauchen Sie nicht. PT90S ist formal ebenfalls gültig, die aufgeteilte Schreibweise ist aber lesbarer und weniger anfällig für Copy-Paste-Fehler.

Falsch sind alle Varianten, die im Alltag naheliegen: 1:30, die nackte 90, „1 min 30 s". Validatoren melden das zuverlässig, nur schaut niemand hin, solange das übrige Markup durchläuft.

Praxis-Tipp: Die exakte Länge holen Sie sich mit ffprobe -v error -show_entries format=duration -of csv=p=0 video.mp4. Das liefert Sekunden als Kommazahl, die Sie nur noch in Minuten und Sekunden zerlegen müssen. Bei automatisch erzeugtem Markup rechnen Sie das direkt im Template um, dann kann sich niemand vertippen.

Key Moments und das vollständige JSON-LD

Key Moments sind die Sprungmarken, die Google unter manchen Videoergebnissen anzeigt. Technisch sind es Clip-Einträge unter hasPart, jeder mit Startzeit, Endzeit in Sekunden und einer eigenen URL, die genau an diese Stelle springt. Voraussetzung ist ein Player, der Zeitmarken in der URL versteht, üblicherweise über #t=90. Kann er das nicht, führen die Sprungmarken ins Leere und richten mehr Schaden an, als sie nützen.

Nach unserer Erfahrung sind Key Moments die am meisten überschätzte Zutat im Video-Markup. Bei einem Zweiminüter kosten sie Pflegeaufwand und bringen nichts. Erst bei längeren Anleitungen oder Webinar-Mitschnitten, in denen Zuschauer wirklich zu einem Kapitel springen wollen, verdient die Arbeit ihren Preis.

So sieht ein vollständiges Markup aus, das Sie übernehmen und mit Ihren eigenen Werten füllen können:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Kaffeemaschine entkalken in 4 Schritten",
  "description": "Anleitung zum Entkalken der Modellreihe C40, vom Mischverhältnis bis zum Spülgang. Zeigt auch, welche Dichtung dabei regelmäßig übersehen wird.",
  "thumbnailUrl": "https://beispiel.de/bilder/entkalken-vorschau.jpg",
  "uploadDate": "2026-09-09T08:00:00+02:00",
  "duration": "PT4M12S",
  "contentUrl": "https://beispiel.de/videos/entkalken.mp4",
  "embedUrl": "https://beispiel.de/player/entkalken/",
  "publisher": {
    "@type": "Organization",
    "name": "Beispiel GmbH",
    "logo": {
      "@type": "ImageObject",
      "url": "https://beispiel.de/logo.png"
    }
  },
  "hasPart": [
    {
      "@type": "Clip",
      "name": "Entkalker ansetzen",
      "startOffset": 35,
      "endOffset": 96,
      "url": "https://beispiel.de/anleitung/entkalken/#t=35"
    },
    {
      "@type": "Clip",
      "name": "Spülgang starten",
      "startOffset": 96,
      "endOffset": 252,
      "url": "https://beispiel.de/anleitung/entkalken/#t=96"
    }
  ]
}

Das Ganze kommt in ein <script type="application/ld+json"> auf der Seite, auf der das Video auch zu sehen ist. Ob es im Head oder im Body steht, ist Google egal. In WordPress übernimmt das je nach Setup ein Plugin oder ein eigenes Template-Feld; welche Wege es dort gibt, zeigt der Beitrag zu Schema Markup in WordPress.

Wenn Google das Video nicht abrufen kann

Hier liegt die häufigste Ursache dafür, dass ein fehlerfreies Markup wirkungslos bleibt. Der Testbericht ist grün, die Search Console meldet keine Probleme, und trotzdem taucht das Video nirgends auf. Meistens liegt es daran, dass Google das Video nie zu Gesicht bekommt. Das Markup beschreibt dann etwas, das für den Crawler nicht existiert.

Vier Stellen, an denen das regelmäßig passiert:

  • Lazy geladene Player. Das <video>-Element entsteht erst per JavaScript nach einem Klick oder beim Scrollen. Googlebot rendert zwar, klickt aber nicht. Was hinter einer Interaktion liegt, ist für die Indexierung nicht vorhanden.
  • Consent-Banner davor. Der Player lädt erst nach Zustimmung, und ein Bot stimmt nie zu. Bei eingebetteten Drittanbieter-Videos ist diese Sperre aus Datenschutzsicht richtig. Bei einem eigenen Video, das vom eigenen Server kommt und keine Cookies setzt, ist sie unnötig und kostet Sichtbarkeit.
  • Thumbnail ohne eigene Adresse. Ein Poster, das als Data-URI im HTML steckt oder per Skript gesetzt wird, hat keine URL, die Google abrufen könnte. Das Bild braucht eine normale, indexierbare Adresse.
  • Gesperrte Dateipfade. Das Verzeichnis /videos/ oder der CDN-Pfad stehen in der robots.txt auf Disallow, oder der Server antwortet auf Anfragen ohne Browser-Header mit 403. Beides fällt im Alltag nie auf, weil Besucher das Video ja problemlos sehen.

Prüfen lässt sich das in wenigen Minuten. Rufen Sie die contentUrl direkt im Browser auf, danach noch einmal per curl -I und sehen Sie sich den Statuscode an. Nutzen Sie anschließend die URL-Prüfung der Search Console und suchen Sie im gerenderten HTML nach dem Video-Element. Wie Sie das Markup selbst gegenprüfen, steht ausführlich in der Anleitung zum Prüfen von Schema-Auszeichnungen.

Grob geschätzt scheitert jedes zweite Video-Markup, das uns in Audits begegnet, nicht an der Syntax, sondern an dieser Erreichbarkeit. Wer viele Videos ausliefert, ergänzt zusätzlich eine Video-Sitemap. Sie ersetzt das Markup nicht, hilft Google aber beim Auffinden der Dateien.

Gut zu wissen: Ein VideoObject darf nur ein Video beschreiben, das auf genau dieser Seite auch sichtbar ist. Auszeichnung für ein Video, das erst zwei Klicks weiter läuft, wertet Google als irreführend und kann eine manuelle Maßnahme nach sich ziehen.

Fazit

Ein gültiges VideoObject braucht vier Pflichtfelder, mindestens eine der beiden URL-Angaben und eine Dauer im ISO-8601-Format. Das ist in einer halben Stunde erledigt und macht danach kaum Arbeit. Entscheidend ist der Schritt, den fast alle auslassen: die Erreichbarkeit des Videos für Googlebot zu prüfen, denn ohne sie beschreibt auch das beste Markup ein Video, das für Google nicht existiert.

Ihre Videos tauchen in der Suche nicht auf?

Wir prüfen Markup, Player und Erreichbarkeit Ihrer Videos und sagen Ihnen konkret, an welcher Stelle es klemmt.

SEO-Audit anfragen
09 · Kontakt

Reden wir über
Platz 1 für Ihre Firma.

Wählen Sie kurz aus, was Sie brauchen. Wir melden uns mit einer ehrlichen Einschätzung in 24 Stunden. Kein Verkaufs­gespräch, keine Werbung.

09129 1439894
20+ Jahre Nürnberg Keine Vertragsbindung Mo-Fr 9-18 · kein Call-Center