
Schema.org und Metadaten in Drupal
Schema.org-Metadaten sind eines der wichtigsten SEO-Optimierungsprobleme. So werden die Erweiterungen von HTML-Dokumenten genannt, die es Suchmaschinenrobotern ermöglichen, die Bedeutung einzelner Unterseiten Ihrer Website besser zu verstehen. Die Bearbeitung der Besuchermetadaten in Drupal erfolgt bereits seit Version 7. In diesem Artikel werde ich verschiedene Möglichkeiten zur Implementierung vorstellen.
Wofür benötigen Sie Metadaten?
Moderne Suchmaschinen wie Google oder Bing sind längst keine einfachen Textindizierungstools mehr. Sie werden immer intelligenter und lesen den Seiteninhalt mit immer besseren Ergebnissen. Sie klassifizieren den Inhalt und zeigen ihn in einer interessanten Form. Wenn Sie den Inhaltstyp und seine grundlegenden Parameter korrekt im HTML-Code kennzeichnen, eröffnen sich Ihnen neue SEO-Möglichkeiten. Als professionelle Drupal-Agentur, die große Websites erstellt, legen wir großen Wert auf SEO.
Ein Beispiel wäre eine Veranstaltungswebsite. Wenn Sie viele Veranstaltungen organisieren und sie auf einer Website veröffentlichen, liest Google die in der Liste enthaltenen Metadaten ("Event"-Inhaltstyp, Datum, Name, Ort usw.) und präsentiert sie unter dem Suchergebnis. Auf diese Weise werden Sie sichtbarer.
Metadaten werden auch häufig in Service- und Produktbewertungen eingesetzt. Richtig gekennzeichnete Bewertungen erscheinen in der Suchmaschine in Form von Sternen, wodurch sie eine höhere Konversionsrate erzielen:
Google unterstützt derzeit eine sehr begrenzte Anzahl von Metadatentypen. Dennoch ist zu erwarten, dass es in Zukunft um neue Inhaltstypen erweitert wird. Es ist daher ratsam, sicherheitshalber Metadaten hinzuzufügen, um der Konkurrenz einen Schritt voraus zu sein.
Metadatenformate
Angenommen, Sie haben den folgenden HTML-Code auf der Seite, der einen Benutzer namens John begrüßt. Sie möchten den Suchmaschinenrobotern Informationen über diesen Benutzer bereitstellen.
<p>Hi, ich bin John.</p>
Um dies zu tun, verwenden Sie den von schema.org definierten "Person"-Inhaltstyp.
Es gibt drei Hauptformate für Metadaten, die jeweils ihre eigenen Vor- und Nachteile haben. Sie werden alle von Google unterstützt.
JSON-LD
Dieses Format ist definitiv am einfachsten zu implementieren und wird immer beliebter. Es besteht darin, ein JSON-Objekt hinzuzufügen, das alle Metadaten enthält (normalerweise am Anfang) – in unserem Beispiel ist es der "Person"-Inhaltstyp, also eine Person und ihr Name, z.B. "John". Dieser Ansatz erfordert kein Ändern des HTML-Codes der Webseite, der zwischen den <p>-Tags enthalten ist, ist jedoch durch eine erhebliche Redundanz im Code gekennzeichnet. Wenn Sie Metadaten bereitstellen müssen, z.B. eine längere Beschreibung, müssen Sie diese zweimal im HTML-Code wiederholen.
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"Person",
"name":"John"
}
</script>
<p>Hi, ich bin John.</p>
RDF
RDF bietet einen etwas anderen Ansatz zur Inhaltskennzeichnung. Um die Redundanz von JSON-LD zu vermeiden, ändern Sie den bereits vorhandenen HTML-Code, um anzugeben, wo die Metadaten auftreten. Im obigen Beispiel finden Sie gemäß der RDF-Spezifikation den HTML-Tag, der den "Person"-Inhaltstyp enthält, und markieren, wo sich der Name der Person befindet.
<p vocab="http://schema.org/" typeof="Person">
Hi, ich bin <span property="name">John</span>.
</p>
Microdata
Microdata ist derzeit das beliebteste Format und verwendet ein ähnliches Prinzip wie RDF. Es gibt jedoch einen guten Grund, warum ich es am Ende dieser Liste platziert habe. Es gilt als sehr eingeschränkt. Trotz seiner Verbreitung (es wird geschätzt, dass etwa 75% der Websites mit Metadaten es 2016 verwendet haben), ist es die am wenigsten flexible der aufgeführten Spezifikationen. Deshalb finden Sie es nicht in Drupal.
<p itemscope itemtype="http://schema.org/Person">
Hi, ich bin <span itemprop="name">John</span>.
</p>
Metadaten in Drupal
Die Implementierung von Metadaten ist in fast jedem Tool zur Website-Erstellung möglich. Alles, was Sie benötigen, ist der Zugriff auf die Vorlagen, die die für Sie interessanten HTML-Tags enthalten. In Drupal werden die Daten normalerweise von zwei Modulen verwaltet – eines im RDF-Kern und eines, das von der Schema.org Metatag-Community erstellt wurde. Ich werde kurz beide Lösungen beschreiben.
RDF-Modul
Das in Drupal integrierte RDF-Modul wird verwendet, um Entitätsfelder den entsprechenden Metadatentypen zuzuordnen. Diese Zuordnung erfolgt durch die Verwendung von .yml-Dateien und ist ziemlich umständlich – hauptsächlich wegen des Fehlens einer offiziellen Dokumentation und grafischen Oberfläche. Angenommen, Sie haben den "Event"-Inhaltstyp, der den Namen der Veranstaltung (Titel), den Ort, an dem sie stattfindet (field_place), ihr Datum (field_date) und den Ticketpreis (field_price) definiert. Um die Veranstaltungsseite gemäß dem RDF-Standard zu kennzeichnen, erstellen Sie eine rdf.mapping.node.event.yml-Konfigurationsdatei und legen sie im neuen Foobar-Modul im Verzeichnis config/install an:
status: true
dependencies:
config:
- node.type.event
module:
- node
- foobar
enforced:
module:
- foobar
id: node.event
targetEntityType: node
bundle: event
types:
- 'schema:Event'
fieldMappings:
title:
properties:
- 'schema:name'
field_date:
properties:
- 'schema:startDate'
field_place:
properties:
- 'schema:location'
field_price:
properties:
- 'schema:price'
Dann aktivieren Sie das gerade erstellte Foobar-Modul und sehen in den HTML-Code der Veranstaltungswebsite. Dort sind bereits RDF-Tags enthalten.
<article role="article" about="/node/1" typeof="schema:Event">
<div class="node__content clearfix">
<div class="field__label">Ort</div>
<div property="schema:location" class="field__item">Wrocław</div>
<div class="field__label">Datum</div>
<div class="field__item">
<time datetime="2020-04-25T08:00:00Z" property="schema:startDate" class="datetime">Sa, 25.04.2020 - 08:00</time>
</div>
<div class="field__label">Preis</div>
<div property="schema:price" class="field__item">1000</div>
</div>
</article>
Schema.org Metatag-Modul
Es gibt eine viel einfachere und direktere Methode zur Implementierung von Metadaten, die vom schema_metatag-Modul bereitgestellt wird, einer Erweiterung des beliebten Metatag-Projekts. Es nutzt das JSON-LD-Format und ermöglicht die Anpassung der Feldzuordnung über ein praktisches Admin-Panel. Für unser Beispiel einer Veranstaltung sieht es so aus (nach Aktivierung des schema_event-Hilfsmoduls):
Hinweise zu den Anforderungen von Google sind hier äußerst nützlich – sie sparen viel Zeit bei der Optimierung der Website. Der Endeffekt im HTML-Code sieht so aus:
<script type="application/ld+json">{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Event",
"name": "DrupalCamp Poland",
"startDate": "Sa, 25.04.2020 - 08:00",
"location": {
"@type": "Place",
"name": "Wrocław"
},
"offers": {
"@type": "Offer",
"price": "1000"
}
}
]
}</script>
Wie überprüft man die Korrektheit der Metadaten?
Um sicherzustellen, dass Ihre Website von Suchmaschinenrobotern korrekt verarbeitet wird, sollten Sie ihren Code mit Googles Tool zur Überprüfung strukturierter Daten überprüfen. Fehler in der Microdata-Implementierung erscheinen auch in der Google Search Console.