siteway

// stack · schnittstelle

sopea.

sopea ist eine HR-Cloud aus Deutschland — mit einem Recruiting-Modul, in dem Stellenausschreibungen und Bewerbungen zusammenlaufen. Die spannende Frage für eine Website ist die Strecke dazwischen: Wie kommen diese Stellen auf die eigene Karriereseite — und zwar so, dass sie dort wie eigene Seiten aussehen, funktionieren und gefunden werden. siteway baut diese Strecke.

stack system: sopea · hr-cloud modul: recruiting ziel: stellen auf deiner domain seit: 2006

// definition

Was ist sopea?

sopea ist eine cloudbasierte HR-Software der sopea GmbH mit Sitz in Fellbach. Der Hersteller beschreibt sie als HR-Cloud und bündelt darin mehrere Bereiche: Recruiting, Personalmanagement mit Digitalakte, Zeitwirtschaft, Lohn und Gehalt sowie eine Potenzialanalyse. Als Zielgruppe nennt sopea den Mittelstand. Der Betrieb läuft nach Herstellerangabe DSGVO-konform und ausschließlich auf Servern in Deutschland.

Für eine Website ist davon genau ein Ausschnitt relevant: das Recruiting-Modul. Dort legt die Personalabteilung Stellenanzeigen an, dort laufen die Bewerbungen zusammen — mit automatischer Eingangsbestätigung, Status, Notizen und Bewertungen —, dort greifen Workflows, Stellenanträge und das Onboarding bis hin zur digitalen Vertragsunterzeichnung. Zum Modul gehört nach Herstellerangabe außerdem Multiposting: Eine Anzeige geht gleichzeitig an Jobportale, in soziale Netzwerke und auf die eigene Website.

Die Website ist die Schauseite dieses Systems — sie zeigt die offenen Stellen und nimmt Bewerbungen entgegen, ohne selbst zum zweiten Datenhaushalt zu werden. Genau diese Trennung macht die Anbindung überhaupt erst sauber: siteway behandelt sopea als führendes System und die Website als Anzeige.

// praxis

Wie wir sopea anbinden.

daten holen · selbst rendern

Für das Karriereportal nennt sopea zwei Wege. Die HTML-Jobbörse wird laut Hersteller mit einem fertigen HTML-Code in ein bestehendes Karriereportal eingebunden und passt sich an das Firmendesign an. Die API-Jobbörse stellt, ebenfalls nach Herstellerangabe, eine Schnittstelle mit den reinen Inhalten der Jobbörse bereit — die Gestaltung liegt dann bei der Website. Für die Suchmaschinenoptimierung empfiehlt sopea selbst den Weg über die Schnittstelle gegenüber einer iFrame-Einbindung.

Wir gehen den datengetriebenen Weg, wo er möglich ist: Stellen als Daten abholen, ins CMS übersetzen und die Seiten selbst rendern. Der Grund ist nicht Geschmack, sondern Kontrolle. Nur bei eigenem Markup entscheiden wir über strukturierte Daten, Barrierefreiheit, Ladeverhalten und URL-Struktur — also über genau die Punkte, an denen eine Karriereseite gefunden wird oder eben nicht.

Eine öffentliche Entwickler-Dokumentation mit Endpunkten, Feldnamen und Formaten veröffentlicht sopea nicht. Deshalb steht am Anfang immer eine Sichtung: Welcher Zugang ist in eurem Vertrag freigeschaltet, welche Zugangsdaten gibt es, welche Felder liefert die Quelle tatsächlich, wie sind Standorte und Bereiche benannt, wie sieht der Bewerbungsweg aus. Das klären wir mit dem Hersteller oder eurer HR-IT. Daraus entsteht ein Feld-Mapping, und erst danach wird gebaut — dasselbe Vorgehen wie bei jeder anderen Schnittstelle.

Drei Bauweisen, drei Charaktere.

Sie unterscheiden sich nicht in der Qualität, sondern darin, wo die Arbeit liegt und wem das Ergebnis gehört. Das hier ist die Entscheidungshilfe, mit der wir in ein Briefing gehen.

// w-01daten

Stellen als Daten.

Die Website holt die Ausschreibungen als Datensätze ab und baut daraus eigene Seiten. sopea beschreibt dafür eine API-Jobbörse, die die Inhalte der Jobbörse als Schnittstelle bereitstellt. Welche Felder darin ankommen und wie der Zugang aussieht, wird vorab geklärt — danach steht das Mapping.

stärke: eigene seiten · eigenes markup

// w-02einbettung

Einbettung.

Die HTML-Jobbörse wird nach Herstellerangabe mit einem fertigen Code in ein bestehendes Karriereportal gesetzt, im Firmendesign und für alle Endgeräte. Das ist der schnellste Start, weil praktisch nichts gebaut wird — Gestaltung, Markup und Ladeverhalten kommen dann vom Anbieter.

stärke: sofort startklar

// w-03system

Karriereportal im System.

sopea bringt selbst ein Karriereportal mit. Die Stellen werden dort gepflegt und erscheinen dort — an der Website muss nichts gebaut werden. Der geschützte Bewerberbereich bleibt ohnehin beim Anbieter, und für viele Personalabteilungen ist das der bequemste Einstieg.

stärke: alles an einem ort

Die Zuordnung fällt meist schnell. Der Datenweg ist richtig, sobald die Stellen als echte Seiten der eigenen Domain entstehen sollen — mit eigener URL, eigenem Markup und eigener Gestaltung. Die Einbettung ist der richtige Griff, wenn es schnell gehen muss oder die Karriereseite bewusst schlank bleiben soll. Und das Karriereportal des Systems trägt überall dort, wo die Pflege komplett im HR bleiben soll.

Häufig ist die Kombination die beste Antwort: Stellenliste und Detailseiten aus den Daten auf der eigenen Domain, der geschützte Bewerberbereich mit Statusanzeige beim Anbieter. Welche Wege in eurem Vertrag freigeschaltet sind, klären wir vorab beim Hersteller oder eurer HR-IT — das steht am Anfang des Konzepts, nicht am Ende.

// bausteine · 6 details

Die Anbindung im Detail.

jedes teil mit klarem zweck

Zwischen „Stelle steht in sopea" und „Stelle steht auf der Website" liegen sechs Bauteile. Sie sind bei jedem Projekt gleich — was sich unterscheidet, sind die Feldnamen und der Takt.

// d-01abholung

Abholung & Caching.

Ein geplanter Job holt die Stellen in festem Takt und legt sie lokal ab. Kein Besucher wartet auf ein Fremdsystem, kein Seitenaufruf erzeugt einen Zugriff nach außen. Antwortet die Quelle einmal nicht, bleibt der letzte gute Stand stehen, statt dass die Karriereseite leer läuft.

zweck: tempo · ausfallsicherheit

// d-02mapping

Mapping ins CMS.

Jedes Feld der Quelle bekommt ein Zuhause im CMS: Titel, Standort, Bereich, Anstellungsart, Beschreibung, Ablaufdatum, Bewerbungslink. Wie die Felder in eurer Installation heißen, steht am Anfang fest — was fehlt, ergänzt die Redaktion daneben, etwa ein Teamfoto oder eine Ansprechperson.

zweck: felder statt textblock

// d-03liste

Stellenliste & Filter.

Die Übersicht filtert nach Standort, Bereich und Anstellungsart — mit sprechenden URLs, damit ein Filterstand teilbar bleibt. Weil die Liste aus eigenen Daten entsteht, taucht sie auch in der Website-Suche auf statt in einem abgeschotteten Rahmen.

zweck: finden statt scrollen

// d-04detailseite

Detailseite & URLs.

Jede Stelle bekommt eine eigene, stabile und indexierbare Adresse unter deiner Domain — teilbar per Mail, verlinkbar aus Social, sauber in der Vorschau. Der Jobtitel steht in der URL, die Hierarchie bleibt flach. Das Layout ist deins: dieselbe Typografie, dieselbe Navigation, derselbe Footer.

zweck: eine stelle · eine url

// d-05lebenszyklus

Abgelaufene Stellen.

Verschwindet eine Stelle aus der Quelle, verschwindet sie aus der Liste. Für die Detailseite gibt es drei saubere Optionen: Ablaufdatum in die Vergangenheit, Statuscode 404 oder 410, oder das Markup entfernen. Wir wählen je Projekt eine — und leiten Besucher auf die Übersicht statt in die Sackgasse.

zweck: keine karteileichen

// d-06betrieb

Monitoring & Protokoll.

Ein Abgleich, der stillschweigend scheitert, ist gefährlicher als einer, der laut abbricht. Deshalb wird jeder Lauf protokolliert, Fehler werden gemeldet, und ein leeres Ergebnis überschreibt niemals einen gefüllten Stand. Mehr dazu unter Deployment & Betrieb.

zweck: fehler fallen auf

Der Bewerbungsweg.

An dieser Stelle entscheidet sich, wie sich die Karriereseite anfühlt. Der direkte Weg ist die Weiterleitung: Der Button auf der Stellenseite führt in das Bewerbungsformular von sopea. Upload, Pflichtfelder und Eingangsbestätigung liegen dann beim Hersteller, die Bewerbung ist ohne Umweg im Bewerbermanagement, und auf dem Webserver entstehen gar keine Bewerberdaten. Der Preis ist ein sichtbarer Wechsel — anderes Layout, mitunter ein eigener Consent-Hinweis.

Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über die Schnittstelle an sopea übergibt. Die bewerbende Person bleibt durchgehend bei dir, Felder und Fehlermeldungen sind gestaltbar, die Barrierefreiheit liegt in unserer Hand — wie bei allen Formularstrecken. Dafür braucht es einen freigeschalteten Rückweg, ein sorgfältiges Mapping und eine ehrliche Fehlerbehandlung: Was passiert, wenn die Übergabe scheitert, nachdem jemand auf „Absenden" geklickt hat?

Ob dieser Rückweg zur Verfügung steht, gehört zu den ersten Fragen an den Hersteller oder eure HR-IT — denn davon hängt ab, welcher der beiden Wege überhaupt gebaut werden kann. Die zweite Frage ist keine technische: Soll die Bewerbung Teil der Website sein oder Teil des HR-Systems? Wir stellen sie im Briefing und beantworten sie gemeinsam, bevor eine Zeile Template entsteht.

// integration · 3 systeme

sopea in deine Website integrieren.

drei systeme · ein muster

Ein Bewerbermanagement liefert Daten, ein CMS macht daraus Seiten. Der Weg dazwischen ist systemunabhängig und sieht überall gleich aus: Ein geplanter Job holt die Stellen in festem Takt, legt jede Ausschreibung als eigenen Inhalt im CMS an — mit einer eigenen, indexierbaren URL je Stelle — und das Frontend rendert daraus Liste, Filter und Detailseite. Aus denselben Feldern entsteht beim Rendern das JobPosting-Markup für Google for Jobs. Unterschiedlich ist nur, wie das jeweilige System Inhalte modelliert und wiederkehrende Aufgaben plant.

Im CMS liegt dabei das Datenmodell: Titel, Standort, Bereich, Anstellungsart, Beschreibung, Ablaufdatum und Bewerbungslink als einzelne Felder statt als Textblock — dazu Platz für das, was die Redaktion daneben ergänzt. Die Auslieferung übernimmt der Cache, sodass kein Seitenaufruf auf ein Fremdsystem wartet. Der Bewerbungsweg setzt an der Detailseite an: Der Button führt in das Formular von sopea oder in ein eigenes auf deiner Domain. Weil sopea die genauen Feldnamen nicht öffentlich dokumentiert, entsteht der Abruf in allen drei Systemen als schlanker eigener Code, dessen Mapping vorab abgestimmt ist.

// cms-01typo3

sopea in TYPO3.

Wir bauen eine eigene Extension auf Extbase-Basis: Die Felder liegen als TCA-Definition fest, ein Scheduler-Task holt die Stellen im festen Takt und schreibt sie als eigene Records in einen Ordner im Seitenbaum. Das Site Handling erzeugt daraus sprechende URLs je Stelle, Fluid rendert Liste und Detailseite. Standort, Bereich und Anstellungsart liegen als eigene Felder, damit Filter und Sprachbäume mitlaufen. Mehr zum System unter TYPO3.

weg: eigene extension · scheduler

// cms-02wordpress

sopea in WordPress.

Hier entsteht ein eigenes Plugin statt Code im Theme — so überlebt die Anbindung jeden Designwechsel. Ein geplanter Lauf holt die Stellen und legt jede als Beitrag eines Custom Post Types mit Meta-Feldern an; Standort und Bereich liegen als Taxonomien daneben. Eine eigene Permalink-Struktur gibt jeder Stelle ihre Adresse, das JobPosting-Markup setzt ein Hook in den <head>. Mehr zum System unter WordPress.

weg: eigenes plugin · custom post type

// cms-03statamic

sopea in Statamic.

Unter Statamic liegt ein vollständiges Laravel — der Abruf ist deshalb ein Artisan-Command im Scheduler, das die Stellen als Entries in eine Collection schreibt. Das Blueprint gibt die Felder vor, die Route der Collection ergibt die eigene URL je Stelle, Antlers oder Blade rendern Liste und Detailseite. Das Static Caching liefert den fertigen Stand aus; Ergänzungen pflegt die Redaktion im Control Panel. Mehr zum System unter Statamic.

weg: artisan-command · entries

// sichtbarkeit

JobPosting & Google for Jobs.

markup entscheidet, nicht layout

Wer eine Stelle sucht, tippt einen Jobtitel bei Google ein. Damit eine Anzeige in der Job-Box darüber erscheint, verlangt Google zweierlei: Die Seite muss gecrawlt werden können, und sie muss JobPosting als strukturierte Daten enthalten. Pflichtangaben sind Titel, Beschreibung, Veröffentlichungsdatum, Arbeitgeber und Arbeitsort. Empfohlen kommen unter anderem Ablaufdatum, Anstellungsart, eine eigene Kennung und die Gehaltsangabe dazu — und gerade Letztere entscheidet mit, ob eine Anzeige in gefilterten Ergebnissen überhaupt auftaucht.

Dieses Markup entsteht nicht im HR-System, sondern erst im CMS. Liegen die Stellen als eigene Seiten auf deiner Domain, erzeugen wir es beim Rendern automatisch aus den Feldern, die aus sopea kommen — ein Feld, ein Attribut. Wird ein Jobportal dagegen von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiterhin zu dieser Adresse; erfasst wird die Stelle dann dort und nicht unter deiner URL. Beides kann nebeneinander bestehen, aber nur der eigene Weg baut Sichtbarkeit auf der eigenen Domain auf. sopea sieht das ähnlich und empfiehlt für die Suchmaschinenoptimierung selbst den Weg über die Schnittstelle statt über eine iFrame-Einbindung.

Dazu gehört auch das Ende: Google nennt drei Wege für besetzte Stellen — Ablaufdatum in der Vergangenheit, Statuscode 404 oder 410, oder das Markup entfernen. Wie wir strukturierte Daten grundsätzlich bauen, steht unter Strukturierte Daten; was speziell für Stellenanzeigen gilt, unter Google for Jobs.

Multiposting braucht eine Quelle.

sopea kann eine Anzeige nach eigenen Angaben gleichzeitig auf Jobportale, in soziale Netzwerke und auf die eigene Website ausspielen. Das ist praktisch — und es verschiebt die Frage, wo eine Stelle eigentlich zu Hause ist. Denn jede dieser Ausspielungen hat eine begrenzte Laufzeit und liegt auf einer Plattform, die dem Unternehmen nicht gehört: Reichweite ist gemietet, Sichtbarkeit auf der eigenen Domain ist Eigentum.

Deshalb betrachten wir die eigene Karriereseite als die Quelle, aus der heraus verteilt wird: Hier steht die vollständige Anzeige, hier zeigt sich der Arbeitgeber, hierhin verlinken die Portale. Was auf Jobbörsen läuft, kommt und geht — was auf der eigenen Domain steht, sammelt über Jahre Verweise, Markendirektsuchen und Vertrauen an. Beide Ebenen arbeiten zusammen; die eine ersetzt die andere nicht.

// datenschutz

Bewerberdaten gehören geschützt.

so wenig wie möglich, so kurz wie möglich

Eine Bewerbung ist kein Kontaktformular. Lebenslauf, Zeugnisse, Geburtsdatum, manchmal ein Foto — das sind personenbezogene Daten der empfindlichsten Sorte, und sie werden ausgerechnet von Menschen übergeben, die dem Unternehmen noch nicht verbunden sind. Deshalb ist die erste Regel bei der Anbindung Datensparsamkeit: Die Website fragt nur ab, was für die Auswahl gebraucht wird, und legt nichts länger ab, als der Weitertransport dauert.

Technisch heißt das: Übertragung ausschließlich verschlüsselt, Zugangsdaten in der Serverkonfiguration statt im Repository, Anhänge direkt weiterreichen statt in einem Upload-Ordner sammeln, Zugriffe protokollieren. Führendes System bleibt sopea — dort greifen Rollen, Protokolle und die Löschfristen, die das Personalwesen ohnehin einhalten muss. Der Hersteller gibt an, alle Daten DSGVO-konform zu verarbeiten und ausschließlich auf Servern in Deutschland zu hosten.

Rechtlich gehört ein Auftragsverarbeitungsvertrag dazu, ebenso ein Datenschutzhinweis an genau der Stelle, an der die Daten erhoben werden — kurz, verständlich und ohne vorangekreuzte Einwilligung. Wie siteway das grundsätzlich hält, steht unter Sicherheit & Datenschutz.

Ein Formular, das alle absenden können.

Ein Bewerbungsformular ist die engste Stelle der ganzen Strecke: Wer hier scheitert, bewirbt sich nicht. Deshalb bekommt jedes Feld ein sichtbares, dauerhaft verknüpftes Label statt eines Platzhalters, der beim Tippen verschwindet. Pflichtfelder sind im Text benannt, nicht nur durch ein Sternchen. Fehler stehen am Feld, in Worten, und der Fokus springt dorthin — nicht in eine rote Zeile ganz oben, die eine Screenreader-Nutzerin nie erreicht.

Der Datei-Upload nennt erlaubte Formate und Größen, bevor jemand die falsche Datei wählt, und bleibt per Tastatur bedienbar. Nach dem Absenden gibt es eine Rückmeldung, die auch angesagt wird. Das gilt für das eigene Formular ebenso wie für die Entscheidung, in das Formular des Herstellers weiterzuleiten — dann prüfen wir vorher, wie es sich dort verhält. Die Grundlagen dazu stehen unter Barrierefreiheit.

// faq

Häufige Fragen.

Was ist sopea?

sopea ist eine cloudbasierte HR-Software der sopea GmbH mit Sitz in Fellbach. Der Hersteller beschreibt sie als HR-Cloud und bündelt darin Recruiting, Personalmanagement, Zeitwirtschaft, Lohn und Gehalt sowie Potenzialanalyse; als Zielgruppe nennt sopea den Mittelstand. Für eine Website zählt davon vor allem das Recruiting-Modul: Dort werden Stellenanzeigen angelegt, dort laufen die Bewerbungen zusammen, dort liegen Workflows und Onboarding. Die Website ist die Schauseite dieses Systems.

Wie kommen Stellen aus sopea auf unsere Karriereseite?

sopea nennt für das Karriereportal zwei Wege: eine HTML-Jobbörse, die laut Hersteller mit einem fertigen HTML-Code in ein bestehendes Karriereportal eingebunden wird, und eine API-Jobbörse, die als Schnittstelle mit den reinen Inhalten der Jobbörse bereitsteht. siteway arbeitet bevorzugt datengetrieben: Wir holen die Stellen als Daten ab, legen jede Ausschreibung als eigenen Inhalt im CMS an und rendern Liste, Filter und Detailseite selbst — im Design deiner Website, auf deiner Domain. Welcher Zugang in eurem Vertrag freigeschaltet ist und welche Felder er liefert, klären wir vorab mit dem Hersteller oder eurer HR-IT.

Gibt es eine öffentliche Entwickler-Dokumentation für sopea?

Öffentlich zugänglich ist die Beschreibung der beiden Wege für das Karriereportal — eine technische Dokumentation mit Endpunkten, Feldnamen und Formaten veröffentlicht sopea nicht frei. Deshalb steht am Anfang jedes Projekts eine Sichtung: Der freigeschaltete Zugang, die Zugangsdaten, die tatsächlich gelieferten Felder und der Takt werden mit dem Hersteller oder eurer HR-IT abgestimmt. Aus dieser Sichtung entsteht das Feld-Mapping, und erst danach wird gebaut. Wir raten davon ab, ein Datenmodell auf Vermutungen zu bauen — das rächt sich beim ersten Feld, das anders heißt als gedacht.

Lässt sich sopea in TYPO3, WordPress oder Statamic integrieren?

Ja. In allen drei Systemen trägt derselbe Aufbau: Ein geplanter Job holt die Stellen aus sopea, legt jede Ausschreibung als eigenen Inhalt im CMS an, und das Template rendert Liste, Filter und Detailseite — jede Stelle mit einer eigenen, indexierbaren URL auf deiner Domain. In TYPO3 ist das eine eigene Extension mit Scheduler-Task, eigenen Records und Fluid-Templates. In WordPress ein eigenes Plugin mit einem Custom Post Type und Taxonomien für Standort und Bereich. In Statamic ein Artisan-Command im Scheduler, der Entries in eine Collection schreibt. Das JobPosting-Markup entsteht anschließend in allen drei Systemen aus denselben Feldern.

Landen unsere Stellen damit in Google for Jobs?

Google zeigt eine Stelle in der Job-Box nur, wenn die Seite gecrawlt werden kann und JobPosting-Markup als strukturierte Daten enthält. Pflicht sind Titel, Beschreibung, Veröffentlichungsdatum, Arbeitgeber und Arbeitsort; empfohlen sind unter anderem Ablaufdatum, Anstellungsart und Gehalt. Dieses Markup entsteht im CMS: siteway erzeugt es beim Rendern aus genau den Feldern, die aus sopea kommen. Wird ein Jobportal dagegen von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiter zu dieser Adresse und wird dort erfasst, nicht unter deiner URL.

sopea bringt selbst ein Karriereportal mit — warum dann eigene Stellenseiten?

Weil beide Varianten unterschiedliche Stärken haben. Das Karriereportal des Systems ist schnell startklar und wird im System gepflegt, ohne dass an der Website etwas gebaut werden muss. Eigene Stellenseiten entstehen dann, wenn Gestaltung und Suchsichtbarkeit beim Unternehmen liegen sollen: Jede Stelle wird ein Inhalt im CMS mit eigener, indexierbarer URL auf der eigenen Domain, das Markup kommt aus den eigenen Feldern, und die Stellen tauchen in der Website-Suche auf wie jeder andere Inhalt. Übrigens empfiehlt sopea selbst für die Suchmaschinenoptimierung den Weg über die Schnittstelle statt über eine iFrame-Einbindung.

Bewerbung im sopea-Formular oder auf unserer Website?

Beides trägt. Der direkte Weg ist die Weiterleitung: Der Button auf der Stellenseite führt in das Bewerbungsformular von sopea, dort läuft der Upload, und die Bewerbung liegt sofort im Bewerbermanagement — auf dem Webserver entstehen gar keine Bewerberdaten. Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über die Schnittstelle an sopea übergibt: durchgängig im Design deiner Website, mit voller Kontrolle über Pflichtfelder, Fehlermeldungen und Barrierefreiheit, dafür mit mehr Aufwand und einer Abhängigkeit von den freigegebenen Endpunkten. Ob dieser Rückweg zur Verfügung steht, klären wir vor dem Bauen.

Wie sicher sind Bewerberdaten bei so einer Anbindung?

Bewerbungsunterlagen gehören zum Sensibelsten, was eine Website verarbeitet. Deshalb gilt: so wenig wie möglich auf dem Webserver. Die Übertragung läuft verschlüsselt, Zugangsdaten liegen in der Serverkonfiguration statt im Repository, Anhänge werden weitergereicht statt dauerhaft abgelegt, und jeder Zugriff wird protokolliert. Führendes System bleibt sopea — dort greifen Rollen, Protokolle und Löschfristen. Der Hersteller gibt an, alle Daten DSGVO-konform zu verarbeiten und ausschließlich auf Servern in Deutschland zu hosten. Der Auftragsverarbeitungsvertrag gehört ins Projekt, nicht ins Nachspiel.

// Stellen aus sopea auf deiner eigenen Karriereseite?

Anbindung anfragen