Strukturierte Daten für Kursinformationen (Course und CourseInstance)

Darstellung, wie Kursinformationen in der Google Suche angezeigt werden können

Du kannst Nutzern helfen, deine Kursinhalte zu finden, wenn du Google mithilfe von strukturierten Daten für Kursinformationen über deinen Kurs informierst. Wenn du detailliertere Informationen zu einem Kurs angibst, z. B. Bewertungen, Preise und Kursdetails, kann Google deinen Kurs besser verstehen und Nutzern mit dem Rich-Suchergebnis für Kursinformationen ein besseres Erlebnis bieten.

Es gibt zwei Rich-Suchergebnisfunktionen für Kurse, die denselben Course-Typ von schema.org verwenden. Wenn deine Website Informationen zu Kursen enthält, kannst du beide Funktionen nutzen. Folge dazu den Implementierungsanleitungen:

  • Kursliste: Ein Rich-Suchergebnis, in dem Kurse von derselben Website aufgelistet werden.
  • Kursinformationen: Ein Karussell mit detaillierten Kursinformationen von verschiedenen Websites.

Verfügbarkeit der Funktion

Das Rich-Suchergebnis für Kursinformationen ist in allen Regionen, in denen die Google Suche verfügbar ist, auf Englisch verfügbar. Wir hoffen, dass in Zukunft weitere Kurse mit einer anderen Sprache als Englisch unterstützt werden.

So fügst du strukturierte Daten hinzu

Strukturierte Daten sind ein standardisiertes Format, mit dem du Informationen zu einer Seite angeben und die Seiteninhalte klassifizieren kannst. Falls strukturierte Daten für dich ein neues Thema sind, findest du hier Informationen dazu, wie sie funktionieren.

In der folgenden Übersicht haben wir zusammengefasst, wie du strukturierte Daten erstellst, testest und veröffentlichst. Eine detaillierte Anleitung dazu, wie du einer Webseite strukturierte Daten hinzufügst, findest du im Codelab zu strukturierten Daten.

  1. Füge die erforderlichen Properties hinzu. Hier erfährst du, wie du strukturierte Daten je nach verwendetem Format auf der Seite einfügst.
  2. Folge den Richtlinien.
  3. Prüfe deinen Code mit dem Test für Rich-Suchergebnisse und behebe alle kritischen Fehler. Zusätzlich solltest du alle nicht kritischen Probleme beheben, die im Tool möglicherweise gemeldet werden. Das kann dabei helfen, die Qualität deiner strukturierten Daten zu verbessern. Das ist jedoch nicht nötig, um für Rich-Suchergebnisse geeignet zu sein.
  4. Stelle ein paar Seiten mit deinen strukturierten Daten bereit und teste mit dem URL-Prüftool, wie Google die Seiten sieht. Achte darauf, dass die Seiten für Google zugänglich sind und nicht durch eine robots.txt-Datei, das noindex-Tag oder Anmeldeanforderungen blockiert werden. Wenn die Seiten in Ordnung sind, kannst du Google bitten, deine URLs noch einmal zu crawlen.
  5. Damit Google über künftige Änderungen auf dem Laufenden bleibt, empfehlen wir dir, eine Sitemap einzureichen. Mit der Search Console Sitemap API lässt sich dieser Vorgang automatisieren.

Beispiel

Hier ist ein Beispiel für eine einzelne Infoseite für einen Kurs.


<html>
  <head>
    <title>Introduction to Computer Science and Programming</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@id": "https://www.example.com/advancedCpp",
      "@type": "Course",
      "name": "Learn Advanced C++ Topics",
      "description": "Improve your C++ skills by learning advanced topics.",
      "publisher": {
        "@type": "Organization",
        "name": "CourseWebsite",
        "url": "www.examplecoursewebsite.com"
      },
      "provider": {
        "@type": "Organization",
        "name": "Example University",
        "url": "www.example.com"
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4,
        "ratingCount": 1234,
        "reviewCount": 450
      },
      "offers": [{
        "@type": "Offer",
        "category": "Paid",
        "priceCurrency": "EUR",
        "price": 10.99
      }],
      "totalHistoricalEnrollment": 12345,
      "datePublished": "2019-03-21",
      "educationalLevel": "Advanced",
      "about": ["C++ Coding", "Backend Engineering"],
      "teaches": ["Practice and apply systems thinking to plan for change",
                  "Understand how memory allocation works."],
      "financialAidEligible": "Scholarship Available",
      "inLanguage": "en",
      "availableLanguage": ["fr", "es"],
      "syllabusSections": [
        {
          "@type": "Syllabus",
          "name": "Memory Allocation",
          "description": "Learn how memory is allocated when creating C++ variables.",
          "timeRequired": "PT6H"
        },
        {
          "@type": "Syllabus",
          "name": "C++ Pointers",
          "description": "Learn what a C++ pointer is and when they are used.",
          "timeRequired": "PT11H"
        }
      ],
      "review": [
      {
        "@type": "Review",
        "author": {
            "@type": "Person",
            "name": "Lou S."
        },
        "datePublished": "2020-08-31",
        "reviewRating": {
          "@type": "Rating",
          "bestRating": 10,
          "ratingValue": 6
        }
      }],
      "coursePrerequisites": [
        "Basic understanding of C++ up to arrays and functions.",
        "https://www.example.com/beginnerCpp"
      ],
      "educationalCredentialAwarded": [{
        "@type": "EducationalOccupationalCredential",
        "name": "CourseProvider Certificate",
        "url": "www.example.com",
        "credentialCategory": "Certificate",
        // offers only needed if the credential costs extra money.
        "offers": [{
          "@type": "Offer",
          "category": "Paid",
          "price": 5,
          "priceCurrency": "USD"
        }]
      }],
      "video": {
        "@type": "VideoObject",
        "name": "Video name",
        "description": "A video previewing this course.",
        "uploadDate": " "2022-03-28T08:00:00+08:00",
        "contentUrl": "www.example.come/mp4",
        "thumbnailUrl": "www.example.com/thumbnailurl.jpg"
      },
      "hasCourseInstance": [
      {
        // Blended, instructor-led course meeting 3 hours per day in July.
        "@type": "CourseInstance",
        "courseMode": "Blended",
        "location": "Example University",
        "courseSchedule": {
          "@type": "Schedule",
          "duration": "PT3H",
          "repeatFrequency": "Daily",
          "repeatCount": 31,
          "startDate": "2023-07-01",
          "endDate": "2023-07-31"
        },
        "instructor": [{
          "@type": "Person",
          "name": "Ira D.",
          "description": "Professor at X-University",
          "image": "http://example.com/person.jpg"
        }]
      },
      {
        // Online self-paced course that takes 2 days to complete.
        "@type": "CourseInstance",
        "courseMode": "Online",
        "courseWorkload": "P2D"
      }],
      // Only required for course programs that link to child courses.
      "hasPart": [{
        "@type": "Course",
        "name": "C++ Algorithms",
        "url": "https://www.example.com/cpp-algorithms",
        "description": "Learn how to code base algorithms in c++.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }, {
        "@type": "Course",
        "name": "C++ Data Structures",
        "url": "https://www.example.com/cpp-data-structures",
        "description": "Learn about core c++ data structures.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Richtlinien

Du musst diese Richtlinien beachten, damit dein Kurs als Rich-Suchergebnis für Kursinformationen in der Google Suche angezeigt werden kann.

Inhaltsrichtlinien

Nur Bildungsinhalte, die der folgenden Definition eines Kurses entsprechen, kommen für das Rich-Suchergebnis für Kursinformationen infrage: eine Lehreinheit oder eine Folge von Lehreinheiten, die Vorlesungen, Lektionen oder Module zu einem bestimmten Themenbereich umfassen.

Das Course-Markup muss sich auf einer Webseite befinden, die einen vollständigen, einzelnen Kurs bzw. ein Kursprogramm anbietet. Die folgenden Beispiele kommen nicht als Rich-Suchergebnis für Kursinformationen infrage:

  • Eine Übersichtsseite für einen akademischen Abschluss
  • Eine eigenständige Prüfungsseite
  • Eine allgemeine öffentliche Veranstaltung wie „Tag der Astronomie“
  • Ein einzelnes 2-minütiges Video mit dem Titel „Wie mache ich mir ein Sandwich?“

Definitionen strukturierter Datentypen

Du musst alle erforderlichen Course- und CourseInstance-Properties hinzufügen, damit die Inhalte als Rich-Suchergebnis in der Google Suche angezeigt werden können. Zusätzlich kannst du die empfohlenen Properties einbinden, um den Nutzern mit weiteren Informationen zu deinen Inhalten einen Mehrwert zu bieten.

Course

Ein Kurs ist eine einzelne Lehreinheit, die einzeln oder im Rahmen eines Programms absolviert werden kann.

Die vollständige Definition von Course findest du unter schema.org/Course.

Erforderliche Properties
name

Text

Der vollständige Titel des Kurses.

"name": "Intro to Statistics"
description

Text

Die Beschreibung des Kurses.

  • Empfohlene Länge: 240 Zeichen
  • Maximale Länge: 500 Zeichen
"description": "This course teaches the basics of statistical thinking."
provider

Organization

Informationen zu der Organisation, die die Inhalte für den Kurs erstellt hat.

"provider": {
   "@type": "Organization",
   "name": "Example University",
   "url": "www.exampleuniversity.com"
}
provider.name Text

Der Name des Kursanbieters.

offers

Wiederholbar Offer

Informationen zum Gesamtpreis für den Kurs, einschließlich Servicegebühren. Gib keinen Preis an, der nur für bestimmte Nutzer gilt (z. B. 20 % Rabatt für neue Nutzer).

Gib in diesem Feld keine zusätzlichen Zertifikatsgebühren an. Wenn für den Erwerb eines Zertifikats zusätzliche Kosten anfallen, füge diese der Property educationalCredentialAwarded hinzu.

"offers": [{
   "@type": "Offer",
   "category": "Paid",
   "priceCurrency": "EUR",
   "price": 10.99
}]
         
offers.category Text

Die Preiskategorie des Kurses. Verwende einen der folgenden Werte:

  • Free: Alle Vorlesungen, Aufgaben und Tests müssen für alle Nutzer kostenlos verfügbar sein. Der gesamte Kurs kann kostenlos absolviert werden.
  • Partially Free: Mehr als die Hälfte des Kurses kann kostenlos absolviert werden (zum Beispiel sind alle Vorlesungen kostenlos, die Aufgaben sind jedoch kostenpflichtig).
  • Subscription: Der Nutzer muss Abonnent oder zahlendes Mitglied sein, um den gesamten Kurs absolvieren zu können.
  • Paid: Der Nutzer muss für die Kursteilnahme zahlen.
hasCourseInstance

Wiederholbar CourseInstance

Für jeden Kurs muss es mindestens eine Kursinstanz mit Informationen zum Kursangebot geben. Sieh dir die erforderlichen und empfohlenen Properties im Abschnitt CourseInstance an.

"hasCourseInstance": [{
   // Onsite, instructor-led class meeting weekly in August 2023
   "@type": "CourseInstance",
   "courseMode": "Onsite",
   "location": "Example University",
   "courseSchedule": {
      "@type": "Schedule",
      "duration": "PT5H",
      "repeatCount": 4,
      "repeatFrequency": "Weekly",
      "startDate": "2023-08-01",
      "endDate": "2023-8-31"
   },
   "instructor": [{
      "@type" "Person",
      "name": "Kai S.",
      "description": "Professor at X-University",
      "image": "http://examplePerson.jpg"
   }]
}]
Empfohlene Properties
about

Wiederholbar Text

Beschreibt die Fähigkeiten, die die Nutzer gegebenenfalls im Rahmen des Kurses entwickeln.

"about": ["Quantitative Analysis", "Critical Thinking"]
aggregateRating

AggregateRating

Informationen zur durchschnittlichen Kursbewertung basierend auf den Bewertungen von Nutzern, die den Kurs absolviert haben, falls zutreffend. Bitte beachte die Richtlinien für Rezensions-Snippets und die Liste der erforderlichen und empfohlenen AggregateRating-Properties.

"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"ratingCount": 255,
"reviewCount": 189
}
availableLanguage

Wiederholbar Text

Untertitel oder andere Sprachen, in denen der Kurs angeboten wird, falls zutreffend. Verwende die aus zwei Buchstaben bestehenden Codes aus der Liste der ISO 639-1 alpha-2-Codes.

"availableLanguage": ["fr", "es", "de"]
coursePrerequisites

Wiederholbar Text

Gegebenenfalls Vorkenntnisse, die für den Kurs erforderlich sind. Dazu kann das Vorwissen beschrieben oder auf einen anderen Kurs verlinkt werden (oder beides).

"coursePrerequisites": ["Understanding of Algebra concepts like variables and functions",
            "https://www.coursewebsite.abc/algebra"]
datePublished

Date

Das Datum, an dem der Kurs erstmals veröffentlicht wurde, falls zutreffend. Verwende das 8601-Datumsformat (JJJJ-MM-TT).

"datePublished": "2019-03-21"
educationalCredentialAwarded

Wiederholbar EducationalOccupationalCredential

Informationen über das Zertifikat oder die Bescheinigung, die der Nutzer durch den Abschluss des Kurses erhalten kann, falls zutreffend. Wenn die Bescheinigung zusätzliche Kosten verursacht, gib den zusätzlichen Preis an.

"educationalCredentialAwarded": [{
   "@type": "EducationalOccupationalCredential",
   "name": "CourseProvider Certificate",
   "url": "www.examplecertificate.com",
   "credentialCategory": "Certificate",
   "offers": [{
      "@type": "Offer",
      "category": "Paid",
      "priceCurrency": "USD",
      "price": 5
   }]
}]
educationalCredentialAwarded.credentialCategory Text

Die Art der Bescheinigung, die der Nutzer erhält, falls zutreffend. Verwende einen der folgenden Werte:

  • Certificate: Bescheinigung zur Bestätigung des erfolgreichen Abschlusses des Kurses oder des Programms.
  • Certification: Offizielle Bescheinigung, die eine Prüfung oder einen Nachweis der Kompetenz des Nutzers erfordert.

educationalCredentialAwarded.name Text

Der Name der Bescheinigung, falls zutreffend.

educationalCredentialAwarded.offers.category Text

Die Art des Preises für die Bescheinigung. Verwende eine der folgenden Kategorien:

  • Free: Die Bescheinigung ist kostenlos.
  • Subscription: Der Nutzer muss Abonnent oder zahlendes Mitglied sein, um die Bescheinigung zu erhalten.
  • Paid: Der Nutzer muss für den Erhalt der Bescheinigung zahlen.
educationalCredentialAwarded.offers.price Number

Der numerische Preis der Bescheinigung, falls zutreffend.

educationalCredentialAwarded.offers.priceCurrency Text

Die Währung des Preises für die Bescheinigung, falls zutreffend, im ISO 4217-Währungsformat (aus 3 Buchstaben bestehender Code).

educationalCredentialAwarded.url URL

Link zur Bescheinigungsseite, falls zutreffend.

educationalLevel

Text

Das Zielbildungsniveau für den Kurs, falls zutreffend. Wähle einen der folgenden Werte aus.

  • Beginner: Es sind keine Vorkenntnisse erforderlich, um den Inhalt zu verstehen.
  • Intermediate: Möglicherweise sind gewisse Vorkenntnisse erforderlich, um den Inhalt zu verstehen.
  • Advanced: Dieser Inhalt richtet sich an fortgeschrittene Schüler, die bereits Vorkenntnisse zum jeweiligen Thema haben.
"educationalLevel": "Beginner"
financialAidEligible

Text

Stipendien, spezielle Zahlungspläne und andere finanzielle Unterstützungsmöglichkeiten für Nutzer, die den Kurs absolvieren möchten, falls zutreffend.

"financialAidEligible": "Scholarships available for eligible users."
image

Wiederholbar URL

Gegebenenfalls die URL eines Bilds, das den Kurs repräsentiert. Verwende anstelle von Logos oder Beschriftungen Bilder, die für den Kurs relevant sind.

Zusätzliche Richtlinien für Bilder:

  • Jede Seite muss unabhängig davon, ob Markup eingebunden ist oder nicht, mindestens ein Bild enthalten. Google wählt für die Anzeige in den Suchergebnissen das beste Bild entsprechend dem Seitenverhältnis und der Auflösung aus.
  • Die Bild-URLs müssen crawlbar und indexierbar sein. Mit dem URL-Prüftool kannst du prüfen, ob Google auf deine URLs zugreifen kann.
  • Die Bilder müssen den mit Markup versehenen Inhalt repräsentieren.
  • Bilder müssen in einem Dateiformat vorliegen, das von Google Bilder unterstützt wird.
  • Die besten Ergebnisse erzielen Sie, wenn Sie mehrere hochauflösende Bilder einbinden, die bei Multiplikation von Höhe und Breite mindestens 50.000 Pixel umfassen. Empfohlen werden die Seitenverhältnisse 16:9, 4:3 und 1:1.

Beispiel:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
inLanguage

Text

Die Hauptsprache, in der der Kurs angeboten wird, falls zutreffend. Verwende die aus zwei Buchstaben bestehenden Codes aus der Liste der ISO 639-1 alpha-2-Codes.

"inLanguage": "en"
offers.price Number

Der numerische Preis des Kurses, falls zutreffend. Gib keine anderen Informationen in dieses Feld ein, z. B. das Währungssymbol.

offers.priceCurrency Text

Die Währung des Kurspreises im ISO 4217-Währungsformat (aus 3 Buchstaben bestehender Code), falls zutreffend.

provider.url URL

Die URL, die auf die Startseite des Kursanbieters verweist, falls zutreffend.

publisher

Organization

Informationen zur Organisation, die den Kurs veröffentlicht und anzeigt, falls zutreffend.

"publisher": {
   "@type": "Organization",
   "name": "Course Website",
   "url": "www.example.com"
}
publisher.name Text

Der Name des Veröffentlichers des Kurses, falls zutreffend.

publisher.url URL

Die URL, die auf die Startseite des Kursveröffentlichers verweist, falls zutreffend.

review

Wiederholbar Review

Gegebenenfalls eine Liste von Nutzerrezensionen zum Kurs. Weitere Informationen findest du in den Richtlinien für Rezensions-Snippets.

"review": [{
   "@type": "Review",
   "author": {
      "@type": "Person",
      "name": "Sasha J."
   },
   "datePublished": "2021-09-22",
   "reviewRating": {
      "@type": "Rating",
      "ratingValue": 4
   }
}]
syllabusSections

Wiederholbar Syllabus

Informationen zu den verschiedenen Modulen, aus denen der Kurs besteht, falls zutreffend.

"syllabusSections": [{
   "@type": "Syllabus",
   "name": "Algebra Review",
   "description": "Review prerequisite Algebra concepts.",
   "timeRequired": "PT2H30M"
}, {
   "@type": "Syllabus",
   "name": "Statistics Terms",
   "description": "Learn the definitions of basic statistics terms.",
   "timeRequired": "PT5H"
}]
syllabusSections.description Text

Eine Beschreibung, worum es im Modul geht, falls zutreffend.

syllabusSections.name Text

Der Name des Kursmoduls, falls zutreffend.

syllabusSections.timeRequired Duration

Verwende gegebenenfalls das 8601-Format für die Dauer. Beispiel: PT2H30M bedeutet, dass das Modul 2 Stunden und 30 Minuten dauert.

teaches

Wiederholbar Text

Die Lernergebnisse oder das spezifische Wissen, das die Nutzer im Rahmen des Kurses erwerben werden, falls zutreffend.

"teaches": ["How to use visualization tools and graphs", "Why stats is important"]
totalHistoricalEnrollment

Integer

Die Gesamtzahl der Nutzer, die sich während der Laufzeit des Kurses registriert haben, falls zutreffend.

"totalHistoricalEnrollment": 80032
video

VideoObject

Gegebenenfalls eine Videovorschau oder ein Trailer für den Kurs. Weitere Informationen findest du in den VideoObject-Richtlinien.

"video": {
   "@type": "VideoObject",
   "name": "Video name",
   "description": "A video previewing this course.",
   "uploadDate": " "2022-03-28T08:00:00+08:00",
   "contentUrl": "www.videourl.mp4",
   "thumbnailUrl": "www.thumbnailurl.jpg"
}

CourseInstance

Die vollständige Definition von CourseInstance findest du unter schema.org/CourseInstance. Für jeden Kurs muss mindestens eine CourseInstance mit den erforderlichen Properties vorhanden sein.

Erforderliche Properties
courseMode

Text

Das Medium, über das der Kurs bereitgestellt wird. Verwende einen der folgenden Werte:

  • Online: Alle Kursvorlesungen, Aufgaben und Tests können virtuell absolviert werden.
  • Onsite: Der Kurs wird mit persönlicher Anwesenheit an einem physischen Standort abgehalten.
  • Blended: Der Kurs ist eine Mischung aus Online- und Präsenzkurs.

Wenn die Klasse Onsite oder Blended ist, füge die Property location hinzu.

"courseMode": "Online"

courseSchedule

Schedule

Informationen darüber, wie lange der durchschnittliche Nutzer für den Kurs benötigt, unter Berücksichtigung der vorgeschlagenen Taktung. Gib das Start- und das Enddatum für Kurse mit einem festen Zeitplan an.

Hier ist ein Beispiel für einen getakteten Kurs, der jederzeit gestartet werden kann:

// This course takes 6 weeks to complete.
"courseSchedule": {
   "@type": "Schedule",
   "repeatCount": 6
   "repeatFrequency": "Weekly",
}

Hier ein Beispiel für einen getakteten Kurs in einem festgelegten Zeitraum:

// This course expects 1 hour per day during July 2023
"courseSchedule": {
   "@type": "Schedule",
   "duration": "PT1H",
   "repeatCount": 31
   "repeatFrequency": "Daily",
   "startDate": "2023-07-01",
   "endDate": "2023-07-31"
}
courseSchedule.repeatCount Integer

Der numerische Wert für die Dauer des Kurses in repeatFrequency-Einheiten. Wenn repeatFrequency beispielsweise monatlich ist und repeatCount 4 beträgt, dauert der Kurs 4 Monate.

courseSchedule.repeatFrequency Text

Die Properties duration und repeatCount beziehen sich auf dieses Feld. Verwende einen der folgenden Werte:

  • Daily: Der Kurs findet täglich statt.
  • Weekly: Der Kurs findet wöchentlich statt.
  • Monthly: Der Kurs findet monatlich statt.
  • Yearly: Der Kurs findet jährlich statt.
courseWorkload Text

Dieses Feld gibt an, wie viel Zeit insgesamt nötig ist, um sich alle Videos anzusehen und alle Aufgaben und Prüfungen für den Kurs abzuschließen. Verwende das 8601-Format für die Dauer.

"courseWorkload": "PT22H"
Empfohlene Properties
courseSchedule.duration Duration

Die vorgeschlagene Taktung für die voraussichtliche Zeit, die ein durchschnittlicher Nutzer benötigt, falls zutreffend, in repeatFrequency-Einheiten im 8601-Format für die Dauer. Wenn repeatFrequency beispielsweise monatlich ist und duration den Wert PT5H hat, sollte der Nutzer damit rechnen, 5 Stunden pro Monat für den Kurs aufzuwenden.

Gib mit dieser Property nicht die Gesamtlänge des Kurses an. Verwende stattdessen die Property courseWorkload.

courseSchedule.endDate Date

Das Enddatum des Kurses im 8601-Datumsformat (JJJJ-MM-TT), falls zutreffend.

courseSchedule.startDate Date

Das Startdatum des Kurses im 8601-Datumsformat (JJJJ-MM-TT), falls zutreffend.

image URL

Die URL, die auf ein Bild des Kursleiters verweist, falls zutreffend.

Zusätzliche Richtlinien für Bilder:

  • Jede Seite muss unabhängig davon, ob Markup eingebunden ist oder nicht, mindestens ein Bild enthalten. Google wählt für die Anzeige in den Suchergebnissen das beste Bild entsprechend dem Seitenverhältnis und der Auflösung aus.
  • Die Bild-URLs müssen crawlbar und indexierbar sein. Mit dem URL-Prüftool kannst du prüfen, ob Google auf deine URLs zugreifen kann.
  • Die Bilder müssen den mit Markup versehenen Inhalt repräsentieren.
  • Bilder müssen in einem Dateiformat vorliegen, das von Google Bilder unterstützt wird.
  • Die besten Ergebnisse erzielen Sie, wenn Sie mehrere hochauflösende Bilder einbinden, die bei Multiplikation von Höhe und Breite mindestens 50.000 Pixel umfassen. Empfohlen werden die Seitenverhältnisse 16:9, 4:3 und 1:1.

Beispiel:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
instructor

Wiederholbar Person

Informationen zum Kursleiter, falls zutreffend.

"instructor": [{
   "@type": "Person",
   "name": "Dana A.",
   "description": "Professor at X-University",
   "image": "http://examplePerson.jpg"
}]
instructor.description Text

Die Beschreibung des Kursleiters und seiner Qualifikationen, falls zutreffend.

instructor.name Text

Der Name des Kursleiters, falls zutreffend.

location

Text

Der Name oder die Adresse (oder beides) des physischen Standorts, an dem der Kurs angeboten wird, falls zutreffend.

"courseMode": "Blended",
"location": "Example High School"

Kursprogramm

Ein Kursprogramm ist eine Sammlung von untergeordneten Kursen. Die untergeordneten Kurse müssen eigenständige Kurse mit eigenen URLs und Landingpages sein.

Wenn deine Webseite ein Kursprogramm ist, musst du zusätzlich zu den anderen erforderlichen Properties, die in den Bereichen Course und CourseInstance aufgeführt sind, die folgenden erforderlichen Properties angeben.

Erforderliche Properties
hasPart

Wiederholbar Course

Die Liste der untergeordneten Kurse, die zu diesem Programm gehören.

"@context": "https://schema.org/",
"@type": "Course",
"name": "Learning Pathway: Knitting",
"url": "www.example.com/knitprogram"
// Fill the other required Course and CourseInstance properties
"hasPart": [{
   "@type": "Course",
   "name": "Intro to Knitting",
   "url": "www.example.com/knitbasics",
   "description": "Learn the basics of how to knit."
   }, {
   "@type": "Course",
   "name": "Knit a Sweater",
   "url": "www.example.com/knitsweater",
   "description": "Learn to knit an entire sweater."
}]
hasPart.name Text

Der vollständige Titel des untergeordneten Kurses.

hasPart.url URL

Die URL der Landingpage des untergeordneten Kurses.

Empfohlene Properties
hasPart.description Text

Eine kurze Beschreibung der Inhalte des untergeordneten Kurses, falls zutreffend.

  • Empfohlene Länge: 240 Zeichen
  • Maximale Länge: 500 Zeichen

Rich-Suchergebnisse mit der Search Console beobachten

Die Search Console ist ein Tool, mit dem du die Leistung deiner Seiten in der Google-Suche beobachten kannst. Damit deine Website in die Google-Suchergebnisse aufgenommen wird, musst du dich nicht für die Search Console registrieren. Du kannst aber mithilfe der Search Console möglicherweise besser nachvollziehen, wie deine Website von Google gesehen wird, und sie bei Bedarf optimieren. Wir empfehlen, die Search Console in den folgenden Fällen aufzusuchen:

  1. Nach der erstmaligen Bereitstellung von strukturierten Daten
  2. Nach der Veröffentlichung neuer Vorlagen oder der Aktualisierung deines Codes
  3. Zur regelmäßigen Analyse der Zugriffe

Nach der erstmaligen Bereitstellung von strukturierten Daten

Nachdem Google deine Seiten indexiert hat, kannst du mithilfe des entsprechenden Statusberichts für Rich-Suchergebnisse nach Problemen suchen. Im Idealfall nimmt die Anzahl der gültigen Elemente zu, die Anzahl der ungültigen Elemente aber nicht. Wenn Probleme mit deinen strukturierten Daten auftreten:

  1. Korrigiere die ungültigen Elemente.
  2. Prüfe eine Live-URL, um festzustellen, ob das Problem weiterhin besteht.
  3. Beantrage die Validierung mithilfe des Statusberichts.

Nachdem du neue Vorlagen veröffentlicht oder deinen Code aktualisiert hast

Wenn du wichtige Änderungen an deiner Website vornimmst, solltest du auf eine Zunahme von ungültigen Elementen in strukturierten Daten achten.
  • Wenn du eine Zunahme der ungültigen Elemente feststellst, hast du möglicherweise eine neue Vorlage eingeführt, die nicht funktioniert. Eventuell interagiert deine Website auch auf eine neue und fehlerhafte Art mit der vorhandenen Vorlage.
  • Wenn du eine Abnahme der gültigen Elemente, aber keine Zunahme der ungültigen Elemente feststellst, sind möglicherweise keine strukturierten Daten mehr in deine Seiten eingebettet. Verwende das URL-Prüftool, um die Ursache des Problems zu ermitteln.

Zugriffe regelmäßig analysieren

Analysiere mit dem Leistungsbericht die Zugriffe über die Google Suche. Die Daten geben Aufschluss darüber, wie oft deine Seite als Rich-Suchergebnis angezeigt wird, wie oft Nutzer darauf klicken und wie hoch deine durchschnittliche Position in den Suchergebnissen ist. Diese Ergebnisse lassen sich auch mit der Search Console API automatisch abrufen.

Fehlerbehebung

Falls du Probleme bei der Implementierung oder Fehlerbehebung von strukturierten Daten hast, versuch es mit diesen Lösungsansätzen:

  • Wenn du ein CMS (Content-Management-System) verwendest oder jemand anderes sich um deine Website kümmert, bitte diese Person oder den CMS-Support, dir zu helfen. Leite am besten alle Search Console-Nachrichten, in denen das Problem beschrieben ist, entsprechend weiter.
  • Google kann nicht garantieren, dass Funktionen, die strukturierte Daten nutzen, in den Suchergebnissen angezeigt werden. Eine Liste mit häufigen Gründen, aus denen Google deine Inhalte möglicherweise nicht in einem Rich-Suchergebnis anzeigt, findest du im Artikel Allgemeine Richtlinien für strukturierte Daten.
  • Möglicherweise sind deine strukturierten Daten fehlerhaft. Näheres dazu findest du in der Liste der Fehler bei strukturierten Daten.
  • Wenn auf deiner Seite eine manuelle Maßnahme gegen strukturierte Daten vorliegt, werden die strukturierten Daten auf der Seite ignoriert, obwohl die Seite weiter in den Ergebnissen der Google Suche erscheinen kann. Nutze den Bericht zu manuellen Maßnahmen, um Probleme mit strukturierten Daten zu beheben.
  • Lies dir die Richtlinien noch einmal durch und prüfe, ob deine Inhalte den Richtlinien entsprechen. Das Problem kann durch Spaminhalte oder die Verwendung von Spam-Markup verursacht sein. Allerdings ist es auch möglich, dass das Problem kein Syntaxproblem ist und daher beim Test für Rich-Suchergebnisse nicht identifiziert werden kann.
  • Eine Fehlerbehebung für den Fall, dass Rich-Suchergebnisse fehlen oder die Gesamtzahl der Rich-Suchergebnisse zurückgeht, findest du hier.
  • Plane genug Zeit für das erneute Crawling und die Neuindexierung ein. Nachdem eine Seite veröffentlicht wurde, kann es einige Tage dauern, bis sie von Google gefunden und gecrawlt wurde. Antworten auf allgemeine Fragen zum Crawlen und Indexieren erhältst du auf der Seite Häufig gestellte Fragen zum Crawling und zur Indexierung in der Google Suche.
  • Oder du postest deine Frage im Forum von Google Search Central.