Google for Jobs einrichten
Stellenanzeigen bei Google for Jobs sichtbar machen — die komplette Anleitung
Schritt für Schritt: Schema.org JobPosting, Validierung, Search Console, Service Account und Indexing API. Mit Code-Snippets zum direkten Übernehmen — oder du überspringst alles und lässt Jobflare die Technik machen.
Warum Google for Jobs überhaupt?
Wenn jemand bei Google nach „Servicetechniker Hamburg“ sucht, rendert Google an oberster Stelle ein eigenes Job-Karussell — die weiße Box mit Job-Karten, BEVOR die normalen blauen Treffer kommen. Dieses Karussell wird komplett aus strukturierten JobPosting-Daten gespeist, die Karriereseiten in ihrem HTML mit ausliefern.
Der Effekt: Wer dort gelistet ist, gewinnt Bewerber-Aufmerksamkeit an einer Position, die mit klassischem SEO praktisch nicht erreichbar ist — egal wie hoch die Domain-Autorität der eigenen Karriereseite. Voraussetzung: das JobPosting-Markup ist vollständig, die URL ist indexiert und die Stelle ist zeitlich gültig.
Das Schöne: Google verlangt für die Aufnahme nichts. Die einzigen Kosten sind technische Einrichtung — entweder als DIY-Projekt (geschätzt 8–20 Entwickler-Stunden inklusive Tests und Wartung) oder als SaaS wie Jobflare, der alle Schritte unten automatisiert.
Zur Einordnung: Klassische Stellenportale liefern dieselbe Sichtbarkeit gegen Schaltungsgebühren im drei- bis vierstelligen Bereich pro Stelle und Schaltung. Google for Jobs ist dauerhaft gebührenfrei und liefert oft mehr Klicks pro Stelle — vorausgesetzt, die technische Umsetzung stimmt. Mehr Hintergrund im Artikel Was ist Google for Jobs?.
Pflichtfelder im JobPosting-Schema
Bevor du mit der Einrichtung loslegst: das sind die Pflichtfelder, die Google für jede Stelle verlangt. Ohne diese erscheint die Anzeige nicht im Karussell — egal wie gut deine Domain rankt.
title — der Jobtitel
Der Titel der Stelle. Sollte kurz und beschreibend sein (50–70 Zeichen ideal). Vermeide Buzzwords wie „Rockstar Developer“ oder vage Begriffe — schreibe stattdessen, was Bewerber:innen googeln würden („Servicetechniker SHK“ statt „Stelle im Anlagenservice“).
description — die Stellenbeschreibung
Vollständige HTML-Beschreibung. Aufgaben, Anforderungen und Benefits sollten klar getrennt sein. Mindestens 150 Wörter, ideal 300–600. Achtung: kein Markdown, sondern HTML mit <p>, <ul>, <strong>. Erlaubt sind Inhalt-Tags, keine Layout-Tags.
datePosted — das Veröffentlichungsdatum
ISO-8601-Format: 2026-06-08 oder 2026-06-08T09:00+02:00. Wird verwendet, um die Stelle im „Datum“-Filter einzuordnen. Sollte nicht in der Zukunft liegen.
validThrough — das Ablaufdatum
Wann die Stelle nicht mehr aktuell ist. Sobald das Datum überschritten ist, entfernt Google die Anzeige automatisch aus dem Karussell — typisch innerhalb von 24 Stunden. Stelle das Datum großzügig (60–90 Tage) und verlängere bei Bedarf statt neue Stellen anzulegen.
hiringOrganization — der Arbeitgeber
Mindestens name und url. Zusätzlich empfohlen: logo, sameAs (LinkedIn, Xing). Wichtig bei Personaldienstleistern: hier sollte das tatsächlich einstellende Unternehmen stehen, nicht die Personalvermittlung.
jobLocation — der Arbeitsort
Ein Place-Objekt mit address.addressLocality, address.addressCountry und idealerweise address.postalCode und address.streetAddress. Bei mehreren Standorten kann jobLocation ein Array sein — Google zeigt die Stelle dann in commute-Suchen für alle Standorte an.
employmentType — die Beschäftigungsart
Werte aus dem Schema.org-Enum: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER. Falls die Stelle mehrere Modelle umfasst: Array.
baseSalary — das Gehalt (ab 2026 EU-weit Pflicht)
Ab 2026 wegen der EU-Gehaltstransparenz-Richtlinie quasi-Pflicht. baseSalary ist ein MonetaryAmount-Objekt mit currency, value (Min/Max oder Fix) und unitText (YEAR, MONTH, HOUR). Stellen mit Gehalt erhalten in unseren Tests ca. 60 % mehr Klicks. Hintergründe: Gehaltstransparenz in Stellenanzeigen.
Selbst einrichten: 5 Schritte
Aufwand: einmalig ca. 8–20 Entwickler-Stunden plus laufende Pflege beim Schalten neuer Stellen. Voraussetzung: Zugriff auf den HTML-Code der eigenen Karriereseite, Google-Cloud-Account, Search-Console-Account.
1. Schema.org JobPosting im HTML hinterlegen
Jede einzelne Stellenanzeige braucht im <head> einen <script type="application/ld+json">-Block mit strukturierten Daten. Pflichtfelder: title, description, datePosted, validThrough, hiringOrganization, jobLocation, employmentType.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Servicetechniker (m/w/d)",
"description": "<p>Wir suchen ...</p>",
"datePosted": "2026-05-11",
"validThrough": "2026-08-11T23:59",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Beispiel GmbH",
"sameAs": "https://www.beispiel.de"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstr. 1",
"addressLocality": "Hamburg",
"postalCode": "20095",
"addressCountry": "DE"
}
},
"directApply": true
}
</script>2. Mit dem Rich-Results-Test validieren
Jede Job-URL bei search.google.com/test/rich-results einreichen. Google zeigt direkt, ob alle Pflichtfelder erkannt wurden. Häufigste Fehler: fehlendes validThrough oder unvollständige jobLocation (streetAddress + postalCode sollten beide gesetzt sein).
3. Search Console verifizieren
search.google.com/search-console öffnen, Property hinzufügen (Domain via DNS-TXT-Eintrag oder URL-Prefix via HTML-Tag). Sitemap-URL einreichen (z.B. https://example.com/sitemap.xml). Ohne verifizierte Property funktioniert die Indexing API nicht.
4. Service-Account in Google Cloud anlegen
In console.cloud.google.com ein Projekt erstellen, die Web Search Indexing API aktivieren und einen Service Account mit JSON-Key generieren. Den Service-Account-E-Mail in Search Console als Owner hinzufügen — Achtung: das geht nicht über 'Nutzer und Berechtigungen', sondern über www.google.com/webmasters/verification/home → Property → Inhaber hinzufügen.
5. Bei jedem Job-Update die Indexing API benachrichtigen
Sobald eine Stelle veröffentlicht, aktualisiert oder geschlossen wird, einen authentifizierten POST an die Indexing API senden. Google crawlt die URL dann typisch innerhalb 24 Stunden und übernimmt sie ins Job-Karussell.
POST https://indexing.googleapis.com/v3/urlNotifications:publish
Authorization: Bearer <access_token_vom_service_account>
Content-Type: application/json
{
"url": "https://example.com/jobs/servicetechniker",
"type": "URL_UPDATED"
}Typische Fehler bei der Einrichtung — und wie du sie behebst
Die meisten Probleme entstehen nicht beim Schema selbst, sondern in der Auslieferung und der Wartung. Hier die häufigsten Stolpersteine aus unserer Praxis mit über 80 produktiven Stellenanzeigen.
Schema-Markup wird via JavaScript nachgeladen
Wenn dein Karriereseiten-Framework das JSON-LD erst per JavaScript ins DOM injiziert, sieht es Googlebot häufig nicht. Mache das Markup serverseitig — Next.js, Astro, Hugo, WordPress mit serverseitigem Hook. Test: view-source: der URL, Schema muss schon im rohen HTML stehen.
validThrough abgelaufen, Stelle aber noch offen
Häufigste Ursache für „Stelle plötzlich verschwunden“. Lösung: Automatik einbauen, die validThrough bei jeder Bearbeitung neu setzt. Bei Jobflare passiert das beim Verlängern per Klick automatisch.
Duplikate — gleiche Stelle auf mehreren URLs
Wenn dieselbe Stelle auf /karriere/job-1 und /jobs/job-1?utm_source=google erscheint, wählt Google nur eine aus und ignoriert die andere — meist nicht die, die du sehen möchtest. Lösung: canonical-Tags und konsistente URLs ohne Tracking-Parameter im Schema-Markup.
Karriereseite nur über internen Bewerber-Login erreichbar
Wenn Google nicht ohne Login an die Stelle kommt, kann es das Schema nicht lesen. Die Karriereseite muss öffentlich sein — Login-Schranke erst auf der Bewerbungs-Formularseite.
Service Account ist nicht als Eigentümer der Property hinterlegt
Die Google Indexing API verlangt, dass der Service Account (genauer: dessen Service-Account-E-Mail) in der Search Console als Eigentümer der Property eingetragen ist. Nicht „Vollzugriff“ oder „Mitwirkender“ — nur Eigentümer reicht. Hinzufügen über www.google.com/webmasters/verification/home → Property → Inhaber.
Wettbewerbs-Vergleiche und Werbe-Phrasen in der Description
Google verbietet in der JobPosting-Beschreibung Werbe-Sprache über andere Stellen oder den eigenen Arbeitgeber gegenüber Wettbewerbern. Halte die Beschreibung sachlich: Aufgaben, Anforderungen, Benefits. Bei Verstoß wird die Stelle aus dem Karussell entfernt.
DIY oder Tool? Wann sich was lohnt
Beide Ansätze führen zum gleichen Ziel — sichtbare Stellen im Google-Karussell. Die Entscheidung hängt davon ab, wie viel Entwickler-Zeit du verfügbar hast und wie häufig du neue Stellen schaltest.
DIY-Einrichtung
Sinnvoll, wenn …
- → Du oder dein Team Entwickler-Zeit verfügbar habt
- → Eure Karriereseite bereits existiert und stabil läuft
- → Ihr maximal ein bis fünf Stellen pro Jahr schaltet
- → Ihr volle Kontrolle über jeden Schema-Eintrag braucht
- → Ihr eigene ATS-Integration habt
Aufwand: 8–20 Stunden Setup + 1–2 Stunden pro neuer Stelle
Tool wie Jobflare
Sinnvoll, wenn …
- → Du keine Entwickler:innen-Ressourcen für das Thema hast
- → Du regelmäßig neue Stellen schaltest (mehr als 5 pro Jahr)
- → Du Bewerbungsformular, Mini-ATS und Karriereseite in einem Tool willst
- → Du nicht ständig nachpflegen willst (Indexing-API-Calls, Schema-Updates)
- → Du sofort starten willst, nicht in 2 Wochen
Aufwand: 5 Minuten Setup + 2 Minuten pro neuer Stelle, ab 0 €/Monat
Branchen-Beispiele
Google for Jobs funktioniert für alle Berufsfelder, ist aber besonders stark in regional gesuchten und gewerblichen Berufen. Branchen-spezifische Tipps findest du auf den Branchen-Landings:
- → Handwerk — Elektrik, SHK, Bau, Schreinerei
- → Pflege — Altenpflege, Krankenpflege, Hebammen
- → Logistik — Lager, LKW, Disposition
- → Gastronomie — Service, Küche, Bar
- → IT — Entwicklung, DevOps, Data
- → Ausbildung — Azubis, Duales Studium
Lieber direkt fertig?
Jobflare richtet Schema.org-JobPosting, Service-Account-Setup, Indexing-API-Anbindung und Search-Console-Wiring automatisch ein. 14 Tage testen, monatlich kündbar.