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.

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:wSecurityAlert>
    
//Gibt JSON Markup aus.
    
print wMyProject::getJsonLdMarkup();
  </
wsl:wSecurityAlert>
</
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.