JSON-LD JobPosting: So finden Sie Stellen, bevor die Aggregatoren sie indexieren
Viele Karriereseiten betten maschinenlesbare Daten zur Stelle ein. Ein gültiger JSON-LD-JobPosting-Block kann eine sauberere Monitoring-Quelle als gerendertes HTML sein. Er zeigt auch, wie Suchprodukte Vakanzen entdecken und darstellen.
Viele Stellenanzeigen enthalten neben dem sichtbaren HTML eine maschinenlesbare Beschreibung mit Feldern für Titel, Standort, Veröffentlichungsdatum, Gehalt und Arbeitgeber. Das verbreitete Format heißt JSON-LD JobPosting und steckt in einem Script-Tag. Verfügbarkeit und Vollständigkeit variieren. Betrachten Sie es als nützliche Quelle, nicht als Garantie für jede Karriereseite.
Das Format zu verstehen hilft in zweierlei Hinsicht. Es zeigt, wie eine Suchmaschine strukturierte Angaben auf einer Unternehmensseite lesen kann, und bietet technisch versierten Lesern eine sauberere Monitoring-Quelle, wenn die Daten vorhanden sind. Fehlende, ungültige oder per JavaScript geladene Daten müssen trotzdem behandelt werden.
Was es konkret ist
JSON-LD („JSON for Linked Data") ist eine Methode, maschinenlesbare Daten in eine Webseite einzubetten. Das Schema JobPosting, definiert auf schema.org/JobPosting, ist einer von Dutzenden Typen, die Google verwendet, um strukturierte Informationen aus dem Web aufzunehmen.
Google dokumentiert strukturierte JobPosting-Daten als einen Weg zur Eignung für seine Jobsuche; die Eignung garantiert keine Darstellung. Viele moderne Bewerbermanagementsysteme, darunter Workday, Greenhouse, Lever, Ashby, Phenom und iCIMS, stellen auf zumindest einigen öffentlichen Seiten strukturierte Stellendaten bereit. Die Umsetzung hängt von Plattform und Arbeitgeberkonfiguration ab.
Wie es aussieht
Wenn Sie den Quellcode einer typischen Stellenanzeige auf Greenhouse anzeigen und nach application/ld+json suchen, sehen Sie etwas Ähnliches wie dies:
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Senior Backend Engineer",
"description": "We're looking for...",
"datePosted": "2026-05-12",
"validThrough": "2026-08-12",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Acme",
"sameAs": "https://acme.example"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "London",
"addressCountry": "GB"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "GBP",
"value": {
"@type": "QuantitativeValue",
"minValue": 90000,
"maxValue": 130000,
"unitText": "YEAR"
}
}
}
Zwei nützliche Felder sind datePosted, das das in den strukturierten Daten angegebene Veröffentlichungsdatum enthält, und baseSalary, falls der Arbeitgeber es einträgt. Beide können fehlen, veraltet oder schlecht formatiert sein. Prüfen Sie deshalb die sichtbare Anzeige.
Warum es für die Jobsuche wichtig ist
Drei praktische Gründe.
1. Es gibt Ihnen das vom Arbeitgeber angegebene Veröffentlichungsdatum
Das Feld datePosted zeigt, was die Arbeitgeberseite angibt. Das ist oft nützlicher als ein plattformbezogenes Label wie „vor drei Tagen“. Unfehlbar ist es nicht: Arbeitgeber können Daten ändern, weglassen oder wiederverwenden, und Aggregatoren beziehen Anzeigen über verschiedene Wege. Unser Quellen-Aggregator-Vergleich behandelt das Feld als zu prüfenden Beleg, nicht als unfehlbare Uhr.
2. Es erklärt, wie Suchmaschinen eine Stellenseite lesen können
Strukturierte Daten geben Suchmaschinen beim Abruf der Seite eine direkte Beschreibung der Stelle. Zeitpunkt des Abrufs, Indexierung und Darstellung sind nicht garantiert; andere Plattformen können Anzeigen über andere Wege erhalten oder verarbeiten. Unsere Analyse der Aggregator-Verzögerung betrachtet die praktische Wirkung eines späteren Funds.
3. Es bietet Ihnen einen sauberen Weg, Unternehmen selbst zu überwachen
Für eigenes Monitoring ist gültiges JSON-LD eine nützliche erste Quelle, weil die Felder bereits strukturiert sind. Fallbacks bleiben nötig: Blöcke können fehlen, fehlerhaft sein, unerwartet verschachtelt oder erst nach dem initialen HTML geladen werden. Suchen Sie nach <script type="application/ld+json">, validieren Sie den Fund und behandeln Sie auch Seiten ohne diesen Block.
So inspizieren Sie es selbst
In jedem Browser:
- Öffnen Sie eine Stellenanzeigenseite (probieren Sie eine Greenhouse- oder Lever-URL).
- Klicken Sie mit der rechten Maustaste und wählen Sie „Seitenquelltext anzeigen" (oder drücken Sie Strg+U / Cmd+U).
- Suchen Sie nach
application/ld+json. - Sie finden einen oder mehrere JSON-Blöcke. Der mit
"@type": "JobPosting"enthält die Stellendaten.
Googles Rich Results Test kann Fehler und Eignungsprobleme der strukturierten Daten anzeigen. Ein bestandener Test garantiert weder Indexierung noch Darstellung.
Warum der Name des ATS nicht genügt
- Gehostete Bewerberplattformen: Seiten von Greenhouse, Lever, Ashby, Workday, Phenom, iCIMS und SmartRecruiters können JobPosting-Daten enthalten. Die Unterstützung hängt von Vorlage und Arbeitgeberkonfiguration ab.
- Per JavaScript gerenderte Seiten: Strukturierte Daten erscheinen womöglich erst nach Ausführung der Seite und fehlen dann in der rohen Antwort.
- Eigene Karriereseiten: Die Umsetzung variiert je Arbeitgeber. Größe oder Marke sind kein verlässlicher Ersatz für die Prüfung.
- Jede Plattform: Prüfen Sie die konkrete Anzeige. Eine Erwartung auf Plattformebene belegt nicht, dass diese Seite gültige Daten enthält.
Unsere vollständige ATS-Referenz behandelt, wie Sie erkennen, welches System ein Unternehmen verwendet.
Ein minimaler Leitfaden „Werden Sie Ihr eigener Crawler"
Für technisch versierte Leser, hier ist die allgemeine Struktur eines Python-Skripts, das eine einzelne Karriereseite auf neue JSON-LD-JobPosting-Einträge überwacht:
import json, re, requests, hashlib
from bs4 import BeautifulSoup
def fetch_postings(url):
html = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}).text
soup = BeautifulSoup(html, "html.parser")
out = []
for tag in soup.find_all("script", type="application/ld+json"):
try:
data = json.loads(tag.string)
except (json.JSONDecodeError, TypeError):
continue
items = data if isinstance(data, list) else [data]
for item in items:
if item.get("@type") == "JobPosting":
out.append(item)
return out
# Nach Zeitplan ausführen; mit vorherigem Lauf vergleichen; neue Einträge per E-Mail senden.
Ein produktives Monitoring muss außerdem JavaScript-gerenderte Seiten, fehlgeschlagene Anfragen, Ratenbegrenzungen, Duplikate und wechselnde Schemas behandeln. Das ist deutlich mehr Arbeit als im Beispiel oben. Unser Leitfaden zur Überwachung von Karriereseiten vergleicht diesen Ansatz mit Alternativen.
Was das für Ihre Jobsuche bedeutet
Veröffentlicht ein Arbeitgeber gültige strukturierte Daten, stehen sie auf der Quellenseite vor oder zugleich mit späteren Kopien anderswo. Das beweist nicht, wann eine andere Plattform die Stelle erhalten hat. Es ist jedoch ein Grund, die Arbeitgeberseite zu prüfen, statt den Aggregator-Zeitstempel für die ursprüngliche Uhr der Vakanz zu halten.
Verlassen Sie sich praktisch nicht auf einen einzigen Entdeckungskanal. Prüfen Sie vor der Bewerbung die kanonische Arbeitgeberseite, und nutzen Sie strukturierte Daten, wenn Sie eigenes Monitoring bauen. Unser Vergleich der Benachrichtigungswege erklärt die Abwägungen.
Was Sie daraus machen
JSON-LD JobPosting ist eine nützliche Schicht moderner Stellenentdeckung. Wenn ein Unternehmen es korrekt veröffentlicht, können Suchmaschinen und Monitoring-Werkzeuge dieselben deklarierten Felder lesen. Daraus lässt sich nicht ableiten, wann eine andere Plattform die Rolle aufgenommen oder angezeigt hat.
Für Bewerber zählt weniger die Technik als die Quelle: Prüfen Sie die Rolle auf der Arbeitgeberseite und bewerben Sie sich, solange eine passende Vakanz frisch ist. Wer sie erreicht, bevor sich Bewerberschlange oder Auswahlliste bilden, erhält einen echten Timing- und Sichtbarkeitsvorteil. Für eigenes Monitoring prüfen Sie zuerst gültiges JSON-LD und bauen sorgfältige Fallbacks für fehlende oder unvollständige Daten.