Strukturierte Daten in Webseiten

Strukturierte Daten über schema.org dienen dazu, spezielle Inhalte auf Webseiten zu kennzeichnen. Dies ermöglicht diversen Suchmaschinen (z.B. Google, Bing, Yahoo, Yandex, etc.), diese Inhalte leichter zu erkennen.

Strukturierte Daten bieten sich z.B. bei FAQ-Bereichen, Stellenausschreibungen / Jobangeboten, etc. an, was individuell im Projekt umgesetzt und so auf die eigenen Bedürfnisse angepasst werden kann.

Mittlerweile gibt es folgende Weblics® mit bereits im Standard umgesetzter Auszeichnung strukturierter Daten über JSON-LD:

  • FAQs
    Häufig gestellte Fragen werden über einen Accordeon-Container aufgelistet und können einzeln aufgeklappt werden.
  • Stellenangebote
    Auflistung von Stellenangebote, welche sich nach Art und Bereich filtern lassen
  • Mini-Shop
    Produkte mit Shop-Funktionalität

Alternativ hatten wir bisher eine globale Umsetzung aufgezeigt, welche nachfolgend noch verfügbar, aber nicht weiter von Belang ist.

Alternative globale Umsetzung

Eine mögliche Umsetzung wird nachfolgend grob skizziert. Allgemeine Informationen hierzu finden Sie in den weiterführenden Links am Artikelende.

Schritt 1: Funktion global in der wMyProject.php definieren

Beispiel: Auszug aus der wMyProject.php - JSON-LD-Markup generiert von Google Strukturierte Daten: Markup-Hilfe

...
class 
wMyProject {
....
public static function 
getJsonLdMarkup() {
  
   return 
'<script type="application/ld+json">
{
  "@context" : "https://schema.org",
  "@type" : "JobPosting",
  "title" : "'
.wDocumentData::getDataAsHTML($_SERVER['PHP_SELF'],   'title').'",
  "description" : "'
.wDocumentData::getDataAsHTML($_SERVER['PHP_SELF'],'description').'",
  // ...
  // ...
  "hiringOrganization" : {
    "@type" : "Organization",
    "name" : "Mustermann AG",
    "sameAs" : "https://www.IhreDomain.tld",
    "logo" : "https://www.IhreDomain.tld/images/logo.png"
  },
  "jobLocation" : {
    "@type" : "Place",
    "address" : "'
.wDocumentData::getDataAsHTML($_SERVER['PHP_SELF'],  'address').'"
  }
}
</script>'
;

}
...

Schritt 2: Ausgabe der strukturierten Daten im Head

Um die strukturierten Daten im HTML-Head der Seite auszugeben, rufen Sie die o.g. wMyPoject-Funktion über wsl:php innerhalb des head-Bereiches (htmlHead.wGlobal.php) auf.

Beispiel: wMyProject-Funktion im htmlHead.wGlobal.php Template aufrufen (Auszug)

...
<!-- 
Bedingung prüft ob es sich bei der aktuellen Seite um ein Job-Objekt handelt -->
<
xsl:if test="/wd:document/wd:extension/wd:object/@type = 'jobOffer'">
  <!-- 
wsl:php wird in PHP umgewandelt -->
  <
wsl:php>
    
//Gibt JSON Markup aus.
    
print wMyProject::getJsonLdMarkup();
  </
wsl:php>
</
xsl:if>
...

Allgemeine Hinweise

Testen Sie die wMyProject-Funktion vor dem Einbinden direkt über ein separates Test-PHP-Script, um sicherzustellen, daß dies korrekt funktioniert. Wenn dies der Fall ist, können Sie dies im Projekt einbinden und die Funktionalität genau  prüfen. Beachten Sie zudem ggf. datenschutzrechtliche Belange.