Die Strukturierte Daten Auszeichnung ist essentiell für eine gute Suchmaschinenoptimierung (SEO). Sie hilft Suchmaschinen wie Google, den Inhalt Ihrer Website besser zu verstehen und ihn entsprechend in den Suchergebnissen darzustellen. Eine häufig verwendete Strukturierte Daten Art ist das ItemList
Schema, speziell das Attribut itemListElement
. Dieser Artikel widmet sich einem oft auftretenden Problem bei der Implementierung von itemListElement
: dem Fehler, dass „name” oder „item.name” fehlen. Wir erklären, wann diese Felder erforderlich sind, wie Sie den Fehler vermeiden und geben Best Practices für eine korrekte Implementierung.
Was ist das ItemList
Schema und itemListElement
?
Das ItemList
Schema wird verwendet, um eine Liste von Elementen darzustellen. Dies kann eine Liste von Produkten, Artikeln, Rezepten oder anderen Arten von Inhalten sein. Das itemListElement
Attribut innerhalb des ItemList
Schemas ist ein Array, das die einzelnen Elemente der Liste beschreibt.
Jedes Element im itemListElement
Array sollte idealerweise die folgenden Eigenschaften haben:
@type
: Der Typ des Listenelements (z.B.ListItem
).position
: Die Position des Elements in der Liste (beginnend mit 1).item
: Ein Objekt, das das Element selbst beschreibt. Dies kann einProduct
,Article
oder ein anderes Schema sein.
Das item
Objekt kann wiederum verschiedene Eigenschaften haben, darunter:
@id
: Die eindeutige Kennung des Elements (z.B. die URL der Produktseite).name
: Der Name des Elements (z.B. der Produktname).
Der Fehler: "name"
oder "item.name"
fehlen
Der Validierungsfehler, dass „name” oder „item.name” fehlen, tritt auf, wenn das Schema nicht ausreichend Informationen über das Element in der Liste liefert. Suchmaschinen benötigen einen klaren und präzisen Namen, um das Element in der Liste zu verstehen und korrekt darzustellen. Es gibt verschiedene Szenarien, in denen dieser Fehler auftreten kann:
item
fehlt: Dasitem
Objekt ist überhaupt nicht definiert innerhalb desListItem
.name
fehlt direkt imListItem
: Anstelle des verschachteltenitem
Objekts wird versucht, den Namen direkt imListItem
zu definieren, aber diename
Eigenschaft fehlt.item.name
fehlt: Dasitem
Objekt ist vorhanden, aber diename
Eigenschaft innerhalb desitem
Objekts fehlt.- Der Wert von
name
oderitem.name
ist leer: Die Eigenschaften sind zwar vorhanden, aber ihr Wert ist ein leerer String odernull
.
Wann ist "name"
oder "item.name"
erforderlich?
Grundsätzlich gilt: Entweder "name"
oder "item.name"
MUSS vorhanden sein und einen aussagekräftigen Wert haben, wenn Sie das itemListElement
Attribut verwenden. Die Wahl zwischen den beiden hängt von der Art der Daten ab, die Sie darstellen:
- Verwendung von
item.name
: Dies ist der empfohlene Ansatz, wenn Sie komplexe Elemente in Ihrer Liste haben, die durch ein eigenes Schema (z.B.Product
,Article
) repräsentiert werden. In diesem Fall enthält dasitem
Objekt das vollständige Schema des Elements, einschließlich desname
. - Verwendung von
name
direkt imListItem
: Dies kann verwendet werden, wenn die Elemente in der Liste sehr einfach sind und keine detaillierte Beschreibung benötigen. Dies ist weniger üblich und sollte nur verwendet werden, wenn es wirklich keine weiteren Eigenschaften des Elements gibt, die relevant wären.
Wichtig: Wenn Sie ein item
Objekt verwenden (was meistens der Fall sein sollte), ist es nicht ausreichend, nur eine URL (@id
) anzugeben. Der Name des Elements ist zusätzlich erforderlich!
Beispiele für korrekte und fehlerhafte Implementierungen
Hier sind einige Beispiele, die verdeutlichen, wie Sie den Fehler vermeiden:
Korrekte Implementierung mit item.name
:
„`json
{
„@context”: „https://schema.org”,
„@type”: „ItemList”,
„itemListElement”: [
{
„@type”: „ListItem”,
„position”: 1,
„item”: {
„@type”: „Product”,
„@id”: „https://www.example.com/product/123”,
„name”: „Roter Pullover mit V-Ausschnitt”
}
},
{
„@type”: „ListItem”,
„position”: 2,
„item”: {
„@type”: „Product”,
„@id”: „https://www.example.com/product/456”,
„name”: „Blaue Jeans mit geradem Bein”
}
}
]
}
„`
Korrekte Implementierung mit name
(selten):
„`json
{
„@context”: „https://schema.org”,
„@type”: „ItemList”,
„itemListElement”: [
{
„@type”: „ListItem”,
„position”: 1,
„name”: „Roter Pullover mit V-Ausschnitt”,
„item”: „https://www.example.com/product/123”
},
{
„@type”: „ListItem”,
„position”: 2,
„name”: „Blaue Jeans mit geradem Bein”,
„item”: „https://www.example.com/product/456”
}
]
}
„`
Hinweis: In diesem Beispiel wird das `item` Attribut als einfacher String (URL) verwendet. Dies ist zwar technisch korrekt, aber weniger semantisch wertvoll als die Verwendung eines vollständigen item
Objekts.
Fehlerhafte Implementierung (name
fehlt):
„`json
{
„@context”: „https://schema.org”,
„@type”: „ItemList”,
„itemListElement”: [
{
„@type”: „ListItem”,
„position”: 1,
„item”: {
„@type”: „Product”,
„@id”: „https://www.example.com/product/123”
}
}
]
}
„`
Dieser Code führt zu einem Validierungsfehler, da das item
Objekt zwar vorhanden ist, aber die name
Eigenschaft fehlt.
Fehlerhafte Implementierung (item.name
ist leer):
„`json
{
„@context”: „https://schema.org”,
„@type”: „ItemList”,
„itemListElement”: [
{
„@type”: „ListItem”,
„position”: 1,
„item”: {
„@type”: „Product”,
„@id”: „https://www.example.com/product/123”,
„name”: „”
}
}
]
}
„`
Auch dieser Code führt zu einem Fehler, da der Wert von item.name
leer ist.
Best Practices für die Implementierung von itemListElement
Um sicherzustellen, dass Ihre ItemList
Strukturierte Daten korrekt implementiert sind und keine Fehler verursachen, beachten Sie die folgenden Best Practices:
- Verwenden Sie das
item
Objekt: Stellen Sie, wenn möglich, sicher, dass jedesListItem
einitem
Objekt enthält, das das Element detailliert beschreibt. - Geben Sie immer
item.name
an: Innerhalb desitem
Objekts MUSS diename
Eigenschaft vorhanden sein und einen aussagekräftigen Namen für das Element enthalten. - Stellen Sie sicher, dass
item.name
nicht leer ist: Vermeiden Sie leere Strings odernull
Werte füritem.name
. - Verwenden Sie das korrekte Schema für den
item
Typ: Wählen Sie das passende Schema für den Typ des Elements (z.B.Product
,Article
,Recipe
). - Validiere deine Strukturierte Daten: Verwenden Sie das Google Rich Results Test Tool oder andere Validierungstools, um Ihre Strukturierte Daten zu überprüfen und sicherzustellen, dass keine Fehler vorhanden sind.
- Überprüfen Sie regelmäßig Ihre Implementierung: Suchmaschinenalgorithmen ändern sich ständig. Überprüfen Sie Ihre Strukturierte Daten regelmäßig, um sicherzustellen, dass sie weiterhin den aktuellen Best Practices entsprechen.
- Verwenden Sie dynamische Daten: Implementieren Sie die Strukturierte Daten automatisiert, so dass die Werte (insbesondere die Produktnamen) automatisch aus Ihrer Datenbank übernommen werden und aktuell sind.
Fazit
Die korrekte Implementierung von itemListElement
mit dem ItemList
Schema ist entscheidend für eine effektive SEO. Durch das Verständnis der Anforderungen für die name
oder item.name
Eigenschaften und die Einhaltung der Best Practices können Sie sicherstellen, dass Suchmaschinen Ihre Listen korrekt interpretieren und Ihre Inhalte optimal in den Suchergebnissen darstellen. Vergessen Sie nicht, Ihre Strukturierte Daten regelmäßig zu validieren, um sicherzustellen, dass sie fehlerfrei sind und den aktuellen Richtlinien entsprechen. Ein besonderes Augenmerk sollte immer auf die korrekte und vollständige Angabe der Elementnamen gelegt werden, da diese essenziell für das Verständnis des Inhalts durch Suchmaschinen sind.