Wer ein lokales Unternehmen betreibt, weiß: Google muss wissen, wo du bist. Und zwar nicht nur aus dem Fließtext der Kontaktseite, sondern in einer Form, die Maschinen direkt verstehen. Genau dafür gibt es PostalAddress Schema Markup — einen standardisierten Weg, Adressdaten maschinenlesbar in deine Website einzubetten.
In diesem Artikel erfährst du, wie PostalAddress als Teil des LocalBusiness-Schemas funktioniert, welche Properties du unbedingt befüllen solltest und welche Fehler du vermeiden musst. Mit vollständigen JSON-LD-Beispielen, einer Checkliste und konkreten Tipps für die Praxis.
Was ist PostalAddress Schema Markup?
PostalAddress ist ein Datentyp aus dem Schema.org-Vokabular. Er beschreibt eine physische Postadresse: Straße, Hausnummer, PLZ, Stadt, Bundesland, Land. Anders als reiner Text auf der Website ist PostalAddress für Suchmaschinen direkt auswertbar — Google liest das JSON-LD und weiß sofort, dass es sich um eine Adresse handelt.
PostalAddress wird fast immer im Kontext anderer Schema-Typen verwendet, vor allem in LocalBusiness Schema Markup. Ohne LocalBusiness nützt eine alleinstehende PostalAddress wenig — aber korrekt eingebettet ist sie ein zentraler Baustein für lokales SEO.
Warum PostalAddress für SEO wichtig ist
Google verarbeitet Adressdaten aus mehreren Quellen: Google My Business, Verzeichniseinträge, strukturierte Daten auf der Website und unstrukturierter Text. Wenn alle Quellen übereinstimmen, vertrauen die Algorithmen den Daten mehr — das verbessert die lokale Sichtbarkeit.
PostalAddress auf deiner Website hat drei konkrete Vorteile für SEO:
- Eindeutigkeit: Maschinen lesen die Adresse direkt, ohne sie aus dem Text extrahieren zu müssen. Kein Interpretationsspielraum.
- NAP-Konsistenz: Wenn die strukturierten Daten mit deinem NAP-Eintrag (Name, Adresse, Telefon) übereinstimmen, stärkt das das Vertrauen in deine Adresse.
- Knowledge Panel: Google kann Adressdaten aus dem Schema direkt in den Knowledge Graph übernehmen und prominent anzeigen.
Kurz: PostalAddress ist kein magisches Ranking-Signal, aber eine wichtige Grundlage für lokale Sichtbarkeit. Gerade bei Google My Business zahlt sich Konsistenz aus.
Die PostalAddress Properties im Überblick
Schema.org definiert mehrere Properties für PostalAddress. Hier die wichtigsten:
Pflicht-Properties (sollten immer befüllt sein)
streetAddress— Straße und Hausnummer (z.B. "Musterstraße 12")postalCode— Postleitzahl (z.B. "10115")addressLocality— Stadt (z.B. "Berlin")addressCountry— Land als ISO-3166-Code (z.B. "DE" für Deutschland)
Empfohlene Properties
addressRegion— Bundesland oder Region (z.B. "Brandenburg", "Bayern")postOfficeBoxNumber— Postfachnummer (nur bei Unternehmen ohne Straßenadresse)
Optionale Properties
@type— Immer "PostalAddress" angeben
Wichtig: addressCountry sollte als zweistelliger ISO-3166-Code angegeben werden ("DE", nicht "Deutschland"). Manche Webmaster schreiben den ausgeschriebenen Ländernamen — das funktioniert zwar auch, aber der Code ist robuster und eindeutiger.
Vollständiges JSON-LD-Beispiel
Hier ein typisches Beispiel für ein deutsches Unternehmen — eingebettet in ein LocalBusiness-Schema:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Mustermann GmbH",
"url": "https://mustermann-gmbh.de",
"telephone": "+49 30 12345678",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 12",
"postalCode": "10115",
"addressLocality": "Berlin",
"addressRegion": "Berlin",
"addressCountry": "DE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.5200,
"longitude": 13.4050
}
}
Beachte: Die address-Property im LocalBusiness-Schema erwartet ein PostalAddress-Objekt — nicht einfachen Text. Viele Webmaster machen hier den Fehler und schreiben die Adresse als String in das LocalBusiness-Schema. Das liest Google zwar, aber ein strukturiertes Objekt ist deutlich besser.
PostalAddress für verschiedene Schema-Typen
PostalAddress wird nicht nur im LocalBusiness-Schema verwendet. Es gibt weitere Kontexte:
Person Schema
Auch im Person-Schema kann eine Adresse eingebettet werden — relevant z.B. für Autoren oder freiberufliche Experten:
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Maria Muster",
"address": {
"@type": "PostalAddress",
"addressLocality": "Hamburg",
"addressCountry": "DE"
}
}
Organization Schema
Bei Unternehmen ohne direkten Kundenkontakt (z.B. Holdinggesellschaften, Agenturen) nutzt man Organization statt LocalBusiness:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Muster AG",
"address": {
"@type": "PostalAddress",
"streetAddress": "Hauptstraße 100",
"postalCode": "80331",
"addressLocality": "München",
"addressRegion": "Bayern",
"addressCountry": "DE"
}
}
Event Schema
Veranstaltungen können ebenfalls eine PostalAddress als location-Property enthalten:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "SEO Workshop Berlin",
"startDate": "2026-05-15T09:00",
"location": {
"@type": "Place",
"name": "Konferenzzentrum Berlin",
"address": {
"@type": "PostalAddress",
"streetAddress": "Alexanderplatz 1",
"postalCode": "10178",
"addressLocality": "Berlin",
"addressCountry": "DE"
}
}
}
Mehrere Standorte richtig einbinden
Was, wenn dein Unternehmen mehrere Filialen hat? Dann gibt es zwei Ansätze:
Option 1: Ein Schema pro Seite
Die sauberste Lösung: Erstelle für jede Filiale eine eigene Seite (z.B. /standort-berlin, /standort-hamburg) und füge auf jeder Seite ein separates LocalBusiness-Schema mit der jeweiligen PostalAddress ein. Google erkennt so jede Filiale als eigenständige Entität.
Option 2: Department-Property
Das Organization-Schema erlaubt eine department-Property, in der Unterorganisationen mit eigenen Adressen definiert werden können:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Muster Kette GmbH",
"department": [
{
"@type": "LocalBusiness",
"name": "Muster Berlin",
"address": {
"@type": "PostalAddress",
"streetAddress": "Unter den Linden 5",
"postalCode": "10117",
"addressLocality": "Berlin",
"addressCountry": "DE"
}
},
{
"@type": "LocalBusiness",
"name": "Muster Hamburg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Jungfernstieg 10",
"postalCode": "20354",
"addressLocality": "Hamburg",
"addressCountry": "DE"
}
}
]
}
PostalAddress und NAP-Konsistenz
Ein entscheidender Faktor für lokales SEO ist die NAP-Konsistenz. NAP steht für Name, Address, Phone Number — und diese drei Datenpunkte müssen auf deiner Website, in Google My Business, in Verzeichnissen und im Schema Markup exakt übereinstimmen.
Das klingt selbstverständlich, ist es aber oft nicht. Häufige Fehler:
- Auf der Website "Str." abgekürzt, in Google My Business "Straße" ausgeschrieben
- Postleitzahl einmal mit, einmal ohne führende Null
- Unterschiedliche Schreibweisen des Firmennamens (z.B. "GmbH" vs. "Gesellschaft mit beschränkter Haftung")
- Altes Impressum mit alter Adresse, Schema Markup noch nicht aktualisiert
Wenn du dein LocalBusiness-Schema mit PostalAddress schreibst, orientiere dich immer an deinem Google-My-Business-Eintrag als "Master Record". Was dort steht, sollte überall gleich stehen.
Wo du das Schema einbinden solltest
PostalAddress (eingebettet in LocalBusiness) gehört auf jede Seite, auf der Google nach Standortinformationen sucht:
- Startseite: Immer — hier sucht Google zuerst
- Kontaktseite: Immer — offensichtlicher Kontext
- Impressum: Optional, kann auch hier stehen
- Filialseiten: Jede Filiale bekommt ihr eigenes Schema auf der jeweiligen Seite
Empfehlung: Binde das vollständige LocalBusiness-Schema mit PostalAddress in den <head>-Bereich deiner Seiten ein — oder zumindest in den Body direkt nach dem <body>-Tag. Vermeide es, das Schema tief im JavaScript zu verstecken.
Fehler, die du vermeiden solltest
Aus unserer Analyse von über 377 deutschen Unternehmens-Websites haben wir die häufigsten PostalAddress-Fehler identifiziert:
1. Adresse als String statt Objekt
Falsch:
"address": "Musterstraße 12, 10115 Berlin"
Richtig:
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 12",
"postalCode": "10115",
"addressLocality": "Berlin",
"addressCountry": "DE"
}
2. Ländername ausgeschrieben statt ISO-Code
Falsch: "addressCountry": "Deutschland"
Richtig: "addressCountry": "DE"
3. Fehlende postalCode
Manche Webmaster vergessen die PLZ oder glauben, sie sei optional. Für Google ist die PLZ wichtig, um den genauen Standort zu bestimmen.
4. Abweichung von GMB-Daten
Das Schema zeigt "Hauptstraße 5", in Google My Business steht "Hauptstr. 5" — Google bemerkt das und kann den Vertrauenswert senken.
5. Schema nie aktualisiert nach Umzug
Unternehmen ziehen um, vergessen aber das Schema Markup. Das führt zu widersprüchlichen Signalen und kann das lokale Ranking verschlechtern.
PostalAddress im Schema-Markup-Generator erstellen
Du musst das JSON-LD nicht manuell schreiben. Unser kostenloser LocalBusiness Schema-Markup-Generator erstellt das vollständige Schema inklusive PostalAddress — du gibst nur deine Adressdaten ein und bekommst das fertige JSON-LD. Einfach kopieren, in dein <head>-Tag einfügen, fertig.
Und mit dem ContactPoint Schema Generator kannst du die Kontaktdaten ebenfalls strukturiert einbinden — beide Tools ergänzen sich ideal.
PostalAddress validieren
Nachdem du das Schema implementiert hast, solltest du es testen. Google bietet dafür das Rich Results Test Tool (search.google.com/test/rich-results). Alternativ funktioniert auch der Schema.org Validator.
Typische Warnungen, die du dort sehen wirst:
- "Missing field recommended by Google" — eine empfohlene Property fehlt
- "Invalid value" — ein Wert hat das falsche Format (z.B. Ländername statt ISO-Code)
- "No items detected" — das Schema wird nicht gefunden (meistens ein JSON-Parsing-Fehler)
Häufige JSON-Fehler: fehlendes Komma zwischen Properties, nicht geschlossene Klammern, oder Anführungszeichen-Probleme (curly quotes statt straight quotes).
PostalAddress und GeoCoordinates kombinieren
Für maximale Präzision empfiehlt sich die Kombination von PostalAddress und GeoCoordinates. Während die Adresse menschenlesbar ist, sind Koordinaten für Kartendienste präziser:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Mustermann Zahnarztpraxis",
"address": {
"@type": "PostalAddress",
"streetAddress": "Bahnhofstraße 42",
"postalCode": "97070",
"addressLocality": "Würzburg",
"addressRegion": "Bayern",
"addressCountry": "DE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 49.7966,
"longitude": 9.9289
},
"telephone": "+49 931 123456",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "18:00"
}
]
}
Diese Kombination ist besonders wertvoll für Google Maps — der Dienst kann die Koordinaten direkt nutzen, ohne die Adresse erst geokodieren zu müssen. Lies dazu auch unseren Artikel über GeoShape Schema Markup, wenn dein Unternehmen ein Servicegebiet (nicht nur einen Standort) definieren möchte.
Checkliste: PostalAddress Schema Markup
- ☐
streetAddressenthält Straße und Hausnummer - ☐
postalCodebefüllt (korrekte PLZ) - ☐
addressLocalityenthält die Stadt - ☐
addressCountryals ISO-Code ("DE") - ☐
addressRegionoptional, aber empfohlen - ☐ PostalAddress ist als Objekt eingebettet (nicht als String)
- ☐
@type: "PostalAddress"ist angegeben - ☐ Adresse stimmt mit Google My Business überein
- ☐ Schema im Rich Results Test Tool validiert
- ☐ JSON-LD fehlerfrei (kein Syntax-Fehler)
Fazit
PostalAddress Schema Markup ist eine der einfachsten und wirkungsvollsten Maßnahmen für lokales SEO. Der Aufwand ist gering — ein paar Zeilen JSON-LD — der Nutzen aber real: Google liest die Adresse präzise, die NAP-Konsistenz wird gestärkt und das Knowledge Panel kann korrekt befüllt werden.
Der entscheidende Punkt ist nicht das Einbinden an sich, sondern die Konsistenz: Schema Markup, Google My Business, Impressum und alle Verzeichnisse müssen dieselbe Adresse zeigen. Nur dann vertraut Google den Daten vollständig.
Starte mit unserem LocalBusiness Schema Generator, überprüfe anschließend ob deine Adresse auf allen Kanälen einheitlich ist, und validiere das Ergebnis mit dem Rich Results Test Tool. So legst du eine solide Grundlage für deine lokale Sichtbarkeit.
Wenn du dein ContactPoint Schema ergänzen oder ein ServiceArea für dein Einzugsgebiet definieren möchtest, findest du in unseren verlinkten Artikeln alle Details dazu.