JSON-LD mit „PostalAddress“
Mit JSON-LD und dem Schema.org-Typ PostalAddress kannst Du Adressdaten maschinenlesbar auszeichnen. Das sorgt für saubere Suchmaschinenergebnisse, bessere Local-SEO und konsistente Daten in Google & Co.
Was ist JSON-LD & PostalAddress?
JSON-LD steht für „JavaScript Object Notation for Linked Data“ und ist ein Standard zur Darstellung strukturierter Daten. Der Typ PostalAddress beschreibt postalische Adressen innerhalb des Schema.org-Vokabulars.
Beispielsweise wird bei einem LocalBusiness oder einer Organization die Adresse über die Eigenschaft address eingebunden.
Welche Felder sind wichtig?
Diese Felder sind für eine korrekte Adressauszeichnung empfehlenswert:
@type: „PostalAddress“streetAddress: Straße und HausnummerpostalCode: PostleitzahladdressLocality: OrtaddressCountry: Land (z. B. „CH“)
Optionale, aber sinnvolle Zusatzfelder:
addressRegion– z. B. KantonpostOfficeBoxNumber– falls vorhandenname– z. B. „Hauptsitz Zürich“
Integration in WordPress
Du kannst das JSON-LD-Snippet direkt im header.php oder über ein Plugin ausgeben:
<?php
$schema = [
"@context" => "https://schema.org",
"@type" => "LocalBusiness",
"name" => "Beispiel GmbH",
"url" => home_url('/'),
"telephone" => "+41 44 000 00 00",
"address" => [
"@type" => "PostalAddress",
"streetAddress" => "Bahnhofstrasse 1",
"postalCode" => "8001",
"addressLocality" => "Zürich",
"addressRegion" => "ZH",
"addressCountry" => "CH"
]
];
echo '<script type="application/ld+json">'
. wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)
. '</script>';
?>
So wird der JSON-LD-Code sauber im Seitenkopf ausgegeben und von Google erkannt.
Mehrere Standorte (z. B. Zürich & Winterthur)
Wenn Dein Unternehmen mehrere Standorte hat, kannst Du pro Standort ein eigenes LocalBusiness-Objekt ausgeben. Beispiel:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "LocalBusiness",
"name": "Beispiel GmbH Zürich",
"url": "https://beispiel.ch/",
"telephone": "+41 44 000 00 00",
"address": {
"@type": "PostalAddress",
"streetAddress": "Bahnhofstrasse 1",
"postalCode": "8001",
"addressLocality": "Zürich",
"addressRegion": "ZH",
"addressCountry": "CH"
}
},
{
"@type": "LocalBusiness",
"name": "Beispiel GmbH Winterthur",
"url": "https://beispiel.ch/winterthur/",
"telephone": "+41 52 000 00 00",
"address": {
"@type": "PostalAddress",
"streetAddress": "Technikumstrasse 10",
"postalCode": "8400",
"addressLocality": "Winterthur",
"addressRegion": "ZH",
"addressCountry": "CH"
}
}
]
}
Mit der Verwendung von @graph kannst Du mehrere Objekte (hier: Standorte) in einer gemeinsamen JSON-LD-Ausgabe bündeln. Google erkennt jeden Standort separat.
Häufige Fehler vermeiden
- Adresse im JSON-LD muss mit der sichtbaren Adresse auf der Website übereinstimmen.
addressCountrysollte als ISO-Code angegeben werden (z. B. „CH“).- Nur
PostalAddressohne übergeordnetes Objekt (z. B.Organization) ist unvollständig. - Keine Rich Results erwarten – sie erscheinen nur mit vollständigem
LocalBusiness-Markup.
Kurz-FAQ
1. Muss PostalAddress eigenständig sein?
Nein, sie ist fast immer Teil eines übergeordneten Objekts wie Organization oder LocalBusiness.
2. Welche Felder sind Pflicht?
streetAddress, postalCode, addressLocality und addressCountry.
3. Wo einfügen?
Im <head>-Bereich oder direkt vor </body> als <script type="application/ld+json">.
4. Wie testen?
Nutze den Google Rich Results Test oder den Schema Markup Validator.