Wenn ein Nutzer nach dem Kundendienst deines Unternehmens sucht, möchte Google genau wissen: Welche Telefonnummer gilt für welchen Bereich? Welche Kontaktmethoden gibt es? Ist der Support nur werktags erreichbar oder rund um die Uhr? Mit dem ContactPoint Schema Markup beantwortest du genau diese Fragen — direkt in deinem HTML, maschinenlesbar und für Google-Dienste wie die Knowledge Card nutzbar.
Dieser Artikel zeigt dir, was ContactPoint ist, welche Properties es gibt, wie du es korrekt implementierst und wie du es sinnvoll mit Organization- und LocalBusiness-Markup kombinierst.
Was ist ContactPoint Schema Markup?
ContactPoint ist ein Schema.org-Typ, der strukturierte Informationen über einen einzelnen Kontaktkanal beschreibt. Er wird typischerweise als Wert der Property contactPoint innerhalb eines Organization- oder Person-Schemas eingebettet.
Google nutzt ContactPoint-Daten vor allem für die Knowledge Graph Card — die Infobox, die rechts in den Suchergebnissen erscheint, wenn jemand direkt nach deinem Unternehmen sucht. Dort können Telefonnummer und Kontakttyp direkt angezeigt werden. Außerdem verbessert ContactPoint das Verständnis deiner Seitenstruktur für Crawler und stärkt das E-E-A-T-Signal (Expertise, Experience, Authoritativeness, Trustworthiness), da Google weiß, wie vertrauenswürdig und greifbar dein Unternehmen ist.
Die wichtigsten Properties im Überblick
Hier sind alle relevanten Properties, die du für ContactPoint nutzen kannst:
- @type — Immer
ContactPoint(Pflicht) - telephone — Telefonnummer im internationalen Format (z. B.
+49-30-123456) - email — E-Mail-Adresse für diesen Kontaktkanal
- contactType — Art des Kontakts (s. unten)
- areaServed — Länder oder Regionen, die dieser Kontaktpunkt bedient (z. B.
DE,AT,CH) - availableLanguage — Sprache(n), in der Support geleistet wird (z. B.
German,English) - hoursAvailable — Erreichbarkeitszeiten als
OpeningHoursSpecification - contactOption — Besonderheiten wie
TollFreeoderHearingImpairedSupported - url — URL des Kontaktformulars oder der Kontaktseite
- productSupported — Für welches Produkt oder welche Dienstleistung gilt dieser Kontakt
contactType: Die wichtigsten Werte
Die Property contactType ist besonders wichtig, weil Google damit versteht, für welchen Zweck ein Kontaktkanal existiert. Schema.org definiert folgende gängige Werte (alle englisch, da es keine offizielle deutsche Variante gibt):
customer service— Allgemeiner Kundenservicetechnical support— Technischer Supportbilling support— Abrechnung und Zahlungsfragenbill payment— Zahlungsabwicklungsales— Vertrieb und Verkaufreservations— Buchungen und Reservierungencredit card support— Kreditkarten-Supportemergency— Notfallkontaktbaggage tracking— Gepäckverfolgung (Reisebranche)
Du kannst mehrere ContactPoint-Einträge mit unterschiedlichen contactType-Werten nutzen, wenn dein Unternehmen verschiedene Kontaktkanäle hat.
Grundlegendes Beispiel: ContactPoint in Organization
Das folgende Beispiel zeigt, wie du ContactPoint korrekt in ein Organization-Schema einbettest — als JSON-LD im <head> oder kurz vor dem </body>-Tag:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Muster GmbH",
"url": "https://www.muster-gmbh.de",
"logo": "https://www.muster-gmbh.de/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+49-30-123456",
"contactType": "customer service",
"areaServed": "DE",
"availableLanguage": "German",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"
],
"opens": "09:00",
"closes": "18:00"
}
}
}
Dieses Markup teilt Google mit: Es gibt einen Kundenservice-Kontaktpunkt für Deutschland, erreichbar auf Deutsch, Montag bis Freitag von 9 bis 18 Uhr.
Mehrere ContactPoints kombinieren
Für Unternehmen mit mehreren Kontaktkanälen kannst du ein Array von ContactPoint-Objekten übergeben. Das ist besonders sinnvoll für größere Organisationen, die Vertrieb, Support und Abrechnung separat handhaben:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Tech Solutions AG",
"url": "https://www.tech-solutions.de",
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+49-89-111222",
"contactType": "sales",
"areaServed": ["DE", "AT", "CH"],
"availableLanguage": ["German", "English"],
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "17:00"
}
},
{
"@type": "ContactPoint",
"telephone": "+49-89-111333",
"contactType": "technical support",
"areaServed": "DE",
"availableLanguage": "German",
"contactOption": "TollFree",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
],
"opens": "00:00",
"closes": "23:59"
}
},
{
"@type": "ContactPoint",
"email": "billing@tech-solutions.de",
"contactType": "billing support",
"areaServed": "DE",
"availableLanguage": "German"
}
]
}
Beachte: Der technische Support ist als TollFree (gebührenfrei) und 24/7 erreichbar markiert. Das wird in der Knowledge Card entsprechend ausgewiesen.
ContactPoint bei LocalBusiness
Für lokale Unternehmen wie Arztpraxen, Handwerker oder Restaurants lässt sich ContactPoint hervorragend mit LocalBusiness Schema Markup kombinieren. Dort ergänzt es die bereits vorhandene telephone-Property um zusätzliche Kontextinformationen:
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"name": "Zahnarztpraxis Dr. Schneider",
"url": "https://zahnarzt-schneider.de",
"telephone": "+49-511-987654",
"address": {
"@type": "PostalAddress",
"streetAddress": "Hauptstraße 12",
"addressLocality": "Hannover",
"postalCode": "30159",
"addressCountry": "DE"
},
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+49-511-987654",
"contactType": "reservations",
"availableLanguage": ["German", "English"],
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "19:00"
}
},
{
"@type": "ContactPoint",
"telephone": "+49-511-987655",
"contactType": "emergency",
"availableLanguage": "German",
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
],
"opens": "00:00",
"closes": "23:59"
}
}
]
}
Hier gibt es zwei Kontaktpunkte: einen für reguläre Terminvereinbarungen und einen Notfallkontakt, der rund um die Uhr erreichbar ist — ideal für medizinische Praxen.
ContactPoint mit Kontaktformular (url-Property)
Nicht alle Unternehmen möchten ihre Telefonnummer öffentlich als strukturierte Daten teilen — oder der primäre Kontaktweg ist ein Online-Formular. Auch das lässt sich abbilden:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Online-Agentur Berlin",
"url": "https://online-agentur-berlin.de",
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"url": "https://online-agentur-berlin.de/kontakt",
"email": "info@online-agentur-berlin.de",
"availableLanguage": ["German", "English"],
"areaServed": "DE"
}
}
Die url-Property verweist direkt auf deine Kontaktseite. Google kann diesen Link in der Knowledge Card anzeigen und Nutzer direkt dorthin leiten.
contactOption: TollFree und HearingImpairedSupported
Die contactOption-Property akzeptiert zwei von Schema.org definierte Werte:
- TollFree — Die Nummer ist gebührenfrei (0800, 0900-0...)
- HearingImpairedSupported — Der Kontaktkanal ist für Hörgeschädigte geeignet (z. B. Schreibtelefon, Video-Relay-Service)
{
"@type": "ContactPoint",
"telephone": "+49-800-123456",
"contactType": "customer service",
"contactOption": "TollFree",
"areaServed": "DE",
"availableLanguage": "German"
}
Für Unternehmen mit barrierefreiem Zugang ist HearingImpairedSupported ein wichtiges Signal — sowohl für Google als auch für die Nutzer selbst.
hoursAvailable: Erreichbarkeit genau definieren
Die hoursAvailable-Property nimmt eine OpeningHoursSpecification entgegen — dieselbe Struktur, die du auch für reguläre Öffnungszeiten verwendest. Du kannst mehrere Spezifikationen als Array übergeben, zum Beispiel für unterschiedliche Zeiten an Wochentagen und Wochenenden:
{
"@type": "ContactPoint",
"telephone": "+49-40-555666",
"contactType": "customer service",
"hoursAvailable": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "20:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "10:00",
"closes": "14:00"
}
]
}
Für 24/7-Erreichbarkeit setzt du opens auf 00:00 und closes auf 23:59 für alle sieben Wochentage.
Wo soll das Markup platziert werden?
ContactPoint-Markup sollte auf der Seite eingebunden sein, die am besten das Unternehmen als Ganzes repräsentiert — in der Regel die Startseite oder die Kontaktseite. Möglich sind zwei Positionen:
- Im <head> — Direkt nach dem letzten
<meta>-Tag als<script type="application/ld+json">-Block. Das ist die empfohlene Methode. - Kurz vor </body> — Technisch gültig, aber der
<head>ist bevorzugt, da Crawler ihn zuverlässiger lesen.
Wichtig: Das ContactPoint-Markup muss nicht auf jeder Seite eingebunden sein — einmal auf der Startseite oder Kontaktseite reicht vollständig aus.
Validierung und Debugging
Nach der Implementierung solltest du dein Markup unbedingt validieren. Google bietet dafür den Rich Results Test (search.google.com/test/rich-results) an. Für eine tiefere Validierung der JSON-LD-Struktur nutzt du unseren JSON-LD Structured Data Validator.
Typische Fehler, auf die du achten solltest:
- Telefonnummer ohne internationales Format — Nutze immer
+49-...statt0... - contactType als lokalisierter Begriff — Der Wert muss englisch sein (nicht "Kundenservice", sondern "customer service")
- Fehlendes @type — Jeder ContactPoint-Block braucht
"@type": "ContactPoint" - Falsche dayOfWeek-Werte — Nutze die englischen Schema.org-Werte:
Monday,Tuesday, etc. — keine deutschen Bezeichnungen - hoursAvailable ohne Zeitangaben — Fehlende
opens/closes-Properties machen die Spezifikation ungültig
Checkliste: ContactPoint korrekt implementieren
- ContactPoint als Wert von
contactPointin Organization oder LocalBusiness eingebettet @type: "ContactPoint"gesetztcontactTypein Englisch angegeben (customer service, sales, technical support, etc.)- Telefonnummer im internationalen Format (
+49-...) areaServedmit ISO-3166-Ländercode gesetzt (z. B.DE)availableLanguagegesetzthoursAvailablemit korrekter OpeningHoursSpecification angegeben- JSON-LD validiert (Rich Results Test oder JSON-LD Validator)
- Markup auf Startseite oder Kontaktseite platziert
ContactPoint und die Verbindung zur Organization
ContactPoint ist immer ein Teil von Organization — es existiert nicht isoliert. Deshalb ist es wichtig, das gesamte Organization Schema Markup sauber aufzubauen, bevor du ContactPoint hinzufügst. Eine starke Organization-Basis mit name, url, logo, address und sameAs-Links (zu Google My Business, LinkedIn, etc.) verstärkt das Signal, das ContactPoint an Google sendet.
Für lokale Unternehmen empfehlen wir außerdem, ContactPoint immer zusammen mit OpeningHoursSpecification zu nutzen — so hat Google ein vollständiges Bild: Wer ist das Unternehmen, wo ist es, wie kann man es kontaktieren, und wann ist es erreichbar.
Den vollständigen Einstieg in strukturierte Daten für SEO findest du in unserem Übersichtsartikel. Wenn du dein Organization-Schema schnell generieren möchtest, hilft dir unser Organization Schema Generator.
Fazit
ContactPoint Schema Markup ist ein präzises, aber wirkungsvolles Werkzeug: Es gibt Google die Informationen, die nötig sind, um Kontaktdaten korrekt in der Knowledge Card darzustellen und dein Unternehmen als greifbar und vertrauenswürdig einzustufen. Besonders für Unternehmen mit mehreren Kontaktkanälen — Vertrieb, Support, Notfall — ist es unverzichtbar.
Die Implementierung ist einfach, der Nutzen ist hoch. Binde das Markup auf deiner Startseite oder Kontaktseite ein, validiere es und profitiere langfristig von einer stärkeren Knowledge Card und besseren E-E-A-T-Signalen.