Der JSON-LD-Adapter ist die universelle Lösung für Websites, die nicht auf Drupal, TYPO3 oder WordPress laufen — solange die Stellenseiten schema.org JobPosting-Markup enthalten (was die meisten SEO-optimierten Karriere-Seiten tun).
Voraussetzungen
- Die Website hostet eine
sitemap.xml(Standard bei jedem CMS) — der Adapter folgt verschachtelten Sitemaps. - Stellenseiten enthalten ein
<script type="application/ld+json">-Block mit"@type": "JobPosting". - Der Domain-Eintrag wird im BAconn-Connector als Allowlist gesetzt — wir scrapen nur, was Sie bestätigen.
Einrichtung
- Im Wizard oder unter /cms-pipe/manage "Neue Quelle" → JSON-LD wählen.
- Basis-URL eintragen, z. B.
https://www.beispiel-firma.de(mit oder ohne Schrägstrich am Ende). - Optional: Sitemap-Pfad überschreiben, falls die Sitemap nicht unter
/sitemap.xmlliegt. - Sync-Intervall — Standard 60 Min, höflicher Crawl ist auf 1 Anfrage / Sekunde gedrosselt.
Headless-Fallback (optional)
Wenn die Website JSON-LD per JavaScript einfügt (Single-Page-Applications, React/Vue), erkennt der Adapter dies und kann optional einen Playwright-Headless-Browser für die Extraktion verwenden. Aktivierung über adapter_state.headless = true in der Quell-Konfiguration. Voraussetzung: Chromium ist im Container installiert (siehe Dockerfile).
Häufige Probleme
- Sitemap.xml liefert 404 — die Quelle nutzt eine alternative Indexierung. Pfad manuell setzen oder den TYPO3- bzw. Drupal-Adapter erwägen.
- 0 Stellen gefunden — die Stellenseiten enthalten kein JSON-LD. Im Browser DevTools:
document.querySelectorAll('script[type="application/ld+json"]')prüfen. - robots.txt blockiert — der Adapter respektiert robots.txt. Bei Eigentümer-Domains "Allow: /" für unseren User-Agent
BAconn-CMS-Pipesetzen.
Wo landen die Stellen
Alle CMS-Pipe-Quellen schreiben nach wp_jobs (gleiche Tabelle wie WP Job Manager). Sie tauchen automatisch in /jobshub, im Indeed-Push und im BA-Sync auf.