Veröffentlichungsdatum: 15. März 2021
Änderungsdatum: 02. Juni 2022
weblication cms strukturierte daten schema schema.org json suche
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:
Alternativ hatten wir bisher eine globale Umsetzung aufgezeigt, welche nachfolgend noch verfügbar, aber nicht weiter von Belang ist.
Eine mögliche Umsetzung wird nachfolgend grob skizziert. Allgemeine Informationen hierzu finden Sie in den weiterführenden Links am Artikelende.
...
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>';
}
...
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.
...
<!-- 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>
...
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.