# Siteway — vollständige Inhalte (llms-full.txt) > Alle Seiteninhalte als Markdown, generiert für KI-Assistenten. Quelle: https://www.siteway.de --- web-agentur hamburg · **seit 2006** · einfach gutes webdesign build: websites that don't.fail() Hallo, wir sind siteway — die Web-Agentur für einfach gutes Webdesign aus Hamburg. Mit intelligentem Design und ausgefeilter Technologie erschaffen wir Websites, die nachhaltig beeindrucken. [Webdesign anfragen](https://www.siteway.de/kontakt/) [Cases ansehen](https://www.siteway.de/cases/) # Webdesign aus Hamburg siteway ist deine Webdesign-Agentur aus Hamburg: Wir gestalten und entwickeln Websites, die schnell laden, überzeugend aussehen und neue Kunden gewinnen — als persönliche Web-Agentur von der ersten Idee bis zum Go-live. 01 — webdesign aus hamburg ## Der erste Eindruck zählt in der schönsten stadt deutschlands atemberaubend schnell, glasklar und einfach. Websites, die dein Unternehmen weiterbringen. Menschen überschätzen gerne den Wert einer einzelnen Maßnahme, aber unterschätzen den langfristigen Effekt einer orchestrierten Gesamtkomposition. Bei einer wirklich guten Website kommt einiges zusammen: Sicherheit und Datenschutz, brillantes Design und echte Kommunikation, gezielte Kundenansprache, Übersichtlichkeit und exzellente Funktion. Schnell und immer aktuell. Mit den von uns erprobten Lösungen erreichst und überzeugst du potenzielle Kunden und Mitarbeiter. Das zentrale Element unseres Masterplans bildet — als digitales Leuchtfeuer — **deine neue brillante Website**. Entweder als fulminantes Debüt oder, wie Phönix aus der Asche, als Website-Relaunch, der sich gewaschen hat. [Website anfragen](https://www.siteway.de/kontakt/) 02 — smartes webdesign ## Eine Website, die mitarbeitet im zentrum deiner kommunikation von der Kundenakquise bis zur Sichtbarkeit. Eine Website, die viele Prozesse mitträgt. Eine smarte Website unterstützt dein Unternehmen bei einer Vielzahl von Prozessen. Kundenakquise, klar. Aber auch die Mitarbeitersuche. Mitarbeiterbindung. Kundenbindung. Public Relations und Investor Relations. Marketing und Sichtbarkeit. Die Website kann sogar ganz spezifische Prozesse deines Arbeitsalltags erleichtern. Zum Beispiel mit einem Intranet, Wissensdatenbanken, Online-Formularen, Online-Terminbuchungen und Meetings, Daten-Upload oder Download. Ganz zu schweigen von E-Commerce und E-Business — unbegrenzte Möglichkeiten. Eine exzellente Website steht im Zentrum deiner Kommunikation und verbindet alles zu einem Ganzen. [Website anfragen](https://www.siteway.de/kontakt/) 03 — expertise ## einfach. schneller. optimiert dein webdesign spezialist · **auf dem weg zum erfolg** → einfach ### CMS & Redaktion Deine Redaktion pflegt Inhalte selbst, ohne uns anzurufen. Wir setzen TYPO3 für komplexe Redaktions-Strukturen ein, WordPress für Blogs, einfache Shops und Business-Websites, Statamic für flexible und hochmoderne Websites. stack: typo3 · wordpress · statamic → schneller ### Schnittstellen & Entwicklung Wir binden deine Website an die Systeme an, mit denen du arbeitest: CRM, Warenwirtschaft, Buchungs- und Payment-Tools. Strukturierte Deployment-Prozesse und Versionierung sorgen für rasantes Arbeitstempo und Sicherheit. stack: rest · soap · strukturierte daten → optimiert ### SEO + GEO Klassisches SEO bringt dich bei Google nach vorn. GEO bringt dich in die Antworten von ChatGPT, Perplexity und den Google AI Overviews. Wir bauen deine Inhalte so, dass beide dich finden und als Quelle zitieren. stack: core web vitals · onpage · ai-search [→ Expertise ansehen](https://www.siteway.de/expertise/) Dürfen wir Dich auf einen Kaffee einladen? [Webdesign anfragen](https://www.siteway.de/kontakt/) 04 — cases ## Ausgewählte Projekte hunderte projekte · **seit 2006**  caseelektrotechnik ### [Spelsberg](https://www.siteway.de/cases/spelsberg/) Riesiger Produktkatalog in 13 Sprachen mit smartem Produktfinder und tiefen API-Schnittstellen — auf TYPO3. typo3produktfinderapi  casegewerbeimmobilien ### [GARBE.World](https://www.siteway.de/cases/garbe/) Interaktives Karten-Portal zum 60-jährigen Jubiläum: Standorte und Storys über Europa, auf Statamic mit Mapbox. statamicmapboxstorys  caseproptech ### [MietOK](https://www.siteway.de/cases/mietok/) Digitales Mietportal mit Matchmaking und Vermieter-Cockpit. Marketingseite auf Statamic, Portal auf Laravel. laravelstatamicmatchmaking [→ Alle Cases ansehen](https://www.siteway.de/cases/) 05 — glückliche kunden ## Vertrauen, das verbindet spezialleistung & **gesamtprojekt** In den vergangenen Jahren haben wir zur Realisierung von hunderten Web-Projekten beigetragen — manchmal mit Spezialleistungen im Agenturauftrag, meist jedoch betreuten wir das gesamte Projekt: Webdesign, Responsive Design, CMS, SEO und mehr. -  -  -  -  -  -  -  -  -  -  -  -  06 — für alle branchen ## Ein zuverlässiger Partner keine standard-lösung · **individuelle ansätze** Das Internet ist groß und bunt. Hier gibt es keine Standard-Lösung, sondern es sind immer individuelle Ansätze gefragt. Genau darauf haben wir uns als Webdesign-Agentur aus Hamburg spezialisiert — wir finden neue Ideen und Konzepte, die wir engagiert und mit dem nötigen Know-how umsetzen. → webdesign ### Webdesign Konzept, Realisierung und Betreuung — das volle Programm für Sichtbarkeit, Benutzbarkeit und Erreichbarkeit im Netz. Ob Webdesign in Berlin, Köln, München oder hier in Hamburg: Wir sind bereit für neue, spannende Projekte. → ki-entwicklung ### KI-unterstützte Entwicklung KI-Tools wie GitHub Copilot, Cursor und Claude beschleunigen Entwicklungsprozesse und härten die Test-Routinen. Das verkürzt Projektlaufzeiten, verbessert die Qualität und erlaubt uns, umfangreichere und komplexere Tasks im Projektrahmen zu realisieren. → content management ### Content Management Wir entwickeln als Online-Agentur in Hamburg individuelle CMS-Lösungen, mit denen Content schnell und unkompliziert verwaltet und gepflegt wird — so kannst du die Inhalte deiner Website selbst betreuen. Unser stack umfasst für Neuerstellungen, Betreuung und Relaunches TYPO3, WordPress, Statamic und PHP/Laravel. → e-commerce ### E-Commerce Auch Online-Shops gehören zu unserem Repertoire: vom übersichtlichen Produktkatalog bis zur Kasse. Gern beraten wir dich, welche Lösung zu deinem Geschäft passt. → deployment ### Deployment & Git Jede Änderung läuft über Git und eine Deploy-Pipeline mit GitHub Actions. In der Versionshistorie siehst du, wer wann was geändert hat, und ein Rollback dauert Sekunden. Für technische Teams trennen wir Staging- und Live-Umgebung sauber. → los geht's ### Bereit für mehr? Unverwechselbar und effektiv: Wir bringen deine Website nach vorn. [Webdesign anfragen](https://www.siteway.de/kontakt/) 07 — insights ## Entdecke unsere Insights **insights ↗**  performancepagespeed ### [PageSpeed.](https://www.siteway.de/insights/pagespeed/) Wie wir Websites so schlank bauen, dass sie in Sekundenbruchteilen laden — und warum Google (und deine Kunden) das belohnen. Artikel lesen  karriererecruiting ### [Employer Branding.](https://www.siteway.de/insights/employer-branding/) Was eine Karriere-Seite leisten muss, damit aus Besuchern Bewerber werden — mit Beispielen aus echten Projekten. Artikel lesen  seorich snippets ### [Rich Snippets.](https://www.siteway.de/insights/richsnippets/) Strukturierte Daten, die in der Google-Suche auffallen — wie sie funktionieren und wo sie heute wirklich noch etwas bringen. Artikel lesen 08 — neugierig? ## Nimm mit uns Kontakt auf antwort innerhalb **24h** ### hallo@siteway.de verfügbar für neue projekte Immer erreichbar, immer für unsere Kunden da: Wir beraten dich gern zum Thema Webdesign, E-Commerce, CMS oder Suchmaschinenoptimierung. Als Internetagentur in Hamburg sind wir ein zuverlässiger Ansprechpartner — und finden individuelle Lösungen für deinen Erfolg. → email [hallo@siteway.de](mailto:hallo@siteway.de) primär · 24h → telefon [+49 40 839 88 242](tel:+494083988242) mo–fr · 9–18 → termin [Beratungstermin buchen](https://www.siteway.de/kontakt/) 30 min · gratis → büro Poststraße 20, 20354 Hamburg nach termin **Web-Agentur Hamburg** · seit 2006 [Anfrage senden](mailto:hallo@siteway.de?subject=Projektanfrage) --- source # agentur siteway ist die Web-Agentur aus Hamburg. Seit 2006 bauen wir Websites: Konzept, Design, Entwicklung und Betrieb. repository ## Im digitalen Epizentrum poststraße 20 · **hamburg** Unser Büro liegt in der Poststraße 20 in Hamburg, dem Geburtshaus von Heinrich Hertz. Hier wies er die elektromagnetischen Wellen nach, die Grundlage für Funk, Fernsehen und das Internet. Ein passender Ort, um Websites zu bauen, die schnell und weit reichen. version history ## Wie wir hierher kamen seit **2006**  1. // 1996 Die erste Website. Schon als Jugendliche stellten die Gründer ihre erste Website ins Netz, im selben Jahr, in dem ein Google-Vorläufer startete. 2. // 2006 Gründung von siteway. Aus Ton- und Filmproduktion (Richard) und 3D und Visual Effects (Paul) wird eine Web-Agentur in Hamburg. 3. // 2016 Neue Räume, größeres Team. siteway bezieht ein neues Zuhause mitten in der Hamburger Innenstadt — und wächst auf 23 Köpfe: mehr Raum für Ideen, mehr Hände für Projekte. 4. // heute ● live Websites für Deutschland und Europa. Wir bauen und betreuen Websites mit TYPO3, WordPress und Statamic. Die Technik im Detail steht im [Stack](https://www.siteway.de/stack/).  seed ## Du sprichst mit Menschen gründer ### Richard Kommt aus Multimedia und Tonproduktion. Webentwicklung seit 1996, SEO seit 1999. Dein direkter Ansprechpartner. gründer ### Paul Kommt aus 3D und Visual Effects. Webentwicklung seit 1996, KI seit 2017. Verantwortet Technik und Umsetzung. team ### Das Team Designer, Entwickler und KI-Assistants unter dem Dach. Lust auf ein Projekt mit uns? [Kontakt aufnehmen](https://www.siteway.de/kontakt/) --- ausgewählte projekte # cases Jedes Projekt ist unser bestes bisher. Eine Auswahl aus Energiewirtschaft, Mobilität, Industrie und Gesundheit. Konzept, Design, Entwicklung und API-Anbindung aus Hamburg. **54** projekte · **seit 2006** · typo3 · wordpress · statamic · laravel featured  elektrotechnik ## [Spelsberg.](https://www.siteway.de/cases/spelsberg/) Ein riesiger Produktkatalog in 13 Sprachen, erschlossen über einen smarten Produktfinder mit dutzenden parallel filterbaren Attributen — auf TYPO3 mit tiefen Schnittstellen (Algolia, PIM, Cadenas). - TYPO3 - Algolia - API [Case Study ansehen](https://www.siteway.de/cases/spelsberg/)  gewerbeimmobilien ## [GARBE.World.](https://www.siteway.de/cases/garbe/) Zum 60-jährigen Jubiläum ein interaktives Karten-Portal: Projekte, Standorte und Storys über Europa, vom Globus bis zum einzelnen Gebäude. Auf Statamic mit Mapbox / OpenStreetMap. - Statamic - Mapbox - Storys [Case Study ansehen](https://www.siteway.de/cases/garbe/)  proptech ## [MietOK.](https://www.siteway.de/cases/mietok/) Digitales Mietportal: einheitliche Bewerbungen, Matchmaking und ein Vermieter-Cockpit vom Screening bis zur Zusage. Marketingseite auf Statamic, Portal auf Laravel. - Laravel - Statamic - Matchmaking [Case Study ansehen](https://www.siteway.de/cases/mietok/) showreel · webdesign-referenzen  auswahl unserer kunden -  -  -  -  -  -  -  -  -  -  -  -  archiv ## Weitere Projekte 2009–2025 · 53 projekte - 2025 Max-Planck-Institut forschung - 2025 JAHR MEDIA verlag - 2024 GARBE gewerbeimmobilien - 2024 OTTO DÖRNER entsorgung - 2024 ESCH markenberatung - 2023 Vereinigung Cockpit pilotenverband - 2023 Metroplan fabrikplanung - 2022 DINSE schweißtechnik - 2022 HPC Hamburg Port Consulting hafenberatung - 2022 AWO Bundesverband wohlfahrt - 2021 Deutsche Gesellschaft für schmerz- und palliativmedizinische Fortbildung schmerzmedizin - 2021 deep digital digitalagentur - 2019 FREE NOW mobilität - 2019 AVISTA OIL Deutschland altöl-recycling - 2018 mytaxi mobilität - 2018 sehsucht motion-design - 2018 amedes group labormedizin - 2018 Marienhospital Stuttgart klinik - 2018 Deutscher Mittelstands-Bund verband - 2017 innogy energiewirtschaft - 2017 Jung von Matt / Brand Identity werbeagentur - 2017 Apartmentservice hospitality - 2017 Kappa Bioscience vitamin-inhaltsstoffe - 2017 IndividFit online-training - 2017 ad2games digital-marketing - 2016 Sharp Devices Europe mikroelektronik - 2016 EyeC druckbildkontrolle - 2015 Deutsches Institut für Kautschuktechnologie kautschuk-forschung - 2015 PANDORA Jewelry schmuck - 2015 VOSSCHEMIE spezialchemie - 2014 McKinsey & Company unternehmensberatung - 2014 Gesellschaft für internationale medizinische Kooperation medizin - 2014 DS Produkte konsumgüter - 2014 Deutsches Institut für Kautschuktechnologie kautschuk-forschung - 2014 azv Südholstein AöR abwasser - 2014 WEBAC bauchemie - 2014 OKUMA Europe werkzeugmaschinen - 2014 PORSCHE automobil - 2014 Globetrotter outdoor - 2013 Koppenbrink AG beratung - 2012 MEDIPLAN Krankenhausplanungsgesellschaft krankenhausplanung - 2012 KTH Royal Institute of Technology hochschule - 2012 Hamburg Consult verkehrsberatung - 2011 EIT Digital digital-innovation - 2011 Varengold Asset Management asset-management - 2010 TRIOPTICS optik-messtechnik - 2010 verdi gewerkschaft - 2010 LEHNE Ingenieurgesellschaft ingenieurbüro - 2010 Hommel Gruppe werkzeugmaschinen - 2010 Pro Business Catering catering - 2009 CERÊS Hotel Binz hotel - 2009 Universum Box-Promotion box-promotion - 2009 DMI Software Deutschland software Dein Projekt wird das nächste. [Projekt anfragen](https://www.siteway.de/kontakt/) --- clientGARBE brancheGewerbeimmobilien launch2025 · 60 Jahre stackStatamic · Mapbox *// flug durch garbe.world · vom globus zum gebäude* herausforderung 60 Jahre Firmengeschichte, hunderte Projekte, Standorte und Meilensteine über ganz Europa verteilt — und ständig kommen neue dazu. Wie erzählt man das, ohne dass es zur endlosen Liste wird? Die Antwort sollte sich anfühlen wie Entdecken, nicht wie Lesen. - Ein lebendiges Jubiläums-Portal statt einer statischen Chronik - Objekte, Standorte und Mitarbeiter-Storys räumlich erlebbar machen - Inhalte redaktionell pflegbar — hunderte Einträge, ohne Entwickler - Schnell, datenschutzkonform und auf jedem Gerät lösung · die karte ## Vom Globus zum Gebäude Herzstück ist eine individuell gestaltete Karte auf Basis der **Mapbox / OpenStreetMap**-API. Über mindestens sechs Zoomstufen reist man von Europa über Deutschland bis nach Hamburg. Jedes Gebäude, jedes Projekt und jeder Meilenstein erscheint als **individuelle SVG-Grafik** — dicht beieinander liegende Pins fassen sich automatisch zu Clustern zusammen, GARBE-Standorte sind eigens markiert. lösung · storys & overlays ## Hinter jedem Pin eine Geschichte Ein Klick auf einen Pin öffnet ein Overlay mit Objekt-, Standort- oder Mitarbeiterinformationen — aus Bild, Video und Text. Overlays lassen sich über die URL direkt anspringen und teilen, untereinander verlinken und über Filter und Kategorien gezielt eindampfen. Über „Storys entdecken" und die Suche findet man auch ohne Karte ans Ziel. - 6 Zoomstufen - Individuelle SVG-Pins - Cluster & Standorte - Deep-linkbare Overlays - Filter & Kategorien - ~300 Einträge redaktionell architektur Die Inhalte verwaltet das **Statamic-CMS**: Redakteure pflegen Objekte, Storys und Standorte selbst — inklusive der Daten, die die Pins auf der Karte setzen. Das Tracking läuft datenschutzkonform über **Matomo**, die Auslieferung ist auf Performance getrimmt (statisches Caching, optimierte Ladezeiten), und die ganze Anwendung ist DSGVO- und TTDSG-konform inklusive Cookie-Richtlinie. leistungen ## Was wir gemacht haben - Konzept & Wireframes - UX/UI Design - Statamic CMS - Templating & Responsive - Mapbox / OpenStreetMap - Individuelle SVG-Grafiken - Overlays & Storys - Filter & Kategorien - Matomo - SEO - PageSpeed - DSGVO Etwas, das es so noch nicht gibt? Karten, Storytelling, individuelle Tools — wir bauen das Besondere. [Projekt anfragen](https://www.siteway.de/kontakt/) [← zurück zu allen cases](https://www.siteway.de/cases/) --- clientMietOK branchePropTech launch2024 stackLaravel · Statamic *// das mietok-portal in bewegung · screen-recording*  *// vermieter-dashboard · immobilien, bewerberzahlen & anstehende besichtigungen auf einen blick* herausforderung Bei jeder freien Wohnung treffen dutzende, völlig unterschiedlich aufgebaute Bewerbungen ein. Vergleichbarkeit? Fehlanzeige. Vermieter ertrinken in Mails, Mieter füllen für jede Wohnung dieselben Daten neu aus. Das Ziel: ein Portal, das beide Seiten entlastet — standardisiert, fair und schnell. - Einheitliche, vergleichbare Bewerbungen statt PDF-Wildwuchs - Ein zentrales Cockpit für Vermieter und Makler — vom Screening bis zur Zusage - Automatisierte Vorauswahl passender Mieter nach definierten Kriterien - Datenschutzkonform, mehrsprachig und auf jedem Gerät bedienbar lösung · matchmaking ## Einmal bewerben, überall passen Mieter pflegen ihr Profil und ihre Unterlagen ein einziges Mal — und bewerben sich damit auf jedes Objekt. Ein **Matchmaking-Algorithmus** filtert eingehende Bewerbungen automatisch nach den Kriterien des Vermieters und übernimmt Vorauswahl und Absagen. So wird aus einem Stapel Mails eine saubere, vergleichbare Liste.  *// zentrales bewerbungsmanagement · vergleichbar & vorgefiltert*  *// besichtigungen · termine, einladungen & teilnehmer verwalten* lösung · vermieter-cockpit ## Vom Screening bis zur Zusage Ein dreistufiger Bewerberprozess — Screening, Kontakt & Besichtigung, Kandidatenauswahl — bildet die echte Vermietung ab. Vermieter laden zu Besichtigungsterminen ein, verwalten Teilnehmer über einen Kalender, hinterlegen Notizen, filtern nach Status und archivieren. Alles in einem Tool, statt in zehn. lösung · mieter-seite ## Einmal pflegen, mit einem Klick bewerben Auch die Mieter-Seite ist durchdacht: Eine digitale Selbstauskunft entsteht in rund fünf Minuten, ist kostenlos und lässt sich anschließend mit einem Klick auf jede Wohnung anwenden — inklusive Bewerbermappe, Nachrichten und Statusverfolgung. Hoher Datenschutz inklusive: Die Selbstauskunft lässt sich jederzeit zurückziehen, faire Bedingungen ohne käufliche Vorteile.  *// mieter-funktionen · digitale selbstauskunft, kostenlos & in minuten*  *// anforderungen definieren*  *// einladungen versenden*  *// einheitliche bewerbungen* architektur Zwei Systeme, sauber getrennt: die **Marketingseite auf Statamic** erklärt das Produkt und gewinnt Nutzer, das **Portal auf Laravel** trägt die eigentliche Anwendung — Accounts, Bewerberprozesse, Dashboards und Statistiken. Zahlungen laufen über **Stripe**, ein eigenes Analyse- und Berichtswesen liefert Vermietern und Mietern aussagekräftige Auswertungen. Mehrsprachig, DSGVO-konform und auf Performance getrimmt. leistungen ## Was wir gemacht haben - UX/UI Design - Statamic CMS - Laravel Web-App - Matchmaking-Algorithmus - Vermieter-Dashboard - Bewerbermanagement - Besichtigungs-Kalender - Stripe Payments - Analysen & Berichtswesen - Mehrsprachigkeit - SEO & PageSpeed - DSGVO  *// mietok in der hand · bewerbermappe & objekt-listing direkt auf dem smartphone* Eine Web-App im Kopf? Portale, Dashboards, Matchmaking — wir bauen Anwendungen, nicht nur Websites. [Projekt anfragen](https://www.siteway.de/kontakt/) [← zurück zu allen cases](https://www.siteway.de/cases/) --- clientSpelsberg brancheElektrotechnik relaunch2018 betreuunglaufend *// spelsberg.de in bewegung · screen-recording*  *// großhändlersuche · interaktive karte mit standort-clustern* herausforderung Ein Produktkatalog mit tausenden Varianten, kundenindividuellen Modifikationen und Stammdaten aus mehreren Systemen — und das in **13 Sprachen**. Die Website sollte diese Komplexität nicht zeigen, sondern auflösen: schnell ladend, übersichtlich und für jede Zielgruppe das richtige Werkzeug. - Riesiger, ständig wachsender Produktkatalog mit dutzenden technischen Attributen pro Artikel - Bidirektionale Anbindung mehrerer Drittsysteme für Produkt-, CRM- und CAD-Daten - Hohe Ladegeschwindigkeit trotz datenreicher Inhalte - Echter Mehrwert im geschützten Kundenbereich (Artikelstammdaten, Ausschreibungstexte) lösung · produktfinder ## Dutzende Attribute, parallel filterbar Das Herzstück ist ein smarter Produktfinder: Maße, Schutzart, Schlagfestigkeit, Farbe, Umgebungsbedingungen, Prüfzeichen — alles gleichzeitig filterbar. Wer schon weiß, was er sucht, gibt einfach die Artikelnummer ein. **Algolia** liefert die Treffer instant, die Produktdaten kommen aus dem **PIM**, CAD-Modelle über **Cadenas**.  *// produktfinder · parallele attribut-filter + instant-search*  *// produktwelten · responsive, von der serie bis zum einzelartikel*  *// meinSpelsberg · login-bereich, downloads, mobil & dsgvo-konform* lösung · kundenbereich ## Mehrwert hinter dem Login Im geschützten Bereich **meinSpelsberg** liegen Artikelstammdaten, Ausschreibungstexte, Kataloge und Flyer zum Download bereit — exklusiv für registrierte Mitglieder. Die Kontaktdaten und Leads fließen über die **Hubspot**-Anbindung direkt ins CRM. Alles responsiv und DSGVO-konform, vom Cookie-Banner bis zur Datenverarbeitung. schnittstellen ## Tief integriert CADENAS · CAD-Daten Technische Produktdaten und CAD-Modelle kommen direkt aus der CADENAS-Plattform auf die Website. Planer und Konstrukteure laden sie in zahlreichen nativen 3D-CAD-Formaten herunter und übernehmen sie direkt in ihre Planung — das verkürzt die Datenbeschaffung spürbar. Algolia · Instant Search Die Suche durchforstet Produktkatalog, Infoseiten, News und Großhändlerverzeichnis gleichzeitig — und liefert in Echtzeit eine reiche Ergebnisliste mit Abbildungen und Spezifikationen statt nackter Texttreffer. Der Produktfinder grenzt sie über dutzende Merkmale präzise ein. Hansalog Vision HR Fürs Recruiting verbindet eine Schnittstelle TYPO3 mit dem Bewerbermanagement Hansalog Vision HR: offene Stellen erscheinen automatisch und synchron auf der Karriereseite, Bewerbungen laufen direkt ins HR-System. Keine doppelte Pflege, durchgängiger Prozess. leistungen ## Was wir gemacht haben - Design - Templating - Responsive Webdesign - TYPO3 CMS - Hubspot API - PIM API - Cadenas API - Algolia API - Hansalog Vision HR - SEO - PageSpeed - DSGVO Ähnliches Projekt im Kopf? Komplexe Kataloge, Schnittstellen, viele Sprachen — genau unser Terrain. [Projekt anfragen](https://www.siteway.de/kontakt/) [← zurück zu allen cases](https://www.siteway.de/cases/) --- nachricht gesendet · exit code 0 # Danke Deine Nachricht ist bei uns angekommen. Wir melden uns schnell — meist innerhalb eines Werktags. Du sprichst dann direkt mit Richard, nicht mit einem Ticket-System. [Zur Startseite](https://www.siteway.de/) [Cases ansehen](https://www.siteway.de/cases/) --- rechtliches # datenschutz trackingfrei — Diese Website verzichtet auf Analyse-Tools, Tracking und Werbe-Cookies. Schriften, Skripte und Stylesheets werden lokal ausgeliefert; beim reinen Betrachten der Seiten werden keine Daten an Dritte übertragen. Deshalb gibt es kein Cookie-Banner. Einzelne Tools speichern auf Deinen Wunsch Einstellungen lokal in Deinem Browser, und der Maps-Generator lädt Google Maps ausschließlich nach Deiner ausdrücklichen Einwilligung. ## Datenschutz auf einen Blick Der Schutz Deiner personenbezogenen Daten ist uns wichtig. Wir verarbeiten personenbezogene Daten ausschließlich im Rahmen der gesetzlichen Bestimmungen (DSGVO, BDSG, TDDDG). Personenbezogene Daten sind alle Daten, mit denen Du persönlich identifiziert werden kannst. Nachfolgend informieren wir Dich darüber, welche Daten wir zu welchem Zweck und auf welcher Rechtsgrundlage verarbeiten. ## Verantwortliche Stelle Homepage Helden GmbH (Marke Siteway) Poststraße 20, 20354 Hamburg Telefon: [+49 40 839 88 242](tel:+494083988242) E-Mail: [hallo@siteway.de](mailto:hallo@siteway.de) ## Datenschutzbeauftragter Tobias Mauß, Mauß Datenschutz GmbH Neuer Wall 10, 20354 Hamburg E-Mail: [datenschutz@datenschutzbeauftragter-hamburg.de](mailto:datenschutz@datenschutzbeauftragter-hamburg.de) ## Deine Rechte Du hast jederzeit das Recht auf Auskunft über Deine gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger sowie den Zweck der Verarbeitung. Du hast außerdem ein Recht auf Berichtigung, Sperrung oder Löschung dieser Daten, ein Recht auf Einschränkung der Verarbeitung, ein Recht auf Datenübertragbarkeit sowie ein Widerspruchsrecht. Eine erteilte Einwilligung kannst Du jederzeit mit Wirkung für die Zukunft widerrufen. Hierzu sowie zu weiteren Fragen wende Dich an die oben genannte verantwortliche Stelle. Dir steht zudem ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu (in Hamburg: Der Hamburgische Beauftragte für Datenschutz und Informationsfreiheit). ## Rechtsgrundlagen der Verarbeitung Wir verarbeiten personenbezogene Daten auf Grundlage folgender Rechtsgrundlagen: Deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), die Erfüllung eines Vertrags oder die Durchführung vorvertraglicher Maßnahmen (Art. 6 Abs. 1 lit. b DSGVO), die Erfüllung einer rechtlichen Verpflichtung (Art. 6 Abs. 1 lit. c DSGVO) sowie unsere berechtigten Interessen an einem sicheren, stabilen und funktionsfähigen Webangebot (Art. 6 Abs. 1 lit. f DSGVO). Welche Rechtsgrundlage im Einzelfall greift, nennen wir bei der jeweiligen Verarbeitung. ## SSL- bzw. TLS-Verschlüsselung Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennst Du am „https://" in der Adresszeile Deines Browsers. ## Hosting und Server-Log-Dateien Beim Aufruf dieser Website werden durch den Hoster automatisch Informationen in Server-Log-Dateien erfasst, die Dein Browser übermittelt: Browsertyp und -version, verwendetes Betriebssystem, Referrer-URL, Hostname des zugreifenden Rechners, Uhrzeit der Serveranfrage und die IP-Adresse. Diese Daten werden nicht mit anderen Datenquellen zusammengeführt. Die Erfassung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO zum Zweck des sicheren und stabilen Betriebs der Website. Die Logs werden nach kurzer Zeit gelöscht. ## Lokale Schriften und Assets Schriften, Skripte und Stylesheets werden direkt vom eigenen Server ausgeliefert. Es werden keine externen Schrift- oder Skript-Dienste (etwa Google Fonts oder ein Content-Delivery-Network) eingebunden. Beim Seitenaufruf werden dadurch keine personenbezogenen Daten an Dritte übertragen. ## Cookies und lokale Speicherung Wir setzen keine Webanalyse-Dienste, kein Tracking und keine Werbe- oder Tracking-Cookies ein und erstellen keine Nutzungsprofile. Für einzelne Funktionen speichern wir technisch notwendige bzw. von Dir ausdrücklich gewünschte Einstellungen lokal in Deinem Browser — über den Local Storage oder als First-Party-Cookie. Diese Daten verbleiben in Deinem Browser, werden nicht an uns oder Dritte übertragen und lassen sich jederzeit über die Einstellungen Deines Browsers löschen. Im Einzelnen: - **Theme-Einstellung** (sw-theme, Local Storage) — merkt sich Deine Wahl zwischen hellem und dunklem Erscheinungsbild. - **Domain-Check · Merkliste** (Local Storage) — speichert die von Dir gemerkten Domains ausschließlich in Deinem Browser, damit sie beim nächsten Besuch erhalten bleiben. - **Domain-Check · gespeicherte Endungs-Auswahl** (First-Party-Cookie sw_dc_custom) — nur, wenn Du die Option „meine Auswahl speichern" aktiv einschaltest; sichert Deine zusammengestellten Domainendungen für spätere Besuche. Rechtsgrundlage für diese ausschließlich lokale, funktionale Speicherung ist unser berechtigtes Interesse an der Funktionsfähigkeit der Tools (Art. 6 Abs. 1 lit. f DSGVO) bzw. — soweit Du eine Option aktiv einschaltest — Deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO, § 25 Abs. 1 TDDDG). ## Unsere Tools und API-Abfragen Für einige Tools (etwa Domain-Check, PageRank-Check, PageSpeed-Check oder Local SERPs) fragen wir Daten bei externen Diensten und Schnittstellen ab. Diese Abfragen laufen ausschließlich **serverseitig über unseren eigenen Server auf siteway.de**: Dein Browser lädt keine fremden Skripte und baut keine direkte Verbindung zu den Anbietern auf. Dabei geben wir **keine personenbezogenen Daten weiter — insbesondere nicht Deine IP-Adresse**. An die externen Schnittstellen übermitteln wir nur die von Dir eingegebene, sachbezogene Anfrage (z. B. einen Domainnamen oder einen Suchbegriff), nicht jedoch Angaben, die Dich als Person identifizieren. Deine Eingaben speichern wir nicht dauerhaft; zum Schutz vor Missbrauch zählen wir lediglich kurzzeitig die Anzahl der Anfragen je (gehashter) IP-Adresse. Rechtsgrundlage ist unser berechtigtes Interesse am sicheren Betrieb der Tools (Art. 6 Abs. 1 lit. f DSGVO). Das Tool [Browser & System-Info](https://www.siteway.de/tools/browser-info/) funktioniert anders: Es liest die angezeigten Browser- und Systemdaten (etwa Betriebssystem, Bildschirmauflösung, Browser und aktivierte Funktionen) **ausschließlich lokal in Deinem Browser** aus — diese Werte werden nicht an uns übertragen und nicht gespeichert. Lediglich Deine **IP-Adresse** lässt sich technisch nicht im Browser ermitteln; sie wird von unserem eigenen Server zurückgegeben (den Deine Anfrage ohnehin erreicht, siehe [Hosting und Server-Log-Dateien](#hosting-und-server-log-dateien)) und Dir nur angezeigt — ohne gesonderte Speicherung und ohne Weitergabe an Dritte. ## Google Maps (im Maps-Generator) Auf der Tool-Seite [Maps-Generator](https://www.siteway.de/tools/maps-generator/) binden wir zur Vorschau eine Karte von **Google Maps** ein, einem Dienst der Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland. Diese Einbindung erfolgt erst nach Deiner ausdrücklichen Einwilligung: Solange Du nicht zustimmst, wird kein Kartenmaterial von Google geladen und keine Verbindung zu Google aufgebaut. - **Rechtsgrundlage:** Die Einbindung erfolgt auf Basis Deiner Einwilligung (Art. 6 Abs. 1 lit. a DSGVO, § 25 Abs. 1 TDDDG). - **Verarbeitete Daten:** Bei aktivierter Karte verarbeitet Google u. a. Deine IP-Adresse, Standortdaten sowie Informationen zur Nutzung der Maps-Funktionen. - **Datenübertragung:** Google verarbeitet diese Daten gegebenenfalls auch in den USA. - **Widerspruch und Unterbindung:** Deine Einwilligung gibst Du erst durch Aktivieren des Schalters „Karte laden und Datenübertragung akzeptieren". Solange Du diesen deaktiviert lässt — oder das Tool nicht nutzt — findet keine Datenerhebung und keine Datenweitergabe an Google statt. Eine bereits geladene Karte unterbindest Du jederzeit durch Neuladen der Seite ohne erneute Zustimmung. Weitere Informationen zum Umgang mit Deinen Daten findest Du in der Datenschutzerklärung von Google unter [policies.google.com/privacy](https://policies.google.com/privacy). ## Kontaktaufnahme Wenn Du uns per Kontaktformular oder E-Mail kontaktierst, werden Deine Angaben (Name, E-Mail-Adresse sowie weitere freiwillige Angaben wie Firma, Telefonnummer und Deine Nachricht) zur Bearbeitung Deiner Anfrage und für etwaige Anschlussfragen bei uns gespeichert. Die Verarbeitung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Deine Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist, im Übrigen auf Grundlage unseres berechtigten Interesses an der Beantwortung (Art. 6 Abs. 1 lit. f DSGVO) sowie Deiner Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), soweit abgefragt. Diese Daten geben wir nicht ohne Deine Einwilligung weiter. ## Bewerbungen Übersendest Du uns eine Bewerbung, verarbeiten wir die übermittelten personenbezogenen Daten ausschließlich zum Zweck des Bewerbungsverfahrens (Art. 88 DSGVO i. V. m. § 26 BDSG sowie Art. 6 Abs. 1 lit. b DSGVO). Nach Abschluss des Verfahrens werden die Daten gelöscht, sofern keine gesetzlichen Aufbewahrungsfristen entgegenstehen oder Du einer längeren Speicherung zugestimmt hast. ## Speicherdauer Soweit innerhalb dieser Erklärung keine speziellere Speicherdauer genannt wurde, verbleiben Deine personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung entfällt. Wenn Du ein berechtigtes Löschersuchen geltend machst oder eine Einwilligung widerrufst, werden Deine Daten gelöscht, sofern keine gesetzlich zulässigen Gründe für die Speicherung bestehen. Stand: Juli 2026. --- was wir bauen # expertise siteway baut Websites in Hamburg: Konzept, Webdesign, Entwicklung und Betrieb. Wir setzen TYPO3, WordPress oder Statamic auf, binden deine Systeme per REST und SOAP an und liefern versioniert über Git aus. SEO und GEO bringen dich bei Google und in KI-Antworten nach vorn. Die Technologien im Detail findest du im [Stack](https://www.siteway.de/stack/). seit 2006 hamburg cms: typo3 · wordpress · statamic build: git · ci/cd a11y: wcag 2.2 [Briefing starten](https://www.siteway.de/kontakt/) [Cases ansehen](https://www.siteway.de/cases/) leistungen · 12 ## Was wir für dich tun einzeln oder als ganzes projekt · **von skizze bis betrieb** Zwölf Leistungen, von der ersten Skizze bis zum Betrieb. Du buchst eine einzeln oder das ganze Projekt. Jede Leistung hat ein greifbares Ergebnis. svc-01konzept ### [Konzept & Strategie.](https://www.siteway.de/expertise/konzept-strategie/) Wir klären Ziele und Aufbau, bevor jemand gestaltet. Heraus kommen Sitemap, Wireframes und ein verbindlicher Scope. [Konzept & Strategie →](https://www.siteway.de/expertise/konzept-strategie/) output: scope.md svc-02ux/ui design ### [UX/UI Design.](https://www.siteway.de/expertise/ux-ui-design/) Wir gestalten UX und UI in Figma, von der User-Journey bis zum responsiven Interface. Das Designsystem übersetzen wir in maschinenlesbare Tokens, aus denen direkt Code entsteht. [UX/UI Design →](https://www.siteway.de/expertise/ux-ui-design/) output: design-system svc-03entwicklung ### [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) Wir bauen schlankes, semantisches Markup und Templates, die deine Redaktion füllt. Der Code bleibt wartbar, auch in zwei Jahren. [Entwicklung & Umsetzung →](https://www.siteway.de/expertise/entwicklung-umsetzung/) output: templates svc-04cms ### [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) TYPO3, WordPress oder Statamic, je nach Projekt. Deine Redaktion pflegt Inhalte selbst. Welches System wann passt, steht im Stack. [CMS & Redaktion →](https://www.siteway.de/expertise/cms-redaktion/) output: redaktions-zugang svc-05schnittstellen ### [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) Wir binden CRM, Warenwirtschaft, Buchung und Payment über REST und SOAP an. Daten laufen automatisch, statt von Hand kopiert zu werden. [Schnittstellen & Integration →](https://www.siteway.de/expertise/schnittstellen-integration/) output: api-anbindung svc-06seo + geo ### [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) Technisches SEO bringt dich bei Google nach vorn, GEO in die Antworten von ChatGPT, Perplexity und den Google AI Overviews. Wir bauen Inhalte, die beide als Quelle zitieren. [SEO & GEO →](https://www.siteway.de/expertise/seo-geo/) output: rankings + ai-citations svc-07performance ### [Performance & Core Web Vitals.](https://www.siteway.de/expertise/performance-core-web-vitals/) Wir bauen auf die „guten" Core Web Vitals: LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1. Gemessen mit Lighthouse, bei jedem Release. [Performance & Core Web Vitals →](https://www.siteway.de/expertise/performance-core-web-vitals/) output: lighthouse-report svc-08barrierefreiheit ### [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) Websites nach WCAG 2.2 und BFSG. Bedienbar per Tastatur und lesbar für Screenreader, geprüft mit echten Hilfsmitteln. [Barrierefreiheit →](https://www.siteway.de/expertise/barrierefreiheit/) output: wcag-prüfbericht svc-09betrieb ### [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) Nach dem Launch übernehmen wir Updates, Backups und Monitoring. Sicherheits-Patches spielen wir ein, bevor sie zum Problem werden. [Betrieb, Wartung & Support →](https://www.siteway.de/expertise/betrieb-wartung-support/) output: monitoring svc-10relaunch ### [Relaunch & Migration.](https://www.siteway.de/expertise/relaunch-migration/) Wir lösen deine bestehende Seite ab, ohne Rankings zu verlieren. Inhalte übernehmen, 301-Weiterleitungen setzen, sauber umstellen. [Relaunch & Migration →](https://www.siteway.de/expertise/relaunch-migration/) output: glory svc-11ki & automation ### [KI & Automation.](https://www.siteway.de/expertise/ki-automation/) Wir entwickeln mit KI-Tools wie GitHub Copilot, Cursor und Claude und automatisieren wiederkehrende Abläufe in Build und Redaktion. Das verkürzt Projektlaufzeiten und hält die Qualität stabil. [KI & Automation →](https://www.siteway.de/expertise/ki-automation/) output: automation svc-12strukturierte daten ### [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) Wir zeichnen deine Inhalte mit Schema.org aus: Organisation, Leistungen, FAQ und Breadcrumbs. Das bringt Rich Snippets bei Google und macht dich für KI-Antworten zitierbar. [Strukturierte Daten →](https://www.siteway.de/expertise/strukturierte-daten/) output: @graph + JSON Passende Leistung gefunden? [Briefing starten](https://www.siteway.de/kontakt/) ablauf · 7 phasen ## So läuft dein Projekt jede phase ein ergebnis · **ein scope** 1. // phase 01 · audit Audit & Ziele. Bestandsaufnahme und Ziele. Wir prüfen, was bleibt und was neu muss. output: scope.md 2. // phase 02 · konzept Konzept & Struktur. Sitemap und Wireframes. Aufbau und Inhalte stehen, bevor gestaltet wird. output: wireframes.md 3. // phase 03 · ux/ui design UX/UI Design. Wir gestalten in Figma und übersetzen das Designsystem in maschinenlesbare Tokens. Aus dem klickbaren Prototyp wird direkt Code. output: design-tokens 4. // phase 04 · build Build & CMS. Templates und CMS, dazu Schnittstellen. Alles versioniert über Git. output: staging-url 5. // phase 05 · qa QA & Tests. Performance- und A11y-Checks, Cross-Browser. Wir messen, bevor es live geht. output: lighthouse-report 6. // phase 06 · launch Go-live. Go-live mit 301-Redirects und Monitoring. Beim Relaunch bleiben die Rankings im Blick. output: live-url 7. // phase 07 · betrieb ● live Betrieb & Support. Updates und Support nach dem Launch. Wir bleiben Ansprechpartner, solange die Seite läuft. output: changelog komponenten · 24 ## Komponenten modular kombiniert · **preis nach briefing** Wir bauen modular. Du kombinierst die Komponenten, die dein Projekt braucht, vom CMS bis zum Shop. Einzeln über das Paket „Komponenten" oder als Teil einer kompletten Website. inhalte & redaktion editorial ### [Blog & Magazin.](https://www.siteway.de/expertise/blog-magazin/) Redaktionssystem für Artikel, Kategorien und Autoren. [Blog & Magazin →](https://www.siteway.de/expertise/blog-magazin/) news ### [News & Events.](https://www.siteway.de/expertise/news-events/) Meldungen und Termine in einem Bereich, automatisch als Teaser auf der Startseite. [News & Events →](https://www.siteway.de/expertise/news-events/) case-studies ### [Case Studies.](https://www.siteway.de/expertise/case-studies/) Referenzprojekte als Detailseiten, von der Ausgangslage bis zum messbaren Ergebnis. [Case Studies →](https://www.siteway.de/expertise/case-studies/) knowledge ### [Wissensdatenbank & Glossar.](https://www.siteway.de/expertise/wissensdatenbank-glossar/) Help-Center und Glossar, strukturiert für SEO und KI-Antworten. [Wissensdatenbank & Glossar →](https://www.siteway.de/expertise/wissensdatenbank-glossar/) gallery ### [Portfolio & Media Galerie.](https://www.siteway.de/expertise/portfolio-media-galerie/) Visuelle Galerien und Portfolios mit Lightbox, optimierte Bilder in AVIF und WebP. [Portfolio & Media Galerie →](https://www.siteway.de/expertise/portfolio-media-galerie/) media ### [Download- & Mediathek.](https://www.siteway.de/expertise/download-mediathek/) Datei-Bibliothek für Datenblätter und Broschüren, auf Wunsch geschützt. [Download- & Mediathek →](https://www.siteway.de/expertise/download-mediathek/) newsroom ### [Social Media Newsroom.](https://www.siteway.de/expertise/social-media-newsroom/) Beiträge aus LinkedIn, Instagram und Co. gebündelt auf der Seite, DSGVO-konform ohne Tracking-Embed. [Social Media Newsroom →](https://www.siteway.de/expertise/social-media-newsroom/) commerce & buchung e-commerce ### [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) Produktkatalog bis zur Kasse, an deine Warenwirtschaft angebunden. [Shop & E-Commerce →](https://www.siteway.de/expertise/shop-e-commerce/) digital-goods ### [Digitale Produkte, Abo & Payment.](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) Digitale Produkte, Downloads und Abos verkaufen, mit wiederkehrender Zahlung über Stripe oder PayPal. [Digitale Produkte, Abo & Payment →](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) catalog ### [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) Produkt- oder Portfolio-Katalog ohne Kasse, etwa als B2B-Showcase. [Produktkatalog →](https://www.siteway.de/expertise/produktkatalog/) configurator ### [Konfiguratoren.](https://www.siteway.de/expertise/konfiguratoren/) Produkt oder Leistung Schritt für Schritt zusammenstellen, am Ende ein Angebot. [Konfiguratoren →](https://www.siteway.de/expertise/konfiguratoren/) booking ### [Buchung & Termine.](https://www.siteway.de/expertise/buchung-termine/) Online-Terminbuchung mit Kalender und automatischer Bestätigung. [Buchung & Termine →](https://www.siteway.de/expertise/buchung-termine/) seminars ### [Veranstaltungen & Seminare.](https://www.siteway.de/expertise/veranstaltungen-seminare/) Kalender für Seminare und Veranstaltungen, mit Anmeldung und Schema.org-Event-Markup. [Veranstaltungen & Seminare →](https://www.siteway.de/expertise/veranstaltungen-seminare/) leads & marketing lead-magnet ### [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) Whitepaper oder Checkliste gegen E-Mail, mit Anbindung an dein CRM. [Lead-Magnet-Formulare →](https://www.siteway.de/expertise/lead-magnet-formulare/) forms ### [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) Mehrstufige Formulare mit Validierung und sicherem Versand. [Formularstrecken →](https://www.siteway.de/expertise/formularstrecken/) newsletter ### [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) Anmeldung mit Double-Opt-in, angebunden an Mailchimp oder CleverReach. [Newsletter & E-Mail →](https://www.siteway.de/expertise/newsletter-e-mail/) reviews ### [Bewertungen & Reviews.](https://www.siteway.de/expertise/bewertungen-reviews/) Google- und Trustpilot-Bewertungen auf der Seite, mit Schema.org-Rating für Sterne in der Suche. [Bewertungen & Reviews →](https://www.siteway.de/expertise/bewertungen-reviews/) chatbot ### [KI-Chatbots.](https://www.siteway.de/expertise/ki-chatbots/) Dialog-Assistent auf der Seite, der Fragen beantwortet und Anfragen vorqualifiziert. [KI-Chatbots →](https://www.siteway.de/expertise/ki-chatbots/) plattform & nutzer auth ### [Login & Mitgliederbereich.](https://www.siteway.de/expertise/login-mitgliederbereich/) Geschützte Bereiche mit Rollen und Rechten. [Login & Mitgliederbereich →](https://www.siteway.de/expertise/login-mitgliederbereich/) portal ### [Kundenportal & Self-Service.](https://www.siteway.de/expertise/kundenportal-self-service/) Geschützter Bereich für Dokumente, Status und Tickets, aufbauend auf dem Login. [Kundenportal & Self-Service →](https://www.siteway.de/expertise/kundenportal-self-service/) search ### [Suche.](https://www.siteway.de/expertise/suche/) Volltextsuche über die ganze Seite, ohne externes Tracking. [Suche →](https://www.siteway.de/expertise/suche/) maps ### [Karten & Standorte.](https://www.siteway.de/expertise/karten-standorte/) Standortkarten ohne Google-Tracking, DSGVO-konform. [Karten & Standorte →](https://www.siteway.de/expertise/karten-standorte/) jobs ### [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) Stellenanzeigen mit Bewerbungsformular und JobPosting-Markup. [Job- & Karriereportal →](https://www.siteway.de/expertise/job-karriereportal/) i18n ### [Mehrsprachigkeit.](https://www.siteway.de/expertise/mehrsprachigkeit/) Inhalte in mehreren Sprachen, aus einer Redaktion gepflegt. [Mehrsprachigkeit →](https://www.siteway.de/expertise/mehrsprachigkeit/) Bausteine zu deinem Projekt kombinieren? [Briefing starten](https://www.siteway.de/kontakt/) pakete · 3 ## Drei Wege zu starten preis nach briefing · **festpreis im vertrag** Den Preis nennen wir nach dem Briefing, sobald Scope und Funktionen feststehen. Dann steht er fest, im Vertrag. pkg.komponenten Komponenten Festpreis nach Briefing → einzelne bausteine · à la carte enthält - ✓Einzelne Komponenten buchbar - ✓Konzept & UX/UI je Baustein - ✓In bestehende Seite integrierbar - ✓SEO & Performance inklusive [briefing starten](https://www.siteway.de/kontakt/) pkg.website Website ★ häufig gewählt Festpreis nach Briefing → mehrseitig · mit cms enthält - ✓Konzept, UX/UI & Build - ✓CMS typo3 · wordpress · statamic - ✓Redaktion & Schulung - ✓Performance & Core Web Vitals - ✓Barrierefreiheit wcag 2.2 [→ briefing starten](https://www.siteway.de/kontakt/) pkg.plattform Plattform KVA – Abrechnung nach Fortschritt → custom · workshop zuvor enthält - ✓eigene Entwicklung php · laravel - ✓Schnittstellen crm · payment - ✓Shop, Buchung oder Login - ✓Deployment & CI/CD - ✓Betrieb & Support [briefing starten](https://www.siteway.de/kontakt/) audits · 15 ## Audits einzeln buchbar · **befund + maßnahmen** Wir prüfen deine bestehende Seite und liefern einen Befund mit konkreten Maßnahmen. Jedes Audit ist einzeln buchbar, zum Festpreis. a-01seo ### [SEO-Audit.](https://www.siteway.de/expertise/seo-audit/) Crawling, Indexierung, OnPage-Faktoren und interne Verlinkung. output: onpage-report [SEO-Audit →](https://www.siteway.de/expertise/seo-audit/) a-02geo ### [GEO-Audit.](https://www.siteway.de/expertise/geo-audit/) Wie sichtbar du in ChatGPT, Perplexity und den Google AI Overviews bist, und wie zitierfähig deine Inhalte sind. output: ai-visibility [GEO-Audit →](https://www.siteway.de/expertise/geo-audit/) a-03schema ### [Strukturierte-Daten-Audit.](https://www.siteway.de/expertise/strukturierte-daten-audit/) Schema.org-Markup und Rich-Results-Eignung, inklusive Fehlern im @graph. output: schema-report [Strukturierte-Daten-Audit →](https://www.siteway.de/expertise/strukturierte-daten-audit/) a-04backlinks ### [Backlink-Audit.](https://www.siteway.de/expertise/backlink-audit/) Linkprofil, verweisende Domains, toxische Links und Anchor-Verteilung. output: linkprofil [Backlink-Audit →](https://www.siteway.de/expertise/backlink-audit/) a-05local ### [Local-SEO-Audit.](https://www.siteway.de/expertise/local-seo-audit/) Google Business Profile und NAP-Konsistenz, dazu die Sichtbarkeit im Local Pack. output: local-report [Local-SEO-Audit →](https://www.siteway.de/expertise/local-seo-audit/) a-06reputation ### [Reputation-Audit.](https://www.siteway.de/expertise/reputation-audit/) Markenerwähnungen und Bewertungen im Netz, plus die Tonalität in Suche und KI-Antworten. output: reputation-report [Reputation-Audit →](https://www.siteway.de/expertise/reputation-audit/) a-07tech ### [Tech-Audit.](https://www.siteway.de/expertise/tech-audit/) Stack, Architektur, Code-Qualität und Deployment-Prozess. output: tech-report [Tech-Audit →](https://www.siteway.de/expertise/tech-audit/) a-08security ### [Security-Audit.](https://www.siteway.de/expertise/security-audit/) TLS-Konfiguration und Security-Header wie CSP und HSTS, dazu veraltete Abhängigkeiten und bekannte CVEs. output: security-report [Security-Audit →](https://www.siteway.de/expertise/security-audit/) a-09hosting ### [Hosting- & Infrastruktur-Audit.](https://www.siteway.de/expertise/hosting-infrastruktur-audit/) TTFB, Caching, CDN und Uptime der Umgebung unter deiner Seite. output: infra-report [Hosting- & Infrastruktur-Audit →](https://www.siteway.de/expertise/hosting-infrastruktur-audit/) a-10speed ### [Page-Speed-Audit.](https://www.siteway.de/expertise/page-speed-audit/) Core Web Vitals (LCP, INP, CLS) und Bundle-Größe, gemessen mit Lighthouse. output: lighthouse-report [Page-Speed-Audit →](https://www.siteway.de/expertise/page-speed-audit/) a-11dns ### [DNS- & E-Mail-Audit.](https://www.siteway.de/expertise/dns-e-mail-audit/) SPF, DKIM, DMARC und die DNS-Records für Zustellbarkeit und E-Mail-Sicherheit. output: dns-report [DNS- & E-Mail-Audit →](https://www.siteway.de/expertise/dns-e-mail-audit/) a-12content ### [Content-Audit.](https://www.siteway.de/expertise/content-audit/) Inhaltsinventar und thematische Lücken, dazu Duplicate Content über die ganze Seite. output: content-report [Content-Audit →](https://www.siteway.de/expertise/content-audit/) a-13conversion ### [Conversion-Audit.](https://www.siteway.de/expertise/conversion-audit/) Nutzerführung, Call-to-Actions, Formulare und Absprungpunkte im Funnel. output: funnel-report [Conversion-Audit →](https://www.siteway.de/expertise/conversion-audit/) a-14dsgvo ### [Datenschutz-Audit.](https://www.siteway.de/expertise/datenschutz-audit/) Eingebundene Dienste, Cookies und Einwilligungen, geprüft gegen DSGVO und TTDSG. output: dsgvo-befund [Datenschutz-Audit →](https://www.siteway.de/expertise/datenschutz-audit/) a-15bfsg ### [Barrierefreiheits-Audit.](https://www.siteway.de/expertise/barrierefreiheits-audit/) Tastaturbedienung, Screenreader, Kontraste und Fokus, geprüft nach WCAG 2.2 und BFSG. output: a11y-befund [Barrierefreiheits-Audit →](https://www.siteway.de/expertise/barrierefreiheits-audit/) Bestehende Seite prüfen lassen? [Audit anfragen](https://www.siteway.de/kontakt/?betreff=Audit#schreib-uns) faq ## Häufige Fragen ### Mit welchem CMS arbeitet ihr? TYPO3, WordPress und Statamic, dazu PHP und Laravel für eigene Entwicklungen. TYPO3 für komplexe Redaktionen, WordPress für Blogs und kleinere Business-Sites, Statamic für schlanke Websites mit wenig Wartung. Welches System wann passt, steht im [Stack](https://www.siteway.de/stack/). ### Arbeitet ihr auch außerhalb von Hamburg? Ja. siteway sitzt in Hamburg und betreut Projekte bundesweit, etwa in Berlin, Köln und München. Die Zusammenarbeit läuft per Videocall und über gemeinsame Tools, ein Vor-Ort-Termin in Hamburg geht auf Wunsch. ### Übernehmt ihr bestehende Websites? Ja. Wir übernehmen Seiten zur Pflege oder lösen sie im Relaunch ab. Beim Relaunch übernehmen wir die Inhalte, setzen 301-Weiterleitungen und behalten deine Rankings im Blick. ### Was kostet eine Website? Festpreis nach Briefing. Sobald Scope, Seitenzahl und Funktionen feststehen, nennen wir einen Preis und halten ihn im Vertrag fest. ### Bietet ihr strukturierte Daten und Rich Snippets? Ja. Wir zeichnen Inhalte mit Schema.org aus, etwa Organisation, Leistungen, FAQ und Breadcrumbs. Das bringt Rich Snippets bei Google und macht deine Seite für KI-Antworten zitierbar. ### Achtet ihr auf Barrierefreiheit? Ja. Wir bauen nach WCAG 2.2 und dem BFSG. Die Seiten sind per Tastatur bedienbar und für Screenreader lesbar, geprüft mit echten Hilfsmitteln. ### Wie läuft ein Projekt ab? In sieben Phasen, von Audit über UX/UI-Design in Figma und Build bis zu Go-live und Betrieb. Jede Phase hat ein greifbares Ergebnis. ### Arbeitet ihr mit KI? Ja. Wir entwickeln mit GitHub Copilot, Cursor und Claude und automatisieren wiederkehrende Abläufe in Build und Redaktion. Das verkürzt Projektlaufzeiten und hält die Qualität stabil. Bereit fürs Briefing? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · backlinks # Backlink-Audit Wir prüfen, wer dich verlinkt — und was diese Links wert sind. Das **Backlink-Audit** nimmt dein Linkprofil auseinander: verweisende Domains, Linkqualität, toxische Muster, Anchor-Verteilung und verlorene Links. Heraus kommt ein Report mit priorisierten Befunden. Eine Disavow-Empfehlung geben wir nur da, wo sie belegt ist. audit audit: einzeln buchbar dauer: 5–10 arbeitstage output: linkprofil [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Backlink-Audit? **Ein Backlink-Audit ist die systematische Prüfung aller Links, die von außen auf deine Website zeigen.** Geprüft werden verweisende Domains, Qualität und Relevanz der Links, die Verteilung der Ankertexte, verlorene oder defekte Backlinks und Spam-Muster. Ergebnis ist ein **Linkprofil**: ein Report mit priorisierten Befunden — und, wo nötig, einer Disavow-Empfehlung. Wichtig ist die Abgrenzung. Ein Backlink-Audit ist kein Linkaufbau und keine Garantie für bessere Rankings. Es ist eine Bestandsaufnahme: Du erfährst, was da draußen auf dich zeigt, was davon Wert hat, was Risiko ist und was du in welcher Reihenfolge anfassen solltest. Die Umsetzung ist ein zweiter, eigener Schritt — bei uns oder bei jemand anderem. $ cat linkprofil.md - ✓Verweisende Domains live · verloren - ✓Linkqualität & Relevanz - ✓Toxische Muster spam · netzwerke - ✓Anchor-Verteilung marke · money · generisch - ✓Links auf 404-Seiten 301-mapping - ✓Disavow-Empfehlung nur mit beleg anlass ## Wann sich das Audit lohnt erst der befund, **dann die maßnahme** Backlinks sind der Teil deiner Sichtbarkeit, den du nicht selbst in der Hand hast. Andere verlinken dich — oder eben nicht, oder aus den falschen Ecken. Genau deshalb fällt hier lange nichts auf, bis es plötzlich weh tut: Die Rankings brechen weg, die Ursache sitzt außerhalb deiner Website, und im Tool leuchtet eine Zahl, die niemand einordnen kann. Ein Audit lohnt sich nicht als Dauerbeschäftigung, sondern zu Anlässen. Vor einem [Relaunch](https://www.siteway.de/expertise/relaunch-migration/), weil du wissen musst, welche URLs Links tragen und deshalb eine 301-Weiterleitung brauchen. Nach einem Sichtbarkeitsverlust. Beim Kauf einer Domain oder eines Unternehmens. Und wenn du eine Agentur erbst, die früher „SEO-Pakete" mit Linkaufbau verkauft hat. symptome - 01Rankings weg, **Technik sauber** - 02Meldung **manuelle Maßnahme** in der Search Console - 03Plötzliche **Link-Spitzen** aus dem Nichts - 04Altlasten aus **gekauften Links** - 05Relaunch geplant, **URL-Mapping** offen prüfpunkte · 6 ## Was wir prüfen jeder prüfpunkt ein **befund** Wir ziehen deine Links aus mehreren Indizes und aus dem Linkbericht der Google Search Console — kein Anbieter kennt alle Links, deshalb kombinieren wir. Danach schauen wir uns die Daten an, statt sie nur zu exportieren. Sechs Prüfpunkte, jeder mit einem Befund, den du lesen und einordnen kannst. p-01domains ### Verweisende Domains Wie viele Domains verlinken dich wirklich, aus welchen Branchen und Ländern — und wie viele davon sind noch online. Eine Domain mit 200 Links zählt weniger als 200 Domains mit je einem. befund: domain-liste + herkunft p-02qualität ### Linkqualität & Relevanz Passt das Thema der verlinkenden Seite zu deinem? Steht der Link im Text oder im Footer? Hat die Seite überhaupt Leser? Relevanz und Platzierung sagen mehr als jeder Autoritätswert. befund: bewertung je domain p-03toxisch ### Toxische Muster Linkfarmen, Artikelverzeichnisse ohne Leser, gehackte Seiten, Footer-Netzwerke, hunderte Links aus wenigen IP-Bereichen, plötzliche Spitzen. Wir suchen Häufungen, nicht Einzelfälle. befund: risiko-cluster p-04anchor ### Anchor-Verteilung Ein natürliches Profil verlinkt überwiegend mit Marke, Domain und generischen Texten wie „hier". Ein Überhang an exakten Money-Keywords ist das deutlichste Zeichen für gekaufte Links. befund: anchor-verteilung p-05verluste ### Verlorene Links Links, die auf 404-Seiten zeigen, weil eine URL beim letzten Relaunch verschwunden ist. Der schnellste Gewinn im ganzen Audit: eine 301-Weiterleitung, und der Link zählt wieder. befund: 301-mapping-liste p-06disavow ### Disavow-Prüfung Abgleich mit dem Bericht zu manuellen Maßnahmen in der Search Console. Erst danach entscheiden wir, ob eine Disavow-Datei überhaupt sinnvoll ist — und meistens ist sie es nicht. befund: ja / nein + begründung mehrwert ## Der Toxic Score ist keine Google-Zahl tools zählen · **menschen entscheiden** Jedes Backlink-Tool wirft dir einen Toxicity- oder Spam-Score aus. Der klingt nach Urteil, ist aber eine Schätzung des Tool-Anbieters — Google kennt diese Zahl nicht und benutzt sie nicht. Wer stumpf alles über einem Schwellenwert in die Disavow-Datei schreibt, entwertet reihenweise gute Links. Google selbst schreibt, dass die allermeisten Websites das Disavow-Tool nicht brauchen und es nur bei einer manuellen Maßnahme wegen unnatürlicher Links Sinn ergibt. Deshalb lesen wir die Muster, statt einer Zahl zu folgen. t-01datenlage ### Kein Tool sieht alles Jeder Link-Index crawlt sein eigenes Netz. Wir kombinieren mehrere Quellen mit dem Linkbericht der Search Console — Googles eigener Sicht — und markieren im Report, woher ein Fund stammt. quelle je link t-02bewertung ### Muster statt Schwellenwert Ein einzelner Link von einer schwachen Domain ist normal. Vierhundert Links mit demselben Money-Keyword aus einem Netzwerk sind es nicht. Wir bewerten Cluster, nicht Einzelwerte. cluster + begründung t-03konsequenz ### Disavow ist die Ausnahme Wir schreiben eine Disavow-Datei nur mit Anlass: manuelle Maßnahme oder nachweisbar selbst gekaufte Links. Gibt es keinen Beleg, sagen wir das — und du sparst dir das Risiko. empfehlung mit beleg output ## Was du bekommst der report **gehört dir** Du bekommst das **Linkprofil**: ein Dokument mit allen Befunden, sortiert nach Dringlichkeit. Jeder Befund steht mit Beleg da — welche Domains, welche Ankertexte, welche URLs —, dazu eine Einordnung nach Aufwand und Wirkung und der konkrete nächste Schritt. Dazu eine Tabelle mit allen verweisenden Domains und ihrer Bewertung, sowie die 301-Mapping-Liste für Links, die ins Leere zeigen. Wo eine Disavow-Datei belegbar nötig ist, liefern wir sie fertig zum Hochladen in die Search Console mit — inklusive Begründung je Eintrag. Wo sie nicht nötig ist, steht das genauso im Report. Wir gehen das Ergebnis in einem Termin mit dir durch. Danach entscheidest du, was passiert. $ ls -1 report/ - ✓Befunde priorisiert - ✓Aufwand & Wirkung je Befund - ✓Domain-Tabelle bewertet - ✓301-Mapping für tote Links - ✓Disavow-Datei nur wenn nötig - ✓Ergebnistermin 60 min ablauf · 4 schritte ## So läuft das Audit vom zugang zum **linkprofil** 1. // schritt 01 · briefing Anlass klären. Kurzes Gespräch: Routine-Check, Sichtbarkeitsverlust, Relaunch oder Altlast aus früherem Linkaufbau? Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · daten Links zusammenführen. Wir ziehen die Backlinks aus mehreren Indizes und aus deiner Search Console, entdoppeln sie und prüfen, welche Links überhaupt noch live sind. output: rohdaten · entdoppelt 3. // schritt 03 · bewertung Muster bewerten. Cluster bilden, Stichproben von Hand ansehen, Anchor-Verteilung rechnen, tote Links auf Zielseiten mappen. Hier entsteht die Priorisierung. output: befunde + priorität 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Du bekommst das Linkprofil, wir gehen es gemeinsam durch. Umsetzung optional — der Report funktioniert auch ohne uns. output: linkprofil faq ## Häufige Fragen ### Was ist ein Backlink-Audit? Ein Backlink-Audit ist die systematische Prüfung aller Links, die von außen auf deine Website zeigen. Geprüft werden verweisende Domains, die Qualität und Relevanz der Links, die Verteilung der Ankertexte, verlorene oder defekte Backlinks und Spam-Muster. Ergebnis ist ein Linkprofil: ein Report mit priorisierten Befunden und konkreten nächsten Schritten — nicht nur eine Liste von Zahlen. ### Woran erkennt man toxische Backlinks? An Mustern, nicht an einer einzelnen Zahl. Typisch sind Links aus Linkfarmen und Artikelverzeichnissen ohne Leser, Footer- oder Sidebar-Links über ganze Netzwerke hinweg, gehackte Seiten, thematisch völlig fremde Domains, hunderte Links von wenigen IP-Bereichen und plötzliche Link-Spitzen mit exakten Money-Keyword-Ankertexten. Einzelne dieser Signale sind harmlos — die Häufung ist das Problem. ### Brauchen wir eine Disavow-Datei? Meistens nicht. Google schreibt selbst, dass die allermeisten Websites das Disavow-Tool nicht brauchen, weil Spam-Links ohnehin ignoriert werden. siteway empfiehlt eine Disavow-Datei nur mit Beleg: bei einer manuellen Maßnahme wegen unnatürlicher Links in der Search Console oder wenn in der Vergangenheit selbst Links gekauft oder getauscht wurden. Sonst raten wir aktiv davon ab — eine falsch gepflegte Disavow-Datei entwertet gute Links. ### Welche Daten braucht ihr von uns? Lesenden Zugriff auf die Google Search Console — dort steht Googles eigene Sicht auf deine Links und der Bericht zu manuellen Maßnahmen. Die Backlink-Daten selbst ziehen wir zusätzlich aus mehreren Link-Indizes, weil kein Anbieter alle Links kennt. Mehr brauchen wir nicht: kein CMS-Zugang, keine Serverdaten. ### Baut ihr auch Backlinks auf? Nein. Das Audit ist eine Diagnose, kein Linkaufbau-Paket. siteway kauft, tauscht und mietet keine Links — genau die Muster, die wir im Audit als Risiko markieren, wollen wir nicht selbst erzeugen. Was wir zeigen: welche Inhalte bei dir tatsächlich verlinkt werden und wo verlorene Links wieder Wert bringen. ### Was kostet das Audit? Festpreis nach Briefing. Sobald Domain, Größe des Linkprofils und Anlass feststehen — Routine-Check oder akuter Sichtbarkeitsverlust — nennen wir einen Preis und halten ihn fest. Keine Stundenabrechnung, kein offener Rahmen. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Das Backlink-Audit ist einzeln buchbar, und du kannst die Befunde intern abarbeiten oder an eine andere Agentur geben. Wenn du willst, setzen wir die Maßnahmen um — als [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) oder im Rahmen von [Betrieb & Wartung](https://www.siteway.de/expertise/betrieb-wartung-support/). Ein Zwang ist es nicht. passt dazu ## Passt dazu audits & **umsetzung** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Das Audit liefert den Befund — diese Leistung arbeitet ihn ab: Inhalte, Technik und Sichtbarkeit in Suche und KI-Antworten. weiterlesen → - [SEO-Audit.](https://www.siteway.de/expertise/seo-audit/) — Der Blick nach innen: Rankings, Inhalte, Struktur und Technik der eigenen Seite — die Ergänzung zum Blick auf die Links von außen. weiterlesen → - [PageRank-Check.](https://www.siteway.de/tools/page-rank-check/) — Ein erster Blick auf die Autorität einer Domain — kostenlos, ohne Anmeldung. Ersetzt kein Audit, aber ein guter Anfang. zum tool → Linkprofil auf den Tisch legen? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-08 · barrierefreiheit # Barrierefreiheit Eine **barrierefreie Website** heißt bei siteway: bedienbar per Tastatur, lesbar für Screenreader, Kontraste nach WCAG 2.2 — und konform mit dem BFSG, das seit dem 28. Juni 2025 gilt. Geprüft wird mit [echten Hilfsmitteln](#pruefung), nicht nur mit Tools. Heraus kommt ein [WCAG-Prüfbericht](#ablauf), den du vorzeigen kannst. svc-08 einzeln buchbar standard: wcag 2.2 aa · bfsg output: wcag-prüfbericht [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist eine barrierefreie Website? **Eine barrierefreie Website können alle Menschen nutzen — unabhängig von Sehvermögen, Gehör, Motorik oder Hilfsmitteln wie Screenreadern.** Der Maßstab dafür sind die Web Content Accessibility Guidelines (WCAG) 2.2 in der Konformitätsstufe AA. Seit dem 28. Juni 2025 verlangt das Barrierefreiheitsstärkungsgesetz (BFSG) genau das von vielen Unternehmen auch rechtlich. In der Praxis heißt das: Jede Funktion geht ohne Maus. Bilder haben Alternativtexte, Videos Untertitel. Kontraste liegen bei mindestens 4,5:1, die Seite verträgt 200 % Zoom ohne Funktionsverlust. Und die Struktur ist so sauber, dass ein Screenreader sie versteht — dieselbe Struktur, von der auch [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) profitieren. $ cat barrierefreiheit.md - ✓Semantisches HTML & ARIA - ✓Tastaturbedienung & Fokus - ✓Kontraste min. 4,5:1 - ✓Alt-Texte, Untertitel, Formulare - ✓Screenreader-Tests nvda · voiceover - ✓Nachweis wcag-prüfbericht gesetz ## BFSG: Pflicht seit dem 28. Juni 2025 keine übergangsfrist mehr · **das gesetz gilt** Das **Barrierefreiheitsstärkungsgesetz (BFSG)** setzt die EU-Richtlinie 2019/882 — den European Accessibility Act — in deutsches Recht um. Es gilt seit dem 28. Juni 2025 und verpflichtet Unternehmen, die Produkte oder Dienstleistungen für Verbraucher digital anbieten: Online-Shops, Buchungsstrecken, Kontakt- und Bestellformulare — kurz: elektronischer Geschäftsverkehr. Ausgenommen sind nur Kleinstunternehmen mit weniger als zehn Beschäftigten und höchstens 2 Mio. € Jahresumsatz. Verstöße sind kein Kavaliersdelikt: Die Marktüberwachungsbehörden der Länder können Bußgelder bis 100.000 € verhängen, Mitbewerber können abmahnen. Aber die Pflicht ist nur die halbe Rechnung — barrierefreie Seiten sind für alle besser bedienbar, erreichen mehr Menschen und bringen die saubere Struktur gleich mit, die Google und KI-Systeme belohnen. Wir bauen sie deshalb nicht als Pflichtübung, sondern als Qualitätsmerkmal. bfsg in fakten - 01In Kraft seit **28.06.2025** - 02Setzt **EU-Richtlinie 2019/882** um - 03Gilt für **E-Commerce & Buchung** im B2C - 04Ausnahme: Kleinstunternehmen <10 MA · ≤2 mio € - 05Bußgelder bis **100.000 €** quellen: bundesfachstelle-barrierefreiheit.de · bfsg wcag 2.2 · pour ## Vier Prinzipien, ein Standard wahrnehmbar · bedienbar · verständlich · **robust** Die WCAG 2.2 ordnen alle Anforderungen vier Prinzipien zu — im Standard „POUR" genannt. Wer sie kennt, versteht jede einzelne Maßnahme. Wir prüfen und bauen entlang genau dieser vier Achsen, auf Konformitätsstufe AA. p-01perceivable ### Wahrnehmbar Inhalte müssen für alle Sinne zugänglich sein: Alternativtexte für Bilder, Untertitel für Videos, Kontraste von mindestens 4,5:1 für Text — und nichts, das nur über Farbe kommuniziert. alt-texte + kontraste p-02operable ### Bedienbar Jede Funktion geht ohne Maus: vollständige Tastaturbedienung, sichtbarer Fokus in logischer Reihenfolge, Skip-Links, ausreichend große Klickziele — und keine Zeitlimits, die Nutzer aussperren. tastatur + fokus p-03understandable ### Verständlich Klare Sprache, konsistente Navigation, Formulare mit Labels und Fehlermeldungen, die sagen, was zu tun ist. Niemand soll raten müssen, was ein Feld erwartet oder warum ein Absenden scheitert. sprache + formulare p-04robust ### Robust Sauberes, valides Markup, das Browser und Hilfsmittel zuverlässig interpretieren: semantische HTML-Elemente, korrekte Landmarks, ARIA nur dort, wo HTML allein nicht reicht. html + aria leistung · 6 bausteine ## Was Barrierefreiheit bei siteway umfasst vom audit bis zum **prüfbericht** Sechs Bausteine, ein Ergebnis: eine Website, die WCAG 2.2 AA erfüllt und das BFSG einhält — nachgewiesen im Prüfbericht statt behauptet im Angebot. Ob Neubau oder Nachrüstung einer bestehenden Seite: Die Bausteine sind dieselben, nur der Startpunkt unterscheidet sich. b-01audit ### Barrierefreiheits-Audit Bestandsaufnahme nach WCAG 2.2: Tastatur, Screenreader, Kontraste, Fokus. Jeder Befund mit Fundstelle und Schweregrad — auch [einzeln buchbar als Audit a-15](https://www.siteway.de/expertise/#barrierefreiheits-audit). output: a11y-befund b-02struktur ### Semantisches HTML & ARIA Überschriften-Hierarchie, Landmarks, native Elemente statt Div-Suppe. ARIA setzen wir gezielt ein — nur dort, wo HTML allein nicht reicht, denn falsches ARIA ist schlimmer als keins. output: markup b-03bedienung ### Tastatur & Fokus Jede Funktion ohne Maus erreichbar: logische Tab-Reihenfolge, sichtbarer Fokusring, Skip-Links, bedienbare Menüs und Dialoge. Wer nur die Tastatur hat, kommt überall hin. output: fokus-pfade b-04design ### Kontraste & Typografie Kontrastverhältnisse von mindestens 4,5:1 für Text, skalierbare Schriften, Zoom bis 200 % ohne Funktionsverlust. Das fließt direkt in die Design-Tokens — nicht als Korrektur hinterher. output: kontrast-report b-05inhalte ### Medien & Formulare Alternativtexte für Bilder, Untertitel für Videos, Formulare mit Labels, klaren Fehlermeldungen und ohne Zeitdruck. Die Stellen, an denen die meisten Anfragen verloren gehen. output: alt-texte + labels b-06nachweis ### Prüfung & WCAG-Prüfbericht Manuelle Tests mit Screenreader und Tastatur plus automatisierte Checks. Am Ende steht ein Prüfbericht mit allen Kriterien, Ergebnissen und Restpunkten — dein Nachweis gegenüber Behörden und Kunden. output: wcag-prüfbericht prüfung ## Geprüft mit echten Hilfsmitteln tools finden fehler · **menschen finden barrieren** Automatische Tools wie axe oder Lighthouse finden nur einen Teil der Barrieren — fehlende Alt-Texte ja, eine unverständliche Fokus-Reihenfolge nein. Ob eine Seite wirklich benutzbar ist, zeigt sich erst mit den Hilfsmitteln, die Betroffene tatsächlich verwenden. Deshalb prüfen wir vierfach: t-01screenreader ### Screenreader-Tests Wir hören die Seite mit NVDA und VoiceOver: Werden Überschriften, Links und Formularfelder korrekt angesagt? Ergibt die Lesereihenfolge Sinn? Was ein Screenreader falsch vorliest, ist für blinde Nutzer unsichtbar. nvda · voiceover t-02tastatur ### Tastatur-Durchlauf Maus abgesteckt, einmal komplett durch die Seite: Navigation, Formulare, Dialoge, Suche. Jeder Punkt, an dem der Fokus hängen bleibt oder verschwindet, kommt als Befund in den Bericht. tab · enter · esc t-03sehen ### Zoom & Kontrast 200 % Zoom ohne horizontales Scrollen, Kontrast-Messung gegen die 4,5:1-Schwelle, Check auf reine Farb-Kommunikation. Getestet in beiden Farbschemata — hell und dunkel. zoom 200% · 4,5:1 t-04automatisiert ### Automatisierte Checks axe und Lighthouse laufen zusätzlich — als Regressionsschutz in der CI/CD-Pipeline. So bleibt barrierefrei, was einmal barrierefrei war, auch nach dem nächsten Feature. axe · lighthouse · ci ablauf · 5 schritte ## So wird deine Website barrierefrei jeder schritt ein ergebnis · **ein prüfbericht am ende** 1. // schritt 01 · audit Audit & Befund. Wir prüfen die Seite nach WCAG 2.2 — mit Tastatur, Screenreader und Kontrast-Messung. Jede Barriere mit Fundstelle, Kriterium und Schweregrad. output: a11y-befund 2. // schritt 02 · plan Priorisierung. Blocker zuerst: Was Nutzer komplett aussperrt, kommt vor Schönheitsfehlern. Du bekommst einen Maßnahmenplan mit Aufwänden — und einen Festpreis für die Umsetzung. output: maßnahmenplan 3. // schritt 03 · umsetzung Umsetzung im Code. Markup, Fokus-Führung, Kontraste, Alt-Texte, Formulare — direkt in den Templates deines CMS, ob TYPO3, WordPress oder Statamic. Kein Overlay, keine Symptombehandlung. output: fixes 4. // schritt 04 · test Prüfung mit Hilfsmitteln. Kompletter Durchlauf mit Screenreader, Tastatur und Zoom — plus automatisierte Checks als Regressionsschutz für die Zukunft. output: testprotokoll 5. // schritt 05 · nachweis ● ergebnis Prüfbericht & Erklärung. Du bekommst den WCAG-Prüfbericht mit allen Kriterien und Ergebnissen — auf Wunsch inklusive Barrierefreiheitserklärung und Feedback-Mechanismus für deine Website. output: wcag-prüfbericht faq ## Häufige Fragen ### Was ist eine barrierefreie Website? Eine barrierefreie Website können alle Menschen nutzen — unabhängig von Sehvermögen, Gehör, Motorik oder Hilfsmitteln wie Screenreadern. Der Maßstab dafür sind die Web Content Accessibility Guidelines (WCAG) 2.2 in der Konformitätsstufe AA: bedienbar per Tastatur, ausreichende Kontraste, Alternativtexte und eine Struktur, die Vorlese-Software versteht. ### Für wen ist eine barrierefreie Website Pflicht? Seit dem 28. Juni 2025 verpflichtet das Barrierefreiheitsstärkungsgesetz (BFSG) Unternehmen, die Produkte oder Dienstleistungen für Verbraucher digital anbieten — vor allem Online-Shops und Websites mit elektronischem Geschäftsverkehr wie Buchung, Bestellung oder Vertragsabschluss. Ausgenommen sind Kleinstunternehmen mit weniger als zehn Beschäftigten und höchstens 2 Millionen Euro Jahresumsatz. Öffentliche Stellen sind über BITV und EU-Recht schon länger verpflichtet. ### Was droht bei Verstößen gegen das BFSG? Die Marktüberwachungsbehörden der Länder kontrollieren die Einhaltung und können Bußgelder bis 100.000 Euro verhängen. Dazu kommen Abmahnungen durch Mitbewerber und Verbände — und im Ernstfall die Anordnung, das Angebot einzustellen, bis es barrierefrei ist. ### Was bedeutet WCAG 2.2 Konformitätsstufe AA? Die WCAG 2.2 sind der internationale Standard für barrierefreie Webinhalte, veröffentlicht vom W3C. Sie kennen drei Stufen: A (Minimum), AA (Standard) und AAA (erweitert). Stufe AA ist der übliche rechtliche Maßstab — sie verlangt unter anderem Kontrastverhältnisse von mindestens 4,5:1 für Text, vollständige Tastaturbedienung und sichtbaren Fokus. Auch die EN 301 549, auf die sich das BFSG stützt, baut auf den WCAG auf. ### Reicht ein Accessibility-Overlay oder Plugin? Nein. Overlays legen eine Werkzeugleiste über die Seite, beheben aber die Barrieren im Code nicht: fehlende Alternativtexte, kaputte Tastaturnavigation oder unverständliche Formulare bleiben bestehen. Barrierefreiheit entsteht im Markup, nicht in einem nachgeladenen Skript. Deshalb bauen wir sie direkt in Struktur, Design und Templates ein. ### Können wir unsere bestehende Website barrierefrei machen? Ja, in den meisten Fällen. Am Anfang steht ein Barrierefreiheits-Audit: Wir prüfen die Seite nach WCAG 2.2 mit Tastatur, Screenreader und Kontrast-Checks und priorisieren die Befunde nach Schwere. Danach entscheidest du, ob wir nachbessern oder ob sich — bei sehr altem Unterbau — ein Relaunch mehr lohnt. ### Was kostet eine barrierefreie Website? Festpreis nach Briefing. Der Aufwand hängt davon ab, ob Barrierefreiheit von Anfang an mitgebaut wird — dann kostet sie kaum extra — oder ob eine bestehende Seite nachgerüstet wird. Das Audit ist einzeln buchbar und liefert die Grundlage für ein verbindliches Angebot. verwandte leistungen ## Was auf Barrierefreiheit einzahlt alle leistungen im **überblick** - [UX/UI Design.](https://www.siteway.de/expertise/ux-ui-design/) — Kontraste, Fokus-Zustände und Schriftgrößen entstehen im Design — nicht als Korrektur danach. weiterlesen → - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Semantisches Markup ist das Fundament jeder barrierefreien Website — wir bauen es von Anfang an so. weiterlesen → - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Barrierefrei bleiben: automatisierte Checks und Reviews sichern den Stand auch nach Updates und neuen Inhalten. weiterlesen → Website barrierefrei machen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · bfsg # Barrierefreiheits-Audit Du willst **deine Website auf Barrierefreiheit prüfen** — und ein grünes Scanner-Ergebnis beruhigt dich nicht? Zu Recht. siteway testet Tastaturbedienung, Screenreader, Kontraste und Fokus nach WCAG 2.2 und BFSG — mit echten Hilfsmitteln, nicht nur mit einem Tool. Heraus kommt ein Report, der sagt, was zuerst zu tun ist. audit audit: einzeln buchbar prüfung: wcag 2.2 aa · bfsg dauer: 5–10 werktage output: a11y-befund [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Barrierefreiheits-Audit? **Ein Barrierefreiheits-Audit ist die Prüfung einer bestehenden Website auf digitale Barrieren — nach WCAG 2.2 und den Anforderungen des BFSG.** Geprüft werden Tastaturbedienung, Screenreader-Ausgabe, Kontraste, Fokus, Formulare, Zoom und Medien. Nicht auf Verdacht, sondern Kriterium für Kriterium. Der Unterschied zu einem kostenlosen Accessibility-Check: Ein Tool zeigt dir eine Liste mit Fehlern und eine Punktzahl. Wir sagen dir, welche Barriere wen ausschließt, wie schwer sie wiegt und in welcher Reihenfolge du sie abarbeitest. Heraus kommt der **a11y-befund** — priorisierte Befunde mit Aufwand und Wirkung. Wer ihn umsetzt, entscheidest du. $ cat a11y-befund.md - ✓Befunde je WCAG-Kriterium 2.2 level aa - ✓Tastatur-Durchlauf jeder prozess - ✓Screenreader-Protokoll nvda · voiceover - ✓Kontrastwerte gemessen, nicht geschätzt - ✓Screenshot + Code-Stelle je Barriere - ✓Befunde nach wirkung / aufwand anlass ## Wann sich das Audit lohnt erst prüfen, **dann bauen** Der teuerste Weg zu einer barrierefreien Website ist Raten. Ein Overlay-Widget einbauen, ein paar Alternativtexte nachtragen, die Schrift vergrößern — und danach ist die Seite für einen Screenreader genauso unbedienbar wie vorher, nur das Budget ist weg. Das Audit dreht die Reihenfolge um: erst wissen, welche Barrieren existieren, dann Geld ausgeben. Typischer Anlass ist eine Frage, die niemand belegen kann. Seit dem 28. Juni 2025 gilt das BFSG, die Geschäftsführung fragt „sind wir konform?", die Agentur sagt „unser Tool zeigt 98 von 100" — und niemand hat je versucht, das Kontaktformular mit der Tastatur auszufüllen. Genau hier liefert das Audit die Belege, mit denen die Diskussion endet. Was danach umgesetzt werden muss, steht bei der Leistung [Barrierefreiheit](https://www.siteway.de/expertise/barrierefreiheit/). symptome - 01Das **BFSG** gilt für euch — und keiner weiß, wo ihr steht - 02Beschwerde oder **Abmahnung** liegt auf dem Tisch - 03Der Scanner meldet **grün**, das Bauchgefühl nicht - 04Ausschreibung verlangt **WCAG 2.2 AA** - 05Vor dem **Relaunch**: erben wir die Fehler nochmal? - 06Ein **Overlay-Widget** soll das Problem lösen prüfung · 6 felder ## Was wir prüfen jedes feld ein **befund** Sechs Felder, in denen Barrierefreiheit entschieden wird. Jedes prüfen wir am Gerät: Tastatur in der Hand, Screenreader an, Kontrastmesser offen, Browser auf 200 % gezoomt. Ein Scanner läuft vorher — er liefert die Breite, nicht das Urteil. p-01tastatur ### Tastaturbedienung Die ganze Seite ohne Maus: Tab, Enter, Escape, Pfeiltasten. Menüs, Dialoge, Slider, Cookie-Banner. Häufigster Befund sind Tastaturfallen — ein Overlay öffnet sich, und der Fokus kommt nicht mehr heraus. befund: durchlauf je prozess p-02screenreader ### Screenreader-Test Durchlauf mit NVDA unter Windows und VoiceOver unter macOS. Wir hören zu: Überschriften-Hierarchie, Landmarks, Alternativtexte, Tabellen, ARIA-Rollen, Live-Regionen. Vieles wird vorgelesen — die Frage ist, ob es auch verständlich ist. befund: ausgabe-protokoll p-03kontrast ### Kontraste & Farbe Gemessene Werte gegen die WCAG-Schwellen: 4,5:1 für Text, 3:1 für große Schrift, Bedienelemente und Grafiken. Inklusive der Zustände, die jeder vergisst — Hover, Fokus, Disabled, Platzhaltertext, Text auf Bild. befund: messwerte je element p-04fokus ### Fokus & Reihenfolge Ist der Fokus sichtbar oder wegdesignt? Verdeckt ihn der Sticky-Header? Folgt die Tab-Reihenfolge der Leserichtung, springt der Fokus beim Öffnen eines Dialogs hinein und danach zurück? WCAG 2.2 hat hier neue Kriterien. befund: fokus-pfad + lücken p-05formulare ### Formulare & Fehler Labels, Pflichtfelder, Autocomplete, Fehlertexte. Die harte Frage: Kommt ein Fehler auch an, wenn du das rote Rähmchen nicht siehst? Formulare sind die Stelle, an der ein Kontakt, eine Buchung oder ein Kauf scheitert. befund: feld für feld p-06zoom · medien ### Zoom, Bewegung & Medien 200 % Zoom und 400 % Vergrößerung: Bleibt alles lesbar und bedienbar, ohne horizontal zu scrollen? Dazu Autoplay und Animationen, Untertitel und Transkripte bei Video und Audio. befund: reflow + medien-check mehrwert ## Was der Scanner nicht sieht tools zählen, **menschen urteilen** Wer „Barrierefreiheit prüfen" sucht, findet ein Dutzend kostenloser Checker. Sie liefern alle dasselbe: eine Fehlerliste und eine Punktzahl. Die Liste stimmt sogar — sie ist nur unvollständig, und sie sagt dir nicht, womit du anfangen sollst. Wie groß der maschinell messbare Teil ist, zeigt die **WebAIM Million 2026**, eine automatisierte Auswertung von einer Million Startseiten: Auf **95,9 %** der Seiten fanden die Tools WCAG-Verstöße, im Schnitt 56,1 pro Seite. Sechs Fehlertypen machen dabei rund 96 % aller gefundenen Fehler aus — sie stehen rechts. Und genau das ist der Punkt: Das sind die Fehler, die eine Maschine erkennen kann. Ob der Alternativtext das Bild beschreibt, ob die Tab-Reihenfolge der Leserichtung folgt, ob eine Fehlermeldung im Screenreader ankommt, ob ein Dialog den Fokus wieder freigibt — das prüft kein Tool. Deshalb läuft der Scanner bei uns zuerst, und danach fängt die Arbeit an. häufigste fehler▸ webaim 2026 output ## Was du bekommst der report **gehört dir** Ein Dokument, das eine fremde Entwicklungsabteilung ohne Rückfragen abarbeiten kann. Kein Score, keine Ampel ohne Erklärung — sondern je Barriere: Was ist kaputt, wen schließt es aus, welches WCAG-Kriterium ist verletzt, wo im Code steht es, was ist zu tun. Dazu ein Termin, in dem wir den a11y-befund durchgehen. r-01befunde ### Priorisierte Befunde Jede Barriere mit Screenshot, Code-Stelle und dem verletzten WCAG-Kriterium — sortiert danach, wie viele Menschen sie ausschließt. Oben steht der Blocker, nicht der Schönheitsfehler. liste, nach wirkung sortiert r-02bewertung ### Aufwand & Wirkung Zu jeder Maßnahme eine ehrliche Schätzung: eine Stunde CSS oder zwei Wochen Umbau der Komponente. Viele Barrieren stecken in einer Vorlage — eine Korrektur, hundert Seiten repariert. schätzung je maßnahme r-03nächste schritte ### Nächste Schritte To-dos mit Adressat: Was Design ist, was Entwicklung, was die Redaktion selbst erledigt — etwa Alternativtexte und Linktexte. Formuliert so, dass du den Punkt einfach weiterleiten kannst. to-dos je adressat ablauf · 4 schritte ## So läuft das Audit 5–10 werktage bis zum **befund** 1. // schritt 01 · briefing Umfang klären. Welche Seitentypen, welche Prozesse — Formular, Suche, Login, Kauf. Wir wählen eine repräsentative Auswahl statt jeder Unterseite. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · scan Automatisch scannen. Der Scanner läuft über alle ausgewählten Seiten und liefert die Breite: Kontraste, fehlende Labels, fehlende Alternativtexte, Sprachauszeichnung. Das ist die Grundlage, nicht das Ergebnis. output: rohbefunde 3. // schritt 03 · handprüfung Mit Hilfsmitteln prüfen. Tastatur-Durchlauf durch jeden Prozess, Screenreader-Durchlauf mit NVDA und VoiceOver, 200-%-Zoom, Fokus-Pfad. Hier fällt auf, was kein Tool findet — und hier entstehen die Befunde, die zählen. output: befunde je kriterium 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Der a11y-befund kommt als Dokument, priorisiert und mit Adressat je To-do. Wir gehen ihn in einem Termin mit dir durch — und sagen ehrlich, was Pflicht ist und was warten kann. output: a11y-befund faq ## Häufige Fragen ### Was ist ein Barrierefreiheits-Audit? Ein Barrierefreiheits-Audit ist die Prüfung einer bestehenden Website auf digitale Barrieren — nach WCAG 2.2 und den Anforderungen des BFSG. Geprüft werden Tastaturbedienung, Screenreader-Ausgabe, Kontraste, Fokus, Formulare, Zoom und Medien. Ergebnis ist kein Score, sondern ein Report mit priorisierten Befunden: welche Barriere wen ausschließt, wie schwer sie wiegt, was sie kostet und in welcher Reihenfolge sie zu beheben ist. ### Reicht ein kostenloser Accessibility-Scanner nicht aus? Ein Scanner findet nur, was sich automatisch messen lässt: fehlende Alternativtexte, zu schwache Kontraste, fehlende Labels, fehlende Sprachauszeichnung. Ob der Alternativtext das Bild beschreibt, ob die Tab-Reihenfolge der Leserichtung folgt, ob ein Screenreader die Fehlermeldung im Formular überhaupt vorliest — das entscheidet kein Tool, das entscheidet ein Mensch am Gerät. Deshalb ist der Scanner bei siteway der erste Schritt und nicht der letzte. ### Nach welchem Standard prüft ihr — WCAG 2.2 oder BFSG? Nach beidem, denn es ist dieselbe Kette. Das BFSG verlangt Barrierefreiheit, die europäische Norm EN 301 549 füllt die Anforderung technisch, und deren Grundlage sind die WCAG. Wir prüfen die Erfolgskriterien der WCAG 2.2 auf Level AA und ordnen jeden Befund der BFSG-Anforderung zu, damit klar ist, was Pflicht ist und was Kür. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Seitentypen und Prozesse geprüft werden — Startseite, Formular, Suche, Checkout, Login —, nennen wir einen Preis und halten ihn fest. Keine Tagessätze, keine offene Rechnung am Ende. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der a11y-befund gehört dir. Du kannst ihn deiner internen Entwicklung geben, an deine bestehende Agentur weiterreichen oder selbst abarbeiten — er ist so geschrieben, dass ein fremdes Team ohne Rückfragen damit arbeiten kann. Wenn du willst, übernimmt siteway die Umsetzung über die Leistung [Barrierefreiheit](https://www.siteway.de/expertise/barrierefreiheit/). Das ist eine eigene Entscheidung nach dem Report. ### Ist das Audit ein BITV-Test oder eine Zertifizierung? Nein. siteway ist keine akkreditierte Prüfstelle und stellt kein Zertifikat und kein Testat aus. Wir prüfen nach denselben Kriterien und dokumentieren jeden Befund nachvollziehbar — aber wenn du ein formales Prüfsiegel brauchst, ist eine offizielle Prüfstelle die richtige Adresse. Und: Das Audit ist keine Rechtsberatung. Ob dein Unternehmen unter das BFSG fällt und welche Ausnahme greift, beantwortet ein Anwalt, nicht eine Web-Agentur. ### Wie lange dauert das Audit und prüft ihr jede einzelne Seite? Fünf bis zehn Werktage, je nach Umfang. Geprüft wird nicht jede Unterseite, sondern eine repräsentative Auswahl: jeder Seitentyp einmal plus die Prozesse, an denen es ernst wird — Formular, Suche, Login, Kauf. Barrieren stecken fast immer in Vorlagen und Komponenten, nicht in einzelnen Seiten. Wer die Vorlage repariert, repariert alle Seiten, die darauf beruhen. passt dazu ## Passt dazu audits & **umsetzung** - [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) — Wenn der Befund steht und jemand ihn abarbeiten soll: Hier bauen wir die Barrieren weg — bis WCAG 2.2 AA und BFSG erfüllt sind. weiterlesen → - [Tech-Audit.](https://www.siteway.de/expertise/tech-audit/) — Die Etage darunter: Code, Semantik, Struktur und Technik der Seite. Vieles, was Screenreader stört, ist ein Struktur-Problem. weiterlesen → - [UX/UI-Design.](https://www.siteway.de/expertise/ux-ui-design/) — Kontrast, Fokus-Zustände und Formular-Layout entstehen im Design. Wer sie dort richtig macht, spart sich die Hälfte der Befunde. weiterlesen → Wissen, wo eure Barrieren wirklich stecken? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-09 · betrieb # Betrieb, Wartung & Support **Website-Wartung** heißt bei siteway: Nach dem Launch übernehmen wir Updates, Backups und Monitoring — und spielen Sicherheits-Patches ein, bevor sie zum Problem werden. Für [TYPO3, WordPress und Statamic](https://www.siteway.de/stack/), mit einem festen Ansprechpartner, der deine Website kennt. svc-09 laufend · monatliche pauschale cms: typo3 · wordpress · statamic output: monitoring [Wartung anfragen](https://www.siteway.de/kontakt/) [Leistungsumfang ansehen](#leistung) definition ## Was ist Website-Wartung? **Website-Wartung ist die laufende technische Betreuung einer Website nach dem Launch: Updates, Backups, Monitoring und Sicherheits-Patches in festen Zyklen.** Sie hält CMS, Erweiterungen und Server-Umgebung aktuell, sichert Daten täglich und überwacht, ob die Seite erreichbar und schnell ist. Der Unterschied zum „einmal im Jahr jemanden draufschauen lassen": Wartung ist proaktiv. Sicherheitslücken werden geschlossen, bevor jemand sie ausnutzt. Ausfälle meldet das Monitoring, bevor deine Kunden sie bemerken. Und wenn doch etwas passiert, gibt es ein Backup von gestern — nicht von letztem Sommer. $ cat wartung.md - ✓CMS- & Extension-Updates - ✓Sicherheits-Patches zeitnah - ✓Backups täglich & Restore - ✓Uptime- & Performance-Monitoring - ✓Support & kleine Änderungen - ✓Wartungsbericht report.md warum ## Ungewartet wird eine Website zum Risiko vorbeugen ist billiger als **retten** Eine Website ist am Launch-Tag auf dem neuesten Stand — und beginnt ab dem ersten Tag zu altern. CMS-Versionen laufen aus, Erweiterungen bekommen Sicherheitslücken, PHP-Versionen werden abgekündigt. Veraltete Systeme sind das häufigste Einfallstor für automatisierte Angriffe: Die Bots suchen nicht dich, sie suchen ungepatchte Installationen. Das Tückische: Ohne Monitoring merkst du Probleme erst, wenn Anfragen ausbleiben, Google eine Warnung anzeigt oder das Kontaktformular seit Wochen ins Leere läuft. Laufende **Website-Wartung** dreht das um — Probleme werden behoben, bevor sie Besucher, Rankings oder Umsatz kosten. was wartung abfängt - 01**Sicherheitslücke** → gepatcht, bevor sie ausgenutzt wird - 02**Ausfall** → Monitoring meldet ihn, bevor Kunden es tun - 03**Datenverlust** → tägliches Backup, geprüfter Restore - 04**Update-Bruch** → Staging-Test & Rollback per Git leistung · 6 bausteine ## Was Betrieb, Wartung & Support umfasst von update bis **report** Sechs Bausteine, ein Ziel: Deine Website bleibt stabil, sicher und schnell — ohne dass du dich darum kümmern musst. Jeder Baustein hat ein greifbares Ergebnis. b-01updates ### CMS- & Extension-Updates Core, Erweiterungen und PHP-Umgebung in festen Zyklen aktuell halten — getestet, dokumentiert und versioniert per Git. output: changelog b-02sicherheit ### Sicherheits-Patches & Scans Wir beobachten die Security-Advisories deiner Systeme und spielen Patches zeitnah ein. Scans prüfen die Installation auf Auffälligkeiten. output: security-log b-03backups ### Backups & Restore Tägliche Sicherungen von Dateien und Datenbank. Und weil ein Backup nur so gut ist wie seine Wiederherstellung, prüfen wir auch die. output: backup · täglich b-04monitoring ### Uptime- & Performance-Monitoring Erreichbarkeit, Ladezeiten und Kernfunktionen im Blick — rund um die Uhr. Wird ein Schwellwert gerissen, reagieren wir, nicht du. output: monitoring b-05support ### Support & kleine Änderungen Ein fester Ansprechpartner statt Ticket-Schleife: Fragen, Inhalts-Updates und kleine Anpassungen laufen auf kurzem Weg. output: erledigt b-06bericht ### Wartungsbericht Was wurde aktualisiert, was ist aufgefallen, wie steht die Website da? Der Bericht macht die Wartung nachvollziehbar — auch für Nicht-Techniker. output: report.md cms ## Wartung je System: TYPO3, WordPress, Statamic jedes cms altert **anders** Die meisten Wartungsangebote am Markt sind reine WordPress-Pakete. Wir warten die drei Systeme, mit denen wir [bauen](https://www.siteway.de/expertise/entwicklung-umsetzung/) — und jedes hat seinen eigenen Rhythmus aus Versionen, Advisories und Update-Wegen. cms-01enterprise ### TYPO3-Wartung LTS-Zyklen im Blick behalten, Security-Advisories des TYPO3-Teams umsetzen, Extensions aktuell halten — und Major-Upgrades planen, bevor der Support einer Version endet. Die Elektrotechnik-Marke [Spelsberg](https://www.siteway.de/cases/spelsberg/) betreuen wir so seit 2018. lts + extensions aktuell cms-02verbreitet ### WordPress-Wartung Core-, Plugin- und Theme-Updates in festen Zyklen, Malware-Scans und Plugin-Hygiene: Was nicht gebraucht wird, fliegt raus — jedes Plugin weniger ist eine Angriffsfläche weniger. core + plugins aktuell cms-03schlank ### Statamic-Wartung Flat-File-Architektur ohne Datenbank heißt: wenig Angriffsfläche, überschaubarer Aufwand. Updates laufen kontrolliert über Composer, Inhalte liegen versionierbar im Git-Repository. composer update workflow · 4 schritte ## Updates ohne Risiko erst testen, dann **live** Der häufigste Einwand gegen Updates: „Danach war die Seite kaputt." Das passiert, wenn direkt auf der Live-Umgebung aktualisiert wird. Wir arbeiten anders — mit demselben Git- und CI/CD-Workflow, mit dem wir [Websites bauen](https://www.siteway.de/expertise/entwicklung-umsetzung/). 1. // schritt 01 · backup Backup vor jedem Eingriff. Vollständiger Stand von Dateien und Datenbank — zusätzlich zur täglichen Sicherung. Der Rückweg steht, bevor wir losgehen. output: backup 2. // schritt 02 · staging Test auf Staging. Kritische Updates laufen zuerst auf einer Kopie deiner Website. Bricht dort etwas, merkt es niemand außer uns. output: staging ok 3. // schritt 03 · deploy Versioniertes Deployment. Das Update geht per Git und CI/CD live — nachvollziehbar, wiederholbar und jederzeit auf den letzten funktionierenden Stand zurückrollbar. output: deploy 4. // schritt 04 · check ● laufend Check & Monitoring. Nach dem Update prüfen wir Kernfunktionen, Formulare und Ladezeiten. Danach übernimmt wieder das Monitoring — rund um die Uhr. output: monitoring vertrag ## Der Wartungsvertrag planbare pauschale statt **feuerwehr-einsatz** Ein **Website-Wartungsvertrag** legt fest, was laufend passiert: welche Updates in welchem Rhythmus laufen, wie oft gesichert wird, was das Monitoring überwacht und wie viel Support-Zeit enthalten ist. Abgerechnet wird als monatliche Pauschale — die Höhe hängt von CMS, Erweiterungen und Schnittstellen ab und steht nach einer Bestandsaufnahme im Kostenvoranschlag. Das gilt auch für Websites, die wir nicht gebaut haben: Nach einem Onboarding-Audit übernehmen wir bestehende TYPO3-, WordPress- und Statamic-Installationen. Dass das über Jahre trägt, zeigt [Spelsberg](https://www.siteway.de/cases/spelsberg/) — TYPO3 mit 13 Sprachen und Anbindungen an PIM, Cadenas, Algolia und Hubspot, von uns seit 2018 laufend betreut, inklusive TYPO3-Updates über mehrere Versionen. so übernehmen wir eine bestehende website - 01**Bestandsaufnahme**: CMS-Version, Extensions, Hosting, Lücken - 02**Zugänge & Backup-Basis** einrichten - 03**Update-Runde** auf den aktuellen Stand - 04**Laufender Betrieb** mit Monitoring & Bericht im vertrag geregelt patches: zeitnah backups: täglich monitoring: rund um die uhr bericht: regelmäßig faq ## Häufige Fragen ### Was gehört zur Website-Wartung? Zur Website-Wartung gehören Updates von CMS, Erweiterungen und PHP-Umgebung, tägliche Backups, Monitoring von Erreichbarkeit und Ladezeit, Sicherheits-Scans und ein fester Ansprechpartner für Fragen und kleine Änderungen. Kurz: alles, was eine Website nach dem Launch stabil, sicher und schnell hält. ### Was kostet Website-Wartung? Eine monatliche Pauschale, deren Höhe vom Umfang abhängt: CMS, Anzahl der Erweiterungen, Schnittstellen und gewünschter Support-Umfang. Nach einer Bestandsaufnahme bekommst du einen Kostenvoranschlag — die Pauschale steht im Vertrag und bleibt planbar. ### Wie oft sollte eine Website gewartet werden? Sicherheits-Patches spielen wir ein, sobald sie erscheinen. Reguläre Updates laufen in festen Zyklen, meist monatlich. Backups laufen täglich, das Monitoring rund um die Uhr. Eine Website, die nur einmal im Jahr angefasst wird, ist praktisch ungewartet. ### Übernehmt ihr auch Websites, die eine andere Agentur gebaut hat? Ja. Vor der Übernahme machen wir eine Bestandsaufnahme: CMS-Version, Erweiterungen, Hosting und offene Sicherheitslücken. Danach weißt du, in welchem Zustand deine Website ist — und wir wissen, was die Wartung kostet. Eine erste Update-Runde bringt die Seite auf den aktuellen Stand. ### Was passiert, wenn ein Update etwas kaputt macht? Vor jedem Update steht ein Backup, kritische Updates testen wir zuerst auf einer Staging-Umgebung. Geht trotzdem etwas schief, rollen wir per Git auf den letzten funktionierenden Stand zurück — deine Live-Seite bleibt davon unberührt. ### Welche Systeme wartet ihr? TYPO3, WordPress und Statamic — inklusive der Erweiterungen und Anbindungen, die dazugehören. Auch PHP-Anwendungen auf Laravel-Basis betreuen wir. Bei TYPO3 begleiten wir Major-Upgrades von einer LTS-Version zur nächsten. ### Brauche ich einen Wartungsvertrag oder geht das auch einmalig? Beides geht. Eine einmalige Update-Runde bringt deine Website auf den aktuellen Stand — zum Beispiel als Start einer Übernahme. Sicherheit entsteht aber erst durch Regelmäßigkeit: Patches wirken nur, wenn sie zeitnah eingespielt werden. Deshalb empfehlen wir den laufenden Vertrag. ### Was ist der Unterschied zwischen Wartung, Pflege und Betreuung? Wartung ist die Technik: Updates, Backups, Sicherheit. Pflege sind die Inhalte: Texte, Bilder, neue Seiten. Betreuung umfasst beides — plus einen Ansprechpartner, der deine Website kennt und mitdenkt. Unser Betrieb deckt alle drei Ebenen ab. laufend weiter ## Was parallel zum Betrieb läuft betrieb ist kein **stillstand** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Sichtbarkeit ist kein Zustand, sondern ein Prozess: Rankings beobachten, Inhalte nachschärfen, KI-Antworten im Blick behalten. weiterlesen → - [Relaunch & Migration.](https://www.siteway.de/expertise/relaunch-migration/) — Irgendwann trägt die Basis nicht mehr. Dann lösen wir die Seite sauber ab — ohne Rankings zu verlieren. weiterlesen → - [Case: Spelsberg.](https://www.siteway.de/cases/spelsberg/) — TYPO3, 13 Sprachen, PIM-Anbindung — seit 2018 laufend betreut. So sieht Betrieb über Jahre aus. zum case → Website in gute Hände geben? [Wartung anfragen](https://www.siteway.de/kontakt/) --- komponente · reviews # Bewertungen & Reviews Bewertungen & Reviews ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Wir binden **Google-Bewertungen**, ProvenExpert oder eigene Reviews direkt auf der Seite ein: server-seitig geholt und gecacht, ohne Fremd-Widget und ohne Datenabfluss — mit [AggregateRating-Schema](https://www.siteway.de/expertise/strukturierte-daten/) für echte Sterne im Suchergebnis. komponente baustein: einzeln buchbar quellen: google · provenexpert · eigene output: dsgvo-konform + sterne-schema [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist die Bewertungs-Komponente? **Die Bewertungs-Komponente holt echte Kundenbewertungen aus Google, ProvenExpert oder einer eigenen Quelle und zeigt sie auf deiner Website an — als normalen Seiteninhalt, nicht als eingebettetes Fremd-Widget.** Die Bewertungen werden auf deinem Server geholt und zwischengespeichert; beim Seitenaufruf lädt kein externes Script. Darunter legen wir **schema.org-AggregateRating** als JSON-LD über die tatsächlich sichtbaren Bewertungen. Das ist die Grundlage dafür, dass Google Sterne im Suchergebnis anzeigen kann — die Auszeichnung muss dabei zu echten, auf der Seite sichtbaren Bewertungen passen, sonst greift sie nicht. $ cat bewertungen-reviews.md - ✓Google · ProvenExpert · eigene quellen - ✓Server-seitig geholt & gecacht - ✓Kein Widget · kein iframe · kein Datenabfluss - ✓AggregateRating json-ld - ✓Auswahl & Moderation - ✓Sterne im Suchergebnis möglich warum ## Vertrauen, das man sieht sterne wirken **vor dem klick** Bewertungen sind der kürzeste Weg von „interessant" zu „vertrauenswürdig". Wer zum ersten Mal auf deiner Seite landet, sucht nach einem Signal, dass andere schon gute Erfahrungen gemacht haben. Echte Stimmen mit Name und Sternen liefern dieses Signal genau dort, wo die Entscheidung fällt — auf der Landing-Page, im Angebot, im Kontaktbereich. Der zweite Hebel liegt vor dem Klick. Werden über das AggregateRating-Schema Sterne im Suchergebnis ausgespielt, hebt sich dein Treffer sichtbar von den anderen ab — mehr Aufmerksamkeit bei gleicher Position. Sichtbar werden diese Sterne über sauberes [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) und korrekte [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). was der baustein liefert - 01Social Proof genau am **Entscheidungspunkt** - 02Sterne im **Suchergebnis** für mehr Klicks - 03Kein Tempo-Verlust durch **Fremd-Script** - 04Datenschutz als **Vertrauensbeweis** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein fertiges Fremd-Widget, sondern eine Bewertungs-Anzeige, die zu deinem Design passt, deinen Besuchern nichts an Dritte verrät und für Suchmaschinen sauber ausgezeichnet ist. Jede Funktion hat ein greifbares Ergebnis. f-01quellen ### Bewertungsquellen Google-Bewertungen aus dem Unternehmensprofil, ProvenExpert oder eigene Reviews von deiner Seite. Wir binden die Quelle an, die zu deinem Geschäft passt — auch mehrere zugleich. output: google · provenexpert · eigene f-02privatsphäre ### Server-seitig & gecacht Dein Server holt die Bewertungen und speichert sie zwischen. Beim Seitenaufruf lädt kein externes Script, es wird kein iframe eingebettet und keine Besucherdaten fließen ab. output: kein datenabfluss f-03auszeichnung ### AggregateRating-Schema Über die sichtbaren Bewertungen legen wir schema.org-AggregateRating als JSON-LD: Durchschnitt und Anzahl maschinenlesbar. Das ist die Grundlage für Sterne im Suchergebnis. output: aggregaterating json-ld f-04kuratierung ### Auswahl & Moderation Du entscheidest, welche Bewertungen als Zitate hervorstechen und welche du ausblendest. Fürs Design kuratierbar — das Schema bleibt dabei ehrlich am tatsächlichen Durchschnitt. output: kuratierte auswahl f-05darstellung ### Darstellung im Design Sterne, Zitate, ein Bewertungs-Slider oder eine „Wall of Love" — im Look deiner Website statt im fremden Widget-Design. Platzierbar auf Startseite, Landing-Page oder im Angebot. output: im seiten-design f-06aktualität ### Automatische Aktualisierung Neue Bewertungen zieht der Cache in einem festen Takt automatisch nach. Einmal eingebaut, bleibt die Anzeige aktuell — ohne dass jemand Screenshots tauscht oder Text nachpflegt. output: auto-refresh mehrwert ## Ohne Fremd-Widget. Kein Datenabfluss der **usp** der komponente Fast alle Anleitungen im Netz empfehlen ein Widget von Elfsight, Trustindex oder ProvenExpert: schnell eingebaut, aber es lädt fremdes JavaScript, setzt oft Cookies und schickt die IP-Adresse deiner Besucher beim Seitenaufruf zum Anbieter — meist auf US-Server. Das ist ein Datenschutzproblem und kostet zusätzlich Ladezeit. Wir lösen das grundsätzlich anders: Der Server holt die Bewertungen, cacht sie, und deine Besucher bekommen fertiges HTML. d-01abruf ### Server holt, nicht der Browser Der Abruf bei Google oder ProvenExpert passiert auf deinem Server, im Hintergrund. Beim Seitenaufruf entsteht kein Request deiner Besucher zu einem Dritten. kein third-party request d-02cache ### Lokal zwischengespeichert Die Bewertungen liegen als Cache auf deinem Server und werden periodisch aktualisiert. Das hält die Seite schnell und die Anbieter-Schnittstelle ruhig — auch bei viel Traffic. lokaler cache d-03kein widget ### Kein fremdes Script Kein eingebettetes Widget, kein iframe, kein Anbieter-JavaScript und keine gesetzten Cookies. Die Bewertungen sind Teil deiner Seite — nicht ein Fenster in fremde Server. kein fremd-script einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · quelle Quelle wählen. Google, ProvenExpert oder eigene Bewertungen — oder eine Kombination. Wir klären, wo deine relevanten Reviews liegen und wie wir sie sauber abgreifen. Noch wenige Bewertungen? Der [Google-Review-Link](https://www.siteway.de/tools/google-review-link/) hilft beim Sammeln. output: quellen-plan 2. // schritt 02 · abruf Server-seitig anbinden. Wir bauen den server-seitigen Abruf mit Cache — über die offizielle Schnittstelle, wo es eine gibt. Kein Widget, keine Fremd-Ressource im Frontend. output: abruf + cache 3. // schritt 03 · design + schema Darstellen & auszeichnen. Die Bewertungen erscheinen im Design deiner Seite; darunter kommt das AggregateRating-JSON-LD über die sichtbaren Reviews. Sichtbarer Inhalt und Schema entstehen im gleichen Schritt. output: anzeige + json-ld 4. // schritt 04 · prüfen ● ergebnis Live & geprüft. Wir prüfen die Auszeichnung im Rich-Results-Test und stellen die Komponente live. Danach hält sich die Anzeige über den Cache selbst aktuell. output: live-reviews faq ## Häufige Fragen ### Wie bekomme ich Sterne bei Google ins Suchergebnis? Sterne im Suchergebnis (Rich Results) entstehen aus schema.org-AggregateRating-Auszeichnung, die zu echten, auf der Seite sichtbaren Bewertungen passt. Wir bauen die Bewertungen als Text auf die Seite und legen das passende AggregateRating-JSON-LD darunter. Google entscheidet dann, ob Sterne angezeigt werden — eine Garantie gibt es nicht, aber ohne sichtbare Bewertungen und korrektes Schema passiert es gar nicht. ### Ist das Einbinden von Google-Bewertungen DSGVO-konform? So, wie wir es bauen, ja. Wir holen die Bewertungen server-seitig und speichern sie zwischen. Beim Seitenaufruf entsteht kein Request zu Google oder ProvenExpert, es lädt kein fremdes Script, es werden keine Cookies gesetzt und keine IP-Adresse deiner Besucher an Dritte übertragen. Genau das unterscheidet uns von eingebetteten Widgets, die beim Laden Daten an den Anbieter senden. ### Braucht ihr ein Widget von Elfsight, Trustindex oder ProvenExpert? Nein. Fremd-Widgets sind schnell eingebaut, laden aber externes JavaScript, setzen oft Cookies und übertragen Besucherdaten an den Anbieter — ein Datenschutzproblem und ein Ladezeit-Kostenfaktor. Wir holen die Bewertungen stattdessen server-seitig, cachen sie und rendern sie als normalen HTML-Inhalt in deinem Seiten-Design. ### Welche Bewertungsquellen könnt ihr einbinden? Üblich sind Google-Bewertungen (aus dem Unternehmensprofil), ProvenExpert und eigene Bewertungen, die direkt auf deiner Seite abgegeben werden. Je nach Quelle nutzen wir die offizielle Schnittstelle oder einen server-seitigen Abruf. Welche Quelle sinnvoll ist, klären wir im Briefing. ### Kann ich auswählen, welche Bewertungen erscheinen? Ja. Du kannst Bewertungen für die sichtbare Darstellung kuratieren — etwa aussagekräftige Stimmen als Zitate hervorheben. Wichtig für das Schema: Das AggregateRating bildet den tatsächlichen Durchschnitt der auf der Seite gezeigten Bewertungen ab. Auswahl fürs Design ja, geschöntes Markup nein. ### Darf man Bewertungen selbst per Schema auszeichnen? Nur, wenn die Bewertungen echt und für den Besucher auf der Seite sichtbar sind. Google prüft, ob das AggregateRating zu tatsächlich vorhandenen Bewertungen passt; selbst vergebene oder unsichtbare Bewertungen verstoßen gegen die Richtlinien und können die Rich Results kosten. Wir zeichnen deshalb ausschließlich echte, sichtbare Bewertungen aus — Details bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). ### Können wir die Komponente einzeln buchen? Ja. Bewertungen & Reviews ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu leistungen & **tools** - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Das AggregateRating gehört ins größere Schema-Bild deiner Seite — hier steckt die technische Heimat der Sterne. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Sterne wirken erst, wenn der Treffer auch rankt. Die Leistung, die deine Seite in Suche und KI-Antworten bringt. weiterlesen → - [Google-Review-Link.](https://www.siteway.de/tools/google-review-link/) — Erst Bewertungen sammeln, dann anzeigen: unser kostenloses Tool erzeugt den direkten Link zum Bewerten. zum tool → Bewertungen in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · editorial # Blog & Magazin Blog & Magazin ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einem einfachen **Unternehmensblog** wird ein Redaktionssystem für Artikel, Kategorien und Autoren: mit [strukturierten Daten](https://www.siteway.de/expertise/strukturierte-daten/) je Beitrag, Autorenprofilen, Teasern auf der Startseite und einer Blogübersichtsseite. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: article-schema + übersicht [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Unternehmensblog? **Ein Unternehmensblog ist ein redaktioneller Bereich auf der eigenen Website, in dem du regelmäßig Artikel, News und Fachbeiträge veröffentlichst — geordnet in Kategorien und mit eigenen Autoren.** Als Komponente gebaut, ist er mehr als eine Seite: ein Redaktionssystem im CMS, strukturierte Daten je Artikel, automatische Teaser auf der Startseite und eine Blogübersichtsseite. Blog oder Magazin ist dabei eine Frage der Größe, nicht der Technik. Ein **Blog** ist ein chronologischer Strom von Beiträgen mit einem oder wenigen Autoren. Ein **Magazin** bündelt mehrere Rubriken, Formate und Redakteure unter einem Dach. Beides bauen wir aus demselben Baustein — wir konfigurieren ihn nur so, wie viel Struktur du brauchst. $ cat blog-magazin.md - ✓Redaktionssystem im CMS - ✓Kategorien & Tags - ✓Autorenprofile person-schema - ✓Artikel-Schema article · blogposting - ✓Teaser auf der Startseite - ✓Blogübersichtsseite /blog/ warum ## Der Blog als Content-Motor jeder artikel ist eine **eingangstür** Eine statische Website hat eine feste Zahl an Seiten. Ein Unternehmensblog wächst mit jedem Beitrag — und jeder Artikel ist eine neue Chance, für eine konkrete Frage zu ranken oder in einer KI-Antwort zitiert zu werden. Die Besucher landen dann nicht auf der Startseite, sondern direkt beim Thema, das sie gesucht haben. Damit das funktioniert, muss die Technik stimmen. Wir bauen den Blog so, dass Beiträge sauber ausgezeichnet sind, Autoren Profil zeigen und neue Artikel ohne Handarbeit an allen Stellen erscheinen. Die Inhalte selbst liefert deine Redaktion — oder wir übernehmen sie als Leistung [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/). Sichtbar werden sie über [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). was der baustein liefert - 01Neue Seiten für neue **Suchanfragen** - 02Zitierfähige Passagen für **KI-Antworten** - 03Autoren als **E-E-A-T**-Signal - 04Stoff für **Newsletter** & Social baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — kein loses Blog-Plugin, sondern ein Redaktionssystem, das deine Redaktion versteht und Suchmaschinen wie KI-Systeme lesen können. Jede Funktion hat ein greifbares Ergebnis. f-01redaktion ### Redaktionssystem Artikel im CMS anlegen, als Entwurf speichern, in der Vorschau prüfen, geplant veröffentlichen. Deine Redaktion arbeitet im gewohnten Backend — ohne Umweg über Entwickler. output: backend + workflow f-02struktur ### Kategorien & Tags Beiträge in Rubriken und Schlagworte einsortiert. Daraus entstehen Kategorie-Übersichten, Filter und interne Links, die Nutzer und Suchmaschinen durch dein Thema führen. output: rubriken + filter f-03autoren ### Autorenprofile Jeder Autor bekommt eine eigene Profilseite mit Foto, Bio und seinen Beiträgen — und Person-Schema im Hintergrund. Das zeigt, wer schreibt, und zahlt direkt auf E-E-A-T ein. output: person-schema f-04auszeichnung ### Artikel-Schema Jeder Beitrag erhält Article- oder BlogPosting-JSON-LD: Titel, Autor, Datum und Bild maschinenlesbar. Google und KI-Systeme wissen so genau, was dein Artikel ist und von wem er stammt. output: json-ld je artikel f-05ausspielung ### Teaser auf der Startseite Ein neuer Artikel erscheint automatisch als Teaser auf der Startseite und in Übersichten. Einmal veröffentlichen, überall aktuell — ohne dass jemand von Hand nachpflegt. output: auto-teaser f-06übersicht ### Blogübersichtsseite Die zentrale Übersicht aller Beiträge: chronologisch als Teaser, filterbar nach Kategorie und Tag, mit Seitenblättern. Der Einstiegspunkt, von dem Besucher — und Suchmaschinen — zu jedem Artikel finden. output: /blog/ mehrwert ## Der Autor macht den Unterschied wer schreibt, **wird zitiert** Die meisten Ratgeber zum Unternehmensblog reden über Themen und Frequenz. Der technische Hebel bleibt außen vor: Wer einen Beitrag geschrieben hat. Google und Sprachmodelle bevorzugen Quellen, bei denen sichtbar ist, wer schreibt und woher das Wissen kommt — das E in E-E-A-T steht für Experience, echte Erfahrung. Ein anonymer Blog kann das nicht zeigen, ein Blog mit echten Autorenprofilen schon. a-01gesicht ### Profil statt anonym Jeder Beitrag trägt eine Byline mit Name, Foto und Rolle, verlinkt auf die Autorenseite. Aus „ein Unternehmen schreibt" wird „ein Mensch mit Erfahrung schreibt". byline + autorenseite a-02maschinenlesbar ### Person-Schema Das Profil hinterlegen wir als Person-JSON-LD und verknüpfen es mit dem Artikel-Schema. So verstehen Maschinen die Verbindung zwischen Autor, Beitrag und Unternehmen — Details bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). person + author a-03vertrauen ### Expertise belegt Auf der Autorenseite sammeln sich alle Beiträge einer Person. Das zeigt Themen-Tiefe über die Zeit — für Leser, für Google und für KI-Systeme, die belegte Quellen bevorzugen. themen-historie einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · struktur Rubriken festlegen. Blog oder Magazin, welche Kategorien, welche Autoren. Wir klären den Umfang und legen fest, wie der Baustein konfiguriert wird. output: rubrik-plan 2. // schritt 02 · cms Ins CMS einbauen. Wir bauen das Redaktionssystem in dein TYPO3, WordPress oder Statamic — mit Feldern, Vorlagen und Freigabe-Workflow, die zu deinem Team passen. output: backend + templates 3. // schritt 03 · auszeichnung Schema anschließen. Article-, BlogPosting- und Person-Schema, Blogübersichtsseite und die automatischen Teaser werden verdrahtet — die maschinenlesbare Seite entsteht mit. output: json-ld + feed 4. // schritt 04 · übergabe ● ergebnis Redaktion einweisen. Kurze Einweisung, ein erster Testartikel, fertig. Danach pflegt deine Redaktion Beiträge selbst — die Auszeichnung passiert im Hintergrund automatisch. output: live-blog faq ## Häufige Fragen ### Was ist ein Unternehmensblog? Ein Unternehmensblog ist ein redaktioneller Bereich auf der eigenen Website, in dem ein Unternehmen regelmäßig Artikel, News und Fachbeiträge veröffentlicht — geordnet in Kategorien und mit eigenen Autoren. Als Website-Komponente gebaut, besteht er aus einem Redaktionssystem im CMS, strukturierten Daten je Artikel, automatischen Teasern auf der Startseite und einer Blogübersichtsseite. ### Was ist der Unterschied zwischen Blog und Magazin? Ein Blog ist meist ein chronologischer Strom von Beiträgen mit einem oder wenigen Autoren. Ein Magazin bündelt mehrere Rubriken, Formate und Redakteure unter einem Dach und arbeitet stärker mit Kategorie-Startseiten. Technisch ist beides derselbe Baustein — wir konfigurieren ihn nur unterschiedlich, je nachdem, wie viel Struktur du brauchst. ### In welches CMS baut ihr den Blog ein? Wir bauen die Komponente in dein bestehendes oder neues CMS ein: TYPO3 für große Redaktionen mit vielen Rollen und Sprachen, WordPress für klassische Business-Blogs, Statamic für schlanke, wartungsarme Seiten. Deine Redaktion pflegt Artikel danach direkt im gewohnten Backend. ### Bekommen Artikel und Autoren strukturierte Daten? Ja. Jeder Beitrag erhält Article- oder BlogPosting-JSON-LD mit Titel, Autor, Datum und Bild. Jedes Autorenprofil bekommt Person-Schema. Das macht Beiträge und die Menschen dahinter für Google und KI-Systeme eindeutig — ein E-E-A-T-Signal, das reine Textseiten nicht liefern. ### Erscheinen neue Beiträge automatisch auf der Startseite? Ja. Neue Artikel erscheinen automatisch als Teaser auf der Startseite, auf der Blogübersichtsseite und in den Kategorie-Übersichten. Deine Redaktion veröffentlicht einen Beitrag einmal im Backend — die Ausspielung an allen Stellen passiert ohne zusätzlichen Handgriff. ### Können wir den Blog einzeln buchen? Ja. Blog & Magazin ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [News & Events.](https://www.siteway.de/expertise/news-events/) — Meldungen und Termine als eigener Bereich — die Schwester zum Blog, wenn es aktueller und terminbezogener wird. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Der Baustein liefert das System — diese Leistung füllt es: Inhalte, Pflege und redaktionelle Arbeit im CMS. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites mit Redaktionssystem im Einsatz — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Blog in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · booking # Buchung & Termine Buchung & Termine ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einem Anruf wird eine **online terminvereinbarung**: Kunden sehen freie Zeiten im Kalender, wählen einen Slot und bekommen sofort eine Bestätigung mit [Kalender-Einladung](#kann) — direkt auf deiner Domain, nicht in einem Fremd-Widget. komponente baustein: einzeln buchbar kalender: verfügbarkeiten + slots output: bestätigung + ical [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist Online-Terminbuchung? **Online-Terminbuchung ist die Möglichkeit, dass Kunden ihren Termin selbst über die Website vereinbaren — rund um die Uhr, ohne Anruf und ohne Wartezeit.** Sie sehen die freien Zeiten im Kalender, wählen einen Slot und bekommen sofort eine Bestätigung. Als Komponente gebaut, ist das mehr als ein Kontaktformular: ein Kalender mit echten Verfügbarkeiten, Zeitfenstern, automatischer Bestätigung und Kalender-Einladung. Wir bauen diese Komponente in deine Website ein — in dein [CMS](https://www.siteway.de/expertise/cms-redaktion/) und auf deine Domain. Es geht um **1:1-Termine**: Beratung, Service, Erstgespräch, ein Kunde bucht einen Slot. Gruppen-Events mit Anmeldung sind Sache der Schwester-Komponente [Veranstaltungen & Seminare](https://www.siteway.de/expertise/veranstaltungen-seminare/). $ cat buchung-termine.md - ✓Kalender mit Verfügbarkeiten - ✓Zeitfenster & Pufferzeiten - ✓Automatische Bestätigung mail - ✓Kalender-Einladung ical .ics - ✓Erinnerung & Storno-Link - ✓Zahlung bei Buchung optional warum ## Buchbar, wenn das Telefon aus ist jede stunde ist **buchungszeit** Die meisten Termine werden abends und am Wochenende angefragt — also genau dann, wenn niemand ans Telefon geht. Ein Kontaktformular verschiebt das Problem nur: Es entsteht ein Hin und Her aus „Passt Dienstag?" und „Nein, doch nicht". Ein Kalender mit echten Verfügbarkeiten beendet das. Der Kunde bucht in dem Moment, in dem er die Entscheidung trifft. Für dein Team heißt das: weniger Telefonate, weniger Terminchaos, weniger No-Shows dank automatischer Erinnerung. Und weil die Buchung auf deiner Website liegt, führt jeder Klick zum Abschluss auf deiner Seite — nicht auf einer fremden Plattform, die zwischen dir und deinem Kunden steht. was der baustein liefert - 01Buchungen **rund um die Uhr** - 02Weniger **Telefon** & Rückrufe - 03Weniger **No-Shows** durch Erinnerung - 04Termindaten auf **deiner Domain** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein eingebettetes Fremd-Tool, sondern ein Buchungssystem, das im Layout deiner Seite läuft und deine Regeln kennt. Jede Funktion hat ein greifbares Ergebnis. f-01kalender ### Kalender & Verfügbarkeiten Buchbare Zeiten entstehen aus deinen Öffnungszeiten und freien Slots. Kunden sehen nur, was wirklich frei ist — kein Doppel, kein Termin gegen die Wand. output: kalender + freie slots f-02regeln ### Zeitfenster & Pufferzeiten Dauer je Terminart, Vorlaufzeit und Puffer zwischen zwei Terminen als Regeln hinterlegt. So passt jede Buchung zu deinem echten Ablauf — nicht andersrum. output: slot-logik f-03bestätigung ### Automatische Bestätigung Nach der Buchung geht sofort eine Bestätigungs-Mail raus — an Kunde und Team, mit allen Eckdaten. Niemand muss von Hand zurückschreiben, niemand wartet auf Antwort. output: bestätigungs-mail f-04kalender-sync ### Kalender-Einladung (iCal) Jede Buchung liefert eine .ics-Datei. Ein Klick trägt den Termin in Outlook, Google oder Apple Kalender ein — mit Uhrzeit, Ort oder Videolink. Beide Seiten haben denselben Eintrag. output: .ics einladung f-05no-show ### Erinnerungen & Absagen Eine automatische Erinnerung vor dem Termin und ein Link zum Verschieben oder Absagen. Das senkt No-Shows und gibt freigewordene Slots automatisch wieder frei. output: reminder + storno-link f-06payment ### Zahlung bei Buchung Optional: Bei kostenpflichtigen Terminen zahlen Kunden direkt beim Buchen — über Stripe, PayPal oder Klarna. Die Anbindung liefert [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). output: stripe · paypal · klarna mehrwert ## Eigene Domain statt Fremd-Widget deine kunden bleiben **bei dir** Fast jedes Buchungstool am Markt ist ein eingebettetes Widget einer fremden Plattform. Bequem eingebaut — aber der Termin läuft über deren Server, das Design ist deren Design, und die Daten deiner Kunden liegen bei einem Dritten. Wir gehen den anderen Weg: Die Buchung ist ein Teil deiner Website, kein Gast darin. e-01datenschutz ### Daten auf deinem Server Name, Kontakt und Anliegen deiner Kunden landen bei dir, nicht bei einem Dritt-Anbieter. Kein Tracking-Embed, der vor der Einwilligung lädt — DSGVO-konform von Anfang an. dsgvo · eigene domain e-02design ### Im Layout deiner Seite Der Kalender trägt deine Schrift, deine Farben, deinen Ton — kein Fremdkörper mit fremdem Branding. Der Buchungsschritt fühlt sich an wie der Rest deiner Website. dein design e-03unabhängig ### Keine fremde Plattform Keine monatliche Lizenz pro Nutzer, kein Abschluss auf einem Marktplatz, der auch deine Wettbewerber listet. Der Kunde bucht bei dir und bleibt bei dir. kein widget-abo einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · terminarten Terminarten klären. Welche Termine, welche Dauer, welche Öffnungszeiten, welche Pufferzeiten. Wir klären die Regeln, nach denen der Kalender freie Slots berechnet. output: termin-regeln 2. // schritt 02 · cms Kalender einbauen. Wir bauen den Buchungskalender in dein TYPO3, WordPress oder Statamic — im Design deiner Seite, mit den Feldern, die du wirklich abfragen willst. output: kalender + formular 3. // schritt 03 · automatik Bestätigung anschließen. Bestätigungs-Mail, iCal-Einladung, Erinnerung und Storno-Link werden verdrahtet — bei Bedarf auch die Zahlung bei Buchung über die Schnittstelle. output: mail + ical + reminder 4. // schritt 04 · übergabe ● ergebnis Testbuchung, dann live. Eine Testbuchung durch, Mail und Kalender-Eintrag geprüft, fertig. Danach nimmt deine Website Termine selbst entgegen — rund um die Uhr, ohne dein Zutun. output: live-buchung faq ## Häufige Fragen ### Was ist Online-Terminbuchung? Online-Terminbuchung ist die Möglichkeit, dass Kunden ihren Termin selbst über die Website vereinbaren — rund um die Uhr, ohne Anruf und ohne Wartezeit. Sie sehen die freien Zeiten im Kalender, wählen einen Slot und bekommen sofort eine Bestätigung. Als Website-Komponente gebaut, läuft das direkt auf deiner Domain: mit Verfügbarkeiten, Zeitfenstern, automatischer Bestätigung und Kalender-Einladung. ### Braucht ihr ein externes Tool wie Calendly oder Doctolib? Nein. Wir bauen die Buchung als eigene Komponente in deine Website ein, statt ein fremdes Widget einzubetten. Der Kalender liegt auf deiner Domain, im Layout deiner Seite, und die Termindaten laufen über deinen Server. Das ist der Unterschied zu Calendly, Doctolib und Co.: Deine Kunden bleiben bei dir, und die Daten auch. ### Ist die Terminbuchung DSGVO-konform? Ja. Weil die Buchung auf deiner eigenen Domain läuft und nicht über ein Fremd-Widget, gehen die personenbezogenen Daten deiner Kunden nicht an einen Dritt-Anbieter. Es gibt keinen externen Tracking-Embed, der vor der Einwilligung lädt. Speicherung und Verschlüsselung richten wir nach DSGVO ein — welche Felder du abfragst, entscheidest du. ### Bekommen Kunden eine Kalender-Einladung? Ja. Jede Buchung erzeugt eine iCal-Datei (.ics), die der Bestätigungs-Mail beiliegt. Ein Klick trägt den Termin in Outlook, Google oder Apple Kalender ein — inklusive Uhrzeit, Ort oder Videolink. Dein Team bekommt den Eintrag parallel, sodass beide Seiten denselben Termin im Kalender haben. ### Kann man bei der Buchung direkt bezahlen? Optional ja. Wenn Termine kostenpflichtig sind, hängen wir eine Zahlung an den Buchungsschritt — etwa über Stripe, PayPal oder Klarna. Die Zahlungsanbindung selbst gehört zur Leistung Schnittstellen & Integration; die Buchungskomponente ruft sie im richtigen Moment auf. ### Was ist der Unterschied zu Veranstaltungen & Seminaren? Buchung & Termine ist für 1:1-Termine gedacht: Beratung, Service, Erstgespräch — ein Kunde bucht einen Slot. Veranstaltungen & Seminare ist die Schwester-Komponente für Gruppen-Events mit Anmeldung, Teilnehmerzahl und Schema.org-Event-Markup. Wenn mehrere Personen sich zum selben Termin anmelden, ist das der richtige Baustein. ### Können wir die Buchung einzeln buchen? Ja. Buchung & Termine ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und wir bauen sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Veranstaltungen & Seminare.](https://www.siteway.de/expertise/veranstaltungen-seminare/) — Die Schwester für Gruppen-Events: Kalender, Anmeldung und Event-Markup — wenn sich mehrere zum selben Termin anmelden. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung, die Zahlung bei Buchung möglich macht: Stripe, PayPal oder Klarna und die Anbindung an dein Kalender- oder CRM-System. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites mit eingebauten Funktionen im Einsatz — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Terminbuchung in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · case-studies # Case Studies Die Case-Studies-Komponente ist der Bereich, in dem du deine Referenzprojekte zeigst — als eigene Detailseiten mit **Ausgangslage, Lösung und messbarem Ergebnis**. Statt jede **Case Study einzeln zu erstellen**, füllst du ein festes Template und veröffentlichst. Wir bauen diesen Baustein in deine Website ein — mit Filter, [Schema.org](https://www.siteway.de/expertise/strukturierte-daten/) und Pflege im CMS. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: case-studies/ [Briefing starten](https://www.siteway.de/kontakt/) [Live-Beispiel ansehen](https://www.siteway.de/cases/spelsberg/) definition ## Was ist die Case-Studies-Komponente? **Eine Case Study ist die Geschichte eines Kundenprojekts in drei Schritten: Ausgangslage, Lösung, Ergebnis.** Die Komponente ist der Website-Bereich, in dem diese Geschichten leben — jede als eigene Detailseite, alle über eine Übersicht mit Filter erreichbar. Sie ist ein modularer Baustein, keine Gesamtleistung: Wir bauen sie in deine [Website](https://www.siteway.de/expertise/cms-redaktion/) ein. Der Unterschied zum losen Referenz-Text: Hier steckt Struktur dahinter. Jede Case füllt dieselben Felder, wird gleich ausgezeichnet und taucht automatisch als Teaser dort auf, wo sie überzeugt — auf der Startseite, der passenden Leistungs- oder Branchenseite. Wie das fertig aussieht, zeigt unser eigener [Case Spelsberg](https://www.siteway.de/cases/spelsberg/). $ cat case-study.md - ✓Kunde, Branche & Leistung - ✓Ausgangslage problem - ✓Lösung vorgehen - ✓Ergebnis kennzahlen - ✓Kundenzitat & Visuals - ✓Schema.org & CTA nutzen ## Warum Case Studies auf der Website? belege überzeugen · **nicht behauptungen** Interessenten glauben keiner Leistungsseite, die sich selbst lobt. Sie glauben einem Projekt, das ihrem eigenen ähnelt: gleiche Branche, gleiche Ausgangslage, ein Ergebnis in Zahlen. Genau das leistet eine Case Study — sie verlagert das Argument vom Versprechen zum Beleg. Als Komponente wird daraus ein System statt einer Einzelseite. Neue Referenzen kommen dazu, ohne dass jemand ein Layout baut. Jede Case rankt für ihre eigene Kombination aus Branche und Leistung und liefert KI-Antworten ein zitierbares Ergebnis. Der Vertrieb verlinkt im Angebot direkt die passende Case. was eine case leistet - 01Vertrauen über **echte Ergebnisse** - 02Einstieg über **Branche & Leistung** - 03Beleg für **Google & KI-Suche** - 04Argument fürs **Vertriebs-Angebot** funktionen · 6 bausteine ## Was die Komponente kann template bis **teaser** Sechs Funktionen, ein Baustein. Wir bauen sie so ein, dass du Case Studies selbst erstellen und pflegen kannst — ohne Entwickler für jede neue Referenz. f-01template ### Detailseiten-Template Eine Vorlage für alle Cases: Ausgangslage, Lösung, Ergebnis, Zitat und Kennzahlen — jede Referenz gleich aufgebaut und vergleichbar. output: case-detail f-02filter ### Übersicht & Filter Alle Cases auf einer Übersichtsseite, filterbar nach Branche, Leistung oder Technologie. Der Interessent findet die Case, die zu ihm passt. output: filter-index f-03kennzahlen ### Kennzahlen & Belege Messbare Ergebnisse als eigene Felder statt versteckt im Fließtext — Prozent, Zeit, Umsatz. Prominent, damit sie sofort wirken. output: kpi-block f-04schema ### Schema.org-Auszeichnung Jede Case bekommt strukturierte Daten mit Kunde, Ergebnis und Kennzahlen — zitierbar für Google und KI-Antworten. output: json-ld f-05cms ### CMS-Pflege Neue Case Studies selbst anlegen: Felder ausfüllen, Bilder hochladen, veröffentlichen. In TYPO3, WordPress oder Statamic, ohne Code. output: redaktion f-06teaser ### Teaser & Verknüpfung Cases erscheinen automatisch als Teaser dort, wo sie überzeugen — auf der Startseite und der passenden Leistungs- oder Branchenseite. output: teaser aufbau · 3 schritte ## Wie eine Case Study aufgebaut ist struktur schlägt **fließtext** Die meisten Case Studies scheitern nicht am Inhalt, sondern an fehlender Struktur — sie lesen sich wie ein langer Werbetext ohne Ergebnis. Unser Template erzwingt drei Blöcke. Jede Case Study, die du erstellst, folgt derselben Reihenfolge: das Problem zuerst, die Lösung als Vorgehen, das Ergebnis in Zahlen. 01ausgangslage ### Ausgangslage Wo stand der Kunde am Anfang? Das Problem, der Auslöser, die Ziele. Ohne diesen Kontext bleibt jedes Ergebnis eine Zahl ohne Bedeutung. problem + ziel 02lösung ### Lösung Was wurde getan und warum so? Das Vorgehen in nachvollziehbaren Schritten — konkret genug, dass ein Interessent sich sein eigenes Projekt darin wiedererkennt. vorgehen 03ergebnis ### Ergebnis Was kam messbar heraus? Kennzahlen als eigene Felder, dazu ein Kundenzitat als Beleg. Kein „deutlich besser“, sondern eine Zahl mit Bezug zur Ausgangslage. kennzahl + zitat faq ## Häufige Fragen ### Was ist die Case-Studies-Komponente? Die Case-Studies-Komponente ist ein Baustein für deine Website: ein Bereich, in dem du deine eigenen Referenzprojekte als Detailseiten zeigst. Jede Case folgt derselben Struktur — Ausgangslage, Lösung, messbares Ergebnis — und läuft über eine Übersicht mit Filter zusammen. Wir bauen diesen Bereich in deine bestehende oder neue Website ein. ### Wie ist eine Case Study aufgebaut? Eine gute Case Study beantwortet drei Fragen: Wo stand der Kunde am Anfang, was wurde getan und was kam messbar dabei heraus. Das Template gibt genau diese Reihenfolge vor — Ausgangslage, Lösung, Ergebnis — plus feste Felder für Kunde, Branche, Leistung, Kennzahlen und ein Zitat. So bleibt jede Case vergleichbar, statt in freiem Fließtext zu zerfasern. ### Kann ich neue Case Studies selbst anlegen? Ja. Die Komponente läuft im CMS — TYPO3, WordPress oder Statamic. Du füllst die vorgegebenen Felder aus, lädst Bilder hoch und veröffentlichst. Struktur, Schema.org und die Teaser auf anderen Seiten entstehen automatisch, ohne dass du Code anfasst. ### Nach welchen Kriterien lassen sich Case Studies filtern? Standard sind Branche und Leistung — der Interessent findet direkt die Cases, die zu seiner Situation passen. Je nach Projekt kommen Technologie, Region oder Projektgröße dazu. Die Filter definieren wir gemeinsam im Briefing. ### Werden die Case Studies für Google und KI-Antworten ausgezeichnet? Ja. Jede Case bekommt Schema.org-JSON-LD mit Kunde, Ergebnis und Kennzahlen. Das hilft Google beim Verstehen der Seite und macht die Ergebnisse für KI-Antworten in ChatGPT, Perplexity und Google-AI-Overviews zitierbar. Details zur Auszeichnung liegen bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). ### Was kostet die Case-Studies-Komponente? Festpreis nach Briefing. Der Baustein ist einzeln über das Paket „Komponenten“ buchbar oder Teil einer kompletten Website. Sobald Umfang, Filter und Zahl der Felder feststehen, nennen wir einen Preis und halten ihn fest. ### Ist das dasselbe wie eure eigenen Cases? Nein. Unsere eigenen Referenzen unter siteway.de/cases sind nur das Live-Beispiel dafür, wie so ein Bereich aussehen kann. Die Komponente ist der gleiche Bereich für deine Website, mit deinen Projekten, deinem Design und deinen Kennzahlen. passt dazu ## Passt dazu module & leistungen im **überblick** - [Portfolio- & Media-Galerie.](https://www.siteway.de/expertise/portfolio-media-galerie/) — Cases zusätzlich als Bild- und Video-Strecke inszenieren. weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Jede Case mit Schema.org zitierbar für Google und KI-Suche. weiterlesen → - [Case Spelsberg.](https://www.siteway.de/cases/spelsberg/) — So kann das aussehen: unser eigener Case in TYPO3, 13 Sprachen. zum case → Referenzen sichtbar machen? [Briefing starten](https://www.siteway.de/kontakt/) --- svc-04 · cms # CMS & Redaktion **CMS-Agentur** heißt bei siteway: Wir bauen deine Website auf [TYPO3, WordPress oder Statamic](https://www.siteway.de/stack/) — je nachdem, was dein Projekt braucht. Heraus kommt ein Redaktionssystem, in dem dein Team Inhalte selbst pflegt: geschult, dokumentiert und im Alltag [ohne Agentur](#warum). svc-04 systeme: typo3 · wordpress · statamic schulung: inklusive output: redaktions-zugang [Briefing starten](https://www.siteway.de/kontakt/) [Welches CMS passt?](#systemwahl) definition ## Was macht eine CMS-Agentur? **Eine CMS-Agentur baut Websites auf einem Content-Management-System auf, damit die Redaktion Inhalte selbst pflegen kann — ohne Agentur, ohne HTML.** Sie wählt das passende System aus, richtet Templates, Rollen und Workflows ein und schult die Redaktion. Bei siteway sind das TYPO3, WordPress oder Statamic, je nach Projekt. Das greifbare Ergebnis ist der Redaktions-Zugang: ein System, in dem dein Team Seiten anlegt, Texte ändert und Inhalte freigibt — vom ersten Tag an. Die Systemwahl treffen wir früh, im [Konzept](https://www.siteway.de/expertise/konzept-strategie/), und begründen sie. Umgesetzt wird sie in der [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) mit Git und CI/CD. $ cat cms-redaktion.md - ✓Beratung & Systemwahl typo3 · wordpress · statamic - ✓Setup & Konfiguration - ✓Templates & Inhaltselemente - ✓Rollen, Rechte & Workflows - ✓Mehrsprachigkeit & Migration - ✓Schulung & Übergabe redaktions-zugang warum ## Deine Redaktion pflegt selbst jede änderung über die agentur ist **eine zu viel** Der häufigste Frust mit Agentur-Websites: Für jede Textänderung ein Ticket, für jede neue Seite eine Rechnung, und die Aktualisierung dauert Tage statt Minuten. Das ist kein CMS-Problem — das ist ein Aufbau-Problem. Ein Redaktionssystem, das niemand bedienen kann, ist keins. Wir bauen das CMS deshalb konsequent für die Menschen auf, die täglich damit arbeiten: verständliche Inhaltselemente statt Feld-Wüsten, Vorschau vor der Freigabe, klare Rechte je Rolle. Zur Übergabe gehören eine **Redaktionsschulung** und ein kurzes Handbuch. Danach brauchst du uns für den Alltag nicht mehr — nur noch für das, was wirklich Entwicklung ist. was dein team danach selbst kann - 01Texte & Bilder **ändern** — ohne HTML - 02Seiten **anlegen** und in die Navigation hängen - 03Inhalte **übersetzen** im Sprach-Workflow - 04Prüfen, **freigeben**, veröffentlichen — mit Vorschau systemwahl · 3 systeme ## TYPO3, WordPress oder Statamic? das projekt entscheidet · **nicht die gewohnheit** „Welches CMS ist das beste?" ist die falsche Frage. Die richtige: Wer pflegt die Seite, wie viele Sprachen und Rollen braucht sie, und wie viel Wartung willst du dir leisten? Danach fällt die Wahl — wir arbeiten mit drei Systemen und empfehlen das, das zu deinem Projekt passt. sys-01enterprise ### TYPO3 Das Enterprise-CMS für komplexe Redaktionen: feingranulare Rechte, Freigabe-Workflows, Mehrsprachigkeit und Multi-Site aus einem Backend. Bei Spelsberg läuft es mit 13 Sprachen und PIM-Anbindung. passt zu: rollen + sprachen + portale sys-02allrounder ### WordPress Das Arbeitspferd für Blogs und kleinere Business-Sites: schnell aufgesetzt, leicht zu bedienen, riesiges Ökosystem. Bei uns mit schlankem, eigenem Theme — nicht mit Page-Builder-Ballast. passt zu: blogs + business-sites sys-03flat-file ### Statamic Flat-File-CMS auf Laravel-Basis: keine Datenbank, wenig Angriffsfläche, wenig Wartung. Ideal für schlanke Seiten, die jahrelang stabil laufen sollen — und passt zu unserer PHP/Laravel-Entwicklung. passt zu: schlanke sites + wenig wartung entscheidung fällt im [konzept](https://www.siteway.de/expertise/konzept-strategie/) — mit begründung [alle details im stack →](https://www.siteway.de/stack/) leistung · 6 bausteine ## Was CMS & Redaktion umfasst von systemwahl bis **redaktions-zugang** Sechs Bausteine, ein Ergebnis: ein Redaktionssystem, das dein Team vom ersten Tag an bedient. Jeder Baustein hat ein greifbares Artefakt. b-01beratung ### Beratung & Systemwahl Wir prüfen Redaktion, Inhalte und Anbindungen — und empfehlen TYPO3, WordPress oder Statamic mit Begründung. Auf Wunsch als Teil der Konzeptphase. output: cms-empfehlung b-02setup ### Setup & Konfiguration Installation, Staging-Umgebung und Deployment über Git und CI/CD. Änderungen gehen erst live, wenn sie geprüft sind — nicht per FTP-Roulette. output: staging-umgebung b-03templates ### Templates & Inhaltselemente Seitentypen und Bausteine nach dem [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/): Text, Bild, Teaser, Akkordeon. Die Redaktion setzt Seiten daraus zusammen — das Layout bleibt stabil. output: seitentypen b-04rollen ### Rollen, Rechte & Workflows Wer darf was: Redakteure schreiben, Chefredaktion gibt frei, Admins konfigurieren. Jedes Team sieht nur seinen Bereich — Fehlerquellen inklusive wegkonfiguriert. output: rechte-matrix b-05inhalte ### Mehrsprachigkeit & Migration Sprachbaum und Übersetzungs-Workflow für internationale Sites — bis 13 Sprachen im Einsatz. Bestandsinhalte übernehmen wir mit URL-Mapping und 301-Weiterleitungen. output: sprachbaum + url-mapping b-06schulung ### Schulung & Übergabe Redaktionsschulung am eigenen System, mit echten Inhalten statt Demo-Daten. Dazu ein kurzes Handbuch und alle Zugänge — der Moment, ab dem die Seite dir gehört. output: redaktions-zugang bestandsprojekte ## Wechseln oder modernisieren? der günstigere weg gewinnt · **nicht der neuere** Nicht jedes CMS-Problem braucht ein neues CMS. Häufig steckt der Frust in einer veralteten Version, gewucherten Plugins oder Templates, die niemand mehr durchschaut. Dann ist **Modernisieren** der bessere Weg: Update auf die aktuelle Version, aufgeräumte Templates, klare Redaktions-Workflows — für einen Bruchteil der Relaunch-Kosten. Manchmal ist der Wechsel trotzdem richtig: wenn das System das Wachstum nicht trägt, der Support ausläuft oder die Wartung teurer wird als der Neubau. Wir prüfen den Bestand und sagen dir, was wir an deiner Stelle täten — mit Zahlen, nicht mit Bauchgefühl. Wie ein Umstieg ohne Ranking-Verlust läuft, steht bei [Relaunch & Migration](https://www.siteway.de/expertise/relaunch-migration/). bestandscheck vor der empfehlung - 01Version & **Update-Pfad** — wie lange noch Support? - 02Templates, Plugins & **Altlasten** - 03Inhalte, Rankings & **URL-Struktur** - 04**Empfehlung**: modernisieren oder wechseln — mit Kostenvergleich ablauf · 5 schritte ## So entsteht dein Redaktionssystem jeder schritt ein ergebnis · **ein zugang am ende** 1. // schritt 01 · redaktion Redaktions-Workshop. Wir sprechen mit den Menschen, die die Seite später pflegen: Wer schreibt, wer gibt frei, welche Inhalte kommen wie oft? Daraus entsteht die Anforderungsliste. output: anforderungen 2. // schritt 02 · system Systemwahl. TYPO3, WordPress oder Statamic — die Empfehlung mit Begründung, meist als Teil der Konzeptphase. Du entscheidest auf Basis von Fakten. output: cms-empfehlung 3. // schritt 03 · aufbau Aufbau & Templates. Setup, Seitentypen, Inhaltselemente, Rollen und Workflows — auf einer Staging-Umgebung, die du jederzeit ansehen kannst. output: staging-system 4. // schritt 04 · inhalte Inhalte & Migration. Bestandsinhalte wandern strukturiert ins neue System, neue Inhalte entstehen direkt darin. URL-Mapping und 301-Weiterleitungen sichern die Rankings. output: befüllte seite 5. // schritt 05 · übergabe ● ergebnis Schulung & Übergabe. Schulung am eigenen System, Redaktionshandbuch, alle Zugänge. Ab jetzt pflegt dein Team selbst — Betrieb und Wartung übernehmen wir auf Wunsch weiter. output: redaktions-zugang faq ## Häufige Fragen ### Was macht eine CMS-Agentur? Eine CMS-Agentur wählt das passende Content-Management-System aus, baut die Website darauf auf und richtet die Redaktionsumgebung ein: Templates, Rollen, Workflows und Schulung. Bei siteway sind das TYPO3, WordPress oder Statamic — je nach Projekt. ### Welches CMS passt zu meinem Projekt? Das hängt von Redaktion, Umfang und Wartung ab. TYPO3 passt zu komplexen Redaktionen mit vielen Rollen und Sprachen, WordPress zu Blogs und kleineren Business-Sites, Statamic zu schlanken Seiten mit wenig Wartung. Die Entscheidung fällt im Konzept — begründet, nicht aus Gewohnheit. ### Was ist der Unterschied zwischen TYPO3 und WordPress? TYPO3 ist ein Enterprise-CMS für große Websites: feingranulare Rechte, Freigabe-Workflows, viele Sprachen und Mandanten. WordPress ist schneller aufgesetzt und leichter zu bedienen, stößt aber bei komplexen Redaktionsprozessen an Grenzen. Für einen Blog ist TYPO3 zu schwer, für ein Konzernportal WordPress oft zu leicht. ### Kann meine Redaktion Inhalte wirklich selbst pflegen? Ja, das ist das Ziel. Wir bauen das CMS so auf, dass Texte, Bilder und neue Seiten ohne Agentur und ohne HTML-Kenntnisse funktionieren. Zur Übergabe gehören eine Schulung und ein kurzes Redaktionshandbuch. Für Alltagsänderungen brauchst du uns danach nicht mehr. ### Übernehmt ihr die Migration bestehender Inhalte? Ja. Wir übernehmen Inhalte aus dem Alt-System, strukturieren sie neu und sichern Rankings über ein URL-Mapping mit 301-Weiterleitungen. Das gilt für den Wechsel zwischen Systemen genauso wie für den Relaunch auf gleicher Basis. ### Müssen wir das CMS wechseln oder reicht modernisieren? Nicht jedes Projekt braucht einen Systemwechsel. Oft reichen ein Update auf die aktuelle Version, aufgeräumte Templates und bessere Redaktions-Workflows. Wir prüfen den Bestand und empfehlen den günstigeren Weg — gewechselt wird nur, wenn es einen Grund gibt. ### Was kostet eine CMS-Website? Festpreis nach Briefing. Der Preis hängt von System, Seitentypen, Sprachen und Schnittstellen ab. Sobald der Umfang feststeht, nennen wir einen Preis und halten ihn im Vertrag fest. ### Wer kümmert sich nach dem Launch um Updates und Wartung? Auf Wunsch wir. Sicherheits-Updates, Backups und Monitoring laufen dann als Wartungsvereinbarung — Patches spielen wir ein, bevor sie zum Problem werden. Alternativ übergeben wir an deine IT, mit Dokumentation und allen Zugängen. weiter im prozess ## Was nach dem CMS kommt alle leistungen im **überblick** - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — CRM, PIM oder Shop ans CMS anbinden: Daten laufen automatisch, statt von Hand kopiert zu werden. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Gepflegte Inhalte sind erst der Anfang: strukturiert für Google-Rankings und KI-Antworten. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — TYPO3 mit 13 Sprachen und PIM-Anbindung bei Spelsberg — und weitere Projekte in unseren Cases. zu den cases → Redaktion unabhängig machen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · content # Content-Audit Ein **Content-Audit** nimmt jede Seite deiner Website auf und beantwortet eine einzige Frage je URL: bleibt sie, wird sie überarbeitet — oder muss sie weg. Wir prüfen Inhaltsinventar, thematische Lücken und Duplicate Content über die ganze Seite. Du bekommst einen Report, keine leere Vorlage. siteway prüft, du entscheidest. audit audit: einzeln buchbar dauer: 1–2 wochen output: content-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Content-Audit? **Ein Content-Audit ist die systematische Bestandsaufnahme und Bewertung aller Inhalte einer Website.** Erfasst wird jede URL mit Titel, Seitentyp, Umfang und Datum. Bewertet werden Aktualität, Relevanz, Leistung und Dopplungen. Am Ende steht je URL eine Entscheidung — Halten, Überarbeiten, Zusammenführen oder Löschen. Das Audit ist eine Diagnose, keine Textproduktion. Wir schreiben in diesem Schritt keine Inhalte und bauen nichts um — wir sagen dir, was du hast, was doppelt ist und was fehlt. Was danach passiert, entscheidest du. Die Umsetzung ist eine eigene Leistung: [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/). Der häufigste Anlass ist ein Relaunch. Wer eine Seite neu baut, entscheidet für jede alte URL, ob sie mitkommt — das Inhaltsinventar ist dort Pflicht, nicht Kür. Details bei [Relaunch & Migration](https://www.siteway.de/expertise/relaunch-migration/). $ cat content-report.md - ✓Inhaltsinventar alle urls - ✓Befund je URL halten · überarbeiten · löschen - ✓Duplicate Content exakt + near-duplicate - ✓Plagiatsprüfung fremde domains - ✓Keyword-Kannibalisierung - ✓Thematische Lücken content-gap - ✓Priorisierung aufwand × wirkung anlass ## Wann sich das Audit lohnt viele seiten, **wenig wirkung** Websites sammeln an. Eine Kampagnenseite von 2019, drei Blogbeiträge zum selben Thema, zwei Leistungsseiten, die sich zu 80 Prozent überschneiden, eine Pressemitteilung, die niemand mehr liest. Nichts davon ist einzeln ein Problem. Zusammen sorgt es dafür, dass deine gute Seite gegen deine eigene alte Seite antritt — und dass Redaktion und Suchmaschinen nicht mehr erkennen, was der eine richtige Einstieg für ein Thema ist. Ein Audit lohnt sich, wenn du diese Übersicht verloren hast. Vor einem Relaunch ist es Pflicht, weil sonst alter Ballast einfach mitgenommen wird. Nach einem Zusammenschluss oder Rebranding lohnt es sich, weil zwei Content-Bestände nebeneinander liegen. Und es lohnt sich, wenn du nicht mehr weißt, welche der 400 Seiten überhaupt jemand aufruft. typische symptome - 01Zwei Seiten zum **gleichen Thema** - 02Inhalte mit Stand von **vor Jahren** - 03Seiten, die **niemand verlinkt** - 04Ein **Relaunch** steht an - 05Die Redaktion fragt: **„Wo pflegen wir das?"** prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Wir crawlen die komplette Seite und ziehen die Daten aus Search Console, Analytics und Sitemap zusammen. Dann schauen wir die relevanten Seiten an — von Hand, nicht nur als Zahl in einer Zeile. Sechs Bereiche, jeder mit einem Befund, den du im Report wiederfindest. p-01inventar ### Inhaltsinventar Jede URL mit Titel, H1, Seitentyp, Wortzahl, Veröffentlichungs- und Änderungsdatum. Die Grundlage für alles Weitere — und für viele Kunden das erste Mal, dass jemand ihre Seite vollständig auflistet. befund: url-liste komplett p-02bewertung ### Aktualität & Relevanz Stimmen die Angaben noch? Zahlt die Seite auf ein Ziel ein? Ruft sie überhaupt jemand auf? Wir kombinieren den inhaltlichen Blick mit den Zahlen aus Search Console und Analytics — Ballast wird sichtbar. befund: veraltet · schwach · tragend p-03dopplung ### Duplicate Content Exakte Kopien, Near-Duplicates, Parameter- und Filter-URLs, Druckansichten, fehlende oder falsche Canonicals. Wir vergleichen Inhalte über die ganze Seite hinweg, nicht Seite für Seite. befund: dubletten-liste + canonical p-04konkurrenz ### Kannibalisierung Zwei oder drei deiner Seiten ranken für dasselbe Thema und nehmen sich gegenseitig die Sichtbarkeit. Wir zeigen, welche Seite die Führung übernehmen sollte und welche darauf zeigt. befund: leitseite je thema p-05lücken ### Thematische Lücken Fragen, auf die deine Zielgruppe eine Antwort sucht und für die es bei dir keine Seite gibt. Wir gleichen dein Themenfeld mit dem Suchmarkt und dem Wettbewerb ab — und listen, was fehlt. befund: content-gap-liste p-06struktur ### Struktur & Verlinkung Verwaiste Seiten, die von keiner Navigation erreicht werden. Tote interne Links. Inhalte, die tief vergraben liegen, obwohl sie tragen. Struktur ist der Unterschied zwischen „vorhanden" und „auffindbar". befund: verwaiste urls + tote links mehrwert ## Duplicate Content ist mehr als Copy-Paste die dublette, die **niemand geschrieben hat** Die meisten Anleitungen zum Content-Audit widmen dem Thema einen Satz: „Dopplungen löschen." Das greift zu kurz. Der gefährlichste Duplicate Content entsteht gar nicht in der Redaktion, sondern im System — durch URLs, die dieselbe Seite unter verschiedenen Adressen ausliefern. Niemand hat sie geschrieben, niemand sieht sie im CMS, und trotzdem stehen sie im Index. Drei Fälle, die wir regelmäßig finden. d-01technisch ### Dieselbe Seite, viele Adressen Filter, Sortierung, Suchparameter, Session-IDs, Druckansicht, mit und ohne Slash. Aus einer Produktliste werden so schnell hunderte URLs mit demselben Inhalt. Die Lösung ist ein sauberes Canonical — nicht das Löschen der Seite. canonical + parameter-regeln d-02near-duplicate ### Fast gleich ist auch doppelt Zehn Standortseiten, bei denen nur die Stadt getauscht ist. Leistungsseiten, die sich in drei Sätzen unterscheiden. Für Nutzer wie für Maschinen ist das eine Seite in zehn Varianten. Hier hilft Zusammenführen — eine starke Seite statt zehn schwacher. zusammenführen + 301 d-03kannibalisierung ### Deine Seite gegen deine Seite Der Blogbeitrag von 2021 und die neue Leistungsseite zielen auf dasselbe Thema. Google muss wählen — und wählt oft die falsche. Der Beitrag bleibt, aber er verweist künftig auf die Leistungsseite, statt gegen sie anzutreten. leitseite + interne links d-04plagiate ### Derselbe Text auf fremden Seiten Die Plagiatsprüfung schaut über deine Domain hinaus: Steht dein Text wortgleich auf anderen Websites? Das passiert in beide Richtungen — jemand kopiert dich, oder ein Dienstleister hat dir Text geliefert, den es anderswo schon gab. Beides kostet Sichtbarkeit, weil Suchmaschinen entscheiden müssen, wer das Original ist. Wir prüfen jede relevante Seite gegen den Rest des Netzes und listen auf, wo sich dein Inhalt sonst noch findet. plagiats-liste + quelle Wichtig zur Einordnung: Duplicate Content ist keine Strafe. Google straft doppelte Inhalte nicht ab — es wählt nur selbst aus, welche Variante es zeigt, und verteilt die Signale auf mehrere URLs statt auf eine. Genau das kostet Sichtbarkeit. Bei Plagiaten ist es schärfer: Steht dein Text wortgleich auf einer stärkeren Domain, kann diese als Original gelten — und deine Seite verschwindet aus dem Index. Die technische Auszeichnung dahinter behandeln wir bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/), die Sichtbarkeit bei [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). output ## Was du bekommst ein report, **keine leere vorlage** Wer „Content-Audit" sucht, findet vor allem Excel-Vorlagen. Die Vorlage ist der einfache Teil — sie ist leer. Die Arbeit ist die Entscheidung: Welche der 900 Zeilen zählen, in welcher Reihenfolge, und was macht man konkret damit. Genau das ist der **content-report**. r-01entscheidung ### Befund je URL Halten, Überarbeiten, Zusammenführen oder Löschen — für jede Seite, mit einem Satz Begründung. Bei „Zusammenführen" und „Löschen" steht das Weiterleitungsziel gleich dabei. r-02reihenfolge ### Aufwand und Wirkung Jeder Befund bekommt eine Einschätzung, was er kostet und was er bringt. Daraus wird eine Reihenfolge: erst das, was viel bringt und wenig kostet. Der Rest wartet — bewusst. r-03nächster schritt ### Konkrete Maßnahmen Kein „Content optimieren", sondern: diese Seite mit jener zusammenführen, dort das Canonical setzen, diese drei Themen fehlen. So formuliert, dass deine Redaktion morgen anfangen kann. ablauf · 4 schritte ## So läuft das Audit vom crawl zum **report** 1. // schritt 01 · briefing Ziele und Zugänge. Wofür soll die Seite arbeiten, und was steht an — Relaunch, Aufräumen, Neuausrichtung? Du gibst uns Lesezugriff auf Search Console und Analytics. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · erhebung Crawl und Daten. Wir crawlen die komplette Seite und führen Crawl, Sitemap, Search Console und Analytics zu einem Inventar zusammen. Ab hier ist sichtbar, wie viele Seiten es wirklich gibt — meist mehr, als gedacht. output: inhaltsinventar 3. // schritt 03 · bewertung Prüfen und entscheiden. Dopplungen, Kannibalisierung, Lücken, Ballast — jeder Befund wird an der konkreten URL festgemacht und mit Aufwand und Wirkung bewertet. Das ist der Teil, den kein Tool allein übernimmt. output: befunde priorisiert 4. // schritt 04 · übergabe ● ergebnis Report und Durchsprache. Du bekommst den content-report und eine Stunde, in der wir ihn gemeinsam durchgehen. Danach gehört er dir — ob wir umsetzen, deine Redaktion oder jemand anderes, entscheidest du. output: content-report faq ## Häufige Fragen ### Was ist ein Content-Audit? Ein Content-Audit ist die systematische Bestandsaufnahme und Bewertung aller Inhalte einer Website. Erfasst wird jede URL mit Titel, Seitentyp, Umfang und Datum; bewertet werden Aktualität, Relevanz, Leistung und Dopplungen. Ergebnis ist keine Tabelle, sondern eine Entscheidung je URL: Halten, Überarbeiten, Zusammenführen oder Löschen. ### Wie lange dauert ein Content-Audit? Je nach Größe der Seite ein bis zwei Wochen. Der Crawl und die Datenerhebung laufen an einem Tag, die Zeit steckt in der Bewertung: Jede relevante URL wird angesehen, nicht nur gezählt. Bei sehr großen Seiten priorisieren wir nach Seitentypen und Traffic-Anteil, statt zehntausend URLs gleich tief zu prüfen. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele URLs deine Seite hat und welche Datenquellen wir bekommen (Search Console, Analytics, Sitemap), nennen wir einen Preis für das Audit und halten ihn fest. Keine Abrechnung nach Stunden, keine Überraschung im Report. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der content-report gehört dir. Du kannst ihn deiner eigenen Redaktion geben, einer anderen Agentur oder ihn erst einmal liegen lassen. Das Audit ist einzeln buchbar und an keine Folgeleistung gebunden. Wenn du willst, setzen wir die Befunde danach um — das entscheidest du nach dem Report, nicht davor. ### Wie findet ihr Duplicate Content? Wir crawlen die Seite und vergleichen die Inhalte über alle URLs hinweg — nicht nur exakte Kopien, sondern auch Near-Duplicates, bei denen sich zwei Seiten nur in wenigen Sätzen unterscheiden. Dazu kommen die technischen Dopplungen: Parameter- und Filter-URLs, Druckansichten, Seiten mit und ohne Slash, fehlende oder falsche Canonicals. Jeder Befund landet mit der konkreten URL im Report. ### Was ist der Unterschied zwischen Content-Audit und SEO-Audit? Das Content-Audit prüft, was auf deinen Seiten steht: Inhalte, Dopplungen, Lücken, Aktualität. Das [SEO-Audit](https://www.siteway.de/expertise/seo-audit/) prüft, wie deine Seite in der Suche steht: Rankings, Snippets, Indexierung und die technischen Signale drumherum. Die beiden überschneiden sich an einer Stelle — Keyword-Kannibalisierung — und ergänzen sich sonst. Wer vor einem Relaunch steht, braucht meist beides. ### Brauchen wir das Audit vor einem Relaunch? Ja, und zwar bevor die neue Struktur steht. Ein Relaunch entscheidet für jede alte URL, ob sie mitkommt, umgeleitet wird oder verschwindet. Ohne Inhaltsinventar trifft diese Entscheidung niemand — sie passiert einfach. Das Audit ist die Grundlage für das URL-Mapping und die Weiterleitungen bei [Relaunch & Migration](https://www.siteway.de/expertise/relaunch-migration/). ### Prüft ihr auch, ob unsere Texte auf anderen Websites stehen? Ja, das ist die Plagiatsprüfung. Wir vergleichen deine relevanten Seiten mit dem Rest des Netzes und zeigen dir, wo dein Inhalt sonst noch wortgleich auftaucht — egal ob jemand dich kopiert hat oder ein Dienstleister dir Text geliefert hat, den es anderswo schon gab. Das ist wichtig, weil Suchmaschinen bei identischem Inhalt entscheiden müssen, wer das Original ist: Steht dein Text auf einer stärkeren Domain, kann deine Seite aus dem Index fallen. Im Report bekommst du eine Liste der Fundstellen mit Quelle. passt dazu ## Passt dazu audits & **leistungen** - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Das Audit sagt, was zu tun ist — diese Leistung tut es: Inhalte überarbeiten, zusammenführen, pflegen. weiterlesen → - [SEO-Audit.](https://www.siteway.de/expertise/seo-audit/) — Die Schwester-Prüfung: nicht was auf den Seiten steht, sondern wie sie in der Suche stehen. Rankings, Snippets, Indexierung. weiterlesen → - [Relaunch & Migration.](https://www.siteway.de/expertise/relaunch-migration/) — Der häufigste Anlass fürs Audit. Das Inhaltsinventar wird dort zum URL-Mapping und zur Weiterleitungs-Strategie. weiterlesen → Wissen, was deine Inhalte taugen? [Audit anfragen](https://www.siteway.de/kontakt/) --- audit · conversion # Conversion-Audit Deine Website hat Besucher, aber zu wenige Anfragen. Das Conversion-Audit von siteway ist die **Conversion-Analyse** deiner bestehenden Seite: Wir prüfen Nutzerführung, Call-to-Actions, Formulare und die Absprungpunkte im Funnel. Heraus kommt ein Funnel-Report — priorisierte Befunde, Aufwand und Wirkung je Maßnahme, in der Reihenfolge, in der du sie angehen solltest. audit audit: einzeln buchbar dauer: 1–2 wochen output: funnel-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist eine Conversion-Analyse? **Eine Conversion-Analyse untersucht, warum Besucher einer Website nicht zu Anfragen, Käufen oder Anmeldungen werden.** Geprüft werden Nutzerführung, Call-to-Actions, Formulare und die Absprungpunkte im Funnel — also der Weg vom Einstieg bis zum Abschluss. Als Audit gebucht, ist das Ergebnis kein Werturteil, sondern ein Artefakt: der Funnel-Report. Der Unterschied zur Optimierung ist wichtig. Wir bauen im Audit nichts um. Wir schauen uns deinen Ist-Zustand an, benennen jeden Befund einzeln und ordnen ihn nach Aufwand und Wirkung. Wer danach umsetzt — dein Team, eine andere Agentur oder wir über [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/) — entscheidest du. $ cat funnel-report.md - ✓Funnel-Karte mit absprungpunkten - ✓Befunde je Schritt seite · cta · formular - ✓Priorität aufwand × wirkung - ✓Formular-Analyse feld für feld - ✓Screenshots mit Markierungen - ✓Maßnahmen-Reihenfolge 1 · 2 · 3 anlass ## Wann sich das Audit lohnt traffic da, **abschluss nicht** Ein Conversion-Audit lohnt sich, wenn Besucher kommen und trotzdem nichts passiert. Solange kaum jemand auf der Seite ist, ist das kein Conversion-Problem, sondern ein Sichtbarkeits-Problem — dann hilft [SEO-Audit](https://www.siteway.de/expertise/seo-audit/) oder [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) mehr. Das Audit setzt danach an: Der Traffic ist da, der Abschluss bleibt aus. Typische Anlässe: Das Kontaktformular wird geöffnet, aber nicht abgeschickt. Der Warenkorb füllt sich, die Kasse bleibt leer. Nach dem Relaunch sind die Anfragen weniger geworden, obwohl die Seite besser aussieht. Oder du willst Budget in Kampagnen stecken und wissen, ob die Seite den eingekauften Traffic überhaupt hält. symptome - 01Formular geöffnet, **nicht abgeschickt** - 02Warenkorb voll, **Kasse leer** - 03Nach dem **Relaunch** weniger Anfragen - 04Kampagnen-Budget ohne **Rücklauf** - 05Niemand weiß, **wo** abgesprungen wird prüfung · 7 felder ## Was wir prüfen jedes feld ein **befund** Wir gehen den Weg, den dein Nutzer gehen muss — vom Einstieg bis zum Abschluss — und halten an jeder Stelle an, an der er aussteigen könnte. Sieben Prüffelder, jedes endet in einem Befund, den man umsetzen oder ablehnen kann. Keine Meinungen, keine Geschmacksfragen. p-01funnel ### Funnel & Absprungpunkte Wir zerlegen den Weg zum Abschluss in Schritte: Einstieg, Angebotsseite, Formular oder Warenkorb, Bestätigung. Für jeden Schritt halten wir fest, wie viele Nutzer weiterkommen — und an welcher Stelle sie verschwinden. befund: funnel-karte + leckstellen p-02führung ### Nutzerführung Navigation, Seitenaufbau, nächster Schritt. Wir prüfen je Schlüsselseite, ob ein Besucher in fünf Sekunden versteht, wo er ist, was er hier bekommt und was er als Nächstes tun soll. befund: seiten-scorecard p-03cta ### Call-to-Actions Wie viele Handlungsaufforderungen konkurrieren auf einer Seite, wo stehen sie, wie heißen sie? „Absenden“ ist kein Versprechen. Wir prüfen Position, Beschriftung, Kontrast und ob der Nutzer weiß, was nach dem Klick passiert. befund: cta-inventar je seite p-04formulare ### Formulare Feld für Feld: Wie viele Pflichtfelder gibt es, welche davon braucht wirklich jemand? Wann erscheint eine Fehlermeldung, was sagt sie, bleibt die Eingabe erhalten? Und lässt sich das Formular mit Tastatur und auf dem Handy überhaupt sauber ausfüllen? befund: feld-liste + fehlerfälle p-05vertrauen ### Vertrauen & Belege An der Stelle, an der die Entscheidung fällt, entscheidet Vertrauen: Referenzen, Bewertungen, Preise, ein Ansprechpartner mit Namen, ein auffindbares Impressum. Wir prüfen, ob diese Belege dort stehen, wo gezögert wird — oder drei Klicks entfernt. befund: vertrauens-lücken p-06technik ### Technische Conversion-Killer Eine langsame Seite verliert Nutzer, bevor der Text eine Chance hat. Wir messen gegen die Core Web Vitals (LCP < 2,5 s, INP < 200 ms, CLS < 0,1) und prüfen Bedienbarkeit nach WCAG 2.2 — springende Layouts, zu kleine Klickflächen, Felder ohne Label. befund: messwerte + barrieren p-07messbarkeit ### Messbarkeit Wird ein Abschluss überhaupt gezählt — und zählt er das Richtige? Wir prüfen, ob deine Ziele sauber erfasst sind, ob doppelt gezählt wird und ob die Messung eine Rechtsgrundlage hat. Ohne belastbare Zahlen ist jede Optimierung eine Vermutung. befund: mess-lücken mehrwert ## Ein Tool zeigt Zahlen. Kein Tool nennt die Reihenfolge daten sind kein **befund** Heatmaps, Session-Recordings, Trichter-Charts: Werkzeuge zeigen dir, **dass** Nutzer abspringen. Sie sagen dir nicht, **warum** — und erst recht nicht, was du zuerst anfassen sollst. Genau da hört die Tool-Landschaft auf und das Audit fängt an. Wir übersetzen Beobachtung in Befund, Befund in Maßnahme und Maßnahmen in eine Reihenfolge. r-01ursache ### Warum statt Wo Ein Trichter zeigt: 70 % brechen im Formular ab. Der Befund muss weitergehen — welches Feld, welche Fehlermeldung, welches Gerät. Erst dann lässt sich etwas reparieren statt raten. beobachtung → ursache r-02priorität ### Aufwand × Wirkung Jeder Befund bekommt eine Aufwands- und eine Wirkungs-Einschätzung. Zwei Pflichtfelder streichen kostet eine Stunde. Die Kasse neu bauen kostet Wochen. Beides steht im Report — aber nicht auf demselben Platz. rang 1 · 2 · 3 output ## Was du bekommst der report **gehört dir** Der Funnel-Report ist ein Dokument, mit dem man arbeiten kann. Vorn steht die Funnel-Karte: jeder Schritt vom Einstieg bis zum Abschluss, mit den Stellen, an denen Nutzer verloren gehen. Dahinter liegen die Befunde — jeder mit Screenshot, Fundort, Ursache und der konkreten Maßnahme, die ihn behebt. Sortiert ist die Liste nicht nach Themen, sondern nach Reihenfolge: was zuerst dran ist, weil es viel bringt und wenig kostet — und was warten kann. Dazu eine Stunde Durchsprache, in der wir den Report gemeinsam durchgehen und deine Fragen direkt an der Seite klären. Danach entscheidest du frei. Dein Team setzt um, eine andere Agentur setzt um — oder siteway übernimmt es über [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/) und die Komponenten [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) und [Lead-Magnet-Formulare](https://www.siteway.de/expertise/lead-magnet-formulare/). Das Audit steht für sich. im report enthalten - 01**Funnel-Karte** mit Absprungpunkten - 02Befunde mit **Screenshot** & Fundort - 03Je Befund **Aufwand** & **Wirkung** - 04Maßnahmen in **Reihenfolge** - 05Eine Stunde **Durchsprache** ablauf · 4 schritte ## So läuft das Audit briefing bis **report** 1. // schritt 01 · briefing Ziel klären. Was ist bei dir eine Conversion — Anfrage, Kauf, Anmeldung, Anruf? Welche Seiten und Formulare gehören zum Funnel? Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · daten Daten sichten. Wir sehen uns an, was da ist: Webanalyse, Formular-Logs, CRM, Suchanfragen. Sind keine Daten da, prüfen wir den Funnel entlang der Schritte, die ein Nutzer gehen muss. Neue Tracker bauen wir dafür nicht ein. output: datenlage 3. // schritt 03 · prüfung Funnel durchgehen. Wir gehen den Weg selbst — am Desktop, auf dem Handy, mit Tastatur. Sieben Prüffelder, jeder Befund mit Screenshot, Fundort und Ursache. output: befundliste 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Du bekommst den Funnel-Report mit priorisierten Maßnahmen und eine Stunde Durchsprache. Ob wir danach umsetzen, entscheidest du — der Report gehört dir so oder so. output: funnel-report faq ## Häufige Fragen ### Was ist eine Conversion-Analyse? Eine Conversion-Analyse untersucht, warum Besucher einer Website nicht zu Anfragen, Käufen oder Anmeldungen werden. Geprüft werden Nutzerführung, Call-to-Actions, Formulare und die Absprungpunkte im Funnel — also der Weg vom Einstieg bis zum Abschluss. Als Audit gebucht, ist das Ergebnis kein Werturteil, sondern ein Funnel-Report: eine Liste priorisierter Befunde mit Aufwand, Wirkung und Reihenfolge. ### Was prüft ihr im Conversion-Audit konkret? Sieben Felder: den Funnel mit seinen Absprungpunkten, die Nutzerführung, die Call-to-Actions, die Formulare Feld für Feld, die Vertrauenssignale an der Entscheidungsstelle, technische Conversion-Killer wie Ladezeit, Layoutverschiebungen und Bedienbarkeit sowie die Messbarkeit — ob Abschlüsse überhaupt sauber gezählt werden. Jeder Punkt endet in einem Befund, nicht in einer Meinung. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Seitentypen, Funnel und Formulare geprüft werden, nennt siteway einen Preis und hält ihn fest. Es gibt keine Abrechnung nach Stunden und keine Nachforderung, wenn der Report länger wird als gedacht. ### Wie lange dauert ein Conversion-Audit? In der Regel ein bis zwei Wochen. Eine Business-Website mit einem Kontaktformular ist schneller geprüft als ein Shop mit Warenkorb, Versandoptionen und Kasse. Den genauen Zeitraum nennt siteway mit dem Festpreis. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Funnel-Report gehört dir. Du kannst ihn deinem eigenen Team geben, an eine andere Agentur weiterreichen oder in die Schublade legen. Wenn du willst, setzt siteway die Befunde anschließend um — über [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/) und die Komponenten [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) und [Lead-Magnet-Formulare](https://www.siteway.de/expertise/lead-magnet-formulare/). Das ist ein eigener Auftrag, keine Bedingung. ### Braucht ihr Zugriff auf unsere Analytics-Daten? Hilfreich, aber keine Bedingung. Mit vorhandenen Daten aus deiner Webanalyse, den Formular-Logs oder dem CRM wird der Funnel-Report belastbarer, weil sich Absprünge in Zahlen zeigen. Ohne Daten prüft siteway den Funnel entlang der Schritte, die ein Nutzer tatsächlich gehen muss. Neue Tracker oder Session-Recordings werden für ein Audit nicht eingebaut — Messung braucht eine saubere Rechtsgrundlage, und die klärt das [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). ### Ist ein Conversion-Audit dasselbe wie A/B-Testing? Nein. Ein A/B-Test vergleicht zwei Varianten und braucht Traffic, Zeit und eine Hypothese. Das Audit liefert die Hypothesen und sagt, welche zuerst dran ist — es ersetzt kein laufendes Testprogramm. siteway verspricht auch keine Conversion-Rate: Der Report benennt Befunde und schätzt Aufwand und Wirkung, die Zahlen entstehen erst nach der Umsetzung. passt dazu ## Passt dazu umsetzung & **nachbarn** - [UX/UI-Design.](https://www.siteway.de/expertise/ux-ui-design/) — Das Audit findet die Befunde — diese Leistung baut sie um: Nutzerführung, Interface und Formularstrecken, die zum Abschluss führen. weiterlesen → - [Page-Speed-Audit.](https://www.siteway.de/expertise/page-speed-audit/) — Wer nicht wartet, konvertiert nicht. Core Web Vitals im Detail — das Nachbar-Audit, wenn die Ladezeit der Absprunggrund ist. weiterlesen → - [PageSpeed-Check.](https://www.siteway.de/tools/pagespeed-check/) — Erst mal selbst nachsehen: Ladezeit und Core Web Vitals deiner Seite messen — kostenlos, ohne Anmeldung. zum tool → Wissen, wo die Anfragen verloren gehen? [Audit anfragen](https://www.siteway.de/kontakt/) --- audit · dsgvo # Datenschutz-Audit Wir schneiden mit, was deine Website wirklich tut: welche Dienste laden, welche Cookies fallen und was schon feuert, bevor jemand auf den Banner geklickt hat. Ein **DSGVO-Check für deine Website**, gemessen statt vermutet — geprüft gegen DSGVO und TDDDG (früher TTDSG). Heraus kommt der **dsgvo-befund**: priorisierte Befunde mit Aufwand und Wirkung. Eine technische Bestandsaufnahme, keine Rechtsberatung. audit audit: einzeln buchbar dauer: 2–4 arbeitstage output: dsgvo-befund [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein DSGVO-Check für Websites? **Ein DSGVO-Check ist die Prüfung, welche personenbezogenen Daten eine Website tatsächlich verarbeitet — welche Dienste sie lädt, welche Cookies und Speichereinträge dabei entstehen, wann das passiert und mit welcher Einwilligung.** Es ist eine Messung, keine Meinung: Seite aufrufen, mitschneiden, was passiert, und gegen das halten, was DSGVO und TDDDG verlangen — und was in deiner Datenschutzerklärung steht. Der entscheidende Paragraf steht nicht in der DSGVO, sondern im **§ 25 TDDDG**. Er sagt: Wer Informationen auf dem Endgerät speichert oder ausliest — also Cookies setzt oder localStorage nutzt —, braucht eine Einwilligung. Ausnahme: Die Speicherung ist für den vom Nutzer gewünschten Dienst unbedingt erforderlich. Das TTDSG heißt seit Mai 2024 so; inhaltlich ist der § 25 derselbe geblieben. Was siteway dabei nicht tut: bewerten, ob dein Verarbeitungszweck trägt oder deine Rechtsgrundlage hält. Wir sind Web-Agentur, keine Kanzlei. Wir liefern die Fakten — welcher Dienst, wann, mit welcher Einwilligung. Die juristische Bewertung macht dein Anwalt oder dein Datenschutzbeauftragter. Nur bekommt er sie zum ersten Mal belegt statt behauptet. $ cat dsgvo-befund.md - ✓Dienste-Inventar hosts · requests - ✓Cookies & Speicher zweck · laufzeit - ✓Last vor der Einwilligung - ✓Consent-Banner im Test § 25 tdddg - ✓Formulare & Übertragung - ✓Erklärung gegen Realität - ✓Befunde priorisiert kritisch → niedrig anlass ## Wann sich das Audit lohnt erst messen, **dann streiten** Der häufigste Anlass ist ein Brief. Eine Betroffenenanfrage, ein Hinweis der Aufsichtsbehörde, eine Abmahnung wegen eingebundener Google Fonts — plötzlich muss jemand belegen, was die Website tut. Und niemand im Haus weiß es genau, weil über Jahre Dienste dazugekommen sind: ein Pixel fürs Marketing, ein Chat-Widget, eine [Karte](https://www.siteway.de/expertise/karten-standorte/) auf der Kontaktseite, ein Video im Blog. Der zweite Anlass ist ein Verdacht. Der Consent-Banner steht, aber der Kollege aus dem Marketing sieht in Analytics auch Zahlen von Leuten, die nie zugestimmt haben. Oder: Die Datenschutzerklärung ist vier Jahre alt, die Website nicht. Beides sind keine Meinungsfragen — das lässt sich in einem Nachmittag messen. Wie das im Alltag aussieht, steht in unserem Beitrag [Datenschutz](https://www.siteway.de/insights/datenschutz/) in den Insights. symptome - 01Niemand weiß, **welche Dienste** eingebunden sind - 02Analytics zählt **mehr als der Consent** hergibt - 03Datenschutzerklärung **älter als die Website** - 04Abmahnung oder **Betroffenenanfrage** im Haus - 05Der DSB fragt — und **keiner kann antworten** prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Sechs Bereiche, gemessen an echten Seitenaufrufen — Startseite, Kontakt, Blog, Formularstrecke, Shop-Schritt, je nachdem, was du hast. Wir schneiden den Netzwerkverkehr mit, lesen Cookies und Speicher aus und klicken den Banner in allen Varianten durch: annehmen, ablehnen, widerrufen. Jeder Bereich endet mit einem Befund. p-01dienste ### Dienste-Inventar Jeder Request, jeder fremde Host: Analytics, Tag-Manager, Pixel, Karten, Videos, Schriften, CDN, [Chat-Widgets](https://www.siteway.de/expertise/ki-chatbots/). Am Ende steht eine Liste, die es in vielen Häusern zum ersten Mal gibt — inklusive der Dienste, die andere Dienste nachladen. befund: host-liste + empfänger p-02cookies ### Cookies & Speicher Alle Cookies mit Herkunft, Zweck und Laufzeit — und dazu localStorage und sessionStorage, die der § 25 TDDDG genauso meint, die aber in kaum einem Banner auftauchen. Ein Cookie mit zwei Jahren Laufzeit ist ein Befund, kein Detail. befund: cookie-tabelle + laufzeiten p-03pre-consent ### Last vor der Einwilligung Der wichtigste Messpunkt: Was passiert, bevor jemand klickt? Wir laden die Seite mit leerem Profil und schauen zu. Feuert der Tag-Manager schon? Lädt die Schrift von einem fremden Server? Das ist der Befund, den kein Screenshot zeigt. befund: requests vor klick p-04consent ### Consent-Banner im Test Wir klicken alle Wege durch: Gibt es „Ablehnen“ auf der ersten Ebene? Stoppt der Klick das Laden wirklich, oder blockt das Tool nur optisch? Übersteht die Ablehnung einen Seitenwechsel? Und lässt sich die Einwilligung wieder widerrufen? befund: blockierlogik + widerruf p-05formulare ### Formulare & Übertragung Kontakt, Bewerbung, [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/), [Newsletter](https://www.siteway.de/expertise/newsletter-e-mail/): Wohin gehen die Daten, wird per TLS übertragen, hängt ein Captcha eines Drittanbieters drin, greift Double-Opt-in? Formulare sind die Stellen, an denen echte Daten fließen — nicht nur Metriken. befund: datenwege + empfänger p-06abgleich ### Erklärung gegen Realität Zum Schluss halten wir die gemessene Dienste-Liste neben deine Datenschutzerklärung. Was läuft, steht dort nicht? Was dort steht, läuft längst nicht mehr? Beides ist ein Befund — und beides geht an deinen Anwalt, nicht an uns. befund: delta-liste für den dsb mehrwert ## Was der Gratis-Scanner nicht sieht der banner ist **kein beweis** Wer „DSGVO-Check Website“ sucht, findet ein Dutzend kostenloser Scanner. Sie sind gut für den ersten Eindruck: URL rein, 60 Sekunden warten, Ampel raus. Nur haben sie alle dieselben drei blinden Flecken — und die sind genau da, wo die teuren Befunde liegen. g-01reichweite ### Nur die Startseite Die Gratis-Version scannt meist eine Handvoll URLs. Das Video steckt aber im Blogartikel, die Karte auf der Kontaktseite, das Captcha im Bewerbungsformular. Wir prüfen Seitentypen, nicht Seitenzahlen — jede Vorlage einmal. seitentypen statt stichprobe g-02verhalten ### Der Ablehnen-Pfad Ein Scanner sieht, dass ein Banner da ist. Er klickt ihn nicht. Ob „Ablehnen“ das Laden wirklich stoppt, ob die Entscheidung den nächsten Seitenaufruf überlebt, ob der Widerruf greift — das zeigt nur ein Test, bei dem jemand klickt und mitschneidet. klicktest statt screenshot g-03reihenfolge ### Liste statt Reihenfolge Am Ende steht eine Ampel und der Hinweis „Handlungsbedarf“. Was zuerst, was kann warten, was ist egal — dazu sagt kein Tool etwas. Der dsgvo-befund ist sortiert: oben das, was echte Daten ohne Einwilligung abfließen lässt. priorität statt ampel output ## Was du bekommst: den dsgvo-befund der report **gehört dir** Ein Dokument, das zwei Leser hat: dich und deinen Datenschutzbeauftragten. Du liest die Reihenfolge, er liest die Belege. Jeder Befund hat einen Schweregrad, eine Fundstelle, einen geschätzten Aufwand und die Wirkung. Dazu eine Stunde Durchsprache — auch gern mit deinem DSB im Call. r-01befunde ### Priorisierte Befunde Von kritisch bis niedrig sortiert. Oben steht, was ohne Einwilligung Daten an Dritte gibt — nicht, was alphabetisch zuerst kommt. r-02beleg ### Dienste- & Cookie-Tabelle Jeder Dienst, jeder Host, jedes Cookie mit Zweck und Laufzeit. Die Tabelle, nach der dein DSB seit Jahren fragt — als Datei, nicht als Screenshot. r-03nachweis ### Mitschnitt als Nachweis Zu jedem kritischen Punkt der Request-Mitschnitt: welcher Aufruf, zu welchem Zeitpunkt, mit welchem Consent-Status. Nachprüfbar, auch von Dritten. r-04aufwand ### Aufwand & Wirkung Zu jedem Punkt eine Schätzung und der Effekt. Schriften lokal hosten kostet eine Stunde. Ein Consent-Tool sauber verdrahten kostet mehr — und bringt mehr. r-05reihenfolge ### Nächste Schritte Was diese Woche, was dieses Quartal, was gar nicht. Umsetzbar von jedem Entwickler — auch ohne uns. r-06eigentum ### Der Report gehört dir Als Markdown und PDF, ohne Sperrfrist und ohne Umsetzungspflicht. Gib ihn deinem DSB, deiner Kanzlei, deiner Agentur. ablauf · 4 schritte ## So läuft das Audit 2–4 tage bis zum **befund** 1. // schritt 01 · briefing Briefing & Scope. Welche Seitentypen gibt es, welches Consent-Tool läuft, gibt es Login-Bereiche oder Shop-Strecken, wer ist der DSB. Danach steht der Umfang — und der Festpreis. output: scope + festpreis 2. // schritt 02 · messung Messung. Wir rufen jeden Seitentyp mit leerem Profil auf, schneiden den Netzwerkverkehr mit, lesen Cookies und Speicher aus und klicken den Banner in allen Varianten durch — annehmen, ablehnen, widerrufen. output: rohdaten + mitschnitte 3. // schritt 03 · einordnung Einordnung & Priorisierung. Jeder Fund bekommt Schweregrad, Aufwand und Wirkung, geordnet nach DSGVO und § 25 TDDDG. Was nur kosmetisch ist, fliegt raus. Übrig bleibt eine Liste, die man von oben nach unten abarbeitet. output: priorisierte liste 4. // schritt 04 · übergabe ● ergebnis Befund & Durchsprache. Du bekommst den dsgvo-befund und eine Stunde Durchsprache, gern zusammen mit deinem DSB. Danach entscheidest du, wer umsetzt — und in welcher Reihenfolge. output: dsgvo-befund.md + pdf faq ## Häufige Fragen ### Was ist ein DSGVO-Check für Websites? Ein DSGVO-Check ist die Prüfung, welche personenbezogenen Daten eine Website tatsächlich verarbeitet — welche Dienste sie lädt, welche Cookies und Speichereinträge dabei entstehen, wann das passiert und mit welcher Einwilligung. Es ist eine Messung, keine Meinung: Man ruft die Seite auf, schneidet mit, was passiert, und vergleicht das mit dem, was DSGVO und TDDDG verlangen und was in der Datenschutzerklärung steht. ### Was prüft das Datenschutz-Audit konkret? Sechs Bereiche: das Inventar aller eingebundenen Dienste und Drittanbieter-Hosts, alle Cookies und Speichereinträge mit Laufzeit, die Last vor der Einwilligung — also was schon vor dem ersten Klick feuert —, den Consent-Banner im Test mit Ablehnen-Pfad und Widerruf, Formulare und deren Übertragungswege sowie den Abgleich zwischen Datenschutzerklärung und gemessenem Ist-Zustand. ### Ist das Datenschutz-Audit eine Rechtsberatung? Nein. siteway ist eine Web-Agentur, keine Kanzlei. Wir stellen technisch fest, was passiert: welcher Dienst wann lädt, welches Cookie mit welcher Laufzeit gesetzt wird, ob der Ablehnen-Klick das Laden wirklich stoppt. Diese Befunde sind die Grundlage für die juristische Bewertung — die macht dein Anwalt oder dein Datenschutzbeauftragter. Beide bekommen mit dem dsgvo-befund erstmals belastbare Fakten statt Vermutungen. ### Reicht nicht ein kostenloser DSGVO-Scanner? Für den ersten Eindruck ja. Nur endet ein Scanner meist bei drei URLs, misst nur den Startzustand und liefert eine alphabetische Liste. Er testet nicht, ob dein Ablehnen-Button das Laden tatsächlich stoppt, ob die Einwilligung nach einem Widerruf wirklich weg ist oder ob das Kontaktformular auf der Unterseite an einem Dienst hängt, den niemand kennt. Und er sagt dir nicht, was du zuerst anfasst. Genau das ist der Unterschied zum Audit. ### Gilt das TTDSG noch? Der Inhalt ja, der Name nicht mehr. Das TTDSG heißt seit Mai 2024 TDDDG — Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz. Die für Websites entscheidende Regel ist unverändert der § 25: Wer Informationen auf dem Endgerät speichert oder ausliest — also Cookies setzt oder localStorage nutzt —, braucht eine Einwilligung, außer die Speicherung ist für den vom Nutzer gewünschten Dienst unbedingt erforderlich. Wir prüfen gegen diesen Stand. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Seitentypen geprüft werden, welches CMS läuft, welches Consent-Tool im Einsatz ist und ob es Login-Bereiche oder Shop-Strecken gibt, nennen wir einen Preis für das Datenschutz-Audit und halten ihn fest. Keine Tagessätze, die während der Analyse wachsen. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der dsgvo-befund gehört dir, inklusive aller Befunde und Empfehlungen. Gib ihn deinem Datenschutzbeauftragten, deiner Kanzlei, deiner bisherigen Agentur oder deinem internen Team. Wenn du willst, setzt siteway die Punkte um — Consent-Tool sauber verdrahten, Dienste lokal hosten, Einbindungen entschärfen. Eine Pflicht dazu gibt es nicht. passt dazu ## Passt dazu audits & **leistungen** - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Das Audit findet die Befunde — diese Leistung räumt sie ab und hält sie sauber: Consent-Tool verdrahten, Dienste lokal hosten, Einbindungen im Blick behalten. weiterlesen → - [Security-Audit.](https://www.siteway.de/expertise/security-audit/) — Die Schwester zum Datenschutz-Audit: TLS, Security-Header wie CSP und HSTS, veraltete Abhängigkeiten und bekannte CVEs — wer einbrechen könnte, statt wer mitliest. weiterlesen → - [Datenschutz im Alltag.](https://www.siteway.de/insights/datenschutz/) — Was Datenschutz für eine Website praktisch bedeutet — der Beitrag aus unseren Insights, zum Weiterlesen vor dem Briefing. zum artikel → Wissen, was deine Website wirklich lädt? [Audit anfragen](https://www.siteway.de/kontakt/) --- komponente · digital-goods # Digitale Produkte, Abo & Payment Digitale Produkte, Abo & Payment ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Du willst **digitale Produkte verkaufen**: Downloads, Zugänge und Abos, direkt auf deiner Seite, mit wiederkehrender Zahlung über Stripe oder PayPal, [Zugriffssteuerung](https://www.siteway.de/expertise/login-mitgliederbereich/) und automatischer Rechnung. komponente baustein: einzeln buchbar payment: stripe · paypal · klarna output: subscriptions + paywall [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was sind digitale Produkte? **Digitale Produkte sind Waren ohne physischen Versand: Downloads wie E-Books, Vorlagen oder Software, zeitlich begrenzte Zugänge und Abos.** Als Komponente gebaut, verkaufst du sie direkt auf deiner eigenen Website — mit Bezahlung über Stripe oder PayPal, automatischer Freischaltung nach dem Kauf und, bei Abos, wiederkehrender Zahlung. Der Unterschied zum [klassischen Shop](https://www.siteway.de/expertise/shop-e-commerce/) liegt in der Auslieferung: Es gibt kein Lager, keinen Versand und keine Retoure. Bezahlt wird ein Zugang — einmalig oder als Abo. Genau darauf ist dieser Baustein gebaut: Zahlung, Zugriffssteuerung und Rechnung greifen ineinander, damit nach dem Kauf ohne Handarbeit das Richtige freigeschaltet wird. $ cat digitale-produkte.md - ✓Payment & Checkout stripe · paypal - ✓Abo & wiederkehrende Zahlung - ✓Zugriffssteuerung paywall - ✓Download-Auslieferung signierte links - ✓Rechnung & Steuer 19 % · 7 % - ✓Kundenkonto & Abo-Verwaltung warum ## Einmal erstellt, immer wieder verkauft umsatz, der sich **wiederholt** Ein digitales Produkt erstellst du einmal und verkaufst es beliebig oft — ohne Lager, ohne Versand, rund um die Uhr. Beim Abo wird aus dem einmaligen Verkauf ein wiederkehrender Umsatz: Der Kunde zahlt jeden Monat oder jedes Jahr, solange er den Zugang nutzt. Das macht Einnahmen planbar, statt jeden Monat bei null zu starten. Damit das trägt, muss die Technik sauber sein. Wir bauen den Baustein so, dass Zahlung, Freischaltung und Rechnung automatisch ineinandergreifen — die eigentliche Payment-Anbindung an Stripe oder PayPal übernimmt die Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). Die Inhalte selbst — Datei, Kurs oder Zugang — bringst du mit. was der baustein liefert - 01Wiederkehrender **Umsatz** statt Einmalverkauf - 02Auslieferung **ohne Handarbeit** - 03Zugriff **nur für Zahlende** - 04**Rechnung** automatisch je Kauf baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — kein gemietetes Verkaufs-Widget, sondern Zahlung, Zugriff und Rechnung als fester Teil deiner Website. Jede Funktion hat ein greifbares Ergebnis. f-01payment ### Payment & Checkout Bezahlung über Stripe oder PayPal, dazu Klarna, Apple Pay und Google Pay. Der Checkout läuft auf deiner Seite, die Auszahlung geht direkt an deinen Account — ohne Plattform dazwischen. output: checkout + payment f-02abo ### Abo & wiederkehrende Zahlung Subscriptions mit Laufzeit, automatischer Verlängerung und Kündigung. Fehlgeschlagene Zahlungen werden erneut versucht, der Zugang bleibt nur aktiv, solange das Abo läuft. output: subscriptions f-03zugriff ### Zugriffssteuerung & Paywall Inhalte, Downloads und Bereiche nur für zahlende Kundinnen freischalten. Die Freigabe passiert automatisch nach erfolgreicher Zahlung — kein manuelles Nachpflegen von Zugängen. output: paywall + freischaltung f-04auslieferung ### Download-Auslieferung Gekaufte Dateien liefern wir über signierte, ablaufende Links aus, statt sie offen zu verlinken — so lässt sich ein Kauf-Link nicht weitergeben. Die Dateien selbst verwaltet die [Download- & Mediathek](https://www.siteway.de/expertise/download-mediathek/). output: signierte download-links f-05rechnung ### Rechnung & Steuer Zu jedem Kauf und jeder Abbuchung eine automatische Rechnung mit ausgewiesener Mehrwertsteuer — 19 % im Regelfall, 7 % für E-Books. Der Pflicht-Hinweis zum Widerrufsrecht bei digitalen Inhalten wird im Kauf gesetzt. output: rechnung + mwst f-06self-service ### Kundenkonto & Abo-Verwaltung Ein Bereich, in dem Kundinnen Zahlungsmethode, Rechnungen und Abo selbst verwalten und kündigen. Den Login dazu liefert [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/), wir schließen Payment daran an. output: self-service mehrwert ## Eigene Infrastruktur statt Plattform-Provision deine domain, **deine daten** Die meisten Ratgeber schicken dich zu Verkaufsplattformen wie Digistore24, Elopage oder Gumroad. Bequem am Anfang, teuer auf Dauer: Sie behalten je Verkauf eine Provision, deine Kundinnen landen auf einer fremden Subdomain und der Kundenbestand liegt in einem System, das dir nicht gehört. Wenn wir den Baustein in deine Website einbauen, verkaufst du unter deiner eigenen Domain — die Provision entfällt. v-01domain ### Verkauf auf deiner Seite Checkout, Konto und Bereich laufen auf deiner Domain, in deinem Design. Kein Bruch zu einer Plattform-Oberfläche, der Kunde bleibt bei dir. eigene checkout-strecke v-02auszahlung ### Keine Plattform-Provision Die Zahlung läuft über deinen eigenen Stripe- oder PayPal-Account. Es fällt nur deren Transaktionsgebühr an — kein zusätzlicher Anteil je Verkauf an eine Verkaufsplattform. direkte auszahlung v-03daten ### Kundendaten bei dir Kundenkonten, Abos und Rechnungen liegen in deinem System, nicht in einem Plattform-Account. Kein Lock-in — du kannst dein Angebot jederzeit weiterentwickeln. kein plattform-lock-in einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · angebot Angebot festlegen. Einmalkauf oder Abo, welche Produkte, welche Laufzeiten und Preise. Wir klären den Umfang und wie Zugriff und Freischaltung aussehen sollen. output: produkt- & preisplan 2. // schritt 02 · payment Payment anbinden. Wir verbinden deinen Stripe- oder PayPal-Account, richten Checkout und Subscriptions ein und testen Kauf, Verlängerung und Kündigung im Sandbox-Modus. output: checkout + subscriptions 3. // schritt 03 · zugriff Zugriff & Rechnung verdrahten. Paywall, Freischaltung nach Zahlung, signierte Download-Links und die automatische Rechnung mit Mehrwertsteuer werden angeschlossen — der Ablauf läuft ohne Handarbeit. output: paywall + rechnung 4. // schritt 04 · live ● ergebnis Live schalten. Vom Test- in den Live-Modus, ein echter Probekauf, fertig. Danach verkaufst du digitale Produkte und Abos selbst — Zahlung, Zugriff und Rechnung laufen im Hintergrund. output: live-verkauf faq ## Häufige Fragen ### Was sind digitale Produkte? Digitale Produkte sind Waren ohne physischen Versand: Downloads wie E-Books, Vorlagen oder Software, zeitlich begrenzte Zugänge und Abos. Als Website-Komponente gebaut, verkaufst du sie direkt auf deiner eigenen Website — mit Bezahlung über Stripe oder PayPal, automatischer Freischaltung nach dem Kauf und, bei Abos, wiederkehrender Zahlung. ### Wie funktioniert der Verkauf über Abo und wiederkehrende Zahlung? Wir bauen Subscriptions über Stripe oder PayPal ein: Der Kunde bezahlt einmal, danach wird der Betrag automatisch je Laufzeit erneut eingezogen — monatlich oder jährlich. Die Komponente verwaltet Verlängerung, Kündigung und fehlgeschlagene Zahlungen und schaltet den Zugang nur so lange frei, wie das Abo aktiv ist. ### Welche Zahlungsarten baut ihr ein? Für wiederkehrende Zahlungen setzen wir auf Stripe oder PayPal, weil beide Subscriptions sauber abbilden. Für Einmalkäufe kommen Klarna, Apple Pay und Google Pay dazu. Die Zahlung läuft über deinen eigenen Anbieter-Account — die Auszahlung geht direkt an dich, ohne zusätzliche Plattform-Provision. ### Wie schützt ihr Downloads und bezahlte Inhalte vor unbefugtem Zugriff? Bezahlte Inhalte liegen hinter einer Paywall: Freigeschaltet wird erst nach erfolgreicher Zahlung. Downloads liefern wir über signierte, zeitlich ablaufende Links aus, statt die Datei offen zu verlinken — so lässt sich ein Kauf-Link nicht einfach weitergeben. Geschützte Dateien selbst verwaltet die Schwester-Komponente [Download- & Mediathek](https://www.siteway.de/expertise/download-mediathek/). ### Bekomme ich Rechnungen und die richtige Mehrwertsteuer ausgewiesen? Ja. Zu jedem Kauf und jeder Abo-Abbuchung wird automatisch eine Rechnung mit ausgewiesener Mehrwertsteuer erstellt — in der Regel 19 %, für E-Books gilt der ermäßigte Satz von 7 %. Auch der Pflicht-Hinweis zum Widerrufsrecht bei digitalen Inhalten wird im Kaufprozess gesetzt. Die steuerliche Bewertung deines konkreten Angebots bleibt Sache deiner Steuerberatung — wir bauen die technische Grundlage dafür. ### Können Kundinnen und Kunden ihr Abo selbst verwalten und kündigen? Ja. Über ein Kundenkonto verwalten sie Zahlungsmethode, Rechnungen und Abo selbst und können jederzeit kündigen — ohne dass jemand bei dir per Hand eingreifen muss. Der Login-Bereich dafür kommt aus der Komponente [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/), an die wir Payment und Abo anschließen. ### Können wir die Komponente einzeln buchen? Ja. Digitale Produkte, Abo & Payment ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Download- & Mediathek.](https://www.siteway.de/expertise/download-mediathek/) — Verwaltet die Dateien, die du verkaufst — der Baustein liefert sie geschützt aus, sobald bezahlt ist. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Payment-Anbindung an Stripe oder PayPal und die Verbindung zu Rechnung und Buchhaltung. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites mit Payment und Zugriffssteuerung im Einsatz — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Digitale Produkte & Abos verkaufen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · dns # DNS- & E-Mail-Audit Deine Mails landen im Spam — oder jemand versendet in deinem Namen. Wir **prüfen SPF, DKIM und DMARC** und lesen die komplette DNS-Zone deiner Domain. Heraus kommt der dns-report: jeder Befund priorisiert, mit fertigem Record-Vorschlag und der Reihenfolge, in der du ihn umsetzt. siteway prüft, du entscheidest. audit audit: einzeln buchbar dauer: 3–5 werktage output: dns-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein DNS- & E-Mail-Audit? **Ein DNS- & E-Mail-Audit prüft, ob deine Domain technisch sauber E-Mails versendet und empfängt.** Auf dem Prüfstand stehen SPF, DKIM und DMARC — die drei DNS-Verfahren, mit denen empfangende Mailserver entscheiden, ob eine Mail wirklich von dir kommt. Dazu kommen das Alignment dieser Verfahren, die komplette DNS-Zone mit MX- und PTR-Records und die Frage, welche Systeme überhaupt in deinem Namen versenden. Das Audit ist eine Diagnose, keine Baustelle. Wir schauen uns den Ist-Zustand an und schreiben auf, was davon hält, was fehlt und was dich Zustellbarkeit kostet. Du bekommst den **dns-report** — und entscheidest danach frei, wer ihn umsetzt: dein Hoster, deine IT oder wir. $ cat dns-report.md - ✓Absender-Inventar wer versendet für dich - ✓SPF record · lookups · dubletten - ✓DKIM selektor je dienst - ✓DMARC policy · alignment · rua - ✓DNS-Zone mx · a · cname · ptr · ttl - ✓Transport & Reputation mta-sts · blacklists - →Befunde priorisiert + record-vorschläge anlass ## Wann sich das Audit lohnt e-mail ist **infrastruktur** E-Mail fällt selten laut aus. Sie wird leise unzuverlässig: Die Bestellbestätigung kommt beim Kunden nicht an, das Kontaktformular schickt ins Nichts, der Newsletter landet im Werbung-Tab. Niemand meldet das — die Mails sind ja rausgegangen. Erst wenn Umsatz oder Bewerbungen fehlen, fällt es auf. Die zweite Variante ist unangenehmer: Jemand versendet in deinem Namen. Ohne DMARC-Policy kann jeder Absender deine Domain ins Von-Feld schreiben — Spoofing kostet keine Technik, nur ein Skript. Deine Kunden sehen deinen Namen, du siehst nichts. Beides sind Konfigurationsprobleme im DNS, und beide sind mit Records lösbar. Man muss nur wissen, welche. typische symptome - 01Mails landen im **Spam** — mal beim einen Empfänger, mal beim anderen - 02Kunden melden Mails, die du **nie versendet** hast - 03Neuer **Newsletter-Dienst** oder CRM angebunden - 04Formular- und Systemmails der Website **kommen nicht an** - 05Vor **Relaunch oder Umzug** — die Zone soll sauber mitkommen prüfumfang · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Wir lesen deine DNS-Zone Record für Record und stellen sie gegen die Realität: gegen die Dienste, die tatsächlich Mails in deinem Namen verschicken. Jeder Bereich endet mit einem Befund — grün, gelb oder rot, immer mit Begründung. p-01inventar ### Absender-Inventar Wer versendet eigentlich für dich? Mailserver, Google Workspace oder Microsoft 365, Newsletter-Tool, CRM, Shop, Ticketsystem, Formular- und Systemmails der Website. Diese Liste ist die Grundlage — ohne sie prüft man Records ins Blaue. befund: versender-liste p-02spf ### SPF Ein SPF-Record je Domain, nicht zwei. Alle Versender aus dem Inventar enthalten. Und höchstens 10 DNS-Lookups — darüber liefert SPF einen permerror, und die Prüfung schlägt fehl, obwohl der Record „da" ist. befund: record · lookups · dubletten p-03dkim ### DKIM Jeder Versanddienst signiert mit einem eigenen Selektor. Wir prüfen je Dienst: Ist der öffentliche Schlüssel im DNS, ist die Schlüssellänge zeitgemäß, und hält die Signatur beim Empfänger tatsächlich? befund: selektor je dienst p-04dmarc ### DMARC Policy, Alignment, Reporting. Steht p=none, quarantine oder reject — und passt die Domain in der Signatur zur Domain im Von-Feld? Ohne Alignment nützt ein gültiger SPF-Record nichts. Und laufen die rua-Reports überhaupt irgendwo auf? befund: policy · alignment · rua p-05zone ### DNS-Zone & MX Die ganze Zone, nicht nur die drei Mail-Records: MX, A, CNAME, PTR, TTL und Nameserver. Wir finden verwaiste Einträge alter Dienste, widersprüchliche Ziele und TTLs, die einen Umzug zur Zitterpartie machen. befund: zonen-inventar p-06transport ### Transport & Reputation MTA-STS und TLS-RP für verschlüsselten Transport, PTR-Record für die versendende IP, dazu der Blacklist-Status von IP und Domain. Reputation ist der Teil, den kein Record allein rettet — aber ein sauberes Setup hält sie stabil. befund: mta-sts · blacklists mehrwert ## Was freie Checker nicht sehen grün heißt nicht **zugestellt** Kostenlose SPF-, DKIM- und DMARC-Checker gibt es reichlich, und sie sind ein guter erster Blick. Sie fragen ab, was im DNS steht, und melden „gültig" oder „fehlt". Nur beantworten sie die drei Fragen nicht, an denen Zustellbarkeit tatsächlich hängt: Wer versendet für dich? Hält das unter Last? Und was zuerst? c-01blindstelle ### Die unbekannten Versender Ein Checker sieht deinen SPF-Record — aber nicht das Bewerbungstool, das die Personalabteilung vor zwei Jahren angebunden hat. Wir schalten DMARC-Reporting scharf und lesen aus den Reports, wer real in deinem Namen versendet. Erst dann ist die Liste vollständig. rua-reports statt raten c-02alignment ### Gültig ≠ ausgerichtet SPF und DKIM können beide „grün" sein und DMARC scheitert trotzdem — weil die geprüfte Domain nicht zur Domain im Von-Feld passt. Genau dieses Alignment ist die häufigste stille Ursache, wenn Mails über Dritt-Dienste rausgehen und beim Empfänger durchfallen. aspf · adkim c-03reihenfolge ### Die Reihenfolge Wer DMARC sofort auf p=reject stellt, blockt zuverlässig auch die eigenen Rechnungsmails. Der Weg führt über p=none mit Reporting, dann quarantine, dann reject — erst wenn alle Versender sauber signieren. Der Report schreibt dir diese Staffel auf. none → quarantine → reject kontext · warum das seit 2024 dringlicher ist Google verlangt seit dem 1. Februar 2024 von Absendern mit mehr als 5.000 Nachrichten pro Tag an Gmail-Konten SPF *und* DKIM, zusätzlich einen DMARC-Eintrag, eine Abmeldung mit einem Klick und eine in den Postmaster Tools gemeldete Spamrate unter 0,3 %. Was früher „nice to have" war, ist damit Voraussetzung für die Zustellung — und die Grenze rutscht nach unten, sobald Newsletter, Shop und CRM zusammen versenden. (Quelle: Google-Richtlinien für E-Mail-Absender) output · dns-report ## Was du bekommst der report **gehört dir** Der **dns-report** ist ein Dokument, kein Dashboard-Zugang. Jeder Befund steht mit Beleg da: was wir gemessen haben, warum es ein Problem ist, was es dich kostet. Dazu die Einordnung nach **Wirkung und Aufwand** — damit du siehst, welche zwei Records am Montag gesetzt gehören und welche Baustelle Zeit hat. Konkret heißt das: fertige Record-Vorschläge zum Kopieren, jeweils mit Zielsystem und Kommentar. Dein Hoster oder deine IT setzt sie ein, ohne dass jemand nochmal recherchieren muss. Dazu die Staffel für DMARC, die Liste der Versender und ein Prüf-Kommando, mit dem du nach der Umsetzung selbst nachsehen kannst. Wenn du willst, setzen wir es um oder begleiten den Weg zu p=reject — das läuft dann über [Betrieb, Wartung & Support](https://www.siteway.de/expertise/betrieb-wartung-support/). Musst du aber nicht. Der Report funktioniert auch ohne uns. ablauf · 4 schritte ## So läuft das Audit 3–5 werktage bis zum **report** 1. // schritt 01 · briefing Domains und Versender sammeln. Welche Domains, welche Mailsysteme, welche Tools versenden? Du nennst uns, was du weißt — die Lücken finden wir. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · messung Zone lesen, Mails testen. Wir ziehen die komplette DNS-Zone, prüfen SPF, DKIM und DMARC gegen jeden Versender und schicken Testmails durch die echten Wege — Formular, Shop, Newsletter. output: rohbefunde 3. // schritt 03 · bewertung Priorisieren. Jeder Befund bekommt Wirkung und Aufwand. Daraus wird eine Reihenfolge — inklusive der Staffel von p=none über quarantine zu reject, damit unterwegs keine Mail verloren geht. output: priorisierte liste 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Der dns-report mit allen Befunden, Record-Vorschlägen zum Kopieren und nächsten Schritten — plus ein Gespräch, in dem wir ihn mit dir und deiner IT durchgehen. output: dns-report faq ## Häufige Fragen ### Was ist ein DNS- & E-Mail-Audit? Ein DNS- & E-Mail-Audit prüft, ob deine Domain technisch sauber E-Mails versendet und empfängt. Geprüft werden SPF, DKIM und DMARC, das Alignment dieser Verfahren, die komplette DNS-Zone mit MX- und PTR-Records sowie alle Systeme, die in deinem Namen versenden. Ergebnis ist ein Report mit priorisierten Befunden und den passenden Record-Vorschlägen. ### Warum landen unsere E-Mails im Spam? Meist, weil die Empfänger deine Mails nicht sicher deiner Domain zuordnen können. Typische Ursachen: ein SPF-Record ohne den Dienst, der gerade versendet, fehlendes oder falsch hinterlegtes DKIM, ein DMARC-Eintrag, dessen Alignment nicht passt, oder eine versendende IP auf einer Blacklist. Das Audit findet heraus, welche dieser Ursachen bei dir zutrifft — und welche zuerst behoben gehört. ### Reicht nicht ein kostenloser SPF-, DKIM- und DMARC-Check? Für einen ersten Blick ja. Ein Checker prüft die Records, die er über DNS sieht, und sagt dir gültig oder ungültig. Er weiß aber nicht, welche Systeme in deinem Namen versenden, ob dein SPF-Record das Limit von 10 DNS-Lookups reißt, ob DMARC-Reports irgendwo auflaufen und in welcher Reihenfolge du die Baustellen anfassen solltest, ohne dass Mails ausfallen. Genau das liefert das Audit von siteway. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Domains und Versandsysteme im Spiel sind, nennen wir einen Preis und halten ihn fest. Keine Stundenzettel, keine Überraschung am Ende. ### Wie lange dauert das Audit? In der Regel drei bis fünf Werktage ab Briefing. Wenn wir DMARC-Reports über einen echten Zeitraum auswerten sollen, um alle Versender zu finden, planen wir zusätzlich zwei bis vier Wochen Sammelphase ein — dafür richten wir das Reporting im ersten Schritt ein. ### Ist das Audit ein Security-Audit oder ein Penetrationstest? Nein. Das DNS- & E-Mail-Audit prüft Konfiguration: Records, Policies, Alignment und Zustellbarkeit. Es ist kein Penetrationstest, keine Prüfung deines Mailservers von innen und keine Rechtsberatung. Angriffsfläche, Header und Zertifikate deiner Website sind Thema im [Security-Audit](https://www.siteway.de/expertise/security-audit/), Server und Hosting im [Hosting- & Infrastruktur-Audit](https://www.siteway.de/expertise/hosting-infrastruktur-audit/). ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Die Record-Vorschläge sind so notiert, dass dein Hoster, deine IT oder dein Systemhaus sie direkt übernehmen kann. Wenn du willst, setzen wir es um oder begleiten den Weg von p=none zu p=reject — musst du aber nicht. passt dazu ## Passt dazu umsetzung & **nachbarprüfungen** - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Das Audit findet die Befunde — diese Leistung setzt sie um und hält die Zone sauber: Records pflegen, DMARC-Reports beobachten, Policy hochziehen. weiterlesen → - [Security-Audit.](https://www.siteway.de/expertise/security-audit/) — Die Nachbarprüfung für die Website statt für die Mails: Angriffsfläche, Security-Header wie CSP und HSTS, Zertifikate und veraltete Komponenten. weiterlesen → - [Domain-Check.](https://www.siteway.de/tools/domain-check/) — Für den ersten Blick auf deine Domain: kostenlos, ohne Anmeldung. Ersetzt kein Audit, zeigt aber, ob sich ein genauerer Blick lohnt. zum tool → Kommen deine Mails wirklich an? [Audit anfragen](https://www.siteway.de/kontakt/) --- komponente · media # Download- & Mediathek Ein **Downloadbereich** als Komponente: eine geordnete Mediathek für Datenblätter, Broschüren und Whitepaper — mit Kategorien, Suche, Versionsstand und Zähler, auf Wunsch hinter Login oder Formular. Wir bauen diesen Baustein in deine Website ein. Heraus kommt eine Datei-Bibliothek, die deine Redaktion selbst pflegt. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: mediathek [Briefing starten](https://www.siteway.de/kontakt/) [Funktionen ansehen](#funktionen) definition ## Was ist ein Downloadbereich? **Ein Downloadbereich ist eine geordnete Datei-Bibliothek auf der Website, über die Besucher Dokumente gezielt finden und herunterladen.** Statt PDFs lose auf zehn Unterseiten zu verstreuen, liegen Datenblätter, Broschüren, Whitepaper und Formulare an einer Stelle — kategorisiert, durchsuchbar und mit klarem Versionsstand. Als Mediathek gedacht ist der Downloadbereich mehr als ein Datei-Grab: Jede Datei hat einen Titel, eine Beschreibung und eine Kategorie. Der Link bleibt stabil, auch wenn die Datei ausgetauscht wird. Und du siehst, was gezogen wird. Wir bauen diese Komponente in deine bestehende oder neue Website ein. $ cat downloadbereich.md - ✓Kategorien & Filter - ✓Volltext-Suche in der Mediathek - ✓Versionsstand aktuell · datiert - ✓Download-Zähler je Datei - ✓Zugriffsschutz offen · login · formular - ✓Pflege im CMS ohne entwickler warum ## Mediathek statt PDF-Grab eine quelle · **immer aktuell** Verstreute Dateien werden zum Problem, sobald es mehr als eine Handvoll sind. Das neue Datenblatt liegt auf der Produktseite, die alte Version noch im Blog, die Broschüre nur im Newsletter-Anhang. Besucher finden nichts, und irgendwann lädt jemand ein Dokument von 2023 herunter. Ein zentraler **Downloadbereich** löst das: eine Adresse, eine Ordnung, ein Versionsstand. Deine Redaktion pflegt Dateien im CMS, der Zähler zeigt, was gefragt ist, und geschützte Downloads werden zum Kanal für [Leads](https://www.siteway.de/expertise/lead-magnet-formulare/). Das spart Support-Anfragen und macht Vertriebsunterlagen auffindbar. was die komponente ersetzt - 01PDFs verstreut auf **vielen Seiten** - 02Kein Überblick, welche **Version** gilt - 03Kein Wissen, was **gezogen** wird - 04Vertrauliches ohne **Schutz** online funktionen · 6 bausteine ## Was die Komponente kann von datei bis **download** Sechs Funktionen, ein Baustein. Wir schalten frei, was du brauchst — von der einfachen Broschüren-Liste bis zur geschützten Mediathek mit Auswertung. Jede Funktion hat ein greifbares Ergebnis. f-01ordnung ### Kategorien & Filter Dateien nach Typ, Thema oder Produkt sortiert. Besucher filtern die Liste, statt zu scrollen — bei zehn wie bei tausend Dokumenten. output: kategorien f-02finden ### Suche Volltextsuche über Titel, Beschreibung und — wo sinnvoll — den Dateiinhalt. Auf Wunsch verbunden mit der [Website-Suche](https://www.siteway.de/expertise/suche/). output: volltext f-03stand ### Versionierung Datei austauschen, Link bleibt. Die aktuelle Version ist markiert und datiert, alte Stände bleiben auf Wunsch abrufbar. Niemand lädt versehentlich Altes. output: version + datum f-04zählen ### Download-Zähler Jeder Zugriff wird gezählt, datenschutzkonform ohne Personenbezug. Du siehst, welche Broschüre zieht und welches Dokument niemand braucht. output: zähler je datei f-05format ### Formate & Vorschau PDF, Bild, Video oder ZIP mit Icon, Dateigröße und Vorschaubild in AVIF/WebP. Der Besucher weiß vor dem Klick, was ihn erwartet. output: typ + größe f-06pflege ### Pflege im CMS Dateien hochladen, benennen, einordnen — im gewohnten [CMS](https://www.siteway.de/expertise/cms-redaktion/), ohne Entwickler und ohne FTP. TYPO3, WordPress oder Statamic. output: redaktion zugriff ## Offen oder geschützt drei modelle · **eine komponente** Die wichtigste Frage bei jedem Downloadbereich: Wer darf was ziehen? Ein Prospekt darf jeder sehen, ein Preisblatt nur Partner, ein Whitepaper gibt es gegen eine E-Mail-Adresse. Wir bauen das passende Zugriffsmodell ein — auch gemischt, Datei für Datei. z-01offen ### Offen für alle Broschüren, Prospekte, öffentliche Datenblätter. Direkt herunterladbar, von Suchmaschinen indexierbar — maximale Reichweite ohne Hürde. public · indexierbar z-02login ### Hinter Login Partner-Dokumente, Preislisten, interne Unterlagen. Nur angemeldete Nutzer sehen die Datei — kombiniert mit [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/). geschlossen · rollen z-03formular ### Gegen Formular Whitepaper und Studien als Lead-Magnet: Datei erst nach dem Ausfüllen eines Formulars — DSGVO-konform, verbunden mit [Lead-Magnet-Formularen](https://www.siteway.de/expertise/lead-magnet-formulare/). gated · lead ablauf · 4 schritte ## So bauen wir die Komponente ein briefing bis **übergabe** 1. // schritt 01 · briefing Dateien & Zugriff klären. Welche Dateitypen, wie viele Kategorien, was ist offen, was geschützt. Wir legen die Struktur fest, bevor wir bauen. output: struktur 2. // schritt 02 · einbau Komponente einbauen. Wir setzen die Mediathek im CMS auf: Kategorien, Suche, Versionierung, Zähler und das gewählte Zugriffsmodell. output: mediathek 3. // schritt 03 · befüllung Befüllen & einweisen. Erste Dateien wandern rein, deine Redaktion wird eingewiesen. Danach pflegt ihr den Downloadbereich selbst. output: redaktion fit 4. // schritt 04 · live ● ergebnis Live & messbar. Der Downloadbereich geht online, der Zähler läuft. Du siehst ab Tag eins, welche Dokumente gefragt sind. output: live faq ## Häufige Fragen ### Was ist ein Downloadbereich auf einer Website? Ein Downloadbereich ist eine geordnete Datei-Bibliothek auf der Website, über die Besucher Dokumente wie Datenblätter, Broschüren, Whitepaper oder Formulare herunterladen. Statt Dateien lose auf Unterseiten zu verstreuen, liegen sie kategorisiert an einer Stelle — mit Suche, Versionsstand und optionalem Zugriffsschutz. ### Was kostet die Download- & Mediathek-Komponente? Festpreis nach Briefing. Sobald klar ist, wie viele Kategorien, welche Dateitypen und welcher Zugriffsschutz gebraucht werden, nennen wir einen Preis für den Einbau der Komponente und halten ihn im Vertrag fest. Die Komponente ist einzeln buchbar oder Teil einer kompletten Website. ### Können Downloads geschützt werden? Ja. Der Downloadbereich kann offen sein, hinter einem Login für angemeldete Nutzer liegen oder eine Datei erst nach dem Ausfüllen eines Formulars freigeben. Für geschlossene Bereiche kombinieren wir die Komponente mit Login & Mitgliederbereich, für Lead-Downloads mit den Lead-Magnet-Formularen. ### In welchem CMS läuft die Mediathek? In deinem. Wir bauen die Komponente für TYPO3, WordPress oder Statamic. Deine Redaktion lädt Dateien im gewohnten CMS hoch, vergibt Kategorien und tauscht Versionen aus — ohne Entwickler und ohne FTP-Zugang. ### Wie funktioniert die Versionierung von Dateien? Beim Austausch eines Dokuments bleibt der Link stabil, während die aktuelle Version klar als aktuell markiert wird. Wer will, hält ältere Stände abrufbar und zeigt ein Datum an. So laden Besucher nie versehentlich ein veraltetes Datenblatt herunter. ### Sieht man, wie oft eine Datei heruntergeladen wird? Ja. Ein Download-Zähler protokolliert die Zugriffe je Datei, datenschutzkonform ohne personenbezogene Auswertung. So erkennst du, welche Broschüre gefragt ist und welches Dokument niemand braucht. passt dazu ## Passt dazu bausteine & leistungen im **überblick** - [Login & Mitgliederbereich.](https://www.siteway.de/expertise/login-mitgliederbereich/) — Der geschlossene Bereich vor der Mediathek: Downloads nur für angemeldete Nutzer und Rollen. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Damit deine Redaktion Dateien selbst pflegt: TYPO3, WordPress oder Statamic, sauber eingerichtet. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Wie wir Komponenten wie diese in echte Websites eingebaut haben — unsere Cases. zu den cases → Downloadbereich einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- svc-03 · entwicklung # Entwicklung & Umsetzung **Website programmieren lassen** heißt bei siteway: Wir übersetzen [Konzept](https://www.siteway.de/expertise/konzept-strategie/) und [Design](https://www.siteway.de/expertise/ux-ui-design/) in schlankes, semantisches Markup und Templates, die deine Redaktion füllt. Eigenentwicklungen bauen wir mit PHP und Laravel — versioniert über Git, ausgeliefert über CI/CD. Code, der auch in zwei Jahren wartbar bleibt. svc-03 stack: php · laravel · cms festpreis nach briefing output: templates [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was heißt „Website programmieren lassen“? **Eine Website programmieren zu lassen heißt: Eine Agentur übersetzt Konzept und Design in funktionierenden Code** — semantisches HTML, wartbare Templates und ein CMS, das die Redaktion selbst bedient. Im Unterschied zum Baukasten gehört dir das Ergebnis komplett: der Code, das Git-Repository und alle Zugänge. Der Unterschied zeigt sich nach dem Launch: Ein Baukasten stößt an Grenzen, sobald Schnittstellen, Mehrsprachigkeit oder [Barrierefreiheit nach BFSG](https://www.siteway.de/expertise/barrierefreiheit/) gefordert sind. Programmierter Code wächst mit — jede Erweiterung baut auf Templates auf, statt gegen ein geschlossenes System zu arbeiten. $ cat entwicklung.md - ✓Semantisches HTML & CSS - ✓Templates fürs CMS typo3 · wordpress · statamic - ✓Eigenentwicklung php · laravel - ✓Versionierung & Deployment git · ci/cd - ✓Qualitätssicherung wcag 2.2 · core web vitals - ✓Übergabe & Doku templates warum ## Code, den in zwei Jahren noch jemand versteht wartbarkeit ist kein feature · **sie ist der preis jeder änderung** Die meisten Websites werden einmal gebaut und dann fünf Jahre lang geändert. Ob eine neue Landingpage eine Stunde kostet oder eine Woche, entscheidet nicht das Design — sondern der Zustand des Codes darunter. Gewachsene Sonderlösungen, undokumentierte Hacks und Copy-Paste-Templates machen jede Änderung teurer als die davor. Deshalb bauen wir von Anfang an auf Wartbarkeit: Templates statt Einzelseiten, jede Änderung versioniert in Git, automatische Checks in der CI/CD-Pipeline. Deine Redaktion legt neue Seiten selbst an — ohne Entwickler-Ticket. Und wenn in zwei Jahren jemand anderes am Code arbeitet, findet er sich zurecht. Auch das gehört zum Ergebnis. woran du wartbaren code erkennst - 01**Git-Historie** — jede Änderung nachvollziehbar - 02**CI/CD** — Deployments automatisch geprüft - 03**Templates** statt kopierter Einzelseiten - 04**Doku** — fremde Entwickler finden sich zurecht leistung · 6 bausteine ## Was die Website-Entwicklung umfasst vom scope zum **template** Sechs Bausteine, ein Ergebnis: eine Website, die deine Redaktion füllt und dein Team weiterentwickeln kann. Jeder Baustein hat ein greifbares Artefakt — nichts davon ist Blackbox. b-01frontend ### Semantisches Markup HTML, das Struktur beschreibt statt nur Optik. Die Grundlage für Barrierefreiheit nach WCAG 2.2, sauberes SEO und Inhalte, die KI-Systeme als Quelle lesen können. output: html + css b-02templates ### Wartbare Templates Aus dem Design werden Vorlagen und Inhaltselemente, die deine Redaktion frei kombiniert. Neue Seite anlegen heißt: Template wählen, Inhalte einsetzen, fertig. output: templates b-03backend ### Eigenentwicklung PHP & Laravel Wenn Standard-Software nicht reicht: Portale, Konfiguratoren und Kundenbereiche als Eigenentwicklung mit PHP und Laravel — kalkuliert per Kostenvoranschlag. output: laravel-app b-04workflow ### Git, CI/CD & Staging Jede Änderung liegt versioniert in Git und geht durch die CI/CD-Pipeline: automatische Checks, dann Deployment auf Staging und Live. Du siehst den Stand jederzeit. output: repo + pipeline b-05performance ### Performance & Bilder Schlankes Markup, Bilder als AVIF/WebP, nichts lädt, was die Seite nicht braucht. Ziel sind die „guten“ Core Web Vitals — LCP unter 2,5 s, gemessen bei jedem Release. output: core web vitals b-06qualität ### Qualitätssicherung & Übergabe Code-Review, Tests auf echten Geräten, Prüfung gegen WCAG 2.2. Zur Abnahme bekommst du Doku, Repository-Zugriff und alle Zugänge — kein Lock-in. output: abnahme + doku entscheidung ## Baukasten, Freelancer oder Agentur? ehrliche antwort statt **verkaufsargument** Nicht jede Website muss programmiert werden. Die ehrliche Frage ist: Bildet deine Website Geschäftsprozesse ab — oder ist sie eine Visitenkarte? Danach entscheidet sich, welcher Weg passt. opt-01baukasten ### Baukasten Reicht für die Visitenkarten-Seite: wenige Unterseiten, keine Schnittstellen, Standard-Design. Grenzen erreichst du bei Mehrsprachigkeit, BFSG-Barrierefreiheit und allem, was das System nicht vorsieht. Der Code gehört dem Anbieter — Umzug heißt Neubau. gut für: visitenkarte opt-02freelancer ### Freelancer Gut für klar umrissene Projekte mit einer Disziplin. Der Engpass ist die eine Person: Urlaub, Krankheit oder Auslastung treffen dein Projekt direkt — und nach dem Launch hängt die Wartung an derselben Verfügbarkeit. gut für: kleinprojekt opt-03agentur ### Agentur Sinnvoll, sobald die Website Prozesse abbildet: eigene Templates, CRM- und ERP-Schnittstellen, mehrere Sprachen, Barrierefreiheit als Pflicht. Konzept, Design, Entwicklung und Betrieb kommen aus einem Team — mit Vertretung statt Engpass. gut für: geschäftsprozesse standards ## Qualität, die du nachmessen kannst standards statt **geschmackssache** „Guter Code“ ist keine Geschmacksfrage — es gibt Standards, gegen die du jede Website prüfen kannst, auch unsere. Wir entwickeln gegen die [Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/) (LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1), gegen [WCAG 2.2 und das BFSG](https://www.siteway.de/expertise/barrierefreiheit/) und liefern [strukturierte Daten als Schema.org-JSON-LD](https://www.siteway.de/expertise/strukturierte-daten/) mit, damit Google und KI-Systeme die Inhalte korrekt einordnen. Dass das skaliert, zeigt unser größtes Projekt: Für [Spelsberg](https://www.siteway.de/cases/spelsberg/) betreiben wir eine TYPO3-Plattform mit 13 Sprachen und Anbindungen an PIM, Cadenas, Algolia und Hubspot. prüfbar bei abnahme performance: lcp < 2,5 s · inp < 200 ms · cls < 0,1 a11y: wcag 2.2 · bfsg [alle details im stack →](https://www.siteway.de/stack/) ki im workflow ## KI-gestützt entwickelt, von Menschen verantwortet schneller bauen · **nichts ungeprüft ausliefern** Wir entwickeln KI-gestützt — mit GitHub Copilot, Cursor und Claude. Die Werkzeuge übernehmen, was Zeit frisst und keine Entscheidung braucht: Boilerplate, Tests, Refactorings. Das macht die Entwicklung schneller, ohne dass am Budget für die eigentlichen Probleme gespart wird. Die Grenze ist klar: Kein ungeprüfter KI-Code landet im Repository. Jede Änderung geht durch Review, die CI/CD-Pipeline prüft automatisch nach — und die Verantwortung für Architektur und Ergebnis bleibt bei unseren Entwicklern. Wie wir KI sonst noch einsetzen, steht unter [KI & Automation](https://www.siteway.de/expertise/ki-automation/). arbeitsteilung - kiBoilerplate, Tests, Refactorings copilot · cursor · claude - devArchitektur, Review, **Verantwortung** - ciAutomatische Checks vor jedem **Deployment** ablauf · 5 schritte ## So läuft die Umsetzung jederzeit sichtbar auf **staging** 1. // schritt 01 · setup Scope & Setup. Wir übernehmen Scope und Design aus [Konzept](https://www.siteway.de/expertise/konzept-strategie/) und [UX/UI](https://www.siteway.de/expertise/ux-ui-design/), legen das Git-Repository an und setzen CI/CD-Pipeline und Staging-Umgebung auf. output: repo + staging 2. // schritt 02 · frontend Templates & Komponenten. Aus dem Design entstehen semantisches Markup und wiederverwendbare Inhaltselemente — die Bausteine, aus denen später jede Seite besteht. output: templates 3. // schritt 03 · cms CMS-Integration. Die Templates werden in TYPO3, WordPress oder Statamic integriert. Deine [Redaktion](https://www.siteway.de/expertise/cms-redaktion/) bekommt genau die Felder, die sie braucht — nicht mehr, nicht weniger. output: cms-setup 4. // schritt 04 · integration Inhalte & Schnittstellen. Inhalte kommen ins System, [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) zu CRM, Warenwirtschaft oder Payment werden angebunden und mit echten Daten getestet. output: integrationen 5. // schritt 05 · launch ● ergebnis QA, Abnahme & Go-live. Review, Tests auf echten Geräten, Prüfung gegen WCAG 2.2 und Core Web Vitals. Dann Go-live über die Pipeline — und Übergabe mit Doku und allen Zugängen. Danach übernehmen wir auf Wunsch [Betrieb & Wartung](https://www.siteway.de/expertise/betrieb-wartung-support/). output: launch + doku faq ## Häufige Fragen ### Was kostet es, eine Website programmieren zu lassen? Festpreis nach Briefing. Sobald Scope, Templates und Funktionen feststehen, nennen wir einen Preis und halten ihn im Vertrag fest. Plattform-Eigenentwicklungen kalkulieren wir per Kostenvoranschlag. Pauschale Preislisten ohne Briefing wären geraten — deshalb findest du hier keine. ### Wie lange dauert die Entwicklung einer Website? Das hängt vom Scope ab. Eine Business-Website mit CMS liegt meist bei einigen Wochen Entwicklungszeit, eine Plattform mit Schnittstellen bei mehreren Monaten. Nach dem Briefing bekommst du einen Zeitplan mit Meilensteinen — und siehst den Stand jederzeit auf der Staging-Umgebung. ### Baukasten oder Website programmieren lassen — was ist besser? Für eine einfache Visitenkarten-Seite reicht ein Baukasten. Programmieren lassen lohnt sich, sobald die Website Geschäftsprozesse abbildet: eigene Templates, Schnittstellen zu CRM oder Warenwirtschaft, mehrere Sprachen, Barrierefreiheit nach BFSG. Dann brauchst du Code, der dir gehört und den du erweitern kannst. ### Mit welchen Technologien arbeitet siteway? CMS-Projekte setzen wir mit TYPO3, WordPress oder Statamic um, Eigenentwicklungen mit PHP und Laravel. Der Code liegt versioniert in Git und wird über CI/CD-Pipelines ausgeliefert. Bilder liefern wir als AVIF/WebP aus, strukturierte Daten als Schema.org-JSON-LD. ### Wem gehört der Code nach dem Projekt? Dir. Der Code liegt in einem Git-Repository, auf das du Zugriff bekommst — zusammen mit allen Zugängen und der Doku. Es gibt keinen Lock-in: Jede andere Agentur oder ein interner Entwickler kann das Projekt übernehmen und weiterentwickeln. ### Was bedeutet wartbarer Code? Code, den in zwei Jahren noch jemand versteht — auch ein fremder Entwickler. Konkret: semantisches Markup, Templates statt Sonderlösungen, jede Änderung versioniert in Git, automatische Checks in der CI/CD-Pipeline und eine Doku, die den Aufbau erklärt. Wartbarkeit entscheidet, was jede spätere Änderung kostet. ### Programmiert ihr mit KI? Ja, KI-gestützt: GitHub Copilot, Cursor und Claude beschleunigen Boilerplate, Tests und Refactorings. Jede Zeile geht aber durch Review — kein ungeprüfter KI-Code landet im Repository. Die Verantwortung für den Code bleibt bei unseren Entwicklern. ### Was passiert nach dem Launch? Die Website bleibt bei uns in Betrieb und Wartung, wenn du das willst: Updates für CMS und Abhängigkeiten, Monitoring und Weiterentwicklung über dieselbe CI/CD-Pipeline wie im Projekt. Du kannst den Betrieb aber auch selbst übernehmen — Code und Zugänge gehören dir. weiter im prozess ## Was nach der Entwicklung kommt alle leistungen im **überblick** - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — TYPO3, WordPress oder Statamic — deine Redaktion pflegt Inhalte selbst, in den Templates aus der Entwicklung. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — CRM, Warenwirtschaft, Buchung und Payment per REST und SOAP anbinden — Daten laufen automatisch. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Was aus Scope und Templates geworden ist — unsere Cases, von der Business-Website bis zur 13-sprachigen Plattform. zu den cases → Website programmieren lassen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · forms # Formularstrecken Formularstrecken sind bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Statt ein langes Formular **online zu erstellen**, wird daraus eine mehrstufige Strecke: mit bedingter Logik, Fortschrittsanzeige, serverseitiger Validierung und sicherem Versand — Spam-Schutz ohne Tracking, [DSGVO-konform](https://www.siteway.de/expertise/barrierefreiheit/). komponente baustein: einzeln buchbar spam-schutz: ohne tracking output: send.php + /danke/ [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Formularstrecke? **Eine Formularstrecke ist ein mehrstufiges Formular, das eine Anfrage oder einen Antrag in klare Schritte teilt — mit Fortschrittsanzeige, bedingter Logik und geprüften Eingaben.** Statt einem langen Block, der abschreckt, führt sie den Besucher Schritt für Schritt zum Ziel. Als Komponente gebaut, läuft sie direkt auf deiner Domain: serverseitig validiert, per send.php sicher zugestellt. Der Unterschied zum Standard-Kontaktformular ist die Führung. Ein einfaches Formular fragt alles auf einmal; eine Formularstrecke zeigt nur, was gerade relevant ist, und blendet Felder je nach Antwort ein. Das ist derselbe Baustein wie ein [Konfigurator](https://www.siteway.de/expertise/konfiguratoren/) — nur ohne Angebots-Zusammenstellung am Ende, dafür auf Datenerfassung und sicheren Versand ausgelegt. $ cat formularstrecken.md - ✓Mehrstufiger Aufbau + fortschritt - ✓Bedingte Logik felder je antwort - ✓Validierung client + server - ✓Spam-Schutz ohne reCAPTCHA - ✓Sicherer Versand send.php - ✓Zielsystem e-mail · crm · api warum ## Warum mehrstufig statt ein langer Block jeder schritt eine **hürde weniger** Ein langes Formular mit zwanzig Feldern sieht nach Arbeit aus — und wird abgebrochen. Eine Formularstrecke zerlegt dieselbe Anfrage in überschaubare Schritte. Der Besucher sieht immer nur den nächsten, weiß dank Fortschrittsanzeige, wie weit er ist, und beantwortet keine Felder, die für ihn nicht gelten. Für dich zahlt sich das doppelt aus: Weniger Abbrüche und sauberere Daten, weil die Validierung Fehler abfängt, bevor sie in deinem Postfach landen. Die eingehenden Angaben führen wir dann dorthin, wo du sie brauchst — per E-Mail, ins CRM oder über eine [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/) in dein Fachsystem. was der baustein liefert - 01Weniger **Abbrüche** durch kurze Schritte - 02Saubere Daten dank **Validierung** - 03Kein Spam ohne **Tracking-Tools** - 04Angaben direkt im **Zielsystem** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein generisches Formular-Tool im iframe, sondern eine Strecke in deinem Design, auf deiner Domain, mit deinem Datenfluss. Jede Funktion hat ein greifbares Ergebnis. f-01struktur ### Mehrstufiger Aufbau Die Anfrage in klare Schritte geteilt, mit Fortschrittsanzeige und Zurück-Button. Jeder Schritt bleibt kurz — der Besucher weiß immer, wo er steht und wie viel noch kommt. output: schritte + fortschritt f-02logik ### Bedingte Logik Felder und ganze Schritte erscheinen abhängig von vorherigen Antworten. Wer „Bestandskunde" wählt, sieht das Kundennummer-Feld — alle anderen nicht. Nichts Irrelevantes im Weg. output: felder je antwort f-03prüfung ### Validierung Eingaben werden im Browser sofort und auf dem Server verlässlich geprüft: Pflichtfelder, Formate, Plausibilität. So kommen bei dir vollständige, saubere Angaben an — nicht halbe Datensätze. output: client + server f-04abwehr ### Spam-Schutz ohne Tracking Honeypot-Feld, Zeitfalle und serverseitige Prüfungen halten Bots fern — ganz ohne Google-reCAPTCHA und die Datenübertragung, die damit einhergeht. Deine Besucher lösen keine Klick-Rätsel. output: honeypot + zeitfalle f-05versand ### Sicherer Versand Zustellung über unser eigenes send.php-Prinzip: verschlüsselte Verbindung, saubere Fehlerbehandlung, am Ende eine eigene /danke/-Seite als klarer Abschluss — und als messbares Conversion-Ziel. output: send.php + /danke/ f-06anschluss ### Anbindung ans Zielsystem Die Angaben laufen dorthin, wo du sie verarbeitest: als E-Mail, ins CRM wie HubSpot oder Pipedrive, oder über eine [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/) in dein Fachsystem. output: e-mail · crm · api mehrwert ## Sicher versenden — ohne Fremd-Server deine daten, **deine domain** Wer ein Online-Formular erstellen will, landet schnell bei einem SaaS-Baukasten. Bequem — aber die Formulardaten laufen dann über die Server des Anbieters, oft mit eingebautem Google-reCAPTCHA, das Nutzer trackt. Genau das umgeht unser Baustein: Die Strecke läuft auf deiner Domain, der Versand über dein eigenes send.php, der Spam-Schutz ohne Tracking. Datenschutz ist bei uns kein Nachgedanke, sondern die Bauweise. d-01hoheit ### Daten bleiben bei dir Kein Umweg über ein Formular-SaaS: Die Eingaben gehen per verschlüsselter Verbindung direkt an dein Ziel. Kein Drittanbieter liest mit, keine Daten auf fremden Servern. eigene domain d-02abwehr ### Spam ohne reCAPTCHA Bots stoppen wir mit einem unsichtbaren Honeypot, einer Zeitfalle und serverseitigen Prüfungen — statt mit Googles reCAPTCHA, das Nutzerdaten überträgt. Wirksam und unauffällig. honeypot + zeitfalle d-03konform ### DSGVO eingebaut Pflichtangaben, Einwilligungstext und Datenschutzhinweis sind Teil der Strecke, nicht nachträglich draufgeklebt. Barrierefrei nach WCAG 2.2 — Details bei [Barrierefreiheit](https://www.siteway.de/expertise/barrierefreiheit/). einwilligung + hinweis einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · struktur Schritte planen. Welche Felder, welche Reihenfolge, welche bedingte Logik. Wir legen fest, wie die Strecke aufgeteilt wird und wohin die Daten am Ende laufen. output: feld-plan + logik 2. // schritt 02 · bau In die Seite bauen. Wir setzen die Strecke in deinem Design um — mehrstufig, mit Fortschrittsanzeige und Validierung, im CMS oder als eigenständige Seite. Barrierefrei bedienbar. output: strecke + validierung 3. // schritt 03 · versand Versand anschließen. send.php, Spam-Schutz und die /danke/-Seite werden verdrahtet, das Zielsystem angebunden — E-Mail, CRM oder Schnittstelle. Dann wird getestet, bis jeder Fall sitzt. output: send.php + ziel 4. // schritt 04 · live ● ergebnis Livegang. Die Strecke geht live, ein erster Testlauf bestätigt den kompletten Weg vom ersten Feld bis zur Danke-Seite. Danach läuft sie in deiner Website — ohne Fremd-Tool. output: live-strecke faq ## Häufige Fragen ### Was ist eine Formularstrecke? Eine Formularstrecke ist ein mehrstufiges Formular, das eine Anfrage oder einen Antrag in klare Schritte teilt — mit Fortschrittsanzeige, bedingter Logik und geprüften Eingaben. Als Website-Komponente gebaut, läuft sie direkt auf deiner Domain: serverseitig validiert, per send.php sicher zugestellt und mit eigener Danke-Seite. Kein externes Formular-Tool, keine Daten auf Fremdservern. ### Was ist der Unterschied zwischen Formularstrecke und Lead-Magnet-Formular? Ein [Lead-Magnet-Formular](https://www.siteway.de/expertise/lead-magnet-formulare/) ist kurz: ein Feld für die E-Mail gegen ein Whitepaper oder eine Checkliste. Eine Formularstrecke führt durch mehrere Schritte — Angaben, die aufeinander aufbauen, Felder, die je nach Antwort erscheinen, am Ende ein sicherer Versand. Braucht dein Formular nur eine E-Mail, reicht das Lead-Magnet-Formular; geht es um Anträge, Anfragen oder Konfigurationen, ist die Formularstrecke der richtige Baustein. ### Wie schützt ihr das Formular vor Spam — ohne reCAPTCHA? Wir setzen Spam-Schutz ohne Google reCAPTCHA ein, weil reCAPTCHA Nutzerdaten an Google überträgt. Stattdessen kombinieren wir ein unsichtbares Honeypot-Feld, eine Zeitfalle gegen Bots und serverseitige Prüfungen. Das hält automatisierte Absendungen fern, ohne deine Besucher zu tracken oder mit Klick-Rätseln aufzuhalten. ### Sind die Formulare DSGVO-konform? Ja. Die Formularstrecke läuft auf deiner eigenen Domain, die Daten gehen per verschlüsselter Verbindung an dein Ziel — keine Weitergabe an ein Formular-SaaS auf Fremdservern. Pflichtangaben, Einwilligungstext und Datenschutzhinweis bauen wir sauber ein. Was wohin fließt, bleibt in deiner Hand. ### Was bedeutet bedingte Logik bei einem Formular? Bedingte Logik heißt: Felder erscheinen abhängig von vorherigen Antworten. Wer „Ich bin Bestandskunde" wählt, sieht das Kundennummer-Feld, alle anderen nicht. Das hält jeden Schritt kurz und relevant — statt ein langes Formular mit Feldern, die die Hälfte der Besucher überspringen muss. ### Können wir die Formularstrecke einzeln buchen? Ja. Formularstrecken sind eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und wir bauen sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) — Der kurze Fall: ein Feld für die E-Mail gegen ein Whitepaper. Wenn die Anfrage nur einen Schritt braucht, ist das der passende Baustein. weiterlesen → - [Konfiguratoren.](https://www.siteway.de/expertise/konfiguratoren/) — Derselbe mehrstufige Baustein, aber mit Angebot am Ende: Produkt oder Leistung Schritt für Schritt zusammenstellen. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Damit die Angaben nicht im Postfach liegen bleiben: Anbindung an CRM, ERP oder dein Fachsystem per API. weiterlesen → Formularstrecke in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · geo # GEO-Audit Wir **messen deine KI-Sichtbarkeit**: ob ChatGPT, Perplexity und die Google AI Overviews deine Marke nennen, deine Seiten zitieren — oder den Wettbewerb empfehlen. Dazu prüfen wir, ob die KI-Systeme technisch überhaupt an deine Inhalte kommen und wie zitierfähig diese Inhalte sind. Heraus kommt ein Report mit priorisierten Befunden. Die Umsetzung danach ist optional: [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). audit audit: einzeln buchbar dauer: 1–2 wochen output: ai-visibility [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein GEO-Audit? **Ein GEO-Audit prüft, wie sichtbar deine Marke in generativen Suchsystemen ist — in ChatGPT, Perplexity, den Google AI Overviews, Gemini und Copilot.** Gemessen wird mit einem festen Set an Fragen: Wie oft wirst du genannt, wie oft wird deine Seite als Quelle zitiert, wer wird stattdessen empfohlen. Dazu kommt der technische Teil — kommen die KI-Systeme an deine Inhalte, und sind diese Inhalte so gebaut, dass man sie zitieren kann. GEO steht für Generative Engine Optimization. Das Audit ist die Diagnose davor: Es sagt dir, wo du stehst und was in welcher Reihenfolge zu tun ist. Die Optimierung selbst ist eine eigene Leistung — [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). Du musst sie nicht bei siteway beauftragen: Der Report gehört dir. $ cat ai-visibility.md - ✓Trefferquote je KI-System chatgpt · perplexity · ai overviews - ✓Erwähnung · Zitat · Empfehlung getrennt gezählt - ✓Wettbewerber in denselben Antworten - ✓Crawler-Zugang robots.txt · rendering - ✓Zitierfähigkeit je Seite - ✓Befunde priorisiert aufwand × wirkung anlass ## Wann sich das Audit lohnt rankings stabil, **klicks weg** Der typische Auslöser: In der Search Console bleiben die Impressionen stabil, die Klicks sinken. Die Antwort steht jetzt oben in der Suche — und wenn dort ein anderer zitiert wird, klickt niemand mehr weiter. Ein Ranking ist nur noch die halbe Sichtbarkeit. Der zweite Auslöser ist unangenehmer: Jemand fragt ChatGPT nach Anbietern in deinem Feld — und du kommst nicht vor. Oder du kommst vor, aber mit falschen Angaben. Beides ist messbar, und beides hat Ursachen, die man finden kann. Genau das macht das Audit. symptome - 01Impressionen stabil, **Klicks sinken** - 02ChatGPT nennt den **Wettbewerb**, nicht dich - 03KI-Antworten enthalten **veraltete Angaben** zu dir - 04Relaunch geplant — **Ausgangswert** fehlt - 05Budget für GEO gefordert, **Beleg** fehlt prüfpunkte · 6 ## Was wir prüfen jeder prüfpunkt ein **befund** Wir messen erst und erklären dann. Drei Prüfpunkte betreffen die Antworten der KI-Systeme, drei die Ursachen auf deiner Seite. Jeder Prüfpunkt endet mit einem Befund, den du im Report nachlesen und belegen kannst. p-01prompts ### Prompt-Set Wir bauen die Fragen, die deine Kunden wirklich stellen — nach Anbietern, Lösungen, Preisen, Alternativen. Dieses Set ist die Messgrundlage und bleibt gleich, damit du später vergleichen kannst. befund: prompt-set + trefferquote p-02antworten ### Erwähnungen & Zitate Jeder Prompt läuft mehrfach über ChatGPT, Perplexity, Google AI Overviews, Gemini und Copilot. Wir zählen getrennt: Marke genannt, Domain als Quelle zitiert, aktiv empfohlen — plus den Ton der Nennung. befund: quote je system p-03wettbewerb ### Wer statt dir genannt wird In denselben Antworten stehen andere Namen. Wir erfassen, wer das ist und über welche Quellen sie hineinkommen — eigene Seite, Verzeichnis, Fachportal, Bewertungsplattform. Daraus wird ein Fahrplan, kein Frust. befund: wettbewerbs-vergleich p-04zugang ### Crawler-Zugang robots.txt und Bot-Regeln für GPTBot, PerplexityBot, ClaudeBot und Google-Extended, dazu Rendering, Cookie-Banner und Statuscodes. Viele Seiten sind für KI-Systeme schlicht gesperrt — ohne dass jemand im Haus das weiß. befund: zugangs-status je bot p-05inhalte ### Zitierfähigkeit Sprachmodelle zitieren Passagen, keine Seiten. Wir prüfen je Schlüsselseite, ob es klare Definitionssätze gibt, Fragen als Überschriften, belegte Zahlen, ein Datum — oder nur Werbetext ohne fassbare Aussage. befund: seiten-check + fundstellen p-06entitäten ### Entitäten & Quellen Wer bist du, maschinenlesbar: Schema.org-JSON-LD für Organisation, Leistungen und Autoren, Konsistenz von Name und Adresse, und deine Präsenz in den Drittquellen, aus denen KI-Systeme zitieren. Tiefer im [Strukturierte-Daten-Audit](https://www.siteway.de/expertise/strukturierte-daten-audit/). befund: entitäten-status mehrwert ## Die Zahl allein hilft dir nicht tools zeigen prozente · **wir zeigen ursachen** Es gibt inzwischen genug Tools, die dir eine Prozentzahl für KI-Sichtbarkeit ausgeben. Was sie nicht sagen: warum die Zahl so aussieht und was du zuerst anfassen sollst. Drei Ursachen finden wir in fast jedem Audit — und keine davon steht im Dashboard. m-01stufen ### Erwähnt ist nicht zitiert Genannt zu werden bringt Bekanntheit. Als Quelle verlinkt zu werden bringt Besucher. Empfohlen zu werden bringt Anfragen. Die drei Stufen haben unterschiedliche Ursachen — wer sie zu einer Kennzahl verrührt, optimiert ins Blaue. mention · citation · empfehlung m-02technik ### Gesperrt statt unsichtbar Der häufigste Grund für null Zitate ist kein Content-Problem: Der Bot kommt nicht rein. Eine robots.txt-Zeile aus dem Relaunch, eine Firewall-Regel, Inhalte nur nach JavaScript oder hinter dem Cookie-Banner. Das ist an einem Tag zu beheben — wenn man es weiß. gptbot · perplexitybot · google-extended m-03quellen ### Sichtbarkeit außerhalb deiner Domain KI-Systeme zitieren oft nicht dich, sondern was über dich geschrieben steht: Fachportale, Verzeichnisse, Bewertungen, Foren. Wenn dort nichts oder Falsches steht, hilft die beste Landingpage nicht. Wir zeigen, welche Quellen in deinen Antworten wirklich auftauchen. quellen-landschaft output ## Was du bekommst ein report · **eine reihenfolge** Den **ai-visibility-Report**: die gemessenen Trefferquoten je KI-System, die Antworten im Wortlaut als Beleg, die Wettbewerber in denselben Antworten — und darunter die Befunde. Jeder Befund nennt Ursache, geschätzten Aufwand, erwartete Wirkung und den konkreten nächsten Schritt. Sortiert, nicht alphabetisch, sondern nach dem, was zuerst etwas bringt. Dazu eine Stunde Durchsprache, in der wir den Report erklären und deine Fragen beantworten. Danach kannst du selbst weiterarbeiten, deiner Agentur den Report geben oder uns beauftragen. Das Prompt-Set bleibt dokumentiert — dieselbe Messung in sechs Monaten zeigt, ob sich etwas bewegt hat. Einen ersten Anhaltspunkt bekommst du auch ohne uns: Unser [PageRank-Check](https://www.siteway.de/tools/page-rank-check/) zeigt dir kostenlos, in wie vielen getrackten KI-Antworten deine Marke vorkommt. Das ist eine Momentaufnahme — der Report erklärt sie. ablauf · 4 schritte ## So läuft das Audit 1–2 wochen bis zum **report** 1. // schritt 01 · briefing Fragen festlegen. Marke, Leistungen, Zielgruppen, Wettbewerber, Märkte. Daraus bauen wir das Prompt-Set und stimmen es mit dir ab, bevor gemessen wird. output: prompt-set 2. // schritt 02 · messung KI-Systeme abfragen. Jeder Prompt läuft mehrfach über ChatGPT, Perplexity, die Google AI Overviews, Gemini und Copilot. Wir protokollieren die Antworten im Wortlaut — Belege, keine Behauptungen. output: rohdaten + belege 3. // schritt 03 · ursachen Technik und Inhalte prüfen. Crawler-Zugang, Rendering, Zitierfähigkeit der Schlüsselseiten, Schema.org-Auszeichnung und die Quellen, aus denen in deinen Antworten zitiert wird. output: befundliste 4. // schritt 04 · report ● ergebnis Report und Durchsprache. Die Befunde priorisiert nach Aufwand und Wirkung, mit konkretem nächstem Schritt je Punkt. Dazu eine Stunde, in der wir alles erklären. Der Report gehört dir. output: ai-visibility faq ## Häufige Fragen ### Was ist ein GEO-Audit? Ein GEO-Audit prüft, wie sichtbar eine Marke in generativen Suchsystemen ist: in ChatGPT, Perplexity, den Google AI Overviews, Gemini und Copilot. Gemessen wird mit einem festen Set an Fragen, wie oft die Marke genannt, verlinkt oder empfohlen wird. Dazu kommen der technische Zugang für AI-Crawler und die Zitierfähigkeit der Inhalte. Ergebnis ist ein Report mit priorisierten Befunden — kein Dashboard, sondern eine Liste, die sagt, was zuerst zu tun ist. ### Wie kann man KI-Sichtbarkeit messen? Indem man dieselben Fragen, die deine Kunden stellen würden, systematisch an die KI-Systeme schickt und protokolliert, was zurückkommt. Weil Sprachmodelle nicht deterministisch antworten, fragen wir jeden Prompt mehrfach ab und werten drei Stufen getrennt aus: Erwähnung der Marke, Zitat mit Link auf deine Domain und aktive Empfehlung. Aus den Wiederholungen entsteht eine Trefferquote je System statt einer Einzelbeobachtung. ### Was ist der Unterschied zwischen SEO-Audit und GEO-Audit? Ein [SEO-Audit](https://www.siteway.de/expertise/seo-audit/) prüft, ob du in den klassischen Google-Ergebnissen rankst — Crawling, Indexierung, OnPage, interne Verlinkung. Ein GEO-Audit prüft, ob du in der Antwort selbst vorkommst: als genannte Marke oder zitierte Quelle in ChatGPT, Perplexity und den AI Overviews. Beides hängt zusammen, misst aber Verschiedenes. Wer im Index fehlt, taucht auch in KI-Antworten selten auf; wer rankt, wird deshalb noch lange nicht zitiert. ### Was prüft das GEO-Audit nicht? Es ist kein Blick in die Trainingsdaten der Modelle — den hat niemand. Es ist auch keine Garantie auf eine Nennung: Kein Anbieter kann ChatGPT oder Perplexity dazu bringen, deine Marke zu empfehlen. Und es ist kein vollständiges SEO-Audit; Crawling, Indexierung und OnPage-Details gehören ins SEO-Audit. Das GEO-Audit ist eine Momentaufnahme mit belegten Befunden und einer Reihenfolge, in der du sie abarbeitest. ### Wie lange dauert das GEO-Audit? In der Regel ein bis zwei Wochen ab Briefing. Der größte Teil ist die Messung: Das Prompt-Set läuft mehrfach über die KI-Systeme, danach folgen die technische Prüfung und der Report. Bei vielen Sprachen, Märkten oder Produktlinien wird das Set größer und die Messung dauert länger. ### Was kostet das Audit? Festpreis nach Briefing. Sobald Marke, Themen, Wettbewerber und der Umfang des Prompt-Sets feststehen, nennen wir einen Preis für das GEO-Audit und halten ihn fest. Keine Tagessätze, keine Überraschung am Ende. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Du kannst die Befunde intern abarbeiten, an deine Agentur geben oder uns beauftragen — dann setzen wir sie über die Leistung [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) um. Das Audit ist einzeln buchbar und funktioniert auch als reine Zweitmeinung. passt dazu ## Passt dazu umsetzung, audit & **tool** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Das Audit findet die Befunde — diese Leistung arbeitet sie ab: zitierfähige Inhalte, strukturierte Daten, technische Sichtbarkeit. weiterlesen → - [Strukturierte-Daten-Audit.](https://www.siteway.de/expertise/strukturierte-daten-audit/) — Der Tiefenbohrer zum Entitäten-Befund: Schema.org-Markup, @graph-Fehler und Rich-Results-Eignung im Detail. weiterlesen → - [PageRank-Check.](https://www.siteway.de/tools/page-rank-check/) — Erster Anhaltspunkt in zehn Sekunden: In wie vielen getrackten KI-Antworten kommt deine Marke vor? Ohne Anmeldung. tool öffnen → Wissen, ob ChatGPT dich kennt? [Audit anfragen](https://www.siteway.de/kontakt/) --- audit · hosting # Hosting- & Infrastruktur-Audit Deine Seite ist langsam, bevor sie überhaupt anfängt zu laden? Dann liegt es selten am Bild, sondern an der Umgebung darunter. Die **Hosting-Analyse** von siteway prüft TTFB, Caching, CDN, Serverstandort und Uptime — und liefert einen Report, der sagt, was zuerst zu tun ist. audit audit: einzeln buchbar dauer: 3–5 werktage output: infra-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Hosting- & Infrastruktur-Audit? **Ein Hosting- & Infrastruktur-Audit ist die Prüfung der Server-Umgebung unter deiner Website: TTFB, Caching, CDN, Serverstandort, Protokolle, Ressourcen und Uptime.** Es misst nicht, wie schnell dein Frontend rendert, sondern wie schnell und zuverlässig überhaupt geantwortet wird. Der Unterschied zu einem kostenlosen Speed-Test: Ein Tool zeigt dir eine Zahl. Wir sagen dir, woher die Zahl kommt, welcher der vier Werte die anderen blockiert und in welcher Reihenfolge du das abarbeitest. Heraus kommt ein **infra-report** — priorisierte Befunde mit Aufwand und Wirkung. Was du damit machst, entscheidest du. $ cat infra-report.md - ✓TTFB je Seitentyp gemessen, nicht geschätzt - ✓Cache-Analyse page · object · opcache - ✓CDN & Cache-Hit-Rate - ✓Serverstandort & Latenz - ✓Uptime-Historie letzte 12 monate - ✓Befunde nach wirkung / aufwand anlass ## Wann sich das Audit lohnt erst messen, **dann kaufen** Der teuerste Weg zu einer schnellen Website ist Raten. Ein neuer Tarif, ein Caching-Plugin, ein CDN obendrauf — und danach ist die Seite so langsam wie vorher, nur die Rechnung ist höher. Das Audit dreht die Reihenfolge um: erst die Ursache benennen, dann Geld ausgeben. Typischer Anlass ist ein Verdacht, den niemand belegen kann. PageSpeed Insights meldet „Serverantwortzeit reduzieren", der Hoster sagt „bei uns ist alles grün", die Agentur zeigt auf den Hoster. Genau in dieser Situation liefert das Audit die Zahlen, mit denen sich die Diskussion beenden lässt. Für einen ersten eigenen Eindruck gibt es unseren kostenlosen [PageSpeed-Check](https://www.siteway.de/tools/pagespeed-check/). symptome - 01„Serverantwortzeit reduzieren" in **PSI** - 02Seite mal schnell, mal **zäh** — ohne Muster - 03Backend im CMS **träge** - 04Ausfälle, von denen ihr **zu spät** erfahrt - 05Vor einem **Relaunch** oder Hoster-Wechsel - 06Kunden im Ausland, Server in **Deutschland** prüfung · 6 felder ## Was wir prüfen jedes feld ein **befund** Sechs Felder, in denen sich Antwortzeit und Verfügbarkeit entscheiden. Wir messen jedes einzeln, damit am Ende klar ist, welcher Teil der Kette bremst — und welcher zu Unrecht verdächtigt wurde. p-01ttfb ### TTFB & Antwortzeit Time to First Byte je Seitentyp und Region — und zerlegt in seine Teile: DNS, TLS-Handshake, Redirects, reine Rechenzeit des Servers. Erst die Aufschlüsselung zeigt, ob die Datenbank bremst oder das Netz. befund: ttfb-aufschlüsselung p-02caching ### Caching-Schichten Page-Cache, Objekt-Cache, OPcache, Cache-Control-Header. Häufigster Befund: Ein Cache ist installiert, greift aber nicht — weil Cookies, Query-Parameter oder ein Session-Start jede Seite an ihm vorbeischicken. befund: cache trifft / trifft nicht p-03cdn ### CDN & Cache-Hit-Rate Läuft ein CDN, und wenn ja: Welcher Anteil wird am Edge beantwortet und welcher geht doch zum Origin durch? Ein CDN, das nur Bilder ausliefert und HTML durchreicht, kostet Geld und spart kaum Zeit. befund: hit-rate + lücken p-04standort ### Standort & Latenz Wo steht der Server wirklich, wie weit ist er von deiner Zielgruppe entfernt, was kostet die Distanz? Wir messen aus mehreren Regionen — bei mehrsprachigen Seiten ist das oft der größte einzelne Posten. befund: latenz je region p-05protokoll ### HTTP & TLS HTTP/2 oder HTTP/3, TLS-Version, Kompression, HSTS — und Redirect-Ketten, die jede Anfrage zweimal laufen lassen. Kleine Konfigurationsposten, die zusammen leicht ein paar hundert Millisekunden ausmachen. befund: header + redirect-kette p-06uptime ### Ressourcen & Uptime PHP-Version, Speicher- und Prozess-Limits, Datenbank-Umgebung, Ausfälle der letzten Monate. Dazu die unbequeme Frage: Merkt überhaupt jemand, wenn die Seite steht — oder ruft der erste Kunde an? befund: limits + ausfall-historie mehrwert ## Die Zahl ist nicht die Antwort ttfb-schwelle: **0,8 s** Wer „TTFB messen" sucht, findet Dutzende kostenlose Tools. Sie liefern alle dieselbe Sache: eine Zahl, manchmal mit Ampelfarbe. Google zieht die Grenze bei **0,8 Sekunden** — darunter gilt der TTFB als gut, ab 1,8 Sekunden als schlecht (web.dev). Nur: Aus „1,4 s" folgt keine einzige Handlung. Der Wert ist eine Summe aus DNS, Verbindungsaufbau, TLS, Weiterleitungen und der Zeit, die dein Server rechnet. Solange du nicht weißt, welcher Posten wie groß ist, optimierst du blind. Deshalb zerlegen wir den TTFB, statt ihn nur zu melden — und sortieren die Befunde danach, was am meisten bringt und am wenigsten kostet. In der Praxis stehen die billigen Posten oft oben: Page-Cache aktivieren, Redirect-Kette auflösen, PHP-Version anheben. Der Hoster-Wechsel — die Maßnahme, mit der die meisten anfangen — steht bei uns selten auf Platz 1 und manchmal gar nicht auf der Liste. ttfb-schwellen▸ web.dev output ## Was du bekommst der report **gehört dir** Ein Dokument, das eine fremde Technik-Abteilung ohne Rückfragen abarbeiten kann. Kein Screenshot-Album, keine Ampel ohne Erklärung — sondern Befund, Ursache, Maßnahme, Aufwand, erwartete Wirkung. Dazu ein Gespräch, in dem wir den Report durchgehen. r-01befunde ### Priorisierte Befunde Jeder Befund mit Messwert, Ursache und Maßnahme — sortiert nach Wirkung, nicht nach Reihenfolge der Prüfung. Oben steht, was du morgen anfassen solltest. liste, nach wirkung sortiert r-02bewertung ### Aufwand & Wirkung Zu jeder Maßnahme eine ehrliche Schätzung: Was kostet sie an Zeit, was bringt sie an Millisekunden. Wo wir es nicht seriös schätzen können, steht das da — statt einer erfundenen Prozentzahl. schätzung je maßnahme r-03nächste schritte ### Nächste Schritte Konkrete To-dos mit Adressat: Was der Hoster tun muss, was ins CMS gehört, was Entwicklungsarbeit ist. Formuliert so, dass du den Punkt einfach weiterleiten kannst. to-dos je adressat ablauf · 4 schritte ## So läuft das Audit 3–5 werktage bis zum **report** 1. // schritt 01 · briefing Umfang klären. Welche Seitentypen, welche Zielregionen, welche Umgebungen. Wenn vorhanden: Zugänge zu Hosting-Panel und Logs, dazu der Hosting-Vertrag. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · messung Messen. TTFB aus mehreren Regionen, über mehrere Tageszeiten, mit warmem und kaltem Cache. Dazu Header, Redirects, Protokolle, CDN-Verhalten und die Uptime-Historie. output: rohdaten 3. // schritt 03 · auswertung Ursachen zuordnen. Jeder auffällige Wert bekommt eine Ursache — Konfiguration, Anwendung, Tarif oder Distanz. Ohne diesen Schritt bleibt jede Empfehlung geraten. output: befund-liste 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Der infra-report kommt als Dokument, priorisiert und mit Adressat je To-do. Wir gehen ihn in einem Termin mit dir durch — und beantworten die Frage, ob sich der nächste Schritt lohnt. output: infra-report faq ## Häufige Fragen ### Was ist ein Hosting- & Infrastruktur-Audit? Ein Hosting- & Infrastruktur-Audit ist eine Hosting-Analyse der Server-Umgebung unter einer Website. Geprüft werden TTFB und Server-Antwortzeit, Caching-Schichten, CDN, Serverstandort, HTTP- und TLS-Konfiguration, Ressourcen und Uptime. Ergebnis ist kein Messwert, sondern ein Report mit priorisierten Befunden: was die Antwortzeit bremst, in welcher Reihenfolge es zu beheben ist und was der jeweilige Schritt kostet. ### Was ist der Unterschied zum Page-Speed-Audit? Das [Page-Speed-Audit](https://www.siteway.de/expertise/page-speed-audit/) misst, was im Browser passiert: Core Web Vitals wie LCP unter 2,5 s, INP unter 200 ms und CLS unter 0,1, dazu Bundle-Größen. Das Hosting- & Infrastruktur-Audit schaut darunter — auf den Server, der das erste Byte liefert. Beide hängen zusammen: Ein hoher TTFB verschiebt jede Frontend-Metrik nach hinten. Wenn unklar ist, wo das Problem sitzt, fangen wir mit dem Infrastruktur-Audit an, weil es die Frage beantwortet, ob überhaupt am Frontend zu suchen ist. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Seitentypen, Umgebungen und Standorte geprüft werden, nennen wir einen Preis und halten ihn fest. Keine Tagessätze, keine offene Rechnung am Ende. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der infra-report gehört dir. Du kannst ihn deinem Hoster vorlegen, an deine interne IT geben oder von einer anderen Agentur abarbeiten lassen — er ist so geschrieben, dass eine fremde Technik-Abteilung damit arbeiten kann. Wenn du willst, übernimmt siteway die Umsetzung über [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/) oder den laufenden Betrieb. Das ist eine eigene Entscheidung nach dem Report. ### Braucht ihr Zugänge zum Server? Für den Grundteil nicht: TTFB, Redirects, HTTP- und TLS-Konfiguration, CDN-Header und Cache-Verhalten lassen sich von außen messen. Tiefer wird es mit Zugängen — Hosting-Panel, Logs, Datenbank-Metriken und der Hosting-Vertrag zeigen, ob Ressourcen knapp sind oder der Tarif zur Last passt. Ohne Zugänge liefern wir das Audit trotzdem, wir kennzeichnen dann, welche Befunde eine Annahme sind. ### Ist das Audit ein Security-Test? Nein. Wir schauen auf Tempo, Verfügbarkeit und Konfiguration der Umgebung, nicht auf Angriffsflächen. Ein Penetrationstest oder eine Schwachstellen-Analyse ist ein eigenes Format — dafür gibt es das [Security-Audit](https://www.siteway.de/expertise/security-audit/). Überschneidungen wie HSTS oder veraltete TLS-Versionen fallen uns dabei auf und stehen im Report, ersetzen aber keine Sicherheitsprüfung. ### Empfehlt ihr am Ende einen bestimmten Hoster? Nur wenn die Zahlen es hergeben. siteway bekommt keine Provision von Hostern, und ein Umzug ist die teuerste aller Maßnahmen. In vielen Fällen liegt das Problem nicht am Anbieter, sondern an fehlendem Page-Cache, einer alten PHP-Version oder einer Redirect-Kette. Wenn der Tarif die Grenze ist, sagen wir das mit Messwerten — und nennen Alternativen, die zu deiner Anwendung passen. passt dazu ## Passt dazu audits & **umsetzung** - [Performance & Core Web Vitals.](https://www.siteway.de/expertise/performance-core-web-vitals/) — Wenn der Report steht und jemand ihn abarbeiten soll: Hier optimieren wir wirklich — bis LCP, INP und CLS im grünen Bereich sind. weiterlesen → - [Page-Speed-Audit.](https://www.siteway.de/expertise/page-speed-audit/) — Die Etage darüber: Core Web Vitals und Bundle-Größe im Browser, gemessen mit Lighthouse. Zusammen ergibt das das ganze Bild. weiterlesen → - [PageSpeed-Check.](https://www.siteway.de/tools/pagespeed-check/) — Erster Eindruck in 30 Sekunden: URL rein, Werte raus. Sagt dir, ob es sich lohnt, genauer hinzuschauen — kostenlos. zum tool → Wissen, woran es wirklich liegt? [Audit anfragen](https://www.siteway.de/kontakt/) --- komponente · jobs # Job- & Karriereportal Job- & Karriereportal ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus ein paar Zeilen „Wir suchen dich" wird eine **Karriereseite** mit Stellenanzeigen, [JobPosting-Markup](https://www.siteway.de/expertise/strukturierte-daten/), Bewerbungsformular und Anbindung ans Bewerbermanagement — die Eintrittskarte zu Google for Jobs, auf deiner eigenen Domain. komponente baustein: einzeln buchbar schema: jobposting output: google for jobs + bewerbungsformular [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Karriereportal? **Ein Karriereportal ist der Bereich einer Website, in dem ein Unternehmen seine offenen Stellen zeigt und Bewerbungen entgegennimmt.** Als Komponente gebaut, ist es mehr als eine Liste mit PDFs: Stellenanzeigen mit JobPosting-Markup, eine filterbare Übersicht nach Standort und Abteilung, ein Bewerbungsformular mit Datei-Upload und die Anbindung ans Bewerbermanagement. Job- oder Karriereportal ist dabei eine Frage der Menge, nicht der Technik. Ein **Karriereportal** zeigt die Arbeitgebermarke und bündelt alle Stellen unter einem Dach. Ein einzelnes **Stellenportal** ist die reine Job-Liste. Beides bauen wir aus demselben Baustein — wir konfigurieren ihn nur so, wie viele Stellen und wie viel Employer Branding du zeigen willst. $ cat karriereportal.md - ✓Stellenanzeigen im CMS - ✓JobPosting-Markup google for jobs - ✓Filter standort · abteilung - ✓Bewerbungsformular datei-upload - ✓ATS-Anbindung schnittstelle - ✓Karriere-Übersicht /karriere/ warum ## Jede Stelle eine eigene Seite gefunden statt **geschaltet** Wer eine Stelle sucht, tippt den Jobtitel bei Google ein — nicht deinen Firmennamen. Steht deine Stellenanzeige als eigene, ausgezeichnete Seite auf deiner Domain, taucht sie direkt in den Suchergebnissen und in Google for Jobs auf. Der Bewerber landet dann bei genau dieser Stelle, nicht auf einer Startseite, von der aus er das Karriere-Menü suchen müsste. Das spart die Provision der Stellenbörsen und macht dich unabhängig: Die Stelle gehört dir, nicht dem Portal. Damit aus einem Klick eine Bewerbung wird, muss der Weg kurz sein — ein Formular an der Stelle, statt einer E-Mail-Adresse zum Selbst-Zusammensuchen. Wie die Karriereseite dabei zur Arbeitgebermarke wird, zeigt unser Beitrag zu [Employer Branding](https://www.siteway.de/insights/employer-branding/). was der baustein liefert - 01Eigene Seite je **Stelle** - 02Sichtbar in **Google for Jobs** - 03Bewerbung ohne **Börsen-Provision** - 04Kurzer Weg zum **Absenden** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — vom Anlegen einer Stelle bis zur Bewerbung im Bewerbermanagement. Kein loses Job-Widget, sondern ein Karriereportal, das deine Redaktion pflegt und Google for Jobs lesen kann. Jede Funktion hat ein greifbares Ergebnis. f-01stellen ### Stellenanzeigen Jede offene Stelle ist eine eigene Seite im CMS: Titel, Standort, Abteilung, Anstellungsart und Ablaufdatum. Deine Redaktion legt Stellen im gewohnten Backend an — ohne Umweg über Entwickler. output: stelle als seite f-02auszeichnung ### JobPosting-Markup Jede Stelle erhält JobPosting-JSON-LD: Titel, Ort, Anstellungsart, Datum und Gehalt maschinenlesbar. Das ist die Eintrittskarte zu Google for Jobs — der Job-Box direkt über den Suchergebnissen. output: json-ld je stelle f-03struktur ### Filter & Übersicht Die Stellenliste filterbar nach Standort, Abteilung und Anstellungsart. Bewerber sehen mit einem Klick, was zu ihnen passt — statt sich durch eine lange PDF-Liste zu scrollen. output: filterbare liste f-04bewerbung ### Bewerbungsformular Direkt an der Stelle: Kontaktdaten, Anschreiben und Datei-Upload für Lebenslauf und Zeugnisse. Kurze Pflichtfelder, klarer Datenschutz-Hinweis — mehr zum Formular unter [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). output: upload + versand f-05anbindung ### ATS-Anbindung Bewerbungen laufen per Schnittstelle direkt in dein Bewerbermanagement oder ATS — strukturiert, nicht als E-Mail-Anhang. Details bei [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). output: api zum ats f-06übersicht ### Karriere-Übersicht Die zentrale Karriereseite mit allen offenen Stellen, Einstieg zur Arbeitgebermarke und klarem Bewerbungsweg. Der Punkt, auf den du in Anzeigen, Signatur und Social verlinkst. output: /karriere/ mehrwert ## Google for Jobs statt Börsen-Provision deine domain, **deine stelle** Viele Karriereportal-Tools spielen deine Stellen auf einer fremden Subdomain aus — die SEO-Signale und das Vertrauen fließen dann auf die Domain des Anbieters. Wir gehen den anderen Weg: Die Stellen liegen auf deiner Domain, mit deinem JobPosting-Markup. So wird jede Stelle direkt von Google for Jobs erfasst und über den Suchergebnissen eingeblendet — ohne Provision an eine Stellenbörse. g-01eintritt ### Der JobPosting-Eintritt Google for Jobs liest keine schöne Seite — es liest strukturierte Daten. Ohne JobPosting-Markup bleibt deine Stelle draußen. Wir zeichnen jede Stelle sauber aus, damit sie erfasst wird. jobposting · valid g-02eigentum ### Auf deiner Domain Kein jobs.deinunternehmen.tool.de. Die Stelle liegt unter deiner Adresse, im Ranking zählt sie für dich. Kündigst du irgendwann ein Tool, bleibt deine Karriereseite trotzdem stehen. first-party url g-03unabhängig ### Ohne Provision Eine gefundene Stelle auf der eigenen Seite kostet keine Schaltgebühr pro Bewerbung. Stellenbörsen bleiben eine Option — aber nicht mehr der einzige Weg zu einer Bewerbung. 0 % pro bewerbung einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · struktur Felder festlegen. Welche Felder eine Stelle braucht, welche Standorte und Abteilungen, welche Pflichtfelder im Bewerbungsformular. Wir klären den Umfang und legen fest, wie der Baustein konfiguriert wird. output: feld-schema 2. // schritt 02 · cms Ins CMS einbauen. Wir bauen Stellen, Filter und Bewerbungsformular in dein TYPO3, WordPress oder Statamic — mit Feldern, Vorlagen und Übersichtsseite, die zu deinem Team passen. output: backend + templates 3. // schritt 03 · anschluss Schema & ATS anschließen. JobPosting-Markup je Stelle und die Schnittstelle zum Bewerbermanagement werden verdrahtet — die maschinenlesbare Seite und der Bewerbungs-Weg entstehen mit. output: jobposting + api 4. // schritt 04 · übergabe ● ergebnis Erste Stelle live. Kurze Einweisung, eine erste Stelle veröffentlicht, im Rich-Results-Test geprüft, fertig. Danach pflegt deine Redaktion Stellen selbst — Auszeichnung und Anbindung laufen im Hintergrund. output: live-karriereseite faq ## Häufige Fragen ### Was ist ein Karriereportal? Ein Karriereportal ist der Bereich einer Website, in dem ein Unternehmen seine offenen Stellen zeigt und Bewerbungen entgegennimmt. Als Website-Komponente gebaut, besteht es aus Stellenanzeigen mit JobPosting-Markup, einer filterbaren Stellenliste nach Standort und Abteilung, einem Bewerbungsformular mit Datei-Upload und der Anbindung ans Bewerbermanagement — alles auf deiner eigenen Domain, nicht in einem fremden Tool. ### Was ist Google for Jobs und wie kommen unsere Stellen dort hinein? Google for Jobs ist die Job-Box, die Google direkt über den Suchergebnissen einblendet, wenn jemand nach einem Beruf sucht. Der Eintritt läuft über JobPosting-Markup: strukturierte Daten je Stelle mit Titel, Ort, Anstellungsart und Datum. siteway zeichnet deine Stellenanzeigen entsprechend aus — so werden sie für Google for Jobs erfasst, ohne Provision an eine Stellenbörse. ### Was ist der Unterschied zu einem Karriereportal-Tool oder einer SaaS-Lösung? Viele Recruiting-Tools spielen deine Stellen auf einer fremden Subdomain aus, etwa jobs.deinunternehmen.tool.de. SEO-Signale und Vertrauen fließen dann auf die Domain des Anbieters, nicht auf deine. siteway baut das Karriereportal in deine eigene Website ein — die Stellen liegen auf deiner Domain, mit deinem Design, deinem JobPosting-Markup und deinem Bewerbungsformular. ### Landen die Bewerbungen in unserem Bewerbermanagement? Ja. Über die Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/) binden wir dein Bewerbermanagement oder ATS an — die Bewerbung landet strukturiert im System, statt als E-Mail-Anhang im Postfach. Gibt es noch kein System, sammeln wir Bewerbungen zunächst als Nachricht mit Datei-Anhang und rüsten die Anbindung später nach. ### Ist das Bewerbungsformular DSGVO-konform? Ja. Das Bewerbungsformular läuft auf deiner eigenen Domain ohne Tracking-Dienste Dritter, mit Datenschutz-Hinweis und Einwilligung an der richtigen Stelle. Der Datei-Upload für Lebenslauf und Zeugnisse ist verschlüsselt, die Dateien landen dort, wo du sie brauchst — nicht bei einem externen Anbieter. Datenschutz ist bei siteway keine Nachrüstung, sondern Teil der Bauweise. ### Können wir das Karriereportal einzeln buchen? Ja. Job- & Karriereportal ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht bei siteway nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Das Bewerbungsformular im Detail: mehrstufig, mit Datei-Upload, Validierung und sauberem Datenschutz — der Baustein hinter dem „Jetzt bewerben". weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — JobPosting ist nur ein Schema von vielen. Diese Leistung zeichnet deine ganze Seite maschinenlesbar aus — für Google und KI-Systeme. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Verbindung zum Bewerbermanagement, CRM oder ERP. Damit die Bewerbung im richtigen System landet — nicht nur im Postfach. weiterlesen → Karriereportal in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · maps # Karten & Standorte Karten & Standorte ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Wir binden die **Karte über die Google-Maps-API** ein, nicht als fertiges Fremd-Widget: Marker und Cluster, Umkreis- und Händlersuche, Route — und ein Kartenbild, das zu deinem Design passt. Wo es eine eigene Kartensprache braucht, bauen wir mit Mapbox. komponente baustein: einzeln buchbar technik: google maps api · mapbox output: karte + umkreissuche [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Standortkarte als Komponente? **Eine Standortkarte als Website-Komponente ist eine interaktive Karte, die über die Google-Maps-API in deine Website eingebaut wird — nicht als fertiges Widget von außen.** Sie zeigt deine Standorte als Marker, bündelt viele Punkte zu Clustern, findet über eine Umkreissuche den nächsten Standort und führt Besucher per Route dorthin. Der Unterschied zum eingebetteten Kartenschnipsel: Über die API bestimmen wir, was geladen wird, wie es aussieht und was passiert, wenn jemand auf einen Pin klickt. Die Karte ist Teil deiner Website — mit deinen Farben, deinen Daten und deinem Verhalten, statt einer fremden Box im Layout. $ cat karten.md - ✓Google-Maps-API kein fremd-widget - ✓Marker & Cluster zoomabhängig - ✓Umkreis- & Händlersuche plz · ort - ✓Route & Anfahrt - ✓Karten-Design im Marken-Look styling - ✓Standorte aus dem CMS geocoding warum ## Eingebaut statt eingebettet api statt **widget** Ein eingebettetes Karten-Widget ist eine fremde Box in deinem Layout: Du bekommst das Design, das der Anbieter vorsieht, die Interaktion, die er erlaubt, und keine Kontrolle darüber, was geladen wird. Sobald mehr gefragt ist als ein Pin — mehrere Standorte, eine Händlersuche, ein Klick, der etwas auf der Seite auslöst — ist das Widget am Ende. Deshalb arbeiten wir grundsätzlich mit der **Google-Maps-API** statt mit einem iframe-Schnipsel. Die Karte wird damit ein Teil der Website: Wir steuern das Kartenbild, die Marker, die Suche und jede Interaktion — und die Standortdaten kommen aus deinem CMS, nicht aus einem fremden Backend. Und der Datenschutz? Ist bei einer sauberen API-Einbindung kein Hindernis. Es lädt kein fremdes Widget mit, das beim Seitenaufruf Besucherdaten irgendwohin schickt — wir bestimmen, was geladen wird und wann. widget vs. api eingebettetes widget - ✗Design vom Anbieter vorgegeben - ✗Keine eigene Suche, keine Cluster - ✗Klick löst nichts auf der Seite aus google-maps-api - ✓Kartenbild im Look deiner Marke - ✓Cluster, Filter, Umkreissuche - ✓Standorte aus deinem CMS baustein · 6 funktionen ## Was die Komponente kann vom pin bis zur **händlersuche** f-01marker ### Standort-Marker Ein Standort, ein Pin — im Design deiner Marke statt im Standard-Rot. Ein Klick öffnet ein Info-Fenster mit Adresse, Öffnungszeiten und Kontakt, ohne die Seite zu verlassen. output: pin + info-fenster f-02netz ### Mehrere Standorte & Cluster Bei vielen Standorten fasst die Karte nahe Punkte zoomabhängig zu Clustern zusammen und löst sie beim Hineinzoomen wieder auf. Aus hunderten Pins wird so ein lesbares Bild statt eines Nadelkissens. output: clustering f-03suche ### Umkreis- & Händlersuche Besucher geben Postleitzahl oder Ort ein und sehen die nächstgelegenen Standorte, sortiert nach Entfernung — mit Filtern nach Typ, Leistung oder Sortiment. Genau das läuft bei der Spelsberg-Großhändlersuche. output: plz-suche + entfernung f-04route ### Route & Anfahrt Ein Klick startet die Route zum Standort — im Browser oder direkt in der Karten-App auf dem Handy. Für Filialen und Werke der kürzeste Weg von „gefunden" zu „angekommen". output: routing f-05design ### Karten-Design Farben, Beschriftung, Straßen, Wasser, Kontrast — das Kartenbild wird über Map-Styling an dein Design angepasst, hell wie dunkel. Die Karte fügt sich ein, statt aus der Seite herauszustechen. output: map-style f-06daten ### Standorte aus dem CMS Deine Redaktion pflegt Standorte wie jeden anderen Inhalt — Adresse eintragen, Koordinaten holen wir per Geocoding automatisch. Bei großen Netzen können die Daten auch aus deinem [System](https://www.siteway.de/expertise/schnittstellen-integration/) kommen. output: cms + geocoding belege ## Vom Pin zum Karten-Portal zwei projekte, **zwei ausbaustufen** Die Komponente skaliert. Sie fängt beim einzelnen Standort an — und hört bei einem interaktiven Karten-Portal auf, das eine Firmengeschichte erzählt. Zwei Projekte aus unserer Werkstatt zeigen die Spannweite. stufe 01 · händlersuche ### Hunderte Händler, ein Suchfeld Für **Spelsberg** haben wir die Großhändlersuche gebaut: Der Kunde gibt Firmennamen, Postleitzahl oder Ort ein und findet den nächsten Händler. Über ganz Europa verteilt fasst die Karte die Standorte zu Clustern zusammen — die Zahl im Pin zeigt, wie viele Händler dahinterstecken. Beim Hineinzoomen lösen sie sich in einzelne Adressen auf. [Zum Spelsberg-Case →](https://www.siteway.de/cases/spelsberg/)  *// spelsberg · großhändlersuche mit clustering* *// garbe.world · vom globus zum gebäude* stufe 02 · karten-portal ### Hinter jedem Pin eine Geschichte Zum 60-jährigen Jubiläum hat **GARBE** seine Geschichte auf die Landkarte gebracht. **garbe.world** ist keine Standortliste, sondern ein interaktives Karten-Portal: Über mindestens sechs Zoomstufen reist man von Europa bis nach Hamburg, jeder Pin öffnet ein Overlay aus Bild, Video und Text — direkt verlinkbar und teilbar. Weil das Projekt eine eigene Kartensprache brauchte, haben wir es auf **Mapbox und OpenStreetMap** gebaut statt auf der Standard-Karte. Genau dafür ist die Wahl der Technik da: Google Maps, wo es um Standorte und Suche geht — Mapbox, wo die Karte selbst zum Erlebnis wird. [Zum GARBE-Case →](https://www.siteway.de/cases/garbe/) einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · standorte Standortdaten klären. Ein Standort oder ein Netz? Welche Felder je Marker — Adresse, Öffnungszeiten, Telefon, Route? Wir legen fest, was die Karte zeigt und woher die Daten kommen. output: standort-schema 2. // schritt 02 · karte Karte aufbauen. Wir binden die Karte über die Google-Maps-API ein und stylen sie im Look deiner Website — mit Markern, Clustern, Popups und, falls nötig, Umkreissuche. Braucht das Projekt eine eigene Kartensprache, bauen wir mit Mapbox. output: tracking-freie karte 3. // schritt 03 · cms Ins CMS einbauen. Standorte pflegst du künftig selbst im Backend — TYPO3, WordPress oder Statamic. Neue Filiale anlegen, sie erscheint auf der Karte und in der Liste, ohne dass jemand Code anfasst. output: backend-pflege 4. // schritt 04 · datenschutz ● ergebnis Datenschutz dokumentieren. Wir halten fest, welche Daten die Karte verarbeitet und was in die Datenschutzerklärung gehört — als fertigen Textbaustein, den du übernehmen kannst. output: live-karte faq ## Häufige Fragen ### Welche Karten-Technik nutzt ihr? In der Regel die Google-Maps-API — sie liefert das dichteste Adress- und Routing-Material und ist für Standortkarten, Umkreissuche und Anfahrt die pragmatische Wahl. Wenn ein Projekt eine eigene Kartensprache braucht, bauen wir mit Mapbox und OpenStreetMap, wie beim Karten-Portal garbe.world. Fest steht in beiden Fällen: Wir binden über die API ein, nicht über ein fertiges Fremd-Widget. ### Warum bindet ihr Karten über die API ein statt als Widget? Weil ein eingebettetes Widget eine fremde Box in deinem Layout ist: vorgegebenes Design, keine eigene Suche, kein Klick, der etwas auf der Seite auslöst. Über die API gehört die Karte zur Website — wir steuern Kartenbild, Marker, Cluster und jede Interaktion, und die Standortdaten kommen aus deinem CMS. ### Ist die Karte datenschutzkonform? Ja. Über die API-Einbindung lädt kein fremdes Widget mit, das beim Seitenaufruf ungefragt Besucherdaten abzieht — wir bestimmen, was geladen wird und wann. Datenschutz ist damit kein Hindernis, sondern eine Frage der sauberen Umsetzung. ### Kann die Karte mehrere Standorte und eine Umkreissuche zeigen? Ja, genau dafür ist sie gebaut. Viele Standorte werden zoomabhängig zu Clustern gebündelt, die sich beim Hineinzoomen auflösen. Über eine Umkreissuche geben Besucher Postleitzahl oder Ort ein und sehen die nächstgelegenen Standorte, sortiert nach Entfernung — wie bei der Spelsberg-Großhändlersuche. ### Können wir die Karte im Look unserer Marke gestalten? Ja. Farben, Beschriftung, Straßen, Wasser und Kontrast lassen sich über Map-Styling an dein Design anpassen, in hell und dunkel. Die Karte fügt sich damit ins Layout ein, statt als Fremdkörper herauszustechen. ### Woher kommen die Standortdaten? Aus deinem CMS: Deine Redaktion pflegt Standorte wie jeden anderen Inhalt, die Koordinaten holen wir per Geocoding automatisch aus der Adresse. Bei großen Netzen können die Daten auch aus einem angebundenen System kommen. ### Können wir die Karten-Komponente einzeln buchen? Ja. Karten & Standorte ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" oder nimmst sie als Teil einer kompletten Website mit. Festpreis nach Briefing. passt dazu ## Passt dazu bausteine & **leistungen** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Die Karte zeigt den Weg — SEO & GEO sorgt dafür, dass du bei „in der Nähe" überhaupt gefunden wirst. Die andere Hälfte lokaler Sichtbarkeit. weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Jeder Standort als LocalBusiness mit Geo-Koordinaten und Öffnungszeiten — maschinenlesbar für Google und KI-Systeme. weiterlesen → - [Suche.](https://www.siteway.de/expertise/suche/) — Die Schwester-Komponente aus derselben Gruppe: Volltextsuche über die ganze Seite — auch tracking-frei, wie die Umkreissuche der Karte. weiterlesen → Karte in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- svc-11 · automation # KI & Automation **KI-Automatisierung** heißt bei der Agentur siteway zweierlei: Wir bauen KI-Features in deine Website — [Chatbot](#ki-chatbot), [Instant-Search](#ki-instant-search), [Sprachmodell-Anbindung](#sprachmodell-anbindung) — und automatisieren wiederkehrende Abläufe in Build und Redaktion. Mit denselben Tools, die wir selbst jeden Tag nutzen. svc-11 einzeln buchbar modelle: anthropic · openai · self-hosted output: automation [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was macht eine Agentur für KI-Automatisierung? **Eine Agentur für KI-Automatisierung findet Abläufe, die sich mit KI automatisieren lassen, und setzt sie technisch um.** Bei siteway heißt das konkret: KI-Features für deine Website — Chatbot, Instant-Search, Sprachmodell-Anbindung — und automatisierte Abläufe in Build und Redaktion. Umsetzung und Betrieb kommen aus einer Hand. Der Unterschied zur reinen **KI-Beratung**: Wir liefern keine Folien, sondern Funktionen. Jeder Baustein läuft am Ende auf deiner Website oder in deinem [CMS](https://www.siteway.de/expertise/cms-redaktion/) — integriert, getestet und mit einem Festpreis nach Briefing. $ cat automation.md - ✓KI-Chatbot dialog + vorqualifizierung - ✓KI-Instant-Search algolia · meilisearch - ✓Sprachmodell-Anbindung llm-api - ✓Redaktions-Workflows automatisiert - ✓Build & Deploy git + ci/cd - ✓KI-gestützte Entwicklung copilot · cursor · claude warum ## Zwei Seiten derselben Leistung wir verkaufen nur, was wir **selbst nutzen** Viele Agenturen verkaufen KI, die sie selbst nie einsetzen. Bei siteway ist es umgekehrt: KI und Automatisierung laufen zuerst in unserer eigenen Werkstatt — und erst dann bauen wir sie in Kundenprojekte ein. Beide Seiten gehören zusammen, und beide kannst du prüfen. seite 01auf deiner website ### KI-Features für deine Website Ein Chatbot, der Fragen beantwortet und Anfragen vorqualifiziert. Eine Suche, die Tippfehler verzeiht und Treffer nach Relevanz sortiert. Sprachmodelle, die deiner Redaktion Textentwürfe und Klassifikation abnehmen. Alles integriert in TYPO3, WordPress oder Statamic. stack: anthropic · openai · algolia · meilisearch seite 02in unserer werkstatt ### KI in unserer eigenen Arbeit Wir entwickeln mit GitHub Copilot, Cursor und Claude und automatisieren wiederkehrende Abläufe in Build und Redaktion. Das verkürzt Projektlaufzeiten und hält die Qualität stabil — jeden Stand prüft ein Entwickler, bevor er live geht. stack: copilot · cursor · claude · ci/cd aufgabenzeit im kontrollierten experiment▸ −55,8 % Kontrolliertes Experiment mit 95 Entwicklern, identische Aufgabe (HTTP-Server): Die Gruppe mit KI-Assistent war 55,8 % schneller. Quelle: [Peng et al. 2023, arXiv:2302.06590](https://arxiv.org/abs/2302.06590) frontier-modelle im coding-benchmark▸ claude Gelöste reale GitHub-Issues in % — deshalb entwickeln wir mit Claude. Quelle: [SWE-bench Verified](https://www.swebench.com/), Stand Juli 2026 leistung · 6 bausteine ## Was KI & Automation bei siteway umfasst jeder baustein **einzeln buchbar** Sechs Bausteine, kein Buzzword-Paket: drei für deine Website, drei für die Abläufe dahinter. Du buchst, was dein Projekt braucht — einzeln oder als Teil eines Relaunchs. b-01chatbot ### KI-Chatbot Ein Dialog-Assistent auf deiner Website, der aus deinen Inhalten antwortet, Fragen rund um die Uhr beantwortet und Anfragen vorqualifiziert, bevor sie im Postfach landen. output: chatbot b-02suche ### KI-Instant-Search Schnelle, facettierte Suche mit Tippfehler-Toleranz und KI-Ranking — auf Basis von Algolia oder Meilisearch. Besucher finden Produkte und Inhalte, statt sie zu suchen. output: algolia · meilisearch b-03llm-api ### Sprachmodell-Anbindung Wir binden Sprachmodelle an deine Website und dein CMS an: Anthropic, OpenAI, Perplexity oder Open-Source-Modelle — auf Wunsch self-hosted auf deinem Server. output: llm-api b-04redaktion ### Redaktions-Automatisierung Wiederkehrende Redaktionsabläufe laufen automatisch: Bilder in AVIF/WebP konvertieren, Metadaten pflegen, strukturierte Daten generieren. Deine Redaktion schreibt — den Rest macht die Pipeline. output: workflows b-05pipeline ### Build- & Deploy-Automatisierung Git und CI/CD statt Handarbeit: Jeder Stand wird automatisch gebaut, geprüft und ausgeliefert. Das macht Releases wiederholbar — und Fehler sichtbar, bevor sie live gehen. output: git + ci/cd b-06entwicklung ### KI-gestützte Entwicklung GitHub Copilot, Cursor und Claude beschleunigen Entwicklung und Tests im Projektalltag. Das verkürzt Projektlaufzeiten — die Verantwortung für den Code bleibt bei unseren Entwicklern. output: tempo modellwahl ## Modellwahl & Datenschutz cloud, wenn sinnvoll · **self-hosted, wenn nötig** Welches Modell hinter Chatbot oder Suche steckt, ist keine Glaubensfrage, sondern eine Abwägung: Cloud-Modelle von Anthropic, OpenAI oder Perplexity liefern die stärksten Antworten und sind schnell angebunden. **Open-Source-Modelle self-hosted** laufen auf deinem Server — dann verlassen Anfragen deine Infrastruktur nicht. Wir legen die Wahl vor dem Start offen: welches Modell, welche Daten fließen, was in die [Datenschutzerklärung](https://www.siteway.de/datenschutz/) gehört. Dieselbe Regel gilt für unsere [kostenlosen Tools](https://www.siteway.de/tools/) — API-Aufrufe laufen über unseren Proxy, nicht über den Browser deiner Besucher. Alle Modelle und Dienste stehen im [Stack](https://www.siteway.de/stack/). vor dem start geklärt - 01**Modellwahl** mit Begründung je Use-Case - 02Datenflüsse: **was geht wohin** - 03Self-hosted-Option **geprüft** - 04**Datenschutzerklärung** angepasst modelle im stack cloud: anthropic · openai · perplexity self-hosted: open-source-modelle [alle details im stack →](https://www.siteway.de/stack/) ablauf · 5 schritte ## So läuft die Automatisierung klein anfangen · **messbar ausbauen** 1. // schritt 01 · use-case Use-Case & Briefing. Wir klären, welcher Ablauf wirklich Zeit frisst oder welches Feature deinen Besuchern fehlt. Ein Use-Case, ein messbares Ziel — kein KI-Wunschzettel. output: use-case + ziel 2. // schritt 02 · modellwahl Modell- & Tool-Wahl. Cloud oder self-hosted, Anthropic, OpenAI oder Open-Source, Algolia oder Meilisearch: Wir entscheiden nach Use-Case, Datenschutz und Budget — mit Begründung und Festpreis. output: stack-entscheidung 3. // schritt 03 · prototyp Prototyp mit echten Daten. Bevor etwas live geht, testest du den Chatbot mit deinen Inhalten oder die Suche mit deinem Katalog. Antwortet er falsch, schärfen wir nach — vor dem Launch, nicht danach. output: prototyp 4. // schritt 04 · integration Integration & Test. Das Feature wandert in deine Website und dein CMS — sauber angebunden wie jede andere Schnittstelle, versioniert in Git, ausgeliefert über CI/CD. output: feature live 5. // schritt 05 · betrieb ● laufend Betrieb & Nachschärfen. KI-Features sind kein Einmalprojekt: Wir beobachten Antworten und Suchtreffer, aktualisieren Modelle und Indizes und schärfen nach. Auf Wunsch als Teil von [Betrieb & Wartung](https://www.siteway.de/expertise/betrieb-wartung-support/). output: monitoring faq ## Häufige Fragen ### Was macht eine Agentur für KI-Automatisierung? Sie findet Abläufe, die sich mit KI automatisieren lassen, und setzt sie technisch um. Bei siteway heißt das: KI-Features für deine Website — Chatbot, Instant-Search, Sprachmodell-Anbindung — und automatisierte Abläufe in Build und Redaktion. Umsetzung und Betrieb kommen aus einer Hand. ### Welche KI-Features kann meine Website bekommen? Drei Bausteine sind sofort greifbar: ein KI-Chatbot, der Fragen beantwortet und Anfragen vorqualifiziert, eine KI-Instant-Search mit Tippfehler-Toleranz auf Basis von Algolia oder Meilisearch und die Anbindung von Sprachmodellen für Textentwürfe, Klassifikation und Automatisierung im CMS. ### Geht KI-Automatisierung auch DSGVO-konform? Ja, wenn die Modellwahl dazu passt. Auf Wunsch binden wir Open-Source-Modelle self-hosted an — dann verlassen Anfragen deinen Server nicht. Bei Cloud-Modellen klären wir vor dem Start, welche Daten fließen, und halten das in der Datenschutzerklärung fest. ### Muss dafür eine neue Website her? Nein. Chatbot, KI-Suche und Sprachmodell-Anbindung lassen sich in bestehende TYPO3-, WordPress- und Statamic-Websites integrieren. Wir prüfen vorab, was deine Seite mitbringt, und nennen dann einen Festpreis. ### Welche Sprachmodelle bindet siteway an? Anthropic, OpenAI und Perplexity über deren APIs sowie Open-Source-Modelle, auf Wunsch self-hosted. Welches Modell passt, entscheidet der Use-Case: Ein Chatbot braucht andere Stärken als eine Klassifikation im Redaktions-Workflow. ### Nutzt ihr KI auch in eurer eigenen Entwicklung? Ja, täglich. GitHub Copilot, Cursor und Claude beschleunigen Entwicklung und Tests, wiederkehrende Abläufe in Build und Redaktion laufen automatisiert. Das verkürzt Projektlaufzeiten und hält die Qualität stabil — jeden Stand prüft ein Entwickler, bevor er live geht. ### Braucht jede Automatisierung wirklich KI? Nein — und das ist eine ehrliche Antwort, keine Bescheidenheit. Viele Aufgaben lösen eine Regel, ein geplanter Lauf oder eine saubere Schnittstelle besser als ein Sprachmodell: Sie sind nachvollziehbar, kosten nichts pro Aufruf und liefern immer dasselbe Ergebnis. Wenn ein Cronjob reicht, bauen wir einen Cronjob. Ein Modell setzen wir dort ein, wo es wirklich trägt — bei Sprache, unscharfen Eingaben und Inhalten, die sich nicht in feste Regeln fassen lassen. Wir wählen also das einfachste Mittel, das die Aufgabe dauerhaft löst. ### Was kostet KI & Automation? Festpreis nach Briefing. Sobald Use-Case, Modellwahl und Integrationsaufwand feststehen, nennen wir einen Preis und halten ihn fest. Kleine Automatisierungen starten als einzeln buchbarer Baustein, größere als Teil eines Projekts. verwandte leistungen ## Was auf KI & Automation einzahlt alle leistungen im **überblick** - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Sprachmodelle sind APIs wie CRM oder PIM: Wir binden sie stabil, versioniert und wartbar an. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Die andere Richtung: So wird deine Website in KI-Antworten von ChatGPT, Perplexity und Google sichtbar. weiterlesen → - [Case Spelsberg.](https://www.siteway.de/cases/spelsberg/) — TYPO3-Plattform mit 13 Sprachen, PIM- und Hubspot-Anbindung und Algolia-Suche — seit 2018 betreut. zum case → Ablauf automatisieren? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · chatbot # KI-Chatbots KI-Chatbots sind bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Wir bauen einen **Chatbot für deine Website**, der auf deine eigenen Inhalte trainiert ist: Er beantwortet Fragen, qualifiziert Anfragen vor und übergibt an einen Menschen, wenn nötig — mit Anti-Halluzination und DSGVO-konformer [Modellwahl](https://www.siteway.de/stack/). komponente baustein: einzeln buchbar training: deine inhalte output: dialog-assistent + crm-übergabe [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein KI-Chatbot für eine Website? **Ein KI-Chatbot für eine Website ist ein Dialog-Assistent, der direkt auf der Seite Fragen im Gespräch beantwortet — trainiert auf deine eigenen Inhalte.** Als Komponente gebaut, ist er kein generisches Widget von der Stange, sondern kennt deine Website, deine FAQ und deine Dokumente. Er beantwortet wiederkehrende Fragen rund um die Uhr. Der Unterschied zu einem klassischen Kontaktformular: Der Besucher fragt in eigenen Worten und bekommt sofort eine Antwort. Weiß der Chatbot etwas nicht oder wird es heikel, **übergibt er an einen Menschen**. So nimmt er deinem Team die Routine ab, ohne dass jemand das Gefühl bekommt, gegen eine Wand zu reden. $ cat ki-chatbot.md - ✓Dialog-Assistent chat-widget - ✓Training auf deine Inhalte - ✓Anti-Halluzination nur belegtes wissen - ✓Übergabe an einen Menschen - ✓Vorqualifizierung crm - ✓Modellwahl & Datenschutz self-hosted möglich warum ## Antwortet, wenn niemand da ist routine raus · **anfragen rein** Die meisten Fragen auf einer Website wiederholen sich: Öffnungszeiten, Preise, Ablauf, „Macht ihr auch …?". Jede einzeln zu beantworten kostet dein Team Zeit — und wer abends oder am Wochenende fragt, wartet bis zum nächsten Werktag. Bis dahin ist der Interessent oft schon weiter. Ein Chatbot fängt genau das ab. Er beantwortet die Standardfragen sofort, sammelt bei echten Anfragen die richtigen Angaben und übergibt qualifiziert an dein Team oder dein [CRM](https://www.siteway.de/expertise/schnittstellen-integration/). Dein Team bekommt weniger Routine und mehr vorbereitete Gespräche. Die große KI-Leistung dahinter — Automatisierung über den Chat hinaus — steht bei [KI & Automation](https://www.siteway.de/expertise/ki-automation/). was der baustein liefert - 01Antworten **rund um die Uhr** - 02Weniger **Routine-Anfragen** im Team - 03Vorqualifizierte **Leads** ins CRM - 04Übergabe an einen **Menschen**, wenn nötig baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein fremdes Chat-SaaS mit eigenem Branding, sondern ein Assistent auf deiner Domain, im Design deiner Seite, mit deinem Wissen. Jede Funktion hat ein greifbares Ergebnis. f-01dialog ### Dialog-Assistent Ein Chat-Widget auf jeder Seite, das im Gespräch antwortet — nicht mit starren Buttons, sondern auf frei formulierte Fragen. Rund um die Uhr, in der Sprache deiner Besucher. output: chat-widget f-02wissen ### Training auf deine Inhalte Der Chatbot lernt aus deiner Website, deinen FAQ und Dokumenten. Er antwortet mit deinem Wissen und deinen Formulierungen — nicht mit Allgemeinwissen aus dem Netz. output: wissensbasis f-03belegt ### Anti-Halluzination Der Chatbot antwortet nur mit belegtem Wissen aus deinen Quellen. Fehlt die Grundlage, sagt er das offen und übergibt — statt eine plausibel klingende, aber falsche Antwort zu erfinden. output: nur belegtes wissen f-04übergabe ### Übergabe an einen Menschen Wird es komplex oder heikel, reicht der Chatbot das Gespräch an dein Team weiter — per Formular, E-Mail oder Livechat. Der Bot nimmt die Routine, dein Team behält die echten Fälle. output: human-handover f-05leads ### Vorqualifizierung Aus einem Gespräch wird eine strukturierte Anfrage: Der Chatbot fragt die richtigen Angaben ab und übergibt qualifizierte Leads an dein CRM — über die [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/). output: crm-übergabe f-06datenschutz ### Modellwahl & Datenschutz Welches KI-Modell antwortet, entscheiden wir nach Datenschutz und Budget: anthropic, openai, perplexity, open-source — oder self-hosted auf deiner eigenen Infrastruktur, wenn die Daten das Haus nicht verlassen dürfen. output: dsgvo + modellwahl mehrwert ## Antworten, die belegt sind lieber „weiß ich nicht" als **erfunden** Die meisten Chatbot-Anbieter reden über Reichweite und Automatisierung. Über das größte Risiko schweigen sie: Ein Sprachmodell klingt auch dann überzeugend, wenn es rät. Ein Chatbot, der falsche Preise nennt oder eine Zusage erfindet, ist gefährlicher als gar keiner. Deshalb bauen wir den Baustein so, dass der Chatbot nur sagt, was er belegen kann. h-01grundlage ### Antwort aus Quelle Der Chatbot sucht erst in deiner Wissensbasis und formuliert die Antwort daraus (Retrieval). Er startet nicht mit einer freien Erfindung, sondern mit deinem belegten Inhalt. retrieval statt raten h-02grenze ### Lücke zeigen Fehlt zu einer Frage die Grundlage, sagt der Chatbot das offen und bietet die Übergabe an. Ein ehrliches „das kläre ich für dich mit einem Kollegen" schlägt jede geratene Antwort. ehrliche lücke h-03pflege ### Wissensbasis pflegen Der Chatbot ist nur so gut wie seine Quellen. Als Grundlage bietet sich eine gepflegte [Wissensdatenbank & Glossar](https://www.siteway.de/expertise/wissensdatenbank-glossar/) an — ändert sich ein Preis, ändert sich die Antwort. quelle als single source datenschutz ## Datenschutz entscheidet das Modell dsgvo ist **kein aufkleber** Ein Chatbot verarbeitet, was Besucher hineinschreiben — manchmal auch persönliche Daten. Deshalb ist die wichtigste Entscheidung nicht das Design, sondern das Modell dahinter. Je nach Anforderung setzen wir ein Modell mit EU-Verarbeitung ein oder betreiben ein **open-source-Modell self-hosted** auf deiner eigenen Infrastruktur — dann verlassen die Daten dein Haus nicht. Chatverläufe binden wir sauber in deine Datenschutzerklärung ein, statt sie still an ein fremdes SaaS zu schicken. Datenschutz ist bei uns ein Vorteil, kein Kleingedrucktes. modellwahl cloud: anthropic · openai · perplexity self-hosted: open-source [alle details im stack →](https://www.siteway.de/stack/) einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · quellen Wissensbasis sammeln. Wir sichten, was der Chatbot wissen soll: Website, FAQ, Preislisten, Dokumente. Daraus wird die Quelle, aus der er antwortet — und wir klären, was er nicht beantworten darf. output: wissensbasis 2. // schritt 02 · modell Modell wählen. Nach Datenschutz und Budget entscheiden wir das KI-Modell — Cloud mit EU-Verarbeitung oder self-hosted. Hier fällt die Weiche, wie und wo die Daten verarbeitet werden. output: modell + dsgvo-plan 3. // schritt 03 · einbau Ins CMS einbauen. Wir bauen das Chat-Widget in dein TYPO3, WordPress oder Statamic ein, verdrahten die Übergabe an einen Menschen und die Vorqualifizierung ins CRM — im Design deiner Seite. output: widget + crm 4. // schritt 04 · test ● ergebnis Testen & scharfschalten. Wir prüfen den Chatbot mit echten Fragen, schärfen die Grenzen nach und schalten ihn live. Danach bleibt er über die Wissensbasis pflegbar — ohne dass jemand Code anfassen muss. output: live-chatbot faq ## Häufige Fragen ### Was ist ein KI-Chatbot für eine Website? Ein KI-Chatbot für eine Website ist ein Dialog-Assistent, der direkt auf der Seite Fragen im Gespräch beantwortet. Als Website-Komponente gebaut, ist er auf deine eigenen Inhalte trainiert — Website, FAQ und Dokumente. Er beantwortet wiederkehrende Fragen rund um die Uhr, qualifiziert Anfragen vor und übergibt an einen Menschen, wenn er nicht weiterweiß. ### Woher weiß der Chatbot die Antworten? Wir trainieren den Chatbot auf deine eigenen Quellen: deine Website, deine FAQ, Preislisten, Handbücher oder eine Wissensdatenbank. Daraus entsteht eine Wissensbasis, aus der er antwortet. Er nutzt also dein Wissen und deine Formulierungen — nicht beliebiges Allgemeinwissen aus dem Internet. ### Erfindet der Chatbot Antworten? Nein — das verhindern wir gezielt. Der Chatbot antwortet nur mit belegtem Wissen aus deinen Quellen (Retrieval statt freies Erfinden). Findet er zu einer Frage keine Grundlage, sagt er das offen und bietet die Übergabe an einen Menschen an, statt eine plausibel klingende, aber falsche Antwort zu halluzinieren. ### Ist der KI-Chatbot DSGVO-konform? Ja. Datenschutz ist bei uns Teil der Modellwahl, nicht ein nachträglicher Aufkleber. Je nach Anforderung setzen wir Modelle mit EU-Verarbeitung ein oder betreiben ein open-source-Modell self-hosted auf deiner eigenen Infrastruktur — dann verlassen die Daten dein Haus nicht. Chatverläufe binden wir sauber in deine Datenschutzerklärung ein. ### Was passiert, wenn der Chatbot nicht weiterweiß? Dann übergibt er an einen Menschen. Bei komplexen, heiklen oder rechtlich sensiblen Anliegen reicht der Chatbot das Gespräch an dein Team weiter — über ein Formular, per E-Mail oder in einen Livechat. Der Bot nimmt die Routine ab, dein Team behält die Fälle, die einen Menschen brauchen. ### In welche Website baut ihr den Chatbot ein? In deine bestehende oder neue Website. Wir binden den Chatbot in TYPO3, WordPress oder Statamic ein und verdrahten die Übergabe an dein CRM (HubSpot, Salesforce, Pipedrive u. a.) über die Schnittstellen. Der Chatbot läuft dann auf deiner Domain, im Design deiner Seite — kein fremdes SaaS-Widget mit eigenem Branding. ### Können wir den KI-Chatbot einzeln buchen? Ja. KI-Chatbots sind eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und wir bauen sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [KI & Automation.](https://www.siteway.de/expertise/ki-automation/) — Der Chatbot ist ein Baustein — hier ist die große Leistung: KI-Automatisierung über den Chat hinaus, im ganzen Unternehmen. weiterlesen → - [Wissensdatenbank & Glossar.](https://www.siteway.de/expertise/wissensdatenbank-glossar/) — Die gepflegte Quelle, aus der der Chatbot antwortet — eine strukturierte Wissensbasis, die belegtes Wissen liefert. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Damit vorqualifizierte Anfragen im richtigen System landen: die Anbindung an dein CRM und deine Tools. weiterlesen → KI-Chatbot in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · configurator # Konfiguratoren Konfiguratoren sind bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Ein **Produktkonfigurator**, mit dem Kunden Produkt oder Leistung Schritt für Schritt zusammenstellen: mit Varianten, [Regeln und Abhängigkeiten](#angebot), Live-Berechnung und am Ende einem Angebot oder einer Anfrage ins CRM. komponente baustein: einzeln buchbar logik: varianten · regeln · preis output: angebot ins crm [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Produktkonfigurator? **Ein Produktkonfigurator ist ein Werkzeug auf deiner Website, mit dem Kunden ein Produkt oder eine Leistung Schritt für Schritt selbst zusammenstellen — Material, Größe, Ausführung, Zubehör.** Als Komponente gebaut, ist er mehr als ein hübsches Auswahlmenü: eine mehrstufige Eingabe, Regeln für gültige Kombinationen, eine Live-Berechnung des relevanten Werts und die Übergabe des Ergebnisses als Angebot oder Anfrage. Die mehrstufige Eingabe teilt sich die Technik mit unserer Schwester-Komponente [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) — ein Konfigurator ist eine Formularstrecke mit Preis-Logik und Produktdaten dahinter. Die Daten selbst zieht er aus deinem [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/), statt sie ein zweites Mal zu pflegen. $ cat konfigurator.md - ✓Mehrstufige Konfiguration - ✓Varianten & Optionen - ✓Regeln & Abhängigkeiten - ✓Live-Berechnung echtzeit - ✓Angebot & Anfrage pdf - ✓Übergabe ans crm · erp warum ## Vom endlosen Hin und Her zur Anfrage der kunde baut, du **bekommst den lead** Erklärungsbedürftige Produkte kosten Zeit: Der Interessent schreibt, du fragst nach, er antwortet, ihr telefoniert — bis klar ist, was er überhaupt will. Ein Konfigurator dreht das um. Der Kunde stellt selbst zusammen, was er braucht, sieht sofort den Preis und schickt dir am Ende eine vollständige, eindeutige Konfiguration. Aus einer vagen Anfrage wird ein sauberes Briefing. Damit das trägt, muss die Technik stimmen. Wir bauen die Logik so, dass nur gültige Kombinationen herauskommen, der Preis nachvollziehbar bleibt und das Ergebnis strukturiert bei dir landet — per [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/) direkt im CRM oder ERP, nicht als formlose E-Mail, die jemand abtippen muss. was der baustein liefert - 01Weniger **Rückfragen** pro Anfrage - 02Preis-**Transparenz** ab dem ersten Klick - 03Eindeutige **Konfiguration** statt Freitext - 04Qualifizierter **Lead** direkt im CRM baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein eingemietetes Fremdsystem, sondern einen Konfigurator, der zu deinen Produkten, deinem Design und deinem CMS passt. Jede Funktion hat ein greifbares Ergebnis. f-01ablauf ### Mehrstufige Konfiguration Der Kunde stellt sein Produkt in klaren Schritten zusammen, statt vor einem Formular mit fünfzig Feldern zu stehen. Jeder Schritt baut auf dem vorigen auf — geführt, nicht überfordernd. output: schritt für schritt f-02varianten ### Varianten & Optionen Materialien, Größen, Farben, Ausführungen und Zubehör als strukturierte Auswahl — mit Bildern und Kurztexten, damit die Optionen nicht nur Zahlen und Kürzel sind. output: optionsmatrix f-03regeln ### Regeln & Abhängigkeiten Optionen, die sich ausschließen oder bedingen, hinterlegen wir als Konfigurationsregeln. Ungültige Kombinationen sind gar nicht erst wählbar — herauskommen kann nur, was du auch liefern kannst. output: gültige kombinationen f-04berechnung ### Live-Berechnung Jede Auswahl aktualisiert das Ergebnis sofort — je nach Anwendung ein Preis, ein CO₂-Wert, eine Einsparung oder ein Materialbedarf. Nachvollziehbar aufgeschlüsselt, statt am Ende eine Zahl aus dem Nichts. output: ergebnis in echtzeit f-05abschluss ### Angebot & Anfrage Am Ende steht ein Ergebnis: ein Angebot als PDF, eine qualifizierte Anfrage oder — bei standardisierten Produkten — der direkte Sprung in den Warenkorb deines Shops. output: pdf · anfrage · warenkorb f-06übergabe ### Übergabe ans CRM Die fertige Konfiguration geht als strukturierter Datensatz an CRM, ERP oder Shop — per Schnittstelle, nicht als Freitext-Mail. Dein Vertrieb arbeitet mit sauberen Daten weiter. output: json ans crm mehrwert ## Angebot statt Warenkorb nicht jedes produkt **passt in eine kasse** Die meisten Konfigurator-Anbieter denken vom Online-Shop her: konfigurieren, in den Warenkorb, bezahlen. Das passt für standardisierte Produkte — aber viele Angebote sind erklärungsbedürftig, projektbezogen oder im B2B verhandelbar. Da endet ein guter Konfigurator nicht an der Kasse, sondern bei einer qualifizierten Anfrage. Genau diese Unterscheidung bauen wir bewusst mit ein. v-01b2b ### Für Erklärungsbedürftiges Maschinen, Bauteile, Dienstleistungspakete: Produkte, die man nicht spontan kauft, sondern anfragt. Der Konfigurator strukturiert das Gespräch, bevor es überhaupt beginnt. anfrage-strecke v-02transparenz ### Ergebnis vor Kontakt Die Live-Berechnung zeigt eine belastbare Größenordnung — Richtpreis, Einsparung oder Kennzahl — bevor jemand seine Daten hinterlässt. Das filtert unpassende Anfragen früh und schafft Vertrauen bei den passenden. richtwert live v-03lead ### Lead statt Absprung Wer erst eine Konfiguration baut, ist weiter als ein anonymer Besucher. Diese Absicht fangen wir ab — mit der kompletten Konfiguration als Kontext für deinen Vertrieb. qualifizierter lead einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · logik Optionen & Regeln festlegen. Welche Schritte, welche Optionen, welche Abhängigkeiten, wie rechnet sich der Preis. Wir bilden deine Produktlogik als Entscheidungsbaum ab — das ist die eigentliche Arbeit. output: entscheidungsbaum 2. // schritt 02 · daten An Daten anbinden. Produkte und Preise kommen aus deiner vorhandenen Quelle — Produktkatalog, PIM oder ERP. So pflegst du Preise an einer Stelle und der Konfigurator bleibt immer aktuell. output: datenquelle 3. // schritt 03 · build In die Website einbauen. Wir bauen die Oberfläche in dein TYPO3, WordPress, Statamic oder deinen WooCommerce-/Shopware-Shop — im Design deiner Seite, mobil bedienbar und barrierearm nach WCAG 2.2. output: frontend + logik 4. // schritt 04 · übergabe ● ergebnis Ausgabe verdrahten. Angebot-PDF, Anfrage oder Warenkorb, dazu die Übergabe ans CRM. Ein Testlauf mit echten Kombinationen, dann geht der Konfigurator live — und liefert dir strukturierte Leads. output: live-konfigurator faq ## Häufige Fragen ### Was ist ein Produktkonfigurator? Ein Produktkonfigurator ist ein Werkzeug auf einer Website, mit dem Kunden ein Produkt oder eine Leistung Schritt für Schritt selbst zusammenstellen — Material, Größe, Ausführung, Zubehör. Als Website-Komponente gebaut, besteht er aus einer mehrstufigen Eingabe, Regeln für gültige Kombinationen, einer Live-Berechnung des relevanten Werts und einer Übergabe des Ergebnisses als Angebot oder Anfrage ins CRM. ### Endet der Konfigurator im Warenkorb oder in einem Angebot? Beides ist möglich. Bei erklärungsbedürftigen oder B2B-Produkten endet der Konfigurator meist in einem Angebot als PDF oder einer qualifizierten Anfrage mit der kompletten Konfiguration. Bei standardisierten Produkten legen wir das Ergebnis direkt in den Warenkorb deines Shops. Was passt, klären wir im Briefing. ### Was rechnet der Konfigurator live aus? Das hängt vom Konfigurator ab. Klassisch ist ein Preis, aber genauso oft ist es ein branchenspezifischer Wert: ein CO₂-Fußabdruck, eine Energie- oder Kosteneinsparung, ein Materialbedarf oder eine Dimensionierung. Jede Auswahl aktualisiert diesen Wert sofort und nachvollziehbar aufgeschlüsselt, statt am Ende eine Zahl aus dem Nichts zu zeigen. ### Wie behaltet ihr Varianten und Abhängigkeiten im Griff? Über Konfigurationsregeln. Wir hinterlegen, welche Optionen sich gegenseitig ausschließen und welche eine andere voraussetzen. Ungültige Kombinationen sind dann gar nicht erst wählbar. So kann am Ende nur herauskommen, was du auch tatsächlich liefern kannst — egal wie viele Varianten dein Produkt hat. ### In welches System baut ihr den Konfigurator ein? In deine Website oder deinen Shop, kein eingemietetes Fremdsystem: TYPO3, WordPress oder Statamic für Websites, WooCommerce oder Shopware für Shops. Die Preis- und Produktdaten ziehen wir aus deiner vorhandenen Quelle — Produktkatalog, PIM oder ERP — statt sie doppelt zu pflegen. ### Können wir den Konfigurator einzeln buchen? Ja. Konfiguratoren sind eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Der Katalog liefert die Produkte und Preise, aus denen der Konfigurator seine Optionen zieht — die Datenbasis unter dem Baustein. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Damit das Angebot strukturiert im CRM, ERP oder Shop landet — die Leistung, die den Konfigurator an deine Systeme anschließt. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Vom Produktfinder bei Spelsberg bis zu individuellen Auswahlstrecken — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Konfigurator in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- svc-01 · konzept # Konzept & Strategie **Website-Konzeption** heißt bei siteway: Wir klären Ziele, Zielgruppen und Aufbau, bevor jemand gestaltet. Heraus kommen Informationsarchitektur, Sitemap, Wireframes und ein verbindlicher Scope — das Fundament, auf dem [Design](https://www.siteway.de/expertise/ux-ui-design/), [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) und ein belastbarer Festpreis aufsetzen. svc-01 einzeln buchbar dauer: 1–3 wochen output: scope.md [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist eine Website-Konzeption? **Website-Konzeption ist die strukturierte Planung einer Website, bevor Design und Entwicklung starten.** Sie legt fest, was die Seite erreichen soll, wer sie nutzt, wie sie aufgebaut ist und mit welcher Technik sie läuft. Die Ergebnisse sind greifbar: eine Sitemap, Wireframes und ein verbindlicher Scope. Der Unterschied zum Drauflos-Gestalten: Jede spätere Entscheidung — vom Layout bis zur CMS-Wahl — hat eine Begründung, die im Konzept steht. Deine Redaktion weiß, welche Inhalte sie liefern muss. Wir wissen, was wir bauen. Und du weißt vorher, was es kostet. $ cat konzeption.md - ✓Ziele & Zielgruppen - ✓Informationsarchitektur & Sitemap - ✓Wireframes der Schlüsselseiten - ✓Content- & Keyword-Konzept - ✓Technik-Entscheidung cms · schnittstellen - ✓Scope & Roadmap scope.md warum ## Konzept vor Pixeln planen ist billiger als **nachbauen** Die meisten Website-Projekte scheitern nicht am Design, sondern an fehlender Planung. Wer ohne Konzept startet, merkt in der Entwicklung, dass die Struktur nicht trägt, Inhalte fehlen oder das Ziel unklar ist. Dann wird nachgebaut — und das kostet Zeit, Geld und Nerven. Eine saubere **Website-Konzeption** dreht das um. Wir legen Ziele, Struktur und Umfang fest, solange Änderungen noch ein Satz sind und keine Woche Arbeit. Am Ende steht ein Scope, den alle verstehen: du, deine Redaktion und wir. Das macht den Preis planbar und den Launch verlässlich. änderungskosten je phase▸ konzept - 01Fehler im **Konzept** → 1 Satz ändern - 02Fehler im **Design** → 1 Stunde ändern - 03Fehler im **Code** → 1 Tag ändern - 04Fehler nach **Launch** → 1 Sprint ändern leistung · 6 bausteine ## Was die Website-Konzeption umfasst von ziel bis **scope** Sechs Bausteine, ein Ergebnis: eine Website-Konzeption, aus der Design und Entwicklung ohne Rückfragen weiterarbeiten. Jeder Baustein hat ein greifbares Artefakt. b-01ziele ### Ziele & Zielgruppen Was die Website erreichen soll und für wen. Business-Ziele, messbare KPIs und die Menschen, die am Ende konvertieren. output: ziele + personas b-02analyse ### Wettbewerbs- & Marktanalyse Wir sehen uns Wettbewerb, Bestandsseite und Suchmarkt an. Was funktioniert, was fehlt und wo deine Lücke im Markt liegt. output: analyse b-03architektur ### Informationsarchitektur & Sitemap Die Struktur der Seite: Navigation, Hierarchie und eine Sitemap, die Nutzer und Suchmaschinen gleichermaßen verstehen. output: sitemap b-04wireframes ### Wireframes Seitenlayouts als Graustufen-Gerüst: Welche Inhalte wo stehen und wie Nutzer geführt werden — die Vorlage fürs UX/UI-Design. output: wireframes b-05content ### Content- & Keyword-Konzept Welche Themen und Keywords die Seite abdeckt, welche Inhalte du brauchst und wie sie für SEO und KI-Antworten strukturiert sind. output: content-map b-06scope ### Scope & Roadmap Funktionsumfang, Meilensteine und Aufwand in einem verbindlichen Dokument — die Grundlage für Design, Umsetzung und Festpreis. output: scope.md nutzerführung ## Vom Besucher zum Kunden struktur ist nur die hälfte · **wege sind die andere** Ein gutes Website-Konzept plant nicht nur Seiten, sondern Wege. Die meisten Besucher landen nicht auf deiner Startseite, sondern über Google, KI-Antworten oder Empfehlungen mitten auf einer Unterseite. Das Konzept legt fest, was dort passiert: Was sie sehen, wohin sie als Nächstes geführt werden und wo aus Interesse eine Anfrage wird. w-01einstieg ### Einstieg planen Jede wichtige Unterseite ist eine mögliche Eingangstür. Das Konzept bestimmt, welche Seiten für welche Suchanfragen ranken sollen — und was Besucher dort als Erstes verstehen müssen. seo + geo je seite w-02führung ### Führung gestalten Von jeder Seite gibt es einen nächsten sinnvollen Schritt: weiterlesen, vergleichen, anfragen. Die Wireframes zeigen, wo Call-to-Actions stehen und welche Wege sich kreuzen. journeys + ctas w-03abschluss ### Abschluss messen Anfrage, Anruf, Download: Das Konzept definiert die Conversion-Ziele und hält Formulare so kurz wie möglich. Nach dem Launch siehst du, welche Wege funktionieren — und welche wir nachschärfen. kpis + messung ablauf · 5 schritte ## So entsteht dein Konzept jeder schritt ein ergebnis · **ein scope am ende** 1. // schritt 01 · kickoff Kickoff & Ziele. Gemeinsamer Workshop: Ziele, Zielgruppen und Erfolgskriterien. Wir hören zu und stellen die Fragen, die sonst erst spät kommen. output: briefing 2. // schritt 02 · research Analyse & Research. Wettbewerb, Bestandsseite, Nutzer und Suchmarkt. Wir sammeln Fakten, statt zu raten. output: analyse 3. // schritt 03 · struktur Architektur & Sitemap. Informationsarchitektur und Sitemap. Aufbau und Navigation stehen, bevor eine Seite gestaltet wird. output: sitemap 4. // schritt 04 · wireframes Wireframes & Content. Seitenlayouts und Content-Konzept. Wir zeigen, wo welche Inhalte stehen und was noch entstehen muss. output: wireframes 5. // schritt 05 · scope ● ergebnis Scope & Übergabe. Alles fließt in einen verbindlichen Scope zusammen — die Grundlage für Design, Umsetzung und Festpreis. output: scope.md sonderfall ## Konzept für den Relaunch neu bauen, ohne **rankings zu verlieren** Beim Relaunch startet das Konzept nicht auf dem weißen Blatt, sondern mit einer Bestandsaufnahme: Welche Seiten bringen Besucher und Rankings, welche Inhalte bleiben, was fliegt raus. Ohne dieses **Website-Relaunch-Konzept** verlieren Unternehmen beim Umstieg regelmäßig ihre Sichtbarkeit — und merken es erst, wenn die Anfragen ausbleiben. Deshalb gehören beim Relaunch drei Dinge zusätzlich ins Konzept: ein Content-Inventar mit URL-Mapping, eine 301-Weiterleitungs-Strategie für jede alte Adresse und eine Messbasis vor dem Umstieg, damit wir Rankings und Besucher nach dem Go-live vergleichen können. Wie der Umstieg selbst läuft, steht bei [Relaunch & Migration](https://www.siteway.de/expertise/relaunch-migration/). zusätzlich im relaunch-konzept - 01Content-Inventar & **URL-Mapping** - 02**301-Strategie** für jede alte URL - 03Rankings & Backlinks **sichern** - 04**Messbasis** vorher/nachher technik ## Die Technik-Weichenstellung im konzept entschieden · **nicht im nachhinein** Die teuerste Technik-Entscheidung ist die, die zu spät fällt. Deshalb legt das Konzept fest, worauf deine Website läuft: **TYPO3** für komplexe Redaktionen mit vielen Rollen und Sprachen, **WordPress** für Blogs und kleinere Business-Sites, **Statamic** für schlanke Seiten mit wenig Wartung. Genauso früh klären wir, welche Systeme angebunden werden — CRM, Warenwirtschaft, Newsletter oder Payment. Das entscheidet über Aufwand, Hosting und Betrieb, lange bevor die erste Zeile Code entsteht. im konzept geklärt cms: typo3 · wordpress · statamic schnittstellen: crm · erp · payment [alle details im stack →](https://www.siteway.de/stack/) faq ## Häufige Fragen ### Was ist eine Website-Konzeption? Die Website-Konzeption klärt Ziele, Zielgruppen und Aufbau einer Website, bevor gestaltet wird. Ergebnisse sind Informationsarchitektur, Sitemap, Wireframes und ein verbindlicher Scope. Sie ist die Grundlage für Design, Umsetzung und einen belastbaren Festpreis. ### Warum lohnt sich ein Konzept vor dem Design? Weil sich Fehler im Konzept mit einem Satz korrigieren lassen, im fertigen Code aber ganze Tage kosten. Ein Konzept legt Ziele, Struktur und Umfang fest, bevor Design und Entwicklung starten. Das verhindert teure Nachbesserungen und macht den Preis planbar. ### Was kostet eine Website-Konzeption? Festpreis nach Briefing. Sobald Umfang, Seitenzahl und Ziele feststehen, nennen wir einen Preis für die Konzeptphase und halten ihn im Vertrag fest. ### Wie lange dauert die Konzeptphase? Je nach Projektgröße ein bis drei Wochen. Für eine überschaubare Business-Website reicht meist eine Woche, ein Portal mit vielen Vorlagen und Schnittstellen braucht länger. ### Können wir nur das Konzept beauftragen? Ja. Konzept & Strategie ist einzeln buchbar. Du bekommst Sitemap, Wireframes und Scope als eigenständiges Ergebnis und entscheidest danach frei, wer umsetzt. ### Was ist der Unterschied zwischen Konzept und Strategie? Die Strategie beantwortet das Warum und Wohin: Ziele, Zielgruppen und Positionierung. Das Konzept übersetzt das in das Wie: Struktur, Sitemap, Wireframes und Scope. Wir liefern beides in einem Schritt. ### Was gehört alles in ein Website-Konzept? Ziele und Zielgruppen, die Informationsarchitektur mit Sitemap, Wireframes der Schlüsselseiten, ein Content- und Keyword-Konzept, die Technik-Entscheidung für CMS und Schnittstellen sowie der verbindliche Scope mit Roadmap. Beim Relaunch kommen Content-Inventar, URL-Mapping und eine 301-Weiterleitungs-Strategie dazu. ### Braucht auch eine kleine Website ein Konzept? Ja, nur kürzer. Auch ein Onepager braucht ein Ziel, eine klare Struktur und einen definierten Umfang. Bei kleinen Projekten dauert die Konzeptphase oft nur wenige Tage — sie verhindert aber dieselben teuren Nachbesserungen wie bei großen. weiter im prozess ## Was nach dem Konzept kommt alle leistungen im **überblick** - [UX/UI Design.](https://www.siteway.de/expertise/ux-ui-design/) — Aus Wireframes wird ein Interface: Gestaltung in Figma, übersetzt in Design-Tokens. weiterlesen → - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Schlankes, semantisches Markup und wartbare Templates aus dem Scope. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Wie aus Konzept und Strategie fertige Websites wurden — unsere Cases. zu den cases → Projekt richtig aufsetzen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · portal # Kundenportal & Self-Service Kundenportal & Self-Service ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Willst du ein **Kundenportal erstellen**, entsteht ein geschützter Bereich für Dokumente, Status und Tickets: Kunden rufen Rechnungen, Verträge und Bestellstatus selbst ab, statt anzurufen. Aufbauend auf [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/), mit Daten aus [CRM und ERP](https://www.siteway.de/expertise/schnittstellen-integration/). komponente baustein: einzeln buchbar basis: baut auf login auf output: dokumente · status · tickets [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Kundenportal? **Ein Kundenportal ist ein geschützter Bereich auf der eigenen Website, in dem angemeldete Kunden ihre eigenen Daten selbst abrufen und verwalten — Rechnungen, Verträge, Bestellstatus und Support-Tickets.** Statt anzurufen oder eine E-Mail zu schreiben, erledigt der Kunde das im Self-Service. Als Komponente gebaut, ist das Portal mehr als eine Seite: ein geschützter Bereich, die Funktionen dahinter und eine Anbindung an deine Bestandssysteme. Wichtig ist die Abgrenzung zum **Login**. Der Login regelt den Zugang — wer sich anmelden darf und welche Rolle er hat. Das **Kundenportal** ist der Raum dahinter: die Funktionen und Daten, die der angemeldete Kunde sieht. Deshalb baut das Portal immer auf der Komponente [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/) auf. $ cat kundenportal.md - ✓Dokumentenablage rechnungen · verträge - ✓Status & Bestellungen - ✓Tickets & Anfragen - ✓Stammdaten-Self-Service - ✓Anbindung crm · erp - ✓Zugang über login-komponente warum ## Jede Anfrage, die nicht anruft self-service statt **warteschleife** „Wo ist meine Rechnung?", „Wie ist der Stand meiner Bestellung?", „Können Sie mir den Vertrag nochmal schicken?" — das sind Anfragen, die dein Team jeden Tag beantwortet, und die immer gleich sind. Ein Kundenportal beantwortet sie einmal automatisch: Der Kunde meldet sich an und findet die Antwort selbst. Das entlastet nicht nur den Support. Es macht die Beziehung transparent — der Kunde sieht rund um die Uhr, was los ist, ohne auf Öffnungszeiten zu warten. Damit das trägt, muss die Technik stimmen: geschützter Zugang über [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/) und verlässliche Daten aus [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). was der baustein liefert - 01Weniger **Routine-Anfragen** im Support - 02Kunden-Zugriff **rund um die Uhr** - 03Transparente **Auftrags-Historie** - 04Daten im Haus, **kein SaaS-Zwang** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein gemietetes Fremd-Portal, sondern ein Self-Service-Bereich in deinem CMS, gespeist aus deinen Bestandssystemen. Welche Funktionen du brauchst, klären wir im Briefing. Jede hat ein greifbares Ergebnis. f-01dokumente ### Dokumentenablage Rechnungen, Verträge, Lieferscheine und Angebote als geschütztes Archiv je Kunde. Nur wer angemeldet ist, sieht seine eigenen Dokumente — jederzeit zum Download. output: pdf-archiv je kunde f-02status ### Status & Bestellungen Auftrags-, Bestell- und Lieferstatus in Echtzeit. Der Kunde sieht, wo sein Vorgang steht — die Daten kommen live aus dem angebundenen ERP, nicht aus einer Kopie. output: live-status aus erp f-03tickets ### Tickets & Anfragen Support-Anfragen stellt der Kunde direkt im Portal und verfolgt den Bearbeitungsstand. Alles an einem Ort, mit Verlauf — statt verstreuter E-Mails ohne Übersicht. output: ticket-verlauf f-04stammdaten ### Stammdaten-Self-Service Adresse, Ansprechpartner und Kontaktdaten pflegt der Kunde selbst. Änderungen laufen zurück ins CRM — kein Anruf, kein Formular, keine manuelle Nachpflege bei euch. output: kunde pflegt selbst f-05benachrichtigung ### Benachrichtigungen E-Mail bei neuem Dokument, geändertem Status oder einer Antwort auf ein Ticket. Der Kunde muss nicht ständig nachsehen — das Portal meldet sich, wenn es etwas Neues gibt. output: e-mail-trigger f-06anbindung ### CRM-/ERP-Anbindung Die Inhalte kommen live aus deinen Bestandssystemen. Über [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) zeigt das Portal, was in CRM und ERP steht — ohne Daten doppelt zu pflegen. output: schnittstelle live mehrwert ## Eingebaut statt eingemietet dein portal, **deine daten** Die meisten Kundenportale werden als fertige SaaS-Software gemietet — der Kunde landet dann in einem fremden Interface, die Daten liegen beim Anbieter, und pro Nutzer läuft eine monatliche Lizenz. Wir gehen den anderen Weg: Wir bauen das Portal als Komponente in deine eigene Website. Das ist mehr Aufwand am Anfang und zahlt sich an drei Stellen aus. e-01datenhoheit ### Daten bleiben bei dir Kundendaten, Dokumente und Verläufe liegen in deinen Systemen, nicht auf dem Server eines Portal-Anbieters. Das ist ein handfester Datenschutz-Vorteil — und du bist von keinem SaaS-Vertrag abhängig. dsgvo by design e-02marke ### Ein bruchloser Auftritt Das Portal sieht aus wie deine Website, weil es deine Website ist — gleiche Domain, gleiches Design, gleiche Navigation. Der Kunde merkt keinen Wechsel in ein fremdes Tool und bleibt in deiner Marke. eine domain · ein design e-03passform ### Genau eure Prozesse Ein gemietetes Portal bildet ab, was der Anbieter vorsieht. Ein gebautes Portal bildet ab, wie ihr arbeitet — eure Felder, eure Freigaben, eure Anbindung an genau die Systeme, die bei euch laufen. nach maß, nicht von der stange einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · umfang Funktionen festlegen. Welche Daten soll der Kunde sehen — Dokumente, Status, Tickets, Stammdaten? Wir klären den Umfang und aus welchen Systemen die Inhalte kommen. output: funktions-scope 2. // schritt 02 · zugang Login anschließen. Das Portal setzt auf der [Login-Komponente](https://www.siteway.de/expertise/login-mitgliederbereich/) auf. Wir definieren Rollen und Rechte, damit jeder Kunde nur seine eigenen Daten sieht. output: login + rollen 3. // schritt 03 · daten Systeme anbinden. Über [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) holen wir Rechnungen, Status und Kundendaten aus CRM und ERP — live, ohne Doppelpflege und ohne Datenkopie. output: crm-/erp-connect 4. // schritt 04 · live ● ergebnis Portal freischalten. Test mit echten Konten, dann Freigabe. Danach nutzen deine Kunden den Self-Service — und dein Team beantwortet weniger Routine-Anfragen. output: live-portal faq ## Häufige Fragen ### Was ist ein Kundenportal? Ein Kundenportal ist ein geschützter Bereich auf der eigenen Website, in dem angemeldete Kunden ihre eigenen Daten selbst abrufen und verwalten — Rechnungen, Verträge, Bestellstatus und Support-Tickets. Statt anzurufen oder eine E-Mail zu schreiben, erledigt der Kunde das im Self-Service. Als Website-Komponente gebaut, besteht das Portal aus einem geschützten Bereich, den Funktionen dahinter und einer Anbindung an deine Bestandssysteme. ### Was ist der Unterschied zwischen Login und Kundenportal? Der Login ist die Zugangsschicht: Registrierung, Anmeldung, Rollen und Rechte — er entscheidet, wer rein darf und was er sehen kann. Das Kundenportal sind die Funktionen und Daten dahinter: Dokumente, Status, Tickets, Stammdaten. Der Login ist die Tür, das Kundenportal der Raum dahinter. Deshalb baut das Portal immer auf der [Login-Komponente](https://www.siteway.de/expertise/login-mitgliederbereich/) auf. ### Woher kommen die Daten im Kundenportal? Meist aus deinen Bestandssystemen. Rechnungen und Bestellstatus liegen im ERP, Kundendaten und Ansprechpartner im CRM. Wir binden diese Systeme über [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) an, sodass das Portal die Daten live zeigt, statt sie doppelt zu pflegen. Ändert sich ein Auftragsstatus im ERP, sieht der Kunde die Änderung im Portal — ohne dass jemand etwas nachträgt. ### Müssen wir dafür eine externe Portal-Software mieten? Nein. Wir bauen das Kundenportal als Komponente direkt in deine Website und dein CMS ein, statt ein fremdes SaaS-Portal daneben zu mieten. So bleiben Daten, Design und Domain bei dir, es gibt keine monatliche Lizenz pro Nutzer und keinen Bruch zwischen Website und Portal. Der Kunde bleibt in deiner Marke, nicht im Interface eines Anbieters. ### Ist ein Kundenportal DSGVO-konform? Ja, wenn es richtig gebaut ist. Weil das Portal in deiner eigenen Website läuft und die Daten in deinen Systemen bleiben, gibt es keinen unnötigen Datenfluss zu Dritten. Zugriff ist an Login und Rollen gebunden, Verbindungen laufen verschlüsselt, und es werden keine Tracking-Dienste eingebunden. Datenschutz ist bei siteway kein Zusatz, sondern Bauprinzip. ### Können wir das Kundenportal einzeln buchen? Ja. Kundenportal & Self-Service ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Voraussetzung ist die [Login-Komponente](https://www.siteway.de/expertise/login-mitgliederbereich/) als Zugangsschicht. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Login & Mitgliederbereich.](https://www.siteway.de/expertise/login-mitgliederbereich/) — Die Zugangsschicht unter dem Portal: Registrierung, Anmeldung, Rollen und Rechte. Voraussetzung für jedes Kundenportal. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Woher die Portal-Daten kommen: die Anbindung an CRM, ERP und andere Bestandssysteme über saubere Schnittstellen. weiterlesen → - [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) — Ein Portal, das alle nutzen können — bedienbar per Tastatur und Screenreader, nach WCAG 2.2 und BFSG gebaut. weiterlesen → Kundenportal in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · lead-magnet # Lead-Magnet-Formulare Ein **Lead-Magnet** ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Whitepaper, Checkliste oder Studie gegen E-Mail: ein Formular mit Double-Opt-in, automatischer Auslieferung des Downloads und Übergabe des Leads an dein [CRM](https://www.siteway.de/expertise/schnittstellen-integration/) — DSGVO-konform, ohne externes Tracking-Widget. komponente baustein: einzeln buchbar dsgvo: double-opt-in output: gated content + crm-lead [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Lead-Magnet? **Ein Lead-Magnet ist ein nützlicher Inhalt, den du gegen die E-Mail-Adresse deiner Besucher herausgibst — ein Whitepaper, eine Checkliste oder eine Studie.** Aus einem anonymen Klick wird so ein Kontakt mit erkennbarem Interesse. Als Komponente gebaut, ist der Lead-Magnet mehr als ein Download-Button: ein Formular, eine Double-Opt-in-Bestätigung, die automatische Auslieferung und die Übergabe des Leads an dein CRM. Der Fachbegriff dafür ist **Gated Content**: wertvoller Inhalt hinter einem kleinen Tor. Das Tor ist das Formular, der Schlüssel die bestätigte E-Mail. Wir bauen dieses Tor so, dass es rechtssicher schließt und sich zuverlässig öffnet — und der Kontakt sauber dort ankommt, wo du weiter mit ihm arbeitest. $ cat lead-magnet.md - ✓Gated-Formular - ✓Double-Opt-in bestätigte einwilligung - ✓Automatische Auslieferung download-link - ✓CRM-Übergabe hubspot · salesforce · pipedrive - ✓Datensparsam & DSGVO - ✓Conversion messbar ohne externes tracking warum ## Wissen gegen Kontakt aus besuch wird **beziehung** Die meisten Besucher deiner Website kommen einmal, lesen und verschwinden — ohne dass du je erfährst, wer sie waren. Ein Lead-Magnet dreht das um: Wer etwas Wertvolles herunterlädt, hinterlässt dafür seine E-Mail. Aus einem anonymen Klick wird ein Kontakt, mit dem du weiterarbeiten kannst. Der Inhalt selbst ist dein Köder — die Mechanik dahinter entscheidet, ob daraus ein sauberer Lead wird. Wir bauen sie so, dass die Einwilligung dokumentiert ist, der Download zuverlässig ankommt und der Kontakt direkt in deinem CRM landet. Was danach kommt — die E-Mail-Strecke — baust du als Komponente [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). was der baustein liefert - 01Qualifizierte **Kontakte** statt anonymer Klicks - 02Dokumentierte **Einwilligung** für den Newsletter - 03Lead direkt im **CRM**, kein Copy-Paste - 04Content, der **arbeitet** statt nur liegt baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — von der ersten Eingabe bis zum Lead im CRM. Kein Fremd-Widget, das den Nutzer verfolgt, sondern eine Strecke, die über eigenes send.php läuft und DSGVO als Standard behandelt. Jede Funktion hat ein greifbares Ergebnis. f-01formular ### Gated-Formular Whitepaper, Checkliste oder Studie hinter einem kurzen Formular. Der Download startet erst, wenn die E-Mail bestätigt ist — der Inhalt bleibt der Grund, warum jemand seine Adresse gibt. output: gated form f-02opt-in ### Double-Opt-in Nach dem Absenden kommt eine Bestätigungs-E-Mail mit Link. Erst der Klick macht die Einwilligung gültig — rechtssicher dokumentiert, mit Zeitstempel, ohne den Kontakt zu verlieren. output: bestätigte einwilligung f-03auslieferung ### Automatische Auslieferung Sobald die E-Mail bestätigt ist, geht der Download-Link automatisch raus. Kein Handversand, keine Wartezeit — auch nachts und am Wochenende bekommt der Interessent den Inhalt sofort. output: auto-download f-04crm ### CRM-Übergabe Der bestätigte Kontakt landet direkt in deinem CRM — HubSpot, Salesforce, Pipedrive oder ein anderes. Welche Felder wohin wandern, legen wir beim Einbau fest. Die Anbindung ist die Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). output: lead im crm f-05datenschutz ### Datensparsam & DSGVO Nur nötige Felder, ein klarer Einwilligungstext ohne Vorankreuzung, kein externes Formular-Widget. Das Formular läuft über eigenes send.php — die Daten verlassen deine Infrastruktur nicht unnötig. output: dsgvo-konform f-06messung ### Conversion messbar Welcher Magnet zieht und wie viele Besucher das Formular tatsächlich abschließen — messbar über serverseitige Zählung, ohne Drittanbieter-Tracking. So siehst du, was funktioniert, und wir schärfen nach. output: conversion-daten mehrwert ## Weniger Felder, mehr Leads datenschutz & conversion · **dieselbe richtung** Die meisten Ratgeber zum Lead-Magnet drehen sich um Formate und Ideen — welches E-Book, welche Checkliste. Der Teil, der über Erfolg oder Misserfolg entscheidet, bleibt außen vor: das Formular und was rechtlich daran hängt. Dabei ziehen hier zwei Dinge am selben Strang. Jedes Pflichtfeld, das du wegzulassen darfst, erhöht die Zahl der Anmeldungen — und ist zugleich gelebte DSGVO-Datensparsamkeit. m-01datensparsam ### Nur was nötig ist Für den Einstieg reicht meist die E-Mail-Adresse. Weitere Felder nur, wenn du sie für die Qualifizierung wirklich auswertest. Das senkt die Hürde und erfüllt die Datensparsamkeit der DSGVO in einem Zug. weniger felder m-02einwilligung ### Einwilligung, sauber Eine Checkbox mit klarem Text, ohne Vorankreuzung, plus Double-Opt-in per Bestätigungs-E-Mail. Die Einwilligung ist dokumentiert — und damit die Grundlage, den Kontakt später sauber in den Newsletter zu übernehmen. dokumentiert m-03vertrauen ### Vertrauen statt Tracking Kein eingebettetes Fremd-Widget, kein Drittanbieter-Script, das den Nutzer über die Seite hinweg verfolgt. Das Formular läuft über eigenes send.php. Wer seine Daten gibt, sieht, dass sie mit Respekt behandelt werden. kein drittanbieter-script einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · magnet Magnet festlegen. Welches Asset — Whitepaper, Checkliste oder Studie —, welche Felder, welcher Verteiler. Wir klären, was du abfragen darfst und was du wirklich brauchst. output: konzept 2. // schritt 02 · formular Formular bauen. Wir bauen das Gated-Formular in dein TYPO3, WordPress oder Statamic — mit Validierung, Versand über eigenes send.php und einer Danke-Strecke unter /danke/. output: formular + /danke/ 3. // schritt 03 · opt-in Opt-in & Auslieferung. Double-Opt-in-Mail, automatischer Download-Link nach der Bestätigung und die Fehlerfälle dazwischen — abgelaufene Links, doppelte Anmeldungen — werden sauber abgefangen. output: bestätigungs-flow 4. // schritt 04 · crm ● ergebnis CRM anschließen. Lead-Felder werden auf HubSpot, Salesforce oder Pipedrive gemappt, ein Test-Lead läuft einmal durch die ganze Strecke, dann geht der Baustein live. output: live-lead-magnet faq ## Häufige Fragen ### Was ist ein Lead-Magnet? Ein Lead-Magnet ist ein nützlicher Inhalt — ein Whitepaper, eine Checkliste oder eine Studie —, den du gegen die E-Mail-Adresse deiner Besucher herausgibst. Als Website-Komponente gebaut, besteht er aus einem Formular, einer Double-Opt-in-Bestätigung, der automatischen Auslieferung des Downloads und der Übergabe des Kontakts an dein CRM. ### Was ist der Unterschied zwischen Lead-Magnet und Newsletter-Anmeldung? Die Newsletter-Anmeldung fragt nur die E-Mail für den Verteiler ab. Der Lead-Magnet gibt dafür etwas Konkretes zurück — einen Download — und liefert einen qualifizierten Kontakt mit erkennbarem Interesse an einem Thema. Technisch nutzen beide Double-Opt-in; die E-Mail-Strecke danach bauen wir als Komponente [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). ### Ist ein Lead-Magnet DSGVO-konform? Ja, wenn er richtig gebaut ist. Wir fragen nur die Daten ab, die du wirklich brauchst (Datensparsamkeit), holen die Einwilligung über eine klar formulierte Checkbox ohne Vorankreuzung und bestätigen sie per Double-Opt-in. Das Formular läuft über eigenes send.php ohne externe Tracking-Widgets. ### Wie kommt der Lead in unser CRM? Nach der Bestätigung übergeben wir den Kontakt automatisch an dein System — HubSpot, Salesforce, Pipedrive oder ein anderes. Welche Felder wohin wandern, legen wir beim Einbau fest. Die technische Anbindung gehört zur Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). ### Welche Inhalte eignen sich als Lead-Magnet? Alles, was für deine Zielgruppe einen konkreten Wert hat und schnell konsumierbar ist: Whitepaper, Checklisten, Vorlagen, Studien oder eine Kalkulationshilfe. Entscheidend ist nicht das Format, sondern dass der Inhalt eine echte Frage deiner Kunden beantwortet. ### Wie viele Formularfelder sollten wir abfragen? So wenige wie möglich. Jedes zusätzliche Pflichtfeld senkt die Zahl der Anmeldungen. Für den Einstieg reicht meist die E-Mail-Adresse; weitere Felder nur, wenn du sie für die Qualifizierung wirklich auswertest. Das ist zugleich DSGVO-Datensparsamkeit und Conversion-Optimierung. ### Können wir die Komponente einzeln buchen? Ja. Lead-Magnet-Formulare ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Wenn ein Feld nicht reicht: mehrstufige Formulare mit Validierung und sicherem Versand — die Schwester für komplexere Eingaben. weiterlesen → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Der Lead-Magnet liefert den Kontakt — hier geht die E-Mail-Strecke danach weiter: Anmeldung mit Double-Opt-in, angebunden an Mailchimp oder CleverReach. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Anbindung, über die der Lead in dein CRM wandert — HubSpot, Salesforce, Pipedrive und andere Systeme sauber verdrahtet. weiterlesen → Lead-Magnet in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · local # Local-SEO-Audit Ein **Local-SEO-Audit** prüft, warum dich Menschen in deiner Umgebung nicht finden. siteway schaut sich dein Google Unternehmensprofil an, gleicht Name, Adresse und Telefonnummer über Website, Impressum, Schema und Verzeichnisse ab und misst deine Sichtbarkeit im Local Pack — aus mehreren Standorten, nicht vom Schreibtisch. Heraus kommt der **local-report**: priorisierte Befunde statt einer weiteren Zahlenliste. audit audit: einzeln buchbar dauer: 1–2 wochen output: local-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Local-SEO-Audit? **Ein Local-SEO-Audit ist eine Bestandsaufnahme deiner lokalen Sichtbarkeit: Wie vollständig und richtig ist dein Google Unternehmensprofil, sind Name, Adresse und Telefonnummer überall identisch, und wie oft tauchst du im Local Pack auf, wenn Menschen in deiner Umgebung suchen?** Wir prüfen den Ist-Zustand und ändern nichts. Verändert wird erst danach — von dir, deinem Team oder uns. Das Audit ist einzeln buchbar und endet mit einem Artefakt: dem **local-report**. Darin steht nicht nur, was fehlt, sondern in welcher Reihenfolge du es angehst — sortiert nach Aufwand und Wirkung. Kostenlose Tools liefern dir Zahlen. Der Report liefert dir eine Reihenfolge. $ cat local-report.md - ✓Profil-Check google unternehmensprofil - ✓NAP-Abgleich name · adresse · telefon - ✓Sichtbarkeits-Karte local pack · maps - ✓Eintrags-Liste verzeichnisse · dubletten - ✓Lokale Website-Signale localbusiness-json-ld - ✓Befunde priorisiert p1 · p2 · p3 anlass ## Wann sich das Audit lohnt drei kästchen **entscheiden** Wer eine Leistung in der Nähe sucht, sieht zuerst drei Einträge mit Karte — das Local Pack. Wer dort nicht steht, existiert für viele Suchende nicht, egal wie gut die Website ist. Das Ärgerliche daran: Ob du drinstehst, entscheidet oft kein großer Fehler, sondern eine Kette kleiner Ungenauigkeiten — eine falsche Kategorie, eine alte Telefonnummer in einem Verzeichnis, ein Doppel-Eintrag von vor drei Jahren. Genau diese Kette macht das Audit sichtbar. Wir suchen nicht nach dem einen Trick, sondern nach den Stellen, an denen deine Daten auseinanderlaufen — und sagen dir, welche davon Google wirklich stören und welche kosmetisch sind. typische symptome - 01Der Wettbewerb steht im **Local Pack**, du nicht - 02Weniger **Anrufe** — ohne dass sich etwas geändert hat - 03Nach **Umzug**, Umfirmierung oder neuer Nummer - 04Nach einem **Relaunch** ohne Standortseiten - 05Neue **Filialen** — und keiner weiß, was wo steht audit · 6 prüffelder ## Was wir prüfen jedes feld ein **befund** Sechs Felder, in denen lokale Sichtbarkeit entsteht oder verloren geht. Jedes Feld liefert einen Befund im local-report — mit Beleg, Einordnung und einer klaren Aussage: kritisch, lohnend oder Kosmetik. p-01profil ### Google Unternehmensprofil Primär- und Zweitkategorien, Attribute, Öffnungszeiten inklusive Feiertagen, Beschreibung, Leistungen, Fotos, Beiträge. Die Kategorie ist der Hebel, den die meisten falsch gesetzt haben — und nie wieder anfassen. Hintergrund: [unsere Auswertung von 45.000 Einträgen](https://www.siteway.de/insights/google-unternehmensprofil/). befund: profil-check p-02nap ### NAP-Konsistenz Name, Adresse, Telefon im Abgleich: Unternehmensprofil, Impressum, Fußzeile, Kontaktseite, LocalBusiness-JSON-LD und externe Einträge. Wir suchen Abweichungen, alte Nummern und Dubletten aus früheren Adressen — sie konkurrieren mit deinem echten Profil. befund: nap-abgleich p-03local pack ### Local-Pack-Sichtbarkeit Wir rufen deine Suchbegriffe für mehrere Standorte im Einzugsgebiet ab und protokollieren, wo du im Local Pack stehst, ab welcher Entfernung du herausfällst und wer dann dort steht. Gleiches Prinzip wie unser Tool [Local SERPs](https://www.siteway.de/tools/local-serps/). befund: sichtbarkeits-karte p-04bewertungen ### Bewertungen & Antworten Anzahl, Frische, Sterneverteilung und Antwortquote. Dazu die Frage, ob du Kunden das Bewerten überhaupt leicht machst — ein Direktlink hilft, den erzeugt unser [Google-Review-Link](https://www.siteway.de/tools/google-review-link/). Bewertungen kaufen wir nicht und empfehlen wir nicht. befund: review-status p-05website ### Lokale Website-Signale LocalBusiness- und Organization-JSON-LD mit Adresse, Öffnungszeiten und Geo-Daten, eigene Standortseiten je Filiale, Kontaktdaten als Text statt als Bild, eingebettete Karte, mobile Ladezeit. Details bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). befund: onpage-lokal p-06einträge ### Verzeichnisse & Einträge Wo bist du eingetragen, wo falsch, wo gar nicht: Bing Places, Apple Business Connect, Branchen- und Verbandsverzeichnisse deiner Nische. Wir bewerten Qualität statt Menge — 200 wahllose Einträge sind kein Ziel, sondern ein Risiko. befund: eintrags-liste mehrwert ## Dein Ranking ist keine Zahl, sondern eine Landkarte wo steht der **suchende** Die meisten Local-SEO-Checklisten behandeln das Ranking wie eine feste Position: Platz 2 im Local Pack, fertig. Das stimmt nicht. Google mischt Local-Pack-Ergebnisse abhängig davon, wo der Suchende gerade steht — dieselbe Anfrage liefert zwei Kilometer weiter eine andere Reihenfolge. Wer sein Ranking im eigenen Büro googelt, misst den einzigen Standort, an dem er ohnehin gewinnt. l-01verzerrung ### Der eigene Standort lügt Am Firmensitz stehst du fast immer weit oben — die Distanz spielt für dich. Das sagt nichts darüber, was ein Kunde im Nachbarstadtteil sieht. Genau dort entscheidet sich, ob Anfragen kommen. standort-bias l-02messen ### Mehrere Standorte abfragen Wir fragen deine Suchbegriffe für verteilte Punkte im Einzugsgebiet ab. So entsteht statt einer Zahl ein Bild: Hier bist du im Local Pack, hier nicht mehr, hier steht der Wettbewerb. Nachvollziehen kannst du das mit [Google-Ergebnissen für einen anderen Standort](https://www.siteway.de/insights/google-local-serps/). multi-standort l-03reichweite ### Reichweite statt Position Die nützliche Kennzahl ist nicht „Platz 2", sondern „in welchem Radius bin ich überhaupt sichtbar". Wächst dieser Radius, wächst die Zahl der Menschen, die dich finden können — ohne dass sich eine Rankingposition ändern muss. sichtbarer radius output ## Was du bekommst: den local-report befunde mit **reihenfolge** Kostenlose Local-SEO-Tools gibt es reichlich. Sie werfen dir einen Score aus und eine Liste roter Punkte. Was sie nicht sagen: Welcher Punkt kostet dich Anfragen — und welcher ist egal. Der local-report macht genau das. Jeder Befund bekommt eine Priorität (**P1 kritisch**, P2 lohnend, P3 Kosmetik), eine Einschätzung von Aufwand und Wirkung und einen konkreten nächsten Schritt inklusive der Angabe, wer ihn erledigen kann: dein Team, dein Hoster oder wir. Belege liegen bei: Screenshots der Suchergebnisse je Standort, die Fundstellen abweichender NAP-Daten mit URL, das ausgelesene JSON-LD. Du kannst jeden Befund selbst nachprüfen. Übergeben wird der Report in einem Gespräch, in dem wir die ersten drei Maßnahmen durchgehen. $ head local-report.md - 01**Kurzbefund** — eine Seite, die deine Geschäftsführung liest - 02**Befundliste** — P1 / P2 / P3, mit Beleg - 03**Aufwand × Wirkung** je Befund - 04**Sichtbarkeits-Karte** — Local Pack je Standort - 05**Wettbewerbsvergleich** — wer steht dort statt dir - 06**Nächste Schritte** — konkret, mit Zuständigkeit ablauf · 4 schritte ## So läuft das Audit 1–2 wochen bis zum **report** 1. // schritt 01 · briefing Einzugsgebiet klären. Welche Standorte, welches Einzugsgebiet, welche Suchbegriffe bringen dir Kunden, wer ist der lokale Wettbewerb. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · erhebung Daten erheben. Profil, NAP-Quellen, Verzeichnisse, Bewertungen, JSON-LD und Standortseiten. Parallel messen wir das Local Pack für mehrere Standorte im Einzugsgebiet. output: rohdaten + belege 3. // schritt 03 · bewertung Befunde priorisieren. Jeder Fund wird eingeordnet: Wie stark stört er, wie teuer ist die Behebung. Daraus wird eine Reihenfolge — nicht eine Liste. output: p1 · p2 · p3 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Du bekommst den local-report und ein Gespräch, in dem wir die ersten drei Maßnahmen durchgehen. Ob du sie selbst umsetzt oder uns beauftragst, entscheidest du danach. output: local-report faq ## Häufige Fragen ### Was ist ein Local-SEO-Audit? Ein Local-SEO-Audit ist eine Bestandsaufnahme der lokalen Sichtbarkeit eines Unternehmens: Wie vollständig und richtig ist das Google Unternehmensprofil, sind Name, Adresse und Telefonnummer überall identisch, und wie oft taucht das Unternehmen im Local Pack und in Google Maps auf, wenn Menschen in der Umgebung suchen. Geprüft wird der Ist-Zustand, nichts wird verändert. Ergebnis ist ein Report mit priorisierten Befunden und konkreten nächsten Schritten. ### Wann lohnt sich ein Local-SEO-Audit? Wenn du im Local Pack nicht auftauchst, obwohl der Wettbewerb es tut. Wenn Anrufe und Anfragen zurückgehen, ohne dass sich am Angebot etwas geändert hat. Nach einem Umzug, einer Umfirmierung oder einer neuen Telefonnummer. Nach einem Relaunch, bei dem Standortseiten oder strukturierte Daten verloren gegangen sind. Und wenn mehrere Standorte oder Filialen dazugekommen sind. ### Was ist NAP-Konsistenz und warum zählt sie? NAP steht für Name, Address, Phone. NAP-Konsistenz bedeutet, dass diese drei Angaben überall identisch geschrieben sind: im Google Unternehmensprofil, im Impressum, in der Fußzeile, im LocalBusiness-JSON-LD und in externen Verzeichnissen. Abweichungen zwingen Google zu einer Entscheidung, welche Adresse stimmt. Besonders teuer sind Dubletten und alte Einträge mit der früheren Adresse — sie konkurrieren mit dem echten Profil. ### Wie messt ihr die Sichtbarkeit im Local Pack? Nicht vom Schreibtisch aus. Local-Pack-Ergebnisse hängen davon ab, wo der Suchende steht — dieselbe Suchanfrage liefert zwei Straßen weiter ein anderes Ergebnis. siteway ruft die Suchergebnisse deshalb für mehrere Standorte in deinem Einzugsgebiet ab und schaut, ab welcher Entfernung du aus dem Local Pack fällst und wer dann stattdessen dort steht. Das gleiche Prinzip nutzt unser kostenloses Tool [Local SERPs](https://www.siteway.de/tools/local-serps/). ### Garantiert das Audit bessere Rankings im Local Pack? Nein. Das Audit ist eine Diagnose, keine Garantie. Es zeigt, welche Signale fehlen oder falsch sind und in welcher Reihenfolge sich das Beheben lohnt. Distanz zum Suchenden bleibt ein Rankingfaktor, den niemand optimieren kann. Was wir auch nicht tun: Bewertungen beschaffen, Verzeichnisse mit Massen-Einträgen fluten oder gesperrte Profile bei Google freikämpfen — das ist ein Google-Support-Fall, keine SEO-Leistung. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Standorte geprüft werden, welches Einzugsgebiet relevant ist und wie viele Suchbegriffe wir messen, nennen wir einen festen Preis und halten ihn fest. Keine Stundenzettel, keine Nachforderung. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der local-report gehört dir und ist so geschrieben, dass ihn dein Team oder eine andere Agentur abarbeiten kann. Das Audit ist einzeln buchbar. Wenn du willst, übernimmt siteway die Umsetzung anschließend als Leistung [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) — ein Zwang dazu ist es nicht. passt dazu ## Passt dazu umsetzung · audits · **tools** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Das Audit findet die Befunde — diese Leistung setzt sie um: Rankings bei Google, Zitate in KI-Antworten. weiterlesen → - [Reputation-Audit.](https://www.siteway.de/expertise/reputation-audit/) — Bewertungen und Markenerwähnungen über Google hinaus — inklusive der Tonalität in Suche und KI-Antworten. weiterlesen → - [Local SERPs.](https://www.siteway.de/tools/local-serps/) — Sieh dir die Google-Ergebnisse an, die ein Kunde an einem anderen Standort bekommt. Die Kurzfassung des Audits — zum Selbermachen. tool öffnen → Wissen, warum dich niemand findet? [Audit anfragen](https://www.siteway.de/kontakt/) --- komponente · auth # Login & Mitgliederbereich Du willst einen **Mitgliederbereich erstellen**? Bei siteway ist das eine Komponente — ein Baustein, den wir in deine Website einbauen. Geschützte Bereiche mit Rollen und Rechten: Registrierung, Login, Passwort-Reset, 2FA optional. Passwörter sicher gespeichert, [bedienbar für alle](https://www.siteway.de/expertise/barrierefreiheit/), DSGVO-konform — ohne Plattform-Abo. komponente baustein: einzeln buchbar login: registrierung · reset · 2fa output: rollen + rechte · dsgvo [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Mitgliederbereich? **Ein Mitgliederbereich ist ein geschützter Teil einer Website, den nur angemeldete Nutzer sehen.** Der Login ist die Tür, der Mitgliederbereich der Raum dahinter. Als Komponente gebaut, ist er mehr als ein Passwortfeld: Registrierung, Login, Passwort-Reset, optionale Zwei-Faktor-Authentifizierung und eine rollenbasierte Sichtbarkeit von Inhalten. Der Kern sind **Rollen und Rechte**. Nicht jeder angemeldete Nutzer sieht dasselbe: Ein Vereinsmitglied sieht andere Seiten als der Vorstand, ein B2B-Händler andere Preise als ein Endkunde. Welche Inhalte, Seiten und Downloads jemand sieht, steuern Rollen — und genau das konfigurieren wir so, wie dein Bereich strukturiert ist. $ cat login-mitgliederbereich.md - ✓Registrierung double-opt-in - ✓Login & Sessions - ✓Passwort-Reset per link - ✓2FA optional authenticator - ✓Rollen & Rechte - ✓Passwörter als hash · DSGVO warum ## Die Tür zu allem anderen ein login, **viele bereiche** Ein Login ist selten Selbstzweck. Er ist die Bedingung für alles, was nicht jeder sehen soll: geschützte Downloads für Kunden, B2B-Preise nur für angemeldete Händler, exklusive Inhalte für zahlende Mitglieder, ein interner Bereich fürs Team. Erst der Login macht diese Bausteine möglich — er entscheidet, wer reinkommt und was er dann sieht. Deshalb bauen wir die Anmeldung als eigene Komponente, sauber getrennt vom Rest. Sie hält [geschützte Downloads](https://www.siteway.de/expertise/download-mediathek/), [B2B-Shop-Preise](https://www.siteway.de/expertise/shop-e-commerce/) und [Abo-Inhalte](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) zusammen. Wächst der Bedarf über reines Anmelden hinaus, wird daraus ein [Kundenportal & Self-Service](https://www.siteway.de/expertise/kundenportal-self-service/) — der Raum hinter der Tür. worauf der login aufsetzt - 01Geschützte **Downloads** & Mediathek - 02B2B-**Preise** nur für Händler - 03Abo- & **Kurs**-Inhalte - 04Interner Bereich fürs **Team** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — kein gemietetes Membership-Tool, sondern einen geschützten Bereich, der dir gehört und deine Rollen kennt. Jede Funktion hat ein greifbares Ergebnis. f-01registrierung ### Registrierung Konten anlegen — per Double-Opt-In, per Freigabe durch dein Team oder nur auf Einladung. Du entscheidest, ob sich jeder anmelden darf oder nur ausgewählte Nutzer reinkommen. output: konto + opt-in f-02anmeldung ### Login & Sessions Sichere Anmeldung, „angemeldet bleiben", sauberes Abmelden. Zu viele Fehlversuche werden gebremst, damit niemand Passwörter durchprobiert — Brute-Force läuft ins Leere. output: session + rate-limit f-03reset ### Passwort-Reset „Passwort vergessen" per zeitlich begrenztem Link. Der Nutzer setzt ein neues Passwort selbst — niemand aus deinem Team kennt oder verschickt jemals ein Passwort im Klartext. output: reset-link f-042fa ### Zwei-Faktor optional Eine zweite Sperre per Authenticator-App — für Bereiche mit sensiblen Daten. Je Rolle ein- oder ausschaltbar: Der Vorstand braucht 2FA, das Vereinsmitglied nicht. output: totp je rolle f-05rollen ### Rollen & Rechte Rollenbasierte Sichtbarkeit: Welche Seiten, Inhalte und Downloads jemand sieht, hängt an seiner Rolle. Ein Recht ändern, statt jede Seite einzeln freigeben — sauber und nachvollziehbar. output: rollen-modell f-06sicherheit ### Sichere Speicherung Passwörter landen nie im Klartext in der Datenbank, sondern als Hash mit bcrypt oder Argon2. Die Nutzerdaten bleiben auf deinem Server — DSGVO-konform, ohne Umweg über eine fremde Plattform. output: hash + dsgvo mehrwert ## Gebaut, nicht gemietet dein server, **dein bereich** Die meisten Wege zum Mitgliederbereich führen zu einer gemieteten Plattform oder einem Plugin: monatliche Gebühr pro Mitglied, deine Nutzerdaten auf fremden Servern, und wenn der Anbieter die Preise anzieht, sitzt du fest. Wir bauen den Bereich stattdessen in deine eigene Website — er gehört dir, läuft auf deinem Server und richtet sich nach deinen Regeln, nicht nach denen einer Plattform. g-01kein abo ### Kein Plattform-Abo Festpreis nach Briefing statt monatlicher Gebühr pro Mitglied. Der Baustein gehört dir — wächst deine Mitgliederzahl, wächst nicht deine Rechnung. festpreis · owned g-02daten ### Daten bleiben bei dir Nutzerkonten liegen auf deinem Server, nicht bei einem Dritt-Dienst in den USA. Kein Tracking, keine Weitergabe — DSGVO ist bei uns die Grundeinstellung, nicht die Ausnahme. dsgvo by design g-03passt rein ### Teil deiner Website Login und geschützte Seiten sehen aus wie deine Website — gleiche Gestaltung, gleiche Bedienung, gleiches CMS. Kein Bruch beim Anmelden, keine fremde Oberfläche. im cms · ein look einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · rollen Rollen klären. Wer darf rein, wer sieht was, braucht es 2FA? Wir legen fest, welche Rollen es gibt und welche Rechte an ihnen hängen — das Fundament des geschützten Bereichs. output: rollen-modell 2. // schritt 02 · cms Login einbauen. Wir bauen Registrierung, Login, Passwort-Reset und die geschützten Seiten in dein TYPO3, WordPress oder Statamic — im Look deiner Website, nicht als fremde Insel. output: login + geschützte seiten 3. // schritt 03 · sicherheit Absichern. Passwort-Hashing, Brute-Force-Schutz, optionale 2FA und die rollenbasierte Sichtbarkeit werden verdrahtet. Der Bereich ist ab hier dicht — und DSGVO-konform dokumentiert. output: hash + 2fa + rechte 4. // schritt 04 · übergabe ● ergebnis Freischalten. Ein erster Testnutzer, eine kurze Einweisung, fertig. Danach verwaltest du Konten und Rollen selbst — oder wir hängen weitere Bausteine wie geschützte Downloads dran. output: live-bereich faq ## Häufige Fragen ### Was ist ein Mitgliederbereich? Ein Mitgliederbereich ist ein geschützter Teil einer Website, den nur angemeldete Nutzer sehen. Der Login ist die Tür, der Mitgliederbereich der Raum dahinter. Als Website-Komponente gebaut, besteht er aus Registrierung, Login, Passwort-Reset, optionaler Zwei-Faktor-Authentifizierung und rollenbasierter Sichtbarkeit — welche Inhalte, Seiten und Downloads jemand sieht, steuern Rollen und Rechte. ### Wie werden die Passwörter gespeichert? Passwörter speichern wir nie im Klartext, sondern als Hash mit einem modernen Verfahren wie bcrypt oder Argon2. Selbst wir könnten ein Passwort nicht auslesen — bei „Passwort vergessen" wird ein neues gesetzt, nicht das alte zugeschickt. Die Nutzerdaten bleiben auf deinem Server, nicht bei einer fremden Plattform. Das ist die Grundlage für einen DSGVO-konformen Mitgliederbereich. ### Braucht der Mitgliederbereich eine Zwei-Faktor-Authentifizierung (2FA)? Nicht zwingend, aber sie ist optional dabei. Für einen einfachen geschützten Downloadbereich reicht oft Benutzername und Passwort. Sobald sensible Daten im Spiel sind — Kundendaten, Verträge, B2B-Preise — empfehlen wir 2FA per Authenticator-App als zweite Sperre. Wir bauen die Komponente so, dass 2FA sich je Rolle ein- oder ausschalten lässt. ### In welches CMS baut ihr den Login ein? Wir bauen die Komponente in dein bestehendes oder neues CMS ein: TYPO3 für große Portale mit vielen Rollen und Sprachen, WordPress für klassische Business-Seiten, Statamic für schlanke Auftritte. Wo es individueller wird, setzen wir den geschützten Bereich mit PHP und Laravel um. Die Anmeldung passt zu deinem System, statt es zu ersetzen. ### Was ist der Unterschied zwischen Mitgliederbereich und Kundenportal? Login und Mitgliederbereich sind die Tür: Sie regeln, wer reinkommt und was er sieht. Ein [Kundenportal](https://www.siteway.de/expertise/kundenportal-self-service/) ist der Raum dahinter mit Self-Service — Stammdaten ändern, Belege abrufen, Anfragen stellen, oft an CRM oder ERP angebunden. Diese Komponente ist die Basis; das Portal ist die Ausbaustufe. Beides bauen wir aufeinander auf. ### Was kostet es, einen Mitgliederbereich zu erstellen? Festpreis nach Briefing — und ohne monatliches Plattform-Abo. Anders als bei gemieteten Membership-Tools zahlst du nicht dauerhaft pro Mitglied, sondern für den Baustein, der dir gehört. Sobald Umfang, Rollen und gewünschte Funktionen wie 2FA feststehen, nennen wir einen Preis und halten ihn im Vertrag fest. ### Können wir den Mitgliederbereich einzeln buchen? Ja. Login & Mitgliederbereich ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Sie ist zugleich die Basis für geschützte Downloads, B2B-Preise oder Abo-Inhalte. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Kundenportal & Self-Service.](https://www.siteway.de/expertise/kundenportal-self-service/) — Der Raum hinter der Tür: Stammdaten, Belege und Anfragen im Self-Service. Die Ausbaustufe, wenn der Login mehr können soll als anmelden. weiterlesen → - [Download & Mediathek.](https://www.siteway.de/expertise/download-mediathek/) — Geschützte Dateien nur für angemeldete Nutzer — der erste Baustein, der auf dem Login aufsetzt. Datenblätter, Verträge, Presse nach Rolle. weiterlesen → - [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) — Login- und Registrierungs-Formulare, die jeder bedienen kann — mit Tastatur, Screenreader und klaren Fehlermeldungen nach WCAG 2.2. weiterlesen → Mitgliederbereich in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · i18n # Mehrsprachigkeit Mehrsprachigkeit ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einer einsprachigen Seite wird eine **mehrsprachige Website**: mit sauberem hreflang, Sprachumschalter, übersetzbaren URLs und getrennter Pflege je Sprache — aus einer Redaktion, kein [Auto-Übersetzer-Widget](#mehrwert). komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: hreflang + sprachumschalter [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine mehrsprachige Website? **Eine mehrsprachige Website zeigt dieselben Inhalte in mehreren Sprachen — jede Sprache mit eigenen, indexierbaren Seiten, verbunden durch hreflang und einen Sprachumschalter.** Sie ist kein Knopf, der Text übersetzt, sondern eine Struktur: pro Sprache eine eigene Adresse, eine eigene Meta-Auszeichnung und eine eigene redaktionelle Pflege. Als Komponente gebaut, sitzt das im CMS. Deine Redaktion pflegt jede Sprache einzeln, aber aus einem Backend heraus. Die technische Auszeichnung — hreflang, Sprach-Sitemap, lokalisierte URLs — entsteht automatisch mit, ohne dass jemand sie von Hand nachträgt. $ cat mehrsprachigkeit.md - ✓hreflang je Seite & Sprache - ✓Sprachumschalter seite → seite - ✓Übersetzbare URLs /en/ · /fr/ - ✓Getrennte Pflege je Sprache - ✓Standardsprache & Fallback - ✓Kein Auto-Übersetzer echte varianten warum ## Jede Sprache ist ein Markt richtig verdrahtet, **nicht nur übersetzt** Wer international verkauft, liefert oder Personal sucht, braucht seine Inhalte in der Sprache der Zielgruppe. Der Unterschied liegt nicht darin, ob übersetzt wird, sondern wie: Eine sauber gebaute mehrsprachige Website rankt in jedem Sprachraum eigenständig, spielt im richtigen Land die richtige Variante aus und wirkt in jeder Sprache wie gemacht — nicht wie durchgeschleust. Der häufigste Fehler ist ein Auto-Übersetzer-Widget: Es liefert holprigen Text, den Suchmaschinen oft nicht indexieren, und übergibt Nutzerdaten an Dritte. Wir bauen stattdessen echte Sprachvarianten. Die Struktur dahinter gehört eng zu [SEO & GEO](https://www.siteway.de/expertise/seo-geo/); die Inhalte pflegt deine Redaktion über [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/). was der baustein liefert - 01Eigene Rankings je **Sprachraum** - 02Richtige Sprache im **richtigen Land** - 03Echte Übersetzung statt **Maschinentext** - 04Eine Redaktion, **n Sprachen** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — kein loses Übersetzungs-Plugin, sondern eine Sprachstruktur, die deine Redaktion pflegen kann und die Suchmaschinen wie KI-Systeme eindeutig lesen. Jede Funktion hat ein greifbares Ergebnis. f-01auszeichnung ### hreflang Jede Seite bekommt hreflang-Angaben zu all ihren Sprachvarianten. Google weiß so, welche Version zu welchem Land und welcher Sprache gehört — und spielt die richtige aus, statt die Varianten gegeneinander konkurrieren zu lassen. output: hreflang-tags f-02navigation ### Sprachumschalter Ein Umschalter im Header, der von der aktuellen Seite auf genau dieselbe Seite in der anderen Sprache führt — nicht pauschal auf die fremdsprachige Startseite. Der Nutzer bleibt beim Thema, nur die Sprache wechselt. output: language-switcher f-03urls ### Übersetzbare URLs Jede Sprachvariante bekommt einen lokalisierten, sprechenden Slug statt einer technischen ID oder eines Parameters. So ist jede Adresse lesbar, teilbar und wird je Sprache eigenständig bewertet. output: lokalisierte slugs f-04redaktion ### Getrennte Pflege Jede Sprache wird einzeln gepflegt, aber aus einem Backend heraus. Deine Redaktion sieht je Seite den Übersetzungsstand und trägt echte Übersetzungen ein — kein maschineller Text, der beim Aufruf entsteht. output: ein backend, n sprachen f-05logik ### Standardsprache & Fallback Eine definierte Standardsprache und eine Fallback-Logik für Inhalte, die in einer Sprache noch fehlen. Statt einer leeren Seite sieht der Nutzer die Standardvariante — sauber ausgezeichnet, damit nichts falsch indexiert wird. output: fallback-logik f-06seo ### SEO je Sprache Eigene Titel, Meta-Beschreibungen und Sitemap-Einträge je Sprache — nicht einmal Deutsch für alle. So kann jede Variante für ihre eigenen Keywords ranken, mit Recherche im jeweiligen Sprachraum. output: hreflang-sitemap mehrwert ## Wo mehrsprachige Seiten scheitern technik entscheidet, **nicht das plugin** Die meisten Anleitungen zur mehrsprachigen Website enden bei „installier ein Übersetzungs-Plugin“. Genau da fangen die Probleme an: hreflang wird selten sauber gesetzt, die URL-Struktur wird nebenbei entschieden, und Auto-Übersetzer werden als schnelle Lösung verkauft. Diese drei Punkte trennen eine Seite, die international rankt, von einer, die es nur versucht. m-01auszeichnung ### hreflang sauber gesetzt Fehlt hreflang oder ist es falsch, spielt Google die falsche Sprache aus oder wertet Varianten als Duplikate. Wir generieren die Angaben automatisch aus der Sprachmatrix — inklusive x-default. Wie die Auszeichnung greift, zeigt [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). auto-generiert m-02struktur ### URL-Struktur entschieden Unterverzeichnis (/en/), Subdomain oder eigene Länderdomain — jede Variante hat Folgen für SEO und Pflege. Wir entscheiden das mit dir am Anfang, nicht als Nebeneffekt eines Plugins. Für die meisten Fälle ist das Unterverzeichnis der beste Kompromiss. verzeichnis · subdomain · cctld m-03qualität ### Kein Auto-Übersetzer Widgets, die beim Aufruf maschinell übersetzen, liefern nicht-indexierbaren Text, klingen holprig und geben Nutzerdaten an Dritte weiter. Wir bauen echte, redaktionell gepflegte Varianten — DSGVO-konform und für Suchmaschinen sichtbar. echte varianten Wie groß so eine Sprachmatrix werden kann, zeigt der Case [Spelsberg](https://www.siteway.de/cases/spelsberg/): eine siteway-Website in TYPO3 mit 13 Sprachen, aus einer Redaktion gepflegt. einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · sprachen Sprachmatrix festlegen. Welche Sprachen, welche Länder, welche Standardsprache und welche URL-Struktur. Wir klären den Umfang und legen fest, wie der Baustein konfiguriert wird. output: sprach-plan 2. // schritt 02 · cms Ins CMS einbauen. Wir richten die Sprachen in deinem TYPO3, WordPress oder Statamic ein — mit Sprachumschalter, lokalisierten Slugs und einem Backend, in dem deine Redaktion je Seite den Übersetzungsstand sieht. output: backend + switcher 3. // schritt 03 · auszeichnung hreflang anschließen. hreflang, x-default, Sprach-Sitemap und die SEO-Felder je Sprache werden verdrahtet — die maschinenlesbare Seite entsteht automatisch mit jeder neuen Sprachvariante. output: hreflang + sitemap 4. // schritt 04 · übergabe ● ergebnis Redaktion übersetzt. Kurze Einweisung, eine erste übersetzte Seite, fertig. Danach pflegt deine Redaktion — oder deine Übersetzer — jede Sprache selbst. Die Auszeichnung passiert im Hintergrund automatisch. output: mehrsprachig live faq ## Häufige Fragen ### Wie wird eine mehrsprachige Website richtig aufgebaut? Eine mehrsprachige Website braucht drei Dinge, die zusammenpassen: eine klare URL-Struktur je Sprache (meist Unterverzeichnisse wie /en/), sauberes hreflang, das Google die Sprachvarianten einer Seite zuordnet, und einen Sprachumschalter, der auf die gleiche Seite in der anderen Sprache führt. Als Komponente gebaut, sitzt das alles im CMS: Jede Sprache wird getrennt gepflegt, aus einer Redaktion heraus, und die Auszeichnung entsteht automatisch mit. ### Was ist hreflang und warum ist es wichtig? hreflang ist eine Auszeichnung im Quelltext, die Google sagt: Diese Seite gibt es auch auf Englisch, Französisch oder Polnisch — hier sind die Adressen. Ohne hreflang konkurrieren die Sprachvarianten im Zweifel gegeneinander oder Google spielt die falsche Sprache aus. Wir setzen hreflang je Seite und Sprache automatisch, sodass die richtige Variante im richtigen Land erscheint. Die Struktur dahinter gehört zum Thema [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) und [strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). ### Nutzt ihr ein automatisches Übersetzungs-Widget? Nein. Auto-Übersetzer-Widgets, die den Text beim Seitenaufruf per Klick maschinell übersetzen, kosten Qualität und SEO: Die übersetzten Inhalte sind für Suchmaschinen oft nicht indexierbar, klingen holprig und lassen sich nicht redaktionell kontrollieren. Wir bauen echte Sprachvarianten mit eigenen, indexierbaren URLs. Übersetzt wird von Menschen — deine Redaktion oder Übersetzer pflegen jede Sprache im CMS. ### In welches CMS baut ihr die Mehrsprachigkeit ein? Wir bauen die Komponente in dein bestehendes oder neues CMS ein: TYPO3 bringt Mehrsprachigkeit von Haus aus mit und eignet sich für große Sprachmatrizen — für den Case [Spelsberg](https://www.siteway.de/cases/spelsberg/) haben wir so 13 Sprachen umgesetzt. WordPress und Statamic decken wir ebenfalls ab. Deine Redaktion pflegt die Sprachen danach direkt im gewohnten Backend. ### Bekommt jede Sprache eigene, übersetzte URLs? Ja. Jede Sprachvariante bekommt ihre eigene, sprechende Adresse mit lokalisiertem Slug — statt einer technischen ID oder einem angehängten Parameter. Das ist besser lesbar, teilbar und wird von Suchmaschinen je Sprache eigenständig bewertet. Der Sprachumschalter verbindet die passenden Varianten miteinander. ### Können wir die Komponente einzeln buchen? Ja. Mehrsprachigkeit ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten“ und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Soll eine bestehende Seite mehrsprachig werden, ist das oft Teil eines [Relaunches](https://www.siteway.de/expertise/relaunch-migration/). Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Struktur und Keyword-Recherche je Sprachraum — damit jede Sprachvariante eigenständig rankt. weiterlesen → - [Relaunch & Migration.](https://www.siteway.de/expertise/relaunch-migration/) — Wenn eine bestehende Seite mehrsprachig werden soll: Migration mit sauberen Weiterleitungen je Sprache. weiterlesen → - [Case Spelsberg.](https://www.siteway.de/cases/spelsberg/) — Eine TYPO3-Website in 13 Sprachen, aus einer Redaktion gepflegt — Mehrsprachigkeit im Praxis-Einsatz. zum case → Website mehrsprachig machen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · news # News & Events Ein Baustein, den wir in deine Website einbauen: Meldungen und Termine in einem Bereich, die neuesten automatisch als Teaser auf der Startseite. Wer einen **Veranstaltungskalender erstellen** will, bekommt hier keinen Fremd-iframe, sondern einen nativen Bereich im CMS — mit [Event-Schema](https://www.siteway.de/expertise/strukturierte-daten/) für Rich Results und iCal-Export. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: event-schema · ical [Briefing starten](https://www.siteway.de/kontakt/) [Funktionen ansehen](#funktionen) definition ## Was ist die News-&-Events-Komponente? **News & Events ist eine Website-Komponente für Meldungen und Termine in einem gemeinsamen Bereich.** Deine Redaktion pflegt beides an einer Stelle im CMS. Die neuesten Meldungen und die nächsten Termine erscheinen automatisch als Teaser auf der Startseite — ohne dass jemand sie dort per Hand nachträgt. Ein Baustein, keine Gesamtleistung: Wir bauen die Komponente in deine bestehende oder neue Website ein. Sie ist einzeln buchbar oder Teil einer kompletten Website. Jeder Termin trägt **schema.org/Event** als JSON-LD und lässt sich per iCal in den eigenen Kalender übernehmen. $ cat news-events.md - ✓Meldungen & Termine in einem Bereich - ✓Auto-Teaser auf der Startseite - ✓Event-Schema schema.org/Event - ✓iCal-Export .ics - ✓Kategorien & Filter - ✓Anmeldung optional add-on nutzen ## Warum dieser Baustein? einmal pflegen · **an drei stellen sichtbar** Eine Website wirkt tot, wenn oben „Aktuelles" steht und der letzte Eintrag von vorletztem Jahr ist. Die Komponente löst das an der Wurzel: Du pflegst eine Meldung oder einen Termin einmal — und er erscheint im News-Bereich, als Teaser auf der Startseite und, bei Terminen, im Veranstaltungskalender. Kein doppeltes Nachtragen, kein Vergessen. Dazu kommt der Suchwert: Weil jeder Termin **Event-Schema** trägt, kann Google Datum und Ort als Rich Result zeigen und KI-Suchen können ihn korrekt beantworten. Ein eingebettetes Fremd-Widget kann das meist nicht — dort stecken die Daten im iframe eines anderen Anbieters. eine eingabe, drei ausgaben - →**News-Bereich** — die volle Liste - →**Startseite** — Auto-Teaser - →**Kalender** — Termine mit Filter - →**Suche** — Rich Result & iCal funktionen · 6 bausteine ## Was die Komponente kann von meldung bis **ical** Sechs Funktionen, ein Bereich. Jede hat ein greifbares Ergebnis auf der Seite oder im Quelltext — du buchst genau die, die du brauchst. f-01bereich ### Meldungen & Termine News-Beiträge und Veranstaltungen über eine gemeinsame Redaktion und einen Bereich. Listen- und Kalenderansicht aus denselben Daten. output: news + events f-02teaser ### Startseiten-Teaser Die neuesten Meldungen und nächsten Termine erscheinen automatisch auf der Startseite. Neue Einträge rutschen nach, alte fallen raus. output: teaser-block f-03schema ### Event-Schema Jeder Termin trägt schema.org/Event als JSON-LD: Datum, Ort und Titel maschinenlesbar — für Rich Results in Google und Antworten von KI-Suchen. output: schema.org/Event f-04export ### iCal-Export Ein Klick lädt den Termin als .ics-Datei in Apple Kalender, Google Kalender oder Outlook — inklusive Erinnerung, ganz ohne Konto. output: .ics f-05filter ### Kategorien & Filter Meldungen und Termine nach Kategorie, Ort oder Zeitraum filtern. Aus einem Datensatz werden so gezielte Ansichten für einzelne Zielgruppen. output: filter + kategorien f-06add-on ### Anmeldung optional Brauchst du Anmeldungen, Teilnehmerlisten oder Tickets, koppeln wir die Komponente [Veranstaltungen & Seminare](https://www.siteway.de/expertise/veranstaltungen-seminare/) dazu. So bleibt News & Events schlank. output: anmeldung der unterschied ## Nativ gebaut, nicht als Widget eingebettet deine daten · **deine domain** Die schnelle Lösung für einen Veranstaltungskalender ist ein Fremd-Widget: ein Skript vom Anbieter, ein iframe auf deiner Seite, fertig. Der Preis dafür fällt später an. Die Termine liegen auf einem fremden Server, das Skript lädt Third-Party-Code samt Datenschutz-Frage, und der Inhalt im iframe zählt für Google kaum — die Event-Auszeichnung fehlt. Wir bauen den Bereich stattdessen nativ ins CMS. Die Daten bleiben auf deiner Domain, das Markup gehört zu deiner Seite, und jeder Termin trägt sein eigenes **schema.org/Event**. Kein Anbieter-Skript, kein Datenabfluss, volle Kontrolle über Design und Ausgabe. Wie wir strukturierte Daten site-weit setzen, steht bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). $ cat event.jsonld ``` { "@type": "Event", "name": "Tag der offenen Tür", "startDate": "2026-09-12T10:00", "location": "Hamburg", "eventStatus": "EventScheduled" } ``` aus einem Termin im CMS — automatisch. einbau · 4 schritte ## So bauen wir sie ein danach pflegst du selbst · **ohne technik** 1. // schritt 01 · scope Scope & Felder. Wir klären, welche Felder ein Termin braucht — Ort, Kategorie, Anmeldung ja/nein — und wo Teaser auftauchen. output: feldliste 2. // schritt 02 · bau Einbau ins CMS. Wir bauen den Bereich nativ in TYPO3, WordPress oder Statamic — im Design deiner Seite, mit Event-Schema und iCal. output: bereich + kalender 3. // schritt 03 · test Schema & Test. Wir prüfen jeden Termin gegen Googles Rich-Results-Test und den iCal-Export in echten Kalender-Apps. output: valide 4. // schritt 04 · übergabe ● ergebnis Übergabe & Pflege. Du pflegst Meldungen und Termine danach selbst — wie einen normalen Beitrag, ganz ohne Technik. output: live faq ## Häufige Fragen ### Was ist die Komponente News & Events? News & Events ist ein modularer Baustein, den wir in deine Website einbauen. Meldungen und Termine laufen über eine gemeinsame Redaktion und einen Bereich, die neuesten erscheinen automatisch als Teaser auf der Startseite. Jeder Termin trägt Event-Schema für Rich Results und lässt sich per iCal in den eigenen Kalender übernehmen. ### Wie erstelle ich einen Veranstaltungskalender für meine Website? Du pflegst Termine im CMS wie einen normalen Beitrag: Titel, Datum, Ort, Text. Wir bauen die Komponente so, dass daraus automatisch ein Veranstaltungskalender mit Listen- und Kalenderansicht entsteht — inklusive Filter nach Kategorie und Zeitraum. Einen Veranstaltungskalender erstellen heißt bei uns also: einmal einbauen, danach ohne Technik pflegen. ### Was bringt das Event-Schema (schema.org/Event)? Mit schema.org/Event als JSON-LD versteht Google, dass es sich um eine Veranstaltung handelt — mit Datum, Ort und Titel. Das ermöglicht Rich Results wie Event-Snippets in der Suche und macht Termine für KI-Antworten auswertbar. Ein eingebettetes Fremd-Widget liefert diese Auszeichnung meist nicht, weil die Daten im iframe eines anderen Anbieters stecken. ### Können Besucher Termine in ihren eigenen Kalender übernehmen? Ja. Jeder Termin hat einen iCal-Export: Ein Klick lädt eine .ics-Datei, die sich in Apple Kalender, Google Kalender oder Outlook öffnet. Der Besucher hat den Termin dann in seinem Kalender inklusive Erinnerung — ohne Konto und ohne Anmeldung bei einem Kalenderdienst. ### Kann man sich über die Komponente zu Events anmelden? Die Basis-Komponente zeigt Termine an und exportiert sie. Wenn du Anmeldungen, Teilnehmerlisten oder Tickets brauchst, erweitern wir sie um die Komponente [Veranstaltungen & Seminare](https://www.siteway.de/expertise/veranstaltungen-seminare/). So bleibt News & Events schlank, und du buchst die Anmeldung nur dazu, wenn du sie wirklich brauchst. ### In welche CMS baut ihr die Komponente ein? In TYPO3, WordPress und Statamic. Wir bauen den Bereich nativ ins jeweilige CMS statt ein externes Kalender-Widget einzubetten. Das hält die Daten auf deiner Domain, vermeidet Third-Party-Skripte samt Datenschutz-Fragen und lässt sich frei ins Design deiner Website einfügen. passt dazu ## Was gut dazu passt bausteine & **leistungen** - [Blog & Magazin.](https://www.siteway.de/expertise/blog-magazin/) — Der redaktionelle Nachbar: längere Beiträge mit Kategorien und Autoren — teilt sich mit News die Redaktion. weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Wie wir Event-Schema und weitere JSON-LD-Typen site-weit setzen — die Basis für Rich Results. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Komponenten im echten Einsatz — wie aus Bausteinen fertige Websites wurden. zu den cases → News & Events einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · newsletter # Newsletter & E-Mail Newsletter & E-Mail ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einem Feld wird eine saubere **Newsletter-Anmeldung** mit Double-Opt-in: DSGVO-konform, angebunden an Mailchimp, CleverReach, Brevo oder rapidmail — mit Bestätigungs-Mail, Abmeldung und [Anbindung](https://www.siteway.de/expertise/schnittstellen-integration/) an dein Newsletter-Tool. komponente baustein: einzeln buchbar tools: mailchimp · cleverreach · brevo · rapidmail output: double-opt-in + dsgvo-log [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Newsletter-Anmeldung mit Double-Opt-in? **Eine Newsletter-Anmeldung ist ein Formular auf deiner Website, über das sich Besucher in deinen E-Mail-Verteiler eintragen.** Double-Opt-in heißt: Nach dem Eintragen bekommt die Person eine Bestätigungs-Mail mit einem eindeutigen Link. Erst der Klick darauf macht die Adresse aktiv — so ist belegt, dass die Einwilligung wirklich von dieser Adresse kam. Als Komponente gebaut, ist das mehr als ein Eingabefeld: ein Anmeldeformular im Design deiner Seite, die Anbindung an dein Newsletter-Tool, ein dokumentiertes Einwilligungs-Protokoll und der Abmeldelink in jeder Mail. Die Newsletter-**Inhalte** schreiben ist eine andere Sache — hier geht es um den technischen Baustein, der Kontakte sauber einsammelt und übergibt. $ cat newsletter.md - ✓Anmeldeformular im Seitendesign - ✓Double-Opt-in bestätigungs-mail - ✓ESP-Anbindung api - ✓Segmentierung & Tags - ✓Abmeldung & Consent-Protokoll - ✓DSGVO-Auszeichnung datensparsam warum ## Die eigene Liste gehört dir reichweite ohne **algorithmus** Follower auf Social Media sind geliehen — die Plattform entscheidet, wer deine Beiträge sieht. Eine E-Mail-Liste gehört dir. Wer sich für deinen Newsletter einträgt, hat aktiv „ja" gesagt und landet direkt im Postfach, ohne Algorithmus dazwischen. Das ist der stabilste Kanal, den eine Website aufbauen kann. Damit das trägt, muss die Anmeldung sauber sein. Wir bauen den Baustein so, dass jede Einwilligung rechtssicher belegt ist, kein Kontakt verloren geht und dein Newsletter-Tool die Adressen sofort bekommt. Womit du sie danach fütterst, liefert deine Redaktion — oder wir übernehmen die Inhalte über [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/). was der baustein liefert - 01Ein Kanal, der **dir gehört** - 02Einwilligung **rechtssicher** belegt - 03Kontakte **getaggt** statt lose - 04Direkt im **Newsletter-Tool** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein fremdgehostetes Popup, sondern eine Anmeldung im Design deiner Seite, sauber angebunden an dein Newsletter-Tool. Jede Funktion hat ein greifbares Ergebnis. f-01formular ### Anmeldeformular Ein schlankes Newsletter-Anmeldeformular im Design deiner Seite — inline im Text, im Footer oder auf einer eigenen Landingpage. Pflicht ist nur die E-Mail-Adresse, mehr braucht der Start nicht. output: anmeldeformular f-02einwilligung ### Double-Opt-in Nach dem Eintragen geht eine Bestätigungs-Mail mit eindeutigem Link raus. Erst der Klick macht die Adresse aktiv. So kommt niemand ungefragt in den Verteiler — und die Einwilligung ist belegt. output: bestätigungs-mail f-03anbindung ### ESP-Anbindung Die Anmeldung hängt per Schnittstelle an deinem Newsletter-Tool: Mailchimp, CleverReach, Brevo oder rapidmail. Neue Kontakte landen direkt im richtigen Verteiler — Details bei [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). output: api-anbindung f-04struktur ### Segmentierung & Tags Jeder Kontakt wird beim Eintragen getaggt — nach Quelle, Formular oder Interesse. So kannst du später gezielt an eine Gruppe senden, statt immer an alle. Aus einer Liste werden nutzbare Segmente. output: tags + segmente f-05austragung ### Abmeldung & Consent-Log Jede Mail trägt einen Abmeldelink, ein Klick genügt. Jede Einwilligung wird mit Zeitstempel und Quelle protokolliert. Das brauchst du, um im Ernstfall belegen zu können, wer wann zugestimmt hat. output: abmeldung + protokoll f-06recht ### DSGVO-Auszeichnung Datenschutzhinweis am Formular, Datensparsamkeit und eine aktive Einwilligung ohne vorangekreuzte Checkbox. [Datenschutz](https://www.siteway.de/datenschutz/) ist bei uns Teil des Bausteins, kein nachträglicher Aufsatz. output: dsgvo-konform mehrwert ## So funktioniert Double-Opt-in ein handschlag in **drei schritten** Viele Ratgeber sagen „mach Double-Opt-in", ohne zu erklären, was dabei technisch passiert. Der Ablauf ist ein Handschlag in drei Schritten: eintragen, bestätigen, belegen. Jeder Schritt hat einen Zweck — und der letzte ist der, den die meisten vergessen. d-01eintragen ### Eintragen Der Besucher gibt seine E-Mail-Adresse ins Formular ein und schickt es ab. Die Adresse wird als „ausstehend" vorgemerkt — im Verteiler ist sie noch nicht. Es passiert also noch kein Versand an sie. status: pending d-02bestätigen ### Bestätigen Sofort geht eine Bestätigungs-Mail mit einem eindeutigen Link an genau diese Adresse. Erst wenn die Person den Link anklickt, ist bewiesen, dass sie das Postfach wirklich kontrolliert — und die Adresse wird aktiv. eindeutiger link d-03belegen ### Belegen Der Klick wird mit Zeitstempel, Quelle und dem gezeigten Einwilligungstext protokolliert. Dieses Protokoll ist dein Nachweis, falls jemand die Einwilligung anzweifelt. Ohne ihn ist die schönste Anmeldung im Streitfall wertlos. consent-log einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · platzierung Formular platzieren. Wo soll die Anmeldung stehen — im Footer, im Artikel, auf einer Landingpage? Wir klären die Stellen und das Feld, das gefragt wird. output: platzierung 2. // schritt 02 · tool Tool anbinden. Wir verbinden die Anmeldung per Schnittstelle mit deinem Newsletter-Tool — Mailchimp, CleverReach, Brevo oder rapidmail. Hast du noch keins, empfehlen wir ein passendes. output: api-verbindung 3. // schritt 03 · recht Double-Opt-in & DSGVO. Bestätigungs-Mail, Consent-Protokoll, Abmeldelink und Datenschutzhinweis werden verdrahtet. Die rechtssichere Seite entsteht mit dem Formular, nicht danach. output: doi + consent-log 4. // schritt 04 · abnahme ● ergebnis Testen & übergeben. Wir tragen eine Test-Adresse ein, prüfen Bestätigung, Verteiler-Eingang und Abmeldung — dann geht die Anmeldung live. Ab da fließen Kontakte automatisch in dein Tool. output: live-anmeldung faq ## Häufige Fragen ### Was ist eine Newsletter-Anmeldung mit Double-Opt-in? Eine Newsletter-Anmeldung ist ein Formular auf deiner Website, über das sich Besucher für deinen E-Mail-Verteiler eintragen. Double-Opt-in heißt: Nach dem Eintragen bekommt die Person eine Bestätigungs-Mail mit einem eindeutigen Link. Erst wenn sie diesen Link anklickt, ist die Adresse aktiv im Verteiler. So ist belegt, dass die Einwilligung wirklich von dieser Adresse kam. ### Warum ist Double-Opt-in Pflicht? Weil du die Einwilligung nachweisen musst. Ohne die Bestätigung könnte jeder eine fremde E-Mail-Adresse eintragen. Das Double-Opt-in bestätigt, dass der Inhaber der Adresse selbst zugestimmt hat — mit Zeitstempel und Quelle protokolliert. Das ist der anerkannte Standard für rechtssicheres E-Mail-Marketing nach DSGVO und schützt dich vor Abmahnungen. ### An welche Newsletter-Tools bindet ihr die Anmeldung an? Wir binden die Anmeldung per Schnittstelle an dein Newsletter-Tool an: Mailchimp, CleverReach, Brevo oder rapidmail. Neue Kontakte landen direkt im richtigen Verteiler, inklusive Tags. Wenn du noch kein Tool hast, empfehlen wir eins, das zu deinem Volumen und deinen Datenschutz-Anforderungen passt — du bleibst Eigentümer deiner Liste, ohne Lock-in. ### Ist die Newsletter-Anmeldung DSGVO-konform? Ja. Wir bauen die Anmeldung mit Double-Opt-in, Datenschutzhinweis am Formular, Datensparsamkeit (nur die E-Mail ist Pflicht) und einer aktiven, nicht vorangekreuzten Einwilligung. Jede Einwilligung wird mit Zeitstempel protokolliert, und jede Mail enthält einen Abmeldelink. Bei siteway ist Datenschutz kein nachträglicher Aufsatz, sondern Teil des Bausteins. ### Was ist der Unterschied zu einem Lead-Magnet-Formular? Ein Lead-Magnet-Formular gibt etwas gegen die E-Mail-Adresse heraus — ein Whitepaper oder eine Checkliste — und übergibt den Kontakt meist ans CRM. Die Newsletter-Anmeldung dagegen trägt die Adresse dauerhaft in deinen E-Mail-Verteiler ein, mit Double-Opt-in und Segmentierung. Beides sind eigene Komponenten, die gut zusammenspielen: der Lead-Magnet sammelt ein, der Newsletter hält den Kontakt. ### Können wir die Newsletter-Anmeldung einzeln buchen? Ja. Newsletter & E-Mail ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und wir bauen sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) — Whitepaper oder Checkliste gegen die E-Mail-Adresse — der Baustein, der Kontakte einsammelt, bevor der Newsletter sie hält. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Anbindung an Newsletter-Tool und CRM sauber über APIs — damit Kontakte dort landen, wo du sie brauchst. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Der Baustein sammelt die Adressen — diese Leistung liefert den Stoff: die Inhalte, die du an deine Liste schickst. weiterlesen → Newsletter-Anmeldung in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · speed # Page-Speed-Audit Deine Seite fühlt sich zäh an, und keiner weiß genau, warum. Wir machen die **Ladezeit-Analyse**: Core Web Vitals (LCP, INP, CLS) und Bundle-Größe, gemessen mit Lighthouse — auf allen wichtigen Seitentypen, nicht nur der Startseite. Heraus kommt ein Report mit priorisierten Befunden. Keine Punktzahl, die niemandem hilft, sondern eine Liste: was, warum, in welcher Reihenfolge. audit audit: einzeln buchbar dauer: 3–5 arbeitstage output: lighthouse-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Page-Speed-Audit? **Ein Page-Speed-Audit ist eine Ladezeit-Analyse deiner Website: Wir messen die wichtigsten Seitentypen mit Lighthouse — Core Web Vitals, Bundle-Größe, Bilder, Fonts, Drittanbieter-Skripte und Server-Antwortzeit — und ordnen die Befunde nach Wirkung und Aufwand.** Es ist eine Diagnose, keine Umsetzung. Du bekommst einen Report, der sagt, was langsam ist, warum es langsam ist und womit du anfängst. Der Unterschied zum Tool-Ergebnis: Ein Tool liefert 30 Meldungen, alle gleich laut. Ein Audit sagt dir, welche drei davon zählen — und dass die restlichen 27 dein Problem nicht lösen. Die Zahlen selbst kannst du jederzeit selbst ziehen, unser [kostenloser PageSpeed-Check](https://www.siteway.de/tools/pagespeed-check/) crawlt dafür deine ganze Website. $ cat lighthouse-report.md - ✓Messwerte je Seitentyp lab + feld - ✓Core Web Vitals lcp · inp · cls - ✓Bundle-Analyse js · css · ungenutzt - ✓Befundliste, nach Wirkung sortiert - ✓Aufwand je Maßnahme s · m · l - ✓Nächste Schritte in reihenfolge anlass ## Wann sich das Audit lohnt symptome mit **ursache** Ein Audit lohnt sich, wenn du das Problem spürst, aber nicht benennen kannst. Typischerweise ist die Lage so: Die Search Console meldet URLs mit „schlechten“ Core Web Vitals, aber die Liste ist zu lang, um sie abzuarbeiten. Oder die Startseite ist grün und die Produktseiten, mit denen du Geld verdienst, sind rot. Oder es wurde schon einmal „optimiert“ und der Wert ist trotzdem nicht besser geworden. Häufig steckt die Ursache nicht dort, wo der Score sie vermutet. Ein Consent-Banner, das den Main-Thread blockiert, ein 4-MB-Hero-Bild, ein Font, der zu spät geladen wird, ein Plugin, das auf jeder Seite eine Bibliothek mitschleppt, die nur eine einzige Seite braucht. Solche Dinge findet man nicht im Score, sondern im Wasserfall. Hintergründe dazu stehen im Ratgeber [PageSpeed optimieren](https://www.siteway.de/insights/pagespeed/). typische auslöser - 01Search Console meldet **rote URLs** - 02Mobil deutlich langsamer als **Desktop** - 03Absprünge auf **Landingpages** - 04Nach dem Relaunch **langsamer** als vorher - 05Angebot zur Optimierung — ohne **Befund** prüfung · 6 felder ## Was wir prüfen jedes feld ein **befund** Gemessen wird mit Lighthouse, ergänzt um die Felddaten aus dem Chrome-UX-Report. Nicht eine URL, sondern jeder relevante Seitentyp: Startseite, Kategorie, Detailseite, Formular, Suche. Jedes Prüffeld endet im Report mit einem Befund — nicht mit einer Empfehlung aus dem Lehrbuch. p-01lcp ### Largest Contentful Paint Wann das größte sichtbare Element steht. Zielwert: unter 2,5 Sekunden. Wir benennen das Element, das die Zeit frisst — Hero-Bild, Font, Server-Antwort oder ein Skript, das davor blockiert. befund: lcp-element + ursache p-02inp ### Interaction to Next Paint Wie schnell die Seite auf Klick und Tippen reagiert. Zielwert: unter 200 Millisekunden. Wir finden die langen Tasks auf dem Main-Thread und die Skripte, die sie auslösen. befund: long tasks + verursacher p-03cls ### Cumulative Layout Shift Wie stark das Layout beim Laden springt. Zielwert: unter 0,1. Wir listen die Elemente ohne reservierten Platz — Bilder ohne Maße, nachgeladene Banner, Webfonts, die den Text umbrechen. befund: springende elemente p-04bundle ### Bundle-Größe Wie viel JavaScript und CSS ausgeliefert wird — und wie viel davon die Seite nie benutzt. Wir zeigen die größten Brocken, den ungenutzten Anteil und was sich ohne Umbau streichen lässt. befund: kb je datei + unused p-05assets ### Bilder & Fonts Format, Kompression, Maße, Lazy Loading, Font-Ladestrategie. Der Klassiker: ein Bild, das mit 3000 px ausgeliefert und mit 400 px angezeigt wird. Meist der größte Hebel mit dem kleinsten Aufwand. befund: asset-liste + einsparung p-06drittanbieter ### Drittanbieter & Server Consent-Banner, Tracking, Chat, Kartendienste: Wir rechnen ihre Ladekosten einzeln aus. Dazu Server-Antwortzeit (TTFB), Caching und Kompression — die Basis, ohne die Frontend-Arbeit verpufft. befund: ttfb + skript-kosten mehrwert ## Ein Score ist kein Befund zahl ≠ **ursache** Kostenlose Speed-Tools gibt es reichlich, und sie sind gut. Sie zeigen dir eine Zahl und eine Liste von Meldungen. Was sie nicht leisten: entscheiden. Drei Dinge lässt der Score systematisch offen — und genau daran scheitern die meisten Optimierungsversuche. s-01labor vs. feld ### 100 im Labor, rot im Feld Lighthouse misst einen Testlauf unter Laborbedingungen. Google bewertet die Core Web Vitals aber mit Felddaten echter Nutzer — 28 Tage, 75. Perzentil. Beide Werte können weit auseinanderliegen. Wir lesen beide und sagen dir, welcher dein Ranking betrifft. lighthouse + crux s-02reichweite ### Eine URL ≠ die Website Fast jeder Test prüft eine einzelne Adresse — meist die Startseite, die am besten gepflegt ist. Geld verdienst du auf den anderen. Wir prüfen jeden Seitentyp; für den schnellen Überblick über alle Seiten crawlt unser [PageSpeed-Check](https://www.siteway.de/tools/pagespeed-check/) die komplette Website. je seitentyp s-03priorität ### 30 Meldungen, 3 die zählen Tools listen alles gleich laut auf: „unused CSS entfernen“ steht neben „Bilder in modernem Format“. Ohne Reihenfolge arbeitet ein Team wochenlang an Dingen, die 30 Millisekunden bringen. Wir sortieren nach Wirkung pro Aufwand. wirkung / aufwand output ## Was du bekommst der report **gehört dir** Das Ergebnis ist ein Lighthouse-Report — kein PDF-Export aus einem Tool, sondern ein gelesenes Dokument. Oben stehen die Messwerte je Seitentyp, Labor und Feld nebeneinander. Danach die Befundliste: jeder Befund mit Ursache, betroffenen Seiten, geschätzter Wirkung in Sekunden oder Kilobyte und einem Aufwand von S bis L. Am Ende die nächsten Schritte, in der Reihenfolge, in der sie sinnvoll sind. Der Report ist so geschrieben, dass ihn dein Entwicklerteam direkt abarbeiten kann — mit Datei, Zeile und konkretem Eingriff, wo es geht. Wir gehen ihn einmal gemeinsam durch, damit die Prioritäten sitzen. Danach entscheidest du frei, wer umsetzt. Willst du uns, ist das die Leistung [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/) — eine eigene, getrennte Beauftragung. Dass die guten Werte erreichbar sind, halten wir bei uns selbst nach: Die Startseite von siteway erreicht bei PageSpeed Insights 100/100/100/100 mobil. ablauf · 4 schritte ## So läuft das Audit bis zum **report** 1. // schritt 01 · umfang Seitentypen festlegen. Kurzes Briefing: welche Seitentypen zählen, wo verdienst du Geld, was ist schon versucht worden. Daraus ergibt sich der Umfang — und der Festpreis. output: prüfumfang + festpreis 2. // schritt 02 · messung Messen. Lighthouse-Läufe je Seitentyp, mobil und Desktop, dazu die Felddaten aus dem Chrome-UX-Report und ein Blick in den Netzwerk-Wasserfall. Zugänge zu Server oder CMS helfen, sind aber kein Muss. output: rohdaten lab + feld 3. // schritt 03 · auswertung Ursachen & Priorisierung. Vom Symptom zur Ursache: Welches Element blockiert das LCP, welches Skript den Main-Thread, welcher Asset-Pfad die Bandbreite. Danach sortieren wir nach Wirkung pro Aufwand. output: befundliste 4. // schritt 04 · übergabe ● ergebnis Report & Durchsprache. Du bekommst den Lighthouse-Report und wir gehen ihn gemeinsam durch — eine Stunde, in der jede Priorität begründet wird. Danach kann jedes Team damit arbeiten. output: lighthouse-report faq ## Häufige Fragen ### Was ist ein Page-Speed-Audit? Ein Page-Speed-Audit ist eine Ladezeit-Analyse deiner Website: Die wichtigsten Seitentypen werden mit Lighthouse gemessen — Core Web Vitals (LCP, INP, CLS), Bundle-Größe, Bilder, Fonts, Drittanbieter-Skripte und Server-Antwortzeit. Ergebnis ist kein Punktestand, sondern ein Report mit priorisierten Befunden: was langsam ist, warum, was es kostet, das zu ändern, und was es bringt. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Seitentypen geprüft werden und ob wir Zugang zu Server und CMS bekommen, nennt siteway einen Preis und hält ihn fest. Keine Stundenabrechnung, keine Überraschung auf der Rechnung. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Du kannst ihn deiner eigenen IT geben, an deine bestehende Agentur weiterreichen oder in die Schublade legen. Das Audit ist einzeln buchbar und endet mit der Übergabe. Wenn du willst, übernimmt siteway die Umsetzung als Leistung [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/) — das ist eine getrennte Beauftragung. ### Wie lange dauert das Page-Speed-Audit? In der Regel drei bis fünf Arbeitstage, gerechnet ab dem Moment, in dem die Zugänge stehen. Bei sehr großen Portalen mit vielen unterschiedlichen Seitentypen kann es länger dauern — den Umfang legen wir vorher fest. ### Was bringt das Audit gegenüber dem kostenlosen PageSpeed-Check? Der [kostenlose PageSpeed-Check](https://www.siteway.de/tools/pagespeed-check/) von siteway crawlt deine Website und zeigt dir die Zahlen — für jede Seite, ohne Anmeldung. Er sagt dir aber nicht, welche der 30 Meldungen wirklich zählt. Das Audit deutet die Werte: Es findet die Ursache hinter dem Symptom, sortiert die Befunde nach Wirkung und Aufwand und sagt, womit du anfängst. Der Check ist der Einstieg, das Audit die Tiefenanalyse. ### Warum zeigt Google andere Werte als Lighthouse? Weil beide etwas anderes messen. Lighthouse liefert Labordaten: ein Testlauf unter definierten Bedingungen, reproduzierbar und gut zum Suchen von Ursachen. Google bewertet die Core Web Vitals dagegen mit Felddaten aus dem Chrome-UX-Report — echte Nutzer, echte Geräte, echte Netze, über 28 Tage im 75. Perzentil. Ein Lighthouse-Score von 100 heißt deshalb nicht automatisch, dass deine Felddaten grün sind. Im Audit schauen wir auf beides. ### Welche Werte gelten als gut? Google nennt drei Schwellen für die Core Web Vitals: LCP unter 2,5 Sekunden, INP unter 200 Millisekunden, CLS unter 0,1 — jeweils im 75. Perzentil der Seitenaufrufe, mobil gemessen. Dass diese Werte erreichbar sind, zeigt siteway an der eigenen Startseite: PageSpeed Insights meldet 100/100/100/100 mobil. passt dazu ## Passt dazu umsetzung, audit & **tool** - [Performance & Core Web Vitals.](https://www.siteway.de/expertise/performance-core-web-vitals/) — Das Audit findet die Befunde — diese Leistung räumt sie ab: LCP, INP und CLS auf die guten Werte, bei jedem Release nachgemessen. weiterlesen → - [Tech-Audit.](https://www.siteway.de/expertise/tech-audit/) — Wenn nicht nur das Tempo klemmt: Indexierung, Crawling, Redirects und Rendering — die technische Basis deiner Website auf dem Prüfstand. weiterlesen → - [PageSpeed-Check.](https://www.siteway.de/tools/pagespeed-check/) — Erst mal selbst messen: Unser Tool crawlt die ganze Website und testet jede Seite auf Ladezeit und Web-Vitals. Ohne Anmeldung. zum tool → Wissen, warum deine Seite langsam ist? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-07 · performance # Performance & Core Web Vitals **Website-Performance-Optimierung** heißt bei siteway: Wir bringen deine Website auf die „guten" Core Web Vitals — LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1. Gemessen mit Lighthouse, bei jedem Release. Und weil wir nichts versprechen, was wir nicht selbst schaffen: [Unsere Startseite erreicht bei PageSpeed Insights 100/100/100/100 mobil](#beleg). svc-07 einzeln buchbar ziel: lcp < 2,5 s · inp < 200 ms · cls < 0,1 output: lighthouse-report [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist Website-Performance-Optimierung? **Website-Performance-Optimierung macht eine Website messbar schneller: kürzere Ladezeit, schnellere Reaktion auf Eingaben, stabiles Layout beim Laden.** Der Maßstab sind Googles Core Web Vitals mit klaren Schwellen: LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1. Optimiert wird an vier Stellen — Bilder, Code, Caching, Server — und gemessen wird vorher und nachher, mit Lighthouse und PageSpeed Insights. Der Unterschied zum einmaligen „Speed-Tuning": Wir hören nach der Optimierung nicht auf zu messen. Ein Performance-Budget im Build und eine Lighthouse-Messung bei jedem Release sorgen dafür, dass das Tempo bleibt — auch wenn später neue Inhalte, Bilder oder Funktionen dazukommen. Am besten entsteht Performance übrigens schon beim Bauen: In der [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) ist sie bei uns Standard, nicht Nachrüstung. $ cat performance.md - ✓Ist-Analyse lighthouse + psi - ✓Bilder & Medien avif · webp · lazy - ✓Code & Rendering critical css · js-diät - ✓Caching & Server ttfb · brotli · http/2+3 - ✓CMS-Feinschliff typo3 · wordpress · statamic - ✓Budget & Monitoring lighthouse-report warum ## Langsam kostet Kunden jede sekunde zählt · **wörtlich** Besucher warten nicht. Googles eigene Zahlen zeigen: Steigt die mobile Ladezeit von einer auf drei Sekunden, wächst die Wahrscheinlichkeit eines Absprungs um 32 % — bei fünf Sekunden sind es schon 90 %. Jede eingesparte Sekunde landet direkt bei dem, was deine Website erreichen soll: Anfragen, Bestellungen, Anrufe. Dazu kommt die Sichtbarkeit: Die **Core Web Vitals sind ein Google-Rankingfaktor**, und langsame Seiten crawlen Google und KI-Bots seltener. Performance ist damit kein Kosmetik-Thema, sondern das Fundament, auf dem [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) aufsetzen. Wer beides will — gefunden werden und überzeugen — fängt beim Tempo an. absprung-risiko je ladezeit▸ google/soasta - 01Ladezeit 1→3 s → Absprung-Risiko **+32 %** - 02Ladezeit 1→5 s → Absprung-Risiko **+90 %** - 03Ladezeit 1→10 s → Absprung-Risiko **+123 %** - →Quelle: Google/SOASTA-Studie zu mobilen Ladezeiten metriken · 3 messwerte ## Die drei Core Web Vitals drei zahlen · **drei hebel** Google misst die Nutzererfahrung mit drei Kennzahlen — und für jede gibt es andere Stellschrauben. Deshalb optimieren wir nicht „irgendwie schneller", sondern gezielt je Messwert. cwv-01laden ### LCP — Largest Contentful Paint Wann ist der Hauptinhalt sichtbar? Wir optimieren das größte Element im Viewport: Hero-Bilder als AVIF/WebP mit Preload, schnelle Serverantwort, Critical CSS statt Render-Blockern. ziel: < 2,5 s cwv-02reagieren ### INP — Interaction to Next Paint Wie schnell reagiert die Seite auf Klicks und Eingaben? Der Hebel ist fast immer JavaScript: weniger davon, lange Tasks aufteilen, Third-Party-Skripte hinterfragen oder rauswerfen. ziel: < 200 ms cwv-03stabil bleiben ### CLS — Cumulative Layout Shift Springt das Layout beim Laden? Wir reservieren Platz: feste Bildmaße, Fonts mit size-adjust gegen Umbruch-Sprünge, keine Banner, die sich nachträglich über den Inhalt schieben. ziel: < 0,1 leistung · 6 bausteine ## Was die Performance-Optimierung umfasst von messung bis **monitoring** Sechs Bausteine, ein Ergebnis: eine Website, die die „guten" Schwellen hält — und ein Lighthouse-Report, der es belegt. Nicht jede Website braucht alle sechs; die Ist-Analyse zeigt, welche sich bei dir lohnen. b-01messung ### Ist-Analyse & Audit Lighthouse, PageSpeed Insights und ein Crawl über alle Seiten. Wir finden die zwei, drei Ursachen, die den Großteil der Ladezeit ausmachen — und priorisieren danach. output: messbasis b-02medien ### Bilder & Medien Meist der größte Hebel: AVIF und WebP statt schwerer JPEGs, responsive Bildgrößen per srcset, Lazy Loading unterhalb des Viewports, Poster statt autoplayender Videos. output: media-diät b-03code ### Code & Rendering Critical CSS inline, JavaScript auf Diät, Fonts subsetten und selbst hosten. Der Render-Pfad wird so kurz, dass der erste Inhalt steht, bevor Besucher zweifeln. output: schlankes bundle b-04server ### Caching & Server Serverantwortzeit (TTFB) senken, Browser- und Server-Caching konfigurieren, Brotli- oder gzip-Kompression aktivieren, HTTP/2 und HTTP/3 nutzen. Bei Bedarf: CDN. output: ttfb ↓ b-05cms ### CMS-Feinschliff TYPO3, WordPress oder Statamic: Extensions und Plugins ausmisten, Caches richtig konfigurieren, Datenbank bereinigen. Details zu den Systemen stehen im [Stack](https://www.siteway.de/stack/). output: cms-tuning b-06budget ### Budget & Monitoring Ein Performance-Budget legt fest, wie viel Gewicht eine Seite haben darf. Lighthouse misst bei jedem Release — Regressionen fallen auf, bevor sie live gehen. output: lighthouse-report beleg · messung ## Im Labor gemessen, live belegt keine theorie · **diese website** Lighthouse misst im Labor: gleiche Bedingungen, reproduzierbar, bei jedem Release. Google bewertet deine Seite aber nach **Felddaten** — dem Chrome UX Report (CrUX), der die Core Web Vitals echter Besucher über 28 Tage sammelt. Wir arbeiten mit beidem: Labor für schnelles Feedback beim Optimieren, Feld als Beweis, dass es bei echten Nutzern ankommt. Dass die Methode funktioniert, zeigt diese Website: Die siteway-Startseite erreicht bei PageSpeed Insights **100/100/100/100 auf Mobilgeräten** — Performance, Accessibility, Best Practices und SEO. Kein Sonderaufbau, sondern Handwerk: AVIF-Bilder, wenig JavaScript, selbst gehostete Fonts und ein Budget, das jeder Release einhalten muss. $ lighthouse siteway.de --mobile - ✓performance100 - ✓accessibility100 - ✓best practices100 - ✓seo100 - pagespeed insights · startseite · mobil tools · kostenlos ## Miss deine Ladezeit selbst ohne anmeldung · **ohne tracking** Du musst uns nicht glauben, dass deine Website zu langsam ist — miss es. Unser PageSpeed-Check crawlt deine Website und zeigt Ladezeit und Core Web Vitals je Seite, direkt im Browser. Und wenn du erst selbst Hand anlegen willst: Der Ratgeber [PageSpeed & Ladezeit in den Insights](https://www.siteway.de/insights/pagespeed/) erklärt die wichtigsten Maßnahmen Schritt für Schritt. tool-01 · tempo kostenlos ### PageSpeed-Check Der PageSpeed-Check crawlt deine Website Seite für Seite und misst Ladezeit und Core Web Vitals. So siehst du vor der Optimierung, wo du stehst — und danach schwarz auf weiß, was sie gebracht hat. - ✓Core Web Vitals je Seite lcp · inp · cls - ✓Crawl über die ganze Website, mobil & desktop - ✓Export als CSV für den Vorher-nachher-Vergleich [→ pagespeed-check starten](https://www.siteway.de/tools/pagespeed-check/)  *// siteway · pagespeed-check — crawl über 36 seiten, mobil* ablauf · 5 schritte ## So läuft die Optimierung erst messen · **dann schrauben** 1. // schritt 01 · messung Messen & verstehen. Lighthouse, PageSpeed Insights und ein Crawl über alle Seiten. Wo bremst es — Bilder, Code, Server? Die Messbasis hält den Ist-Zustand fest. output: messbasis 2. // schritt 02 · priorisierung Priorisieren. Maßnahmen nach Wirkung und Aufwand sortiert — mit Festpreis. Zuerst kommen die zwei, drei Ursachen, die den Großteil der Ladezeit ausmachen. output: maßnahmenliste 3. // schritt 03 · umsetzung Umsetzen. Bilder, Code, Caching, Server, CMS — je nach Befund. Jede Änderung in Git nachvollziehbar, über CI/CD deployt, nichts per Hand auf dem Server. output: optimierung 4. // schritt 04 · nachmessung Nachmessen. Gleiche Strecke, gleiche Bedingungen: Lighthouse vorher gegen nachher. Du bekommst den Vergleich schwarz auf weiß — nicht als Gefühl, sondern als Report. output: lighthouse-report 5. // schritt 05 · absicherung ● ergebnis Absichern. Ein Performance-Budget wandert in den Build: Bei jedem Release wird gemessen, Regressionen fallen vor dem Deploy auf. Das Tempo bleibt — auch in einem Jahr. output: budget + monitoring faq ## Häufige Fragen ### Was ist Website-Performance-Optimierung? Website-Performance-Optimierung macht eine Website messbar schneller: kürzere Ladezeit, schnellere Reaktion auf Eingaben, stabiles Layout beim Laden. Der Maßstab sind Googles Core Web Vitals. Optimiert wird an Bildern, Code, Caching und Server — gemessen vorher und nachher mit Lighthouse und PageSpeed Insights. ### Was sind die Core Web Vitals? Drei Messwerte, mit denen Google die Nutzererfahrung einer Seite bewertet: LCP (Largest Contentful Paint) misst, wann der Hauptinhalt sichtbar ist. INP (Interaction to Next Paint) misst, wie schnell die Seite auf Eingaben reagiert. CLS (Cumulative Layout Shift) misst, wie stark das Layout beim Laden springt. Alle drei fließen ins Google-Ranking ein. ### Welche Core-Web-Vitals-Werte gelten als gut? Google stuft eine Seite als „gut" ein, wenn der LCP unter 2,5 Sekunden liegt, der INP unter 200 Millisekunden und der CLS unter 0,1 — gemessen am 75. Perzentil echter Nutzer. Genau auf diese Schwellen optimieren wir. ### Warum ist meine Website langsam? Die häufigsten Bremsen: unkomprimierte Bilder, zu viel JavaScript und CSS, fehlendes Caching, langsame Serverantwortzeiten und Plugins oder Extensions, die niemand mehr braucht. Was bei dir bremst, zeigt die Ist-Analyse — meist sind es zwei, drei Ursachen, die den Großteil der Ladezeit ausmachen. ### Ist PageSpeed ein Google-Rankingfaktor? Ja. Die Core Web Vitals fließen als Rankingsignal in die Google-Suche ein — als eines von vielen. Oft wichtiger ist der indirekte Effekt: Schnelle Seiten halten Besucher, langsame verlieren sie, bevor der Inhalt lädt. Beides zahlt auf Sichtbarkeit und Anfragen ein. ### Was kostet eine Website-Performance-Optimierung? Festpreis nach Briefing. Nach der Ist-Analyse bekommst du eine priorisierte Maßnahmenliste mit Preis — du weißt vorher, was es kostet und was es bringt. Das Performance-Audit ist auch einzeln buchbar, als einer unserer 15 Audits. ### Wie schnell sehe ich Ergebnisse? Im Labor sofort: Lighthouse zeigt jede Verbesserung direkt nach dem Release. Die Felddaten im Chrome UX Report (CrUX), nach denen Google bewertet, laufen über ein 28-Tage-Fenster — dort siehst du den Effekt nach rund vier Wochen. ### Funktioniert Performance-Optimierung auch mit WordPress und TYPO3? Ja. Wir optimieren TYPO3, WordPress und Statamic — vom Bild-Handling über die Caching-Konfiguration bis zum Ausmisten von Extensions und Plugins. Die Maßnahmen unterscheiden sich je CMS, die Zielwerte nicht. weiter im prozess ## Was vom Tempo profitiert alle leistungen im **überblick** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Schnelle Seiten crawlt Google öfter und ranken besser — Performance ist das Fundament der Sichtbarkeit. weiterlesen → - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Damit das Tempo bleibt: Updates, Backups und Monitoring im laufenden Betrieb — Regressionen fallen früh auf. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Was schnelle Websites im Alltag leisten — unsere Cases, vom Mittelstand bis zum internationalen Portal. zu den cases → Website zu langsam? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · gallery # Portfolio & Media Galerie Du willst eine **Bildergalerie erstellen** und in deine Website einbauen? siteway baut den Baustein: Portfolio oder Fotogalerie mit Lightbox, Filtern und optionalem Video. Die Bilder liefern wir in AVIF und WebP aus, lazy geladen und responsive — [schnell trotz vieler Motive](#performance). komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: galerie + lightbox [Briefing starten](https://www.siteway.de/kontakt/) [Funktionen ansehen](#kann) definition ## Was ist eine Portfolio- & Media-Galerie? **Eine Portfolio- und Media-Galerie ist eine Website-Komponente, die Bilder und optional Videos in einem Raster zeigt und in der Großansicht als Lightbox öffnet.** Besucher filtern nach Kategorien, die Motive laden erst beim Scrollen und werden in modernen Formaten wie AVIF und WebP ausgeliefert. Wichtig: Das hier ist ein Baustein, kein Baukasten. Wir bauen die Galerie in deine bestehende oder neue Website ein — angebunden an dein CMS, in deinem Design, mit deinen Bildern. Du bekommst keine fremde Plattform, auf die du Fotos hochlädst, sondern eine Galerie, die deiner Seite gehört. $ cat galerie.md - ✓Raster- oder Masonry-Layout - ✓Lightbox tastatur · touch - ✓Bilder in avif · webp - ✓Filter & Kategorien - ✓optional Video - ✓Alt-Texte & Bildnachweis wcag 2.2 warum ## Bilder verkaufen — wenn sie laden zeigen ist die hälfte · **schnell zeigen die andere** Wer Arbeit zeigt — Projekte, Produkte, Referenzen, Fotos —, überzeugt über Bilder, nicht über Text. Eine gute Galerie führt den Blick, macht Details in der Lightbox groß und lässt Besucher gezielt nach dem filtern, was sie suchen. Aus Ansehen wird Interesse, aus Interesse eine Anfrage. Das Problem der meisten Galerien: Sie sind schön, aber schwer. Dutzende unkomprimierte Bilder auf einmal, und die Seite lädt Sekunden — auf dem Handy verliert man die Besucher genau dann. Wir bauen die Galerie andersherum: erst schnell, dann schön. Deshalb ist die [Performance](https://www.siteway.de/expertise/performance-core-web-vitals/) hier kein Extra, sondern Teil der Komponente. was eine galerie leisten muss - 01**Blick führen** statt Bilder stapeln - 02**Detail zeigen** in der Lightbox - 03**Finden lassen** per Filter - 04**Schnell bleiben** auf jedem Gerät funktionen · 6 module ## Was die Galerie kann jedes modul mit **output** Sechs Bausteine, eine Galerie. Was du brauchst, bauen wir ein — was du nicht brauchst, bleibt weg. Jeder Baustein hat ein greifbares Ergebnis im Frontend. m-01galerie ### Galerie & Lightbox Bilder im Raster oder Masonry-Layout, auf Klick groß in der Lightbox. Bedienbar per Tastatur, Wischen und Klick — mit Vor- und Zurück durch die ganze Reihe. output: grid + lightbox m-02format ### AVIF & WebP Jedes Bild kommt automatisch als AVIF und WebP mit JPEG-Fallback — rund 30 bis 50 % kleiner als klassisches JPEG. Der Browser nimmt das kleinste Format, das er kann. output: avif · webp · fallback m-03laden ### Lazy & responsive Bilder laden erst, wenn sie in Sichtweite scrollen. Per responsive srcset bekommt jedes Gerät nur die Auflösung, die es wirklich zeigt — kein 4K-Foto auf dem Handy. output: lazy + srcset m-04filter ### Filter & Kategorien Besucher schalten die Galerie nach Kategorie, Tag oder Projekt um — ohne Neuladen der Seite. Praktisch, sobald mehr als eine Handvoll Motive zusammenkommt. output: kategorie-filter m-05video ### Video optional Bewegtbild in derselben Galerie: selbst gehostet oder eingebunden. Erst lädt das Vorschaubild, das Video startet auf Klick — so bleibt die Ladezeit auch mit Video niedrig. output: poster + video m-06pflege ### Pflege im CMS Bilder, Reihenfolge, Kategorien und Alt-Texte pflegt deine Redaktion selbst — in TYPO3, WordPress oder Statamic. Umwandlung und Auflösungen entstehen automatisch beim Upload. output: redaktion + auto-render performance ## Viele Bilder, trotzdem schnell core web vitals · **auch bei 200 motiven** Eine Galerie ist der härteste Test für die Ladezeit einer Seite — nirgends kommen so viele große Dateien auf einmal zusammen. Die meisten Galerie-Tools lösen das gar nicht: Sie laden alle Bilder in Originalgröße, und die Core Web Vitals kippen. Wir drehen jeden Hebel, den es gibt. Der größte ist das Format. **AVIF** ist laut den Referenzdaten von Google und der Alliance for Open Media rund 50 % kleiner als ein vergleichbares JPEG, **WebP** etwa 25 bis 34 %. Dazu kommen Lazy Loading, responsive srcset und ein bevorzugt geladenes erstes Bild. Zusammen halten sie den Ladewert **LCP unter 2,5 s** — auch wenn die Galerie hunderte Motive zeigt. - 01**AVIF & WebP** — kleinere Dateien, gleiche Schärfe - 02**Lazy Loading** — laden erst kurz vor dem Sichtfeld - 03**Responsive srcset** — pro Gerät die passende Größe - 04**Feste Maße** — kein Springen des Layouts (CLS) dateigröße je format▸ avif relative dateigröße bei gleicher qualität · quelle: google web.dev / aomedia einbau ## So bauen wir sie ein baustein rein · **redaktion übernimmt** 01 · briefing ### Motive & Kategorien Wir klären, was rein soll: Art der Bilder, Kategorien, ob Video dazukommt und wo die Galerie steht. 02 · bau ### In dein Design Wir bauen die Galerie in deinem Look, angebunden ans CMS, mit der Bild-Pipeline für AVIF und WebP. 03 · test ### Auf Tempo geprüft Wir messen mit Lighthouse: Ladezeit, Layout-Stabilität und Bedienung per Tastatur, bevor es live geht. 04 · übergabe ● live ### Du pflegst selbst Kurze Einweisung, dann pflegt deine Redaktion Bilder und Reihenfolge selbst — Optimierung läuft automatisch. faq ## Häufige Fragen ### Was ist eine Portfolio- & Media-Galerie? Eine Portfolio- und Media-Galerie ist eine Website-Komponente, die Bilder und optional Videos in einem Raster zeigt und in der Großansicht als Lightbox öffnet. Besucher filtern nach Kategorien, die Bilder werden in modernen Formaten wie AVIF und WebP ausgeliefert und lazy geladen. siteway baut die Galerie als Baustein in eine bestehende oder neue Website ein. ### Wie bleibt eine Galerie mit vielen Bildern schnell? Über vier Hebel: Bilder werden in AVIF und WebP ausgeliefert — rund 30 bis 50 Prozent kleiner als JPEG. Sie laden lazy, also erst kurz bevor sie ins Bild scrollen. Per responsive srcset bekommt jedes Gerät nur die passende Auflösung. Und das erste sichtbare Bild wird bevorzugt geladen. So bleibt der Ladewert LCP unter 2,5 Sekunden, auch bei hunderten Motiven. ### In welche CMS baut ihr die Galerie ein? In TYPO3, WordPress und Statamic. Deine Redaktion pflegt Bilder, Reihenfolge, Kategorien und Alt-Texte selbst im gewohnten Backend — die Umwandlung in AVIF und WebP, die passenden Auflösungen und das Lazy Loading laufen automatisch im Hintergrund. ### Kann die Galerie auch Videos einbinden? Ja. Neben Bildern lassen sich Videos in dieselbe Galerie einbetten — selbst gehostet oder über einen Anbieter eingebunden. Videos werden datensparsam geladen: Vorschaubild zuerst, das eigentliche Video erst auf Klick. So bleibt die Ladezeit auch mit Bewegtbild niedrig. ### Wie regelt ihr Bildrechte und Alt-Texte? Jedes Motiv bekommt einen Alt-Text für Screenreader und Suchmaschinen sowie bei Bedarf einen Bildnachweis. Das erfüllt die Barrierefreiheit nach WCAG 2.2 und hält die Nutzungsrechte sauber. Für eigene Fotos klären wir die Lizenz gemeinsam, für Stock-Material dokumentieren wir die Quelle. ### Was kostet die Portfolio- & Media-Galerie? Festpreis nach Briefing. Die Galerie ist einzeln buchbar — als Baustein für deine bestehende Website — oder Teil einer kompletten neuen Website. Sobald Umfang, Kategorien und CMS feststehen, nennen wir einen festen Preis und halten ihn im Vertrag fest. passt dazu ## Passt dazu bausteine & leistungen im **überblick** - [Download- & Mediathek.](https://www.siteway.de/expertise/download-mediathek/) — komponente Wenn Besucher nicht nur ansehen, sondern herunterladen sollen: Datenblätter, Broschüren und Medien in einer Bibliothek. weiterlesen → - [Performance & Core Web Vitals.](https://www.siteway.de/expertise/performance-core-web-vitals/) — Die ganze Website auf Tempo getrimmt — dieselbe Disziplin, die die Galerie schnell hält, für jede Seite. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Galerien und Portfolios im Einsatz — wie wir Bilder auf echten Kunden-Websites zeigen. zu den cases → Galerie in deine Website bauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · catalog # Produktkatalog Produktkatalog ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Wer einen **Produktkatalog erstellen** will, der Teil der Seite ist statt PDF zum Blättern, bekommt hier einen durchsuchbaren, filterbaren Online-Katalog: mit [Product-Schema](https://www.siteway.de/expertise/strukturierte-daten/) je Produkt, Detailseiten, Suche und Anfrage statt Kasse. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: product-schema + facetten [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Online-Produktkatalog? **Ein Online-Produktkatalog ist ein durchsuchbarer, filterbarer Bereich auf der eigenen Website, der ein Sortiment oder Portfolio strukturiert zeigt — mit einer eigenen Detailseite je Produkt, aber ohne Kasse.** Als Komponente gebaut, ist er mehr als eine Liste: Facettenfilter, eigene Produktseiten, On-Site-Suche, Product-Schema und eine Anbindung an die Produktdaten aus deinem PIM. Der Katalog zeigt das Sortiment und führt zur **Anfrage**, nicht zur Bestellung. Damit passt er für B2B, erklärungsbedürftige Produkte und Portfolios. Wer bis zur Kasse verkaufen will, ist bei der Schwester-Komponente [Shop & E-Commerce](https://www.siteway.de/expertise/shop-e-commerce/) richtig — hier steht am Ende der Vertrieb, kein Warenkorb. $ cat produktkatalog.md - ✓Facettenfilter nach attributen - ✓Produktdetailseiten je produkt eine url - ✓On-Site-Suche algolia · meilisearch - ✓Product-Schema json-ld - ✓PIM-Anbindung pim · erp - ✓Anfrage statt Kasse kontakt-cta warum ## Durchsuchen statt durchblättern jedes produkt eine **eigene url** Ein PDF- oder Flipbook-Katalog sieht aus wie Papier auf dem Bildschirm: Man blättert, aber Google findet darin nichts, Filter gibt es keine, und jede Aktualisierung heißt neu exportieren. Ein Online-Produktkatalog als Website-Komponente dreht das um — jedes Produkt bekommt eine eigene, indexierbare Seite, die für seine konkrete Frage ranken kann. Damit das trägt, muss die Technik stimmen. Wir bauen den Katalog so, dass Produkte sauber ausgezeichnet sind, Filter sofort greifen und die Daten aus deinem System kommen statt aus einer zweiten Pflege. Sichtbar werden die Produktseiten über [SEO & GEO](https://www.siteway.de/expertise/seo-geo/), schnell bleiben sie über [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/). was der baustein liefert - 01Eine **indexierbare Seite** je Produkt - 02Filter & Suche statt **Blättern** - 03Produkt-Treffer in **KI-Antworten** - 04Ein Klick zur **Anfrage** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — kein loses Katalog-Plugin, sondern ein Produktkatalog, den deine Redaktion pflegt und den Suchmaschinen wie KI-Systeme lesen können. Jede Funktion hat ein greifbares Ergebnis. f-01filter ### Facettenfilter Produkte nach Attributen eingrenzen — Kategorie, Serie, Material, Maß, Leistung. Mehrere Filter kombinierbar, das Ergebnis erscheint sofort. So findet auch ein großes Sortiment in wenigen Klicks das passende Produkt. output: facetten + attribute f-02detailseite ### Produktdetailseiten Jedes Produkt bekommt eine eigene URL mit Bildern, technischen Attributen, Datenblatt und Downloads. Eine echte HTML-Seite, die man verlinken, teilen und indexieren kann — kein Eintrag in einer PDF-Datei. output: url je produkt f-03suche ### On-Site-Suche Eine Instant-Suche über den ganzen Katalog: Treffer beim Tippen, Tippfehler-Toleranz und Vorschläge — etwa auf Basis von Algolia. Wer die Artikelnummer kennt oder nur ein Stichwort hat, ist in Sekunden am Ziel. output: instant-suche f-04auszeichnung ### Product-Schema Jedes Produkt erhält Product-JSON-LD: Name, Marke, Attribute und Bild maschinenlesbar. Google und KI-Systeme wissen so genau, was dein Produkt ist — die Basis für Produkt-Treffer und Zitate in KI-Antworten. output: product-json-ld f-05daten ### PIM-Anbindung Produktdaten kommen aus deinem PIM oder ERP und laufen per Schnittstelle in den Katalog — Attribute, Preise, Bilder. Einmal pflegen, überall aktuell, ohne doppelte Arbeit. Details bei [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). output: pim-sync f-06abschluss ### Anfrage statt Kasse Kein Warenkorb: Je Produkt ein Anfrage- oder Kontakt-CTA, der Merkliste, Formular oder Vertrieb auslöst. Der Katalog qualifiziert die Anfrage vor — dein Team bekommt eine Anfrage mit Kontext statt einer anonymen Bestellung. output: anfrage-cta mehrwert ## Der Katalog ist nur so gut wie seine Daten quelle: **dein pim** Die meisten Ratgeber zum Produktkatalog reden über Layout und Vorlagen. Der eigentliche Hebel liegt woanders: bei den Daten. Ein Filter ist nur so präzise wie die Attribute dahinter, eine Suche nur so gut wie die gepflegten Felder. Deshalb bauen wir den Katalog nicht auf einer zweiten, von Hand gepflegten Kopie auf, sondern speisen ihn direkt aus dem System, in dem deine Produktdaten leben. Beim Case [Spelsberg](https://www.siteway.de/cases/spelsberg/) läuft der Produktfinder so in 13 Sprachen auf TYPO3 — versorgt aus PIM und Cadenas, durchsuchbar über Algolia. d-01quelle ### Eine Quelle Attribute, Preise und Bilder kommen aus dem PIM oder ERP. Der Katalog ist eine Ansicht dieser Daten, keine zweite Pflege — geändert wird einmal, an der Quelle. pim · erp · cadenas d-02attribute ### Attribute als Filter Jedes gepflegte Attribut wird zur Filter-Achse: Material, Norm, Maß, Leistung. Saubere Produktdaten sind damit direkt der Bauplan für die Facetten im Katalog. attribut → facette d-03skala ### Skaliert mit Tausende Produkte, mehrere Sprachen, regelmäßige Updates: Weil die Daten aus dem System fließen, wächst der Katalog mit dem Sortiment — ohne dass jemand Seiten von Hand nachbaut. 13 sprachen · spelsberg einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · datenmodell Attribute festlegen. Welche Produktfelder gibt es, welche werden zu Filtern, woher kommen die Daten. Wir klären das Datenmodell und die Quelle, bevor eine Zeile gebaut wird. output: attribut-plan 2. // schritt 02 · anbindung PIM anschließen. Wir verbinden Katalog und Datenquelle per Schnittstelle — PIM, ERP oder Cadenas — und richten die Suche ein, damit Attribute und Bilder automatisch einlaufen. output: import + index 3. // schritt 03 · frontend Katalog bauen. Filter, Detailseiten, On-Site-Suche und Product-Schema werden ins CMS gebaut und verdrahtet — die durchsuchbare, maschinenlesbare Ansicht entsteht. output: facetten + json-ld 4. // schritt 04 · übergabe ● ergebnis Anfragen scharfstellen. Anfrage-CTAs und Kontaktwege je Produkt werden angeschlossen, ein Testlauf zeigt den Weg vom Filter bis zur Anfrage. Danach pflegst du Produkte an der Quelle — der Katalog folgt automatisch. output: live-katalog faq ## Häufige Fragen ### Was ist ein Online-Produktkatalog? Ein Online-Produktkatalog ist ein durchsuchbarer, filterbarer Bereich auf der eigenen Website, der ein Sortiment oder Portfolio strukturiert zeigt — mit einer eigenen Detailseite je Produkt, aber ohne Kasse. Als Website-Komponente gebaut, besteht er aus Facettenfilter, Produktdetailseiten, On-Site-Suche, Product-Schema und einer Anbindung an die Produktdaten aus deinem PIM. ### Was ist der Unterschied zwischen Produktkatalog und Shop? Ein Shop führt bis zur Kasse: Warenkorb, Bezahlung, Bestellung. Der Produktkatalog zeigt das Sortiment, endet aber bei der Anfrage — je Produkt ein Kontakt- oder Anfrage-CTA statt „In den Warenkorb". Er passt für B2B, erklärungsbedürftige Produkte und Portfolios, bei denen der Abschluss über den Vertrieb läuft. Willst du verkaufen, ist die Schwester-Komponente Shop & E-Commerce der richtige Baustein. ### Ist das ein PDF-Katalog zum Blättern? Nein. Wir bauen keinen PDF- oder Flipbook-Katalog, sondern einen echten Teil deiner Website: eigene HTML-Seiten je Produkt, filterbar, durchsuchbar und für Google und KI-Systeme lesbar. Ein PDF kann man als Datenblatt zum Download daneben legen — der Katalog selbst bleibt eine Website-Komponente, keine Blätter-Datei. ### Könnt ihr den Katalog an unser PIM anbinden? Ja. Produktdaten pflegst du dort, wo sie hingehören — im PIM oder ERP. Wir binden den Katalog per Schnittstelle an, sodass Attribute, Preise und Bilder automatisch in die Website laufen, statt doppelt gepflegt zu werden. Für den Case Spelsberg haben wir dafür PIM, Cadenas und Algolia verbunden. Die Anbindung selbst ist Teil unserer Leistung Schnittstellen & Integration. ### Bekommen die Produkte strukturierte Daten? Ja. Jedes Produkt erhält Product-JSON-LD mit Name, Marke, Attributen und Bild. Das macht dein Sortiment für Google und KI-Systeme eindeutig lesbar und ist die Basis für Produkt-Treffer in der Suche. Details dazu findest du bei der Leistung Strukturierte Daten. ### Funktioniert der Katalog auch mehrsprachig und bei vielen Produkten? Ja. Der Baustein ist auf große Sortimente ausgelegt: Filter und Suche bleiben schnell, auch bei tausenden Produkten. Für den Case Spelsberg läuft der Produktfinder in 13 Sprachen auf TYPO3, gespeist aus PIM und Cadenas, mit Algolia als Suche. Mehr oder weniger Umfang klären wir im Briefing. ### Können wir den Produktkatalog einzeln buchen? Ja. Produktkatalog ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Wenn aus dem Katalog verkauft werden soll: der gleiche Aufbau, aber mit Warenkorb, Kasse und Warenwirtschaft dahinter. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Der Katalog braucht Daten — diese Leistung liefert die Anbindung: PIM, ERP und Cadenas sauber an die Website verdrahtet. weiterlesen → - [Produktfinder Spelsberg.](https://www.siteway.de/cases/spelsberg/) — Ein Produktkatalog im Einsatz: 13 Sprachen auf TYPO3, gespeist aus PIM und Cadenas, durchsuchbar über Algolia. zum case → Produktkatalog in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- svc-10 · relaunch # Relaunch & Migration Als **Website-Relaunch-Agentur** bauen wir bei siteway deine Website komplett neu — Konzept, Design, Entwicklung, Inhalte — und bringen sie live, ohne Rankings, Backlinks und Besucher zu verlieren. Bewährte Inhalte ziehen um, neue kommen dazu, und jede alte URL bekommt ihr 301-Ziel. svc-10 umfang: konzept → go-live redirects: 301 · jede alte url output: go-live + report [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was macht eine Website-Relaunch-Agentur? **Eine Website-Relaunch-Agentur erstellt deine Website komplett neu — von Konzept und Design über Entwicklung und Inhalte bis zum CMS — und stellt sie live, ohne dass Sichtbarkeit verloren geht.** Der Relaunch ist eine vollständige Website-Erstellung; die Migration ist ihr Sicherheitsnetz: Content-Inventar, URL-Mapping von alt nach neu und 301-Weiterleitungen für jede alte Adresse. Der Unterschied zum Neubau auf der grünen Wiese: Deine Seite hat eine Geschichte — URLs, die ranken, Backlinks, die zahlen, Inhalte, die funktionieren. Ein guter Relaunch entscheidet deshalb je Inhalt: übernehmen, überarbeiten oder neu erstellen. Geplant wird das im [Konzept für den Relaunch](https://www.siteway.de/expertise/konzept-strategie/#relaunch) — hier setzen wir es um, bis zum Go-live. $ cat relaunch.md - ✓Konzept & Design scope + design-system - ✓Entwicklung & Schnittstellen templates + apis - ✓Content-Migration übernehmen + neu - ✓CMS & Redaktionszugang vor dem launch - ✓Qualitätssicherung testprotokoll - ✓Launch 301 · dns · sitemap warum ## Der riskanteste Tag im Leben deiner Website **301** statt 404 Der Go-live ist der Moment, in dem ein Relaunch Sichtbarkeit kostet — oder eben nicht. Ändert sich eine URL ohne Weiterleitung, findet Google unter der alten Adresse nur noch einen 404-Fehler: Das Ranking verfällt, jeder Backlink auf diese Seite verpufft, und die neue URL startet ohne Historie von vorn. Bei hunderten URLs summiert sich das zu einem Einbruch, den viele Unternehmen erst bemerken, wenn die Anfragen ausbleiben. Die Absicherung ist unspektakulär und wirkt: eine **301-Weiterleitung für jede alte URL** auf ihr neues Ziel. Der Statuscode 301 sagt Google „dauerhaft umgezogen" — Rankings und Linksignale ziehen mit, statt zu verfallen. Genau deshalb beginnt bei uns jeder Relaunch mit dem Inventar der alten Seite, nicht mit dem Design der neuen. $ curl -I deine-domain.de/alte-url ohne url-mapping HTTP/2 **404** not found - ✗Ranking verfällt - ✗Backlinks verpuffen - ✗Neue URL startet bei null mit url-mapping HTTP/2 **301** → /neue-url/ - ✓Ranking zieht mit um - ✓Linksignale bleiben erhalten - ✓Besucher landen am Ziel leistung · 9 bausteine ## Was Relaunch & Migration bei siteway umfasst vom inventar bis zum **go-live** Ein Relaunch ist bei uns eine komplette Website-Erstellung plus sauberer Umzug. Neun Bausteine, ein Ergebnis: eine neue Website, die die Sichtbarkeit der alten übernimmt. Jeder Baustein hat ein greifbares Artefakt — und jede alte URL ein Ziel. b-01konzept + design ### Konzept & Design Ziele, Struktur und Wireframes entstehen im [Relaunch-Konzept](https://www.siteway.de/expertise/konzept-strategie/#relaunch), das [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/) macht daraus ein neues Interface samt Design-System. Die neue Seite ist ein Neubau — kein Anstrich. output: scope + design-system b-02entwicklung ### Entwicklung & Schnittstellen Templates und sauberes Markup aus der [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/), dazu [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) zu CRM, ERP oder Payment, wo sie gebraucht werden — mit Git und CI/CD auf Staging, während die alte Seite weiterläuft. output: templates + apis b-03inventar ### Content-Inventar & URL-Mapping Wir crawlen die Bestandsseite und sehen, welche URLs Besucher, Rankings und Backlinks bringen. Jede alte Adresse bekommt ein Ziel: umziehen, zusammenlegen oder gezielt abschalten. output: url-map b-04content ### Content-Migration & neue Inhalte Bewährte Inhalte ziehen strukturiert ins neue CMS, veraltete fliegen raus — und was fehlt, erstellen wir neu: Leistungsseiten, Startseite, zitierfähige Passagen für [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). Skriptgestützt statt per Hand kopiert. output: content alt + neu b-05cms ### CMS & Redaktionszugang TYPO3, WordPress oder Statamic — eingerichtet mit Rollen, Workflows und [Schulung](https://www.siteway.de/expertise/cms-redaktion/). Deine Redaktion bekommt den Zugang vor dem Launch und arbeitet sich auf Staging ein, nicht am lebenden System. output: redaktions-zugang b-06metadaten ### Meta- & Schema-Migration Title, Description, Canonicals und Schema.org-JSON-LD ziehen mit um. Rich Snippets und KI-Zitierbarkeit bleiben erhalten, statt beim Go-live zu verschwinden. output: json-ld + metas b-07qa ### Qualitätssicherung Redirect-Verifizierung gegen die URL-Map, Broken-Link-Check, Core Web Vitals, Formulare, beide Farbmodi. Die neue Seite geht erst live, wenn das Testprotokoll grün ist und du freigegeben hast. output: testprotokoll b-08redirects ### 301-Weiterleitungen Serverseitige 301-Redirects für jede alte URL — 1:1 aufs inhaltlich passende Ziel, ohne Ketten und ohne die faule Sammelweiterleitung auf die Startseite. output: redirects.map b-09go-live ### Go-live & Monitoring DNS und SSL umstellen, Redirects scharf schalten, XML-Sitemap einreichen. Danach überwachen wir Crawling, 404-Treffer und Rankings gegen die Messbasis von vorher. output: go-live + report szenarien ## CMS wechseln oder behalten? beide wege · **gleiches sicherheitsnetz** Ein Relaunch heißt nicht automatisch neues CMS. Was bleibt und was sich ändert, entscheidet der Bestand — nicht die Gewohnheit. Wir prüfen beides im Konzept und empfehlen den Weg, der zu Redaktion, Budget und Technik passt. weg acms wechseln ### Neues CMS, neue Website Das Altsystem trägt nicht mehr — zu alt, zu unsicher, zu unflexibel. Wir migrieren auf TYPO3, WordPress oder Statamic: Inhalte ziehen skriptgestützt um, die Redaktion wird geschult, das alte System geht sauber vom Netz. Der Klassiker: von WordPress zu Statamic, wenn weniger Wartung gefragt ist — oder zu TYPO3, wenn Rollen, Freigaben und Sprachen dazukommen. cms-migration + schulung weg bcms behalten ### Gleiches CMS, neue Website Das System passt, der Rest nicht mehr: Das Design wird generalüberholt, die Inhalte werden neu aufgestellt, die Templates neu gebaut — und im selben Zug bringen wir das CMS auf die aktuelle Version. Deine Redaktion behält ihre gewohnte Umgebung und bekommt eine Website, die wieder trägt. redesign + content + cms-update In beiden Fällen gilt dasselbe Sicherheitsnetz: content-inventar · url-map · 301 cms-relaunch ## Relaunch mit deinem CMS typo3 · wordpress · **statamic** Du arbeitest bereits mit einem CMS und suchst eine Agentur, die den Relaunch damit begleitet — oder dich ehrlich berät, ob ein Wechsel der bessere Weg ist? Wir arbeiten seit Jahren mit allen dreien. Welches System wann passt, steht im [Stack](https://www.siteway.de/stack/). cms-01typo3 ### TYPO3-Relaunch Vom abgekündigten LTS auf die aktuelle Version: Extensions prüfen und ersetzen, Templates neu, Rollen und Workflows aufräumen — oder die Migration zu TYPO3, wenn Freigaben und viele Sprachen dazukommen. Beleg statt Behauptung: Die [Spelsberg-Plattform](https://www.siteway.de/cases/spelsberg/) (13 Sprachen) betreuen wir seit 2018, inklusive TYPO3-Upgrades. lts-upgrade + extensions cms-02wordpress ### WordPress-Relaunch Raus aus dem Theme- und Plugin-Wildwuchs: ein schlankes Theme statt Page-Builder-Altlasten, Plugins konsolidiert, Core Web Vitals im grünen Bereich. Und wenn WordPress nicht mehr passt, migrieren wir deine Inhalte strukturiert zu Statamic oder TYPO3. theme neu + plugins raus cms-03statamic ### Statamic-Relaunch Der Relaunch auf Statamic ist der Weg für alle, die weniger Wartung wollen: keine Datenbank, wenig Angriffsfläche, Inhalte versioniert in Git. Bestehende Inhalte — oft aus WordPress — ziehen strukturiert um, deine Redaktion pflegt danach im Control Panel weiter. flat-file + git anlass ## Woran du merkst, dass ein Relaunch fällig ist sechs signale · **ein umstieg** Ein Relaunch lohnt sich nicht, weil die Seite „alt aussieht" — sondern wenn Technik, Inhalte oder Pflichten nicht mehr mitkommen. Trifft mehr als eines dieser Signale zu, ist der Umstieg meist günstiger als das Flickwerk am Altsystem. s-01technik ### Die Technik ist am Ende CMS-Version ohne Support, veraltetes PHP, Updates nur noch mit Bauchschmerzen. Jede Sicherheitslücke bleibt offen, weil niemand das System mehr anfassen will. cms-migration s-02marke ### Marke und Seite passen nicht mehr Das Unternehmen hat sich weiterentwickelt, die Website ist stehen geblieben. Neue Leistungen fehlen, das [Design](https://www.siteway.de/expertise/ux-ui-design/) erzählt eine alte Geschichte. redesign s-03tempo ### Die Performance ist rot LCP über 2,5 s, INP über 200 ms, CLS über 0,1 — und im Altsystem lässt sich daran nichts mehr drehen. [Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/) sind ein Ranking-Signal. cwv rot s-04redaktion ### Die Redaktion kämpft mit dem CMS Eine neue Unterseite dauert Tage, Layouts brechen beim Einfügen, niemand traut sich an die Startseite. [Inhalte pflegen](https://www.siteway.de/expertise/cms-redaktion/) sollte kein Projekt sein. redaktions-workflow s-05sichtbarkeit ### Rankings stagnieren trotz Pflege Struktur und Inhalte tragen nicht mehr: flache Texte, keine strukturierten Daten, in KI-Antworten kommst du nicht vor. [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) brauchen ein Fundament. struktur + content s-06pflicht ### Barrierefreiheit ist Pflicht geworden Das BFSG verlangt [barrierefreie Websites](https://www.siteway.de/expertise/barrierefreiheit/) nach WCAG 2.2 — und das Altsystem gibt Kontraste, Fokusführung und Semantik nicht her. wcag 2.2 · bfsg methode ## So bleiben deine Rankings messen · mappen · **weiterleiten** Vor dem Umstieg erfassen wir die **Messbasis**: Rankings, Top-URLs, indexierte Seiten und die Backlink-Ziele der Bestandsseite. Ohne diese Zahlen weiß nach dem Go-live niemand, ob „die Rankings weg sind" oder ob nur das übliche Rauschen der ersten Wochen zu sehen ist. Mit ihnen ist jeder Vergleich ein Blick in eine Tabelle. Beim Go-live gilt die Checkliste rechts — jede Zeile wird geprüft, nicht gehofft. Danach bleibt die Migration unter Beobachtung: Die Google Search Console zeigt Crawling-Fehler und 404-Treffer, wir vergleichen wöchentlich gegen die Messbasis. Die 301-Weiterleitungen bleiben mindestens ein Jahr aktiv, damit Google alle Signale vollständig auf die neuen URLs überträgt. $ cat go-live-checkliste.md - ✓Messbasis erfasst rankings + top-urls - ✓URL-Mapping vollständig 100 % der alten urls - ✓301 serverseitig, ohne Ketten - ✓Metas & strukturierte Daten migriert - ✓XML-Sitemap neu eingereicht gsc - ✓404- & Crawl-Monitoring aktiv ablauf · 7 schritte ## So läuft der Umstieg alte seite läuft weiter · **bis zum go-live** 1. // schritt 01 · bestandsaufnahme Bestandsaufnahme & Messbasis. Crawl der alten Seite, Content-Inventar, Rankings und Backlink-Ziele erfassen. Wir wissen, was da ist, bevor wir entscheiden, was bleibt. output: inventar + messbasis 2. // schritt 02 · konzept + design Konzept & Design. Struktur und Inhalte der neuen Seite entstehen im [Relaunch-Konzept](https://www.siteway.de/expertise/konzept-strategie/#relaunch), das [UX/UI-Design](https://www.siteway.de/expertise/ux-ui-design/) baut das neue Interface. Parallel bekommt jede alte URL ihr neues Ziel in der URL-Map. output: scope + design + url-map 3. // schritt 03 · entwicklung Entwicklung & Schnittstellen. Die neue Seite entsteht auf der Staging-Umgebung — [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) mit Git und CI/CD. Wo nötig, werden [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/) zu CRM, ERP oder Payment angebunden und getestet. output: staging-site 4. // schritt 04 · content Content-Migration & neue Inhalte. Bewährte Inhalte ziehen skriptgestützt um, neue Texte und Bilder kommen dazu. Title, Descriptions und strukturierte Daten ziehen mit — nichts geht beim Umzug verloren. output: content komplett 5. // schritt 05 · qa + redaktion Qualitätssicherung & Redaktionszugang. Redirect-Verifizierung gegen die URL-Map, Broken-Link-Check, Core Web Vitals, Formulare. Parallel bekommt deine Redaktion CMS-Zugang und Schulung — sie arbeitet auf Staging, bevor die Seite live ist. output: testprotokoll + redaktions-zugang 6. // schritt 06 · launch Der Launch. DNS und SSL umstellen, 301-Weiterleitungen scharf schalten, XML-Sitemap einreichen. Der Umstieg selbst passiert an einem Tag — meist außerhalb deiner Stoßzeiten, die alte Seite läuft bis zur Sekunde der Umschaltung. output: go-live 7. // schritt 07 · nachlauf ● ergebnis Nachlauf & Monitoring. Rankings, Besucher und 404-Treffer im Wochenvergleich gegen die Messbasis — bis die Zahlen zeigen, dass der Umzug angekommen ist. Danach übernimmt der [Betrieb](https://www.siteway.de/expertise/betrieb-wartung-support/). output: report faq ## Häufige Fragen ### Verliere ich beim Website-Relaunch meine Google-Rankings? Nicht, wenn die Migration sauber geplant ist. Entscheidend sind ein vollständiges URL-Mapping, 301-Weiterleitungen für jede alte Adresse und eine Messbasis vor dem Umstieg. Schwankungen in den ersten Wochen sind normal — dauerhafte Verluste entstehen fast immer durch fehlende oder falsche Weiterleitungen, nicht durch den Relaunch selbst. ### Was macht eine Website-Relaunch-Agentur? Eine Website-Relaunch-Agentur erstellt eine bestehende Website komplett neu — Konzept, Design, Entwicklung, Inhalte und CMS — und stellt sie live, ohne dass Rankings, Backlinks und Besucher verloren gehen. Dazu gehören Content-Inventar und URL-Mapping, die Migration bewährter Inhalte plus neue Inhalte, 301-Weiterleitungen sowie Qualitätssicherung, Redaktionszugang, Go-live und Monitoring. ### Was kostet ein Website-Relaunch? Festpreis nach Briefing. Sobald Umfang, Seitenzahl, CMS und Schnittstellen feststehen, nennen wir einen Preis und halten ihn im Vertrag fest. Die Migration ist dabei ein eigener Posten — du siehst, was der Umstieg kostet und was die neue Seite. ### Wie lange dauert ein Website-Relaunch? Das Gesamtprojekt hängt vom Umfang ab — von wenigen Wochen für eine Business-Website bis zu mehreren Monaten für ein Portal mit Schnittstellen. Der eigentliche Umstieg ist dagegen kurz: DNS, Weiterleitungen und Go-live passieren an einem Tag, meist außerhalb deiner Stoßzeiten. ### Ist meine Website während des Relaunchs offline? Nein. Die neue Seite entsteht auf einer Staging-Umgebung, während die alte normal weiterläuft. Beim Go-live schalten wir um — die Unterbrechung liegt im Minutenbereich, für Besucher ist sie praktisch nicht sichtbar. ### Werden alle Inhalte übernommen? Bewusst nicht alle. Das Content-Inventar zeigt, welche Seiten Besucher, Rankings und Backlinks bringen — die ziehen um. Veraltete und doppelte Inhalte fliegen raus, ihre URLs leiten per 301 auf das passende Ziel weiter. So startet die neue Seite schlanker als die alte. ### Erstellt ihr beim Relaunch auch neue Inhalte? Ja. Die Content-Migration hat zwei Seiten: Bewährte Inhalte ziehen um, veraltete fliegen raus — und was fehlt, erstellen wir neu: Leistungsseiten, Startseitentexte und zitierfähige Passagen für Suchmaschinen und KI-Antworten. Deine Redaktion kann über den CMS-Zugang schon vor dem Launch eigene Inhalte ergänzen. ### Können wir beim Relaunch das CMS wechseln? Ja — der CMS-Wechsel ist einer der häufigsten Gründe für einen Relaunch. Wir migrieren zu TYPO3, WordPress oder Statamic; Inhalte, Bilder, Dokumente und Metadaten werden strukturiert übernommen, nicht per Hand kopiert. Genauso gut kannst du dein CMS behalten: Dann überholen wir Design, Inhalte und Templates und bringen das System im selben Zug auf die aktuelle Version. ### Was passiert nach dem Go-live? Wir vergleichen Rankings, Besucher und Indexierung mit der Messbasis von vorher, überwachen Crawling-Fehler und 404-Treffer in der Google Search Console und schärfen nach, wo etwas hakt. Die 301-Weiterleitungen bleiben mindestens ein Jahr aktiv, damit Google alle Signale vollständig überträgt. weiter im prozess ## Was nach dem Go-live kommt alle leistungen im **überblick** - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Updates, Backups und Monitoring — damit die neue Seite nicht so endet wie die alte. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Rankings gesichert — jetzt ausbauen: technisches SEO und Sichtbarkeit in KI-Antworten. weiterlesen → - [Case: Spelsberg.](https://www.siteway.de/cases/spelsberg/) — TYPO3-Plattform mit 13 Sprachen, PIM- und Suche-Anbindung — von uns betreut seit 2018. zum case → Alte Seite ablösen, Rankings behalten? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · reputation # Reputation-Audit Wir prüfen, wie deine Marke im Netz erwähnt und bewertet wird — und in welchem Ton Suche und KI-Systeme über dich sprechen. Die **Online-Reputation-Analyse** von siteway ist eine Diagnose mit Ergebnis: ein **reputation-report** mit priorisierten Befunden. Kein Retainer, kein Tool-Abo — ein Audit, das dir sagt, was zuerst dran ist. audit audit: einzeln buchbar dauer: 5–10 werktage output: reputation-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist eine Online-Reputation-Analyse? **Eine Online-Reputation-Analyse erfasst, wie deine Marke im Netz erwähnt und bewertet wird — auf fremden Seiten, in Bewertungsprofilen, auf der ersten Suchergebnisseite zu deinem Firmennamen und in den Antworten von KI-Systemen.** Sie misst nicht nur, wie oft über dich gesprochen wird, sondern wie: zustimmend, sachlich, kritisch — und auf welche Quellen sich das stützt. Als **Audit** ist das eine einmalige Diagnose mit greifbarem Ergebnis. Wir schauen uns deinen Ist-Zustand an und liefern einen Report: Befunde nach Wirkung sortiert, jeweils mit Quelle, Aufwand und dem nächsten konkreten Schritt. Was danach passiert, entscheidest du — der Report gehört dir. $ cat reputation-report.md - ✓Markenerwähnungen quelle + tonalität - ✓Bewertungsprofile note · menge · antwortquote - ✓Suchergebnisseite zum Firmennamen - ✓Tonalität in KI-Antworten - ✓Belege auf der eigenen Website - ✓Befundliste priorisiert + nächste schritte warum ## Wann sich das Audit lohnt deine marke wird **gegoogelt** Fast jeder, der mit dir Geschäfte machen will, googelt vorher deinen Namen. Bewerber tun es, Einkäufer tun es, Journalisten tun es — und immer öfter fragt jemand einfach ChatGPT oder Perplexity, was von dir zu halten ist. Was diese Leute sehen, entsteht größtenteils außerhalb deiner Website: in Bewertungen, Foren, Branchenportalen und alten Artikeln. Ein Audit lohnt sich, wenn du dieses Bild zum ersten Mal wirklich sehen willst — oder wenn etwas passiert ist: eine Bewertungswelle, ein Namenswechsel, ein [Relaunch](https://www.siteway.de/expertise/relaunch-migration/), eine neue Marke, ein kritischer Artikel. Wir liefern den Ist-Zustand. Die Umsetzung danach ist eine eigene Entscheidung. typische symptome - 01Die **Google-Note** sinkt, keiner weiß warum - 02Auf Seite 1 stehen Treffer, die dir **nicht gehören** - 03Eine **KI-Antwort** nennt Dinge, die nicht stimmen - 04Bewertungen bleiben **unbeantwortet** liegen - 05Bewerber springen nach dem **Arbeitgeber-Check** ab audit · 6 prüffelder ## Was wir prüfen jedes feld ein **befund** Wir arbeiten sechs Felder ab — von der fremden Quelle bis zum eigenen Prozess. Jedes Feld liefert einen Befund: was ist, warum es zählt, was zu tun ist. Kein Score ohne Erklärung. p-01erwähnungen ### Markenerwähnungen Wo im Netz über dich gesprochen wird: Medien, Fachportale, Foren, Social Media, Verzeichnisse. Wir sammeln die Fundstellen, ordnen sie nach Reichweite und halten fest, in welchem Ton sie dich nennen — und ob sie dich überhaupt richtig nennen. befund: fundstellen + tonalität p-02bewertungen ### Bewertungsprofile Google, Branchen- und Arbeitgeberportale: Note, Menge, Aktualität, Antwortquote. Wichtiger als die Sterne sind die Muster — welche Kritik kommt immer wieder, welche Bewertungen sind unbeantwortet, wo ist das Profil seit Jahren tot. befund: note · muster · lücken p-03serp ### Suchergebnisseite Was jemand sieht, der deinen Firmennamen googelt — inklusive Bilder, Maps-Eintrag und Vorschlägen der Autovervollständigung. Wir markieren, welche Treffer du kontrollierst, welche fremd sind und wo eine eigene Seite den Platz übernehmen könnte. befund: trefferkarte seite 1 p-04ki-antworten ### Tonalität in KI-Antworten Wir fragen ChatGPT, Perplexity, Gemini und die Google AI Overviews nach deiner Marke — mit denselben Prompts, die auch Kunden und Bewerber stellen. Protokolliert wird, was gesagt wird, was falsch ist und welche Quellen die Antwort tragen. befund: prompt-protokoll + quellen p-05eigene seite ### Belege auf der Website Deine Website ist die einzige Quelle, die dir gehört. Wir prüfen, ob Bewertungen, Referenzen und Auszeichnungen dort sichtbar sind und ob sie mit Schema.org-JSON-LD ausgezeichnet wurden — die Basis dafür, dass Maschinen sie überhaupt aufgreifen. befund: belege + schema.org p-06prozess ### Prozess & Zuständigkeit Wer beantwortet Bewertungen, in welcher Frist, nach welcher Regel? Wer merkt es, wenn eine neue Erwähnung auftaucht? Die meisten Reputationsprobleme sind keine Text-, sondern Zuständigkeitsprobleme. befund: rollen + antwortfrist **Was das Audit nicht ist:** keine Krisen-PR, keine Rechtsberatung und keine Pressearbeit. Wir lassen keine Bewertungen löschen, kaufen keine und schreiben keine. Wenn ein Eintrag rechtswidrig ist, gehört er zu einem Fachanwalt — wir sagen dir, wo wir diesen Fall sehen, und hören da auf. mehrwert ## Ein Tool zählt. Ein Audit entscheidet monitoring ≠ **diagnose** Wer „Online-Reputation-Analyse" sucht, landet zuerst bei Monitoring-Tools und Score-Rechnern. Die sind nützlich: Sie sammeln Erwähnungen, zählen Sterne und schicken Alerts. Nur beantworten sie die eigentliche Frage nicht — **was davon ist wichtig, und was machst du zuerst?** Genau dort setzt das Audit an. m-01kontext ### Zahl mit Kontext Ein Score von 74 sagt nichts. Wir sagen dir, aus welchen Fundstellen die Bewertung entsteht, welche davon deine Kunden wirklich sehen — und welche zwei Einträge den Eindruck tragen. befund statt score m-02reihenfolge ### Reihenfolge statt Liste Eine Alert-Liste ist chronologisch, deine Zeit ist begrenzt. Wir sortieren nach Wirkung und Aufwand: was diese Woche zählt, was im Quartal, was du bewusst liegen lässt. priorisierte befunde m-03blinder fleck ### Der blinde Fleck: KI Klassische Monitoring-Tools überwachen Seiten, nicht Antworten. Wenn ein Sprachmodell aus einer alten Quelle einen falschen Satz über dich baut, taucht das in keinem Alert auf — im Prompt-Protokoll schon. antworten statt seiten Der Unterschied zum [GEO-Audit](https://www.siteway.de/expertise/geo-audit/): Dort geht es um Sichtbarkeit — ob du in KI-Antworten überhaupt vorkommst. Hier geht es um Tonalität — wie über dich gesprochen wird. Bei Standorten und Kartendiensten schaut das [Local-SEO-Audit](https://www.siteway.de/expertise/local-seo-audit/) auf Rankings, wir auf Bewertungen und Ton. output ## Was du bekommst der report **gehört dir** Am Ende steht ein Dokument, kein Dashboard-Zugang: der **reputation-report**. Jeder Befund hat dieselbe Form — was wir gefunden haben, wo (mit Link und Datum), warum es zählt, was zu tun ist, wie viel Aufwand das kostet und was es bringt. Nichts, was du erst interpretieren musst. Dazu kommt eine Maßnahmenliste in drei Blöcken: **sofort** (unbeantwortete Bewertungen, falsche Angaben, kaputte Profile), **quartal** (Bewertungsprozess, Belege auf der Website, Schema.org) und **strategisch** (eigene Inhalte, die fremde Treffer auf Seite 1 ersetzen). Wir gehen den Report in einer Stunde mit dir durch. Danach kannst du ihn intern abarbeiten, an deine Agentur geben — oder uns beauftragen. Für die Umsetzung auf der Website gibt es die Komponente [Bewertungen & Reviews](https://www.siteway.de/expertise/bewertungen-reviews/), für Auszeichnung und Sichtbarkeit [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/) und [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). $ head reputation-report.md - 01Befundliste, **nach Wirkung sortiert** - 02Je Befund: **Quelle, Aufwand, Wirkung** - 03Prompt-Protokoll der **KI-Antworten** - 04Trefferkarte **Suchergebnisseite 1** - 05Maßnahmen: **sofort · quartal · strategisch** - 06Ein Termin zur **Besprechung** ablauf · 4 schritte ## So läuft das Audit 5–10 werktage bis zum **report** 1. // schritt 01 · briefing Umfang klären. Welche Marken, welche Standorte, welche Plattformen, welche Fragen stellen deine Kunden. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · erhebung Fundstellen sammeln. Erwähnungen, Bewertungsprofile, Suchergebnisseite und KI-Antworten werden erfasst — mit Link, Datum und Screenshot, damit jeder Befund später nachprüfbar ist. output: rohdaten + belege 3. // schritt 03 · bewertung Befunde priorisieren. Jede Fundstelle wird eingeordnet: Wirkung auf die Kaufentscheidung, Aufwand für die Korrektur, Zuständigkeit. Daraus entsteht die Reihenfolge. output: priorisierung 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Du bekommst den reputation-report und wir gehen ihn in einer Stunde gemeinsam durch. Danach entscheidest du, was passiert — mit uns oder ohne uns. output: reputation-report faq ## Häufige Fragen ### Was ist eine Online-Reputation-Analyse? Eine Online-Reputation-Analyse erfasst, wie eine Marke im Netz erwähnt und bewertet wird: Markenerwähnungen auf fremden Seiten, Bewertungsprofile, die erste Suchergebnisseite zum Firmennamen und die Tonalität in KI-Antworten. Als Audit ist sie eine einmalige Diagnose mit Ergebnis: ein Report, der die Befunde nach Wirkung sortiert und sagt, was zuerst zu tun ist. ### Was prüft ihr im Reputation-Audit? Sechs Felder: Markenerwähnungen im Netz, deine Bewertungsprofile (Note, Menge, Aktualität, Antwortquote), die erste Suchergebnisseite zum Firmennamen, die Tonalität in ChatGPT, Perplexity, Gemini und Google AI Overviews, die Belege auf deiner eigenen Website inklusive Schema.org-Auszeichnung sowie den Prozess dahinter: wer antwortet, wie schnell, nach welcher Regel. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie viele Marken, Standorte und Plattformen geprüft werden, nennen wir einen Preis und halten ihn fest. Keine Tagessätze, keine offene Rechnung am Ende. ### Wie lange dauert das Reputation-Audit? In der Regel fünf bis zehn Werktage ab Briefing. Ein Unternehmen mit einer Marke und einem Standort geht schneller, mehrere Standorte oder Marken mit vielen Bewertungsprofilen brauchen länger. Den Termin nennen wir mit dem Angebot. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir — mit allen Befunden, Quellen und Empfehlungen. Du kannst ihn intern abarbeiten, an deine Agentur geben oder uns beauftragen. Das Audit ist einzeln buchbar und an keine Folgeleistung gekoppelt. ### Könnt ihr negative Bewertungen löschen lassen? Nein. Ein Reputation-Audit ist keine Rechtsberatung und keine Krisen-PR — und siteway kauft oder erzeugt keine Bewertungen. Wir zeigen dir, welche Einträge auffällig sind, wo ein Plattform-Meldeweg realistisch ist und wann ein Fachanwalt der richtige Ansprechpartner wäre. Die tragfähigen Hebel liegen fast immer woanders: bei Antworten, Prozessen und echten neuen Bewertungen. ### Was ist der Unterschied zum GEO-Audit? Das [GEO-Audit](https://www.siteway.de/expertise/geo-audit/) prüft, ob und wie du in KI-Antworten überhaupt auftauchst — also Sichtbarkeit und Zitierbarkeit. Das Reputation-Audit prüft, wie über dich gesprochen wird: Tonalität, Erwähnungen, Bewertungen und die Quellen dahinter. Beides greift ineinander, beantwortet aber unterschiedliche Fragen. Wenn du beides brauchst, sagen wir das im Briefing. passt dazu ## Passt dazu umsetzung, audits & **tools** - [Bewertungen & Reviews.](https://www.siteway.de/expertise/bewertungen-reviews/) — Der Baustein, der die Befunde umsetzt: Bewertungen auf der Website einbinden, auszeichnen und aktiv einsammeln. weiterlesen → - [GEO-Audit.](https://www.siteway.de/expertise/geo-audit/) — Die Schwester-Diagnose: nicht wie über dich gesprochen wird, sondern ob KI-Systeme dich überhaupt nennen und zitieren. weiterlesen → - [Google Review Link.](https://www.siteway.de/tools/google-review-link/) — Direktlink zum Bewertungsformular deines Google-Profils erzeugen — der schnellste Weg zu neuen echten Bewertungen. zum tool → Wissen, was über dich im Netz steht? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-05 · schnittstellen # Schnittstellen & Integration **Schnittstellenentwicklung** heißt bei siteway: Wir binden CRM, Warenwirtschaft, Buchung und Payment über REST und SOAP an deine Website an. Daten laufen automatisch statt von Hand kopiert — mit sauberem Feld-Mapping, [Fehlerbehandlung](#betrieb) und Monitoring nach dem [Go-live](#ablauf). svc-05 einzeln buchbar protokolle: rest · soap output: api-anbindung [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist Schnittstellenentwicklung? **Schnittstellenentwicklung verbindet deine Website mit den Systemen, in denen deine Daten leben: CRM, Warenwirtschaft (ERP), Buchung und Payment.** Eine Schnittstelle (API) überträgt die Daten automatisch — in Echtzeit per Webhook oder im festen Takt per Cronjob. Das Ergebnis: keine Doppelpflege, keine Kopierfehler, überall derselbe Stand. Zur Anbindung gehört mehr als der API-Aufruf: ein Feld-Mapping, das festlegt, welches Datum wohin fließt, eine Fehlerbehandlung für den Tag, an dem das Zielsystem nicht antwortet, und ein Log, in dem du nachsiehst, was wann übertragen wurde. Welche Systeme überhaupt angebunden werden, klären wir am besten schon im [Konzept](https://www.siteway.de/expertise/konzept-strategie/). $ cat schnittstellen.md - ✓API-Sichtung & Feld-Mapping - ✓Anbindung rest · soap - ✓Auth oauth 2.0 · api-keys - ✓Sync webhook · cronjob - ✓Fehlerbehandlung & Logging - ✓Monitoring nach Go-live api-anbindung warum ## Schluss mit Copy & Paste daten fließen · **niemand kopiert** Ohne Schnittstellen ist die Website eine Insel. Leads aus dem Kontaktformular landen im Postfach und werden von Hand ins CRM getippt. Preise und Bestände stehen im ERP — und veralten auf der Website, bis jemand den Excel-Export macht. Jede Übertragung kostet Zeit, und jede zweite bringt einen Tippfehler mit. Eine **API-Anbindung** dreht das um: Die Systeme tauschen ihre Daten selbst aus, in beide Richtungen, nach festen Regeln. Deine Leute pflegen jeden Wert genau einmal — im System, das dafür gedacht ist. Und wenn ein Prozess dahinter noch Handarbeit ist, automatisieren wir ihn gleich mit: [KI & Automation](https://www.siteway.de/expertise/ki-automation/). woran du fehlende schnittstellen erkennst - 01Daten wandern per **Excel-Export** von A nach B - 02Preise & Bestände auf der Website **veralten** - 03Leads landen im **Postfach** statt im CRM - 04Dieselbe Änderung wird **dreimal gepflegt** leistung · 6 bausteine ## Was wir anbinden vom crm bis zum **alt-system** Sechs typische Anbindungen — jede mit greifbarem Ergebnis. Entscheidend ist nie der Name des Systems, sondern seine API. Die sichten wir, bevor wir ein Angebot schreiben. b-01crm ### CRM-Anbindung Leads aus Formularen laufen direkt ins CRM — z. B. HubSpot — mit Quelle, Kampagne und Double-Opt-in. Kein Abtippen, kein Lead geht verloren. output: crm-sync b-02erp ### ERP & Warenwirtschaft Produkte, Preise und Bestände kommen aus dem ERP auf die Website — und Bestellungen gehen zurück. Eine Quelle, keine Doppelpflege. output: erp-anbindung b-03payment ### Payment & Buchung Bezahl- und Buchungssysteme angebunden: Zahlung, Termin und Bestätigung in einem Fluss — inklusive Webhooks für Statusänderungen und Storno. output: payment-flow b-04pim + suche ### PIM, Produktdaten & Suche Produktdaten aus dem PIM, CAD-Daten über Cadenas, Suche mit Algolia. Ändert sich ein Produkt, aktualisieren sich Website und Suchindex von selbst. output: produktdaten-sync b-05eigene api ### Eigene REST-APIs Wenn kein Standard passt, bauen wir die Schnittstelle selbst: PHP/Laravel, dokumentiert, versioniert, mit Git und CI/CD ausgeliefert. output: rest-api b-06legacy ### Legacy & SOAP Viele ERP- und Branchensysteme sprechen weiter SOAP/XML statt REST/JSON. Wir bauen den Adapter dazwischen — das Alt-System bleibt, die Website wird modern. output: soap-adapter systemkatalog · diese apis haben wir im programm [alle details im stack →](https://www.siteway.de/stack/) crm, erp & warenwirtschaft hubspot · salesforce · weclapp · pipedrive · sap · dynamics 365 bc · evewa4 · pim · cadenas zahlung & payment stripe · kreditkarte · paypal · klarna · apple pay · google pay · wechat · alipay immobilien & bewertung openimmo · onoffice · flowfact · propstack · pricehubble recruiting & hr google for jobs · personio · rexx · p&i logahr · bite · sopea · hansalog vision newsletter & e-mail cleverreach · activecampaign · mailchimp · brevo · rapidmail social media meta · instagram · linkedin · youtube ki-instant search algolia · meilisearch künstliche intelligenz anthropic · openai · perplexity · open-source-modelle · self-hosted karten & geodaten google maps · mapbox entscheidung ## Standard-Connector oder individuelle Schnittstelle? die günstigste stufe, **die trägt** Nicht jede Anbindung braucht Individualentwicklung. Für **TYPO3, WordPress und Statamic** gibt es für viele Systeme fertige Connectoren — wenn einer gepflegt ist und deinen Prozess abdeckt, konfigurieren wir ihn und sind in Tagen fertig. Erst wenn Felder, Logik oder das System selbst nicht zum Standard passen, entwickeln wir selbst. Diese Prüfung gehört bei uns vor das Angebot, nicht danach. Du bekommst eine klare Empfehlung mit Begründung: welche Stufe reicht, was sie kostet, wo ihre Grenze liegt. Welche Systeme und Werkzeuge wir dafür einsetzen, steht im [Stack](https://www.siteway.de/stack/). drei stufen der anbindung - 01**Standard-Connector** → konfigurieren tage - 02**Connector + Anpassung** → erweitern 1–2 wochen - 03**Individuelle API** → entwickeln 2–6 wochen betrieb ## Robust im Betrieb eine schnittstelle ist gut, wenn sie **auffällt, bevor du es tust** Der Unterschied zwischen einer Demo und einer Anbindung, die Jahre läuft, liegt im Fehlerfall: Was passiert, wenn das ERP nachts nicht antwortet oder der API-Anbieter Felder umbenennt? Genau das spezifizieren wir vorab — und überwachen es nach dem Go-live im Rahmen von [Betrieb & Wartung](https://www.siteway.de/expertise/betrieb-wartung-support/). r-01sync ### Sync-Strategie Webhook für alles, was sofort passieren muss — Lead, Zahlung, Storno. Cronjob für Massendaten wie Preise und Bestände. Beides zusammen hält die Last klein und die Daten aktuell. webhook + cron r-02fehler ### Fehlerbehandlung & Monitoring Antwortet ein System nicht, wird der Auftrag zwischengespeichert und automatisch wiederholt — kein Datensatz geht verloren. Jeder Lauf steht im Log, Auffälligkeiten melden sich per Alert. retry + log + alert r-03sicherheit ### Sicherheit & Datensparsamkeit Übertragen wird verschlüsselt per HTTPS, authentifiziert über OAuth 2.0 oder API-Keys außerhalb des Codes. Und nur die Felder, die der Prozess braucht — nicht der ganze Datensatz. https + oauth 2.0 referenz ## Fünf Systeme, eine Website: Spelsberg typo3 · **13 sprachen** Für den Elektrotechnik-Hersteller Spelsberg haben wir eine TYPO3-Website mit 13 Sprachen gebaut, in der fünf Systeme über Schnittstellen zusammenlaufen: Produktdaten kommen aus dem **PIM**, CAD-Daten über **Cadenas**, die Suche läuft über **Algolia**, Marketing und Leads über **HubSpot**, HR-Prozesse über **Hansalog**. Kein Produkt wird auf der Website von Hand gepflegt: Ändert sich ein Datenblatt im PIM, steht es in allen Sprachen und im Suchindex — automatisch. Wie das Projekt insgesamt lief, steht im [Case Spelsberg](https://www.siteway.de/cases/spelsberg/). $ cat spelsberg.integrations - ✓PIM → produktdaten · 13 sprachen - ✓Cadenas → cad-daten - ✓Algolia → suche - ✓HubSpot → crm · marketing - ✓Hansalog → hr ablauf · 5 schritte ## So läuft die Anbindung erst spezifizieren · **dann entwickeln** 1. // schritt 01 · scoping Scoping & API-Sichtung. Welche Systeme, welche Datenflüsse, welche Richtung? Wir lesen die API-Dokumentation der Zielsysteme, bevor wir irgendetwas versprechen. output: briefing 2. // schritt 02 · spezifikation Spezifikation & Feld-Mapping. Welches Feld fließt wohin, was passiert bei Konflikten, was im Fehlerfall. Auf dieser Basis steht der Festpreis. output: schnittstellen-spec 3. // schritt 03 · entwicklung Entwicklung. Umsetzung in PHP/Laravel oder als CMS-Erweiterung — versioniert in Git, ausgeliefert über CI/CD, KI-gestützt entwickelt und von Menschen reviewt. output: api-anbindung 4. // schritt 04 · test Test auf Staging. Echte Testdaten, Grenzfälle, Ausfallszenarien: Was passiert bei Timeout, Duplikat, leerem Feld? Erst wenn das Protokoll sauber ist, geht es live. output: testprotokoll 5. // schritt 05 · go-live ● ergebnis Go-live & Monitoring. Die Anbindung geht in Betrieb — mit Logging, Alerts und Dokumentation. Auf Wunsch überwachen und pflegen wir sie danach weiter. output: monitoring faq ## Häufige Fragen ### Was ist eine API-Schnittstelle? Eine API (Application Programming Interface) ist eine definierte Stelle, an der zwei Systeme Daten austauschen. Deine Website fragt darüber zum Beispiel Bestände im ERP ab oder schreibt einen Lead ins CRM — automatisch, ohne dass jemand Daten kopiert. ### Welche Systeme bindet ihr an? CRM-Systeme wie HubSpot, Warenwirtschaft und ERP, PIM-Systeme, Buchungs- und Payment-Dienste, CAD-Portale wie Cadenas und Suchdienste wie Algolia. Bei Spelsberg laufen fünf Systeme über Schnittstellen in eine TYPO3-Website mit 13 Sprachen. Entscheidend ist nicht der Name des Systems, sondern seine API — die sichten wir vor dem Angebot. ### REST oder SOAP — was ist der Unterschied? REST ist der heutige Standard: schlanke Aufrufe, meist JSON über HTTPS. SOAP ist ein älteres XML-Protokoll, das viele ERP- und Branchensysteme weiterhin sprechen. Wir entwickeln mit beidem — entscheidend ist, was dein System anbietet, nicht was gerade modern ist. ### Was kostet eine Schnittstellenentwicklung? Festpreis nach Briefing. Der Preis hängt von drei Dingen ab: Qualität der API-Dokumentation des Zielsystems, Zahl der Datenfelder und Komplexität der Sync-Logik. Nach Sichtung der API-Doku nennen wir einen Preis und halten ihn im Vertrag fest. ### Wie lange dauert eine API-Anbindung? Ein Standard-Connector ist in Tagen konfiguriert. Eine individuelle Schnittstelle dauert meist zwei bis sechs Wochen — abhängig von der API-Dokumentation des Zielsystems, der Zahl der Datenfelder und der Testtiefe. ### Brauche ich eine individuelle Schnittstelle oder reicht ein Plugin? Wenn es für dein CMS einen gepflegten Standard-Connector gibt, der deinen Prozess abdeckt, nimm ihn. Individuelle Entwicklung lohnt sich erst, wenn Felder, Logik oder das System selbst nicht zum Standard passen. Wir empfehlen die günstigste Stufe, die trägt — und sagen dir vor dem Angebot, welche das ist. ### Was passiert, wenn das angebundene System ein Update bekommt? APIs ändern sich — Felder werden umbenannt, Versionen abgekündigt. Deshalb loggt unsere Anbindung jeden Fehler, das Monitoring meldet Auffälligkeiten, und im Rahmen von Betrieb und Wartung passen wir die Schnittstelle an, bevor Daten verloren gehen. ### Wie sicher ist die Datenübertragung? Übertragen wird verschlüsselt über HTTPS, authentifiziert per OAuth 2.0 oder API-Keys, die außerhalb des Codes liegen. Und wir übertragen nur die Felder, die der Prozess wirklich braucht — Datensparsamkeit steht in der Spezifikation, nicht nur in der Datenschutzerklärung. weiter im prozess ## Was nach der Anbindung kommt alle leistungen im **überblick** - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Monitoring, Updates und Anpassungen, wenn sich eine angebundene API ändert — damit die Daten weiterfließen. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Läuft die Technik, geht es um Sichtbarkeit: Rankings bei Google und Zitate in KI-Antworten. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Projekte mit PIM-, CRM- und Suchanbindung — von Spelsberg bis zu unseren weiteren Cases. zu den cases → Systeme verbinden? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · security # Security-Audit Du willst die **Website-Sicherheit prüfen** lassen, bevor jemand anders es tut. siteway schaut sich deinen Ist-Zustand an: TLS-Konfiguration, Security-Header wie CSP und HSTS, Cookie-Flags, veraltete Abhängigkeiten und bekannte Lücken (CVEs). Heraus kommt ein **security-report** — priorisiert, mit Aufwand und nächstem Schritt je Befund. audit audit: einzeln buchbar dauer: 3–5 werktage output: security-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Security-Audit? **Ein Security-Audit prüft den Ist-Zustand deiner Website auf Konfigurations- und Abhängigkeitsebene: TLS, Security-Header, Cookie-Flags, Versionsstände und bekannte Lücken.** Es beantwortet zwei Fragen: Was ist an deiner Website offen — und was davon musst du zuerst schließen? Der Unterschied zu einem kostenlosen Scanner ist nicht die Menge der Prüfpunkte, sondern das Urteil. Ein Tool liefert eine Note von A bis F. Ein Audit sagt dir, welcher der 14 roten Punkte deine Seite wirklich angreifbar macht, welcher nur kosmetisch ist und in welcher Reihenfolge du sie abarbeitest. Das Audit ist einzeln buchbar. Du bekommst den Report, egal ob wir danach etwas umsetzen oder nicht. Die laufende Absicherung — Updates, Patches, Monitoring — ist eine eigene Leistung: [Betrieb, Wartung & Support](https://www.siteway.de/expertise/betrieb-wartung-support/). $ cat security-report.md - ✓TLS-Konfiguration zertifikat · protokolle · cipher - ✓Security-Header csp · hsts · x-content-type-options - ✓Cookies & Sessions secure · httponly · samesite - ✓Abhängigkeiten cms · extensions · composer · npm - ✓Bekannte Lücken cve-abgleich - ✓Exponierte Pfade .env · backups · debug - ✓Befunde priorisiert kritisch → kosmetisch anlass ## Wann sich das Audit lohnt bots suchen nicht dich — **sie suchen versionen** Angriffe auf normale Business-Websites sind selten persönlich gemeint. Automatisierte Scanner klopfen Adresse für Adresse ab, ob dort eine bekannte Version mit einer bekannten Lücke läuft. Das Audit dreht die Reihenfolge um: Du weißt vorher, was sie finden würden. s-01übernahme ### Niemand weiß, was läuft Die Website wurde vor Jahren gebaut, die Agentur ist weg, die Dokumentation auch. Niemand kann sagen, welche Erweiterungen installiert sind und wann zuletzt jemand ein Update eingespielt hat. s-02scanner ### Ein Tool zeigt Rot Ein kostenloser Check hat euch ein F gegeben und eine Liste fehlender Header ausgespuckt. Jetzt liegt sie da — ohne dass jemand sagt, welcher Punkt gefährlich ist und wer ihn anfassen darf. s-03nachfrage ### Der Kunde fragt nach Ein Großkunde, eine Versicherung oder die eigene Compliance will wissen, wie es um die Sicherheit eurer Website steht. Ihr braucht eine belastbare Antwort statt eines Bauchgefühls. s-04relaunch ### Vor dem Relaunch Bevor eine neue Seite auf dieselbe alte Infrastruktur zieht, gehört der Unterbau geprüft. Ein Befundstand vor dem Umzug macht sichtbar, was der [Relaunch](https://www.siteway.de/expertise/relaunch-migration/) gleich mit erledigen sollte. s-05vorfall ### Etwas war schon Fremde Weiterleitungen, seltsame Dateien im Webroot, eine Warnung vom Hoster. Nach einem Vorfall muss klar sein, welche Tür offen stand — sonst steht sie nach der Bereinigung wieder offen. s-06wechsel ### Neuer Hoster, neues Setup Nach einem Umzug oder dem Einbau eines CDN kommen Header oft nicht mehr dort an, wo sie sollen. Was auf dem Server konfiguriert ist, muss beim Browser auch ankommen. prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Sechs Bereiche, defensiv geprüft. Vier davon lesen wir von außen aus — dafür reicht die URL. Für Abhängigkeiten und Versionen brauchen wir Einblick in die Installation, sonst bleibt der Report an der Oberfläche. p-01transport ### TLS-Konfiguration Zertifikat, Zertifikatskette und Laufzeit. Welche Protokollversionen der Server noch annimmt, welche Cipher er anbietet, ob HTTP sauber auf HTTPS weiterleitet und ob gemischte Inhalte die Verschlüsselung unterlaufen. befund: protokolle · cipher · redirect p-02header ### Security-Header Content-Security-Policy, HSTS, X-Content-Type-Options, frame-ancestors, Referrer-Policy, Permissions-Policy. Und die Frage, die kein Gratis-Tool stellt: Kommen die Header über CDN, Proxy und Server überhaupt konsistent beim Browser an? befund: csp · hsts · konsistenz p-03sessions ### Cookies & Sessions Tragen Session- und Login-Cookies die Flags Secure, HttpOnly und SameSite? Werden Sessions nach dem Login erneuert, laufen sie ab? Gerade bei [Login-Bereichen](https://www.siteway.de/expertise/login-mitgliederbereich/) entscheidet das über die Übernahme fremder Sitzungen. befund: secure · httponly · samesite p-04abhängigkeiten ### Abhängigkeiten CMS-Core, Erweiterungen, Themes, PHP-Version, Pakete aus Composer und npm. Wir listen auf, was installiert ist, wie alt es ist und was davon noch gepflegt wird — inklusive der Erweiterungen, die niemand mehr benutzt und trotzdem mitlaufen. befund: versionsstand + altlasten p-05cve ### Bekannte Lücken Die installierten Versionen gleichen wir mit Security-Advisories und CVE-Datenbanken ab. Entscheidend ist nicht die Zahl der Treffer, sondern welche Lücke deine Installation wirklich betrifft — und ob sie überhaupt erreichbar ist. befund: cve-liste · betroffen ja/nein p-06exposition ### Exponierte Pfade Was liegt öffentlich herum, das dort nicht hingehört: alte Backups, .env- und Konfigurationsdateien, offene Verzeichnislisten, Debug-Ausgaben, ungeschützte Admin-Logins, sprechende Fehlermeldungen mit Pfadangaben. befund: offene pfade + dateien mehrwert ## Was der Header-Score nicht sieht note ≠ **sicherheit** Die Suche nach „Website-Sicherheit prüfen“ führt zu Header-Scannern, die eine Note von A+ bis F vergeben. Die Tools sind gut — und ehrlich. Mozillas HTTP Observatory schreibt selbst in die FAQ, dass es **keine veralteten Softwareversionen und keine verwundbaren CMS-Plugins** prüft und ein A+ deshalb nicht „sicher“ bedeutet. Genau da beginnt das Audit. m-01blindstelle ### A+ und trotzdem offen Header-Scanner sehen nur die Antwort deines Servers, nicht die Software dahinter. Eine Seite mit perfekten Headern kann auf einer Erweiterung laufen, für die es seit zwei Jahren einen öffentlichen Exploit gibt. header + abhängigkeiten m-02rollout ### CSP ohne Scherbenhaufen Der häufigste Grund, warum keine Content-Security-Policy gesetzt ist: Beim ersten Versuch war die Seite kaputt. Der Report liefert deshalb keinen Copy-und-Paste-Header, sondern den Weg über Content-Security-Policy-Report-Only — Verstöße sammeln, Policy zuschneiden, dann scharf schalten. report-only → enforce m-03reihenfolge ### Reihenfolge statt Liste Ein Scanner wirft 30 rote Punkte aus, alle gleich laut. Im Report stehen sie sortiert: was heute gefährlich ist, was diesen Monat drankommt, was warten kann — und je Befund, wer ihn anfassen muss: Hoster, CMS oder Code. priorität + zuständigkeit output ## Was du bekommst der report **gehört dir** Du bekommst den **security-report**: ein Dokument, das man einem Hoster, einer internen IT oder einer anderen Agentur in die Hand drücken kann, ohne etwas zu erklären. Je Befund steht darin, was gefunden wurde, wo es liegt, was passieren kann, wie aufwendig die Behebung ist und was der nächste Schritt ist. Befunde sind in vier Stufen sortiert — von **kritisch** (jetzt) über **hoch** und **mittel** bis **kosmetisch** (kann warten). Dazu je Befund die Zuständigkeit: Server- und Hoster-Sache, CMS-Sache oder Code-Sache. Damit weiß am Ende jeder im Team, was er selbst erledigen kann. Dazu eine Stunde Durchsprache: Wir gehen den Report gemeinsam durch, du fragst nach, wir sortieren die ersten drei Schritte. Danach entscheidest du frei, wer umsetzt — wir, dein Hoster oder ihr selbst. $ head -6 befunde.md - 01 · Erweiterung mit bekannter Lücke priorität: kritisch · aufwand: gering · cms - 02 · Session-Cookie ohne HttpOnly priorität: hoch · aufwand: gering · code - 03 · Keine Content-Security-Policy priorität: hoch · aufwand: mittel · code - 04 · HSTS fehlt priorität: mittel · aufwand: gering · hoster - 05 · Altes Backup im Webroot priorität: kritisch · aufwand: gering · hoster - 06 · Referrer-Policy nicht gesetzt priorität: kosmetisch · aufwand: gering · hoster ablauf · 4 schritte ## So läuft das Audit 3–5 werktage bis zum **report** 1. // schritt 01 · briefing Umfang klären. Welche Domains, welches CMS, welches Hosting, gibt es Login-Bereiche oder Schnittstellen. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · scan Von außen auslesen. TLS, Header, Cookies und exponierte Pfade — automatisiert erhoben und anschließend von Hand geprüft, weil Scanner Fehlalarme produzieren. output: rohbefunde 3. // schritt 03 · abhängigkeiten Versionen abgleichen. Mit Lesezugriff auf composer.json, package.json und die Extension-Liste gleichen wir die Versionsstände gegen Advisories und CVE-Datenbanken ab. output: cve-abgleich 4. // schritt 04 · report ● ergebnis Report & Durchsprache. Befunde priorisiert, mit Aufwand, Zuständigkeit und nächstem Schritt. Eine Stunde gemeinsam durchgehen — danach gehört der Report dir. output: security-report faq ## Häufige Fragen ### Was ist ein Security-Audit für Websites? Ein Security-Audit prüft den Ist-Zustand deiner Website auf Konfigurations- und Abhängigkeitsebene: TLS-Konfiguration, Security-Header wie CSP und HSTS, Cookie-Flags, veraltete Versionen von CMS, Erweiterungen und Paketen sowie bekannte Lücken (CVEs). Ergebnis ist ein security-report mit priorisierten Befunden und konkreten nächsten Schritten — nicht nur eine Note von A bis F. ### Ist das Audit ein Penetrationstest? Nein. Wir prüfen Konfiguration, Versionen und Abhängigkeiten und lesen aus, was deine Website nach außen preisgibt. Wir greifen deine Systeme nicht an: kein Ausnutzen von Lücken, keine Brute-Force-Versuche, keine Datenextraktion, kein Social Engineering. Wenn du einen echten Penetrationstest brauchst — etwa für eine Zertifizierung oder eine Kundenanforderung — sagen wir das offen und du beauftragst dafür ein spezialisiertes Pentest-Team. Der security-report ist eine gute Vorarbeit dafür, weil er die offensichtlichen Baustellen vorher wegräumt. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie groß die Installation ist, welches CMS läuft und wie viele Umgebungen dazugehören, nennen wir einen Preis für das Audit und halten ihn fest. Keine Stundenabrechnung, keine Überraschung am Ende. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Du kannst ihn deinem Hoster, deiner internen IT oder einer anderen Agentur geben — er ist so geschrieben, dass jemand anders damit arbeiten kann: Befund, Ort, Aufwand, nächster Schritt. Wenn du willst, setzen wir die Befunde um oder übernehmen die laufende Absicherung über [Betrieb, Wartung & Support](https://www.siteway.de/expertise/betrieb-wartung-support/). Musst du aber nicht. ### Wie lange dauert das Audit und was braucht ihr von uns? Für eine normale Business-Website drei bis fünf Werktage. Den Großteil prüfen wir von außen — dafür reicht die URL. Für den Abhängigkeits- und Versionsteil brauchen wir Einblick in die Installation: Lesezugriff auf composer.json, package.json und die Extension- oder Plugin-Liste, alternativ ein Export. Ohne diesen Einblick bleibt der Report an der Oberfläche, und das sagen wir dann auch. ### Kann eine Content-Security-Policy unsere Website kaputt machen? Falsch eingeführt: ja. Eine zu strenge Policy blockiert Skripte, Fonts oder eingebettete Videos, und die Seite sieht plötzlich zerlegt aus. Deshalb steht im Report kein Copy-und-Paste-Header, sondern ein Weg: erst Content-Security-Policy-Report-Only mitlaufen lassen, die gemeldeten Verstöße sammeln, die Policy darauf zuschneiden — und erst dann scharf schalten. So merkt der Besucher vom Umbau nichts. ### Wie oft sollten wir die Sicherheit prüfen lassen? Ein Audit ist eine Momentaufnahme. Header und TLS bleiben stabil, bis jemand die Konfiguration anfasst — Abhängigkeiten altern dagegen jeden Monat weiter. Sinnvoll ist ein Audit vor einem Relaunch, nach einem Hoster- oder Agenturwechsel und danach etwa einmal im Jahr. Wer dauerhaft aktuell bleiben will, braucht kein jährliches Audit, sondern laufende Wartung mit Updates und Patches. passt dazu ## Passt dazu nach dem befund kommt die **umsetzung** - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Das Audit ist die Momentaufnahme. Updates, Patches, Backups und Monitoring halten den Stand — laufend, nicht einmal im Jahr. weiterlesen → - [Tech-Audit.](https://www.siteway.de/expertise/tech-audit/) — Der technische Zustand jenseits der Sicherheit: Code, Struktur, Rendering und Crawlbarkeit deiner Website. weiterlesen → - [DNS- & E-Mail-Audit.](https://www.siteway.de/expertise/dns-e-mail-audit/) — SPF, DKIM und DMARC gehören nicht in den security-report, sondern in ein eigenes Audit — damit niemand in deinem Namen mailt. weiterlesen → Wissen, was offen steht? [Audit anfragen](https://www.siteway.de/kontakt/) --- audit · seo # SEO-Audit Du willst ein **SEO-Audit erstellen lassen**, das nicht bei einem Punktestand aufhört. siteway prüft deine Website auf Crawling, Indexierung, OnPage-Faktoren und interne Verlinkung. Heraus kommt ein **OnPage-Report** mit priorisierter Maßnahmenliste: was kaputt ist, wo es steht, was es kostet, was es bringt. Die Umsetzung ist eine eigene Leistung — [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). Hier bekommst du die Diagnose. audit audit: einzeln buchbar dauer: 1–2 wochen output: onpage-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein SEO-Audit? **Ein SEO-Audit ist die systematische Prüfung einer bestehenden Website auf die Faktoren, die über Sichtbarkeit in der organischen Suche entscheiden: Crawling, Indexierung, OnPage-Faktoren und interne Verlinkung.** Es ist eine Diagnose — kein Umbau. Wir schauen uns deinen Ist-Zustand an und schreiben auf, was wir finden. Das Ergebnis ist ein Dokument, kein Gefühl: der OnPage-Report. Jeder Befund steht darin mit Fundstelle, mit einer Einschätzung von Aufwand und Wirkung und mit dem nächsten Schritt. Sortiert nach Priorität, damit dein Team oben anfängt und nicht bei den Bild-Alternativtexten. Der Report gehört dir — auch wenn du danach nichts weiter bei uns beauftragst. $ cat onpage-report.md - ✓Befunde kritisch · wichtig · optional - ✓Fundstelle je Befund url-liste - ✓Aufwand & Wirkung je maßnahme - ✓Zuständigkeit redaktion · code · cms - ✓Index-Abgleich sitemap ↔ google - ✓Maßnahmenliste in reihenfolge anlass ## Wann lohnt sich ein SEO-Audit? erst messen, **dann bauen** Der häufigste Anlass ist ein Verdacht: Die Seiten sind da, die Texte sind geschrieben, trotzdem passiert nichts. Bevor jemand Budget in neue Inhalte oder eine neue Website steckt, klärt das Audit die banale Frage zuerst — kommt Google überhaupt an deine Seiten heran und stehen sie im Index? In der Praxis liegen die Ursachen selten dort, wo man sie vermutet. Ein `noindex` aus der Testphase, ein Canonical, das alle Unterseiten auf die Startseite zeigen lässt, eine Navigation, die die wichtigen Seiten fünf Klicks tief vergräbt: Solche Befunde kosten nichts in der Reparatur und viel im Bestand. Auch vor einem [Relaunch](https://www.siteway.de/expertise/relaunch-migration/) lohnt der Blick — sonst nimmst du die Fehler in die neue Seite mit. typische symptome - 01Rankings **eingebrochen**, Ursache unklar - 02Seiten stehen **nicht im Index** - 03Traffic ja, aber nicht auf den **Geldseiten** - 04Neue Inhalte bleiben **wirkungslos** - 05Relaunch geplant — **Altlasten unbekannt** prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Sechs Bereiche, in dieser Reihenfolge — sie bauen aufeinander auf. Was nicht gecrawlt wird, wird nicht indexiert. Was nicht im Index steht, rankt nicht. Und was rankt, aber intern nicht verlinkt ist, bleibt schwach. Jeder Bereich landet als eigener Abschnitt im Report. p-01zugang ### Crawling robots.txt, Statuscodes, Weiterleitungsketten, Sackgassen. Wir crawlen deine Website wie eine Suchmaschine und sehen, wo der Crawler hängen bleibt, im Kreis läuft oder gar nicht erst durchkommt. befund: crawl-protokoll p-02index ### Indexierung Wir gleichen Sitemap, Index und Search Console ab: Welche Seiten stehen bei Google, welche fehlen, welche stehen drin, obwohl sie es nicht sollten. Dazu `noindex`, Canonicals und doppelte URLs. befund: index-abgleich p-03onpage ### OnPage-Faktoren Title, Description, Überschriften-Hierarchie, Bild-Alternativtexte — und vor allem die Frage, welche URL für welches Thema zuständig ist. Wir liefern die OnPage-Matrix je Seite, nicht nur eine Fehlerzahl. befund: onpage-matrix p-04struktur ### Interne Verlinkung Klicktiefe, verwaiste Seiten, Ankertexte, Linkverteilung. Wir zeigen, welche Seiten intern Gewicht bekommen — und ob das die Seiten sind, mit denen du Geld verdienst. Meist ist es das nicht. befund: link-graph p-05konkurrenz ### Kannibalisierung Drei Seiten, ein Thema — und Google entscheidet selbst, welche es zeigt. Wir finden konkurrierende URLs und schlagen vor, welche das Thema führt, welche zuarbeitet und welche zusammengelegt oder weitergeleitet wird. befund: url ↔ thema p-06echte daten ### Search-Console-Abgleich Die einzigen Daten, die zeigen, was Google wirklich tut: Abdeckungsfehler, Seiten mit Impressionen ohne Klicks, Suchanfragen ohne passende Landingpage. Damit prüfen wir jede Vermutung gegen die Realität. befund: gsc-auswertung mehrwert ## Ein Score ist kein Maßnahmenplan 142 fehler — **und jetzt?** Wer nach einem SEO-Check sucht, landet zuerst bei kostenlosen Tools. Die sind nützlich, und wir betreiben selbst welche — unter [Tools](https://www.siteway.de/tools/) findest du PageSpeed-Check, PageRank-Check und Local SERPs, ohne Anmeldung. Nur enden sie alle an derselben Stelle: Du bekommst eine Liste mit 142 Fehlern und einen Punktestand. Was davon dein Ranking bremst, was Kosmetik ist und womit dein Team am Montag anfängt, steht nirgends. Genau diese Lücke füllt das Audit. t-01bewertung ### Fehler haben Gewicht Ein fehlender Alt-Text auf einer Seite ohne Traffic ist kein Problem. Ein Canonical auf der Leistungsseite, die 60 % deiner Anfragen bringt, ist eins. Wir bewerten jeden Befund an der Seite, auf der er steht. kritisch · wichtig · optional t-02reihenfolge ### Aufwand gegen Wirkung Jede Maßnahme bekommt eine grobe Aufwandsschätzung und eine erwartete Wirkung. Daraus entsteht die Reihenfolge: erst das, was wenig kostet und viel bringt. Kein Tool kann diese Abwägung für dich treffen. priorisierte liste t-03zuständigkeit ### Wer macht was Je Befund steht dabei, wo er repariert wird: im CMS, im Template-Code oder in der Redaktion. Das ist der Unterschied zwischen einem Report, der im Ordner liegt, und einem, der abgearbeitet wird. redaktion · cms · code ergebnis ## Was du bekommst der report **gehört dir** Du bekommst den OnPage-Report als Dokument plus die Rohdaten als Tabelle — die URL-Listen, gegen die dein Team arbeiten kann. Kein Dashboard-Zugang, der abläuft, sondern Dateien, die du behältst. Dazu ein Termin: Wir gehen den Report mit dir und deinem Team durch, beantworten Rückfragen und klären, was intern machbar ist und was nicht. Danach entscheidest du frei. Du kannst die Liste selbst abarbeiten, sie an deine Agentur geben oder die Umsetzung bei uns beauftragen — [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) ist die passende Leistung dazu, aber keine Bedingung. Und weil ein ehrliches Audit auch seine Grenzen nennt: Wir prüfen OnPage. Was außerhalb liegt, benennen wir, aber wir tun nicht so, als hätten wir es geprüft. Backlinks gehören ins [Backlink-Audit](https://www.siteway.de/expertise/backlink-audit/), Ladezeit und Core Web Vitals ins [PageSpeed-Audit](https://www.siteway.de/expertise/page-speed-audit/), Sichtbarkeit in ChatGPT und den AI Overviews ins [GEO-Audit](https://www.siteway.de/expertise/geo-audit/), die Schema.org-Auszeichnung ins [Audit für strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten-audit/). Auch ein Audit ersetzt keine Garantie auf Rankings — es sagt dir, was dich aktuell bremst. lieferumfang - 01**OnPage-Report** mit allen Befunden - 02**Maßnahmenliste**, priorisiert - 03**URL-Listen** als Tabelle - 04**Durchsprache** mit deinem Team - 05Keine Bindung an eine **Umsetzung** ablauf · 4 schritte ## So läuft das Audit bis zum **report** 1. // schritt 01 · briefing Briefing & Zugänge. Wir klären Ziel, Umfang und deine wichtigen Seiten und holen Lesezugriff auf die Search Console. Danach steht der Festpreis. output: scope + festpreis 2. // schritt 02 · daten Crawl & Abgleich. Wir crawlen die Website, ziehen Search-Console-Daten und gleichen Sitemap, Index und Realität gegeneinander ab. output: rohdaten + url-listen 3. // schritt 03 · bewertung Bewerten & priorisieren. Jeder Befund wird an deinen Zielen gemessen: Aufwand, Wirkung, Zuständigkeit. Der Teil, den kein Tool übernimmt. output: maßnahmenliste 4. // schritt 04 · übergabe ● ergebnis Report & Durchsprache. Du bekommst den OnPage-Report samt Tabellen und wir gehen ihn mit deinem Team durch. Ab da entscheidest du, was passiert. output: onpage-report faq ## Häufige Fragen ### Was ist ein SEO-Audit? Ein SEO-Audit ist die systematische Prüfung einer bestehenden Website auf die Faktoren, die über Sichtbarkeit in der organischen Suche entscheiden: Crawling, Indexierung, OnPage-Faktoren und interne Verlinkung. Es ist eine Diagnose, keine Umsetzung. Ergebnis ist ein OnPage-Report mit priorisierter Maßnahmenliste — je Befund mit Fundstelle, Aufwand, Wirkung und nächstem Schritt. ### Was kostet das Audit? Festpreis nach Briefing. Der Preis hängt vor allem an der Größe der Website — 40 Seiten sind ein anderer Aufwand als ein Shop mit 12.000 URLs. Sobald Seitenzahl, System und Ziel feststehen, nennen wir einen Festpreis und halten ihn fest. Keine Tagessätze, keine offene Rechnung am Ende. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Du kannst ihn intern abarbeiten, an deine bestehende Agentur geben oder liegen lassen. Das Audit ist einzeln buchbar und endet mit der Übergabe. Wenn du willst, übernehmen wir die Umsetzung als Leistung [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) — das ist eine eigene Beauftragung und keine Bedingung. ### Wie lange dauert ein SEO-Audit? In der Regel ein bis zwei Wochen ab Zugängen. Eine überschaubare Business-Website ist schneller durch, ein großer Shop mit Filter-URLs und Parametern braucht länger — vor allem, weil die Bewertung der Befunde Zeit kostet, nicht der Crawl. ### Was ist der Unterschied zwischen einem SEO-Audit und einem kostenlosen SEO-Check-Tool? Ein Tool zählt Fehler und vergibt einen Score. Es weiß aber nicht, welche deiner Seiten Geld verdienen, welcher Befund dein Ranking wirklich bremst und was in welcher Reihenfolge dran ist. Genau das macht das Audit: Wir bewerten jeden Befund nach Aufwand und Wirkung und sortieren ihn in eine Reihenfolge, die deine Redaktion und deine Entwickler abarbeiten können. ### Prüft ihr im SEO-Audit auch Backlinks, Ladezeit und KI-Sichtbarkeit? Nein — das SEO-Audit bleibt bei OnPage: Crawling, Indexierung, Seitenfaktoren, interne Links. Backlinks prüfen wir im [Backlink-Audit](https://www.siteway.de/expertise/backlink-audit/), Ladezeit und Core Web Vitals im [PageSpeed-Audit](https://www.siteway.de/expertise/page-speed-audit/), die Sichtbarkeit in ChatGPT, Perplexity und den AI Overviews im [GEO-Audit](https://www.siteway.de/expertise/geo-audit/), Schema.org-Auszeichnung im [Audit für strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten-audit/). Wir sagen im Report, wenn ein Befund in eines dieser Nachbargebiete zeigt. ### Welche Zugänge braucht ihr für das Audit? Idealerweise Lesezugriff auf die Google Search Console — das sind die einzigen echten Daten darüber, was Google mit deinen Seiten macht. Analytics hilft, ist aber optional. Ohne Zugänge geht es auch: Dann arbeiten wir mit eigenem Crawl und öffentlich sichtbaren Daten, verlieren aber den Abgleich mit den tatsächlichen Suchanfragen. Wir sagen dir vorher, was dadurch fehlt. passt dazu ## Passt dazu audits & **leistungen** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Das Audit findet die Baustellen — diese Leistung räumt sie ab: technisches SEO, Inhalte, Auszeichnung, Sichtbarkeit in KI-Antworten. weiterlesen → - [GEO-Audit.](https://www.siteway.de/expertise/geo-audit/) — Die Schwester-Prüfung: Wie sichtbar und zitierfähig bist du in ChatGPT, Perplexity und den Google AI Overviews? weiterlesen → - [PageSpeed-Check.](https://www.siteway.de/tools/pagespeed-check/) — Erste Zahlen selbst holen: Core Web Vitals deiner Seite messen, ohne Anmeldung. Die Deutung kommt im Audit. zum tool → Wissen, was deine Website bremst? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-06 · seo + geo # SEO & GEO **SEO und GEO** heißt bei siteway: Technisches SEO bringt dich in die Google-Rankings, Generative Engine Optimization in die Antworten von ChatGPT, Perplexity und Google AI Overviews. Wir bauen strukturierte Daten, zitierfähige Inhalte und eine llms.txt — und messen beides: [Rankings und AI-Citations](#messung). svc-06 betreuung: laufzeitvertrag start: audit in 1–2 wochen output: rankings + ai-citations [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist der Unterschied zwischen SEO und GEO? **SEO (Search Engine Optimization) macht eine Website in Suchmaschinen wie Google sichtbar — das Ziel sind Rankings und Klicks. GEO (Generative Engine Optimization) macht Inhalte für KI-Systeme wie ChatGPT, Perplexity und Google AI Overviews zitierfähig — das Ziel ist die Erwähnung in der KI-Antwort selbst.** Beides zusammen entscheidet, ob dich Kunden finden: über das Suchergebnis oder über die Antwort darüber. Das Gute: SEO und GEO konkurrieren nicht, sie teilen sich das Fundament. Saubere Technik, [schnelle Ladezeiten](https://www.siteway.de/expertise/performance-core-web-vitals/), [strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/) und Inhalte mit klaren Aussagen zahlen auf beides ein. Deshalb bieten wir es als eine Leistung an — aufsetzend auf dem Keyword-Konzept aus [Konzept & Strategie](https://www.siteway.de/expertise/konzept-strategie/). $ cat seo-geo.md - ✓Technisches SEO-Audit crawling · index - ✓Strukturierte Daten schema.org - ✓Keywords & Content-Optimierung - ✓Zitierfähige Inhalte e-e-a-t - ✓llms.txt & Crawler-Zugänge - ✓Monitoring rankings + ai-citations warum ## Ein Ranking ist nur die halbe Sichtbarkeit gefunden werden — und **zitiert werden** Immer mehr Suchanfragen enden ohne Klick: Google beantwortet sie direkt im AI Overview, ChatGPT und Perplexity gleich im Chat. Wer dort nicht als Quelle auftaucht, ist für diese Nutzer unsichtbar — egal wie gut das klassische Ranking ist. Umgekehrt gilt: Die KI-Systeme bedienen sich aus den Suchindizes. Ohne solides SEO gibt es auch kein GEO. Deshalb optimieren wir beides in einem Durchgang. Und das wirkt messbar: Die Princeton-Studie, die den Begriff **Generative Engine Optimization** geprägt hat, zeigt bis zu 40 % mehr Sichtbarkeit in KI-Antworten — allein durch zitierfähige Inhalte mit Quellen, Zahlen und klaren Aussagen. Genau die Sorte Inhalte, die wir bauen. sichtbarkeit in ki-antworten▸ geo - 01**Quellen** nennen und verlinken - 02**Zahlen & Statistiken** einbauen - 03**Zitate** und klare Aussagen formulieren quelle: „GEO: Generative Engine Optimization", Princeton et al., KDD 2024 leistung · 6 bausteine ## Was SEO & GEO bei siteway umfasst vom audit bis zur **ai-citation** Sechs Bausteine, ein Ziel: eine Website, die Google rankt und KI-Systeme zitieren. Jeder Baustein hat ein greifbares Artefakt — kein Maßnahmen-Nebel, sondern Dateien und Reports, die du sehen kannst. b-01audit ### Technisches SEO-Audit Crawling, Indexierung, interne Verlinkung, Core Web Vitals (LCP unter 2,5 s). Wir prüfen, was Google und KI-Crawler von deiner Seite sehen — und was sie ausbremst. output: audit-report b-02daten ### Strukturierte Daten Schema.org-JSON-LD je Seitentyp: Organisation, Leistungen, FAQs, Breadcrumbs. Maschinen lesen deine Seite dann nicht nur — sie verstehen, wer du bist und was du anbietest. output: json-ld b-03content ### Keywords & Content Keyword-Set nach Suchintention, Titles und Snippets, Inhalte mit klarem Fokus je Seite. Eine Seite, eine Suchintention — statt Ratgeber-Bloat, der alles ein bisschen beantwortet. output: content-map b-04geo ### Zitierfähige Inhalte Klare Aussagen in den ersten Sätzen, belegte Zahlen, Definitionen und FAQ-Strukturen — Inhalte, die eine KI wörtlich als Quelle übernehmen kann. output: geo-content b-05zugang ### llms.txt & Crawler-Zugänge Wir steuern über robots.txt, welche KI-Crawler deine Seite lesen dürfen, und legen eine llms.txt an — den kuratierten Überblick deiner wichtigsten Inhalte für Sprachmodelle. output: llms.txt b-06messung ### Monitoring & Reporting Rankings aus der Search Console, KI-Traffic aus der Webanalyse, Citation-Checks in ChatGPT & Co. Ein Report, drei Sichtbarkeiten — und klare nächste Schritte. output: report geo konkret ## So kommen deine Inhalte in KI-Antworten kis zitieren passagen · **nicht seiten** KI-Systeme übernehmen keine ganzen Seiten, sondern einzelne Passagen: die Definition, die Zahl, den einen Satz, der die Frage beantwortet. Deshalb optimieren wir nicht „die Website für KI", sondern jede wichtige Passage — nach vier Prinzipien. g-01antwort zuerst ### Die ersten 50 Wörter Die Kernaussage steht am Anfang jedes Abschnitts: erst die Definition, dann die Details. Was in den ersten Sätzen nicht beantwortet wird, zitiert auch keine KI. antwort vor argument g-02belegbar ### Zahlen statt Behauptungen Sprachmodelle bevorzugen belegte Aussagen: Standards wie WCAG 2.2, Schwellen wie LCP unter 2,5 s, Daten aus echten Projekten. Wer nichts belegt, wird nicht zitiert. fakten + quellen g-03eindeutig ### Klare Entitäten Wer bist du, was bietest du, für wen? Konsistente Angaben zu Marke, Leistungen und Standort — im Text und im JSON-LD. So ordnet dich das Sprachmodell richtig ein, statt zu raten. entity + json-ld g-04vertrauen ### E-E-A-T sichtbar machen Experience, Expertise, Authoritativeness, Trust: Google und Sprachmodelle bevorzugen Quellen, die zeigen, wer schreibt und woher das Wissen kommt. Autorenprofile mit echter Projekterfahrung, belegte Zahlen und konsistente Firmenangaben machen genau das nachweisbar. autorenprofil + belege tempo ## PageSpeed zahlt aufs Ranking ein gemessen mit lighthouse · **bei jedem release** Die Core Web Vitals sind ein Rankingfaktor — und eine Eintrittskarte: Langsame Seiten crawlen Google und KI-Bots seltener, Besucher springen ab, bevor der Inhalt überhaupt lädt. Deshalb gehört PageSpeed bei uns zur Suchmaschinenoptimierung, nicht zur Kür danach. Wir optimieren auf die „guten" Schwellen: **LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1**. Dass das keine Theorie ist, zeigt diese Website: Unsere Startseite erreicht bei PageSpeed Insights **100/100/100/100 auf Mobilgeräten** — Performance, Accessibility, Best Practices und SEO. Wie wir dahin kommen, steht bei [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/). zielwerte lcp: < 2,5 s inp: < 200 ms cls: < 0,1 diese seite: psi 100/100/100/100 messung ## Messbar statt gefühlt viele reden über geo · **wir messen es** GEO ohne Messung ist Hoffnung. Wir legen vor der ersten Maßnahme eine Messbasis an und tracken danach drei Kennzahlen — damit du siehst, was die Optimierung bringt, statt es zu glauben. m-01rankings ### Rankings & Klicks Positionen, Impressionen und Klicks aus der Google Search Console plus Rank-Tracking für deine wichtigsten Keywords. Der klassische SEO-Blick — Monat für Monat vergleichbar. gsc + rank-tracking m-02ki-traffic ### KI-Traffic Besucher, die aus KI-Antworten kommen, tauchen als Referrals von chatgpt.com, perplexity.ai & Co. in der Webanalyse auf. Wir filtern sie sauber heraus und beobachten den Trend. referral-segmente m-03citations ### Citation-Checks Wir stellen KI-Systemen regelmäßig die Fragen deiner Kunden und protokollieren: Wirst du genannt? Als Quelle verlinkt? Mit welcher Aussage? Das zeigt, wo GEO greift — und wo noch nicht. prompt-protokoll tools · kostenlos ## Prüf deine Sichtbarkeit selbst ohne anmeldung · **ohne tracking** Du musst uns nicht glauben, wo du stehst — miss es. Zwei unserer Tools liefern dir den Ist-Zustand in wenigen Sekunden, direkt im Browser: Rankings und KI-Sichtbarkeit mit dem PageRank-Check, Ladezeit und Core Web Vitals mit dem PageSpeed-Check. tool-01 · rankings + ki kostenlos ### PageRank-Check Eine Abfrage, vier Antworten: der Sichtbarkeitsindex deiner Domain (Sistrix), die Zahl deiner organischen Keywords im Google-Index, deine Position zu einem Wunsch-Keyword — und wie oft deine Marke in getrackten KI-Antworten auftaucht. - ✓Sichtbarkeitsindex & Keywords im Google-Index - ✓Ranking-Position zu deinem Wunsch-Keyword - ✓KI-Erwähnungen deiner Marke ai overviews · chatgpt · perplexity [→ pagerank-check starten](https://www.siteway.de/tools/page-rank-check/)  *// siteway · page-rank-check — live-abfrage für siteway.de*  *// siteway · pagespeed-check — crawl über 36 seiten, mobil* tool-02 · tempo kostenlos ### PageSpeed-Check Der PageSpeed-Check crawlt deine Website Seite für Seite und misst Ladezeit und Core Web Vitals. So siehst du vor der Optimierung, wo du stehst, und danach schwarz auf weiß, was sie gebracht hat. - ✓Core Web Vitals je Seite lcp · inp · cls - ✓Crawl über die ganze Website, mobil & desktop - ✓Export als CSV für den Vorher-nachher-Vergleich [→ pagespeed-check starten](https://www.siteway.de/tools/pagespeed-check/) betreuung ## Betreuung statt Projekt sichtbarkeit ist ein **laufender prozess** SEO und GEO fließen bei siteway in jedes Website-Projekt ein — saubere Technik, strukturierte Daten und zitierfähige Inhalte gehören zum Standard, nicht zur Zusatzoption. Aber Sichtbarkeit ist kein Zustand, den man einmal herstellt: Google ändert seine Systeme, KI-Antworten ihre Quellen, dein Wettbewerb seine Inhalte. Deshalb sind unsere SEO- & GEO-Verträge **Laufzeitverträge**: Wir liefern kontinuierlich neue Inhalte, monitoren Rankings, KI-Citations und Technik — und verbessern fortlaufend, was die Zahlen zeigen. Nicht als Projekt mit Enddatum, sondern als Betreuung, die mit deiner Sichtbarkeit wächst. Den Umfang legen wir im Briefing fest. $ cat betreuung.md - ✓Neue Inhalte, kontinuierlich content-plan - ✓Monitoring rankings · citations · cwv - ✓Verbesserungen aus den Zahlen nachschärfen - ✓Regelmäßige Reports drei sichtbarkeiten - ✓Fester Ansprechpartner laufzeitvertrag ablauf · 6 schritte ## So läuft die Optimierung erst messen · dann bauen · **dann belegen** 1. // schritt 01 · audit Audit & Messbasis. Technik-Audit, Keyword-Ist-Zustand und erste Citation-Checks. Wir halten fest, wo du stehst — bei Google und in den KI-Antworten. output: audit-report 2. // schritt 02 · technik + tempo Technik- & PageSpeed-Fixes. Indexierung, interne Verlinkung, sauberes Markup — und die Core Web Vitals in den grünen Bereich: LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1, gemessen mit Lighthouse. Die Basis, auf der jede weitere Maßnahme aufsetzt. output: fixes + cwv grün 3. // schritt 03 · daten Strukturierte Daten & llms.txt. Schema.org-JSON-LD je Seitentyp, Crawler-Steuerung in der robots.txt und eine llms.txt für Sprachmodelle. output: json-ld + llms.txt 4. // schritt 04 · content Content-Optimierung. Zitierfähige Passagen, FAQs, Definitionen und belegte Zahlen — Seite für Seite, priorisiert nach Potenzial aus dem Audit. output: content live 5. // schritt 05 · monitoring Messen & Nachschärfen. Rankings, KI-Traffic und Citations gegen die Messbasis aus Schritt 01. Was funktioniert, bauen wir aus — was nicht, ändern wir. output: report 6. // schritt 06 · betreuung ● laufend Laufende Betreuung. Ab hier wird aus dem Projekt ein [Laufzeitvertrag](#betreuung): kontinuierlich neue Inhalte, Monitoring von Rankings, Citations und Technik — und Verbesserungen, sobald die Zahlen sie nahelegen. Schritt 03 bis 05 wiederholen sich, geplant statt anlassgetrieben. output: content + reports, laufend faq ## Häufige Fragen ### Was ist der Unterschied zwischen SEO und GEO? SEO optimiert eine Website für Rankings in Suchmaschinen wie Google — das Ziel ist der Klick auf dein Suchergebnis. GEO (Generative Engine Optimization) optimiert Inhalte dafür, dass KI-Systeme wie ChatGPT, Perplexity oder Google AI Overviews sie als Quelle zitieren. Beide bauen auf derselben Grundlage auf: saubere Technik, klare Struktur und belegbare Inhalte. ### Ersetzt GEO das klassische SEO? Nein. KI-Systeme greifen für ihre Antworten auf Suchindizes zurück — wer bei Google und Bing gut rankt, wird auch häufiger zitiert. SEO bleibt das Fundament, GEO baut darauf auf. Deshalb behandeln wir beides als eine Leistung, nicht als zwei. ### Was ist Generative Engine Optimization (GEO)? GEO umfasst alle Maßnahmen, mit denen Inhalte in den Antworten generativer KI-Systeme auftauchen: klare, zitierfähige Aussagen, belegte Zahlen, strukturierte Daten und offene Crawler-Zugänge. Der Begriff geht auf eine Princeton-Studie von 2024 zurück, die zeigte, dass sich die Sichtbarkeit in KI-Antworten mit diesen Methoden um bis zu 40 Prozent steigern lässt. ### Wie kommt meine Website in ChatGPT und Google AI Overviews? Drei Voraussetzungen: Die KI-Crawler dürfen deine Seite lesen (robots.txt, llms.txt), die Inhalte beantworten konkrete Fragen in den ersten Sätzen, und die Aussagen sind belegt und aktuell. Dazu kommt klassische Autorität — wer in den Top-Ergebnissen von Google und Bing steht, wird deutlich öfter zitiert. ### Was ist eine llms.txt? Eine llms.txt ist eine Textdatei im Root-Verzeichnis der Website, die KI-Systemen einen kuratierten Überblick über die wichtigsten Inhalte gibt — vergleichbar mit einer Sitemap, nur für Sprachmodelle. Sie ergänzt robots.txt und strukturierte Daten, ersetzt sie aber nicht. ### Wie messt ihr den Erfolg von SEO und GEO? Mit drei Kennzahlen: Rankings und Klicks aus der Google Search Console, KI-Traffic aus den Referral-Daten der Webanalyse (chatgpt.com, perplexity.ai) und regelmäßige Citation-Checks — wir prüfen, ob und wie KI-Systeme deine Inhalte bei relevanten Fragen zitieren. Du bekommst einen Report, der alle drei zusammenführt. ### Was kostet SEO & GEO? SEO- und GEO-Betreuung läuft bei uns als Laufzeitvertrag mit fester Pauschale: Neue Inhalte, Monitoring und fortlaufende Verbesserungen sind enthalten. Den Umfang legen wir nach Briefing fest — du weißt vorher, was es kostet. Das einmalige Audit zum Start kalkulieren wir nach Umfang der Website. ### Wie schnell wirken SEO- und GEO-Maßnahmen? Technische Fixes und strukturierte Daten wirken oft innerhalb weniger Wochen, sobald Google neu crawlt. Content-Rankings brauchen je nach Wettbewerb drei bis sechs Monate. KI-Systeme reagieren teils schneller: Perplexity und die ChatGPT-Suche greifen auf aktuelle Indizes zu und zitieren neue Inhalte manchmal schon nach Tagen. ### Was bedeutet E-E-A-T und warum ist es für SEO und GEO wichtig? E-E-A-T steht für Experience, Expertise, Authoritativeness und Trust — Googles Kriterien für vertrauenswürdige Inhalte. Auch Sprachmodelle bevorzugen Quellen, die zeigen, wer schreibt und woher das Wissen kommt. Sichtbar wird E-E-A-T durch Autorenprofile mit echter Projekterfahrung, belegte Zahlen statt Behauptungen und konsistente Firmenangaben auf der ganzen Website. weiter im prozess ## Was auf die Sichtbarkeit einzahlt alle leistungen im **überblick** - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Sichtbarkeit lebt von Pflege: ein CMS, in dem deine Redaktion Inhalte aktuell hält — ohne uns anzurufen. weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Schema.org-Markup für Organisation, Leistungen, FAQ und Breadcrumbs — die Grundlage für Rich Snippets und zitierfähige Inhalte. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites, die ranken und zitiert werden — unsere Cases, vom Mittelstand bis zum Konzern. zu den cases → Sichtbar werden — bei Google und in KI-Antworten? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · e-commerce # Shop & E-Commerce Shop & E-Commerce ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus deinem Sortiment wird ein **Onlineshop**, den du bei uns erstellen lassen kannst statt selbst zu basteln: Produktkatalog bis zur Kasse, in [dein CMS](https://www.siteway.de/expertise/cms-redaktion/) eingebaut, an [Warenwirtschaft und Payment](https://www.siteway.de/expertise/schnittstellen-integration/) angebunden. komponente baustein: einzeln buchbar shop: woocommerce · shopware · shopify output: product-schema + checkout [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist ein Onlineshop? **Ein Onlineshop ist der Teil einer Website, auf dem Kunden Produkte finden, in den Warenkorb legen und bezahlen — vom Katalog bis zur bestätigten Bestellung.** Als Komponente gebaut, ist er kein fertiger Baukasten, sondern ein Baustein, den wir in dein CMS einbauen und an deine Systeme anschließen. Der Unterschied zur Baukasten-Lösung: Dein Shop läuft im selben System wie der Rest der Seite, spricht mit deiner Warenwirtschaft und liefert jedes Produkt maschinenlesbar aus. Brauchst du keine Kasse, reicht der [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/); verkaufst du Downloads oder Abos, ist [Digitale Produkte, Abo & Payment](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) der passende Baustein. $ cat shop-e-commerce.md - ✓Produktkatalog varianten · filter - ✓Warenkorb & Checkout - ✓Payment stripe · paypal · klarna - ✓Steuer & Versand - ✓Warenwirtschaft angebunden - ✓Product-Schema offer · rating warum ## Der Shop gehört in die Website ein system · **nicht zwei** Viele Unternehmen betreiben Website und Shop als zwei getrennte Systeme — mit doppeltem Login, doppelter Pflege und einem Bruch im Design, sobald jemand auf „Kaufen" klickt. Als Komponente eingebaut, ist der Shop Teil deiner Seite: gleiche Optik, gleiches CMS, ein Ort für Inhalt und Verkauf. Das zahlt sich doppelt aus. Deine Redaktion pflegt Produkte im gewohnten Backend, und jede Produktseite ist zugleich eine Landingpage, die über [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) gefunden wird. Preise und Bestände kommen aus der Warenwirtschaft, statt von Hand nachgetragen zu werden — die Verbindung baut unsere Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). was der baustein bringt - 01Ein **System** für Inhalt & Verkauf - 02Produktseiten als **Landingpages** - 03Bestände aus der **Warenwirtschaft** - 04Rich Results durch **Product-Schema** baustein · 6 funktionen ## Was die Komponente kann vom katalog bis zur **kasse** Wir bauen sechs Funktionen in dein CMS ein — kein loses Shop-Plugin, sondern eine Kette vom Produkt bis zur bestätigten Bestellung, die deine Redaktion pflegt und Suchmaschinen wie KI-Systeme lesen können. Jede Funktion hat ein greifbares Ergebnis. f-01katalog ### Produktkatalog Produkte mit Varianten, Bildern, Preisen und Kategorien — durchsuchbar und filterbar. Die Basis, auf der alles Weitere aufbaut; Bilder liefern wir als AVIF und WebP aus. output: produkte + filter f-02warenkorb ### Warenkorb Artikel sammeln, Mengen ändern, Gutscheine einlösen. Der Warenkorb übersteht Seitenwechsel und Wiederkehr, damit niemand kurz vor dem Kauf seine Auswahl verliert. output: warenkorb + gutschein f-03checkout ### Checkout Ein kurzer, geführter Bestellprozess: Adresse, Versandart, Zahlung, Bestätigung. Gast-Bestellung ohne Pflicht-Konto und klare Fehlermeldungen halten die Abbruchquote niedrig. output: bestellstrecke f-04payment ### Payment Stripe, PayPal, Klarna sowie Apple Pay und Google Pay — Kreditkarte, Lastschrift, Rechnung und Ratenkauf inklusive. Direkt im Checkout integriert, ohne Umweg über fremde Seiten. output: stripe · paypal · klarna f-05steuer & versand ### Steuer & Versand Steuersätze, Versandzonen und Lieferregeln korrekt berechnet — mit Grundpreis-, Versand- und Lieferzeit-Angaben, wie sie der Verkauf im deutschen Markt verlangt. output: steuer + versandregeln f-06auszeichnung ### Product-Schema Jedes Produkt erhält schema.org/Product mit Offer und AggregateRating. So kann Google Preis, Verfügbarkeit und Sterne als Rich Result zeigen — Details bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). output: product + offer mehrwert ## Produkte, die in Rich Results auftauchen preis, verfügbarkeit, **sterne** Die meisten Ratgeber zum Thema „Onlineshop erstellen lassen" reden über Kosten und Shopsysteme. Der Hebel, der über Klicks entscheidet, bleibt außen vor: strukturierte Produktdaten. Ein Produkt, das für Google nur Fließtext ist, sieht im Suchergebnis aus wie jedes andere. Ein Produkt mit Product-Schema kann Preis, Verfügbarkeit und Bewertung direkt in der Trefferliste zeigen — und wird von KI-Antworten als echtes Angebot verstanden, nicht als Absatz. r-01produkt ### Product & Offer Jedes Produkt wird als schema.org/Product mit einem Offer ausgezeichnet: Preis, Währung und Verfügbarkeit maschinenlesbar. Google weiß so, dass die Seite ein kaufbares Angebot ist — nicht bloß ein Text darüber. price + availability r-02bewertung ### AggregateRating Liegen echte Bewertungen vor, zeichnen wir sie als AggregateRating aus. Daraus können die Sterne im Suchergebnis entstehen, die Aufmerksamkeit ziehen — belegt, nicht behauptet, denn Google prüft, ob die Bewertungen auf der Seite sichtbar sind. rating + reviews r-03feed ### Produktdaten-Export Dieselben sauberen Produktdaten lassen sich als Feed für das Google Merchant Center und für Marktplätze ausspielen. Ein gepflegter Katalog speist so Shop, Suche und Anzeigen aus einer Quelle. merchant-feed ausgestaltung ## B2B- oder Händlershop preise nur für **eingeloggte** Nicht jeder Shop verkauft öffentlich an alle. Ein B2B- oder Händlershop funktioniert anders als ein normaler Onlineshop: Preise sind nicht für jeden sichtbar, bestellen dürfen nur freigeschaltete Kunden, und was ein Kunde zahlt, hängt oft von seiner Konditionsgruppe ab. Genau das bauen wir aus — denselben Shop, nur mit einer Zugangs- und Preislogik davor. b-01preise ### Preise hinter dem Login Produkte bleiben öffentlich sichtbar, Preise nicht. Wer nicht eingeloggt ist, sieht den Katalog ohne Preise und ohne Warenkorb — auf Wunsch mit „Preis auf Anfrage" statt Zahl. preise nur eingeloggt b-02zugang ### Bestellen nur mit Freigabe Der Checkout ist eingeloggten, geprüften Kunden vorbehalten. Neue Händler registrieren sich, du gibst sie frei — erst dann werden Preise und Bestellfunktion sichtbar. Basis dafür ist der [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/). freigabe + rollen b-03konditionen ### Kundenindividuelles Pricing Staffelpreise, Kunden- oder Händlergruppen, Netto-Ausweisung, individuelle Rabatte — jede Gruppe sieht ihre eigenen Preise. Die Konditionen können aus deiner [Warenwirtschaft](https://www.siteway.de/expertise/schnittstellen-integration/) kommen, statt doppelt gepflegt zu werden. staffel- + gruppenpreise einbau · 4 schritte ## So bauen wir den Shop ein in deine seite · **nicht daneben** 1. // schritt 01 · sortiment Sortiment & System. Wie viele Produkte, welche Varianten, B2B oder B2C, welche Zahlungsarten. Daraus fällt die Entscheidung: WooCommerce, Shopware oder Shopify. output: shop-scope 2. // schritt 02 · aufbau Katalog & Kasse. Wir bauen Produktkatalog, Warenkorb und Checkout ins CMS — im Design deiner Website, mit Steuer- und Versandlogik für deinen Markt. output: shop-frontend 3. // schritt 03 · anschluss Payment & Warenwirtschaft. Zahlungsanbieter im Checkout, Bestände und Bestellungen zwischen Shop und Warenwirtschaft — plus Product-Schema und Merchant-Feed, die mit entstehen. output: payment + sync 4. // schritt 04 · übergabe ● ergebnis Testbestellung & Go-live. Echte Testbestellung durch die ganze Kette, kurze Einweisung, dann live. Danach pflegt deine Redaktion Produkte selbst — die Auszeichnung passiert im Hintergrund. output: live-shop faq ## Häufige Fragen ### Was kostet es, einen Onlineshop erstellen zu lassen? Festpreis nach Briefing. Der Preis hängt an der Zahl der Produkte, den Zahlungsarten, der Warenwirtschafts-Anbindung und daran, ob wir auf WooCommerce, Shopware oder Shopify bauen. Sobald Umfang und Schnittstellen feststehen, nennen wir einen festen Preis und halten ihn im Vertrag fest — als Baustein einzeln oder als Teil einer kompletten Website. ### Welches Shopsystem nutzt ihr — WooCommerce, Shopware oder Shopify? Das entscheidet dein Fall. WooCommerce, wenn der Shop in eine WordPress-Website gehört und überschaubar bleibt. Shopware für größere Sortimente, B2B-Preise und deutsche Steuer- und Versandlogik. Shopify, wenn der Shop schnell stehen soll und der Betrieb der Plattform beim Anbieter liegen darf. Wir bauen die Komponente in das System, das zu deinem Sortiment und deiner Technik passt. ### Welche Zahlungsarten könnt ihr einbauen? Stripe, PayPal, Klarna sowie Apple Pay und Google Pay — Kreditkarte, Lastschrift, Rechnung und Ratenkauf laufen darüber mit. Wir binden die Anbieter direkt im Checkout ein, damit die Zahlung ohne Umweg über fremde Seiten abläuft. Welche Verfahren sinnvoll sind, hängt von deiner Zielgruppe ab — wir richten die ein, die zu ihr passen. ### Bindet ihr den Shop an unsere Warenwirtschaft an? Ja. Bestände, Preise und Bestellungen laufen zwischen Shop und Warenwirtschaft oder ERP synchron — etwa weclapp, SAP oder Microsoft Dynamics. Die Anbindung selbst ist unsere Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/); die Shop-Komponente liefert die Seite dazu, an der Kunden bestellen. ### Bekommen Produkte strukturierte Daten für Google? Ja. Jedes Produkt erhält schema.org/Product mit Offer und, wenn Bewertungen vorliegen, AggregateRating. Damit kann Google Preis, Verfügbarkeit und Sterne direkt im Suchergebnis als Rich Result zeigen, und KI-Antworten haben ein maschinenlesbares Produkt statt nur Fließtext. Das ist Standard bei jedem Shop, den wir bauen. ### Was ist der Unterschied zwischen dem Shop und einem reinen Produktkatalog? Der Shop führt bis zur Kasse: Warenkorb, Checkout und Zahlung. Ein reiner [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) zeigt Produkte, hat aber keine Kasse — sinnvoll für B2B-Sortimente, bei denen die Anfrage per Formular oder Vertrieb läuft. Beides sind Komponenten; brauchst du keine Zahlung, ist der Produktkatalog der schlankere Baustein. ### Können wir den Shop einzeln buchen? Ja. Shop & E-Commerce ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Produkte zeigen ohne Kasse — die Schwester zum Shop, wenn die Anfrage über Vertrieb statt Checkout läuft. weiterlesen → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Der Baustein liefert den Shop — diese Leistung verbindet ihn: Payment, Warenwirtschaft und ERP synchron. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites mit Katalog, Produktfinder und Schnittstellen im Einsatz — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Onlineshop in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · newsroom # Social Media Newsroom Wir bauen dir eine **Social Media Wall** in die Website ein: Beiträge aus LinkedIn, Instagram & Co. gebündelt an einer Stelle. Der Unterschied zum üblichen Widget — wir holen die Inhalte **server-seitig** und cachen sie. Kein Tracking-Embed, kein Datenabfluss zu Meta beim Seitenaufruf. Ein Baustein deiner Website, kein fremder Dienst im iframe. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: social-wall.html [Briefing starten](https://www.siteway.de/kontakt/) [DSGVO-Prinzip ansehen](#dsgvo) definition ## Was ist eine Social Media Wall? **Eine Social Media Wall bündelt Beiträge aus mehreren Netzwerken in einem Feed auf deiner Website.** Statt drei Icons, die weg zu LinkedIn und Instagram führen, zeigst du deine aktuellen Posts direkt auf der Seite — als Beleg, dass etwas passiert. Der Standardweg dorthin ist ein eingebettetes Widget: ein Skript vom Anbieter, das im Browser deiner Besucher lädt. Wir machen es anders. Wir bauen die Wall als **Komponente** in deine Website ein — die Beiträge werden auf dem Server geholt, gecacht und als natives HTML ausgegeben. Kein fremdes Skript, kein iframe, kein Datenabfluss. $ cat social-wall.md - ✓Feed aus linkedin · instagram · & co. - ✓Server-seitig geholt & gecacht - ✓Kein Tracking-Widget, kein iframe - ✓Ausgabe als natives HTML - ✓Kuratierbar per hashtag · profil - ✓Im Look deiner Website nutzen ## Wozu der Newsroom gut ist zeigen, dass etwas **läuft** Eine Website wirkt schnell statisch — der Social Media Newsroom bringt Bewegung rein, ohne dass jemand die Seite pflegen muss. Deine Posts erscheinen automatisch, sobald sie im Netzwerk veröffentlicht sind. Für Besucher ist das ein Signal: Hier ist jemand aktiv, das Unternehmen lebt. Weil die Beiträge auf deiner Domain als HTML stehen, zahlt der Newsroom auch auf [SEO](https://www.siteway.de/expertise/seo-geo/) ein: Suchmaschinen lesen die Inhalte, statt sie in einem fremden iframe zu ignorieren. Und du entscheidest, was gezeigt wird — nicht der Algorithmus des Netzwerks. was der newsroom bringt - 01Website wirkt **lebendig**, pflegt sich selbst - 02**Social Proof** direkt auf der Seite - 03Inhalte auf deiner **Domain** → SEO - 04Du **kuratierst**, nicht der Algorithmus komponente · 5 funktionen ## Was die Komponente kann jede funktion ein **output** Fünf Funktionen, ein Baustein: Wir bauen genau die Kanäle und Regeln ein, die dein Projekt braucht. Kombinierbar mit jeder anderen Komponente und in jede bestehende Seite integrierbar. f-01kanäle ### Kanäle bündeln LinkedIn, Instagram, Facebook, Mastodon und YouTube in einem Feed — über die offiziellen Schnittstellen der Netzwerke. output: feed f-02cache ### Server-seitiger Abruf Dein Server holt die Beiträge im festen Takt und legt sie zwischen. Der Browser der Besucher spricht nie direkt mit den Netzwerken. output: cache f-03kuratierung ### Kuratierung & Moderation Filter nach Hashtag, Profil oder Netzwerk. Einzelne Beiträge lassen sich ausblenden — du behältst die Kontrolle über die Wand. output: regeln f-04design ### Natives Design Die Wall sieht aus wie deine Website, nicht wie ein fremdes Widget. Bilder liefern wir als AVIF und WebP, das Layout ist responsiv. output: html · avif f-05a11y ### Barrierefreiheit Weil es natives HTML ist, sind Beiträge per Screenreader lesbar — mit ARIA-Labels und Alt-Texten nach WCAG 2.2. Bei Widgets ist das oft ein blinder Fleck. output: wcag 2.2 f-06performance ### Performance Kein render-blockierendes Fremd-Skript, das die Seite ausbremst. Der gecachte Feed lädt mit der Seite — gut für die [Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/). output: lcp < 2,5s dsgvo · das prinzip ## Server-seitig statt Widget der unterschied, der **zählt** Fast jede Social Wall am Markt ist ein eingebettetes Widget: ein Skript, das im Browser deiner Besucher lädt und dabei IP-Adresse und Gerätedaten an das Netzwerk übermittelt — schon beim bloßen Öffnen der Seite. Das ist der Grund für die Cookie- und Consent-Banner. Unsere Komponente dreht den Datenweg um: Der Abruf passiert auf dem Server, nicht im Browser. übliches embed-widget - ·Browser lädt **Fremd-Skript** vom Anbieter - ·IP & Gerätedaten gehen **an das Netzwerk** - ·Consent-Banner nötig, sonst Abmahnrisiko - ·Inhalte im iframe → für **SEO unsichtbar** - ·Laufende **Abo-Gebühr** beim Dienst siteway-komponente - ✓**Server** holt die Beiträge, nicht der Browser - ✓Beim Seitenaufruf **kein Datenabfluss** zu Meta - ✓Kein Consent-Banner nur für die Wall - ✓Natives HTML → **von Google lesbar** - ✓Kein Fremd-Dienst, **kein Abo** Ein Datenschutz-Hinweis zur Verarbeitung durch die Netzwerke gehört trotzdem ins Impressum — spätestens, wenn ein Besucher aktiv auf einen Beitrag klickt und dann zum Netzwerk wechselt. Den Text dafür liefern wir mit. Die rechtssichere Umsetzung stimmen wir im Rahmen von [Standards](https://www.siteway.de/expertise/strukturierte-daten/) und Betrieb mit dir ab; eine Rechtsberatung ersetzt das nicht. einbau · 4 schritte ## So bauen wir sie ein von kanal bis **live** 1. // schritt 01 · kanäle Kanäle klären. Welche Netzwerke sollen rein, welche Konten, welche Hashtags. Wir richten den API-Zugang für jeden Kanal ein. output: kanal-liste 2. // schritt 02 · abruf Abruf & Cache. Wir bauen den server-seitigen Abruf über die offiziellen Schnittstellen und legen den Cache-Takt fest. output: cache-job 3. // schritt 03 · design Design & Einbau. Die Wall bekommt den Look deiner Website und wird als Komponente ins CMS eingebaut — TYPO3, WordPress oder Statamic. output: template 4. // schritt 04 · live ● ergebnis Test & Live. Wir prüfen Datenschutz, Barrierefreiheit und Performance, dann geht die Wall live und aktualisiert sich selbst. output: social-wall.html faq ## Häufige Fragen ### Was ist ein Social Media Newsroom bzw. eine Social Media Wall? Ein Social Media Newsroom — auch Social Media Wall oder Social Wall genannt — bündelt Beiträge aus mehreren Netzwerken wie LinkedIn, Instagram und Facebook in einem Feed auf deiner Website. Bei siteway ist das eine Komponente, die wir in deine Seite einbauen: Die Beiträge werden server-seitig geholt und als natives HTML ausgegeben, nicht als externes Widget eingebettet. ### Ist die Social Media Wall DSGVO-konform? Ja. Wir holen die Beiträge server-seitig über die offiziellen Schnittstellen der Netzwerke und cachen sie auf deinem Server. Der Browser deiner Besucher lädt kein Drittanbieter-Skript und baut beim Seitenaufruf keine Verbindung zu Meta oder LinkedIn auf. Damit fließen keine personenbezogenen Daten an die Netzwerke, nur weil jemand die Seite öffnet — der übliche Grund für Consent-Banner bei eingebetteten Widgets entfällt. ### Fließen beim Seitenaufruf Daten an Instagram, LinkedIn oder Meta? Nein. Bei einem klassischen Embed-Widget lädt der Browser ein Skript vom Anbieter und übermittelt dabei IP-Adresse und weitere Daten an die Netzwerke. Unsere Komponente lädt nichts von außen: Die Beiträge liegen als Text und optimierte Bilder auf deinem Server. Erst wenn ein Besucher aktiv auf einen Beitrag klickt, öffnet sich das jeweilige Netzwerk. ### Welche Netzwerke lassen sich einbinden? LinkedIn, Instagram, Facebook, Mastodon und YouTube über deren offizielle Schnittstellen. Voraussetzung ist ein API-Zugang bzw. eine Business-Verbindung des jeweiligen Kontos. Welche Netzwerke sinnvoll sind, klären wir im Briefing — meist reichen ein bis drei Kanäle. ### Brauche ich ein externes Widget oder ein monatliches Abo? Nein. Die Social Media Wall ist als Komponente Teil deiner Website und läuft auf deinem CMS und Server. Es gibt keine Abhängigkeit von einem Drittanbieter-Dienst und keine laufende Widget-Gebühr. Kosten entstehen nur für Einbau und Betrieb im Rahmen deiner Website. ### Liest Google die Beiträge — bringt die Social Wall etwas für SEO? Ja. Weil die Inhalte als natives HTML auf deiner Domain stehen und nicht in einem iframe stecken, kann Google sie lesen und indexieren. Das ist ein Vorteil gegenüber eingebetteten Widgets, deren Inhalte in einem fremden Rahmen liegen und für die eigene Seite kaum zählen. ### Wie aktuell sind die Beiträge? Der Cache wird in einem festen Intervall aktualisiert, meist alle 15 bis 60 Minuten — den Takt legen wir gemeinsam fest. So sind neue Beiträge zeitnah sichtbar, ohne dass bei jedem Seitenaufruf ein API-Abruf läuft. Das hält die Seite schnell und schont die API-Limits der Netzwerke. passt dazu ## Passt dazu module & leistungen im **überblick** - [News & Events.](https://www.siteway.de/expertise/news-events/) — Eigene Meldungen und Termine auf der Seite — die redaktionelle Ergänzung zum Social-Feed. weiterlesen → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Damit die Inhalte auf deiner Domain auch ranken und in KI-Antworten auftauchen. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites, in die wir Komponenten wie diese eingebaut haben — unsere Cases. zu den cases → Social-Feed ohne Tracking-Widget? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · schema # Strukturierte-Daten-Audit Du willst deine **strukturierten Daten prüfen** lassen — nicht neu bauen. siteway nimmt dein Schema.org-Markup auseinander: Abdeckung je Seitentyp, Pflichtfelder, Fehler im @graph, Rich-Results-Eignung. Heraus kommt ein **schema-report** mit priorisierten Befunden — und der Reihenfolge, in der du reparierst. audit audit: einzeln buchbar dauer: 3–5 arbeitstage output: schema-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefung) definition ## Was ist ein Strukturierte-Daten-Audit? **Ein Strukturierte-Daten-Audit ist die Prüfung des Schema.org-Markups einer Website: Welche Seitentypen haben strukturierte Daten, sind sie korrekt ausgezeichnet, hängen die Knoten im @graph sauber zusammen — und lösen sie bei Google überhaupt noch etwas aus?** Wir schauen uns den Ist-Zustand an und liefern einen Report mit priorisierten Befunden. Das Audit baut kein Markup. Es sagt dir, was fehlt, was falsch ist und was du zuerst anfassen solltest. Die Umsetzung ist eine eigene Leistung — [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/) — und keine Bedingung. Der Report gehört dir, egal wer ihn danach abarbeitet. $ cat schema-report.md - ✓Markup-Inventar je seitentyp - ✓Fehlerliste nach schweregrad - ✓@graph-Karte @id-verknüpfungen - ✓Rich-Results-Eignung je typ - ✓Richtlinien-Risiken google sd-policies - ✓Maßnahmenliste aufwand × wirkung anlass ## Wann lohnt sich das Audit? markup da, wirkung **null** Strukturierte Daten sind der Teil deiner Website, den niemand sieht — deshalb fällt niemandem auf, wenn sie kaputt sind. Ein SEO-Plugin schreibt seit Jahren JSON-LD, das Template auch, und irgendwann stehen zwei Organisationen mit verschiedenen IDs im Quelltext. Der Validator sagt trotzdem „valide". Typische Anlässe: Die Search Console meldet plötzlich Fehler in den Enhancement-Berichten. Nach einem [Relaunch](https://www.siteway.de/expertise/relaunch-migration/) sind die Rich Snippets weg. Produkte oder Stellenanzeigen tauchen nicht in den passenden Darstellungen auf. Oder ihr wollt in KI-Antworten vorkommen und wisst nicht, ob eure Entitäten sauber verknüpft sind — dazu passt das [GEO-Audit](https://www.siteway.de/expertise/geo-audit/). symptome - 01Search Console meldet **Fehler** bei Verbesserungen - 02Rich Snippets nach dem Relaunch **verschwunden** - 03Mehrere Plugins schreiben **konkurrierendes** Markup - 04Niemand weiß, welche Seitentypen **gar kein** Markup haben prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Wir prüfen dein Markup über alle Templates hinweg — nicht nur die eine URL, die du ins Testtool wirfst. Jeder Bereich endet mit einem Befund, der im Report steht und den deine Entwicklung direkt abarbeiten kann. p-01abdeckung ### Markup-Abdeckung Welcher Seitentyp trägt welches Schema — und welcher gar keins. Wir gehen Startseite, Leistungen, Artikel, Produkte, Standorte und Formularstrecken durch und legen ein Inventar je Template an. befund: markup-inventar p-02syntax ### Syntax & Pflichtfelder JSON-LD gegen die Schema.org-Definition und Googles Anforderungen: erforderliche Properties, empfohlene Properties, falsche Typen, kaputte Datumsformate. Sortiert nach Schweregrad, nicht alphabetisch. befund: fehlerliste + schweregrad p-03@graph ### @graph & Entitäten Die Stelle, an der Validatoren schweigen: doppelte Organisationen, verwaiste @id-Referenzen, Breadcrumbs, die zur Navigation nicht passen, Artikel ohne Autor-Verknüpfung. Wir zeichnen den Graphen nach. befund: @graph-karte p-04eignung ### Rich-Results-Eignung Google listet rund 30 Rich-Result-Typen — von Artikel über Produkt bis Stellenausschreibung. Wir prüfen, welche davon zu deinen Inhalten passen, welche du schon nutzt und welche nichts mehr auslösen. befund: eignung je typ p-05richtlinien ### Markup vs. Inhalt Markup muss zeigen, was auf der Seite steht. Wir suchen Widersprüche: ausgezeichnete Preise ohne Preis auf der Seite, Bewertungen in eigener Sache, versteckte Inhalte. Solche Verstöße können manuelle Maßnahmen auslösen. befund: richtlinien-risiken p-06auslieferung ### Auslieferung & Monitoring Kommt das Markup beim Crawler an — oder erst nach JavaScript, das Google nicht ausführt? Dazu die Enhancement-Berichte der Search Console: Testtools zeigen einen Moment, die Search Console den Verlauf. befund: rendering + trend mehrwert ## „Valide" heißt nicht „sichtbar" grünes häkchen, **kein snippet** Die kostenlosen Testtools sind gut — der Rich Results Test von Google und der Schema Markup Validator von Schema.org. Sie beantworten aber nur eine Frage: Ist der Code auf dieser einen URL syntaktisch in Ordnung? Sie sagen dir nicht, ob der ausgezeichnete Typ überhaupt noch eine Darstellung auslöst, ob dein @graph zusammenpasst und welchen Fehler du zuerst reparierst. Drei Lücken, die im Report zuerst adressiert werden. v-01tote typen ### Tote Typen Google hat die Rich Results für Anleitungen (HowTo) und FAQs seit 2023 zurückgezogen. Validatoren melden solches Markup weiter als korrekt — du wartest nur auf eine Darstellung, die nicht mehr kommt. wirkung statt validität v-02eine url ### Eine URL reicht nicht Testtools prüfen eine Adresse. Fehler entstehen aber im Template — und betreffen dann 400 Produktseiten gleichzeitig. Wir prüfen je Seitentyp und sagen, wie viele Seiten hinter einem Befund hängen. template statt einzelfall v-03reihenfolge ### Keine Reihenfolge Ein Tool listet 60 Warnungen ohne Rangfolge. Die Frage ist aber: Was kostet Sichtbarkeit, was ist Kosmetik? Im Report steht jeder Befund mit Aufwand und Wirkung — und in welcher Reihenfolge er drankommt. priorisierung Ehrlich dazugesagt: Strukturierte Daten sind kein Rankingfaktor, und niemand kann ein Rich Snippet garantieren — ob Google eine Darstellung ausspielt, entscheidet Google. Das Audit sorgt dafür, dass es nicht an deinem Markup scheitert. Und es ist kein [SEO-Audit](https://www.siteway.de/expertise/seo-audit/): Inhalte, Rankings und interne Verlinkung prüfen wir hier nicht. output ## Was du bekommst ein dokument, **abarbeitbar** Der **schema-report** ist ein Dokument, das deine Entwicklung öffnen und abarbeiten kann. Jeder Befund hat eine Fundstelle (Seitentyp, Beispiel-URL, Codestelle), einen Schweregrad, eine Einschätzung zu Aufwand und Wirkung — und den konkreten nächsten Schritt. Wo es hilft, liegt das korrigierte JSON-LD als Beispiel bei. Dazu eine Kurzfassung für die Geschäftsführung: Was ist der Zustand, was sind die drei wichtigsten Baustellen, was bringt es. Und ein Gespräch, in dem wir den Report durchgehen — Fragen inklusive. Danach entscheidest du frei, wer umsetzt. im report - 01Befunde **priorisiert** — kritisch, wichtig, optional - 02Fundstelle: **Seitentyp**, URL, Codestelle - 03**Aufwand × Wirkung** je Maßnahme - 04Korrigiertes **JSON-LD** als Beispiel - 05Kurzfassung + **Besprechung** ablauf · 4 schritte ## So läuft das Audit 3–5 tage bis zum **report** 1. // schritt 01 · briefing Umfang klären. Welche Seitentypen, welches CMS, welche Sprachen, welche Ziele. Danach steht der Festpreis — und wir brauchen Lesezugriff auf die Search Console. output: festpreis + zugänge 2. // schritt 02 · crawl Markup einsammeln. Wir crawlen die Website und ziehen alle JSON-LD-Blöcke je Template — inklusive der Frage, ob sie schon im HTML stehen oder erst per JavaScript entstehen. output: markup-inventar 3. // schritt 03 · prüfung Prüfen & bewerten. Syntax, Pflichtfelder, @graph, Rich-Results-Eignung, Richtlinien, Search-Console-Verlauf. Jeder Befund bekommt Schweregrad, Aufwand und Wirkung — Handarbeit, nicht nur Tool-Export. output: befunde + schweregrad 4. // schritt 04 · übergabe ● ergebnis Report übergeben. Du bekommst den schema-report und wir gehen ihn gemeinsam durch. Ob du danach selbst umsetzt, jemand anderen beauftragst oder uns — deine Entscheidung. output: schema-report faq ## Häufige Fragen ### Was ist ein Strukturierte-Daten-Audit? Ein Strukturierte-Daten-Audit ist eine Prüfung des Schema.org-Markups einer Website. Untersucht werden Abdeckung je Seitentyp, JSON-LD-Syntax und Pflichtfelder, die Verknüpfungen im @graph, die Rich-Results-Eignung der eingesetzten Typen und Widersprüche zwischen Markup und sichtbarem Inhalt. Ergebnis ist ein Report mit priorisierten Befunden — kein neues Markup, sondern die Diagnose davor. ### Reicht nicht der Rich Results Test von Google? Der Rich Results Test und der Schema Markup Validator prüfen eine einzelne URL auf Syntax und Pflichtfelder. Beides ist gut und kostenlos — beide sagen dir aber nicht, welche Seitentypen auf deiner Website gar kein Markup bekommen, ob deine @id-Verknüpfungen zusammenpassen, welcher Fehler wirklich weh tut und in welcher Reihenfolge du reparierst. Genau das liefert das Audit von siteway: Befunde über alle Templates hinweg, priorisiert nach Aufwand und Wirkung. ### Was ist ein @graph — und warum ist er so oft fehlerhaft? Der @graph fasst mehrere Schema.org-Knoten einer Seite zusammen — etwa Organization, WebSite, WebPage, BreadcrumbList und Service — und verknüpft sie über @id-Referenzen. Fehleranfällig ist er, weil Plugins und Templates ihre Knoten oft unabhängig voneinander ausgeben: dieselbe Organisation zweimal mit verschiedenen IDs, Referenzen auf Knoten, die es nicht gibt, oder Breadcrumbs, die zur Navigation nicht passen. Validatoren melden das nicht als Fehler — die Syntax ist ja korrekt. ### Bringt FAQ-Markup noch Rich Results? Nein, darauf solltest du nicht mehr bauen. Google hat die Rich Results für Anleitungen (HowTo) und für FAQs seit 2023 zurückgezogen; die Dokumentation führt die FAQ-Darstellung inzwischen als eingestellt. Das Markup bleibt trotzdem sinnvoll, weil Suchmaschinen und KI-Systeme Inhalte damit sauber zuordnen — nur eben ohne aufgeklappte Fragen im Suchergebnis. Ein Validator zeigt dir hier weiter ein grünes Häkchen. Im Audit steht, welche deiner Typen echte Darstellung bringen und welche nur noch Verständnis. ### Was kostet das Audit? Festpreis nach Briefing. Sobald Umfang und Seitentypen feststehen — wie viele Templates, welche Sprachen, welches CMS —, nennen wir einen Preis für das Audit und halten ihn fest. Keine Stundenabrechnung, keine Überraschung am Ende. ### Wie lange dauert das Audit? In der Regel drei bis fünf Arbeitstage ab Zugang zu Website und Search Console. Bei großen Portalen mit vielen Templates, Sprachen oder Shop-Daten dauert es länger — den Zeitraum nennen wir vorab zusammen mit dem Festpreis. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der Report gehört dir. Du kannst ihn deiner eigenen Entwicklung geben, an eine andere Agentur weiterreichen oder ihn liegen lassen. Wenn du die Befunde von siteway umsetzen lassen willst, geht das über die Leistung [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/) — das ist eine eigene Beauftragung und keine Bedingung. passt dazu ## Passt dazu umsetzung & **weitere audits** - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Das Audit findet die Befunde — diese Leistung baut das Markup: JSON-LD-@graph je Seitentyp, sauber verknüpft. weiterlesen → - [GEO-Audit.](https://www.siteway.de/expertise/geo-audit/) — Wie sichtbar bist du in KI-Antworten? Strukturierte Daten sind ein Baustein davon — das GEO-Audit prüft das ganze Bild. weiterlesen → - [SEO-Audit.](https://www.siteway.de/expertise/seo-audit/) — Inhalte, Rankings, interne Verlinkung, Technik — die Prüfung, die das Schema-Audit bewusst nicht mitmacht. weiterlesen → Schema-Markup prüfen lassen? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-12 · maschinenlesbar # Strukturierte Daten **Strukturierte Daten für SEO** heißen bei siteway: Wir zeichnen deine Inhalte mit Schema.org aus — als JSON-LD-@graph je Seitentyp: Organisation, Leistungen, FAQ, Breadcrumbs und Artikel. Das bringt [Rich Snippets bei Google](#rich-results) und macht deine Inhalte zitierbar für ChatGPT, Perplexity und Google AI Overviews — die Brücke zu [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). svc-12 einzeln buchbar format: json-ld · @graph output: @graph + JSON [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was sind strukturierte Daten? **Strukturierte Daten sind maschinenlesbare Angaben im Quellcode einer Website nach dem Schema.org-Standard.** Sie sagen Suchmaschinen und KI-Systemen eindeutig, was auf einer Seite steht: welche Organisation dahintersteht, was sie anbietet, welche Fragen sie beantwortet. Google nutzt sie als Grundlage für Rich Snippets — hervorgehobene Suchergebnisse mit Breadcrumbs, Bewertungen oder Artikel-Daten. Wir setzen strukturierte Daten als **JSON-LD im @graph** um — ein Block je Seitentyp, in dem alle Knoten sauber verknüpft sind: WebPage, BreadcrumbList, Service, FAQPage, Artikel. Diese Seite macht es vor: Öffne den Quelltext und du findest genau diesen @graph. Was er im Suchergebnis bewirkt, zeigt unser Insights-Artikel über [Rich Snippets](https://www.siteway.de/insights/richsnippets/). $ cat schema.md - ✓Organization & WebSite site-weit - ✓Service je Leistungsseite - ✓FAQPage wortidentisch sichtbar - ✓BreadcrumbList je Seite - ✓Article für Insights autor + datum - ✓Validiert rich-results-test warum ## Vom blauen Link zum Rich Snippet gleiche position · **mehr snippet** Ehrliche Einordnung zuerst: Strukturierte Daten sind **kein direkter Rankingfaktor**. Sie entscheiden nicht, auf welcher Position du stehst — sondern was Google auf dieser Position aus deiner Seite macht. Ein Snippet mit Pfad, Bewertungen oder Artikel-Daten belegt mehr Fläche und beantwortet mehr, bevor jemand klickt. Das zahlt direkt auf die Klickrate ein. Der zweite Effekt ist 2026 der wichtigere: Suchmaschinen und KI-Systeme bauen aus dem Markup **Entitäten** — sie lernen, dass deine Marke, deine Leistungen und deine Autoren zusammengehören. Wer als Entität eindeutig ist, wird in Knowledge Panels angezeigt und in KI-Antworten zitiert. Wer nur Fließtext liefert, wird interpretiert. Interpretation ist Glückssache. $ cat graph.jsonld ``` { "@context": "https://schema.org", "@graph": [ { "@type": "Organization", … }, { "@type": "WebPage", … }, { "@type": "BreadcrumbList", … }, { "@type": "Service", … }, { "@type": "FAQPage", … } ] } ``` ein block je seitentyp · alle knoten verknüpft leistung · 6 bausteine ## Was die Schema.org-Auszeichnung umfasst vom audit bis zum **validierten @graph** Sechs Bausteine, ein Ergebnis: ein @graph je Seitentyp, der aus deinem CMS generiert wird und im Rich-Results-Test grün ist. Ausgezeichnet werden Templates, nicht einzelne Seiten — deshalb skaliert das Markup mit, wenn deine Redaktion neue Inhalte anlegt. b-01audit ### Markup-Audit Was schon da ist und was davon stimmt: Fehler, Duplikate aus SEO-Plugins, veraltete Typen und Lücken je Template — bevor wir neu bauen. output: audit b-02architektur ### Schema-Architektur Welcher Typ auf welches Template kommt: Organization site-weit, Service je Leistung, Article je Beitrag, Product je Produkt — als Plan, bevor Code entsteht. output: schema-map b-03umsetzung ### JSON-LD-Umsetzung Ein @graph je Seitentyp, generiert aus den CMS-Feldern in TYPO3, WordPress oder Statamic. Niemand schreibt JSON von Hand, nichts läuft auseinander. output: @graph + json b-04faq + pfad ### FAQ- & Breadcrumb-Markup FAQPage wortidentisch zum sichtbaren Text — Google verlangt, dass Markup und Seite dasselbe sagen. Dazu BreadcrumbList für den Pfad im Snippet. output: faqpage + breadcrumbs b-05test ### Validierung & Test Jedes Template durchläuft den Rich-Results-Test von Google und den Schema Markup Validator — vor dem Go-live, nicht danach. output: testprotokoll b-06betrieb ### Monitoring & Pflege Die Search Console meldet Fehler und Warnungen für die ganze Website. Wir behalten die Berichte im Blick und erweitern das Markup, wenn neue Inhaltstypen dazukommen. output: reports methode ## JSON-LD als Single Source of Truth eine datenquelle · **keine widersprüche** Der häufigste Fehler bei strukturierten Daten ist nicht fehlendes Markup, sondern widersprüchliches: Das SEO-Plugin schreibt einen Titel, das Theme einen zweiten, im JSON-LD steht ein dritter. Suchmaschinen ignorieren dann im Zweifel alles. Bei siteway ist der @graph deshalb die **Single Source of Truth**: Title, Meta-Description und Open-Graph-Tags werden gegen das JSON-LD geprüft und daraus abgeleitet — eine Quelle, keine Widersprüche. Im CMS entsteht das Markup aus den Feldern, die deine Redaktion ohnehin pflegt: Überschrift, Teaser, Autor, Datum. Ändert sich der Inhalt, ändert sich der @graph automatisch mit — ohne dass jemand an den Code muss. Wie wir das in Templates gießen, steht bei [Entwicklung & Umsetzung](https://www.siteway.de/expertise/entwicklung-umsetzung/); dass deine Redaktion die Felder im Griff hat, regelt [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/). so bauen wir markup format: json-ld · von google empfohlen quelle: cms-felder regel: markup = sichtbarer inhalt rich results ## Diese Rich Snippets sind für dich drin je nach seitentyp · **google entscheidet** Nicht jeder Schema-Typ erzeugt ein sichtbares Rich Snippet — und Google entscheidet je Suchanfrage, was angezeigt wird. Diese neun Typen lohnen sich für Unternehmens-Websites am häufigsten — von Rich Snippets bis zu Entitäten, die nur Maschinen sehen. Alles darüber hinaus füttert Knowledge Graph und KI-Antworten, auch ohne sichtbaren Effekt im Snippet. rr-01pfad ### Breadcrumbs Statt einer kryptischen URL zeigt das Snippet den Pfad deiner Website. Klingt klein, wirkt auf jeder einzelnen Unterseite. BreadcrumbList rr-02marke ### Organisation & Logo Name, Logo, Kontakt und Profile als Entität. Die Grundlage für Knowledge Panel und dafür, dass KI-Systeme deine Marke korrekt zuordnen. Organization rr-03inhalte ### Artikel, Blog & News Headline, Datum und Autor maschinenlesbar — für Blogbeiträge, Fachartikel und Pressemeldungen je der passende Typ. Macht E-E-A-T sichtbar und qualifiziert Beiträge für News-Flächen, „Schlagzeilen"-Karussells und KI-Zitate. Article · BlogPosting · NewsArticle + Person rr-04produkte ### Produkte & Bewertungen Preis, Verfügbarkeit und Sterne direkt im Suchergebnis — für Shops und Produktkataloge der stärkste sichtbare Hebel. Product + AggregateRating rr-05standort ### Lokales Unternehmen Adresse, Öffnungszeiten und Bewertungen für Unternehmen mit Standort — verknüpft mit deinem Google-Unternehmensprofil. LocalBusiness rr-06antworten ### FAQ Ehrlich: Als sichtbares Rich Snippet zeigt Google FAQ seit 2023 nur noch selten. Als maschinenlesbare Frage-Antwort-Einheit für KI-Systeme bleibt FAQPage trotzdem wertvoll. FAQPage rr-07vertrauen ### Auszeichnungen & Mitgliedschaften Preise, Siegel, Zertifizierungen und Verbandsmitgliedschaften als Teil deiner Organisations-Entität. Kein sichtbares Snippet — aber Vertrauenssignale, die Knowledge Graph und KI-Antworten deiner Marke zuordnen. award · memberOf · hasCredential rr-08leistungen ### Dienstleistungen im Detail Jede Leistung als eigene Service-Entität mit Leistungskatalog, Einzugsgebiet und Anbieter-Verknüpfung. So versteht die Maschine nicht nur, *dass* du etwas anbietest — sondern was genau, für wen und wo. Diese Seite macht es vor. Service + OfferCatalog · areaServed rr-09recruiting ### Stellenanzeigen Offene Stellen mit Titel, Ort, Gehaltsspanne und Beschäftigungsart ausgezeichnet — die Eintrittskarte zu **Google for Jobs**, direkt über den klassischen Suchergebnissen. Ohne Stellenbörsen-Provision. JobPosting belege ## Was strukturierte Daten bringen von google dokumentierte **case studies** Strukturierte Daten sind kein direkter Rankingfaktor — aber sie verändern, wie dein Ergebnis aussieht und wie oft es geklickt wird. Google dokumentiert das selbst in [offiziellen Case Studies](https://developers.google.com/search/case-studies/overview): klickrate +25 % höhere CTR auf Seiten mit strukturierten Daten — gemessen über 100.000 Seiten. quelle: rotten tomatoes · google rich results +82 % höhere Klickrate für Seiten, die als Rich Result erscheinen, gegenüber normalen Treffern. quelle: nestlé · google such-traffic 2,7× mehr Suchmaschinen-Traffic auf ausgezeichneten Seiten, dazu 1,5× längere Sitzungen. quelle: rakuten · google besuche +35 % mehr Besuche, nachdem 80 % der Seiten für Suchfeatures ausgezeichnet wurden. quelle: food network · google Für KI-Antworten gibt es solche Langzeitstudien noch nicht — aber dieselben Entitäten, die Google versteht, lesen auch Sprachmodelle. Wie das zusammenspielt, steht bei [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). geo ## Zitierbar für KI-Antworten verstanden werden schlägt **gefunden werden** ChatGPT, Perplexity und Google AI Overviews zitieren Quellen, die sie schnell und eindeutig verstehen. Strukturierte Daten sind dafür der kürzeste Weg: Sie liefern Organisation, Autoren, Leistungen und Fakten als **fertige Entitäten** statt als Fließtext, den ein Modell erst interpretieren muss. Jede FAQ ist eine in sich geschlossene Antwort-Einheit — genau das Format, das KI-Systeme übernehmen. Strukturierte Daten sind damit ein Baustein von Generative Engine Optimization: Markup liefert das Verständnis, zitierfähige Inhalte und eine llms.txt liefern den Rest. Wie beides zusammen Rankings und AI-Citations bringt — und wie wir es messen —, steht auf der Schwester-Seite [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). was ki-systeme aus dem @graph lesen - 01**Wer:** Organisation, Autoren, Profile — die Entität hinter der Seite - 02**Was:** Leistungen und Angebote als Service-Knoten - 03**Antworten:** FAQ als geschlossene Frage-Antwort-Einheiten - 04**Vertrauen:** Autor, Datum, Quelle — E-E-A-T maschinenlesbar ablauf · 5 schritte ## So läuft die Auszeichnung templates statt einzelseiten · **validiert vor go-live** 1. // schritt 01 · audit Bestand prüfen. Vorhandenes Markup, Seitentypen und Templates sichten: Was ist da, was ist falsch, was fehlt. output: audit 2. // schritt 02 · architektur Schema-Map festlegen. Welcher Schema-Typ auf welches Template kommt und welche CMS-Felder ihn füttern. output: schema-map 3. // schritt 03 · umsetzung Im CMS implementieren. Der @graph entsteht im Template — generiert aus den Feldern, die deine Redaktion pflegt. output: templates + @graph 4. // schritt 04 · test Validieren. Rich-Results-Test und Schema Markup Validator je Template — erst grün, dann live. output: testprotokoll 5. // schritt 05 · betrieb ● ergebnis Überwachen & erweitern. Search-Console-Berichte im Blick behalten und das Markup mitwachsen lassen, wenn neue Inhaltstypen dazukommen. output: reports faq ## Häufige Fragen ### Was sind strukturierte Daten? Strukturierte Daten sind maschinenlesbare Angaben im Quellcode einer Website nach dem Schema.org-Standard. Sie sagen Suchmaschinen und KI-Systemen eindeutig, was auf einer Seite steht: welche Organisation dahintersteht, was sie anbietet, welche Fragen sie beantwortet. Google nutzt sie als Grundlage für Rich Snippets. ### Was bringen strukturierte Daten für SEO? Sie sind kein direkter Rankingfaktor, aber sie verändern, wie dein Suchergebnis aussieht: Breadcrumbs, Bewertungen oder Artikel-Daten machen das Snippet größer und klickstärker. Außerdem versteht Google deine Inhalte als Entitäten — die Basis für Knowledge Panel, Sitelinks und KI-Antworten. ### Was ist der Unterschied zwischen strukturierten Daten und Rich Snippets? Strukturierte Daten sind der Code, Rich Snippets das Ergebnis. Das Schema.org-Markup im Quelltext macht eine Seite für hervorgehobene Suchergebnisse berechtigt — ob Google daraus ein Rich Snippet mit Sternen, Pfad oder FAQ baut, entscheidet die Suchmaschine je Suchanfrage. ### Warum JSON-LD und nicht Microdata oder RDFa? Google empfiehlt JSON-LD. Es liegt als eigener Script-Block im Quellcode, statt über das ganze HTML verteilt zu sein. Dadurch lässt es sich aus CMS-Feldern generieren, zentral ändern und automatisiert testen — bei Microdata bricht das Markup oft schon bei der nächsten Template-Änderung. ### Wie teste ich strukturierte Daten? Einzelne Seiten prüfst du mit dem Rich-Results-Test von Google und dem Schema Markup Validator. Dauerhaft meldet die Google Search Console Fehler und Warnungen für die ganze Website. Wir validieren jedes Template vor dem Go-live und behalten die Berichte danach im Blick. ### Garantieren strukturierte Daten ein Rich Snippet? Nein. Korrektes Markup macht eine Seite berechtigt, die Entscheidung trifft Google je Suchanfrage. FAQ-Rich-Results zeigt Google seit 2023 zum Beispiel nur noch selten an. Ohne Markup liegt die Chance aber bei null — und für KI-Antworten zählt das Markup unabhängig davon. ### Helfen strukturierte Daten bei ChatGPT und KI-Suche? Ja. KI-Systeme zitieren bevorzugt Quellen, die sie schnell und eindeutig verstehen. Strukturierte Daten liefern Organisation, Autoren und Fakten maschinenlesbar — zusammen mit zitierfähigen Inhalten und einer llms.txt gehören sie zur Generative Engine Optimization (GEO). ### Was kostet die Schema.org-Auszeichnung? Festpreis nach Briefing. Der Aufwand hängt an der Zahl der Seitentypen, nicht an der Seitenzahl: Ausgezeichnet werden Templates — ein Service-Template deckt alle Leistungsseiten ab, ein Artikel-Template alle Beiträge. weiter im prozess ## Wo dein Markup weiterwirkt alle leistungen im **überblick** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Markup ist ein Baustein — Rankings und AI-Citations brauchen dazu zitierfähige Inhalte, Technik und Messung. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Der @graph entsteht aus CMS-Feldern. Ein sauber aufgesetztes CMS hält das Markup aktuell — ohne Handarbeit. weiterlesen → - [Rich Snippets im Detail.](https://www.siteway.de/insights/richsnippets/) — Wie Rich Snippets entstanden sind und was sie im Suchergebnis verändern — der Insights-Artikel zum Thema. zum artikel → Inhalte maschinenlesbar machen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · search # Suche Suche ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einem leeren Suchfeld wird eine **Volltextsuche** über die ganze Seite: Instant-Ergebnisse, Tippfehler-Toleranz, Filter und Gewichtung — und das ganz ohne externes Tracking. komponente baustein: einzeln buchbar technik: pagefind · algolia · meilisearch output: instant-suche ohne tracking [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Website-Suche? **Eine Website-Suche ist ein Suchfeld, über das Besucher die Inhalte deiner gesamten Website durchsuchen — eine Volltextsuche, die Seiten, Beiträge und Dokumente nach Stichworten findet und die passenden Treffer sortiert anzeigt.** Als Komponente gebaut, ist sie mehr als ein Eingabefeld: ein durchsuchbarer Index deiner Inhalte, Instant-Treffer während des Tippens und Filter über die Trefferliste. Wir reden hier über die **Freitext-Suche über die ganze Seite** — nicht über den strukturierten Filter eines Produktkatalogs (den findest du unter [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/)) und auch nicht über einen KI-Dialog (das ist [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/)). Die Suche findet Inhalte, die es schon gibt — schnell und ohne Umwege. $ cat suche.md - ✓Volltextsuche über die ganze Seite - ✓Instant-Ergebnisse beim tippen - ✓Tippfehler-Toleranz fuzzy - ✓Facetten & Filter - ✓Gewichtung & Relevanz - ✓Ohne Tracking dsgvo warum ## Wer nicht findet, springt ab die suche ist ein **navigationsziel** Wer sucht, hat es eilig und weiß meistens genau, was er will. Findet er es nicht in wenigen Sekunden, ist er weg. Eine gute Suchfunktion fängt genau diese Besucher auf: Sie tippen einen Begriff, sehen sofort passende Treffer und landen direkt beim Inhalt — statt sich durch die Navigation zu klicken oder abzuspringen. Damit das funktioniert, muss die Suche mehr können als „exakt gleich". Sie muss Tippfehler verzeihen, das Wichtigste nach oben sortieren und auch bei null Treffern einen Ausweg zeigen. Wir bauen die Suche so, dass sie zum Bestandteil deiner [UX](https://www.siteway.de/expertise/ux-ui-design/) wird — und dabei [per Tastatur bedienbar](https://www.siteway.de/expertise/barrierefreiheit/) und datenschutzfreundlich bleibt. was der baustein liefert - 01Kürzerer Weg zum **richtigen Inhalt** - 02Weniger **Absprünge** bei großen Seiten - 03Suchbegriffe zeigen, was **gesucht** wird - 04Kein **Tracking**, kein Consent-Zwang baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in deine Website ein — kein fremdes Suchfeld, das Daten abzieht, sondern eine Suche, die deine Inhalte kennt und deine Besucher schnell zum Ziel bringt. Jede Funktion hat ein greifbares Ergebnis. f-01tempo ### Instant-Ergebnisse Treffer erscheinen während des Tippens, ohne dass die Seite neu lädt. Der Index liegt bereit — die Suche antwortet in Millisekunden, nicht nach einem Klick auf „Los". output: instant-index f-02toleranz ### Tippfehler-Toleranz Fuzzy-Matching und Rechtschreibkorrektur fangen Vertipper ab. Wer „Barierefreiheit" schreibt, findet trotzdem den richtigen Beitrag — die Suche denkt mit, statt stur zu vergleichen. output: fuzzy-match f-03eingrenzung ### Facetten & Filter Die Trefferliste lässt sich nach Rubrik, Typ oder Datum eingrenzen. Aus vielen Ergebnissen wird schnell das eine — besonders bei umfangreichen Seiten mit gemischten Inhalten. output: facetten-filter f-04relevanz ### Gewichtung Nicht jeder Treffer ist gleich wichtig. Wir gewichten Felder wie Titel höher als Fließtext und heben bestimmte Inhalte an, damit die relevantesten Ergebnisse oben stehen. output: ranking-regeln f-05ausweg ### Null-Treffer-Handling Kein Treffer ist keine Sackgasse. Statt einer leeren Seite zeigt die Suche Vorschläge, verwandte Begriffe oder eine gezielte Weiterleitung — der Besucher bleibt auf Kurs. output: vorschläge f-06datenschutz ### Ohne Tracking Keine Google Programmable Search, kein fremdes Widget, das Suchbegriffe abzieht. Pagefind läuft statisch im Browser, Meilisearch auf deinem Server — DSGVO-konform, ohne Consent-Zwang. output: dsgvo-suche mehrwert ## Suche ohne Tracking technik nach **größe** Die meisten Ratgeber empfehlen für die schnelle Suche ein Google-Suchfeld zum Einbetten. Das ist bequem — und schickt jede Suchanfrage deiner Besucher an einen Dritten. Wir gehen den anderen Weg: Die richtige Technik hängt von der Größe deiner Seite ab, aber datenschutzfreundlich bleibt sie immer. Kein Suchbegriff verlässt ungefragt deine Website. t-01statisch ### Pagefind Für kleinere und mittlere Seiten. Der Suchindex wird beim Build erzeugt und läuft rein statisch im Browser — kein Server, keine externe API, keine Daten an Dritte. Genau das nutzen wir auch auf dieser Seite. statischer index t-02self-hosted ### Meilisearch Für große Kataloge und viele tausend Einträge. Läuft auf deinem eigenen Server, liefert Tippfehler-Toleranz und Facetten out of the box — volle Kontrolle über die Daten, weil nichts das Haus verlässt. eigener server t-03skaliert ### Algolia Wenn es sehr groß wird und maximale Geschwindigkeit zählt. Ein gehosteter Dienst mit ausgereiftem Ranking — hier wägen wir Komfort gegen Datenschutz ab und klären den Einsatz vorab mit dir. gehosteter dienst einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · umfang Umfang klären. Wie viele Inhalte, welche Typen, welche Filter. Daraus entscheiden wir die Technik: Pagefind statisch oder Meilisearch bzw. Algolia für große Kataloge. output: technik-wahl 2. // schritt 02 · index Index aufbauen. Wir erfassen deine Inhalte, legen fest, was durchsuchbar ist, und bauen den Suchindex — inklusive Gewichtung und Feldern für die Facettenfilter. output: suchindex 3. // schritt 03 · ui Suchfeld einbauen. Suchfeld, Instant-Trefferliste und Filter kommen ins Design deiner Website — tastaturbedienbar, mobil nutzbar und passend zum Rest der Oberfläche. output: such-ui 4. // schritt 04 · test ● ergebnis Feinschliff & live. Wir testen echte Suchbegriffe, justieren Ranking und Null-Treffer-Fälle und schalten die Suche live. Danach findet jeder Besucher, was er sucht. output: live-suche faq ## Häufige Fragen ### Was ist eine Website-Suche? Eine Website-Suche ist ein Suchfeld, über das Besucher die Inhalte deiner gesamten Website durchsuchen — eine Volltextsuche, die Seiten, Beiträge und Dokumente nach Stichworten findet und die passenden Treffer sortiert anzeigt. Als Komponente gebaut, liefert sie Ergebnisse sofort während des Tippens, toleriert Tippfehler und lässt sich nach Rubrik oder Typ filtern. ### Welche Technik nutzt ihr für die Suche — Pagefind, Algolia oder Meilisearch? Das hängt von der Größe ab. Für kleinere und mittlere Seiten setzen wir auf Pagefind: ein statischer Suchindex, der ohne Server läuft und keine Daten an Dritte gibt. Für große Kataloge mit vielen tausend Einträgen oder komplexen Filtern nehmen wir Meilisearch oder Algolia, die auf Wunsch self-hosted laufen. Welche Technik passt, entscheiden wir nach deinem Umfang im Briefing. ### Ist die Website-Suche DSGVO-konform und ohne Tracking? Ja. Wir bauen die Suche bewusst ohne Google Programmable Search und ohne externe Tracking-Widgets ein. Pagefind läuft rein statisch im Browser, Meilisearch lässt sich auf deinem eigenen Server betreiben. Es fließen keine Suchbegriffe deiner Besucher ungefragt an Dritte — Datenschutz ist bei uns kein Nachtrag, sondern Teil der Bauweise. ### Toleriert die Suche Tippfehler? Ja. Die Suche arbeitet mit Fuzzy-Matching und Rechtschreibkorrektur: Vertippt sich jemand oder schreibt einen Begriff phonetisch anders, findet die Suche trotzdem die passenden Treffer. So endet eine Suche seltener im Nichts — und wenn doch kein Treffer da ist, zeigen wir Vorschläge statt einer leeren Seite. ### Was ist der Unterschied zwischen Website-Suche und Produktkatalog-Filter? Die Website-Suche durchsucht alle Inhalte deiner Seite per Freitext — Seiten, Artikel, Dokumente. Ein Produktkatalog-Filter grenzt dagegen eine Liste von Produkten über feste Merkmale wie Preis, Größe oder Farbe ein. Beides sind eigene Komponenten: die Freitext-Suche findest du hier, den strukturierten Filter unter [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/). Oft ergänzen sie sich auf einer Seite. ### Können wir die Suche einzeln buchen? Ja. Suche ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und wir bauen sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Wenn es um Produkte und feste Merkmale geht: der strukturierte Filter statt Freitext — die Schwester zur Suche. weiterlesen → - [KI-Chatbots.](https://www.siteway.de/expertise/ki-chatbots/) — Wenn Besucher eine Antwort statt einer Trefferliste wollen: der KI-Dialog über deine Inhalte, kein Suchindex. weiterlesen → - [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) — Damit die Suche jeder bedienen kann — per Tastatur, Screenreader und nach WCAG 2.2. Wir bauen sie von Anfang an zugänglich. weiterlesen → Suche in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- audit · tech # Tech-Audit Wir schauen unter die Haube deiner bestehenden Website: Stack, Architektur, Code-Qualität und der Weg, auf dem Änderungen live gehen. Ein **Code-Audit**, das nichts umbaut, sondern feststellt, was trägt, was bremst und was ein Risiko ist. Heraus kommt der **tech-report** — priorisierte Befunde mit Aufwand und Wirkung. Er gehört dir, egal wer danach umsetzt. audit audit: einzeln buchbar dauer: 3–5 arbeitstage output: tech-report [Audit anfragen](https://www.siteway.de/kontakt/) [Was wir prüfen](#pruefen) definition ## Was ist ein Code-Audit? **Ein Code-Audit ist die strukturierte Prüfung des Quellcodes und der Technik hinter einer Anwendung — bei einer Website also Stack, Architektur, Code-Qualität, Abhängigkeiten und der Weg, auf dem Änderungen live gehen.** Es wird nichts umgebaut. Wir lesen, messen, ordnen ein — und schreiben auf, was wir gefunden haben. Das Tech-Audit bei siteway ist genau das für Websites und CMS: TYPO3, WordPress, Statamic, PHP und Laravel sind unser Alltag seit 2006. Der Unterschied zu einem Tool-Report ist die Reihenfolge. Ein Scanner listet 340 Findings alphabetisch. Wir sagen dir, welche drei du diese Woche anfasst — und welche 300 du ignorieren kannst. $ cat tech-report.md - ✓Stack & Versionen cms · php · db - ✓Architektur & Templates - ✓Code-Qualität duplikate · kern-hacks - ✓Abhängigkeiten & Update-Pfad - ✓Deployment git · ci/cd · staging - ✓Befunde priorisiert kritisch → niedrig anlass ## Wann sich das Audit lohnt erst wissen, **dann entscheiden** Der häufigste Anlass: Jemand soll eine Website übernehmen, die er nicht gebaut hat. Ein Agenturwechsel steht an, ein internes Team erbt das System, oder ein Käufer will vor der Unterschrift wissen, was er technisch kauft — die technische Due Diligence. In allen drei Fällen ist die Frage dieselbe: Kann man auf dieser Basis weiterbauen, oder zahlt man jahrelang Zinsen auf fremde Abkürzungen? Der zweite Anlass sind Symptome. Jede Änderung dauert plötzlich Tage. Updates werden verschoben, weil niemand weiß, was dann kaputtgeht. Ein Deploy ist ein FTP-Upload am Freitagabend. Nur eine Person kann das System anfassen. Das sind keine Meinungen, das sind Befunde — und sie lassen sich prüfen, bevor sie zu einem [Relaunch](https://www.siteway.de/expertise/relaunch-migration/) eskalieren. symptome - 01Kleine Änderungen dauern **unerklärlich lange** - 02Updates werden **aus Angst verschoben** - 03Kein Git, kein Staging, **kein Rollback** - 04Nur **eine Person** versteht das System - 05Angebote für Umbauten **gehen weit auseinander** prüfung · 6 bereiche ## Was wir prüfen jeder bereich ein **befund** Sechs Bereiche, in dieser Reihenfolge. Wir lesen Code, Konfiguration und Repository-Historie und sprechen mit den Leuten, die das System bedienen. Jeder Bereich endet mit einem Befund, nicht mit einem Gefühl. p-01stack ### Stack & Versionen Welches CMS, welches Framework, welche PHP- und Datenbankversion — und wie lange die noch Sicherheitsupdates bekommen. Ein System auf einer abgelaufenen PHP-Version ist kein Detail, sondern ein Zeitplan. befund: support-status + update-pfad p-02architektur ### Architektur & Templates Wie sind Templates, Module und Datenmodell aufgebaut? Wiederverwendbar oder für jede Seite eine Sonderlocke? Hier entscheidet sich, ob die nächste Anforderung eine Stunde oder eine Woche kostet. befund: struktur-karte + bruchstellen p-03code ### Code-Qualität Lesbarkeit, Duplikate, Änderungen am CMS-Kern, tote Pfade, Testabdeckung. Kern-Hacks sind der klassische Grund, warum ein Update nicht mehr durchläuft — wir finden sie und benennen sie. befund: technische schulden, beziffert p-04dependencies ### Abhängigkeiten Plugins, Extensions, Composer- und npm-Pakete: Wer pflegt sie, wann kam das letzte Update, was ist verwaist? Drei Plugins für dieselbe Aufgabe sind keine Auswahl, sondern Ballast. befund: inventar + pflegestand p-05deployment ### Deployment & Versionierung Wie kommt eine Änderung live? Git mit Branches, CI/CD und Staging — oder FTP ins Live-System? Ohne Versionierung und Rollback ist jede Änderung ein Einzelrisiko. Wir prüfen den Weg, nicht nur das Ziel. befund: prozess-ist + rollback-fähigkeit p-06übergabe ### Übergabefähigkeit Gibt es Dokumentation, sind alle Zugänge da, hängt das System an einer einzelnen Person? Beim Agenturwechsel ist das der entscheidende Punkt: Wie schnell kann ein neues Team wirklich übernehmen. befund: zugangs- + wissenslücken output ## Was du bekommst: den tech-report der report **gehört dir** Kein PDF-Berg mit 340 Findings in alphabetischer Reihenfolge. Der tech-report ist ein Dokument, das man in einer halben Stunde liest und danach entscheiden kann. Jeder Befund hat einen Schweregrad, einen geschätzten Aufwand und eine Wirkung — daraus ergibt sich die Reihenfolge von selbst. Dazu eine Stunde Durchsprache, in der du Rückfragen stellst. r-01befunde ### Priorisierte Befunde Jeder Befund mit Schweregrad von kritisch bis niedrig, Fundstelle im Code und einem Satz, was passiert, wenn nichts passiert. r-02aufwand ### Aufwand & Wirkung Zu jedem Punkt eine Aufwandsschätzung und der erwartete Effekt. So siehst du, was viel bringt und wenig kostet — und was warten kann. r-03reihenfolge ### Nächste Schritte Eine konkrete Reihenfolge: was in dieser Woche, was in diesem Quartal, was gar nicht. Umsetzbar auch ohne uns. r-04entscheidung ### Weiterbauen oder ablösen Die ehrliche Antwort auf die teuerste Frage: Trägt die Basis noch — oder ist ein [Relaunch](https://www.siteway.de/expertise/relaunch-migration/) günstiger als jahrelange Reparatur? r-05risiken ### Risikoliste Was dich kalt erwischen kann: auslaufender Support, verwaiste Extensions, fehlendes Backup, Wissen in einem einzigen Kopf. r-06eigentum ### Der Report gehört dir Als Markdown und PDF, ohne Sperrfrist und ohne Umsetzungspflicht. Gib ihn deiner Agentur, deinem Team oder einem Dritten. ablauf · 4 schritte ## So läuft das Audit 3–5 tage bis zum **report** 1. // schritt 01 · briefing Briefing & Zugänge. Was ist das System, was ist der Anlass, was ist die Frage dahinter. Du gibst uns Lesezugriff auf Repository, CMS und Server. Kein Git? Dann Quellcode-Export und Datenbank-Dump — das reicht. output: scope + festpreis 2. // schritt 02 · analyse Analyse. Wir lesen Code, Konfiguration und Repository-Historie, prüfen Abhängigkeiten und gehen den Deployment-Weg einmal komplett durch. Statische Analyse liefert die Zahlen, unsere Erfahrung die Einordnung. output: rohbefunde 3. // schritt 03 · bewertung Bewertung & Priorisierung. Jeder Befund bekommt Schweregrad, Aufwand und Wirkung. Was nur kosmetisch ist, fliegt raus. Übrig bleibt eine Liste, die man abarbeiten kann — von oben nach unten. output: priorisierte liste 4. // schritt 04 · übergabe ● ergebnis Report & Durchsprache. Du bekommst den tech-report und eine Stunde Durchsprache. Danach entscheidest du: selbst umsetzen, umsetzen lassen — oder erst mal nichts tun, aber mit offenen Augen. output: tech-report.md + pdf faq ## Häufige Fragen ### Was ist ein Code-Audit? Ein Code-Audit ist die strukturierte Prüfung des Quellcodes und der Technik hinter einer Anwendung — bei einer Website also Stack, Architektur, Code-Qualität, Abhängigkeiten und der Weg, auf dem Änderungen live gehen. Es wird nichts umgebaut. Am Ende steht ein Befund: Was trägt, was bremst, was ist ein Risiko — und in welcher Reihenfolge man es angeht. ### Was prüft das Tech-Audit konkret? Sechs Bereiche: Stack und Versionen (CMS, Framework, PHP, Datenbank), Architektur und Templates, Code-Qualität im Kern und in eigenen Modulen, Abhängigkeiten wie Plugins und Extensions, den Deployment-Prozess mit Git, CI/CD und Staging sowie die Übergabefähigkeit — Dokumentation, Zugänge und die Frage, wie schnell ein neues Team übernehmen kann. ### Was kostet das Audit? Festpreis nach Briefing. Sobald klar ist, wie groß das System ist, welches CMS läuft und welche Zugänge es gibt, nennen wir einen Preis für das Tech-Audit und halten ihn fest. Keine Tagessätze, die während der Analyse wachsen. ### Wie lange dauert das Tech-Audit? Für eine übliche Business-Website drei bis fünf Arbeitstage vom Zugang bis zum Report. Große TYPO3-Installationen mit vielen Extensions, Schnittstellen und Sprachen brauchen länger — das steht vor Beginn im Angebot, nicht danach in der Rechnung. ### Was braucht ihr von uns, um zu prüfen? Im Idealfall Lesezugriff auf das Repository, das CMS-Backend und den Server. Wenn es kein Git gibt — was häufiger vorkommt, als man denkt —, reicht ein Quellcode-Export plus Datenbank-Dump. Genau dieses Fehlen ist übrigens schon ein Befund und landet im Report. ### Müssen wir die Umsetzung bei euch beauftragen? Nein. Der tech-report gehört dir, inklusive aller Befunde und Empfehlungen. Du kannst ihn deiner bisherigen Agentur geben, deinem internen Team oder einem Dritten. Wenn du willst, übernehmen wir die Umsetzung — als [Entwicklung & Umsetzung](https://www.siteway.de/expertise/entwicklung-umsetzung/) oder, wenn sich der Weiterbetrieb nicht mehr lohnt, als [Relaunch & Migration](https://www.siteway.de/expertise/relaunch-migration/). Eine Pflicht dazu gibt es nicht. ### Ist das Tech-Audit ein Penetrationstest? Nein. Wir greifen deine Seite nicht an und suchen keine Exploits. Das Tech-Audit schaut auf Stack, Architektur, Code und Deployment. Wenn du TLS-Konfiguration, Security-Header wie CSP und HSTS oder bekannte CVEs in Abhängigkeiten geprüft haben willst, ist das [Security-Audit](https://www.siteway.de/expertise/security-audit/) der richtige Baustein. Ein echter Penetrationstest ist eine eigene Disziplin — den machen wir nicht. passt dazu ## Passt dazu audits & **leistungen** - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Das Audit findet die Befunde — diese Leistung räumt sie ab: sauberer Code, Git, CI/CD, Staging und ein Deployment ohne Freitagsangst. weiterlesen → - [Security-Audit.](https://www.siteway.de/expertise/security-audit/) — Die Schwester zum Tech-Audit: TLS, Security-Header wie CSP und HSTS, veraltete Abhängigkeiten und bekannte CVEs. weiterlesen → - [Relaunch & Migration.](https://www.siteway.de/expertise/relaunch-migration/) — Wenn der Report sagt, dass sich Reparieren nicht mehr lohnt: Ablösung mit Inhalten, URLs und Rankings — ohne Bruch. weiterlesen → Wissen, was unter deiner Website läuft? [Audit anfragen](https://www.siteway.de/kontakt/) --- svc-02 · design # UX/UI Design Als **UX/UI-Design-Agentur** gestaltet siteway User-Journeys und Interfaces in Figma — responsiv, barrierefrei und als Design-System mit maschinenlesbaren Tokens, aus denen direkt Code entsteht. Die Vorlage liefert das [Konzept](https://www.siteway.de/expertise/konzept-strategie/), das Ergebnis übernimmt die [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) — ohne Reibungsverlust. svc-02 einzeln buchbar tool: figma output: design-system [Briefing starten](https://www.siteway.de/kontakt/) [Ablauf ansehen](#ablauf) definition ## Was ist UX/UI-Design? **UX/UI-Design verbindet zwei Disziplinen: UX-Design plant, wie Nutzer eine Website erleben — Wege, Abläufe und Entscheidungen. UI-Design gestaltet, was sie dabei sehen — Layout, Typografie, Farben und Komponenten.** Erst zusammen ergeben beide ein Interface, das funktioniert: Nutzer finden, was sie suchen, und tun, was die Seite erreichen soll. Bei uns entsteht beides in Figma — auf Basis der Wireframes aus [Konzept & Strategie](https://www.siteway.de/expertise/konzept-strategie/). Am Ende steht kein Ordner voller Bilddateien, sondern ein Design-System: Komponenten, Regeln und maschinenlesbare Tokens, mit denen die [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) direkt weiterarbeitet. $ cat ux-ui-design.md - ✓User-Journeys & Flows - ✓Screendesign figma - ✓Responsives Interface alle breakpoints - ✓Komponenten-Bibliothek - ✓Design-Tokens tokens.json - ✓Klick-Prototyp & Test warum ## Schön ist nicht das Ziel design, das man **messen kann** Ein Interface hat einen Job: Besucher sollen in Sekunden verstehen, wo sie sind, was es hier gibt und was der nächste Schritt ist. Schafft das Design das nicht, hilft auch die schönste Optik nichts — Nutzer springen ab, bevor sie dein Angebot gesehen haben. Deshalb gestalten wir vom Nutzer aus, nicht vom Logo. Jede Seite hat eine klare Hierarchie, jeder Weg einen nächsten Schritt, jedes Formular so wenige Felder wie möglich. Und weil das Interface als System entsteht, bleibt es konsistent — auf der fünften Unterseite genauso wie auf der fünfzigsten. woran wir design messen - 01Nutzer erreichen ihr Ziel — **Usability** vor Optik - 02Aus Besuchern werden Anfragen — **Conversion** - 03Komponenten statt Einzelfälle — **Konsistenz** - 04Kontraste & Fokus nach **WCAG 2.2** leistung · 6 bausteine ## Was das UX/UI-Design umfasst von journey bis **token** Sechs Bausteine, ein Ergebnis: ein Design-System, aus dem die Entwicklung ohne Interpretationsspielraum baut. Jeder Baustein hat ein greifbares Artefakt. b-01journeys ### User-Journeys & Flows Wer kommt woher, was sucht er, wo soll er hin. Wir planen die Wege vom Einstieg bis zur Anfrage — bevor der erste Screen entsteht. output: journey-map b-02screendesign ### Screendesign in Figma Aus den Wireframes des Konzepts wird ein Interface: Layout, Typografie, Farben und Bildsprache — jede Vorlage als ausgearbeiteter Screen. output: figma-screens b-03responsive ### Responsives Interface Gestaltet für alle Breakpoints, vom Smartphone bis zum Widescreen. Mobil ist nicht die Ausnahme, sondern der Normalfall — dort entscheidet sich die Nutzung. output: breakpoints b-04komponenten ### Komponenten-Bibliothek Buttons, Formulare, Karten, Navigation: jedes Element einmal definiert, überall wiederverwendet — mit allen Zuständen von Hover bis Fehler. output: komponenten b-05tokens ### Design-Tokens Farben, Abstände, Schriften und Radien als maschinenlesbare Werte. Aus der Token-Datei werden CSS-Variablen — Design und Code driften nicht auseinander. output: tokens.json b-06prototyp ### Prototyp & Test Ein klickbarer Prototyp zeigt Abläufe, bevor entwickelt wird. Du testest am echten Gerät, wir schärfen nach — Änderungen kosten hier Minuten, nicht Tage. output: klick-prototyp design-to-code ## Vom Design-Token zum Code eine quelle · **kein pixel-nachbau** Der klassische Weg von Design zu Code ist ein Übersetzungsfehler mit Ansage: Der Designer liefert einen PDF-Styleguide, der Entwickler misst Abstände nach, und drei Monate später stimmen Farben und Schriftgrößen nirgends mehr überein. Wir haben diesen Schritt abgeschafft. Bei uns lebt jede Gestaltungsentscheidung als **Design-Token** in einer strukturierten Datei. Aus tokens.json generieren wir per Build die CSS-Variablen, mit denen die [Entwicklung](https://www.siteway.de/expertise/entwicklung-umsetzung/) baut. Ändert sich die Markenfarbe, ändert sich eine Zeile — und die ganze Website zieht nach. Auch unsere KI-gestützte Entwicklung mit Copilot, Cursor und Claude arbeitet direkt auf den Tokens: Die Werkzeuge lesen maschinenlesbare Regeln, statt Screenshots zu interpretieren. Mehr dazu im [Stack](https://www.siteway.de/stack/). $ cat tokens.json { "color-signal": "#16A34A", "space-md": "1,25rem", "radius-md": "6px", "font-mono": "JetBrains Mono" } build: tokens.json → css-variablen → komponenten barrierefreiheit ## Barrierefrei ab dem ersten Screen wcag 2.2 · **bfsg** Barrierefreiheit lässt sich nicht nachträglich in fertige Screens patchen — sie wird im Design entschieden. Zu geringe Kontraste, zu kleine Touch-Ziele und unsichtbare Fokus-Zustände sind Gestaltungsfehler, keine Entwicklungsfehler. Deshalb legen wir sie dort ab, wo sie entstehen: in den Tokens und Komponenten. Konkret heißt das: Textkontraste von mindestens 4,5:1, Touch-Ziele nach WCAG 2.2, sichtbare Fokus-Ringe für die Tastaturbedienung und Schriftgrößen, die skalieren. Seit Juni 2025 verlangt das **BFSG** barrierefreie Websites für viele Unternehmen ohnehin — wir bauen es von Anfang an ein, statt später nachzurüsten. Wie wir das technisch prüfen, steht unter [Barrierefreiheit](https://www.siteway.de/expertise/barrierefreiheit/). im design festgelegt - 01Textkontrast **≥ 4,5:1** — als Token geprüft - 02Touch-Ziele nach **WCAG 2.2** - 03Fokus-Zustände **sichtbar** in jeder Komponente - 04Schrift & Layout **skalierbar** bis 200 % ablauf · 5 schritte ## So entsteht dein Design jeder schritt ein ergebnis · **ein system am ende** 1. // schritt 01 · übernahme Wireframes & Scope übernehmen. Wir starten mit den Ergebnissen aus Konzept & Strategie. Gibt es noch kein Konzept, holen wir das Nötigste in einem kompakten Kickoff nach. output: design-briefing 2. // schritt 02 · richtung Design-Sprache festlegen. Eine Schlüsselseite, zwei Gestaltungsrichtungen: Typografie, Farbwelt, Bildsprache. Du entscheidest, bevor wir in die Breite gehen. output: design-richtung 3. // schritt 03 · screens Screendesign aller Templates. Jede Vorlage als responsiver Screen in Figma — mit echten Inhalten statt Blindtext, wo immer es geht. Du kommentierst direkt in der Datei. output: figma-screens 4. // schritt 04 · test Prototyp & Feedback. Ein klickbarer Prototyp macht Abläufe erlebbar. Du testest auf dem eigenen Gerät, wir schärfen in festen Feedbackrunden nach. output: klick-prototyp 5. // schritt 05 · system ● ergebnis Design-System & Übergabe. Komponenten-Bibliothek und tokens.json gehen an die Entwicklung — maschinenlesbar, ohne Nachmessen, ohne Interpretationsspielraum. output: design-system faq ## Häufige Fragen ### Was ist der Unterschied zwischen UX- und UI-Design? UX-Design plant, wie Nutzer eine Website erleben: Wege, Abläufe und Entscheidungen bis zum Ziel. UI-Design gestaltet, was sie dabei sehen: Layout, Typografie, Farben und Komponenten. Beides greift ineinander — deshalb liefern wir es aus einer Hand. ### Was macht eine UX/UI-Design-Agentur? Eine UX/UI-Design-Agentur übersetzt Anforderungen in ein nutzbares Interface: Sie plant User-Journeys, gestaltet Screens für alle Bildschirmgrößen und baut daraus ein Design-System. Bei siteway kommt die Übergabe als maschinenlesbare Design-Tokens dazu, aus denen direkt Code entsteht. ### Was kostet UX/UI-Design? Festpreis nach Briefing. Sobald feststeht, wie viele Templates und Komponenten gestaltet werden, nennen wir einen Preis für die Designphase und halten ihn im Vertrag fest. ### Wie lange dauert die Designphase? Je nach Anzahl der Templates zwei bis fünf Wochen. Eine Business-Website mit sechs bis acht Vorlagen liegt bei rund drei Wochen — inklusive Feedbackrunden und Klick-Prototyp. ### In welchem Tool entsteht das Design? In Figma. Du bekommst Zugriff auf die Arbeitsdatei, kommentierst direkt an den Screens und siehst jeden Stand live. Nach dem Projekt gehört die Datei dir. ### Was sind Design-Tokens? Design-Tokens sind Gestaltungsentscheidungen als maschinenlesbare Werte: Farben, Abstände, Schriftgrößen und Radien in einer strukturierten Datei statt in einem PDF-Styleguide. Aus den Tokens generieren wir CSS-Variablen — Design und Code nutzen dieselbe Quelle. ### Könnt ihr ein bestehendes Design überarbeiten? Ja. Beim Redesign starten wir mit einem UX-Audit der Bestandsseite: Was funktioniert, wo springen Nutzer ab, was bleibt. Danach entscheiden wir gemeinsam, ob ein Facelift reicht oder ein neues Design-System sinnvoller ist. ### Ist das Design barrierefrei? Ja. Kontraste, Schriftgrößen, Fokus-Zustände und Touch-Ziele legen wir nach WCAG 2.2 an — im Design, nicht erst im Code. Seit Juni 2025 verlangt das BFSG das für viele Websites ohnehin. weiter im prozess ## Was nach dem Design kommt alle leistungen im **überblick** - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Aus Design-System und Tokens wird semantisches Markup — wartbar, auch in zwei Jahren. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Die gebauten Templates landen im CMS — deine Redaktion füllt und pflegt sie selbst. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Wie aus Journeys, Screens und Tokens fertige Websites wurden — unsere Cases. zu den cases → Interface neu denken? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · seminars # Veranstaltungen & Seminare Veranstaltungen & Seminare ist bei siteway eine Komponente — ein Baustein, den wir in deine Website einbauen. Aus einer separaten **Seminarverwaltung-Software** wird ein Kalender direkt auf deiner Seite: mit Online-Anmeldung, Teilnehmerverwaltung, Wartelisten, optionaler Zahlung und [Event-Schema](https://www.siteway.de/expertise/strukturierte-daten/) für Rich Results. komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: event-schema + anmeldung [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Seminarverwaltung? **Eine Seminarverwaltung bündelt alles, was ein Gruppen-Event auf deiner Website braucht: einen Kalender mit Terminen, ein Anmeldeformular je Veranstaltung, die Verwaltung der Teilnehmer und — bei vollem Kurs — eine Warteliste.** Als Komponente gebaut, ist das kein fremdes Portal, sondern ein Baustein direkt in deiner Seite: gleiche Domain, gleiches Design. Der Unterschied zu einem einfachen Terminkalender ist der Anmelde-Fokus. Hier geht es um viele Teilnehmer pro Termin: Seminare, Workshops, Webinare, Tagungen. Reine Termin-Anzeige ohne Anmeldung liefert die Schwester-Komponente [News & Events](https://www.siteway.de/expertise/news-events/), einzelne 1:1-Termine die Komponente [Buchung & Termine](https://www.siteway.de/expertise/buchung-termine/). $ cat veranstaltungen-seminare.md - ✓Veranstaltungskalender - ✓Online-Anmeldung je termin - ✓Teilnehmerverwaltung - ✓Wartelisten & Kontingente - ✓Zahlung optional - ✓Event-Schema schema.org/Event warum ## Anmeldung auf deiner eigenen Seite kein umweg über ein **fremdportal** Die meisten Seminaranbieter schicken ihre Besucher zur Anmeldung auf ein separates Buchungsportal. Der Interessent verlässt deine Website, landet in fremdem Design, und der Termin steht als Seite auf einer fremden Domain — nicht auf deiner. Genau da geht Vertrauen und Sichtbarkeit verloren. Als Komponente bleibt die Anmeldung dort, wo sie hingehört: auf deiner Seite. Jeder Termin ist eine eigene Seite auf deiner Domain, wird von Google indexiert und trägt Event-Schema. Der Baustein spart dir das monatliche Software-Abo — die Daten liegen im eigenen CMS, sichtbar werden die Termine über [SEO & GEO](https://www.siteway.de/expertise/seo-geo/). was der baustein liefert - 01Anmeldung auf der **eigenen Domain** - 02Termine als **Rich Result** in Google - 03Teilnehmerdaten im **eigenen CMS** - 04Kein **monatliches Abo** baustein · 6 funktionen ## Was die Komponente kann jede funktion ein **output** Wir bauen sechs Funktionen in dein CMS ein — vom Kalender bis zum Event-Schema. Kein separates Portal, sondern ein Anmelde-System, das deine Redaktion pflegt und Suchmaschinen lesen können. Jede Funktion hat ein greifbares Ergebnis. f-01kalender ### Veranstaltungskalender Termine für Seminare und Veranstaltungen im CMS pflegen. Daraus entsteht eine Übersicht mit Filtern nach Kategorie und eine eigene Detailseite je Termin — mit Datum, Ort und Beschreibung. output: termin-übersicht f-02anmeldung ### Online-Anmeldung Jede Veranstaltung bekommt ein Anmeldeformular direkt auf deiner Seite. Der Teilnehmer trägt sich ein, erhält eine Bestätigungs-Mail — ohne Umweg über ein fremdes Buchungsportal. output: anmeldeformular f-03teilnehmer ### Teilnehmerverwaltung Alle Anmeldungen zentral im CMS: Status setzen, Teilnehmerlisten je Termin, Export für die interne Organisation. Du siehst jederzeit, wer für welchen Termin gebucht hat. output: teilnehmerliste + export f-04kontingent ### Wartelisten & Kontingente Du legst je Termin eine maximale Teilnehmerzahl fest. Ist der Kurs voll, schaltet der Baustein auf eine Warteliste um — sagt jemand ab, rückt der nächste automatisch nach. output: kontingent + nachrück-logik f-05zahlung ### Zahlung (optional) Bei kostenpflichtigen Seminaren binden wir die Zahlung direkt in die Anmeldung ein — über Stripe, PayPal, Klarna, Apple Pay oder Google Pay. Der Platz gilt erst mit erfolgter Zahlung als reserviert. output: stripe · paypal · klarna f-06auszeichnung ### Event-Schema Jede Veranstaltung erhält schema.org/Event-JSON-LD: Name, Datum, Ort, Preis und Anmeldestatus maschinenlesbar. Das ist die Grundlage für Event-Rich-Results direkt in der Google-Suche. output: schema.org/Event mehrwert ## Deine Termine als Rich Result gefunden werden, **bevor** jemand sucht Vergleichsportale für Seminarverwaltung-Software reden über Funktionen — über Sichtbarkeit reden sie nicht. Der entscheidende Hebel für eigene Veranstaltungen ist das Event-Markup: Nur mit schema.org/Event versteht Google, dass eine Seite eine Veranstaltung mit Datum, Ort und Anmeldestatus ist — und zeigt sie als Kachel an. Läuft die Anmeldung auf einem fremden Portal, bekommt dieses Signal die fremde Domain, nicht deine. r-01sichtbar ### Event-Kachel in der Suche Mit Event-Schema kann Google Datum, Ort und Titel als eigene Kachel anzeigen — in der normalen Suche und in der Google-Event-Übersicht. Der Termin fällt auf, bevor jemand deinen Namen kennt. rich result r-02status ### Anmeldestatus im Markup Der Baustein hält das Event-Schema aktuell: geplant, wenige Plätze, ausgebucht oder abgesagt. Google zeigt den Status mit an — die Kachel bleibt korrekt, ohne dass du sie von Hand pflegst. eventStatus + offers r-03format ### Vor Ort oder online Ob Präsenz-Seminar, Webinar oder Hybrid — das Schema kennt den Attendance-Mode. So passt die Auszeichnung zum Format und Google versteht, wo die Veranstaltung stattfindet. Details bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). attendanceMode einbau · 4 schritte ## So bauen wir den Baustein ein in deine seite · **nicht daneben** 1. // schritt 01 · struktur Formate festlegen. Welche Veranstaltungsarten, welche Felder im Anmeldeformular, kostenlos oder kostenpflichtig, mit oder ohne Warteliste. Wir klären den Umfang und wie der Baustein konfiguriert wird. output: event-modell 2. // schritt 02 · cms Ins CMS einbauen. Wir bauen Kalender, Anmeldeformular und Teilnehmerverwaltung in dein TYPO3, WordPress oder Statamic — mit Feldern und Vorlagen, die zu deinem Team passen. Bei kostenpflichtigen Seminaren binden wir die Zahlung an. output: kalender + formular 3. // schritt 03 · auszeichnung Event-Schema anschließen. schema.org/Event je Termin, Anmeldestatus und Attendance-Mode werden verdrahtet — die maschinenlesbare Seite entsteht mit. So kann Google Rich Results für deine Veranstaltungen bauen. output: json-ld je termin 4. // schritt 04 · übergabe ● ergebnis Redaktion einweisen. Kurze Einweisung, ein erster Test-Termin, fertig. Danach legt deine Redaktion Veranstaltungen selbst an — Anmeldung, Warteliste und Schema laufen im Hintergrund automatisch mit. output: live-kalender faq ## Häufige Fragen ### Was ist eine Seminarverwaltung als Website-Komponente? Eine Seminarverwaltung als Website-Komponente ist ein Baustein, den wir in deine Website einbauen: ein Kalender für Seminare und Veranstaltungen mit Online-Anmeldung, Teilnehmerverwaltung, Wartelisten und optionaler Zahlung. Anders als eine separate Seminarverwaltung-Software läuft alles auf deiner eigenen Domain und im Design deiner Seite. Jede Veranstaltung bekommt zusätzlich schema.org/Event-Markup für Rich Results in Google. ### Worin unterscheidet sich der Baustein von einer Seminarverwaltung-Software? Eine klassische Seminarverwaltung-Software ist ein eigenes Portal, auf das du deine Besucher wegschickst — die Anmeldung passiert auf einer fremden Domain. Unser Baustein sitzt direkt in deiner Website: gleiche Adresse, gleiches Design, gleiche Suchmaschinen-Signale. Die Termine sind Seiten auf deiner Domain, werden indexiert und tragen Event-Schema. Du sparst dir das monatliche Software-Abo und behältst die Daten im eigenen CMS. ### Können sich Teilnehmer online anmelden — inklusive Warteliste? Ja. Jede Veranstaltung bekommt ein Anmeldeformular mit Bestätigungs-Mail. Du legst je Termin eine maximale Teilnehmerzahl fest. Ist der Termin voll, schaltet der Baustein automatisch auf eine Warteliste um — sagt jemand ab, rückt der nächste nach. So bleibt die Kontingent-Verwaltung ohne Handarbeit korrekt. ### Lässt sich eine Zahlung bei der Anmeldung einbauen? Ja, wenn deine Seminare kostenpflichtig sind. Wir binden die Zahlung bei der Anmeldung über Stripe, PayPal, Klarna, Apple Pay oder Google Pay ein. Der Platz ist dann erst mit erfolgter Zahlung reserviert. Für kostenlose Veranstaltungen lässt du diesen Schritt einfach weg — die Anmeldung funktioniert auch ohne Zahlung. ### Bekommen die Veranstaltungen Event-Schema für Rich Results? Ja. Jede Veranstaltung erhält schema.org/Event-JSON-LD mit Name, Datum, Ort, Preis und Anmeldestatus. Google kann daraus Event-Rich-Results bauen — die Kachel mit Datum und Ort direkt in der Suche und in der Google-Event-Übersicht. Ein separates Anmeldeportal liefert dieses Signal für deine eigene Domain nicht. ### Was ist der Unterschied zu Buchung & Termine und News & Events? Die drei Bausteine trennen wir nach Zweck. Buchung & Termine ist für 1:1-Termine gedacht — ein Kunde bucht einen freien Slot, etwa eine Beratung. News & Events zeigt Meldungen und Termine nur an, ohne Anmeldung. Veranstaltungen & Seminare ist der Baustein für Gruppen-Events mit Anmeldung: viele Teilnehmer pro Termin, Kontingente, Wartelisten und Teilnehmerverwaltung. ### Können wir die Komponente einzeln buchen? Ja. Veranstaltungen & Seminare ist eine modulare Komponente, kein Gesamtpaket. Du buchst sie einzeln über das Paket „Komponenten" und baust sie in deine bestehende Website ein — oder als einen Baustein unter mehreren, wenn wir eine komplette Website bauen. Der Preis steht nach Briefing fest. passt dazu ## Passt dazu bausteine & **leistungen** - [Buchung & Termine.](https://www.siteway.de/expertise/buchung-termine/) — Für 1:1-Termine statt Gruppen-Events — ein Kunde bucht einen freien Slot. Die Schwester, wenn es um einzelne Beratungen geht. weiterlesen → - [Strukturierte Daten.](https://www.siteway.de/expertise/strukturierte-daten/) — Der Baustein liefert Event-Schema — diese Leistung denkt die ganze Website maschinenlesbar: JSON-LD für alle Seitentypen. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Websites mit Anmelde- und Termin-Bausteinen im Einsatz — unsere Cases, von der Struktur bis zum Ergebnis. zu den cases → Seminar-Anmeldung in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- komponente · knowledge # Wissensdatenbank & Glossar Wir bauen dir **Wissensdatenbank & Glossar** als Baustein in deine Website ein: ein Help-Center mit Kategorien und Suche, dazu ein Glossar, in dem du jeden Fachbegriff einmal sauber erklärst. Wenn wir für dich ein **Glossar erstellen**, bekommt jeder Begriff eine eigene Seite mit klarer Definition und Schema — strukturiert für [SEO und KI-Antworten](https://www.siteway.de/expertise/seo-geo/). komponente baustein: einzeln buchbar cms: typo3 · wordpress · statamic output: glossar + help-center [Briefing starten](https://www.siteway.de/kontakt/) [Was der Baustein kann](#kann) definition ## Was ist eine Wissensdatenbank? **Eine Wissensdatenbank ist ein strukturierter Bereich auf deiner Website, der Fachbegriffe, Hilfe-Artikel und häufige Fragen an einem Ort sammelt.** Jeder Eintrag hat eine eigene URL und beantwortet genau eine Frage. Das Glossar erklärt einzelne Begriffe kurz, das Help-Center bündelt längere Anleitungen in Kategorien. Als Baustein bauen wir das so, dass drei Leser dieselbe Antwort finden: dein Kunde, die Suchmaschine und das KI-Antwortsystem. Deshalb steht die Definition immer im ersten Satz — nicht nach drei Absätzen Einleitung. Das ist der Unterschied zwischen einem Glossar, das nur nett aussieht, und einem, das rankt und zitiert wird. $ cat glossar.md - ✓Begriff = eine eigene URL - ✓Definition im ersten Satz - ✓Kategorien & Querverweise - ✓Volltextsuche über alle Einträge - ✓DefinedTerm- & FAQ-Schema - ✓Pflege im cms, ohne Entwickler nutzen ## Warum sich der Baustein lohnt fachbegriff wird **einstieg** Deine Kunden googeln nicht nach deinem Produktnamen — sie googeln nach dem Problem und den Begriffen drumherum. Ein Glossar fängt genau diese Recherche ab: informationsgetriebene Suchen, die lange vor der Kaufentscheidung stehen. Jeder erklärte Begriff ist eine zusätzliche Tür in deine Website und ein Beleg, dass du dein Feld beherrschst. Gleichzeitig entlastet das Help-Center deinen Support: Fragen, die sonst per Mail kommen, stehen als **FAQ-Seite** und Hilfe-Artikel öffentlich da — auffindbar über die Suche und verlinkbar aus jeder Antwort. Ein Baustein, zwei Effekte: mehr Sichtbarkeit vorn, weniger Rückfragen hinten. was der baustein bringt - 01Traffic aus der **Recherchephase** - 02Expertise sichtbar, **belegbar** - 03Weniger **Support-Anfragen** - 04Zitierfähig in **KI-Antworten** baustein · 6 teile ## Was die Komponente kann jeder teil ein **output** Ein Baustein, sechs Teile. Wir setzen sie in dein CMS und übergeben einen Bereich, den deine Redaktion ohne uns weiterpflegt. t-01glossar ### Glossar mit Einzelseiten Jeder Begriff bekommt eine eigene, indexierbare URL mit der Definition gleich im ersten Satz. Verwandte Begriffe verlinken sich gegenseitig. output: begriff-urls t-02help-center ### Help-Center & Kategorien Hilfe-Artikel in Kategorien sortiert, mit Übersichtsseiten, Breadcrumbs und einem klaren Weg vom Thema zur Antwort. output: kategorien t-03suche ### Volltextsuche Sofortsuche über alle Begriffe und Artikel. Wer den Namen kennt, tippt ihn — wer nicht, findet ihn über die Kategorie. output: instant-suche t-04faq ### FAQ-Bereich Häufige Fragen als aufklappbarer Block mit FAQPage-Schema. Die Antworten sind so kurz, dass sie als Snippet und in KI-Antworten funktionieren. output: faq-schema t-05schema ### DefinedTerm-Schema Jeder Begriff wird als DefinedTerm im DefinedTermSet ausgezeichnet. Mehr dazu bei [Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). output: json-ld t-06redaktion ### Pflege im CMS Neue Begriffe und Artikel entstehen im gewohnten Backend — TYPO3, WordPress oder Statamic. Schema, Suche und Navigation laufen automatisch mit. output: redaktions-ui geo · zitierfähigkeit ## Definitionen, die KI zitiert eine frage · **eine antwort** Die meisten Glossare sind für Menschen geschrieben, die schon auf der Seite sind. Wir bauen sie für den Fall davor: Jemand fragt ChatGPT, Perplexity oder Google, was ein Begriff bedeutet — und die Antwort zieht ihre Quelle aus deinem Eintrag. Damit das passiert, muss ein Eintrag drei Dinge erfüllen. Das ist der Teil, den kaum ein Glossar mitdenkt. g-01antwort zuerst ### Antwort im ersten Satz KI-Systeme extrahieren die kürzeste vollständige Antwort. Wenn dein Eintrag mit „X ist …“ beginnt, ist genau dieser Satz der Kandidat fürs Zitat — keine Einleitung davor. definition first g-02maschinenlesbar ### Schema als Kontext DefinedTerm und FAQPage sagen der Maschine unmissverständlich: Das hier ist ein Begriff, das seine Definition, das eine Frage-Antwort. So landet die Information ohne Rateschritt im richtigen Feld. definedterm g-03eine seite ### Eine URL pro Begriff Ein Begriff, eine Adresse, eine Sache. Das macht den Eintrag verlinkbar, teilbar und für Suchmaschinen eindeutig — die Grundlage dafür, überhaupt als Quelle genannt zu werden. eine url faq ## Häufige Fragen ### Was ist eine Wissensdatenbank? Eine Wissensdatenbank ist ein strukturierter Bereich auf deiner Website, der Fachbegriffe, Hilfe-Artikel und häufige Fragen an einem Ort sammelt. Jeder Eintrag hat eine eigene URL und beantwortet genau eine Frage. Als Website-Komponente ist sie so aufgebaut, dass Nutzer, Suchmaschinen und KI-Antwortsysteme dieselbe Information sofort finden. ### Was ist der Unterschied zwischen Glossar, Help-Center und Wissensdatenbank? Ein Glossar erklärt einzelne Fachbegriffe kurz und definiert. Ein Help-Center bündelt längere Hilfe-Artikel und Anleitungen in Kategorien. Die Wissensdatenbank ist der Oberbegriff für beides. Wir bauen die Komponente so, dass Glossar und Help-Center dieselbe Suche, dieselbe Navigation und dasselbe Schema teilen. ### Wie hilft ein Glossar bei SEO und KI-Antworten? Jeder Begriff wird eine eigene Seite, die auf eine konkrete Suchanfrage antwortet — das bringt Traffic früh in der Recherchephase. Weil die Definition gleich im ersten Satz steht und mit DefinedTerm-Schema ausgezeichnet ist, kann sie auch als Quelle in KI-Antworten und Google-AI-Overviews auftauchen. Aus einem Fachwort wird so ein Einstieg auf deine Website. ### In welches CMS baut ihr die Komponente ein? In TYPO3, WordPress oder Statamic. Die Redaktion pflegt Begriffe und Artikel im gewohnten Backend, neue Einträge entstehen ohne Entwickler. Schema, Suche und Navigation laufen automatisch mit. ### Kann ich nur diese Komponente buchen? Ja. Wissensdatenbank & Glossar ist ein einzeln buchbarer Baustein. Wir bauen ihn in deine bestehende Website ein oder als Teil einer neuen Seite. Du bekommst Glossar, Help-Center, Suche und Schema als fertigen Bereich, den deine Redaktion selbst weiterpflegt. ### Welche strukturierten Daten nutzt die Komponente? Glossarbegriffe erhalten DefinedTerm-Auszeichnung innerhalb eines DefinedTermSet, der FAQ-Bereich bekommt FAQPage-Schema und Artikel eine passende Article-Auszeichnung. Das JSON-LD ist die Single Source of Truth und entsteht automatisch aus den CMS-Inhalten, damit Sichtbares und Markup nie auseinanderlaufen. passt dazu ## Passt gut dazu bausteine & **leistungen** - [Suche.](https://www.siteway.de/expertise/suche/) — Die Volltextsuche, die dein Glossar und Help-Center durchsuchbar macht — auch site-weit. zur komponente → - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Damit Glossar und Help-Center nicht nur existieren, sondern ranken und in KI-Antworten auftauchen. weiterlesen → - [Referenzen ansehen.](https://www.siteway.de/cases/) — Wo wir Komponenten wie diese in echte Websites gebaut haben — unsere Cases. zu den cases → Glossar in deine Website einbauen? [Briefing starten](https://www.siteway.de/kontakt/) --- rechtliches # impressum ## Angaben gemäß § 5 DDG Homepage Helden GmbH Marke: Siteway Poststraße 20 20354 Hamburg ## Vertreten durch Nico Tjarks, Richard Albrecht, Paul Albrecht ## Kontakt Telefon: [+49 40 839 88 242](tel:+494083988242) E-Mail: [hallo@siteway.de](mailto:hallo@siteway.de) ## Registereintrag Eintragung im Handelsregister. Registergericht: Amtsgericht Hamburg Registernummer: HRB 125727 ## Umsatzsteuer-ID Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz: DE287145542 ## Verantwortlich für den Inhalt nach § 18 Abs. 2 MStV Richard Albrecht, Anschrift wie oben. ## Angaben zur Berufshaftpflichtversicherung Name und Sitz des Versicherers: Markel International Insurance Company Limited, Niederlassung für Deutschland Sophienstr. 26, 80333 München **Räumlicher Geltungsbereich:** Es besteht weltweiter Versicherungsschutz mit folgender Ausnahmeregelung für USA und Kanada. Für Vermögensschäden, die vor Gerichten der USA oder Kanadas geltend gemacht werden oder auf der Verletzung des Rechts dieser Staaten beruhen, besteht uneingeschränkter Versicherungsschutz. Für Personen-, Sach- und daraus resultierenden Vermögensschäden, die vor Gerichten der USA oder Kanadas geltend gemacht werden oder auf der Verletzung des Rechts dieser Staaten beruhen, besteht Versicherungsschutz nur in folgenden Fällen: - bei der Teilnahme an oder der Durchführung von Geschäftsreisen; - bei der Teilnahme an Messen, Ausstellungen oder Veranstaltungen; - für indirekte Exporte von Produkten oder Dienstleistungen nach USA oder Kanada (ein indirekter Export liegt dann vor, wenn Produkte oder Dienstleistungen in die USA oder Kanada gelangt sind, ohne dass der Versicherungsnehmer oder mitversicherte Personen dies veranlasst haben). ## Angaben gemäß TCO-VO bzw. TerrOIBG Kontaktstelle gemäß Verordnung (EU) 2021/784 des Europäischen Parlaments und des Rates: E-Mail: [tco-kontaktstelle@homepage-helden.de](mailto:tco-kontaktstelle@homepage-helden.de) Kontaktaufnahme ist in folgenden Sprachen möglich: Deutsch. Diese E-Mail-Adresse ist ausschließlich für die Kommunikation gemäß Verordnung (EU) 2021/784 bestimmt. Andere Anfragen werden nicht beantwortet. ## Verantwortungsvoller Umgang mit Markennamen Die auf dieser Website erwähnten Markennamen, Produktbezeichnungen, Firmennamen und Logos gehören den jeweiligen Rechteinhabern. Ihre Erwähnung dient allein der nachvollziehbaren Darstellung unserer Leistungen, Referenzen oder thematischen Zusammenhänge und bedeutet keine geschäftliche Verbindung oder ausdrückliche Zustimmung durch die jeweiligen Unternehmen. Wir nutzen diese Begriffe und Abbildungen ausschließlich zu illustrativen und beschreibenden Zwecken – im Rahmen einer sachlichen, informativen Kommunikation. Es besteht keinerlei Absicht, Rechte zu verletzen oder eine Partnerschaft mit den genannten Marken zu suggerieren. Solltest du der Ansicht sein, dass durch die Verwendung eines Markennamens deine Rechte beeinträchtigt werden, kontaktiere uns bitte. Wir nehmen jede Rückmeldung ernst und werden auf berechtigte Hinweise zügig reagieren. ## Urheberrecht Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Sollten Sie auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen. ## Haftung für Inhalte Als Diensteanbieter sind wir gemäß § 7 Abs. 1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. ## Haftung für Links Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen. ## Bildnachweise Für Fotomaterial aus Lizenzdatenbanken weisen wir Bildnummer, Datenbank und Urheber aus. Bilder, die ganz oder teilweise mit Hilfe Künstlicher Intelligenz erstellt oder bearbeitet wurden, kennzeichnen wir mit dem eingesetzten KI-Werkzeug. Jede Kennung verweist auf die Seite, auf der das Bild eingesetzt ist. Alle übrigen Abbildungen — Screenshots, Diagramme und eigene Fotos — stammen von uns. lizenzfotos - [#1027720855](https://www.siteway.de/insights/pagespeed/#bild-1027720855) · AdobeStock · © Radorog - [#788583404](https://www.siteway.de/insights/pagespeed/#bild-788583404) · AdobeStock · © Afaq - [#475197996](https://www.siteway.de/insights/pagespeed/#bild-475197996) · AdobeStock · © Golib Tolibov - [#457462002](https://www.siteway.de/insights/pagespeed/#bild-457462002) · AdobeStock · © Kaspars Grinvalds - [#384841902](https://www.siteway.de/insights/pagespeed/#bild-384841902) · AdobeStock · © bestforbest - [#579583136](https://www.siteway.de/insights/pagespeed/#bild-579583136) · AdobeStock · © LAYHONG - [#i_VMVV5RWjI](https://www.siteway.de/insights/pagespeed/) · Unsplash · © Eyosias G - [#bEcC0nyIp2g](https://www.siteway.de/insights/employer-branding/) · Unsplash · © Jed Villejo - [#cf4ucL4gh3Y](https://www.siteway.de/insights/google-unternehmensprofil/) · Unsplash · © rayul - [#GNWZxrmIrXI](https://www.siteway.de/insights/webdesign-2019/) · Unsplash · © Annie Spratt - [#w0zggHGudXE](https://www.siteway.de/insights/datenschutz/) · Unsplash · © Florian Pérennès ki-generierte bilder - [#38c43a72-02be-4d6e-a8e1-98450eda42df](https://www.siteway.de/agentur/#bild-cyber1996) · Generiert mit ChatGPT - [#b1615662-30d8-437b-9260-b1ae2d21c0da](https://www.siteway.de/agentur/#bild-paul-richard) · Generiert mit ChatGPT Die kryptografische Herkunftskennzeichnung (C2PA / „Content Credentials") ist in den Originaldateien hinterlegt. --- so eine Art Blog · always on # insights Was wir über Webdesign, Dev, SEO und Performance gelernt haben, schreiben wir auf. Seit 2013, in verständlichem Deutsch, ohne Buzzword-Bingo.  richard albrecht · 11.11.2024 ## [PageSpeed.](https://www.siteway.de/insights/pagespeed/) Wie wir Websites so schlank bauen, dass sie in Sekundenbruchteilen laden, und warum Google und deine Kunden das belohnen.  richard albrecht · 04.04.2022 ## [Employer Branding.](https://www.siteway.de/insights/employer-branding/) Warum die Karriere-Seite oft die wichtigste Seite deiner Website ist, und was eine gute von einer schlechten unterscheidet.  richard albrecht · 28.08.2020 ## [Rich Snippets.](https://www.siteway.de/insights/richsnippets/) Sterne, Preise und FAQ direkt in der Google-Suche: Wie strukturierte Daten dein Snippet sichtbarer machen. archiv ## Frühere Artikel 2013–2019 · richard albrecht - 29.10.2019 [Google Local SERPs](https://www.siteway.de/insights/google-local-serps/) seo · local - 06.08.2019 [Google Unternehmensprofil](https://www.siteway.de/insights/google-unternehmensprofil/) local seo · studie - 03.01.2019 [Webdesign 2019](https://www.siteway.de/insights/webdesign-2019/) webdesign · agentur - 25.09.2018 [Datenschutz](https://www.siteway.de/insights/datenschutz/) datenschutz · dsgvo - 27.06.2017 [Neue Domainendungen](https://www.siteway.de/insights/neue-domainendungen/) domains · web-basics - 16.06.2017 [SEO-Ranking-Faktoren](https://www.siteway.de/insights/seo-ranking-faktoren/) seo - 24.05.2017 [Reunited – Siteway und Homepage Helden werden eins](https://www.siteway.de/insights/reunited/) agentur · news - 08.06.2016 [Intelligent Personal Assistants](https://www.siteway.de/insights/intelligent-personal-assistants/) voice · trends - 18.06.2015 [QR-Codes](https://www.siteway.de/insights/qr-codes/) qr-codes · technik - 09.08.2013 [Retina Icons](https://www.siteway.de/insights/retina-icons/) webdesign · technik - 12.04.2013 [Responsive Webdesign](https://www.siteway.de/insights/responsive-webdesign/) webdesign · grundlagen ---  im netz seit1996 siteway_ seit2006 dozent seit2007 fokusseo · dev · performance standorthamburg Richard Albrecht stellte 1996 — mit 13 Jahren — seine erste Website ins Netz. Zeitgleich nahm, nebenbei bemerkt, Googles Vorläufer „BackRub“ seinen Dienst auf. Um die Jahrtausendwende ging er in der Hamburger Medienwirtschaft in die Lehre und lernte, wie man im Film Geschichten erzählt: Prägnanz, Spannung, Kontinuität — Konzepte, die sich direkt auf das Gestalten von Websites übertragen ließen. Nachts programmierte er Websites, tagsüber verdiente er sich in Hamburger Multimedia-Agenturen die Sporen. Noch bevor der Duden 2004 das Verb „googeln“ aufnahm, hatte er ein gutes Dutzend Seiten auf Platz 1 optimiert. 2006 vollzog er den Schritt von der Ton- und Filmproduktion zum Webdesign und gründete mit seinem Bruder Paul die Web-Agentur siteway. > «Seit den ersten Tagen haben wir nichts an Enthusiasmus eingebüßt und nehmen immer noch Fahrt auf. Wir wissen, dass die größten Chancen noch vor uns liegen.» Seit 2007 tritt Richard als Dozent und Keynote-Speaker auf — in über 20 Live-Veranstaltungen auf den Bühnen der Handels- und Handwerkskammer Hamburg, beim OMT, beim Hamburger Gründertag und im Mittelstand-4.0-Kompetenzzentrum. Er berät Unternehmen in Inhouse-Seminaren, Webinaren und Workshops und veröffentlicht regelmäßig Artikel und Whitepaper zu SEO und Online-Marketing. Mit siteway hat er seit 2006 hunderte Web-Projekte umgesetzt — von responsivem Webdesign über TYPO3, WordPress und Statamic bis zur Suchmaschinenoptimierung. Sein Anspruch ist technisch wie ästhetisch hoch; sein Antrieb sind Websites, die schnell sind, gefunden werden und eine Geschichte erzählen. Neben den Aufgaben eines Gründers feilt er am liebsten an Texten, entschlüsselt den Google-Algorithmus oder bastelt mit seinen Kindern in der Werkstatt. Artikel von Richard Beobachtungen zu Webdesign, Dev, SEO und Performance. [Zu den insights](https://www.siteway.de/insights/) ---  dsgvo · datenschutz · website ## Deine Daten. Meine Daten. Unsere Daten. Der gemeinsame Nenner: die DSGVO Voll in Kraft getreten ist die Datenschutz-Grundverordnung (DSGVO), eine für alle EU-Mitgliedstaaten bindende europäische Verordnung, am 25. Mai 2018, und versetzte manche Geschäftsführung in angsterfüllte Konfusion. Grund dafür gibt es nicht unbedingt. Ziel der neuen Regelung ist, die Verarbeitung personenbezogener Daten zu vereinheitlichen, um so eine höhere Sicherheit der persönlichen Informationen zu gewährleisten. Firmen, die sich bis dahin nicht oder nicht ausreichend mit dem bereits vorhandenen Bundesdatenschutzgesetz auseinandergesetzt und entsprechende Vorkehrungen getroffen hatten, standen nach der Verabschiedung vor der Notwendigkeit, einige Anpassungen an ihrer Prozess-, Dokumentations- und Informationsstruktur vorzunehmen. Doch worum handelt es sich dabei im Detail? ## Was bedeutet es, „DSGVO-konform" zu handeln? Schlicht ist die Antwort auf diese Frage nicht, trivial umso weniger. Denn die DSGVO ist sehr vielschichtig und bezieht sich auf alle Bereiche und Handlungen eines Unternehmens, bei denen personenbezogene Daten entgegengenommen, verarbeitet und weitergeleitet werden. Das betrifft das ganze Spektrum von Daten-Schnittstellen, angefangen bei den Kunden über die eigenen Mitarbeiter bis hin zu externen Dienstleistern. Eine prägnante Antwort wäre also gewagt. Dennoch unternehmen wir den Versuch und geben dir einige handliche Hinweise. Im Folgenden findest du praktische Fragen, die du dir stellen kannst, um deine aktuelle Unternehmenspraxis hinsichtlich der DSGVO und personenbezogener Daten zu hinterfragen.  *// deine daten · meine daten · unsere daten* ## FAQ zur DSGVO **Wann handelt es sich um personenbezogene Daten?** Per Definition fallen alle Informationen, die Rückschlüsse auf eine reale Person zulassen und sie identifizierbar machen, unter personenbezogene Daten. Hierzu zählen auch Standortdaten und Device-Tracking. **Wie werden personenbezogene Daten anonymisiert verarbeitet?** Anonymisiert bedeutet in diesem Kontext, dass auf das Individuum keine Rückschlüsse mehr gezogen werden können. **Wann ist die Nutzung personenbezogener Daten gemäß der DSGVO zulässig?** Es gibt gesetzlich erlaubte Umstände, die eine solche Datenverarbeitung legitimieren. Darunter fallen: - Verträge mit und Anfragen von der betreffenden Person - gesetzliche Verpflichtungen, etwa die Aufbewahrung von Rechnungen über einen gewissen Zeitraum - das Vorliegen eines berechtigten Interesses, das jedoch immer gegen das Interesse des Nutzers am Datenschutz abzuwägen ist. So gilt die Abfrage von Informationen, die der Nutzer selbst als typischerweise eingeholte Informationen einstuft, als legitim. Sind jedoch relevante Nachteile für den Nutzer zu erwarten und überwiegt das rein wirtschaftliche Interesse, ist mit Konsequenzen zu rechnen, wenn diese Daten erhoben werden. **Habe ich Datenschutzverträge mit Subunternehmen aus der EU oder aus Drittländern?** Hier wird es wirklich knifflig, denn eine dritte Partei im Spiel macht die Sache nicht einfacher. Eine vertragliche Verpflichtung des Vertragspartners auf Datenschutz-Grundsätze ist zwingend. Weniger Komplikationen gibt es, wenn der Partner ebenfalls in der EU ansässig ist, doch auch hier sind weitere vertragliche Regeln festzuhalten, um den Datenschutz zu gewährleisten. **Verwende ich Daten von Personen unter 16 Jahren?** Ja, richtig gehört, auch diese Frage will wohl überlegt sein. Denn die Datenverarbeitung dieser Zielgruppe ist zunächst per se nicht erlaubt. ## DSGVO-Anforderungen für Websites Denken wir an Websites und die unvermeidliche Zwangshochzeit mit der DSGVO, könnte mancher Firmeninhaber oder Datenschutzbeauftragte die Hände über dem Kopf zusammenschlagen. Doch das ist nicht nötig. Im Grunde sind die DSGVO-Bestimmungen bei Websites sehr einfach umzusetzen. Allgemein gilt: Aufklärung gehört nicht nur in eine gute Kinderstube, auch Website-Nutzer haben gemäß der EU-Datenschutzverordnung ein Recht darauf, umfassend, transparent und verständlich aufgeklärt zu werden. Dafür braucht eine zeitgemäße Website eine Datenschutzerklärung und die aktive Opt-in-Einwilligung des Nutzers. Plugins, Pixel und andere Tools von Drittanbietern dürfen nur dann eingebunden werden, wenn entsprechende Rahmenbedingungen zur Datenschutzkonformität existieren oder geschaffen werden. ## Datenschutzerklärung Die Aufgabe der Datenschutzerklärung ist es, den Nutzer darüber aufzuklären, wie die Online-Datensammlung gestaltet ist (Art. 13 und 14 DSGVO). Im Klartext: Der Nutzer muss über Art und Weise der Verarbeitung aufgeklärt werden, ebenso darüber, welche Parteien und Tools beteiligt sind, wann die Daten wieder gelöscht werden und welche Rechte der Bereitsteller der Daten hat. Darüber hinaus muss die Erklärung leicht auf der Website zu finden sowie transparent und verständlich formuliert sein. ## Opt-in-Einwilligung Ein Cookie ist mehr als ein Keks, es ist das Eintrittstor zur Datenbereitstellung. Neben der Datenschutzerklärung ist die aktive Einwilligung in die Verarbeitung der Daten ein unabdingbarer Bestandteil jeder Website. Kaum jemand kennt die aufpoppenden Cookie-Nachrichten nicht: „Diese Webseite benutzt Cookies zur Verbesserung der Servicequalität. Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung der Cookies zu." Eine wichtige Voraussetzung dieser Einwilligungsabfrage ist die Freiwilligkeit. Das bedeutet: - Freiwillig ist sie, wenn der Kunde eine echte Wahl hat. Das weist ihm einen proaktiven Part zu, denn er muss aktiv werden, um die Einwilligung abzugeben. - Freiwillig ist sie, wenn der Kunde seine Einwilligung jederzeit widerrufen kann. Das setzt voraus, dass der Nutzer über die Behandlung seiner Daten sowie seine Rechte und Pflichten ausreichend aufgeklärt ist. Etablierte Content-Management-Systeme wie WordPress und Co. greifen bereits auf ein automatisch generiertes Cookie-Banner zurück, auch in TYPO3 lässt es sich einfach integrieren. Ein solches Banner muss auch bei allen anderen Websites eingebunden werden. ## Plugins, Pixel und andere Drittparteien Auch bei der Einbindung von Plugins, Pixeln oder anderen Tools von Drittparteien, etwa von Facebook, müssen bestimmte Vorkehrungen getroffen werden, gerade weil die großen Datenkraken wie Facebook, Google und Co. nicht in der EU ansässig sind. Bereits definierte Regularien wie das „Privacy Shield" oder ein „Data Processing Agreement" zertifizieren und verpflichten Firmen aus Drittländern, die EU-Datenschutzvorgaben einzuhalten. Mit Organisationen, die eine solche Zertifizierung vorweisen, kann folglich kooperiert werden. Darüber hinaus gilt es, sich vertraglich mit der Drittpartei auf ein gemeinsames Datenverarbeitungsvorgehen zu verständigen, einen sogenannten Auftragsverarbeitungsvertrag. Bei einer solchen grenzübergreifenden Zusammenarbeit ist sowohl diesem Vertrag als auch, und vor allem, der Informationspflicht Folge zu leisten, die Kunden über die Kollaboration aufzuklären. Dabei sind erneut die Grundlagen einer freiwilligen, proaktiven Einwilligung des Kunden zu berücksichtigen. ## Fleiß hat seinen Preis Neben den Anpassungen an die DSGVO gilt immer auch die Dokumentationspflicht über die Tätigkeiten, Prozesse und Vorkehrungen rund um den Datenschutz. Das wird als Rechenschaftspflicht (englisch Accountability) bezeichnet und ist eine wesentliche Komponente der DSGVO. Sich hierfür ein Verarbeitungsverzeichnis anzulegen, ist empfehlenswert und macht dich jederzeit auskunftsbereit. ## Hilfreiche Links Diese Links können dir helfen, deine Firma datenschutzkonform aufzustellen. ### Allgemeines - Allgemeine Informationen zur DSGVO: [dsgvo-gesetz.de](https://dsgvo-gesetz.de/) - Standarddatenschutzklauseln beim Auftragsverarbeitungsvertrag: [EU-Kommission](https://ec.europa.eu/info/law/law-topic/data-protection_en) - Verarbeitungsverzeichnis: [Bitkom](https://www.bitkom.org/Bitkom/Publikationen/Das-Verarbeitungsverzeichnis.html) ### Deine DSGVO-konforme Website - Einbindung von Facebook gemäß DSGVO: [facebook.com/business/gdpr](https://www.facebook.com/business/gdpr) - Einbindung von Google Analytics gemäß DSGVO: [datenschutzbeauftragter-info.de](https://www.datenschutzbeauftragter-info.de/fachbeitraege/google-analytics-datenschutzkonform-einsetzen/) ## Fazit Die Datenschutzverordnung ist ein umfangreiches und technisches Thema, das ein einzelner Artikel nicht erschöpfend behandeln kann. Dennoch haben wir versucht, dir ein Grundverständnis an die Hand zu geben, mit dem du arbeiten kannst. Denn die DSGVO ist für jeden ein Thema, ganz besonders, wenn man online präsent ist. Du weißt vor lauter Artikeln und Klauseln nicht mehr, wo dir der Kopf steht? Melde dich gern. Wir bringen Ordnung und Struktur in deine Online-Präsenz und zeigen dir, dass die neuen Regelungen kein Buch mit sieben Siegeln sind. Mit hunderten DSGVO-Updates für Kundenprojekte seit Anfang des Jahres sind wir notgedrungen zu Datenschutz-Experten avanciert.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Unsicher bei Datenschutz auf deiner Website? Wir bringen Ordnung in deine Online-Präsenz. [Beratung anfragen](https://www.siteway.de/kontakt/) ---  employer branding · recruiting · google jobs Wenn du Talente rekrutieren und entwickeln willst, ist es wichtig, dem Karriere-Bereich auf deiner Website besondere Aufmerksamkeit zu schenken. Um Top-Talente anzuziehen, musst du sicherstellen, dass die Karriereseite deines Unternehmens all das bietet, was Arbeitssuchende heute erwarten, von klar definierten Stellenbeschreibungen über bessere interne Kommunikation bis hin zur Einbindung sozialer Medien und der Bedienung auf dem Smartphone. Die folgenden Tipps helfen dir zu verstehen, was eine richtig gute Karriereseite ausmacht. Anschließend zeige ich dir einige Beispiele von Seiten, bei denen die Unternehmen es richtig gut machen. ## 1. Zeig, wie es ist, für dich zu arbeiten Das ist eine großartige Möglichkeit für potenzielle Bewerber, sich ein Bild von deiner Unternehmenskultur zu machen, und eine hervorragende Möglichkeit für die derzeitigen Mitarbeiter, ihren Arbeitsplatz neu wahrzunehmen. Das kann durch Videos oder Fotos von deinem Unternehmen und den typischen Arbeitsszenarien geschehen. Bilder sprechen Bände. Potenzielle Talente lernen so die Werte und die Essenz deines Unternehmens kennen und finden heraus, ob diese mit ihren eigenen übereinstimmen. Das bringt sie dazu, über zukünftige Möglichkeiten in deinem Unternehmen nachzudenken. Viele Informationen werden zwischen den Zeilen vermittelt. Deshalb solltest du nicht nur beschreiben, wie es ist, in deinem Unternehmen zu arbeiten. Zeig es einem potenziellen Mitarbeiter, indem du Bilder und Videos einsetzt. ## 2. Gib einen authentischen Einblick Einfach alle offenen Stellen und Anforderungen aufzulisten, mag zunächst eine gute Idee sein, kann aber potenzielle Bewerber abschrecken. Bemühe dich um eine prägnante, aber klare Botschaft, die nicht nur die Leistungen und Ressourcen deines Unternehmens hervorhebt, sondern auch Kandidaten anspricht, die an bestimmten Werten und Potenzialen interessiert sind. Sprich über Entwicklungsmöglichkeiten, gewährte Unterstützung, den Arbeitsplatz und den Arbeitsalltag. Wie fühlt es sich an, bei dir eine neue Stelle anzutreten? Wie laufen die ersten Wochen ab? Wenn der Kandidat sich bildhaft vorstellen kann, wie es ist, für dich zu arbeiten, dann hast du schon einiges erreicht. ## 3. Mach es persönlich Die meisten Karriereseiten verfolgen einen trockenen, direkten Ansatz. Aber Arbeitssuchende wollen wissen, ob sie in dein Unternehmen passen und gerne dort arbeiten, und das bedeutet, dass die Unternehmenskultur genauso wichtig ist wie die Kompetenzen. Beschränke dich nicht nur auf das Stellenprofil. Gestatte einen Blick hinter die Kulissen und zeig die Menschen, die dein Unternehmen ausmachen. Wenn du den Bewerbern zeigen kannst, wie das Leben an deinem Arbeitsplatz aussieht, indem du Menschen vorstellst, mit denen sie wahrscheinlich zusammenarbeiten werden, macht das die Jobsuche viel interessanter und zielführender. Ein Job ist nicht nur ein Job, er ist eine Gelegenheit, zu einer Gemeinschaft zu gehören. Wenn du Fotos von deinem Team zeigen möchtest, solltest du das mit Gruppen von Menschen tun, nicht nur mit Einzelpersonen. ## 4. Wähle deine Ausdrucksweise mit Bedacht Eine der einfachsten Möglichkeiten, potenzielle Bewerber abzuschrecken, ist die Verwendung von Floskeln, wenn du dein Unternehmen beschreibst. Auf deiner Karriereseite solltest du zum Beispiel nicht schreiben: *„Wir sind ein Team, das Dinge erledigt und dafür sorgt, dass unsere Kunden zufrieden sind."* Schreib stattdessen etwas wie: > Bei der XYZ Company bauen wir ein Weltklasse-Unternehmen für digitale Transformation auf. Wir lösen komplexe Geschäftsprobleme durch effektive Softwareentwicklung und nutzen Cloud Computing, mobile Apps und Big-Data-Tools. Schließ dich uns an, wenn wir weiterhin eine Branche verändern. Würze es mit ein wenig Aufbruchstimmung und Begeisterung. Oder sprich direkter die Bedürfnisse des Bewerbers an: > Als modernes Familienunternehmen legen wir Wert auf Zuverlässigkeit und begegnen unseren Mitarbeitern auf Augenhöhe. Wir bieten Entfaltungsmöglichkeiten für junge Talente und ein lebendiges Umfeld für berufserfahrene Experten. Wachse mit uns gemeinsam und werde Teil der Gemeinschaft. Formuliere bewusst und wähle sorgfältig aus, wo du dich auf bestimmte Fachkenntnisse konzentrierst; das macht einen großen Unterschied, wenn potenzielle Bewerber Hunderte von Stellenangeboten im Internet durchforsten. Ein Jobwechsel geht oft mit dem Wunsch nach Veränderung einher. Es ist eine spannende, aber auch von Sorgen erfüllte Phase, die sich vom Alltag deutlich abhebt. Erkenne, in welcher Lebensphase sich deine potenziellen Bewerber befinden, und sprich ihnen aus der Seele. Schreib über die Möglichkeiten der Veränderung und persönlichen Entwicklung und stell heraus, warum dein Unternehmen anders und besonders ist. ## 5. Zieh die richtigen Leute an Es ist wichtig, die richtige Art von Menschen anzusprechen. Willst du Verkaufstalente, Kreative oder Menschen mit Fokus einstellen? In jedem Fall suchst du Leute, die etwas bewegen, richtig? Menschen, die Dinge erledigt bekommen. Neue Mitarbeiter sollten zu deinem Team passen und bereit sein, Leistung zu bringen. Die Leute sollten nicht nur wegen der Vorteile kommen, die du erwähnst. Und um passende Leistungsträger zu finden, reicht es nicht aus, nur die Qualifikationen zu nennen. Menschen können perfekt qualifiziert sein und trotzdem keine gute Leistung bringen. Um wirksam zu sein, solltest du in deiner Ansprache sowohl die Kultur und die Vorteile, die dein Unternehmen bietet, als auch die Mission und die Ziele deines Unternehmens erwähnen. Lock nicht die Falschen an. Sprich mit deiner Kommunikation gezielt die Menschen an, die zu dir passen und etwas leisten wollen. ## 6. Biete mehr als nur einen Job Wenn du neue Mitarbeiter einstellst, sind diese nicht nur daran interessiert, was sie für dein Unternehmen tun können. Sie wollen auch wissen, ob du ihnen helfen kannst, ihre Fähigkeiten und ihre Karriere zu entwickeln. Zeig, dass du die Branche verstehst und einen eigenen Ansatz verfolgst. Wie potenzielle Kunden müssen auch potenzielle Talente überzeugt werden. Das erreichst du, indem du deine Blogbeiträge oder Beiträge in den sozialen Medien verlinkst, über firmeninterne Webinare berichtest oder Konferenzen zeigst, an denen dein Unternehmen teilnimmt. Wie bereits erwähnt, zeig die Gemeinschaft, zu der man gehören wird. Die besonders talentierten Mitarbeiter interessiert nicht nur die Aufgabe, der Urlaub, das Gehalt oder die Vergünstigungen. Ebenfalls wichtige Faktoren sind Betriebsklima, Gemeinschaft, Entwicklungsmöglichkeiten, Sicherheit, Unterstützung, Spaß, Balance und Anerkennung. Finde Wege, auch über diese Dinge zu sprechen. Authentisch und subtil. ## 7. Frag deine Mitarbeiter, was sie an ihrer Arbeit lieben, und spiegle es wider Wenn du deine Mitarbeiter fragst, was sie an ihrer Arbeit lieben, kannst du kreativ werden und Anregungen für die Gewinnung von Talenten erhalten. Notiere dir bestimmte Veranstaltungen, Programme oder Vorteile, die deine aktuellen Mitarbeiter begeistern. Diese Punkte kannst du dann als Verkaufsargumente nutzen, wenn du die Karriereseite deines Unternehmens auf einer Plattform für die Stellensuche wie LinkedIn veröffentlichst. Du wirst überrascht sein, was deinen Mitarbeitern wichtig ist. Wenn ein Mitarbeiter zum Beispiel gerne mit seinen Kollegen zum Mittagessen geht, könntest du in deiner Stellenbeschreibung erwähnen, wie oft ihr Team-Essen veranstaltet. Oder wenn ein Mitarbeiter gerne einen Tag pro Woche von zu Hause aus arbeitet, könntest du hervorheben, wie flexibel deine Arbeitszeiten sind. Wenn Mitarbeiter es lieben, bei wöchentlichen Besprechungen für ihre gute Arbeit anerkannt zu werden, solltest du erwähnen, wie häufig ihr Besprechungen abhaltet, bei denen die Mitarbeiter Anerkennung erhalten. ## 8. Beweise die Mitarbeiterzufriedenheit Eine Möglichkeit für Unternehmen, den Erfolg ihrer Bemühungen um die Mitarbeiterzufriedenheit zu belegen, ist die Einbeziehung von externen Berichten und Bewertungen. Umfragen von Dritten, etwa von Glassdoor oder Comparably, geben Aufschluss darüber, wie die Mitarbeiter die Arbeit in deinem Unternehmen empfinden, was ein Segen für die Gewinnung von Talenten sein kann. Auf Kununu können Mitarbeiter und Bewerber anonym die Unternehmenskultur, das Gehalt, die Sozialleistungen und vieles mehr bewerten. Kununu bietet Unternehmen verschiedene Abzeichen zur Einbindung auf der Website, die die Bewertungsergebnisse widerspiegeln oder verdiente Auszeichnungen wie „Open Company" oder „Top Company" zeigen. ## 9. Wertschätzung Zeig deine Wertschätzung gleich am Eingangstor, indem du dem Karrierebereich einen besonderen Wert beimisst und mit Liebe zum Detail ans Werk gehst. Hier zeigst du deine Wertschätzung durch dein Handeln. ### Level 1: Das geschriebene Wort Gehen wir mal davon aus, dass der Bewerber deinen schriftlichen Aussagen mit ein wenig Zweifel und Misstrauen begegnet. Du sagst, du schätzt deine Leute, und sprichst von Gemeinschaft, Zugehörigkeit und Entwicklungsmöglichkeiten. Das sind alles erst einmal ungeprüfte Aussagen, oder? Wir alle wissen, dass das manchmal nur leere Versprechungen sind, und vielleicht hat der Bewerber diese Erfahrung bereits gemacht. Ein Text ist schnell geschrieben. ### Level 2: Das Bild und der Beweis Die Eindrücke aus Bildern, Videos, Social Media, Mitarbeiterberichten und externen Bewertungsplattformen sind stichhaltiger. Das ist authentischer, und auch wenn es nicht die Realität widerspiegelt, erhalten wir doch eine Annäherung an die Wahrheit. ### Level 3: Taten, Handeln, Aktion An ihren Taten sollt ihr sie erkennen. Wenn Bilder Bände sprechen, dann erzählen Taten die ganze Geschichte. Spiegelt die Gestaltung des Karrierebereichs deiner Website das wider, was du über deine Kultur *schreibst*? Wie sieht es mit dem Bewerbungsprozess aus? Kommt hier an jedem Berührungspunkt Wertschätzung zum Ausdruck? Entsteht der Eindruck eines modernen Unternehmens mit kurzen Wegen und zügigen Prozessen? Du bekommst einen Eindruck davon, wie du durch dein Handeln alle vorher getroffenen Aussagen untergraben oder untermauern kannst. ## Bonus: Werde so gut, wie du dich darstellst Wenn es wirklich toll ist, für dich zu arbeiten, werden deine Bewertungen das widerspiegeln. Diese Transparenz ist authentisch. Und sie wird dich motivieren, ehrlich an deinem Unternehmen zu arbeiten und die Bereiche zu erkennen, in denen du dich verbessern kannst. Gehaltserhöhungen, Kickertische und Partys allein können das Betriebsklima nicht kitten und machen dich auch nicht zwangsläufig zu einem guten Arbeitgeber. Niemand erwartet Perfektion, aber jedes Unternehmen, jeder Unternehmer, sollte sich fragen, wie es eine bessere Arbeitswelt schaffen kann. Dass ein Unternehmen seinen Kunden einen Wert stiften sollte, ist selbstverständlich. Aber es hat auch die Aufgabe, für seine Mitarbeiter Wert und Sinn zu stiften und ein möglichst gutes Klima zu schaffen, eine Umgebung, in der Herausragendes entstehen kann. Wie willst du arbeiten? Welchen Arbeitsplatz wünschst du dir für deine Kinder? Arbeite darauf hin. Krasser formuliert: Du willst die besten Talente anziehen? Dann bring deinen Laden auf Vordermann. ## Beispiele, die zeigen, wie es geht Hier eine kleine Auswahl von Karriere-Seiten, bei denen man merkt, dass die Unternehmen ein wenig mehr Zeit und Mühe investiert haben, um potenzielle Bewerber anzusprechen und abzuholen. Sie sind in Zusammenarbeit mit unserem Team entstanden. ### FREE NOW: Karrierebereich für die hart umkämpften Tech-Talente Das Karriere-Portal von [FREE NOW](https://free-now.com/de/career/) überzeugt, weil es die jungen Talente in der passenden Sprache anspricht und professionelle, echte Bilder von echten Mitarbeitern zeigt. Es startet direkt mit einem Aufruf zur Veränderung: „Design the future of mobility with us." Mit Videos, Fotos und Berichten wird ein tiefer Einblick in die Unternehmenskultur gewährt, und im Bereich „Life at FREE NOW" erfährt der Bewerber, wie sich sein neuer Arbeitsplatz anfühlen wird und was ihn in den ersten Wochen erwartet. Ebenso wird über die Prinzipien berichtet, die das Unternehmen antreiben. FREE NOW findest du auch in unseren [Cases](https://www.siteway.de/cases/).  *// free now · life at free now* ### Schmidt & Bethge: anspruchsvolles Design und Bewerberperspektive Die [Schmidt & Bethge Immobiliengruppe](https://www.sub-i.de/karriere/) beeindruckt mit einem anspruchsvollen Design, das den Anspruch des Unternehmens unterstreicht. Hier sitzt jedes Pixel am richtigen Fleck. Gleichzeitig verstehen es die Makler im Karrierebereich ihrer Website, die Perspektive des Bewerbers einzunehmen und die Fragen zu beantworten, die sich dieser stellen mag. Nicht selbstverliebt, aber selbstbewusst. So fallen ganz selbstverständlich und authentisch Begriffe wie Herz, Team Building und Wertschätzung, und das bereits im ersten Absatz. Auch das Thema Weiterentwicklung und Benefits wird nicht ausgespart. Eine so reichhaltige und durchdachte Beschreibung erwartet man von einem Tech-Start-up, aber von einem Maklerbüro? Chapeau.  *// schmidt & bethge · jedes pixel am platz* ### Sund Group: der umfassende Karrierebereich Die [Sund Group](https://www.sund-group.com/karriere/) spendiert der Karriere einen Hauptmenüpunkt mit Unterseiten. Neben den Stellenangeboten findet der Bewerber hier auch Erfahrungsberichte, einen Azubi-Blog und Informationen zum dualen Studium. Außerdem versteht es das HR-Team bei Sund, mit Bildern Werte wie Gemeinsamkeit und Zugehörigkeit zu vermitteln und mit Begriffen wie „Gemeinsam wachsen", „Verantwortung übernehmen" und „Eine sichere Zukunft" einige Grundbedürfnisse des Menschen in den Vordergrund zu stellen.  *// sund group · gemeinsam wachsen* ### Reisswolf: Stellenangebote mit direkter Google-Schnittstelle Auch bei [Reisswolf](https://www.reisswolf.com/karriere/) gehört der Karriere-Bereich direkt ins Hauptmenü. Azubis, Studierende und Berufserfahrene werden jeweils in einem eigenen Bereich angesprochen. Vision und Wertvorstellungen finden genauso Platz wie Auszeichnungen und Anerkennungen, etwa für eine besonders familienfreundliche Firmenkultur. In einem eigenen Bewerberportal können Stellengesuche nach Region und Kategorien gefiltert werden, und dem Bewerber wird die Möglichkeit geboten, seine Bewerbung direkt über ein Web-Formular samt Dokumenten-Upload einzureichen. Besonders smart ist eine spezielle Schnittstelle, die es erlaubt, Stellenanzeigen unmittelbar in die Google-Jobs-Suche zu integrieren, ohne zusätzlichen Aufwand oder Kosten für die HR-Abteilung.  *// reisswolf · eigener karriere-bereich*  *// reisswolf · google-jobs-schnittstelle* ## Zusammenfassung Der Karrierebereich auf einer Website wird für viele Unternehmen immer wichtiger. In einem gesättigten Markt ist die Gewinnung von Talenten für das eigene Unternehmen oft genauso wichtig wie die Gewinnung von Kunden. Auch wenn manche Unternehmen die Karriereseiten nur am Rande nutzen, können sie sich für jedes Unternehmen, das wachsen will, als sehr wertvoll erweisen. Sei einen Schritt voraus. Mitarbeiter erwarten zu Recht mehr von den Arbeitsplätzen der Zukunft. Und Unternehmen nehmen diese Bedürfnisse ernst. Dürfen Mitarbeiter Erwartungen an Unternehmen stellen? Im Idealfall hast du nur Leistungsträger in deinem Unternehmen, und wer Herausragendes leistet, darf auch Erwartungen haben und Forderungen stellen. Zeig dich online auch für Bewerber von deiner besten Seite. **P. S.:** Wir helfen Unternehmen dabei, den Karriere-Bereich auf der Website oder eine eigene Karriere-Website richtig stark zu machen. Einfach zu pflegen für die HR-Verantwortlichen, mit Schnittstellen, zum Beispiel direkt zu Google Jobs. Sprich uns gerne an.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Karriereseite, die Talente anzieht? Modernes Design, Filter, Bewerbungsformular und Google-Jobs-Schnittstelle. [Karriere-Bereich anfragen](https://www.siteway.de/kontakt/) ---  local search · standort · serp ## Komplett lokalisierte Suchergebnisse In der Google-Suche sind die Treffer zu Produkten und Dienstleistungen, Personen, Orten und so weiter inzwischen oft komplett lokalisiert. Das heißt: Auch ohne Eingabe einer Ortsbezeichnung in der Suchanfrage liefert Google passende Ergebnisse entsprechend dem Standort des Suchenden. Suchte man früher ein Restaurant in der Nähe, musste man sich klar ausdrücken und den genauen Ort ausschreiben, etwa „italienisches Restaurant Hamburg Alsterdorf" (vergleiche dazu die lokale Anpassung von Google aus dem Jahr 2014, wie weiter unten im Artikel beschrieben). Inzwischen kann man bei vielen Begriffen die Ortsbezeichnung weglassen, und Google liefert (oft bis auf wenige Meter genau) exakte Treffer aus der Umgebung. Den Standort kennt Google anhand der Einstellungen oder der IP-Adresse oft relativ genau.  *// google · auf welche lokalität zurückgegriffen wird* Da nun jeder Mensch an seinem Rechner (und Standort) lokal angepasste Ergebnisse sieht (und diese sehen im Norden einer Stadt bereits komplett anders aus als im Zentrum), stellt sich die Frage, wer denn nun die Nummer eins ist. Woher weiß man, dass die Website nicht nur in der eigenen Straße einen bestimmten Platz belegt? Gerade im Büro der eigenen Firma kann so ein Suchergebnis irreführend sein, denn Google zeigt Ergebnisse in direkter Nähe. Suchst du nach einem Keyword der eigenen Firma, liegt es nahe, dass Google auch die Website der Firma weit oben liefert, es gibt ja eine räumliche Nähe. Ab und zu höre ich noch von Kunden: „Meine Website ist immer ganz oben." Leider wird „ganz oben" mit zunehmender geografischer Entfernung des Suchenden aber schnell zu „weit unten". Auf welche Lokalität Google zurückgreift, sieht man am Ende der Suchergebnisseite, knapp unter den Seitenzahlen.  *// die lokalität unter den seitenzahlen* Um zu sehen, wie die Suchergebnisse an verschiedenen Orten aussehen, haben wir ein Tool entwickelt, das die automatische Ortserkennung von Google überschreibt und stattdessen eine frei wählbare Ortsangabe übermittelt. Damit kann sich jeder die Suchergebnisse wie in anderen Stadtteilen, Postleitzahlengebieten, Städten, Sprachen und Ländern anzeigen lassen. Probier die [Local SERPs](https://www.siteway.de/tools/local-serps/) aus.  *// local serps: suchergebnisse wie an einem anderen standort* ## Ursprünglicher Artikel vom 22.08.2014 Hier findest du den ursprünglichen Originalartikel aus dem Jahr 2014. Das Thema Suchmaschinenoptimierung ist, sagen wir mal, recht komplex. Bei der Optimierung und der Beurteilung der Ergebnisse muss man beachten, dass Google jedem Nutzer zum einen auf ihn zugeschnittene Suchergebnisse präsentiert und zum anderen standortabhängig unterschiedliche Ergebnisse ausgibt. ## Personalisierte Suchergebnisse Manchmal erzählen mir Kunden, dass sie mit ihrer Website auf Platz 1 bei Google stehen, obwohl meine Analyse etwas anderes zeigt. Das liegt daran, dass Google dem Kunden eine auf ihn zugeschnittene Ergebnisliste präsentiert. Um den SEO-Status-quo anhand einer neutralen Ergebnisliste zu beurteilen, sollte man diese Personalisierung zunächst ausschalten. Google nennt die Funktion „Web-Protokoll", „Protokoll" oder „Personalisierung anhand der Suchaktivität", und die Einstellung versteckt sich auf der Suchergebnisseite oben rechts unter dem Zahnrad, Punkt Protokoll. Dort kannst du die Funktion mit der Einstellung „Personalisierung anhand der Suchaktivität deaktivieren" abschalten.  *// google web-protokoll deaktivieren*  *// personalisierung deaktivieren* Diese Funktion aktiviert sich manchmal von allein wieder, man sollte das gelegentlich prüfen und gegebenenfalls erneut deaktivieren. ## Lokalisierte Suchergebnisse Suche ich in Hamburg nach „Pizza", bekomme ich andere Ergebnisse als bei der gleichen Suche in Berlin. Das ergibt bei vielen Anfragen Sinn, und Google ist recht gut darin zu unterscheiden, wann eine Suchanfrage einen lokalen Bezug hat, meist dann, wenn Dienstleistungen oder Orte gesucht werden. Suche ich in Hamburg nach „Stadtpark", bekomme ich natürlich den Hamburger Stadtpark präsentiert. Google weiß also, wo ich bin, und denkt mit. Befinde ich mich in Hamburg und suche ein Hotel in Berlin, kann ich die auf Hamburg ausgerichtete Lokalisierung einfach überschreiben, indem ich statt „Hotel" nach „Hotel Berlin" suche. Um zu SEO-Zwecken eine neutrale Darstellung meiner Platzierung bei bestimmten Keywords zu erhalten, reicht das aber nicht aus. Denn die Suche nach „Hotel" und „Hotel Berlin" liefert unterschiedliche Ergebnisse, auch dann, wenn ich aus Berlin suche. Hier ein Vergleich zwischen den Suchen nach „Webdesign" und „Webdesign Hamburg" (gesucht in Hamburg):  *// lokalisierte google-ergebnisse im vergleich* Professionelle Tools zur Ranking-Überwachung wie [Sistrix](http://www.sistrix.de/?tid=46792) zeigen diese lokale Platzierung nicht ohne Weiteres an, da sie standortunabhängig messen. Das ist eine sehr neutrale Abbildung, aber es werden kaum standortneutrale Suchen durchgeführt, und viele Dienstleistungen sind ohnehin lokal begrenzt. Unsere Platzierung auf Platz 1 in Hamburg beim Begriff „Webdesign" ist für uns äußerst wertvoll und mehr wert als eine deutschlandweite Platzierung auf der zweiten oder dritten Suchergebnisseite. Wie kann ich nun lokalisierte Rankings für andere Standorte ermitteln? Wie sehe ich in Hamburg, was ein Berliner sieht, wenn er nach „Webdesign" sucht? Geht das? Ja, das geht, und zwar so: Diverse Sucheinstellungen lassen sich bei Google über URL-Parameter setzen beziehungsweise überschreiben. Im Beitrag „[Google search parameters in 2012](http://www.teknoids.net/content/google-search-parameters-2012)" werden diverse URL-Parameter und ihre Bedeutungen erklärt. Die entscheidenden Parameter zur Simulation eines Landes oder Orts scheinen aber nicht mehr zuverlässig zu funktionieren, zumindest nicht für das hier beschriebene Vorhaben. Man kann den Standort allerdings in den Sucheinstellungen von Google überschreiben: Zahnrad, Sucheinstellungen, Standort.  *// google sucheinstellungen ändern*  *// standort überschreiben* Eine andere Möglichkeit bietet der URL-Parameter „near", dort kann ich eine Stadt oder PLZ angeben (**Update, 29.10.2019:** diese Einstellung ist **veraltet**, bitte beachte das [neue Tool](https://www.siteway.de/tools/local-serps/) weiter oben im Artikel). Beispiel: [google.de/search?q=webdesign&near=22453](https://www.google.de/search?q=webdesign&near=22453) [google.de/search?q=hotel&near=berlin](https://www.google.de/search?q=hotel&near=berlin) Weitere nützliche Links: - [Google Search Guide](http://www.googleguide.com/using_advanced_operators.html) - [Unofficial Google Advanced Search Guide](http://jwebnet.net/advancedgooglesearch.html)  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Wie rankst du dort, wo deine Kunden suchen? Wir prüfen deine lokale Sichtbarkeit. [Local-SEO anfragen](https://www.siteway.de/kontakt/) ---  google my business · local · studie ## Fünf Erkenntnisse aus der Analyse von 45.000 Einträgen in Google My Business  *// brightlocal · 45.000 einträge analysiert* Letzten Monat veröffentlichte die Local-Marketing-Plattform BrightLocal ihr bisher größtes Forschungsprojekt des Jahres, die [Google My Business Insights Study](https://www.brightlocal.com/research/google-my-business-insights-study/). Die Studie basiert auf der Analyse von 45.000 Google-My-Business-Einträgen und ergab eine Vielzahl von Erkenntnissen darüber, wie Unternehmen und Verbraucher Google My Business nutzen. Die vollständige Studie ist eine Lektüre wert. Hier findest du eine Kurzzusammenfassung. ## 1. Du brauchst definitiv weiterhin eine Website Von allen in Google My Business Insights gemessenen Kundenaktionen lagen Website-Klicks an der Spitze, in fast allen Branchen und Ländern. Wenn du also denkst, dass du 2019 keine Website brauchst, denk noch einmal darüber nach. Das bestätigt eine weitere Studie, die BrightLocal kürzlich durchgeführt hat: [76 Prozent der Verbraucher sagen, dass sie mindestens die Hälfte der Zeit auf der jeweiligen Website](https://www.brightlocal.com/research/local-business-websites-and-google-my-business-comparison/) verbringen, wenn sie ein lokales Unternehmen recherchieren. ## 2. Bilder verbessern das Engagement Der durchschnittliche GMB-Eintrag hat elf Fotos, was ziemlich beeindruckend ist. Aber Fotos sind nicht nur Schaufensterdekoration. Vergleicht man die Anzahl der Bilder mit der Anzahl der Kundenaktionen, wird klar: **Mehr Bilder gleich mehr Kundenaktionen.**  *// mehr bilder = mehr kundenaktionen* Angebote mit über 100 Bildern erhalten 20-mal mehr Website-Klicks als die durchschnittlichen Einträge, während Angebote mit nur einem Bild 65 Prozent weniger Klicks erzeugen als der Durchschnitt. Wenn du also einer der 6 Prozent der Unternehmen mit nur einem Bild bist, ist das Hinzufügen weiterer Bilder eine großartige Möglichkeit, dein Engagement zu verbessern. Erwähnenswert ist, dass sich eine direkte Kausalität nicht belegen lässt. Schließlich könnte die höhere Bilderzahl ein Indikator dafür sein, dass die Unternehmen insgesamt mehr ins lokale Marketing investieren. Es gibt jedoch eine klare Korrelation, sodass es dir nicht schadet, deine Angebote durch gute Bilder zu optimieren. ## 3. GMB ist nicht nur für die Markensuche geeignet Du denkst vielleicht, dass Google My Business nur dann wirklich nützlich ist, wenn ein Suchender dein Geschäft bereits kennt. Das ist nicht der Fall. **Wie Google-My-Business-Angebote gefunden werden:**  *// 84 % discovery-suchen* 84 Prozent der GMB-Aufrufe stammen aus Discovery-Suchen, also wenn Einträge für Suchanfragen ohne Marken-Bezug erscheinen. Das könnten Begriffe wie „Bars in meiner Nähe", „Zahnarzt in Hamburg" oder „griechisches Restaurant" sein. Das zeigt den Wert der Optimierung: Wähle die richtigen GMB-Kategorien und unternimm die nötigen Schritte, um für diese Keywords einen höheren Rang einzunehmen. ## 4. Die Kunden-Aktionsrate steigt Verbraucher interagieren mehr denn je mit Google-My-Business-Angeboten. **Aktionsrate im Vergleich zum Vorjahr:**  *// aktionsrate · 2017 → 2018* Die Studie ergab, dass der Anteil der Aufrufe, die zu einer Kundenaktion führten, von 3,9 Prozent im Jahr 2017 auf 4,8 Prozent im Jahr 2018 gestiegen ist. Wir vermuten, dass das auf die Einführung vieler neuer Funktionen zurückzuführen ist. Sie geben Interessenten mehr Möglichkeiten und mehr Gründe, sich mit Angeboten in Google My Business zu beschäftigen. Vermutlich werden die Verbraucher mit diesen Funktionen auch immer vertrauter und nutzen sie häufiger. ## 5. Autohäuser sind die herausragende Branche in GMB Unterteilt man die Daten nach Branchen, variiert der Grad der Optimierung und des Engagements stark. Häufig besuchte Unternehmen wie Bars und Restaurants erhalten naturgemäß mehr Suchanfragen und ein höheres Engagement. Auch im Urlaub machen wir mehr Fotos, was erklärt, warum das durchschnittliche Hotel über dreizehnmal mehr Bilder hat als das durchschnittliche Geschäft. Doch bei der Betrachtung der Daten hob sich eine Branche ab und überraschte am meisten: die Autohausbranche. Autohändler kamen bei der durchschnittlichen Anzahl von Fotos an dritter Stelle, hatten die zweithöchste Zahl an Routenanfragen und waren führend bei Anrufen und Website-Klicks. Das mag überraschen, denn der Kauf oder das Leasing eines Autos ist ein Kauf mit hohen Kosten und niedriger Frequenz. Es zeigte sich jedoch, dass die Einträge von Autohäusern in der Regel sehr gut optimiert sind, und die Branche hat Google My Business offensichtlich angenommen und erntet die Früchte. ## Fazit Die lokale Optimierung ist ein wichtiger und wachsender Bestandteil von SEO und Online-Marketing, und dieser Trend wird sich in den nächsten Jahren fortsetzen. Wer die Kontrolle über seinen Google-My-Business-Eintrag übernimmt und ihn belebt, profitiert von überdurchschnittlicher Sichtbarkeit. Wünschst du Unterstützung bei der lokalen Optimierung deiner Einträge? [Melde dich](https://www.siteway.de/kontakt/) gern bei uns.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Mehr aus deinem Google-Eintrag holen? Wir optimieren deine lokale Sichtbarkeit. [Anfragen](https://www.siteway.de/kontakt/) ---  voice · ki · trends  *// der mensch geht nicht mehr zur information · sie kommt zu ihm* Die Welt des Internets dreht sich manchmal etwas schneller als unsere, und gerade wenn man meinen könnte, das Web sei innovationsgesättigt, kommt still und leise eine neue Welle auf uns zu. IPAs, Intelligent Personal Assistants, könnten unseren Umgang mit dem Web so nachhaltig ändern, dass klassische Websites schon bald Schnee von gestern wären. Wer im Film „[Her](https://en.wikipedia.org/wiki/Her_(film))" so wie ich fasziniert verfolgt hat, wie Theodore eine bisweilen innige Beziehung zu seiner digitalen Assistentin Samantha aufbaut, versteht, wie ein wirklich intelligenter virtueller Assistent die Art und Weise, wie wir Informationen suchen und erhalten, grundlegend ändert. Theodore würde nicht die Web-Adresse eines Restaurants eintippen, sich Informationen auf einem Bildschirm ansehen und ein Formular abschicken. Vielmehr würde er sich lebhaft mit Samantha über seinen Appetit austauschen und sie bitten, in einem passenden Restaurant einen Tisch zu buchen (für zwei natürlich). 2011 gab Siri uns einen ersten Eindruck davon, wie man mit einer Maschine spricht. Die Nützlichkeit blieb aber, zumindest auf Deutsch, hinter den Erwartungen zurück. Und doch fühlte es sich wie Zukunft an, oder? Je intelligenter unsere Geräte werden, umso schneller ändern sie die Art, wie wir mit dem Web umgehen. Das Web könnte bald nur noch eine Infrastruktur sein und nicht mehr der virtuelle Ort, an den man sich begibt. Der Mensch begibt sich nicht mehr zu den Informationen, sondern unsere schlauen Bots holen die passenden Informationen zu uns. ## Das Web von morgen zeigt einen fundamentalen Umbruch Schauen wir uns die Zeit vor dem Internet an, beziehungsweise die des ganz frühen Internets, als noch niemand an die Website und den IPA der heutigen Zeit dachte: Das Telefon galt als zentrales Interface zwischen Kunden und Unternehmen. Man konnte sich austauschen, fragen, ob ein Produkt auf Lager, ob ein Zimmer fürs Wochenende frei war, wann ein Laden öffnet, um dann Bestellungen aufzugeben, ein Zimmer zu buchen und die Anfahrt zu erfragen. Alles das also, was man heute selbstverständlich und in der Hälfte der Zeit über moderne Websites macht. Kurzum: Damals war man mit dem Telefon erreichbar, und wer ans Telefon ging, repräsentierte das Unternehmen und kümmerte sich persönlich um den Anrufer und seine Wünsche.  *// telefon → website → assistent* Als das Internet und seine Bedeutung wuchsen, kam die Blütezeit der Website, und plötzlich lief immer weniger über das Telefon und immer mehr über Online-Lösungen. Natürlich heißt das bis heute nicht, dass niemand mehr telefoniert, aber die Relevanz hat sich verschoben, und zwei positive Aspekte brachte das obendrein mit: kürzere Warteschleifen und schnellere Abwicklung durch gezielte Abholung des Users. Eine ähnliche Verschiebung steht uns nun wieder bevor. ## Was genau sind diese Intelligent Personal Assistants? Die Grundidee besteht darin, die Ein- und Ausgabeschnittstelle zu verändern und den Vorgang mithilfe von Sprachsteuerung und einer Art künstlicher Intelligenz dahinter wesentlich schneller und effektiver zu gestalten. Google unterscheidet dabei vier Micro-Moments: I-want-to-know, I-want-to-go, I-want-to-do, I-want-to-buy. Die großen Marktführer setzen seit einigen Jahren auf diese Technologie, etwa mit [Siri](http://www.apple.com/de/ios/siri/) (Apple), [Cortana](http://windows.microsoft.com/de-de/windows-10/getstarted-what-is-cortana) (Microsoft) oder [Google Now](https://www.google.com/landing/now/), und haben unseren Umgang mit Suchfunktionen und den dahinterstehenden Inhalten schon jetzt revolutioniert.  *// siri · cortana · google now* Nun treten immer mehr Anbieter in den Markt der Intelligent Personal Assistants ein, und es zeichnet sich ab, dass dieses Feature der Smartphone- und Hardware-Hersteller eine zentrale Rolle in deren langfristiger Strategie einnimmt. Mit [Amazon Echo](http://www.amazon.com/Amazon-Echo-Bluetooth-Speaker-with-WiFi-Alexa/dp/B00X4WHP5E) und [Facebook M](http://www.wired.com/2015/09/get-peek-someone-using-facebooks-new-assistant-m/) haben inzwischen alle fünf größten Tech-Giganten einen Assistenten im Angebot. IBM hat mit [Watson](http://www.ibm.com/watson/) einen weiteren vielversprechenden IPA entwickelt. Watson beeindruckt mit seinem Sprachverständnis und formuliert seine Antworten selbst, während andere weitgehend auf vorprogrammierte Antworten und somit auf menschliche Intelligenz zurückgreifen. ## 1. Trend: komplexere Suchen  *// suchmaschinen, die zuhören* Wie schon angesprochen: Unsere Art, Suchmaschinen zu bedienen, hat sich deutlich geändert und geht längst über klassische Keywords hinaus. Genau genommen sind Suchmaschinen heute Maschinen, die uns zuhören und dank des rasanten Fortschritts bei der Erkennung natürlicher Sprache das vorlegen, was wir suchen. Künstliche Intelligenz also, mit der die konversationsbasierte Suche greifbar wurde. Zusätzlich gab es bei Google das Hummingbird-Update und die Einführung von RankBrain, beide spezialisieren sich darauf, Suchanfragen besser zu interpretieren, und fließen mit großer Wichtigkeit in den Suchalgorithmus ein. Außerdem berücksichtigen Dienste wie das gerade entstehende Google Now sogenannte Implicit Signals (Uhrzeit, Standort, Gewohnheiten, Vorlieben) und liefern entsprechende Informationen (etwa die Distanz vom aktuellen Standort nach Hause), ohne dass wir explizit danach fragen müssen. ## 2. Trend: komplexere Suchergebnisse  *// direct answers · antwort ohne klick* Suchergebnisseiten bestanden vor sechs Jahren aus zehn blauen Links mit kurzer Beschreibung darunter, schlicht Title und Description. Das finden wir auch heute noch, vielleicht mit einem höheren Anteil gesponserter Ergebnisse aus dem SEA-Bereich. Neu dazugekommen ist die Direct Answer, also direkt in der App oder in den Suchergebnissen dargestellte Informationen. Fragst du heute „Wer war Muhammad Ali?", erzählt es dir eine Computerstimme. Fragst du nach dem Wetter, werden direkt in der App lokale Wetterlage, Temperatur, stündliche Niederschlagswahrscheinlichkeit und mehr angezeigt, alles bereitgestellt von Drittservices, aber abrufbar auch ohne das Laden einer Website. ## 3. Trend: automatischer Einbezug von Daten Dritter In den ersten Versionen von Siri und Google Now wurden Drittintegrationen noch direkt von den Herstellern eingebaut: Sportergebnisse, Kinoprogramm, Wetter, News. Die Intelligenz der Dienste war daher noch begrenzt. Im nächsten Schritt öffnen sich Dienste wie Google Now, Amazon Echo, Cortana und Siri mit sogenannten SDKs (Software Development Kits) für Drittanbieter. Erst [echte künstliche Intelligenz](http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html) macht diese Integration eines Tages obsolet. ## 4. Trend: Bots und konversationsbasierte Interfaces  *// bots · prozesse werden übernommen* Suche und Suchergebnisse mit künstlicher Intelligenz sind das eine, doch denkt man an konkrete User Interfaces auch außerhalb von Suchmaschinen, ist noch viel mehr möglich. Stell dir einen Online-Shop vor, in dem dich eine Computerstimme empfängt, dich durch den Kaufprozess begleitet und blitzschnell herausfindet, was du kaufen willst und wie viel es kosten darf, woraufhin dir passende Produkte angezeigt werden ([Demonstration: Watson bei „The North Face"](https://www.thenorthface.com/xps)). Ähnlich wie ein Verkäufer im Geschäft also. Auch das ist im Kommen und geht über diesen Fall hinaus. Bots und spezialisierte Interfaces sorgen, derzeit besonders prominent bei Siri oder Cortana, dafür, dass Prozesse schneller, zielführender und einfacher werden, indem sie sie schlicht übernehmen. ## Was sind die Auswirkungen all dessen? ### Bessere Suchen mit weniger Frust Google ist mit 95 Prozent Marktanteil die unangefochtene Nummer eins unter den Suchmaschinen, was zeigt, wie abhängig die Nutzer von dem Dienst sind. Google arbeitet hart daran, seine Nutzer zu befähigen und zu ermutigen, komplexere Suchen durchzuführen, um Antworten auf Fragen zu bekommen, die bisher nicht gestellt werden konnten. Das hat viel mit dem Verständnis natürlicher Sprache zu tun.  *// weniger frust · mehr antwort* Die Zukunft hält also weitere Möglichkeiten bereit, um uns einen Prozess immer einfacher und besser zu gestalten, was dazu führt, dass die Aspekte „dauert zu lange" oder „finde nicht, was ich suche" immer weiter bröckeln und Google noch mehr „unser Freund" sein wird. ### Google-Rankings werden irrelevant Auf die SEO-Welt kann die Weiterentwicklung der IPAs einen negativen Effekt haben beziehungsweise neue Wege erforderlich machen, sich im Web zu positionieren. Der klassische Ranking-Faktor mit On- und Offpage-Optimierung verliert jedenfalls langsam an Relevanz, weil die neuen Suchergebnisse mit Direct Answers und der Integration von Drittdiensten das Weiterleiten in vielen Fällen unnötig machen. Suchst du etwa Flüge nach Berlin, interessieren die dargestellten Ergebnisse nicht mehr, sofern ganz oben eine App-Integration dafür sorgt, dass du dort schon günstig deinen Flug buchen kannst. Außerdem machen Intelligent Personal Assistants klassische Suchergebnisseiten überflüssig: Der Suchende bekommt keine Ergebnisliste mehr, um sich daraus etwas auszusuchen. Der digitale Assistent ist schlau genug, um direkt den passenden Treffer auszuliefern. Es zählt dann nur noch die Nummer eins, diese ist aber wesentlich persönlicher und auf den Suchenden zugeschnitten. ### IPAs reduzieren die Nutzungsdauer Das zeigt sich auch an der klassischen Reihe „Suchmaschine, Landingpage, Browsing, Checkout, Umsatz", auf der die meisten Websites aufbauen. Aus Sicht des Website-Betreibers wird deutlich, dass zwischen Seitenbesuch und tatsächlichem Umsatz viel Zeit liegen kann. IPAs sind in der Lage, diese Nutzungsdauer massiv zu reduzieren. Über Siri etwa schaust du, welche Filme gerade in den lokalen Kinos laufen: ein Klick für die Filmauswahl, ein Klick für das Kino, ein Klick für Tag und Vorstellungszeit, und mit einem Klick auf „Kaufen" gelangst du in den Checkout des Anbieters, schließt ihn ab, und das Thema ist abgehakt. ## Zusammenfassung Bei den Intelligent Personal Assistants handelt es sich um eine der größten, chancenreichsten und disruptivsten Entwicklungen des Internets. Menschen werden suchen, prüfen, entscheiden, kaufen und buchen, alles nur mit ihrem digitalen Assistenten. Eine klassische Web-Suche wird umgangen (das geschieht bereits), und auch auf die eigentliche Website ist man bald nicht mehr angewiesen, um Informationen zu erhalten (in vollem Gange) oder eine Buchung durchzuführen (innerhalb der nächsten zwölf Monate). Bei der Entwicklung von Apps und Websites wird die IPA-Integration künftig den Stellenwert einnehmen, den SEA und SEO bisher hatten. Um die Eingangsfrage zu beantworten: Ja, es ist gar nicht unwahrscheinlich, dass die klassische Website schon bald Schnee von gestern ist, so wie das Telefonbuch, das wochenlang vor unserem Briefkasten im Treppenhaus liegt, bis sich jemand erbarmt, es in den Müll zu werfen.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Bereit für die Suche von morgen? Wir bauen Websites, die auch Maschinen verstehen. [Projekt anfragen](https://www.siteway.de/kontakt/) ---  domains · tld · web-basics Eine Domain ist das Aushängeschild deines Internetunternehmens beziehungsweise deiner Website. Dabei spielt nicht nur der eigentliche Name der Domain eine wichtige Rolle, sondern auch die Domainendung, die sogenannte Top-Level-Domain (TLD), sollte passen. ## Neue Top-Level-Domains seit 2013 Seit 2013 wurde eine große Anzahl neuer Domainendungen ins Leben gerufen. Das ist ein Vorteil für alle, deren Wunschname bei den alten TLDs bereits vergeben oder nur zu horrenden Preisen zu erwerben ist. Zudem kannst du mit den neuen Endungen deinen Wunschnamen einprägsamer gestalten. Beliebt sind unter den neuen Endungen vor allem die TLDs: - .shop - .web - .berlin - .app - .bayern - .gmbh - .blog - .hamburg - .hotel - .online Mit diesen Domainendungen kannst du tolle Namen für deine Website bilden, etwa visit.berlin oder gruenertee.shop. Doch zunächst ein Rückblick. ## Zwei Arten von TLDs Man unterscheidet zwei Arten von Top-Level-Domains: - **gTLD = Generic Top-Level-Domain.** Das sind TLDs, die nicht an ein bestimmtes Land gebunden und somit generisch sind. Die ursprünglichen TLDs wie .com, .org, .net, .gov, .mil werden alle als generische TLDs klassifiziert. Es gab ein paar Runden der Erweiterung auf insgesamt 22 gTLDs, bis es nun zur großen Erweiterung kam. - **ccTLD = Country Code Top-Level-Domain.** Die Ländercode-TLDs sind zweibuchstabige TLDs, die Ländern zugeordnet sind, hauptsächlich basierend auf der ISO-3166-Liste der Ländercodes. Beispiele sind .de (Deutschland), .at (Österreich), .ch (Schweiz) oder .dk (Dänemark). Ein Spezialfall ist .eu für die Europäische Union, die natürlich kein Land ist, aber trotzdem als ccTLD eingeordnet wird. Nach vielen Jahren der Diskussion entschied der ICANN-Vorstand 2011, die Erstellung neuer generischer TLDs mit fast jedem Textstring (und in mehreren Zeichensätzen, also etwa arabischen oder asiatischen Schriftzeichen) zu ermöglichen, und begann das Programm „newgTLD". Das führte zu 1.930 Bewerbungen unterschiedlicher Unternehmen, neue gTLDs zu betreiben. Diese newgTLDs werden in Phasen umgesetzt, und Unternehmen wie Privatpersonen können Second-Level-Domains unter vielen dieser Domains registrieren. Mehr newgTLDs kommen fast jede Woche hinzu, und die Expansion wird sich noch viele Monate und Jahre fortsetzen. bis 2012 22 generische TLDs .com · .net · .org · .info · .biz … seit 2013 1.222+ neue gTLDs .shop · .berlin · .app · .xyz · .online · .bio … ## Das grundlegende Problem der Domainendungen Ein Problem bei den neuen TLDs ist allerdings, dass die meisten noch immer relativ unbekannt sind. So kann es passieren, dass viele Menschen, die deinen Namen lesen, etwa in Print-Anzeigen, ihn gar nicht als Website-Adresse wahrnehmen. Die Kosten für die neuen Endungen sind recht unterschiedlich. Viele sind bereits ab 19 Euro im Jahr zu haben, andere kosten mehrere hundert Euro pro Jahr. Besonders preisintensiv sind Domainnamen mit der Endung .auto, sie kostet knapp 3.000 Euro jährlich. ## Die Schattenseiten der neuen Top-Level-Domains Allein zwischen 2013 und 2015 wurden rund 750 neue TLDs freigeschaltet. Bei einer so großen Auswahl kann man sich fragen, wer all diese Endungen nutzen soll. Kritiker führen an, dass einige der neuen Top-Level-Domains vornehmlich Internet-Gaunern und Spammern dienen. Das IT-Sicherheitsunternehmen *Blue Coat* hat untersucht, welche TLDs für zwielichtige Zwecke genutzt werden. Mehrere hundert Millionen Webanfragen von über 15.000 Unternehmen und 75 Millionen Internetnutzern wurden dafür analysiert. Ganz oben in der Top 10 der zwielichtigen Endungen steht die TLD .zip. Besonders viele Internet-Strolche lockte auch die seriös klingende neue Top-Level-Domain .science an. Ein Registrar von .science bot als Werbeaktion kostenlose Domains für das erste Jahr an, dieses Angebot nutzten anscheinend vor allem unseriöse Anbieter. ## Top Ten der zwielichtigen Top-Level-Domains - .zip - .review - .country - .kim - .cricket - .science - .work - .party - .gq - .link Die meisten Top-Level-Domains sind natürlich harmlos. Die sicherste Endung soll übrigens .mil sein, die Endung des Verteidigungsministeriums der USA. Wenn du dich für eine der neuen Top-Level-Domains entscheidest, solltest du trotzdem darauf achten, ob die Endung nicht in einem allzu schlechten Ruf steht, sonst traut sich am Ende niemand, deine Seite zu besuchen. ## Die neuen Top-Level-Domains in der Google-Suche Eine wichtige Frage, die sich Nutzer der neuen Top-Level-Domains stellen, ist, ob Suchmaschinen sie anders behandeln als die etablierten Domains. Google selbst gibt an, dass kein Unterschied in der Bewertung der neuen und der alten TLDs gemacht wird. Wenn du für deine Website eine der neuen TLDs wählst, entstehen dir keine Nachteile bei der Platzierung, allerdings auch keine Vorteile. Selbst wenn die Endung deiner Domain ein Keyword enthält, wirkt sich das kaum aufs Ranking aus. Keywords innerhalb von Domainnamen haben als Rankingfaktor grundsätzlich an Relevanz verloren. **Tipp:** Wenn du ohnehin auf der Suche nach einem geeigneten Domainnamen bist, überlege dir auch, ob es sinnvoll sein könnte, deinen Namen mit verschiedenen Endungen zu sichern, etwa verschiedenen Länderendungen, wenn du international agierst.  *// domain-check: viele endungen auf einen blick prüfen* Überprüfe, ob deine Wunschdomain noch frei ist. Du kannst sowohl die deutsche Endung .de als auch gebräuchliche europäische und internationale Endungen und neue TLDs prüfen. Zum [Domain-Check für alle Domainendungen](https://www.siteway.de/tools/domain-check/). ## Komplette Liste der neuen Top-Level-Domains Seit 2013 kamen weit über tausend neue generische Endungen dazu. Diese **569 neuen gTLDs sind frei registrierbar** — jede und jeder kann sie für eine Website nutzen (alphabetisch): .abogado, .abudhabi, .academy, .accountant, .accountants, .actor, .ads, .adult, .africa, .agency, .airforce, .alsace, .amsterdam, .apartments, .app, .arab, .archi, .army, .art, .associates, .attorney, .auction, .audio, .auto, .autos, .aws, .baby, .band, .bank, .bar, .barcelona, .bargains, .baseball, .bayern, .bcn, .beauty, .beer, .berlin, .best, .bet, .bible, .bid, .bike, .bingo, .bio, .black, .blackfriday, .blog, .blue, .boats, .bom, .bond, .boo, .boston, .boutique, .box, .broker, .brussels, .build, .builders, .business, .buzz, .bzh, .cab, .cafe, .cam, .camera, .camp, .capetown, .capital, .car, .caravan, .cards, .care, .career, .careers, .cars, .casa, .case, .cash, .casino, .catering, .catholic, .center, .ceo, .cfa, .cfd, .channel, .charity, .chat, .cheap, .christmas, .church, .circle, .city, .claims, .cleaning, .click, .clinic, .clothing, .cloud, .club, .coach, .codes, .coffee, .college, .cologne, .community, .company, .compare, .computer, .condos, .construction, .consulting, .contact, .contractors, .cooking, .cool, .corsica, .country, .coupons, .courses, .cpa, .credit, .creditcard, .creditunion, .cricket, .cruise, .cruises, .cymru, .cyou, .dad, .dance, .data, .date, .dating, .day, .dds, .dealer, .deals, .degree, .delivery, .democrat, .dental, .dentist, .desi, .design, .dev, .diamonds, .diet, .digital, .direct, .directory, .discount, .diy, .docs, .doctor, .dog, .domains, .download, .drive, .dubai, .durban, .earth, .eat, .eco, .education, .email, .energy, .engineer, .engineering, .enterprises, .equipment, .esq, .estate, .eurovision, .eus, .events, .exchange, .expert, .exposed, .express, .fail, .faith, .family, .fan, .fans, .farm, .fashion, .feedback, .film, .final, .finance, .financial, .fish, .fishing, .fit, .fitness, .flights, .florist, .flowers, .fly, .foo, .food, .football, .forex, .forsale, .forum, .foundation, .frl, .fun, .fund, .furniture, .futbol, .fyi, .gal, .gallery, .game, .games, .garden, .gay, .gdn, .gent, .gift, .gifts, .gives, .giving, .glass, .gle, .global, .gmbh, .gold, .golf, .gop, .got, .graphics, .gratis, .green, .gripe, .group, .guide, .guitars, .guru, .hair, .hamburg, .hangout, .haus, .health, .healthcare, .help, .helsinki, .here, .hiphop, .hiv, .hockey, .holdings, .holiday, .homes, .horse, .hospital, .host, .hosting, .hotels, .house, .how, .ice, .icu, .immo, .immobilien, .inc, .industries, .ing, .ink, .institute, .insurance, .insure, .international, .investments, .irish, .ist, .istanbul, .jetzt, .jewelry, .joburg, .juegos, .kaufen, .kids, .kim, .kitchen, .kiwi, .koeln, .kosher, .krd, .kyoto, .land, .lat, .latino, .law, .lawyer, .lease, .legal, .lgbt, .life, .lifestyle, .lighting, .limited, .limo, .link, .live, .living, .llc, .llp, .loan, .loans, .locker, .lol, .london, .lotto, .love, .ltd, .ltda, .luxe, .luxury, .madrid, .maison, .makeup, .management, .map, .market, .marketing, .markets, .mba, .med, .media, .meet, .melbourne, .meme, .memorial, .men, .menu, .miami, .mls, .mobile, .moda, .moe, .mom, .money, .monster, .mortgage, .moscow, .motorcycles, .mov, .movie, .music, .nagoya, .navy, .network, .new, .news, .nexus, .ngo, .ninja, .nrw, .nyc, .okinawa, .one, .ong, .onl, .online, .ooo, .organic, .osaka, .ovh, .page, .paris, .pars, .partners, .parts, .party, .pet, .pharmacy, .phd, .phone, .photo, .photography, .photos, .physio, .pics, .pictures, .pid, .pink, .pizza, .place, .play, .plumbing, .plus, .poker, .porn, .press, .prod, .productions, .prof, .promo, .properties, .property, .protection, .pub, .qpon, .quebec, .quest, .racing, .radio, .realestate, .realtor, .realty, .recipes, .red, .rehab, .reise, .reisen, .reit, .ren, .rent, .rentals, .repair, .report, .republican, .rest, .restaurant, .review, .reviews, .rich, .rio, .rip, .rocks, .rodeo, .rsvp, .rugby, .ruhr, .run, .ryukyu, .saarland, .safety, .sale, .salon, .sarl, .sas, .sbs, .scholarships, .school, .schule, .science, .scot, .search, .security, .select, .services, .sex, .sexy, .shiksha, .shoes, .shop, .shopping, .shouji, .show, .singles, .site, .ski, .skin, .soccer, .social, .software, .solar, .solutions, .soy, .spa, .space, .sport, .srl, .storage, .store, .stream, .studio, .study, .style, .sucks, .supplies, .supply, .support, .surf, .surgery, .swiss, .sydney, .systems, .tab, .taipei, .tatar, .tattoo, .tax, .taxi, .team, .tech, .technology, .tennis, .theater, .theatre, .tickets, .tienda, .tips, .tires, .tirol, .today, .tokyo, .tools, .top, .tours, .town, .toys, .trade, .trading, .training, .trust, .tube, .university, .uno, .vacations, .vana, .vegas, .ventures, .versicherung, .vet, .viajes, .video, .villas, .vin, .vip, .vision, .vlaanderen, .vodka, .vote, .voting, .voto, .voyage, .wales, .wang, .watch, .watches, .webcam, .website, .wed, .wedding, .whoswho, .wien, .wiki, .win, .wine, .work, .works, .world, .wtf, .xin, .xyz, .yachts, .yoga, .yokohama, .yun, .zip, .zone, .zuerich Nicht frei registrierbar sind dagegen die **geschlossenen Marken-Endungen (dot-brands)**: Sie gehören jeweils einem Konzern und werden nicht an die Öffentlichkeit verkauft — etwa .bmw (nur BMW) oder .google (nur Google). Diese 446 Endungen kannst du also **nicht** registrieren: .aaa, .aarp, .abb, .abbott, .abbvie, .abc, .able, .accenture, .aco, .aeg, .aetna, .afl, .agakhan, .aig, .airbus, .airtel, .akdn, .alibaba, .alipay, .allfinanz, .allstate, .ally, .alstom, .amazon, .americanexpress, .americanfamily, .amex, .amfam, .amica, .analytics, .android, .anquan, .anz, .aol, .apple, .aquarelle, .aramco, .arte, .asda, .athleta, .audi, .audible, .auspost, .author, .axa, .azure, .baidu, .banamex, .barclaycard, .barclays, .barefoot, .basketball, .bauhaus, .bbc, .bbt, .bbva, .bcg, .beats, .bestbuy, .bharti, .bing, .blockbuster, .bloomberg, .bms, .bmw, .bnpparibas, .boehringer, .bofa, .book, .booking, .bosch, .bostik, .bot, .bradesco, .bridgestone, .broadway, .brother, .buy, .cal, .call, .calvinklein, .canon, .capitalone, .cba, .cbn, .cbre, .cern, .chanel, .chase, .chintai, .chrome, .cipriani, .cisco, .citadel, .citi, .citic, .clinique, .clubmed, .commbank, .comsec, .coupon, .crown, .crs, .cuisinella, .datsun, .dclk, .deal, .dell, .deloitte, .delta, .dhl, .discover, .dish, .dnp, .dot, .dtv, .dupont, .dvag, .dvr, .edeka, .emerck, .epson, .ericsson, .erni, .extraspace, .fage, .fairwinds, .farmers, .fast, .fedex, .ferrari, .ferrero, .fidelity, .fido, .fire, .firestone, .firmdale, .flickr, .flir, .ford, .fox, .free, .fresenius, .frogans, .frontier, .ftr, .fujitsu, .gallo, .gallup, .gap, .gbiz, .gea, .genting, .george, .ggee, .globo, .gmail, .gmo, .gmx, .godaddy, .goldpoint, .goodyear, .goog, .google, .grainger, .grocery, .gucci, .guge, .hbo, .hdfc, .hdfcbank, .hermes, .hisamitsu, .hitachi, .hkt, .homedepot, .homegoods, .homesense, .honda, .hot, .hotmail, .hsbc, .hughes, .hyatt, .hyundai, .ibm, .icbc, .ieee, .ifm, .ikano, .imamat, .imdb, .infiniti, .intuit, .ipiranga, .ismaili, .itau, .itv, .jaguar, .java, .jcb, .jeep, .jio, .jll, .jmp, .jnj, .jot, .joy, .jpmorgan, .jprs, .juniper, .kddi, .kerryhotels, .kerryproperties, .kfh, .kia, .kindle, .komatsu, .kpmg, .kpn, .kred, .kuokgroup, .lacaixa, .lamborghini, .lamer, .landrover, .lanxess, .lasalle, .latrobe, .lds, .leclerc, .lefrak, .lego, .lexus, .lidl, .lifeinsurance, .like, .lilly, .lincoln, .locus, .lotte, .lpl, .lplfinancial, .lundbeck, .maif, .man, .mango, .marriott, .marshalls, .mattel, .mckinsey, .merck, .merckmsd, .microsoft, .mini, .mint, .mit, .mitsubishi, .mlb, .mma, .moi, .monash, .mormon, .moto, .msd, .mtn, .mtr, .nab, .nba, .nec, .netbank, .netflix, .neustar, .next, .nextdirect, .nfl, .nhk, .nico, .nike, .nikon, .nissan, .nissay, .nokia, .norton, .now, .nowruz, .nowtv, .nra, .ntt, .obi, .observer, .office, .olayan, .olayangroup, .ollo, .omega, .open, .oracle, .orange, .origins, .otsuka, .ott, .panasonic, .pay, .pccw, .pfizer, .philips, .pictet, .pin, .ping, .pioneer, .playstation, .pnc, .pohl, .politie, .praxi, .prime, .progressive, .pru, .prudential, .pwc, .read, .redumbrella, .reliance, .rexroth, .richardli, .ricoh, .ril, .rogers, .room, .rwe, .safe, .sakura, .samsclub, .samsung, .sandvik, .sandvikcoromant, .sanofi, .sap, .save, .saxo, .sbi, .scb, .schaeffler, .schmidt, .schwarz, .seat, .secure, .seek, .sener, .seven, .sew, .sfr, .shangrila, .sharp, .shell, .shia, .silk, .sina, .sky, .skype, .sling, .smart, .smile, .sncf, .softbank, .sohu, .song, .sony, .spot, .stada, .staples, .star, .statebank, .statefarm, .stc, .stcgroup, .stockholm, .suzuki, .swatch, .talk, .taobao, .target, .tatamotors, .tci, .tdk, .temasek, .teva, .thd, .tiaa, .tjmaxx, .tjx, .tkmaxx, .tmall, .toray, .toshiba, .total, .toyota, .travelers, .travelersinsurance, .trv, .tui, .tunes, .tushu, .tvs, .ubank, .ubs, .unicom, .uol, .ups, .vanguard, .verisign, .vig, .viking, .virgin, .visa, .viva, .vivo, .volvo, .walmart, .walter, .wanggou, .weather, .weatherchannel, .weber, .weibo, .weir, .williamhill, .windows, .winners, .wme, .woodside, .wow, .wtc, .xbox, .xerox, .xihuan, .yahoo, .yamaxun, .yandex, .yodobashi, .you, .youtube, .zappos, .zara, .zero Dazu kommen **66 internationalisierte Endungen (IDN)**, die lokale Schriftsätze erlauben — etwa .游戏 (Spiele), .网络 (Netzwerk), .在线 (online), .рус oder .كوم. Stand: 26. Juni 2026 (IANA Root Zone). [Komplette Liste als CSV herunterladen](https://www.siteway.de/insights/neue-domainendungen/neue-domainendungen.csv) (beide Blöcke). Die vollständige Liste *aller* delegierten Endungen samt Klassifizierung und registrierendem Unternehmen findest du in der [IANA Root Zone Database](https://www.iana.org/domains/root/db).  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Auf der Suche nach der richtigen Domain? Prüf deinen Wunschnamen in Sekunden. [Domain-Check öffnen](https://www.siteway.de/kontakt/) ---  foto: eyosias g. · unsplash >30% Absprungwahrscheinlichkeit schon nach 3 Sekunden Ladezeit. −7% Conversion-Rate pro zusätzlicher Sekunde Verzögerung. 0–100 Lighthouse-Score. Erst messen, dann gezielt optimieren. Deine Besucher erwarten, dass eine Website innerhalb weniger Sekunden geladen ist, und sind schnell frustriert, wenn das nicht der Fall ist. Eine langsame Ladezeit führt oft dazu, dass Nutzer abspringen und sich für eine andere Seite entscheiden, die schneller reagiert. Hier kommt der sogenannte PageSpeed ins Spiel: die Ladegeschwindigkeit deiner Website. Sie entscheidet maßgeblich darüber, ob Besucher auf deiner Seite bleiben, deine Inhalte lesen und am Ende eine Conversion ausführen, etwa einen Kauf oder eine Kontaktaufnahme. Doch PageSpeed beeinflusst nicht nur das Nutzererlebnis, sondern ist auch ein wichtiger Faktor für das Ranking in Suchmaschinen wie Google. Eine schnelle Website wird von Google belohnt, eine langsame hingegen kann im Ranking zurückfallen. Das bedeutet im Klartext: Eine optimierte Ladegeschwindigkeit verbessert deine Sichtbarkeit und trägt aktiv zum Erfolg deiner Website bei. In diesem Artikel erfährst du, warum PageSpeed so entscheidend ist, welche Faktoren die Ladegeschwindigkeit beeinflussen und welche Best Practices dir helfen können, die Ladezeit deiner Website spürbar zu verbessern.  *// jede sekunde zählt* ## Warum PageSpeed wichtig ist Eine schnelle Ladegeschwindigkeit ist heutzutage kein „Nice-to-have" mehr, sondern ein Muss. Die Erwartungen der Nutzer haben sich geändert, und sie sind deutlich anspruchsvoller geworden. Für deine Website bedeutet das: Sekunden zählen. Doch warum genau ist PageSpeed so wichtig, und wie wirkt sich eine langsame Ladezeit konkret auf den Erfolg deiner Website aus? ### Nutzerverhalten: Wie lange warten Besucher, bevor sie abspringen? Studien zeigen, dass die Absprungrate mit jeder zusätzlichen Sekunde Ladezeit erheblich steigt. Bereits nach drei Sekunden Ladezeit steigt die Wahrscheinlichkeit, dass ein Besucher die Website verlässt, auf über 30 Prozent. Eine lange Ladezeit sorgt also nicht nur für Frust, sondern kann dich auch potenzielle Kunden kosten. Eine schnelle Website verbessert hingegen das Nutzererlebnis, was die Verweildauer und die Wahrscheinlichkeit erhöht, dass Nutzer mit deinen Inhalten interagieren und zu Kunden werden. ### Einfluss auf SEO-Rankings und den Google-Algorithmus Google berücksichtigt die Ladegeschwindigkeit einer Website als Ranking-Faktor, und das nicht ohne Grund. Google möchte seinen Nutzern die bestmöglichen Suchergebnisse liefern, und dazu gehört auch, dass diese schnell zugänglich sind. Eine langsame Seite kann also zu einem schlechteren Ranking führen, was wiederum die Sichtbarkeit und Reichweite deiner Website einschränkt. Mit einer optimierten Ladegeschwindigkeit verbesserst du die Chance, bei relevanten Suchanfragen weiter oben in den Suchergebnissen zu erscheinen und damit auch mehr organischen Traffic zu generieren. ### Direkter Zusammenhang mit Conversion-Rate und Umsatz Die Ladegeschwindigkeit deiner Website hat auch direkte Auswirkungen auf die Conversion-Rate, also die Rate der Besucher, die eine gewünschte Aktion ausführen, sei es ein Kauf, eine Anmeldung oder eine Kontaktanfrage. Untersuchungen zeigen, dass jede Sekunde Verzögerung die Conversion-Rate um bis zu sieben Prozent senken kann. Wenn du dich also auf Umsatzsteigerung und Kundenakquise konzentrierst, sollte die Ladegeschwindigkeit eine zentrale Rolle in deiner Strategie spielen.  *// absprungrate steigt mit jeder sekunde* ## Hauptfaktoren, die die Ladegeschwindigkeit beeinflussen Um die Ladegeschwindigkeit deiner Website zu optimieren, ist es hilfreich zu wissen, welche Faktoren darauf Einfluss nehmen. Eine Vielzahl technischer und inhaltlicher Elemente beeinflusst, wie schnell eine Seite geladen wird. Im Folgenden stellen wir die wichtigsten Faktoren vor, die du im Auge behalten solltest, wenn du das PageSpeed-Potenzial deiner Website voll ausschöpfen möchtest.  *// server, bilder, code, caching* ### Server-Leistung und Hosting Die Wahl des richtigen Hostings ist entscheidend für die Geschwindigkeit deiner Website. Ein leistungsstarker Server mit ausreichend Ressourcen und einer stabilen Anbindung ermöglicht schnelle Ladezeiten. Insbesondere bei viel Traffic oder großen Datenmengen kann es sinnvoll sein, in ein leistungsfähigeres Hosting zu investieren, etwa einen dedizierten Server oder Cloud-Hosting. Auch die geografische Nähe des Servers zu deinen Nutzern spielt eine Rolle: Ein Rechenzentrum in der Nähe deiner Hauptzielgruppe reduziert die Latenz und verbessert so die Ladezeiten. ### Dateigröße und Bildoptimierung Große Bilddateien sind einer der Hauptgründe für langsame Ladezeiten. Unkomprimierte Bilder können die Ladezeit erheblich verlängern, insbesondere auf mobilen Geräten mit eingeschränkter Bandbreite. Hier lohnt sich der Einsatz von Kompressionstechniken und modernen Formaten wie WebP oder AVIF, die die Dateigröße ohne sichtbaren Qualitätsverlust reduzieren. Zudem kannst du mit der Technik des Lazy Loadings Bilder nur dann laden, wenn sie im sichtbaren Bereich des Nutzers erscheinen, was die anfängliche Ladezeit weiter verringert. ### Caching und Datenkomprimierung Caching ist eine effektive Möglichkeit, die Ladezeit von wiederkehrenden Besuchern zu verkürzen. Beim Caching speichert der Browser bestimmte Daten lokal auf dem Gerät des Nutzers, sodass diese beim nächsten Besuch nicht erneut geladen werden müssen. Zusätzlich können Dateien durch Gzip- oder Brotli-Kompression verkleinert werden, was die Datenmenge reduziert, die an den Browser übertragen wird. Beides zusammen sorgt dafür, dass deine Seite deutlich schneller lädt, besonders bei wiederkehrenden Zugriffen. ### JavaScript, CSS und deren Ladeprioritäten JavaScript und CSS sind essenzielle Bestandteile moderner Websites, aber unoptimierte oder schlecht platzierte Skripte können die Ladezeit erheblich verlangsamen. JavaScript-Dateien sollten möglichst asynchron geladen werden, um zu verhindern, dass sie den Seitenaufbau blockieren. Auch das Minifizieren von CSS und JavaScript, also das Entfernen unnötiger Zeichen wie Leerzeichen und Kommentare, reduziert die Dateigröße und verbessert die Ladezeiten. Achte dabei darauf, dass kritische CSS- und JavaScript-Dateien bevorzugt geladen werden, um den sichtbaren Bereich der Website so schnell wie möglich darzustellen. ## Best Practices zur Optimierung von PageSpeed Mit den richtigen Optimierungstechniken kannst du die Ladezeit deiner Website signifikant verkürzen und damit das Nutzererlebnis sowie dein Suchmaschinenranking verbessern. Hier sind die bewährtesten Methoden, die du bei der Optimierung deiner Seite berücksichtigen solltest.  *// best practices auf einen blick* ### Bildoptimierung: Kompression und moderne Formate Bilder nehmen oft den größten Anteil an der Ladezeit ein. Durch Komprimierung kannst du die Dateigröße erheblich reduzieren, ohne sichtbaren Qualitätsverlust. Tools wie TinyPNG oder ImageOptim helfen dabei, die Größe deiner Bilder zu optimieren. Setze zusätzlich auf moderne Bildformate wie WebP und AVIF, die bei gleicher Qualität deutlich kleiner sind als herkömmliche Formate wie JPEG oder PNG. Auch das sogenannte Lazy Loading, bei dem Bilder erst dann geladen werden, wenn sie im Sichtbereich des Nutzers erscheinen, ist eine effektive Technik, um die anfängliche Ladezeit zu reduzieren. ### CSS- und JavaScript-Minimierung und -Asynchronisierung Minimiere deine CSS- und JavaScript-Dateien, indem du unnötige Zeichen wie Leerzeichen, Kommentare und Zeilenumbrüche entfernst. Das reduziert die Dateigröße und somit die Ladezeit. Stelle außerdem sicher, dass nicht-kritische JavaScript-Dateien asynchron geladen werden. Durch asynchrones Laden werden diese Skripte erst dann geladen, wenn die Hauptinhalte der Seite bereits dargestellt sind, was den ersten Eindruck für den Nutzer beschleunigt. ### Nutzung eines Content Delivery Networks (CDN) Ein Content Delivery Network (CDN) verteilt Kopien deiner Website-Inhalte auf verschiedene Server weltweit. Dadurch werden deine Inhalte schneller geladen, da sie von dem Server bereitgestellt werden, der geografisch am nächsten beim Nutzer liegt. Ein CDN kann die Ladezeit erheblich verbessern, vor allem bei internationalem Traffic oder hohen Besucherzahlen. ### Reduzierung von HTTP-Anfragen und Einsatz von Lazy Loading Jede Ressource, die eine Seite lädt, ob Bilder, Skripte oder CSS-Dateien, erfordert eine HTTP-Anfrage. Minimiere die Anzahl der Anfragen, indem du Dateien zusammenfasst oder unnötige Inhalte entfernst. Eine effektive Technik ist das Lazy Loading von Bildern und Videos: Dabei werden diese erst dann geladen, wenn der Nutzer zu dem Bereich der Seite scrollt, in dem sie sich befinden. Das reduziert die anfängliche Ladezeit und beschleunigt die Darstellung des sichtbaren Bereichs. ### Server-Caching und Datenkomprimierung mit Gzip Nutze Caching, um den Server für wiederkehrende Besucher zu entlasten und die Ladezeit zu verkürzen. Dabei werden häufig benötigte Inhalte lokal gespeichert, sodass sie beim nächsten Besuch direkt aus dem Cache geladen werden. Eine zusätzliche Möglichkeit ist die Komprimierung der Dateien mit Gzip oder Brotli. Diese Technik reduziert die Größe der übertragenen Daten und sorgt dafür, dass die Inhalte schneller geladen werden. ### Priorisierung und Optimierung von Schriftarten Web-Schriftarten können ebenfalls die Ladezeit beeinflussen, besonders wenn sie groß oder umfangreich sind. Um das zu optimieren, lade nur die benötigten Schriftarten und Schriftschnitte und binde sie so ein, dass sie den Seitenaufbau nicht verzögern. Eine weitere Technik ist das Font-Swapping, bei dem zunächst eine systemeigene Schriftart geladen wird und die Web-Schrift erst nachträglich eingebunden wird, ohne dass der Seitenaufbau blockiert wird. Am schnellsten sind lokal gehostete Schriften, weil kein externer Server angefragt werden muss. ## Tools zur Messung und Analyse der Ladegeschwindigkeit Um die Ladegeschwindigkeit deiner Website effektiv zu optimieren, ist es wichtig, zunächst zu verstehen, wo mögliche Schwachstellen liegen. Verschiedene Tools bieten umfassende Analysen, die dir helfen, die Leistung deiner Seite zu bewerten und gezielte Verbesserungen vorzunehmen. Hier sind einige der zuverlässigsten und am häufigsten genutzten Tools. ### Google PageSpeed Insights & Lighthouse [Google PageSpeed Insights](https://pagespeed.web.dev/) ist eines der bekanntesten Tools zur Messung der Ladegeschwindigkeit und liefert wertvolle Einblicke sowohl für die mobile als auch für die Desktop-Version deiner Website. Das Tool analysiert, wie gut deine Website in Bezug auf Geschwindigkeit und Leistung abschneidet, und liefert einen Score von 0 bis 100. Darüber hinaus gibt PageSpeed Insights konkrete Empfehlungen zur Verbesserung der Ladezeit, etwa das Optimieren von Bildern oder das Aktivieren von Caching. Zusammen mit PageSpeed Insights bietet Google Lighthouse, das direkt in den Chrome DevTools integriert ist, eine erweiterte Analyse. Lighthouse analysiert nicht nur die Ladezeit, sondern gibt auch Einblicke in Barrierefreiheit, SEO und Best Practices.  *// google pagespeed insights* ### Google Search Console Die [Google Search Console](https://search.google.com/search-console) ist ein wichtiges Tool zur Verwaltung und Optimierung deiner Website in den Google-Suchergebnissen. Sie enthält wertvolle Leistungsdaten, einschließlich Berichte zur Core-Web-Vitals-Leistung deiner Seite, die spezifische PageSpeed-Kennzahlen wie Ladegeschwindigkeit und Interaktivität berücksichtigen. Diese Daten werden direkt aus der realen Nutzererfahrung (Field Data) generiert und sind besonders nützlich, um zu verstehen, wie deine Website für echte Nutzer abschneidet.  *// google search console · core web vitals* ### siteway PageSpeed-Check Für einen schnellen, trackingfreien Blick haben wir ein eigenes Tool gebaut: Der [PageSpeed-Check von siteway](https://www.siteway.de/tools/pagespeed-check/) prüft die Ladezeit und die Core Web Vitals (LCP, INP, CLS) einer Seite direkt im Browser — ohne Anmeldung. Ideal, um vor der Detailanalyse mit einem der anderen Tools erst einmal den Ist-Zustand zu sehen.  *// siteway · pagespeed-check* ### experte.de PageSpeed-Tool Das [experte.de PageSpeed-Tool](https://www.experte.de/pagespeed) geht noch einen Schritt weiter, indem es deine gesamte Website crawlt und Leistungsberichte für jede Unterseite erstellt, ähnlich wie Google PageSpeed Insights, aber für die gesamte Website. Dadurch ist es besonders nützlich, wenn du eine umfassende Analyse des PageSpeeds deiner Website durchführen möchtest. Der Bericht zeigt dabei ebenfalls Optimierungsmöglichkeiten auf, die die Ladezeit spürbar verbessern können.  *// experte.de · ganze website* ### GTmetrix [GTmetrix](https://gtmetrix.com/) bietet eine detaillierte Analyse der Ladegeschwindigkeit und zeigt, wie sich verschiedene Faktoren auf die Leistung deiner Website auswirken. Neben einem Gesamt-Score liefert GTmetrix auch Angaben zur Ladezeit, zur Gesamtgröße der Seite und zur Anzahl der HTTP-Anfragen. Die Wasserfall-Ansicht zeigt genau, welche Elemente die Ladezeit beeinflussen. GTmetrix ist besonders hilfreich, wenn du tiefere Einblicke in die technischen Details der Ladegeschwindigkeit benötigst.  *// gtmetrix · wasserfall-ansicht* ### Pingdom Website Speed Test [Pingdom](https://tools.pingdom.com/) ist ein weiteres beliebtes Tool zur Analyse der Ladegeschwindigkeit und bietet eine benutzerfreundliche Oberfläche. Es zeigt, wie sich verschiedene Ressourcen wie Bilder, CSS und JavaScript auf die Ladezeit auswirken. Das Tool bietet außerdem eine detaillierte Wasserfall-Ansicht und gibt eine Gesamtbewertung deiner Website-Performance. Besonders nützlich ist die Funktion, die Ladezeiten für verschiedene Länder zu simulieren, ideal, wenn du internationale Besucher bedienst.  *// pingdom · ladezeiten pro region* ## Tipps, um die Ergebnisse der Tools zu interpretieren und gezielt umzusetzen Nachdem du deine Website mit den verschiedenen PageSpeed-Tools analysiert hast, erhältst du detaillierte Berichte mit vielen technischen Empfehlungen. Diese Ergebnisse können auf den ersten Blick überwältigend wirken. Hier sind einige Tipps, wie du die Ergebnisse interpretierst und gezielt umsetzt, um die Ladegeschwindigkeit deiner Website effektiv zu verbessern. - **Fokus auf die größten Ladehemmnisse legen.** Die Tools priorisieren in der Regel die größten Bremsfaktoren deiner Website. Beginne mit diesen Empfehlungen, da diese Änderungen oft die größten Auswirkungen auf die Ladezeit haben. Schwerpunkte sind meist unkomprimierte Bilder, nicht minimierte JavaScript- und CSS-Dateien sowie fehlendes Caching. Wenn ein Tool beispielsweise eine große Bilddatei bemängelt, kannst du diese durch Komprimierung optimieren und so einen schnellen Ladezeitgewinn erzielen. - **First Contentful Paint und Largest Contentful Paint priorisieren.** In den Berichten tauchen oft Begriffe wie First Contentful Paint (FCP) und Largest Contentful Paint (LCP) auf. Diese Metriken zeigen an, wie schnell der erste und der größte sichtbare Inhalt geladen werden. Ein schneller FCP und LCP sorgt für ein besseres Nutzererlebnis, da die Besucher direkt Inhalte sehen, während die restliche Seite im Hintergrund lädt. Priorisiere deshalb Optimierungen, die FCP und LCP verbessern, etwa Lazy Loading, Caching und optimierte Bildgrößen. - **Render-Blocking-Ressourcen minimieren.** Viele Tools empfehlen, sogenannte Render-Blocking-Ressourcen zu minimieren. Hierbei handelt es sich um CSS- und JavaScript-Dateien, die den Seitenaufbau blockieren, bis sie vollständig geladen sind. Du kannst diese Ressourcen optimieren, indem du CSS- und JavaScript-Dateien asynchron lädst, also erst dann, wenn der Hauptinhalt der Seite sichtbar ist. So verkürzt du die Wahrnehmung der Ladezeit für den Nutzer erheblich. - **Den Nutzen von Caching verstehen und gezielt einsetzen.** Caching-Empfehlungen sind ebenfalls häufig in den Berichten der Tools zu finden. Unterschieden wird hier oft zwischen serverseitigem und browserseitigem Caching. Caching bedeutet, dass bestimmte Dateien und Ressourcen lokal im Browser oder auf dem Server gespeichert werden, sodass sie nicht bei jedem Seitenaufruf erneut geladen werden müssen. Implementiere Caching-Richtlinien für statische Inhalte wie Bilder, CSS und JavaScript, um deine Ladezeiten für wiederkehrende Besucher deutlich zu verbessern. - **CSS und JavaScript minimieren und zusammenfassen.** Die Tools empfehlen häufig, CSS- und JavaScript-Dateien zu minimieren und zu konsolidieren. Minimierung entfernt unnötige Zeichen wie Leerzeichen und Kommentare, während das Zusammenfassen die Anzahl der HTTP-Anfragen reduziert. Achte darauf, nur wirklich benötigte Dateien zu laden, und entferne veraltete oder unnötige Ressourcen. So wird die Ladegeschwindigkeit weiter verbessert, ohne dass die Funktionalität der Website beeinträchtigt wird. - **Analyse als kontinuierlichen Prozess verstehen.** PageSpeed ist kein einmaliges Projekt. Die Leistung deiner Website kann durch neue Inhalte, Designänderungen oder das Hinzufügen von Plugins und Skripten im Laufe der Zeit wieder sinken. Überprüfe deine Ladegeschwindigkeit regelmäßig und führe kontinuierliche Optimierungen durch, um sicherzustellen, dass deine Website stets schnell und nutzerfreundlich bleibt. Die meisten Tools bieten die Möglichkeit, regelmäßig Berichte zu erstellen, die du im Auge behalten kannst. - **Spezifische Handlungsempfehlungen der Tools berücksichtigen.** Die meisten Tools geben spezifische Optimierungsvorschläge, die du Schritt für Schritt umsetzen kannst. Lass dich von diesen Empfehlungen leiten, aber passe sie an die Bedürfnisse und technischen Gegebenheiten deiner Website an. Beispielsweise kann Google PageSpeed Insights vorschlagen, Schriftarten schneller zu laden; in diesem Fall kannst du gezielt auf Font-Swapping oder das Vorladen von Schriften setzen. Prüfe die Empfehlungen und setze diejenigen um, die für deine Website und dein Zielpublikum den größten Effekt haben. ## PageSpeed und Mobile-Optimierung Die Optimierung der Ladegeschwindigkeit für mobile Geräte ist in der heutigen Zeit unverzichtbar. Da immer mehr Menschen Websites über Smartphones und Tablets aufrufen, ist es entscheidend, dass deine Seite auf diesen Geräten schnell und reibungslos funktioniert. Google bewertet inzwischen die mobile Version einer Website für die Suchmaschinen-Rankings vorrangig (Mobile First), was die Bedeutung der mobilen PageSpeed-Optimierung weiter unterstreicht. Doch warum ist die mobile Ladegeschwindigkeit so wichtig, und wie kannst du sie verbessern?  *// mobile first · langsamere netze* ### Warum Mobile-PageSpeed eine besondere Rolle spielt Mobile Nutzer sind oft unterwegs und verwenden mobile Datennetzwerke, die langsamer und instabiler sein können als Festnetzverbindungen. Selbst kleine Verzögerungen können daher zu einem spürbaren Performanceverlust führen. Langsame Ladezeiten wirken sich direkt auf das Nutzererlebnis und die Absprungrate aus, und das besonders stark auf mobilen Geräten. Untersuchungen zeigen, dass mobile Nutzer noch ungeduldiger sind als Desktop-Nutzer: Bereits nach wenigen Sekunden steigt die Wahrscheinlichkeit, dass ein Nutzer abspringt. Eine optimierte mobile Ladegeschwindigkeit sorgt also nicht nur für eine höhere Nutzerzufriedenheit, sondern trägt auch dazu bei, die Sichtbarkeit und Reichweite deiner Website zu steigern. ### Best Practices zur mobilen Optimierung der Ladegeschwindigkeit - **Bilder für mobile Geräte optimieren.** Mobile Geräte benötigen oft kleinere Bildformate und niedrigere Auflösungen als Desktop-Geräte. Verwende responsive Bilder, die automatisch an die Bildschirmgröße des Nutzers angepasst werden. Das reduziert die Datenmenge und damit die Ladezeit erheblich. Auch das Lazy Loading kann mobil einen großen Unterschied machen, da es nur die Bilder lädt, die im sichtbaren Bereich des Nutzers erscheinen. - **JavaScript und CSS für mobile Geräte minimieren.** Reduziere JavaScript und CSS so weit wie möglich, um die Ladezeit auf mobilen Geräten zu verbessern. Vermeide unnötige Animationen und interaktive Elemente, die auf kleinen Bildschirmen oft wenig Mehrwert bieten und die Ladezeit verlängern. Für mobile Besucher kann auch das asynchrone Laden von JavaScript entscheidend sein, um den sichtbaren Bereich schneller aufzubauen. - **Mobile Caching und Content Delivery Network (CDN) verwenden.** Stelle sicher, dass du auf mobilen Geräten dasselbe Caching-Verfahren verwendest wie auf Desktops. Auch ein Content Delivery Network (CDN) kann für mobile Nutzer Vorteile bringen, da Inhalte über Server in der Nähe des Nutzers bereitgestellt werden. Besonders bei globalen Zielgruppen hilft das, die Ladezeit für mobile Geräte weltweit zu optimieren. - **Schriftarten und Ressourcen für mobile Nutzung priorisieren.** Auch Schriften sollten für die mobile Nutzung optimiert sein. Verzichte auf große Webfonts, die lange Ladezeiten verursachen, und lade nur die Schriften, die für die mobile Ansicht wirklich notwendig sind. Setze zudem auf Font-Swapping, um sicherzustellen, dass der Text schnell sichtbar ist und die Web-Schrift erst nachträglich geladen wird, ohne den Seitenaufbau zu verzögern. - **CSS für mobile Geräte anpassen.** Verwende mobil-optimierte CSS-Layouts, um unnötige Elemente auszublenden, die für mobile Nutzer nicht relevant sind. Ein übersichtliches Layout verbessert nicht nur die Ladezeit, sondern auch die Benutzerfreundlichkeit auf mobilen Geräten. ### Testen und kontinuierlich optimieren Mobile Geräte variieren stark in Bezug auf Bildschirmgröße, Leistung und Netzverbindung. Verwende daher regelmäßig Tools wie Google PageSpeed Insights und Lighthouse, um die mobile Performance deiner Website zu überwachen. Diese Tools bieten spezifische Empfehlungen für mobile Geräte und helfen dir, Schwachstellen gezielt zu verbessern. Ein kontinuierliches Monitoring ist besonders wichtig, da sich die mobile Performance durch neue Inhalte, Updates oder externe Skripte im Laufe der Zeit verändern kann. ## Zusammenfassung und Handlungsempfehlungen Eine schnelle Ladezeit ist längst kein optionaler Luxus mehr, sondern ein entscheidender Faktor für den Erfolg deiner Website. PageSpeed beeinflusst nicht nur die Nutzerzufriedenheit, sondern auch deine Position in den Suchmaschinenergebnissen und die Conversion-Rate. In diesem Artikel haben wir die Bedeutung der Ladegeschwindigkeit und die wichtigsten Optimierungsmaßnahmen beleuchtet, von der Serverleistung über Bild- und Code-Optimierung bis hin zur mobilen PageSpeed-Optimierung.  *// quick-wins zuerst* ### Quick-Wins für schnelle Erfolge Falls du schnell Ergebnisse sehen möchtest, kannst du mit diesen Maßnahmen beginnen: - **Bildoptimierung:** Reduziere die Dateigrößen deiner Bilder durch Kompression und setze auf moderne Formate wie WebP und AVIF. - **Browser-Caching aktivieren:** Speichere häufig benötigte Ressourcen, um die Ladezeit für wiederkehrende Besucher zu verkürzen. - **Minimierung und Asynchronisierung von JavaScript und CSS:** Reduziere Dateigrößen und verhindere blockierende Ressourcen. - **Content Delivery Network (CDN) nutzen:** Verteilte Server verbessern die Ladezeit weltweit, insbesondere für mobile Nutzer und internationale Besucher. ### Langfristige Optimierungsstrategie Neben den sofort umsetzbaren Quick-Wins ist es sinnvoll, eine kontinuierliche Optimierungsstrategie zu verfolgen. PageSpeed ist ein veränderlicher Wert, der sich durch neue Inhalte, Designänderungen und Updates verändert. Regelmäßige Performance-Analysen helfen dir dabei, rechtzeitig auf potenzielle Probleme zu reagieren. Verwende hierfür Tools wie Google PageSpeed Insights, Lighthouse und GTmetrix, um kontinuierlich Schwachstellen zu identifizieren und Maßnahmen zur Verbesserung abzuleiten. ### Expertenrat einholen Viele PageSpeed-Maßnahmen kannst du eigenständig umsetzen, doch für tiefgreifendere Optimierungen, etwa das Optimieren der Serverinfrastruktur, das Einrichten eines CDNs oder das Entwickeln einer eigens gebauten mobilen Version, ist es ratsam, einen Experten hinzuzuziehen. Ein erfahrener Webentwickler oder eine spezialisierte Agentur kann dir helfen, das volle Potenzial deiner Website auszuschöpfen und die Ladegeschwindigkeit nachhaltig zu verbessern. ## Fazit Eine optimierte Ladegeschwindigkeit ist ein wichtiger Wettbewerbsvorteil, der die Nutzererfahrung verbessert, deine Position in Suchmaschinen stärkt und die Wahrscheinlichkeit erhöht, dass Besucher zu Kunden werden. Indem du PageSpeed-Optimierungen konsequent umsetzt und regelmäßig überprüfst, schaffst du die Grundlage für eine schnelle, nutzerfreundliche Website, die den hohen Anforderungen moderner Nutzer gerecht wird. Setz dir klare Ziele, identifiziere die größten Optimierungspotenziale und nutze die empfohlenen Tools und Techniken, um deine Website auf Erfolgskurs zu bringen, denn jede Sekunde zählt.  *// jede sekunde zählt*  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Deine Website ist zu langsam? Wir messen, finden die Bremsen und beheben sie. [PageSpeed-Check anfragen](https://www.siteway.de/kontakt/) ---  qr-codes · mobile · technik Hauswände, Produktaufkleber, Brötchentüten, die Bahn und Co.: Wo auch immer Platz gefunden wird, werden die kleinen QR-Codes aufgeklebt und springen einem direkt ins Auge. Wissen vermitteln sollen sie, und das in einem noch nie dagewesenen Umfang. Genutzt wird das alles über eine zumeist kostenlose App auf dem Smartphone. Kaum jemand, der ihn nicht kennt: ein kleiner quadratischer Kasten mit einem Labyrinth aus schwarzen Linien und Punkten, an drei von vier Ecken mit winzigen Quadraten. Öffnest du die vorinstallierte QR-Code-App auf dem Smartphone, lässt sich das Objekt mit einem Klick anvisieren und erfassen. Wie auf Abruf öffnet sich anschließend eine Website, die dir Informationen und Wissen vermitteln soll.  *// ein klick · ein ziel* ## Die Erfindung der QR-Codes, so hat alles begonnen Mit der Erfindung des QR-Codes hat das japanische Unternehmen Denso Wave einen echten Hit gelandet. 1994 erblickte der erste QR-Code das Licht der Welt. Was sich in den USA und den europäischen Ländern erst seit Kurzem rasant verbreitet, gehört im asiatischen Raum schon lange zum öffentlichen Standard. Abgesehen von der Wirtschaft hat sogar die japanische Regierung QR-Codes für sich entdeckt. Dort bekommt jeder Reisende ein kleines schwarzes Labyrinth in seinen Reisepass und kann jederzeit mit einem Klick identifiziert und kontrolliert werden. Wie zu erahnen ist, ist das nur eine von vielen weiteren Einsatzmöglichkeiten. Lizenz- und kostenfrei verbreitet sich der QR-Code mittlerweile auf der ganzen Welt. ## Einsatzgebiet QR-Code: nützliches Tool oder doch Spielerei? Wie bei jeder innovativen Erfindung wird auch mit den QR-Codes fleißig experimentiert. Haupteinsatzgebiet ist und bleibt wohl die Werbung. Welch unglaubliches Kundenpotenzial in so einem kleinen Kästchen steckt, hatte die Wirtschaft natürlich schnell für sich entdeckt: mit den eigenen Produkten werben, wo und wann auch immer, und das direkt auf dem Smartphone der Nutzer. Einfacher geht es doch nicht, oder? Natürlich lassen sich neben Werbung auch alle anderen Informationen und Daten verteilen: Direktlinks zu Videos, aktuelle Nachrichten, Kontaktdaten, E-Mails oder Geo-Daten, alles kein Problem mit dem richtigen QR-Code. ## QR-Codes für unterwegs, mobile Alleskönner Der Mensch ist immer viel beschäftigt und mobiler denn je. Man will ungern gestört werden, und wenn, dann soll es wenigstens schnell gehen. Genau dieses Prinzip greift der QR-Code auf. Sozusagen im Vorbeigehen wird er eingescannt und kann entweder direkt vor Ort oder zu einem späteren Zeitpunkt aufgerufen werden. Womöglich der nächste große Schritt Richtung mobiler Informationsquelle und innovativer Vermarktung. Neben Zweck und Funktion sind QR-Codes auch reale Aufdrucke mit Größe und Maß. Welche Werte müssen diese haben, damit das Einscannen richtig klappt, und wie nah muss man an sie heran? So ganz geklärt scheint die Frage nicht zu sein, denn feste Vorgaben gibt es nicht. Laut Faustregel lässt sich ein QR-Code mit einer Kantenlänge von 2,5 cm aus maximal 30 cm Entfernung einscannen, zehn Meter verlangen eine Kantenlänge von mindestens 50 cm. Hier ist jedem geraten, selbst einmal so einen Scanvorgang vorzunehmen und sich mit dem QR-Code vertraut zu machen. Als kleine Hilfe findet man in der QR-App oft ein quadratisches Kästchen, das man passend auf dem Objekt platzieren muss, um einen optimalen Scan zu landen. Die mobile Anwendung ist letztlich Sinn und Zweck der Entwicklung. Was sonst nur vom heimischen Computer ging, soll nun auch auf dem Smartphone funktionieren: mit einer One-Click-Lösung mobil Informationen abrufen, überall und zu jeder Zeit. Ob die japanische Firma damals schon wusste, welche Wellen ihr Werkzeug schlagen würde, ist unklar, eine Überraschung war es allemal. ## Webeinsatz für QR-Codes, wo Sinn und Unsinn aufeinandertreffen Auch die kleinen Alleskönner erreichen irgendwann ihre Grenzen, oder besser gesagt ihre Nützlichkeit. QR-Codes wurden ursprünglich für den mobilen Einsatz geschaffen. Niemand gibt gern lange Internetadressen in den Browser ein oder kämpft sich durch die Suchfunktion, vor allem nicht mit dem Smartphone. Wie die One-Click-Lösung schon sagt: mit einem Klick zum Ziel. Vergleicht man QR-Codes im Web mit Fußball, käme wohl ein klares Eigentor dabei heraus. Was den Zugriff auf Daten eigentlich erleichtern soll, erschwert ihn hier nur. Im Web bewegt man sich ja per Mausklick, es reicht also ein einfacher Link, der direkt ans Ziel führt. Muss man dagegen erst das Smartphone herausholen und am Computer einen QR-Code einscannen, wird schnell klar, dass die Grenzen der Idee erreicht sind. Trotzdem existieren etliche QR-Codes im Internet, immer auf der Suche nach neugierigen Blicken. Ob diese Variante auf Dauer Erfolg hat? Vermutlich nicht. ## Fundgrube QR-Code: Allzweckwaffe oder Medienhumor? Tatsächlich erweist sich der QR-Code als überaus nützliches Werkzeug für die Kommunikation zwischen verschiedenen Parteien. Der Verwendungszweck ist vielfältig und lässt sich mit Worten kaum fassen. Bedenkt man, dass von Häusern über Autos und Leinwände bis hin zu Grabsteinen alle möglichen Flächen genutzt werden, lassen sich die Bedeutungen vielleicht ansatzweise erahnen. Die Werbekommunikation ist klarer Vorreiter, doch auch ernste Themen und interessante Informationen lassen sich hervorragend integrieren. Einen wesentlichen Unterschied macht übrigens der Kontrast zwischen Printmedien und öffentlichem Raum. Die mobile Nutzung zielt auf eine schnell bewegte, beschäftigte Bevölkerung. Verwendet man QR-Codes in Zeitschriften oder Prospekten, ist die Situation eine andere: Die Leser sind weniger gestresst und haben mehr Zeit. QR-Codes müssen sich also ihren Nutzern anpassen. Hier kommen Direktlinks zum Einsatz, ohne Umschweife wird die Landingpage angesteuert, mobil optimiert oder nicht. Bietest du bestimmte Produkte an, sollte der Code zum passenden Angebot führen und nicht erst auf die Startseite. ## Fazit Quick-Response-Codes halten, was sie versprechen: eine schnelle Antwort mit nur einem Klick. Die Idee, den Nutzer direkt vor Ort und mit ungewohnter Geschwindigkeit abzuholen, fasziniert immer wieder von Neuem. Nützlich ist der QR-Code daher allemal. Ob als vCard in Form einer elektronischen Visitenkarte, als visuelle Produktunterstützung oder zur reinen Darstellung von Wissen, QR-Codes begleiten die Menschen täglich und erleichtern ihnen ein Stück weit das Leben. Wie kaum ein anderes Medium schaffen sie es mit Leichtigkeit, den nichtsahnenden Nutzer aus der Offline-Welt in den Online-Zustand zu transportieren.  *// größe und abstand entscheiden* ## QR-Code-Generator Mit unserem [QR-Code-Generator](https://www.siteway.de/tools/qr-code-generator/) erstellst du einfach und schnell QR-Codes und speicherst sie in verschiedenen Dateiformaten fürs Web oder für den Druck (JPEG, PNG, SVG, EPS).  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) QR-Codes für dein Projekt? Wir binden sie sinnvoll ein, mobil optimiert. [Anfragen](https://www.siteway.de/kontakt/) ---  responsive · mobile · css Responsive Webdesign macht Websites für alle Bildschirmgrößen fit, besonders auch für mobile Endgeräte wie Smartphones oder Tablet-Computer. Smartphones und Tablet-Computer haben längst den Markt und die Herzen junger und älterer Nutzer erobert. [Bitkom berichtet](http://www.bitkom.org/de/markt_statistik/64046_73749.aspx) im Oktober 2012 zuletzt von „fast 40 Prozent" der Deutschen, die bereits ein Smartphone besitzen. Die mobilen Alleskönner verbinden Spiel, Unterhaltung, Arbeit und natürlich den Zugriff aufs World Wide Web von fast überall. Die Experten scheinen sich einig: Dieser Trend wird sich weiter fortsetzen. Ich selbst habe zu Hause vor über einem Jahr meinen letzten Computer entsorgt und nutze dort nur noch ein kleines Tablet (das mit dem Apfel). In meinen Augen ist das nicht nur völlig ausreichend, sondern viel besser als ein Computer: sofort zugriffsbereit, keine Hitze, kein Lärm, bequem vom Sofa nutzbar, mitnehmbar und so weiter. Willst du der steigenden Zahl der Web-Nutzer mit (im Vergleich zu Desktop-Rechnern) relativ kleinen Bildschirmen gerecht werden, ist eine Website, die dem Rechnung trägt, mittlerweile nicht mehr nur ein nettes Feature, sondern Pflichtprogramm. Beim Responsive Webdesign (im Deutschen auch responsives Webdesign) handelt es sich also um die technische Umsetzung eines anpassungsfähigen Website-Layouts. Dieses wird nicht nur dem normalen Desktop-Computer gerecht, sondern berücksichtigt zusätzlich die Anforderungen anderer Gerätegattungen.  *// ein layout · jede bildschirmgröße* ## Unterschiede: Smartphone gegen Desktop-Computer - viel kleinerer Bildschirm - im Hoch- und Querformat nutzbar - wahrscheinlich höhere Pixeldichte (Retina) - Touch-Bedienung - eventuell weniger Datenrate (von unterwegs über 3G oder EDGE) - direkter Zugriff auf Apps, etwa die Karten-App für Routen oder das Telefon Wenn auch nicht der einzige, so ist die Bildschirmgröße doch der offensichtlichste Unterschied zwischen den Geräten. Bei einer nicht angepassten Website musst du wahrscheinlich hineinzoomen, um den Text zu lesen. Das Anklicken eines Links mit dem Finger wird dann recht abenteuerlich. **Negativ-Beispiel:** Stell dir vor, du rufst auf der Anreise die Hotel-Website auf (mit dem Smartphone) und willst die Rezeption erreichen. Wenn du wegen der eingeschränkten Datenrate nicht schon am Intro scheiterst und dich nach mehrmaligem Zoomen und Klicken endlich bis zum Impressum durchgeschlagen hast (weil auf der Kontaktseite nur ein Formular lag), ist der Ärger spätestens dann komplett: Die Telefonnummer lässt sich nicht antippen, um direkt anzurufen. Stattdessen: erste Hälfte merken, zur Telefon-App wechseln, eintippen, zurück zur Website, zweite Hälfte merken, zurück zur Telefon-App, Nummer vervollständigen und wählen. Endlich die Rezeption. **Positiv-Beispiel:** Du rufst dieselbe Hotel-Website auf (immer noch mit dem Smartphone). Sie lädt erstaunlich schnell. Gleich auf der Startseite siehst du ohne Zoomen Adresse, E-Mail und Telefonnummer. Du tippst auf die Telefonnummer, das Smartphone wählt: Rezeption. An diesem Beispiel lässt sich nachvollziehen, dass es Sinn ergibt, sich mit den typischen Nutzungsszenarien auseinanderzusetzen. Und das gilt nicht nur für spezielle Branchen: Wer hat nicht schon kurz vor einem Termin die Website des Kunden geöffnet, um die genaue Adresse oder Telefonnummer zu finden? **Anderes Beispiel:** Vor einigen Tagen sah ich einen TV-Spot, in dem das Omega Co-Axial Kaliber beworben wurde. Noch bevor der nächste Werbespot richtig angefangen hatte, war ich schon mit dem iPad auf der Omega-Website unterwegs, las weiter, schaute ein Image-Video und klickte mich durch die aktuelle Kollektion. Werber rechnen längst mit der Nutzung des sogenannten Second Screen. Omega war auf mich vorbereitet: Die Seite hieß „OMEGA Uhren: Die Co-Axial Werbekampagne" und holte mich genau da ab, wo der Spot mich abgestellt hatte. Welche Endgeräte gibt es überhaupt? - TVs, etwa via Spielkonsole oder Smart-TVs (normalerweise 30″ bis 70″ und mehr) - Desktop-Monitore (normalerweise 17″ bis 27″ und mehr) - Notebooks und Laptops (normalerweise 13″ bis 17″) - Subnotebooks (normalerweise ca. 10″ bis 13″) - Tablet-Computer (normalerweise 7″ bis 12″), Hoch- und Querformat - Smartphones oder Geräte wie der Apple iPod Touch (normalerweise unter 5″), Hoch- und Querformat Ist diese Liste zu ausführlich? Wer nutzt nicht mindestens zwei oder drei Geräte daraus? Wie macht man denn nun ein responsives Design? Muss man jetzt zwei oder mehr Websites pflegen? ## Responsive Webdesign, so geht es Die gute, richtige, moderne Art (mit HTML5 und CSS3) ist diese: Man erstellt nicht mehrere Versionen der Website mit jeweils unterschiedlichem Aufbau. Idealerweise hat man den gleichen Inhalt und Aufbau (Content und HTML) und unterscheidet die Darstellung nur über unterschiedliche Formatierungsbefehle (CSS). Dazu schränkst du mit CSS3-Media-Queries (also Abfragen der Medien, die die Website anzeigen) Formatierungen auf bestimmte Bildschirmgrößen ein.  *// media queries · spalten werden zeilen* Bei einem dreispaltigen Layout lege ich die Breite der linken, mittleren und rechten Spalte nicht einmalig fest, sondern jeweils entsprechend der Bildschirmgröße: eine Größe für Smartphones, eine für Tablets, eine für Notebooks und eine weitere für große Bildschirme. Da nicht einmal alle Smartphones einheitliche Größen haben, belasse ich die Breite zwischen diesen Richt-Breiten flexibel. Bei einem kleinen Smartphone würde ich keine drei Spalten nebeneinander anzeigen, hier zeigen wir die Inhalte untereinander. Außerdem wird vielleicht eine Box mit der Telefonnummer sichtbar, die auf allen anderen Größen ausgeblendet war. Damit das funktioniert, muss man bei der Gestaltung schon entsprechend flexibel denken. Das ist im Grunde schon alles. Hast du Interesse, deine Website responsive zu machen? Sprich uns an. Vielleicht finden wir in nicht allzu ferner Zukunft Zeit, einen Artikel zu schreiben, der sich genauer mit der Umsetzung, also den technischen Details, beschäftigt. Wer kurzfristig mehr erfahren möchte, kann hier weiterlesen (Achtung, nur für Profis): - [Bootstrap](https://getbootstrap.com/) - [Font Awesome](https://fontawesome.com/) - [retina.js](http://retinajs.com/) - [jQuery](https://jquery.com/)  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Ist deine Website auf dem Smartphone gut? Wir machen sie responsive, schnell und bedienbar. [Projekt anfragen](https://www.siteway.de/kontakt/) ---  icons · vektor · retina Icons können deinen Nutzern helfen, Elemente intuitiver zu verstehen. Ob ein Link eine Seite, ein Dokument, eine E-Mail-Anwendung oder eine externe Website öffnet, lässt sich über ein entsprechendes Icon einfach anzeigen. Ebenso bekannt sind die Icons für Facebook, Twitter und Google Plus, die auf vielen Websites genutzt werden.  *// vektor-icons · scharf auf jeder auflösung* Mit dem iPhone 4 schob Apple den Trend zu hochauflösenden Displays (hohe Pixeldichte, dadurch schärfer) im großen Stil an. Der von Apple geprägte Begriff „Retina" (laut Apple soll das menschliche Auge aus einem typischen Betrachtungsabstand nicht in der Lage sein, einzelne Pixel zu erkennen) setzte sich als Beschreibung für diese Art Display im allgemeinen Sprachgebrauch durch. Text wird auf diesen Displays gestochen scharf dargestellt. Grafiken und Fotos allerdings erscheinen „normal" und ein wenig unscharf im direkten Vergleich zum extrem scharfen Text auf Retina-Displays. Um auch Grafiken und Fotos gestochen scharf auf Retina-Displays darzustellen, musst du einige spezielle Anpassungen vornehmen. ## Icons in Retina-Auflösung einbinden Mit [Font Awesome](https://fontawesome.com/) kannst du skalierbare Vektor-Icons (gestochen scharf auf Retina-Displays) für Webprojekte nutzen, die direkt über CSS-Befehle angepasst werden können, also Größe, Farbe, Schlagschatten und alles, was CSS zu bieten hat. Ein enormer Vorteil gegenüber normalen Pixelgrafiken. Font Awesome ist komplett kostenlos, bietet 361 Icons und ist einfach nur „awesome". Font Awesome Icons bereits in Photoshop zum Layouten nutzen: [solife.cc/blog/font-awesome-photoshop](http://www.solife.cc/blog/font-awesome-photoshop.html). In einem weiteren Artikel könnte ich vielleicht irgendwann einmal, wenn sich denn die Zeit findet, erklären, wie man Fotos und Pixelgrafiken einfach in Retina-Auflösung in die Website einbindet.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Eine Website, die auf jedem Display scharf aussieht? Wir bauen sie, von der Idee bis zum Betrieb. [Projekt anfragen](https://www.siteway.de/kontakt/) ---  agentur · fusion · hamburg **Hamburg, 24.05.2017.** ## Siteway und Homepage Helden werden eins Siteway fusioniert mit der Hamburger Web-Agentur Homepage Helden. Mit der Bündelung der Kompetenzen erweitern die Agenturen ihr Leistungsportfolio. Die inhabergeführte Webdesign-Manufaktur Siteway gehört seit über 10 Jahren zu den führenden Hamburger Anbietern, mit einer besonderen Affinität für das TYPO3-CMS und die Suchmaschinenoptimierung. Siteway realisierte anspruchsvolle Web-Projekte für Hamburger Traditionsunternehmen und Weltmarktführer sowie für Marken wie Sharp, Samsung, Ergo, Porsche oder Pandora. Die Homepage Helden positionieren sich seit 2008 als die Web-Agentur für Start-ups sowie kleine, lokale und mittelständische Unternehmen und blicken auf hunderte Website-Launches zurück. Die Referenzliste der Homepage Helden umfasst unzählige Start-ups und Hidden Champions, aber auch renommierte Namen wie McKinsey, die Block Gruppe, die Max-Planck-Gesellschaft, Reisswolf oder das ZDF. „Wir kehren eigentlich zu unserem eigenen Spin-off zurück", so Paul Albrecht (Gründer von Siteway), denn „die Homepage Helden wurden zusammen mit Nico Tjarks gegründet, um der wachsenden Nachfrage nach kosteneffizienten Websites für Start-ups und mittelständische Unternehmen nachzukommen."  *// siteway × homepage helden · hamburg 2017* Seitdem entwickelten sich die beiden Agenturen getrennt voneinander weiter, blieben sich aber räumlich und geschäftlich stets eng verbunden. „Siteway ist für uns in puncto Kreativität und technische Expertise die ideale Ergänzung", so Nico Tjarks, Gründer der Homepage Helden. „Mit ihr wollen wir unsere Kernkompetenz im Bereich der Web-Entwicklung weiter verstärken und unseren Kunden ein umfangreicheres Leistungsportfolio aus einer Hand anbieten." Richard Albrecht, Mitgründer beider Unternehmen, ergänzt: „Die Agenturen harmonieren optimal miteinander. Siteway hat einen besonderen Fokus auf Effektivität und die Helden eine enorme Effizienz, diese Kombination ergibt eine durchschlagende Kraft." Die Wiedervereinigung ist das konsequente Resultat einer seit circa zwei Jahren intensivierten Kooperation. „Im Sommer 2016 bezogen wir bereits ein gemeinsames Büro in der Hamburger Poststraße." Die Marken Siteway und Homepage Helden firmieren künftig unter dem Dach der Homepage Helden GmbH. Die Agentur wird auch weiterhin von Richard Albrecht, Paul Albrecht und Nico Tjarks geführt und beschäftigt derzeit 23 Mitarbeiter.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Lust auf ein Projekt mit uns? Eine Web-Agentur, ein Team, ein Ansprechpartner. [Kontakt aufnehmen](https://www.siteway.de/kontakt/) ---  strukturierte daten · schema.org · json-ld Google verwendet strukturierte Daten, um den Inhalt einer Webseite zu verstehen. Wenn du Google bestimmte Informationen zu deiner Website zur Verfügung stellst, kannst du dazu beitragen, dass die Website in den Suchergebnissen mit erweiterten Funktionen angezeigt wird. ## Was sind Rich Snippets? Rich Snippets, auch bekannt als Rich Results, zu Deutsch „angereicherte Schnipsel" oder Rich-Suchergebnisse, sind normale Google-Suchergebnisse, bei denen zusätzliche Daten angezeigt werden. Diese zusätzlichen Daten werden in der Regel aus strukturierten Daten im HTML-Code einer Seite entnommen. Zu den üblichen Rich-Snippet-Typen gehören Rezensionen, Rezepte und Veranstaltungen. Es gibt aber inzwischen eine Reihe weiterer sehr interessanter Rich-Snippet-Typen.  *// angereichertes ergebnis vs. normaler treffer* ## Warum sind Rich Snippets wichtig? Die überwiegende Mehrheit der Google-Suchergebnisse zeigt die gleichen drei Daten an: das Titel-Tag, die Meta-Beschreibung und die URL. Bei Rich Snippets werden dem normalen Schnipsel zusätzliche Informationen hinzugefügt. Erwartungsgemäß sind Rich-Snippet-Ergebnisse auffälliger als normale Suchergebnisse, was zu einer höheren organischen Klickrate (CTR) führen kann. Google erhält die Daten für Rich Snippets aus strukturierten Daten, auch Structured Markup wie Schema.org genannt, aus dem HTML-Code einer Website. Auch wenn einige Leute denken, dass die bloße Verwendung von strukturierten Daten ihre Platzierungen direkt verbessert, ist diese Betrachtung nicht ganz so einfach. [John Müller von Google](https://twitter.com/JohnMu/status/980902538865205248) hat sich dazu sinngemäß geäußert: Die Verwendung von strukturierten Daten sei kein Ranking-Signal, führe also nicht ganz allgemein zu einer Rankingverbesserung. > Es gibt keine generische Rankingsteigerung für die Verwendung strukturierter Daten. Strukturierte Daten können es jedoch einfacher machen zu verstehen, worum es auf der Seite geht, was es einfacher machen kann zu zeigen, wo sie relevant ist (verbessert die Zielgruppenansprache, vielleicht das Ranking für die richtigen Begriffe). Obwohl aus diesem Zitat herausgelesen werden kann, dass es keine generische, aber möglicherweise dennoch eine spezifische Rankingsteigerung gibt, dass strukturierte Daten Google helfen, die Relevanz der Inhalte zu erkennen, und dass sie die Zielgruppenansprache und das Ranking für die richtigen Begriffe verbessern, wäre der Hauptvorteil von Rich Snippets eine erhöhte Klickrate. Allerdings ist selbst die einschränkende Aussage von John objektiv nicht ganz korrekt, denn es gibt Rich Snippets, die automatisch mit einem verbesserten Ranking einhergehen: Stellenanzeigen.  *// strukturierte daten · einfluss auf sichtbarkeit* ## Case Studies: Was bringen Rich Snippets effektiv? ### 100 % mehr Zugriffe für Eventbrite mit der Veranstaltungssuche Wenn mehrere SEO-Projekte gleichzeitig laufen, kann es schwierig sein, genau festzustellen, welche Veränderungen zu mehr Zugriffen, Conversions oder höheren Umsätzen führen. Das Team von [Eventbrite](https://developers.google.com/search/case-studies/eventbrite-case-study) ist jedoch der Ansicht, dass die Umstellung auf die Veranstaltungssuche von Google ziemlich effektiv war. Das Unternehmen arbeitete eng mit Google zusammen, um seine Informationen über Veranstaltungen mit strukturierten Daten anzureichern. > Im Monat nach der Implementierung der neuen Suche konnten wir anhand der Daten von Google Analytics im Jahresvergleich ein Wachstum von ungefähr 100 % bei Zugriffen auf unsere Veranstaltungsseiten über die Google-Suche feststellen.  *// eventbrite · +100 % zugriffe* ### Monster India: nahezu verdoppelte Zugriffe Auch [andere von Google veröffentlichte Fallstudien](https://developers.google.com/search/case-studies/overview) zeigen eine deutliche Steigerung der Seitenzugriffe und anschließenden Conversions, beschrieben werden Steigerungen von 20 bis 450 Prozent. > Wir haben Jobs in der Google-Suche für Monster India getestet und sowohl eine Erhöhung der organischen Zugriffe als auch eine Zunahme der Bewerbungen festgestellt. Die organischen Zugriffe auf die Website haben sich seit der länderübergreifenden Einführung fast verdoppelt.  *// monster india · organische zugriffe verdoppelt* ## Die wichtigsten Rich-Snippet-Typen Dein erster Schritt besteht darin, den Typ des Rich Snippets zu identifizieren, den du erhalten möchtest. So kannst du strukturiertes Markup verwenden, das speziell dafür entwickelt wurde, diese Art von Snippet in den Suchergebnissen zu erzeugen. Es gibt eine Vielzahl von Typen. Einige sind in Deutschland noch nicht verfügbar oder werden anders dargestellt als in den USA. Wir konzentrieren uns zunächst auf elf Typen, die für viele deutsche Unternehmen sehr spannend sein können. ### Webseiten Das passende Schema heißt „WebPage". Hier kannst du allgemeine Informationen wie Titel, Beschreibung und URL ausgeben, die Google aber bereits kennt, und du kannst ein Hauptbild für die Webseite kennzeichnen, sodass Google dieses auf mobilen Geräten mit deinem Eintrag ausgeben kann. Wird kein Bild strukturiert übergeben, zieht sich Google teils selbst eines aus dem Inhalt der Seite, oder es übernimmt keines, manchmal auch eines, das dem Seitenbetreiber nicht gefällt. Über dieses Markup kannst du versuchen, Google dazu zu bringen, das von dir gewünschte Bild auszugeben.  *// typ: webseite* ### Rezensionen Ein kurzer Auszug aus einer Rezension oder eine Bewertung in Sternen von einer Rezensionswebsite. Bei der Bewertung handelt es sich meistens um den Durchschnitt der Bewertungen mehrerer Rezensenten. Rezensions-Snippets können sich auf ein Buch, ein Rezept, einen Film, ein Produkt, eine Software-App oder ein lokales Unternehmen beziehen.  *// typ: rezension* ### Produkte Gibt Suchmaschinen Informationen über ein bestimmtes Produkt, einschließlich Preis, Verfügbarkeit, Bewertungen und Produktbilder.  *// typ: produkt* ### Organisation (lokales Unternehmen) Hilft Google dabei, wichtige Informationen über eine Organisation zu verstehen, einschließlich Adresse, Logo und Kontaktinformationen. Eine weitere Darstellungsart für lokale Geschäfte ist der Google-Local-Eintrag, auch als Google-Maps-Eintrag, Google-My-Business-Eintrag oder Brancheneintrag bekannt. Diese Darstellung bezieht ihre Daten historisch aus verschiedenen Quellen, unter anderem aus strukturierten Daten, aktuell aber hauptsächlich aus deinem [Google-My-Business-Konto](https://www.google.com/intl/de_de/business/). Man kann über Begrifflichkeiten streiten, doch da sich diese Local Listings in keiner Weise von Stellenanzeigen-Snippets (Google for Jobs) unterscheiden und Letztere von Google als Rich Snippets bezeichnet werden, ist meiner Ansicht nach auch das Local Listing ein Rich Snippet.  *// typ: lokales unternehmen* ### Videos Suchmaschinen können keine Videos auf deiner Seite ansehen. Daher hilft das Video-Markup den Suchmaschinen zu verstehen, worum es bei einem Videoinhalt geht.  *// typ: video* ### Veranstaltungen Ein Rich-Suchergebnis, das eine Liste von Veranstaltungen enthält, beispielsweise Konzerte oder Kunstfestivals, die die Nutzer zu einer bestimmten Zeit und an einem bestimmten Ort besuchen können.  *// typ: veranstaltung* ### Stellenanzeigen Ein interaktives Rich-Suchergebnis, über das Arbeitssuchende eine Arbeit finden können. In der Jobsuche bei Google besteht die Möglichkeit, das Unternehmenslogo, Rezensionen, Bewertungen und Jobdetails anzeigen zu lassen.  *// typ: stellenanzeige · google for jobs* ### Anleitungen In einer Anleitung werden Nutzer durch eine Reihe von Schritten geführt, mit denen sich eine Aufgabe erledigen lässt. Anleitungen können Videos, Bilder und Text enthalten.  *// typ: anleitung* ### FAQ Eine Seite mit häufig gestellten Fragen enthält eine Liste mit Fragen und Antworten zu einem bestimmten Thema. Übrigens: Die Fragen und Antworten im FAQ-Bereich weiter unten auf dieser Seite sind ebenfalls mit strukturierten Daten im JSON-LD-Format versehen.  *// typ: faq* ### Suchfeld Ein Suchfeld, das auf deine Website beschränkt ist, wenn es innerhalb deines Suchergebnisses erscheint.  *// typ: suchfeld* ### Rezepte Wenn du Informationen wie Bewertungen, Koch- und Vorbereitungszeiten oder Nährwertangaben angibst, kann Google dein Rezept besser analysieren und den Nutzern besser präsentieren. Rezepte können in den Google-Suchergebnissen und in Google Bilder erscheinen. Sobald du einen Snippet-Typ ausgewählt hast, der für deinen Inhalt sinnvoll ist, geht es an die Umsetzung.  *// typ: rezept* ## Die Grundlagen strukturierter Daten verstehen Strukturierte Daten helfen Suchmaschinen, den Inhalt besser zu verstehen. Nehmen wir an, du hast gerade eine Stellenanzeige für eine „Assistenz der Geschäftsführung" auf deiner Website veröffentlicht. Ohne strukturierte Daten fällt es Google schwer zu verstehen, wie der Titel der Stelle lautet, wo die Arbeit angetreten wird, ob es sich um eine Vollzeit-, Teilzeit- oder Aushilfsstelle handelt und welches Gehalt mit der Stelle verbunden ist. Und hier kommen die strukturierten Daten ins Spiel. Wenn du deiner Seite eine Kennzeichnung für Stellenangebote (Job Posting) hinzufügst, teilst du Google in strukturierter Form mit: Titel „Assistenz der Geschäftsführung", Ort Hamburg, Art Vollzeit, Gehalt 3000 bis 4000 Euro und vieles mehr. Und wenn du deine Karten richtig ausspielst, zeigt Google diese Daten in den Suchergebnissen als Rich Snippet an. Auf der [Such-Galerie-Seite von Google](https://developers.google.com/search/docs/guides/search-gallery) findest du eine Übersicht der verwendeten strukturierten Daten. ## Strukturierte Daten mit Schema implementieren Wenn es um strukturierte Daten geht, verwenden die meisten Websites [Schema.org](https://schema.org/)-Markup. Das liegt daran, dass Schema von allen wichtigen Suchmaschinen, auch von Bing, unterstützt wird. Alles, was du tun musst, ist die Art des Markups auf Schema.org zu finden, die du verwenden möchtest, und den Inhalt anhand der Richtlinien auf dieser Seite zu kennzeichnen. Aus meiner Sicht ist die Dokumentation auf Schema.org sehr umfangreich, und längst nicht alle dort dargestellten strukturierten Daten werden in Suchmaschinen als Rich Snippets verarbeitet. Daher empfehle ich in Deutschland eine andere Quelle: Im deutschsprachigen Raum ist Google die vorherrschende Suchmaschine. Die [Google-Dokumentation zu strukturierten Daten](https://developers.google.com/search/docs/guides/intro-structured-data) ist sehr übersichtlich und genau auf die Art und Weise ausgerichtet, wie Google die Daten weiterverarbeitet. Google hält sich an den Standard von Schema.org, beschreibt aber genau, welche Werte tatsächlich benötigt werden und in welchem Format.  *// schema.org · vokabular für strukturierte daten* Wenn du WordPress verwendest, gibt es eine Menge Plugins zur Auswahl, die diese Arbeit automatisch übernehmen. Hervorzuheben ist sicherlich das beliebte [Yoast-SEO-Plugin](https://yoast.com/), das an dieser Stelle eine hervorragende Arbeit macht. Auch andere CMS lassen sich so erweitern, dass neben dem Text auf der Website zusätzlich strukturierte Daten ausgegeben werden. So kann eine mit dem [TYPO3](https://typo3.org/)-CMS erstellte Website so erweitert werden, dass zum Beispiel mit jeder neuen Stellenausschreibung gleich die passenden strukturierten Daten ausgegeben werden. Für unsere Kunden haben wir für diverse Anwendungsfälle entsprechende Erweiterungen geschrieben, etwa eine TYPO3-Erweiterung für strukturierte Daten zu Google Jobs oder für FAQs und Unternehmensdaten. Der Vorteil: Eventuell wird die Stellenbeschreibung nicht einmal manuell im CMS geschrieben, sondern über eine Schnittstelle automatisch auf die Website geladen, und die strukturierten Daten entstehen gleich automatisch mit. ### Markup ohne Plugins Wenn du strukturierte Daten ohne ein Plugin hinzufügen möchtest, also praktisch manuell, geht das natürlich auch. Schema.org und Google unterstützen drei Formate zum Austausch strukturierter Daten: Microdata, RDFa und JSON-LD. Bei Microdata und RDFa wird der bestehende HTML-Code mit zusätzlichen Attributen angereichert, sodass die einzelnen Werte klar erkennbar sind. Im Format JSON-LD werden die strukturierten Daten einzeln und separat von den dargestellten Inhalten notiert. Manchmal ist Microdata nützlich, da die Daten genau dort gekennzeichnet werden, wo sie ohnehin ausgegeben werden. Dringend empfohlen wird aber JSON-LD. Die Einbindung mit JSON-LD ist in den meisten Fällen der einfachste Weg, Inhalte für Rich Snippets zu markieren. Ohne JSON-LD musst du die strukturierten Daten in den bestehenden HTML-Code einfügen, ihn also erweitern und verändern. Das kann bei manueller Bearbeitung schnell nervig werden, und es erhöht die Wahrscheinlichkeit, dass etwas schiefgeht oder die Darstellung der Inhalte beeinflusst wird. Mit JSON-LD werden all deine strukturierten Daten in ein kleines Stück Code gepackt, das du einfach der Seite hinzufügst. ## Testen mit dem Test-Tool für strukturierte Daten Dein letzter Schritt besteht darin, sicherzustellen, dass deine strukturierten Daten korrekt eingerichtet sind. Glücklicherweise hat Google ein gutes Tool herausgebracht, das diesen Schritt zum Kinderspiel macht: das [Test-Tool für Rich-Suchergebnisse](https://search.google.com/test/rich-results). Gib entweder eine Live-URL deiner Website ein oder kopiere den HTML-Code und füge ihn direkt ein. Google zeigt dir dann alle strukturierten Daten, die es auf deiner Seite findet, und informiert dich, wenn es etwas Merkwürdiges entdeckt.  *// test-tool · erkannte strukturierte daten* **Wichtiger Hinweis:** Es gibt keine Garantie, dass strukturierte Daten in Rich Snippets resultieren, selbst wenn du hier alles vollständig eingerichtet hast. Tatsächlich macht Google das in seiner Dokumentation sehr deutlich. Mit anderen Worten: Die korrekte Verwendung strukturierter Daten maximiert die Chancen auf Rich Snippets, aber es funktioniert nicht immer. Wann Rich Snippets ausgespielt werden, hängt von der Suchanfrage ab, davon, ob Google der Meinung ist, dass es den Besucher unterstützt, und gegebenenfalls auch von der Qualität der Website und dem Ranking des Suchergebnisses. ## Resümee Mit strukturierten Daten kennzeichnest du bestimmte Inhalte deiner Website so, dass sie maschinenlesbar sind und von Suchmaschinen wie Google und Bing oder anderen Diensten verstanden und strukturiert verarbeitet werden können. Google verwendet diese Daten eventuell zur Darstellung von Rich-Suchergebnissen und erweitert dein normales Suchergebnis entsprechend. Die abweichende und teils auffällige Darstellung zieht verstärkt die Aufmerksamkeit der Besucher auf sich und erhöht dadurch höchstwahrscheinlich die Klickrate. Das bedeutet: Mehr Besucher klicken auf dein Suchergebnis, als es normalerweise an der entsprechenden Trefferposition zu erwarten wäre. Mehr Besucher bedeuten in der Regel mehr Unternehmenserfolg, etwa Leads oder Umsatz. Du solltest also in Erwägung ziehen, strukturierte Daten bereitzustellen, um dir einen Vorteil zu verschaffen. ## Kurzanleitung für Rich Snippets 1. Rich Snippets sind angereicherte Suchergebnisse, die stärker wahrgenommen werden und somit die Klickrate erhöhen. 2. Rich Snippets werden fast immer aus strukturierten Daten erzeugt, die du auf deiner Website hinterlegt hast. 3. Finde heraus, welche Rich Snippets deinen Besuchern helfen könnten, dein Angebot besser zu finden. 4. Verwende Plugins oder erweitere deine Website, um diese strukturierten Daten auf einzelnen Unterseiten auszugeben. 5. Wenn du die Erweiterung selbst vornimmst oder die Daten manuell einfügst, verwende die Google-Dokumentation, um den entsprechenden Code zu erzeugen. 6. Teste den Code vorab mit Googles Test-Tool und bereinige alle Fehler. Über das Tool kannst du nachvollziehen, welche strukturierten Daten Google auf deiner Website erkennt. 7. In der Search Console werden dir die erkannten strukturierten Daten ebenfalls angezeigt, und du wirst über Probleme informiert. 8. Freu dich, wenn Google für deine Ergebnisse Rich Snippets anzeigt, und überlege, wie du den Nutzen deiner Website weiter verbessern kannst. 9. Wenn du strukturierte Daten clever verwendest, hilft das dem Besucher, Google und deiner Website. ## Definitionen **Rich Snippet.** Rich Snippet = Rich-Suchergebnis = Rich Result = angereichertes Suchergebnis. Darstellungsvarianten von bestimmten Inhalten auf Google-Plattformen, die mehr als nur den standardmäßigen blauen Link enthalten. Sie können Karussells, Bilder oder andere nicht textbasierte Elemente erhalten. **Featured Snippet.** Direkte und prägnante Antworten auf die Frage hinter einer Suche, hervorgehoben in den Google-Ergebnissen dargestellt, oft an allererster Stelle (Position null). Featured Snippets sind in gewisser Weise eine Art Rich Result, werden aber nicht unbedingt durch strukturierte Daten gespeist. **Strukturierte Daten.** Informationen, die so gekennzeichnet sind, dass sie maschinell verarbeitet werden können. Damit stellst du Google weiterführende Informationen zur Verfügung, sodass die Suchmaschine die Webseiten besser versteht. Strukturierte Daten sind meist die Quelle für Rich Snippets. **Schema.org.** Eine gemeinschaftliche Aktivität mit dem Ziel, Schemata für strukturierte Daten zu erstellen, zu pflegen und zu fördern. Das Vokabular kann mit RDFa, Microdata und JSON-LD verwendet werden. Über zehn Millionen Sites verwenden Schema.org, und viele Anwendungen von Google, Microsoft, Pinterest, Yandex und anderen nutzen diese Vokabulare bereits. **Knowledge Graph.** Eine Wissensdatenbank von Google, in der Informationen zu Dingen, also Entitäten von besonderem Interesse, gesammelt und in Relation gesetzt werden, etwa berühmte Personen, Konzerne, Kinofilme oder Orte. Google zeigt diese Informationen bei passenden Suchanfragen als Knowledge Panels an. häufige fragen Lohnen sich Rich Snippets für meine Website? Höchstwahrscheinlich ja. Sie fallen stärker auf und erhöhen in der Regel die Klickrate, ohne dass du für die Darstellung bezahlst. Sind Rich Snippets kostenpflichtig? Nein. Google vergütet die Darstellung nicht. Strukturierte Daten kannst du ohne Lizenzkosten hinterlegen. Garantieren strukturierte Daten ein Rich Snippet? Nein. Sie maximieren die Chance, aber ob ein Snippet ausgespielt wird, hängt von Suchanfrage, Datentyp und Googles Einschätzung ab. Welches Format empfiehlt sich? JSON-LD. Es bündelt alle Daten getrennt vom sichtbaren HTML und ist meist der einfachste und sicherste Weg.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Mehr Sichtbarkeit in der Google-Suche? Wir richten strukturierte Daten für deine Website ein. [Beratung anfragen](https://www.siteway.de/kontakt/) ---  seo · ranking · agile ## A Hacker's Guide to Google's secret chambers, or how to boost your pages from zero to one **Was:** besser bei Google gefunden werden. **Warum:** mehr relevanter Traffic auf der Website steigert deinen Erfolg: mehr Leser, mehr Leads, mehr Publicity, mehr Spenden, mehr Bewerber, mehr Anfragen, mehr Umsatz, mehr Reichweite. **Wie:** Wer beobachtet und versteht, wie Google tickt, spielt das SEO-Spiel virtuos wie ein Instrument. Jeder Handgriff sitzt, und es entsteht eine wundervolle Melodie. Gesichter erstrahlen, das Leben ist schön. Wer aber nicht versteht, wie der Hase läuft, dringt auch nicht in die Tiefen des Kaninchenbaus vor und sieht niemals das Licht und den Zauber dieses Wunderlands. Mit über 15 Jahren SEO-Erfahrung habe ich schon viele erfolgreiche Faktoren kommen und gehen sehen. Mit Keyword-Domains, Linknetzwerken oder der Verschlagwortung von Google-Maps-Firmeneinträgen habe ich Websites fast über Nacht auf Platz 1 gebracht. Inzwischen sind diese Tricks und viele andere Faktoren längst überholt. Trotzdem geistern viele veraltete Konzepte durchs Netz. Das Web bietet eine Flut an Informationen zum Thema Suchmaschinenoptimierung: Tools, Services, Foren, Ratgeber. **Das Daten-Meer scheint tief und undurchdringlich**, eine von zehn Ideen hat einen Wert. Unter einhundert vorgeschlagenen Taktiken gibt es vielleicht eine wirklich gute, funktionsfähige und anwendbare Lösung. Der Google-Algorithmus wird fast schneller weiterentwickelt, als diese Faktoren entdeckt, beschrieben und allgemein bekannt gemacht werden können. Mit enormer Rechenleistung trifft Google Entscheidungen über Gedeih und Verderb einer Website, die sich nicht mehr anhand ein paar einfacher Formeln beschreiben lassen. Teilweise widersprechen die Beobachtungen der Erwartung. ## Agile SEO Daher ist es nicht mehr sinnvoll, nach den **einzig wahren gültigen Faktoren** Ausschau zu halten, um diese dann dogmatisch umzusetzen. Das Regelwerk ist nicht statisch. Vielmehr solltest du dir die Fähigkeit aneignen, genau zu **beobachten**, intelligent zu **schlussfolgern** und schnell **umzusetzen**. *statisch*, Adjektiv: keine Bewegung, Entwicklung aufweisend. *agil*, Adjektiv: von großer Beweglichkeit zeugend, regsam und wendig.  *// agile seo · beobachten · schließen · umsetzen* grafik herunterladen: [Deutsch · PNG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/agile-seo-de.png) [English · PNG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/agile-seo-en.png) Eine der einfachsten und dennoch sinnvollsten Methoden, um zu neuen Erkenntnissen zu kommen, ist zum Beispiel diese: - Suche nach dem Keyword, bei dem du (besser) gefunden werden möchtest. - **Schau dir die Seiten hinter den ersten zehn Treffern an** und finde heraus, was diese besser machen als du (finde Muster, Gemeinsamkeiten, Auffälligkeiten, neue Ideen oder einfach Ungewöhnliches). - Setze gesunden Menschenverstand ein und entscheide, welche Taktiken dir sinnvoll und umsetzbar erscheinen. - Wende diese auf deine eigene Website an. (Falls deine Seite sich bereits in den Top Ten befindet, schau dir trotzdem die ersten zehn Seiten an, denn auch jemand, der knapp hinter dir rankt, macht etwas enorm richtig.) Bei der intelligenten Beobachtung von Websites (eigenen oder denen von Wettbewerbern) kann eine Liste von Faktoren tatsächlich unglaublich hilfreich sein. Offensichtlich werden Indikatoren aus so vielen Bereichen herangezogen, dass man unmöglich alles allein entdecken kann. Viele fürs Ranking herangezogene Signale sind in sich so komplex, dass man damit ein Buch oder eine Doktorarbeit füllen könnte. Ein Spickzettel mit Ideen dazu, welche Aspekte einer Website Google berücksichtigen könnte, um daraus Rückschlüsse zu ziehen, kann einem wahrlich die Augen öffnen. Zum Glück hat sich eine Gruppe SEO-Experten zusammengesetzt und anhand ihrer Erfahrungen eine solche Liste erstellt. Diese wurde nach Wichtigkeit vorsortiert und auf moz.com als die Ranking-Faktoren veröffentlicht. Moz hat dazu 150 führende SEO-Marketing-Experten befragt und Korrelationsdaten verarbeitet. Diese Liste hat sich bei meiner Arbeit als ziemlich hilfreich erwiesen. Nicht weil ich sie stupide abgearbeitet habe, sondern weil sie meinen Blick bei der Beobachtung erweitert hat. Und so würde ich auch ihre Verwendung empfehlen: nicht als To-do-Liste, sondern als Horizonterweiterung, nicht als Notenblatt, sondern als Muse. Ich stimme nicht einmal in allen Punkten mit der Gewichtung überein, aber im Allgemeinen vermitteln diese Ranking-Faktoren einen guten Überblick über die Anzahl der Faktoren, ihre relative Gewichtung und ihre Beziehung zueinander.  *// die ranking-faktoren · nach wichtigkeit* infografik · deutsch: [PDF](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-de.pdf) [PNG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-de.png) [SVG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-de.svg) infographic · english: [PDF](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-en.pdf) [PNG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-en.png) [SVG](https://www.siteway.de/assets/downloads/seo-ranking-faktoren/seo-ranking-factors-en.svg) ## Die einzelnen SEO-Ranking-Faktoren auf Deutsch Bewertung auf einer Skala von 1 bis 10 durch 150 SEO-Experten (1 entspricht „kein Einfluss", 10 entspricht „äußerst einflussreich"). Hier die Faktoren mit ihrem Durchschnittswert, gruppiert nach Bereich: ### Link-Autoritätsmerkmale auf Domainebene - **7.54** Anzahl der unterschiedlichen verlinkenden Domains zur Domain - **7.36** Thematische Relevanz von verlinkenden Domains - **7.15** Reine Popularität der Domain gemäß Messung von MozRank, PageRank, usw. - **7.01** Vertrauen in die Domain gemäß Messung von TrustRank, MozTrust, usw. - **6.95** Verteilung der Autorität / relativen Bedeutung / Popularität der verlinkenden Domains - **6.69** Backlinks von Websites des eigenen geografischen Zielbereichs oder der eigenen Sprache - **6.25** Prozentualer Anteil von Links mit Markenbegriffen im Ankertext - **6.07** Geschwindigkeit des Linkaufbaus (zur Domain) - **3.91** Stimmung der auf die Website verweisenden externen Links ### Link-Metriken auf Seitenebene - **7.78** Reine Anzahl Links von Websites mit hoher Autorität - **7.4** Thematische Relevanz von verlinkenden Seiten - **7.26** Thematische Relevanz von verlinkenden Domains - **6.94** Diversität des Link-Ankertextes zur Seite - **6.92** Reine Anzahl der Links von bekannten Marken/Entitäten zur Seite - **6.84** Reine Anzahl unterschiedlicher verlinkender Domains (zur Seite) - **6.69** Vertrauen gemessen als Abstand von einem vertrauenswürdigen Schlüsselsatz von Seiten/Homepages - **6.43** Position/Kontext des eingehenden Links - **6.39** Popularität der Seite gemessen von Algorithmen wie PageRank, usw. - **6.14** Link-Geschwindigkeit der Seite - **5.85** Reine Anzahl an Links, die das Keyword als Ankertext für teilweise Übereinstimmungen verwenden - **5.75** Reine Anzahl an Links, die das Keyword als Ankertext für exakte Übereinstimmungen verwenden - **3.85** Stimmung der auf die Seite verweisenden externen Links ### Keyword- und inhaltsbasierte Metriken auf Seitenebene - **8.22** Im Titelelement/Titel-Tag vorhandenes Keyword - **7.64** Keyword erscheint im Hauptinhaltsbereich der Seite - **6.31** Optimierungsgrad für einen Themen-Modellierungs-Algorithmus (z.B. LSA/LSI/pLSI/LDA/etc) bezogen auf den Gesamtinhalt einer Seite im Verhältnis zur Benutzeranfrage - **5.6** Keyword ist das erste Wort/die erste Wortverbindung des Titelelements (title) - **5.36** Keyword in den ersten 100 Wörtern des Dokuments enthalten - **5.27** Keyword im URL-String der Seite enthalten - **5.04** Keyword in den Überschriften-Tags der Seite (H1, H2, H3) enthalten - **4.90** Keyword im Ankertext eines Links auf der Seite enthalten - **4.26** Keyword im ALT-Attribut eines Bildes auf der Seite enthalten - **3.11** Keyword-Dichte (prozentualer Anteil der Wörter auf der Seite, die dem Ziel-Keyword entsprechen) - **2.8** Keyword hervorgehoben ( (b), (em), (i), (strong) Tag) ### Suchbegriffsunabhängige Merkmale auf Seitenebene - **7.85** Einzigartigkeit der Inhalte auf der Seite - **7.77** Seite ist mobilgerätefreundlich (für Mobil-Rankings) - **6.92** Relative Click Through Rate (CTR) von Google-SERPs zur Seite für das Keyword - **6.6** Ladegeschwindigkeit der Seite - **6.2** Anzahl der Suchen für dieses Keyword + spezifischen Markennamen, URL oder Domainnamen - **6.15** Reine Bounce Rate der Seite - **6.02** Allgemeines Design und/oder User Experience - **5.91** Verweilzeit oder Long-Click Metriken - **5.86** Aktualität der Inhalte auf der Seite - **5.68** Wiederkehrende Besuche auf der Seite nach der ersten Anfrage/dem ersten Klick - **5.56** Länge der Inhalte auf der Seite - **5.42** Alter der Seite - **5.37** Durchschnittliche Browse-Rate nach einem Klick auf diese Seite in den SERPs - **5.34** Qualität der Zusatzinhalte auf der Seite - **5.14** Seite enthält Schema.org oder andere strukturierte Daten - **4.89** Leseniveau der Inhalte auf der Seite - **4.87** Verwendung von Bildern auf der Seite - **4.84** Verwendung von Rich Media (Video, Folien, usw.) - **4.59** Seite unterstützt HTTPS / SSL - **4.22** Autorenautorität der Seite - **4.04** Seite ist mobilgerätefreundlich (für Desktop-Rankings) - **3.64** Seite enthält Open Graph-Daten und/oder Twitter Cards ### Nutzer-Nutzung und Traffic-/Suchanfragen-Daten - **-** SERP-Engagement Metriken - **-** Clickstream-Daten (Abfolge von Seitenaufrufen) - **-** Besucherverkehrs-/Nutzungssignale - **-** Menge/Diversität/CTR der Suchanfragen ### Marken-Metriken auf Domainebene - **6.54** Suchvolumen für die Marke/Domain - **6.33** Existenz/Qualität verifizierter realer Geschäftsinformationen - **6.26** Menge der Nennungen für den Domainnamen im Netz - **6.15** Häufigkeit des Zusammentreffens von Keyword und Marke im Netz - **4.35** Anzahl der Erwähnungen der Marke/Domain in sozialen Netzwerken - **3.99** Popularität der offiziellen Unternehmensprofile in sozialen Netzwerken ### Suchbegriffs-Nutzung auf Domainebene - **5.83** Keyword stimmt genau mit dem Domainnamen (Second-Level) überein - **5.22** Keyword ist im Domainnamen (Second-Level) enthalten - **4.08** Keyword stehtdurch einer Entitäts-Assoziation (Unternehmen, Personen, Orte, Produkte, Dinge) in engen Zusammenhang mit dem Domainnamen (Second-Level) - **3.82** Keyword entspricht dem Subdomainnamen (Third-Level) - **2.55** Keyword entspricht der Domain-Erweiterung (Top-Level) ### Suchbegriffsunabhängige Merkmale auf Domainebene - **7.52** Einzigartigkeit der Inhalte auf der gesamten Website - **6.33** Verwendung von Responsive Design und/oder Mobilgeräteoptimierung - **6.24** Aggregierte CTR von Google-SERPs für die Domain - **6.22** Aktualität der Inhalte auf der Website - **5.91** Aggregierte Seitenladegeschwindigkeit für Seiten der Domain - **5.76** Aggregierte Verweilzeit oder Long-Klick Metriken für die Domain - **5.59** Anzahl der erfassten Fehlerseiten auf der Website - **5.37** Alter der Domain - **4.89** Domain steht in Verbindung mit Autoren mit hoher Autorität - **4.79** Domain enthält Vertrauenssignalseiten - **4.57** Domain führt Kontaktinformationen auf - **3.89** Qualität anderer auf dem gleichen Block an IP-Adressen gehosteter Websites - **3.36** Zeichenlänge des Domainnamens (Prägnanz) - **3.02** Existenz von Bindestrichen im Domainnamen (Abwesenheit) - **2.45** Zeitdauer bis zum Ablauf der Domain ### Soziale Metriken auf Seitenebene - **3.87** Engagement mit Inhalt/URL in sozialen Netzwerken - **3.63** Reine Anzahl von Google+ Shares und +1 in Verbindung mit dem URL - **3.45** Reine Anzahl von Tweets in Verbindung mit dem URL - **3.16** Reine Anzahl von Facebook Likes und Shares in Verbindung mit dem URL - **2.92** Kommentare zur Seite in sozialen Netzwerken - **2.9** Stimmung von Links aus sozialen Netzwerken und Zitaten in Bezug auf die Seite - **2.77** Reine Anzahl von Pinterest-Pins in Verbindung mit dem URL - **2.7** Upvotes für die Seite in sozialen Netzwerken ## Bonus: negative Ranking-Faktoren - Gesamtzahl der unnatürlichen Links auf die Seite/Subdomain - Seite ist Duplicate Content - Inhalt der Seite ist dünn - Menge des überoptimierten Ankertextes für die Seite - nicht mobilgerätefreundlich (für mobile SERPs) - Keyword-Überfüllung im Dokument (Keyword Stuffing) - Seite verweist auf Spam - Seite hat relativ geringe Sucherzufriedenheit - langsame Seitengeschwindigkeit (PageSpeed) - Seite hat relativ schwache Engagement-/Benutzer-Metriken - Gesamtmenge der Werbung auf der Seite - Seite verweist auf eine hohe Anzahl von 404-Seiten - Ressourcen der Seite (CSS/JS) werden durch robots.txt blockiert - Gesamtzahl der entwerteten Links von einer Seite oder Subdomain (disavowed) - Seite enthält einen doppelten Title-Tag - nicht mobilgerätefreundlich (für Desktop-SERPs) - Seite enthält eine doppelte Meta-Beschreibung  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Besser bei Google gefunden werden? Wir beobachten, schlussfolgern und setzen um. [SEO anfragen](https://www.siteway.de/kontakt/) ---  webdesign · team · strategie ## Warum erfolgreiches Webdesign heute keine One-Man-Show mehr ist Professionelles Webdesign ist der Schlüssel zur effektiven Kommunikation im Internet. Die meisten Unternehmen und Endverbraucher haben über die Website eines Unternehmens erstmals Kontakt mit Marke, Produkt oder Dienstleistung. Eine positive User Experience, entscheidend geprägt durch Aspekte wie Usability, Content-Qualität und Design, korreliert sehr stark mit einer möglichen Kaufentscheidung des Besuchers. Eine hohe Sichtbarkeit der Website in Suchmaschinen durch entsprechende Optimierungsmaßnahmen (kurz: SEO) ist zudem Grundvoraussetzung, um das eigene Angebot überhaupt einer größeren Zielgruppe zugänglich zu machen. All diese Elemente einer Website auf ein möglichst hohes Niveau zu heben, kann ein einzelner Webdesigner allein kaum noch leisten. Viele Agenturen und Freelancer setzen bei der Entwicklung daher auf Teamarbeit. ## Experten aus verschiedenen Teildisziplinen arbeiten eng zusammen Zur Erstellung und Optimierung einer Website sind fundierte Kenntnisse in verschiedenen Bereichen nötig: Programmierung, Grafikdesign, Typografie, Suchmaschinenoptimierung, Content-Produktion und Projektmanagement. Um aber eine wirklich erfolgreiche Website zu erstellen, die den Unterschied zum Mainstream macht, braucht es darüber hinaus Expertise in Werbepsychologie, Markenbildung und diversen Disziplinen des Online-Marketings, etwa Social-Media-Marketing. Ob Neubau oder Optimierung einer bestehenden Site, am Anfang aller Maßnahmen steht die Bestimmung des Status quo. Dazu führen Online-Marketing-Experten eine Zielgruppenanalyse durch. Die fragt im Wesentlichen: Wer ist bereits Kunde, und wer könnte zum Kunden werden? Im klassischen Marketing wird eine solche Analyse mit den Mitteln der Marktforschung durchgeführt, dazu gehören etwa Umfragen, Fokusgruppen oder tiefergehende Interviews.  *// programmierung · design · seo · content · marketing* ## Profis verwenden eine Vielzahl von Tools zur Analyse und Optimierung Speziell im Online-Marketing kommen heute digitale Analytics-Verfahren hinzu. Mit Systemen wie Google Analytics oder der Search Console werden die Daten und Nutzersignale der Besucher ausgewertet. Dazu gehören demografische Merkmale wie Alter oder Geschlecht ebenso wie geografische Daten, also etwa Sprache oder Standort. Außerdem wird untersucht, welche Endgeräte und Betriebssysteme genutzt werden. Für das Webdesign-Team ist auch wichtig, für welche Themen sich die Besucher allgemein interessieren. Dabei gilt es zu beachten: Diese Programme erfassen nur die User, die bereits den Weg zur Website gefunden haben. Im Rahmen einer umfassenden Analyse werden auch die sozialen Netzwerke ausgewertet. Deren Anbieter stellen integrierte Analyse-Software zur Verfügung, üblicherweise kostenlos. Das heißt aber nicht, dass sie weniger leistungsfähig ist. Facebook etwa bietet mit Audience Insights ein sehr starkes Tool an, dessen Umgang allerdings eine gewisse Expertise erfordert. Außerdem ziehen Marketing-Profis nicht selten wissenschaftliche Studien und aktuelle Statistiken hinzu, um ein möglichst genaues Bild zu erhalten. Darüber hinaus nutzen zahlreiche Agenturen heute professionelle Business-Intelligence-Programme, mit denen sich auch Daten aus dem allgemeinen Internet analysieren lassen. Nach Abschluss der Datensammlung und -auswertung werden die Zielgruppen definiert, die für das Unternehmen wichtig sind. Sind die bestimmt, erfolgt eine Annäherung. Der Analyst schaut sich die gewonnenen Informationen an und stellt Fragen: Welche Themen bewegen diese potenziellen Kunden, und welche Probleme gibt es? In welcher familiären oder gesellschaftlichen Situation befinden sie sich? Aus den Antworten ergibt sich, welcher Inhalt beziehungsweise welches Service-Angebot für welche Personengruppen interessant ist. ## Texterstellung, Content-Optimierung, SEO und Wettbewerberanalyse Die Erstellung von Inhalten beginnt meist mit einer Keyword-Recherche. Diese hat mehrere Zielsetzungen: - Sie liefert Ideen zu Unterthemen, die im Content der Website behandelt werden sollten. - Sie gibt Aufschluss darüber, welches Wording verwendet werden sollte (semantische Optimierung), um eine hohe Relevanz für das Thema der Zielseite zu erzeugen. - Und sie liefert die Suchbegriffe, auf die es sich aufgrund des vorhandenen Suchanfragepotenzials am meisten lohnt, die Seite zu optimieren. Zudem bereitet die Keyword-Recherche allgemein die Onpage-Suchmaschinenoptimierung vor. Welche Suchbegriffe am besten geeignet sind, entscheiden mehrere Faktoren. Die Keywords müssen vor allem für die Zielgruppen relevant sein. Aber auch das Medium ist wichtig, bei Facebook etwa können andere Schlüsselwörter gefragt sein als bei Google. Eine Konkurrenzanalyse richtet unterdessen den Blick auf die Wettbewerber am Markt. Wie sind deren Websites aufgestellt, und welche Themen behandeln sie? Hier geht es darum, realistisch zu betrachten, was die Konkurrenz gut macht und was man selbst noch besser machen könnte. Unter Umständen gibt es sogar eine Nische, die bislang kein anderer Anbieter bedient. Aus solchen Erkenntnissen entwickeln Marketingexperten eine Strategie. Dieser Prozess kann durchaus Auswirkungen auf das gesamte Marketingkonzept des Unternehmens haben. ## Strategie für Content, Layout, Design und Usability Ist der Markt analysiert, wird eine Strategie für Content und Design entwickelt. Daran arbeitet in professionell aufgestellten Agenturen ein Team aus kreativen Köpfen. Unter Content-Produktion verstand man früher vor allem die Erstellung von Text. Heute werden Inhalte auch cross-medial transportiert, etwa mit passenden Infografiken und Videos. Deshalb braucht es eine zielgerichtete Strategieentwicklung. Häufig arbeiten unterschiedlich spezialisierte Kommunikationsexperten wie Texter, Video-Editoren, Grafiker und Suchmaschinenoptimierer in agilen Teams zusammen, um eine Kampagne zu realisieren. Von dieser Gemeinschaftsleistung profitieren am Ende die Kunden. Zudem richten sich professionelle Webtexte heute stark am Bedürfnis beziehungsweise Problem des Suchenden aus. Daher sollte der Anspruch jedes Textes sein, die Suchintention des Users bestmöglich zu erfüllen. Das kann etwa über Ratgebertexte, Erklärvideos, Checklisten oder allgemein über Wissenstransfer und Informationsvermittlung zu einem Thema geschehen. Grafikdesigner verstehen sich auf die Entwicklung eines Corporate Designs. Das wird nicht nur durchgehend in allen Bereichen der neuen Website verwendet, sondern schließt auch an gedruckte Flyer, Briefpapier und ähnliche Materialien an. So bietet die gesamte Unternehmenskommunikation einen Wiedererkennungswert und kann sich von der Konkurrenz absetzen. Das Webdesign folgt heute ergonomischen Gesichtspunkten und stellt die Nutzererfahrung ins Zentrum. Eine ausgezeichnete Usability ist ebenso entscheidend wie Accessibility und Barrierefreiheit. Möglichst viele User sollen erreicht werden, deshalb muss eine Site auf jeden Fall für mobile Endgeräte optimiert sein. ## Fazit: mit gebündelter Expertise zum digitalen Erfolg Die Zeiten, in denen Webdesigner als einsame Experten im stillen Kämmerlein gearbeitet haben, sind vorbei. Eine Website ist heute nicht mehr nur eine virtuelle Visitenkarte, auf der ein Unternehmen seine Leistungen vorstellt und Kontaktdaten veröffentlicht. Sie ist die wichtigste Kommunikationsschnittstelle zur Verbreitung von Angebot und Botschaft, die wichtigste Plattform zur Neukundengewinnung und zentraler Mittelpunkt vieler Online-Marketing-Aktivitäten. Wer als Unternehmer den Anspruch hat, seinen Kunden eine moderne und erfolgreiche Internetpräsenz zu bieten, holt sich dafür eine erfahrene Agentur mit Experten aus allen wichtigen Fachbereichen an Bord.  [Richard Albrecht](https://www.siteway.de/insights/autoren/richard-albrecht/) Webentwickler, SEO und Founder. Mit siteway hat er seit 2006 über 1500 Website-Projekte umgesetzt und gibt sein Wissen als Dozent bei Handels- und Handwerkskammer Hamburg weiter. [Zum Autorenprofil →](https://www.siteway.de/insights/autoren/richard-albrecht/) Eine Website aus einer Hand? Konzept, Design, Entwicklung und SEO im Team. [Projekt anfragen](https://www.siteway.de/kontakt/) --- unsere bestimmung # Lass uns reden Du hast ein Projekt, eine Frage oder willst einfach mal hören, was möglich ist? Schreib uns oder ruf an. Du sprichst direkt mit Richard, nicht mit einem Ticket-System. direkt Richard Albrecht Dein Ansprechpartner [hallo@siteway.de](mailto:hallo@siteway.de) [+49 40 839 88 242](tel:+494083988242) standort Hamburg Mitten in der Stadt siteway Poststraße 20 20354 Hamburg nachricht ## Schreib uns --- womit wir bauen # stack Das Toolset von siteway. Wir setzen TYPO3, WordPress oder Statamic auf, entwickeln mit PHP und Laravel und liefern versioniert über Git und GitHub Actions aus. Bilder als AVIF und WebP, strukturierte Daten als Schema.org-JSON, dazu Schnittstellen zu CRM, ERP, Payment und mehr. seit 2006 cms: typo3 · wordpress · statamic code: php · laravel build: git · ci/cd [Projekt anfragen](https://www.siteway.de/kontakt/) [Leistungen ansehen](https://www.siteway.de/expertise/) technologien ## Womit wir arbeiten aktuell, erprobt · **kein framework-ballast** Wir wählen die Technik nach deinem Projekt. Bewährte Systeme, moderne Formate und ein sauberer Deployment-Prozess. → cms ### [CMS & Redaktion.](https://www.siteway.de/stack/cms-redaktion/) TYPO3 für komplexe Redaktionen, WordPress für Blogs und Business-Sites, Statamic für schlanke Websites. [CMS & Redaktion →](https://www.siteway.de/stack/cms-redaktion/) stack: typo3 · wordpress · statamic → backend ### [PHP & Laravel.](https://www.siteway.de/stack/php-laravel/) Server-Logik, eigene Anwendungen und Schnittstellen mit PHP und dem Laravel-Framework. [PHP & Laravel →](https://www.siteway.de/stack/php-laravel/) stack: php · laravel → frontend ### [Frontend.](https://www.siteway.de/stack/frontend/) Sauberes HTML5, CSS mit Tailwind und Vanilla JavaScript, ohne Framework-Ballast. [Frontend →](https://www.siteway.de/stack/frontend/) stack: html5 · tailwind · vanilla js → media ### [Bild- & Videoformate.](https://www.siteway.de/stack/bild-videoformate/) Moderne Formate, responsive ausgeliefert: AVIF und WebP für Bilder, WebM für Video. [Bild- & Videoformate →](https://www.siteway.de/stack/bild-videoformate/) stack: avif · webp · webm → performance ### [Performance.](https://www.siteway.de/stack/performance/) Core Web Vitals als Pflicht-Ziel, schlanke Bundles und kurze Ladezeiten. [Performance →](https://www.siteway.de/stack/performance/) stack: lcp · inp · cls · lighthouse → schema ### [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) Schema.org als JSON-LD im @graph, für Rich Snippets bei Google und Zitate in KI-Antworten. [Strukturierte Daten →](https://www.siteway.de/stack/strukturierte-daten/) stack: schema.org · json-ld · @graph → deployment ### [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) Jede Änderung läuft über Git und eine Pipeline mit GitHub Actions, mit getrennter Staging- und Live-Umgebung. [Deployment & Betrieb →](https://www.siteway.de/stack/deployment-betrieb/) stack: git · github actions · staging/live → sicherheit ### [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) TLS und Security-Header, trackingfrei mit lokalen Schriften und Assets. Privacy by Design. [Sicherheit & Datenschutz →](https://www.siteway.de/stack/sicherheit-datenschutz/) stack: tls · security-header · trackingfrei → barrierefreiheit ### [Barrierefreiheit.](https://www.siteway.de/stack/barrierefreiheit/) Standardmäßig nach WCAG 2.2 und dem BFSG gebaut, bedienbar per Tastatur und Screenreader. [Barrierefreiheit →](https://www.siteway.de/stack/barrierefreiheit/) stack: wcag 2.2 · bfsg → ki-entwicklung ### [KI-gestützte Entwicklung.](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) GitHub Copilot, Cursor und Claude beschleunigen Entwicklung und Tests im Projektalltag. [KI-gestützte Entwicklung →](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) stack: copilot · cursor · claude → suche ### [Suche.](https://www.siteway.de/stack/suche/) Statische Volltextsuche mit Pagefind, schnell und ohne externes Tracking. [Suche →](https://www.siteway.de/stack/suche/) stack: pagefind schnittstellen · apis ## Womit wir verbinden rest · soap · webhooks · **erprobt** Schnittstellen, mit denen wir bereits gearbeitet haben, nach Einsatzgebiet sortiert. Fehlt deine, binden wir sie an. immobilien ### Immobilien & Bewertung Immobilienportale und Bewertungsdienste angebunden. [openimmo](https://www.siteway.de/stack/openimmo/) · [onoffice](https://www.siteway.de/stack/onoffice/) · [flowfact](https://www.siteway.de/stack/flowfact/) · [propstack](https://www.siteway.de/stack/propstack/) · [pricehubble](https://www.siteway.de/stack/pricehubble/) recruiting ### Recruiting & HR Stellenportale und HR-Systeme angebunden. [google for jobs](https://www.siteway.de/stack/google-for-jobs/) · [personio](https://www.siteway.de/stack/personio/) · [rexx](https://www.siteway.de/stack/rexx-systems/) · [p&i logahr](https://www.siteway.de/stack/pi-loga/) · [bite](https://www.siteway.de/stack/bite-bewerbermanagement/) · [sopea](https://www.siteway.de/stack/sopea/) · [hansalog vision](https://www.siteway.de/stack/hansalog-vision/) crm · erp ### CRM, ERP & Warenwirtschaft Kontakte und Deals, Geschäftssysteme und Produktdaten zwischen Website und deinen Systemen synchron. [hubspot](https://www.siteway.de/stack/hubspot/) · [salesforce](https://www.siteway.de/stack/salesforce/) · [weclapp](https://www.siteway.de/stack/weclapp/) · [pipedrive](https://www.siteway.de/stack/pipedrive/) · [sap](https://www.siteway.de/stack/sap/) · [dynamics 365 bc](https://www.siteway.de/stack/dynamics-365-business-central/) · [evewa4](https://www.siteway.de/stack/evewa4/) · [pim](https://www.siteway.de/stack/pim/) · [cadenas](https://www.siteway.de/stack/cadenas/) newsletter ### Newsletter & E-Mail Anmeldungen und Kampagnen-Tools angebunden. [cleverreach](https://www.siteway.de/stack/cleverreach/) · [activecampaign](https://www.siteway.de/stack/activecampaign/) · [mailchimp](https://www.siteway.de/stack/mailchimp/) · [brevo](https://www.siteway.de/stack/brevo/) · [rapidmail](https://www.siteway.de/stack/rapidmail/) social ### Social Media Feeds und Profile DSGVO-konform eingebunden. [meta](https://www.siteway.de/stack/meta/) · [instagram](https://www.siteway.de/stack/instagram/) · [linkedin](https://www.siteway.de/stack/linkedin/) · [youtube](https://www.siteway.de/stack/youtube/) payment ### Zahlung & Payment Bezahlung über Stripe mit allen gängigen Methoden. [stripe](https://www.siteway.de/stack/stripe/) · [kreditkarte](https://www.siteway.de/stack/stripe/) · [paypal](https://www.siteway.de/stack/paypal/) · [klarna](https://www.siteway.de/stack/klarna/) · [apple pay](https://www.siteway.de/stack/apple-pay/) · [google pay](https://www.siteway.de/stack/google-pay/) · [wechat](https://www.siteway.de/stack/stripe/) · [alipay](https://www.siteway.de/stack/stripe/) search ### KI-Instant Search Schnelle, facettierte Produktsuche mit Tippfehler-Toleranz und KI-Ranking. [algolia](https://www.siteway.de/stack/algolia/) · [meilisearch](https://www.siteway.de/stack/meilisearch/) ki ### Künstliche Intelligenz Sprachmodelle für Chat, Textentwürfe, Klassifikation und Automatisierung, auf Wunsch selbst gehostet. [anthropic](https://www.siteway.de/stack/anthropic/) · [openai](https://www.siteway.de/stack/openai/) · [perplexity](https://www.siteway.de/stack/perplexity/) · [open-source-modelle](https://www.siteway.de/stack/open-source-modelle/) · [self-hosted](https://www.siteway.de/stack/open-source-modelle/) maps ### Karten & Geodaten Standortkarten und Geodaten eingebunden. [google maps](https://www.siteway.de/stack/google-maps/) · [mapbox](https://www.siteway.de/stack/mapbox/) Deine Schnittstelle ist dabei / nicht dabei? [Anbindung anfragen](https://www.siteway.de/kontakt/?betreff=Schnittstellen-Anbindung#schreib-uns) datenblätter · plattformen ## Plattformen im Detail cms · framework Welches System wir wählen, hängt von deinem Projekt ab, nicht vom Trend. Die wichtigsten Eckdaten unserer vier Plattformen auf einen Blick. ### [TYPO3](https://www.siteway.de/stack/typo3/) enterprise-cms · seit 2006 sprachePHP · Symfony-Komponenten lizenzGPL-2.0 · Open Source datenMySQL/MariaDB · PostgreSQL stärkenMehrsprachigkeit, Rechte & Rollen, LTS einsatzKonzerne, Kliniken, Verbände Unser Arbeitspferd für große, mehrsprachige Websites mit vielen Redakteuren und feinen Rechten. Der Long-Term-Support hält die Basis über Jahre stabil. [TYPO3 →](https://www.siteway.de/stack/typo3/) ### [WordPress](https://www.siteway.de/stack/wordpress/) cms sprachePHP lizenzGPL-2.0 · Open Source datenMySQL/MariaDB stärkenSchnelle Umsetzung, Plugin-Ökosystem, Redaktion einsatzUnternehmensseiten, Blogs, Kampagnen Schnell startklar, wenn Redaktion und Reichweite zählen. Wir härten es ab, halten es schlank und tracking-frei. [WordPress →](https://www.siteway.de/stack/wordpress/) ### [Statamic](https://www.siteway.de/stack/statamic/) flat-file-cms sprachePHP · auf Laravel lizenzKommerziell · pro Seite datenFlat-File (Markdown/YAML) oder DB stärkenGit-Workflow, schnelle Frontends einsatzModerne Marketing-Sites Modernes CMS auf Laravel-Basis. Inhalte liegen als Dateien im Git, kein klassischer Datenbank-Ballast, sehr schnelle Auslieferung. [Statamic →](https://www.siteway.de/stack/statamic/) ### [Laravel](https://www.siteway.de/stack/laravel/) php-framework sprachePHP lizenzMIT · Open Source datenAnwendungsabhängig stärkenAPIs, Auth, Queues, Web-Apps einsatzEigene Anwendungen, Portale, Schnittstellen Wenn ein Standard-CMS nicht reicht: eigene Web-Anwendungen, Portale und Schnittstellen, sauber strukturiert und wartbar. [Laravel →](https://www.siteway.de/stack/laravel/) Passt unser Stack zu deinem Projekt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # ActiveCampaign **ActiveCampaign** ist E-Mail-Marketing mit Automatisierungen — und einem CRM-Anteil daneben. Für siteway ist die spannende Frage nicht, wie eine Adresse in eine Liste kommt, sondern wie ein **Ereignis auf der Website** zum **Auslöser einer Strecke** wird. Diese Seite beschreibt die Technik dahinter: eigenes Formular, serverseitiger Endpunkt, dokumentierte REST-API. stack system: activecampaign · e-mail & automation wege: rest-api · event-tracking format: json seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir ActiveCampaign anbinden](#einsatz) definition ## Was ist ActiveCampaign? **ActiveCampaign ist eine Plattform für E-Mail-Marketing mit Automatisierungen und CRM-Funktionen**, entwickelt von der ActiveCampaign, Inc. mit Sitz in Chicago, Illinois, gegründet 2003. Unternehmen verwalten darin Kontakte, Listen, Tags, benutzerdefinierte Felder, Kampagnen und Automatisierungen — dazu Deals und Pipelines auf der Vertriebsseite. Der Unterschied zu einem reinen Versandwerkzeug liegt in der **Automatisierung**: Strecken, die von selbst laufen, wenn eine Bedingung eintritt. Ein Kontakt abonniert eine Liste, bekommt ein Tag oder löst ein Ereignis aus — und daraufhin startet eine Abfolge aus Wartezeiten, Bedingungen und Mails. Diese Logik wird im Tool gebaut, nicht in der Website. Für die Website zählt vor allem, dass ActiveCampaign seine **REST-API in der Version 3** öffentlich dokumentiert — unter developers.activecampaign.com, mit Ressourcen für Kontakte, Listen, Tags, benutzerdefinierte Felder, Automatisierungen und Webhooks. Damit muss niemand ein fremdes Formular in seine Seite einbetten: Die Anmeldung entsteht im [Frontend der Website](https://www.siteway.de/stack/frontend/), die Übergabe passiert serverseitig. $ cat activecampaign.md - ✓E-Mail-Marketing cloud · browser - ✓Automatisierungen auslöser statt versand - ✓CRM-Anteil deals · pipelines - ✓REST-API v3 öffentlich dokumentiert - ✓Listen, Tags & Felder struktur am kontakt - ✓Event-Tracking website-vorgang als signal praxis ## Wie wir ActiveCampaign anbinden signal liefern · **logik im tool** Die wichtigste Entscheidung fällt vor der ersten Zeile Code, und sie ist eine Trennlinie: **Die Website liefert Signale, das Tool hält die Logik.** Welche Mail nach wie vielen Tagen an wen geht, in welcher Reihenfolge und unter welcher Bedingung — das gehört in die Automatisierung, wo Marketing es selbst ändern kann. Was die Website dafür schuldet, ist ein sauberes, eindeutiges Signal: dieser Mensch, dieses Ereignis, dieser Anlass. Gebaut wird das als **eigenes Formular im Design der Website** mit einem **serverseitigen Endpunkt** dahinter. Das Formular schickt seine Daten an die eigene Anwendung, nicht direkt an ActiveCampaign. Dort passiert die Validierung — Pflichtfelder, Format der Adresse, Schutz gegen automatisiertes Absenden — und dort liegt der API-Schlüssel. Die Dokumentation ist an dem Punkt eindeutig: Der Schlüssel gehört nicht in clientseitigen Code. Ein Formular, das den Schlüssel im Browser trägt, verschenkt ihn. Vom Endpunkt aus läuft der Aufruf in vier Schritten: **Kontakt anlegen oder aktualisieren**, **Liste zuordnen**, **Tags setzen** und **Felder füllen**. Genau in dieser Struktur entsteht der Wert. Das Tag sagt, worum es ging — „whitepaper-preisliste“, „termin-erstgespräch“. Das benutzerdefinierte Feld sagt, woher der Kontakt kam: welche Seite, welches Formular, welche Kampagne. Ohne diese Herkunft ist ein Kontakt später nicht mehr einzuordnen, und jede Segmentierung wird zum Ratespiel. Erst danach wird es werblich — und dazwischen steht das **Double-Opt-in**. Der Kontakt kommt an, wird protokolliert und bekommt eine Bestätigungsmail; in die werbliche Liste und in die Strecke wandert er erst nach dem Klick. Ob wir dafür die Bestätigung von ActiveCampaign nutzen oder sie selbst im Endpunkt bauen, hängt vom Projekt ab. Die Reihenfolge bleibt in beiden Fällen dieselbe. Mehr zum Baustein selbst steht bei [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die API nicht, langsam oder mit einer Absage, darf der Mensch am Formular das nicht ausbaden. Die Anmeldung wird zuerst bei uns gesichert, dann in eine Warteschlange gelegt und mit Abstand erneut versucht — passend zur dokumentierten Grenze von fünf Anfragen pro Sekunde je Konto. Ein Lead, der im Netzwerkfehler verschwindet, ist teurer als jede Anbindung. Details zur Leistung dahinter stehen unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Tag- und Feld-Konzept**, dann der Code - 02Formular **im eigenen Design**, nicht eingebettet - 03API-Schlüssel **serverseitig**, nie im Browser - 04Herkunft **als Feld** mitgeben - 05Werbliche Strecke **erst nach Bestätigung** - 06Fehler **auffangen**, Lead sichern [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation von ActiveCampaign — Pfade, Feldnamen und Grenzen im Original. Alles, was dort nicht steht, steht auch hier nicht: Preise, Tarife und Funktionsumfänge ändern sich, Endpunkte sind belegbar. d-01zugang ### API-Schlüssel & Basis-URL Jedes Konto hat eine eigene Basis-URL nach dem Muster https://konto.api-us1.com/api/3/. Authentifiziert wird mit einem Schlüssel im Header Api-Token, den das Konto unter Settings und Developer ausweist. Die Dokumentation bittet ausdrücklich darum, ihn nicht in clientseitigem Code offenzulegen. zweck: authentifizierung d-02kontakte ### Kontakte & Felder Ein Kontakt entsteht unter /contacts mit email, firstName, lastName und phone. /contact/sync legt ihn an oder aktualisiert ihn anhand der E-Mail-Adresse — das verhindert Dubletten. Benutzerdefinierte Werte stehen in fieldValues, wobei field die ID des Feldes trägt, nicht seinen Namen. zweck: kontakt & herkunft d-03listen ### Listen & Status Die Zuordnung läuft über /contactLists mit list, contact und status; 1 steht für abonniert, 2 für abgemeldet. Die Dokumentation warnt an der Stelle deutlich: Ein Wechsel zurück auf aktiv trägt jemanden wieder ein, der sich selbst abgemeldet hatte. Deshalb prüfen wir den Status, statt ihn blind zu setzen. zweck: verteiler-zuordnung d-04tags ### Tags als Auslöser /contactTags weist einem vorhandenen Kontakt ein vorhandenes Tag zu — beides muss also vorher existieren, Tags entstehen über die eigene Tag-Ressource. Weil ActiveCampaign das Hinzufügen eines Tags als Startbedingung einer Automatisierung kennt, ist genau das der schmalste Weg, eine Strecke zu starten. zweck: strecke starten d-05ereignisse ### Event-Tracking Ein Vorgang lässt sich auch als Ereignis melden: Der Aufruf geht an trackcmp.net/event mit actid, dem Event-Key, einem Namen von höchstens 32 Zeichen und visit als JSON mit der E-Mail-Adresse; eventdata nimmt einen zusätzlichen Wert auf. Voraussetzung ist, dass Event-Tracking im Konto unter Website und Site Tracking eingeschaltet ist. zweck: vorgang melden d-06takt ### Webhooks & Grenzen In die Gegenrichtung melden Webhooks Ereignisse aus dem Konto an eine URL — etwa wenn ein Kontakt hinzukommt, sich abmeldet oder ein Tag wechselt. Für den Takt nennt die Dokumentation fünf Anfragen pro Sekunde je Konto; darüber kommt Status 429 mit Retry-After, RateLimit-Limit und RateLimit-Remaining. zweck: rückkanal & takt ### Vom Ereignis zur Strecke ActiveCampaign kennt für den Start einer Automatisierung mehrere Bedingungen — unter anderem das **Abonnieren einer Liste**, das **Hinzufügen eines Tags**, das **Abschicken eines Formulars** und ein **aufgezeichnetes Ereignis**. Für die Anbindung heißt das: Wir haben nicht einen Weg, sondern eine Auswahl, und jede Auswahl hat eine Folge. Ein Tag bleibt am Kontakt kleben und ist damit auch später noch Filterkriterium. Ein Ereignis beschreibt einen Moment und blockiert kein Feld. In der Praxis mischen wir beides. Ein Whitepaper-Download setzt ein Tag, weil das Interesse dauerhaft etwas über den Kontakt aussagt — der passende Baustein dazu ist das [Lead-Magnet-Formular](https://www.siteway.de/expertise/lead-magnet-formulare/). Ein gebuchter Termin oder ein abgeschlossener Schritt in einem Konfigurator ist eher ein Ereignis: einmal passiert, gemeldet, fertig. Welche Signale eine Seite überhaupt erzeugen kann und welche davon jemanden interessieren, klären wir vor dem Bauen — sonst entsteht eine Anbindung, die viel meldet und wenig sagt. Der Rest ist Ordnung: eine **Namenskonvention für Tags**, die auch in zwei Jahren noch lesbar ist, Felder für Herkunft und Anlass, und ein Protokoll darüber, welches Formular welches Signal auslöst. Wo Strecken weiter automatisiert werden sollen — Anreicherung, Vorqualifizierung, Weiterleitung an ein anderes System —, geht es weiter bei [KI & Automation](https://www.siteway.de/expertise/ki-automation/). signal → auslöser - ▸Anmeldung → **Liste abonniert** - ▸Whitepaper → **Tag gesetzt** - ▸Termin gebucht → **Ereignis** - ▸Herkunft → **eigenes Feld** - ▸Abmeldung → **Webhook zurück** - ▸Strecke selbst → **im Tool** integration ## ActiveCampaign in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist bewusst systemunabhängig gedacht: ein **eigenes Formular im Design der Website** — kein eingebettetes Fremdformular, das seine eigene Schrift und seine eigenen Farben mitbringt. Abgeschickt wird an einen **serverseitigen Endpunkt** in der Website selbst. Dieser Endpunkt hält die Zugangsdaten, prüft die Eingaben und spricht mit der API: Kontakt anlegen oder aktualisieren, Liste zuordnen, Tags setzen, Felder für Herkunft und Anlass füllen — und damit die passende Automatisierung auslösen. Unterschiedlich ist nur, wo im jeweiligen CMS diese drei Bausteine liegen: das Formular als redaktionell platzierbares Element, die Route als Endpunkt und der Ablageort der Zugangsdaten. Deshalb bauen wir die Anbindung in jedem System als **eigenen Baustein** mit dessen eigenen Bordmitteln — so bleibt sie nachvollziehbar, aktualisierbar und überlebt einen Design- oder Theme-Wechsel. Die Rückmeldung ans Frontend gehört dazu: Bestätigungsseite, Fehlermeldung im Formular und ein sauberer Zustand, wenn jemand zweimal abschickt. cms-01typo3 ### ActiveCampaign in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Das Anmeldeformular wird darin ein Plugin-Element, das die Redaktion im Seitenbaum genau dort platziert, wo es hingehört — im Footer, in einer Spalte, auf einer eigenen Seite. Das Abschicken nimmt eine serverseitige Route entgegen, eingehängt über eine Middleware; dort laufen Validierung, der Aufruf der API und die Fehlerbehandlung. Ausgegeben wird über Fluid, sodass Formular, Bestätigung und Fehlermeldung im Template des Projekts liegen und nicht in fremdem Markup. Die Zugangsdaten stehen in der Extension-Konfiguration und lassen sich je Umgebung setzen, damit Redaktion und Produktion sauber getrennt bleiben. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### ActiveCampaign in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so übersteht sie einen Theme-Wechsel und ein Redesign. Eine eigene REST-Route nimmt das abgeschickte Formular entgegen, prüft die Felder und ruft die API serverseitig auf; im Browser landet nie ein Schlüssel. Die Zugangsdaten liegen in der wp-config.php oder in einer Umgebungsvariable, also außerhalb der Datenbank und außerhalb des Backends. Fürs Frontend kommen Template-Dateien und Blöcke für den Editor dazu, damit die Redaktion das Anmeldeformular selbst setzen kann — inline im Beitrag, im Footer oder auf einer Landingpage. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### ActiveCampaign in Statamic Statamic läuft auf Laravel — damit ist der Endpunkt schlicht eine Route mit einem Controller, inklusive Validierung, Warteschlange für erneute Versuche und Protokoll. Das Formularmodell beschreibt ein Blueprint: welche Felder es gibt, welche Pflicht sind und welches Tag daran hängt — änderbar, ohne den Controller anzufassen. Die Zugangsdaten stehen in der .env und damit außerhalb des Repositorys. Gerendert wird mit Antlers oder Blade, sodass das Formular dieselben Bausteine nutzt wie der Rest der Seite. Im Control Panel pflegt die Redaktion Beschriftungen und Hinweistexte, ohne an die Anbindung zu müssen. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Datenschutz & Einwilligung technisch beschrieben · **nicht bewertet** **ActiveCampaign ist ein Anbieter aus den USA** — die Gesellschaft sitzt in Chicago, Illinois. Wer das Werkzeug einsetzt, gibt personenbezogene Daten an einen Dienstleister weiter und lässt sie dort verarbeiten. Zwei Punkte gehören deshalb in die Projektplanung und nicht ins Kleingedruckte: ein **Vertrag zur Auftragsverarbeitung** mit dem Anbieter und die Frage, **auf welcher Grundlage die Daten übermittelt** und verarbeitet werden. Das ist keine Bewertung — das ist die Liste dessen, was zu klären ist. Technisch halten wir die Übergabe so schmal wie möglich. Es gehen nur die Felder raus, die die Strecke wirklich braucht — für eine Newsletter-Anmeldung ist das in der Regel die E-Mail-Adresse plus die Herkunft. Die Übertragung läuft ausschließlich serverseitig über TLS, die Zugangsdaten liegen in der Server-Konfiguration, und das Site-Tracking-Skript von ActiveCampaign lädt erst nach einer Einwilligung, weil es Verhalten auf der Website mit einer Person verknüpft. Dazu kommt die **Einwilligung selbst**. Sie wird aktiv erteilt, ohne vorangekreuztes Feld, mit einem Datenschutzhinweis direkt am Formular. Der Vorgang wird mit Zeitstempel, Quelle und dem angezeigten Einwilligungstext protokolliert, und in die werbliche Liste kommt der Kontakt erst nach dem bestätigten Double-Opt-in. Abmeldungen laufen in die Gegenrichtung: Über Webhooks meldet ActiveCampaign eine Abmeldung zurück, sodass die Website nicht weiter Signale für jemanden schickt, der nicht mehr will. Was auf dieser Seite bewusst nicht steht, ist eine rechtliche Bewertung — die gehört in eine Prüfung mit Dokumentation. Wir machen das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/): Dort werden eingesetzte Dienste erfasst, Datenflüsse aufgeschrieben, Verträge und Hinweise abgeglichen und die Datenschutzerklärung nachgezogen. Die technischen Grundlagen dazu stehen im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). was zu klären ist - ▸Anbieter **aus den USA** - ▸Vertrag zur **Auftragsverarbeitung** - ▸Grundlage der **Datenübermittlung** - ▸Nur die **nötigen Felder** - ▸Tracking-Skript **nach Einwilligung** - ▸Einwilligung **protokolliert** [zum datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist ActiveCampaign? ActiveCampaign ist eine Plattform für E-Mail-Marketing mit Automatisierungen und CRM-Funktionen, entwickelt von der ActiveCampaign, Inc. mit Sitz in Chicago, Illinois, gegründet 2003. Unternehmen verwalten darin Kontakte, Listen, Tags, Kampagnen und Automatisierungen, dazu Deals und Pipelines auf der Vertriebsseite. Für die Website zählt vor allem eines: ActiveCampaign dokumentiert seine REST-API öffentlich unter developers.activecampaign.com, mit Ressourcen für Kontakte, Listen, Tags, benutzerdefinierte Felder, Automatisierungen und Webhooks. Damit lässt sich eine Anmeldung im eigenen Design bauen, statt ein fremdes Formular einzubetten. ### Wie bindet siteway ActiveCampaign an eine Website an? Über ein eigenes Formular im Design der Website und einen serverseitigen Endpunkt dahinter. Das Formular schickt seine Daten an die eigene Anwendung, nicht direkt zu ActiveCampaign. Dort werden die Eingaben geprüft, dort liegt der API-Schlüssel, und erst von dort geht der Aufruf an die API: Kontakt anlegen oder aktualisieren, Listenzuordnung setzen, Tags vergeben, Herkunft als Feld mitgeben. Die Website übergibt damit ein sauberes Signal — was danach passiert, welche Mail wann rausgeht und in welcher Reihenfolge, bleibt als Automatisierung im Tool. Das ist die Trennlinie, an der wir bauen. ### Wie funktioniert die ActiveCampaign-API? Die aktuelle Version 3 ist eine REST-API mit JSON. Jedes Konto hat eine eigene Basis-URL nach dem Muster https://konto.api-us1.com/api/3/; authentifiziert wird mit einem API-Schlüssel im Header Api-Token, den das Konto unter Settings und Developer ausweist. Die Dokumentation weist ausdrücklich darauf hin, den Schlüssel geheim zu halten und nicht in clientseitigem Code offenzulegen. Kontakte liegen unter /contacts, ein Anlegen-oder-Aktualisieren über die E-Mail-Adresse unter /contact/sync, Listenzuordnungen unter /contactLists, Tag-Zuweisungen unter /contactTags. Als Grenze nennt die Dokumentation fünf Anfragen pro Sekunde und Konto; darüber antwortet die API mit dem Status 429 und den Kopfzeilen Retry-After, RateLimit-Limit und RateLimit-Remaining. ### Warum geht es bei ActiveCampaign nicht nur um die E-Mail-Adresse? Weil die Adresse allein nur eine Zeile in einer Liste ist. Der Wert entsteht durch das, was daneben steht: die Liste, in der der Kontakt landet, die Tags, die ihn beschreiben, die benutzerdefinierten Felder mit Herkunft und Anlass — und die Automatisierung, die daraus startet. ActiveCampaign kennt dafür Auslöser wie das Abonnieren einer Liste, das Hinzufügen eines Tags, das Abschicken eines Formulars oder ein aufgezeichnetes Ereignis. Ein Website-Vorgang wie ein abgeschicktes Formular, ein geladenes Whitepaper oder ein gebuchter Termin wird so zum Startpunkt einer Strecke. Die Website liefert das Signal, die Strecke selbst wird im Tool gebaut. ### Wie wird Double-Opt-in mit ActiveCampaign umgesetzt? In zwei möglichen Bauweisen. Nutzt du die Formulare von ActiveCampaign, ist das Double-Opt-in für die Formularaktion Subscribe to list standardmäßig aktiv: Der Kontakt wird zunächst als unbestätigt geführt, bekommt eine Bestätigungsmail mit Link, und erst der Klick setzt ihn auf aktiv. Die Dokumentation hält dazu fest, dass ein Kontakt bei aktiviertem Double-Opt-in erst nach dieser Bestätigung in eine Automatisierung aufgenommen wird. Bauen wir das Formular selbst, läuft dieselbe Logik über unseren Endpunkt: Anmeldung entgegennehmen, Bestätigungslink verschicken, den Vorgang mit Zeitstempel, Quelle und angezeigtem Einwilligungstext protokollieren — und den Kontakt erst nach dem Klick in die werbliche Liste und die zugehörige Strecke setzen. Welcher Weg passt, entscheiden wir im Projekt. ### Was ist Event-Tracking und wann brauchst du es? Event-Tracking ist der Weg, ein Ereignis auf der Website an ActiveCampaign zu melden, ohne dafür ein Kontaktfeld zweckzuentfremden. Der Aufruf geht laut Dokumentation an trackcmp.net/event und trägt die Kennung des Kontos als actid, den Event-Key, einen Ereignisnamen mit höchstens 32 Zeichen und die Zuordnung zur Person als visit im JSON-Format mit der E-Mail-Adresse; ein optionales Feld eventdata nimmt einen zusätzlichen Wert auf. Voraussetzung ist, dass Event-Tracking im Konto unter Website und Site Tracking eingeschaltet ist. Sinnvoll ist das überall dort, wo ein Vorgang eine Strecke starten soll, ohne den Kontakt dauerhaft neu zu etikettieren — eine Buchung, ein Download, ein Schritt in einem Konfigurator. ### Wo liegen die Daten, und was ist beim Datenschutz zu klären? ActiveCampaign ist ein Anbieter aus den USA — die Gesellschaft sitzt in Chicago, Illinois. Damit gehören zwei Punkte in das Projekt und nicht ins Kleingedruckte: ein Vertrag zur Auftragsverarbeitung mit dem Anbieter und die Frage, auf welcher Grundlage die Daten übermittelt und verarbeitet werden. Technisch halten wir die Übergabe schmal: nur die Felder, die die Strecke wirklich braucht, Übertragung ausschließlich serverseitig über TLS, Zugangsdaten in der Server-Konfiguration statt im Frontend, das Site-Tracking-Skript erst nach Einwilligung. Die Bewertung selbst gehört nicht auf diese Seite, sondern in ein [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/) — dort wird geprüft, dokumentiert und in der Datenschutzerklärung nachgezogen. ### Lässt sich ActiveCampaign in WordPress oder TYPO3 integrieren? Ja — und in Statamic ebenso. Wir bauen die Anbindung in jedem der drei Systeme selbst, mit dessen eigenen Bordmitteln. In TYPO3 entsteht eine eigene Extension: das Formular als Plugin-Element im Seitenbaum, eine serverseitige Route mit Middleware als Endpunkt, Fluid für die Ausgabe, die Zugangsdaten in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code, damit die Anbindung einen Theme-Wechsel überlebt: eine eigene REST-Route nimmt die Anmeldung entgegen, die Zugangsdaten liegen in der wp-config.php oder in einer Umgebungsvariable, ausgegeben wird über Template-Dateien oder Blöcke im Editor. In Statamic liegt Laravel darunter: Route und Controller bilden den Endpunkt, ein Blueprint beschreibt das Formularmodell, die Zugangsdaten stehen in der .env, gerendert wird mit Antlers oder Blade. womit das zusammenhängt ## Womit das zusammenhängt systeme, bausteine & **leistung** - [CleverReach.](https://www.siteway.de/stack/cleverreach/) — Der deutsche Nachbar im selben Feld: E-Mail-Marketing mit eigener Schnittstelle — andere Mechanik, dieselbe Frage nach Signal und Strecke. zur technik → - [Mailchimp.](https://www.siteway.de/stack/mailchimp/) — Das verbreitetste Newsletter-Werkzeug und wie eine Anmeldung im eigenen Design sauber daran andockt. zur technik → - [HubSpot.](https://www.siteway.de/stack/hubspot/) — Wenn CRM und Marketing enger zusammenrücken: dieselbe Trennlinie zwischen Website-Signal und Tool-Logik, eine Nummer größer. zur technik → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Die Technik hier, der Baustein dort: Anmeldeformular, Double-Opt-in, Consent-Protokoll und Abmeldung als buchbare Komponente. zur komponente → - [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) — Whitepaper gegen Adresse: der häufigste Anlass, aus dem in ActiveCampaign ein Tag und daraus eine Strecke wird. zur komponente → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Feld- und Tag-Konzept, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → ActiveCampaign an deine Website anbinden? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Algolia **Algolia** ist ein gehosteter Suchdienst: Deine Inhalte werden vorher in einen Index geschrieben, die Suchanfrage läuft danach gegen die Infrastruktur des Anbieters. Für siteway ist das der Weg, wenn **große Datenmengen**, **Facetten**, **Tippfehler-Toleranz** und eine steuerbare Trefferreihenfolge gebraucht werden. Diese Seite beschreibt, wie wir Algolia anbinden — und wo die eigentliche Arbeit steckt. stack dienst: algolia · gehostete suche modell: index · records · facetten hebel: ranking · custom ranking seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Algolia anbinden](#einsatz) definition ## Was ist Algolia? gehostet · **index statt datei** **Algolia ist ein gehosteter Suchdienst.** Das ist der ganze Unterschied zu einer Suche, die auf deinem eigenen Server läuft: Die Inhalte werden nicht dort durchsucht, wo sie liegen, sondern vorher als **Records** in einen **Index** beim Anbieter geschrieben. Tippt jemand in dein Suchfeld, geht die Anfrage an dessen Infrastruktur und kommt als fertige Trefferliste zurück. Ein Index ist dabei mehr als ein Datenspeicher. An ihm hängen die Einstellungen, die aus Daten eine Suche machen: welche Attribute überhaupt **durchsucht** werden, welche als **Facette** filterbar sind, und in welcher Reihenfolge Treffer erscheinen. Wer diese drei Schrauben nicht dreht, bekommt eine Suche, die zwar antwortet, aber nicht sortiert. Daraus folgt eine Erwartung, die vorher geklärt sein sollte: **Eine gute Suche mit Algolia ist Konfigurationsarbeit, kein Datenexport.** Der Datenexport ist der einfache Teil. Die Zeit geht in die Frage, welches Attribut wie schwer wiegt und was am Ende oben steht — nachzulesen im Kapitel [Technik im Detail](#details). Wie wir Suche insgesamt angehen, steht im Hub [Suche](https://www.siteway.de/stack/suche/). $ cat algolia.md - ✓Suchdienst gehostet · anfrage extern - ✓Datenmodell index · records · objectid - ✓Facetten filter mit trefferzahl - ✓Ranking kriterien + custom ranking - ✓Toleranz tippfehler · synonyme - ✓Schlüssel admin server · suche frontend praxis ## Wie wir Algolia anbinden indexieren serverseitig · **suchen im frontend** Am Anfang steht kein Code, sondern eine Liste: **Was ist eigentlich ein Treffer?** Eine Seite, ein Produkt, ein Datenblatt, ein Abschnitt? Diese Entscheidung legt fest, wie ein Record aussieht — und damit alles Weitere. Wir schneiden die Records so, dass ein Treffer für den Besucher eine sinnvolle Antwort ist, nicht der Anfang einer zweiten Suche. Dann kommt das **Mapping**: Welches Feld aus dem CMS wird welches Attribut im Record, was ist durchsuchbar, was wird Facette, was ist nur Anzeige. Hier fällt auch die Entscheidung, was den Index gar nicht erst erreicht — interne Notizen, Preise mit Sonderkonditionen, geschützte Bereiche. **In den Index geht, was für die Suche gebraucht wird.** Alles andere bleibt, wo es ist. **Indexiert wird serverseitig, in zwei Stufen.** Zur Einrichtung läuft eine Voll-Indexierung über den kompletten Bestand, gebündelt statt Record für Record — die Dokumentation rät ausdrücklich dazu, in Stapeln zu senden. Danach laufen nur noch Änderungen: angelegt, geändert, gelöscht. Weil Algolia die Indexierung als Aufgabe im Hintergrund verarbeitet, ist ein Record nicht in derselben Millisekunde suchbar, in der er gesendet wurde — für eine Redaktion völlig unkritisch, für einen automatisierten Test sehr wohl. **Der Rückweg ist der Praxisstolperstein.** Ein Inhalt, der im CMS gelöscht oder auf Entwurf zurückgesetzt wird, verschwindet nicht von selbst aus dem Index — er muss aktiv entfernt werden. Sonst führt ein Treffer ins Leere oder zeigt eine Überschrift, die noch niemand sehen sollte. Wir behandeln „löschen“ und „depublizieren“ deshalb als eigene Ereignisse mit eigenem Code, nicht als Nebeneffekt des Speicherns. Dasselbe gilt für geschützte Bereiche: Was hinter einem [Login](https://www.siteway.de/expertise/login-mitgliederbereich/) liegt, wird entweder gar nicht indexiert oder nur mit einem Schlüssel gesucht, der auf diesen Ausschnitt begrenzt ist. **Gesucht wird im Frontend** — mit dem reinen Such-Schlüssel und einer Oberfläche, die wir selbst bauen: Eingabefeld, Treffer während des Tippens, Facetten als Filter daneben, ein Zustand für null Treffer. Und wie bei jeder Anbindung planen wir den Fehlerfall mit: Antwortet der Dienst nicht, bleibt die Seite bedienbar und fällt auf die Navigation oder eine einfache Suche im eigenen Bestand zurück. Die buchbare Leistung dahinter ist die Komponente [Suche](https://www.siteway.de/expertise/suche/), die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst klären, **was ein Treffer ist** - 02Nur in den Index, was **gebraucht wird** - 03Indexierung **serverseitig**, gebündelt - 04Löschen & Entwurf als **eigenes Ereignis** - 05Im Frontend nur der **Such-Schlüssel** - 06Ausfall des Dienstes **eingeplant** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Algolia — Begriffe, Einstellungen und Reihenfolgen im Original. Preise und harte Grenzwerte lassen wir bewusst weg: Sie ändern sich, und was für dein Projekt gilt, steht in deinem Vertrag und nicht auf einer Agenturseite. d-01datenmodell ### Index & Records Ein Index ist ein durchsuchbarer Datenbestand samt seinen Einstellungen, ein Record ein Objekt darin mit benannten Attributen. Jeder Record braucht eine eindeutige objectID — entweder du vergibst sie, oder Algolia erzeugt sie. Über sie laufen später Aktualisierung und Löschung. zweck: struktur der daten d-02relevanz ### Durchsuchbare Attribute Nicht jedes Attribut soll durchsucht werden. Über die durchsuchbaren Attribute legst du fest, worin gesucht wird und in welcher Rangfolge — ein Titel wiegt anders als ein Fließtext. Die Dokumentation nennt diese Einstellung zusammen mit dem Custom Ranking als die beiden zentralen Hebel für Relevanz. zweck: worin gesucht wird d-03facetten ### Facetten & Filter Ein Attribut wird zur Facette, sobald es in attributesForFaceting steht — Schreibweise exakt wie im Record. Algolia liefert Trefferzahlen je Wert mit, bei sehr großen Indizes angenähert; das meldet exhaustiveFacetsCount. Facettenwerte lassen sich durchsuchen, Kategorien mehrstufig abbilden. zweck: eingrenzen d-04reihenfolge ### Ranking & Custom Ranking Algolia vergleicht Treffer nach einer festen Kriterienreihe und geht erst weiter, wenn Gleichstand herrscht: Tippfehler, geografische Nähe, optionale Wörter, passende Filter, Wortnähe, getroffenes Attribut, exakte Übereinstimmung — und zuletzt dein Custom Ranking, etwa nach Beliebtheit. zweck: was oben steht d-05toleranz ### Tippfehler & Synonyme Ein Tippfehler ist ein fehlender, zusätzlicher, vertauschter oder falscher Buchstabe; gemessen wird der Abstand zweier Wörter. Toleriert werden bis zu zwei Tippfehler je Wort. Nicht angewendet wird die Toleranz unter anderem bei Anfragen in Anführungszeichen. Synonyme ergänzen das um Begriffe, die dieselbe Sache meinen. zweck: trotzdem finden d-06schlüssel ### Schlüssel & Rechte Der Admin-Schlüssel hat vollen Kontozugriff und bleibt serverseitig — die Dokumentation sagt ausdrücklich, ihn in keiner Anwendung zu verwenden. Schreiben läuft ebenfalls serverseitig. Fürs Frontend gibt es den reinen Such-Schlüssel. Abgeleitete Schlüssel können zusätzlich einschränken und ablaufen, aber nie Rechte hinzufügen. zweck: trennung der rechte ### Daten, die das Haus verlassen Ein gehosteter Dienst bedeutet sachlich zweierlei: **Deine Inhalte liegen als Records bei einem Dritten**, und **jede Suchanfrage deiner Besucher geht dorthin**. Beides ist kein Ausschlussgrund, aber beides gehört vor dem Start auf den Tisch — nicht in die Datenschutzerklärung nach dem Launch. Drei Punkte klären wir dafür im Projekt. Erstens die **Region**: Beim Anlegen einer Anwendung wird festgelegt, wo sie betrieben wird; Algolia dokumentiert Cluster in mehreren Regionen, darunter in Europa. Zweitens die **Auftragsverarbeitung** — wer im Auftrag verarbeitet, braucht einen Vertrag darüber, genau wie der Hoster. Drittens **Datensparsamkeit**: Algolia dokumentiert selbst, dass Suchprotokolle standardmäßig 90 Tage aufbewahrt werden und unter anderem Anfrage, Filter und eine gekürzte IP-Adresse enthalten — und rät davon ab, personenbezogene Daten als Nutzerkennung zu verwenden oder sie in Metadaten und Indexnamen abzulegen. Unsere Konsequenz daraus ist schlicht: In den Index geht der Ausschnitt, der für die Suche gebraucht wird — und Attribute, die zwar für einen Filter nötig, aber nicht zur Anzeige bestimmt sind, lassen sich als nicht abrufbar markieren. Wie das mit dem Rest der Auslieferung zusammenpasst, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das ausdrücklich nicht. vor dem start klären - ▸**Region** der Anwendung - ▸**Auftragsverarbeitung** mit dem Anbieter - ▸Was **nicht** in den Index geht - ▸Keine **personenbezogene** Nutzerkennung - ▸Indexnamen **ohne Interna** - ▸Schlüssel **regelmäßig erneuern** integration ## Algolia in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil er sich aus der Aufgabe ergibt und nicht aus dem CMS. Die eine Hälfte ist die **Indexierung — und die läuft serverseitig**: Der Inhalt wird dort gelesen, wo er redaktionell gepflegt wird, in Records übersetzt und in den Index geschrieben. Zur Einrichtung einmal komplett, danach nur noch das, was sich ändert. Dafür braucht es zwei Auslöser: ein Ereignis beim Speichern, damit eine Änderung sofort ankommt, und einen geplanten Lauf als Grundsicherung, falls ein Ereignis einmal ausfällt. Und es braucht die Gegenrichtung — gelöschte und depublizierte Inhalte müssen aktiv aus dem Index entfernt werden, sonst bleiben Treffer stehen, deren Seite es nicht mehr gibt. Die andere Hälfte ist die **Suche im Frontend**. Sie fragt den Dienst direkt aus dem Browser — und zwar mit einem **eingeschränkten Such-Schlüssel**, der nur suchen kann. Das ist die Stelle, an der Anbindungen scheitern, deshalb steht sie hier so deutlich: **Der Admin-Schlüssel gehört nie ins Frontend.** Er hat vollen Zugriff auf das Konto, liegt ausschließlich auf dem Server und taucht weder im Quelltext einer Seite noch in einem JavaScript-Bundle auf. Ins Frontend darf nur der reine Such-Schlüssel. Wo Inhalte hinter einer Anmeldung liegen, kommt ein abgeleiteter Schlüssel dazu, der den Zugriff zusätzlich auf den erlaubten Ausschnitt begrenzt und ablaufen kann. Was das CMS darunter unterscheidet, ist nur, wo Ereignis, geplanter Lauf und Schlüssel jeweils hingehören. cms-01typo3 ### Algolia in TYPO3 Wir bauen die Anbindung als eigene Extension. Die Voll-Indexierung läuft als Scheduler-Task über die Seiten und Records, die im Mapping stehen; dazu kommt ein Hook, der beim Speichern eines Datensatzes genau diesen einen Record nachzieht — und beim Löschen oder Verstecken wieder aus dem Index nimmt. Die Schlüssel liegen in der Extension-Konfiguration, der Admin-Schlüssel bleibt dort und wird nie ins Template gereicht. Fürs Sucheingabefeld und die Trefferliste nutzen wir Fluid, sodass die Suche im Design der Website steht und nicht daneben. Mehrsprachigkeit bildet sich über eigene Indizes je Sprache ab. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Algolia in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Indexiert wird beim Speichern eines Beitrags oder Produkts und zusätzlich als geplanter Lauf für den Gesamtbestand. Statuswechsel behandeln wir mit: Was von veröffentlicht auf Entwurf, privat oder Papierkorb wechselt, wird aus dem Index entfernt. Die Schlüssel stehen in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht im Frontend-Skript. Für die Oberfläche kommen Template-Dateien und ein Block für den Editor dazu, damit die Redaktion Suchfeld und Facetten platzieren kann. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Algolia in Statamic Unter Statamic liegt Laravel, und das macht die Anbindung geradlinig. Ein Artisan-Command baut den Index über die Collections auf und läuft im Scheduler als Grundsicherung. Daneben hängt ein Ereignis beim Speichern eines Entries, das genau diesen einen Record aktualisiert; das Gegenstück beim Löschen nimmt ihn wieder heraus. Der Blueprint gibt vor, welche Felder in den Record wandern und welche im Control Panel bleiben. Die Schlüssel liegen in der .env, ins gerenderte Frontend geht ausschließlich der Such-Schlüssel. Antlers oder Blade rendern Suchfeld, Facetten und Trefferliste. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Wann Algolia — und wann ein anderer Weg zuordnung statt **rangliste** Die nützliche Frage lautet nicht „welche Suche ist die beste“, sondern „was wird eigentlich durchsucht, wie oft ändert es sich, und wer soll es betreiben“. Drei Antworten, drei Zuordnungen — alle drei sind bei siteway im Werkzeugkasten. e-01pagefind ### Wenn Text durchsucht wird Unternehmensseite, Magazin, Dokumentation, Handbuch: Bestände aus Text, die sich mit dem Deploy ändern. Dafür ist [Pagefind](https://www.siteway.de/stack/pagefind/) gemacht — Index beim Build, Suche im Browser, kein Dienst dahinter, keine Anfrage nach draußen. index beim build e-02algolia ### Wenn Menge und Facetten zählen Große Datenmengen, Filter über mehrere Achsen, Tippfehler-Toleranz und eine Reihenfolge nach Geschäftslogik — und ein Bestand, der sich unabhängig vom Build ändert. Das ist das Terrain von Algolia: gehostet, mit ausgereifter Ranking-Steuerung. gehostet · facetten · ranking e-03meilisearch ### Wenn der Dienst im Haus bleiben soll Dieselbe Aufgabe, andere Betriebsform: [Meilisearch](https://www.siteway.de/stack/meilisearch/) ist ein Suchdienst, den du selbst betreibst. Passt, wenn Inhalte und Suchanfragen die eigene Infrastruktur nicht verlassen sollen und der Betrieb dafür mitgeplant wird. selbst betrieben ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Wie viele Einträge sind es, und wie oft ändern sie sich? Wonach soll gefiltert werden — und stehen diese Merkmale sauber in den Daten? Wonach soll bei Gleichstand sortiert werden? Was darf den eigenen Server verlassen? Und wer betreibt die Suche im Alltag, wenn sich am Datenmodell etwas ändert? Danach steht das Mapping als Dokument, bevor gebaut wird. Die Kategorie darüber beschreibt der Hub [Suche](https://www.siteway.de/stack/suche/), die buchbare Komponente liegt in der Expertise unter [Suche](https://www.siteway.de/expertise/suche/). Wo ein Katalog mit Attributen und Filtern das eigentliche Thema ist, führt der Weg über [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) — dort geht es um die Datenpflege, hier um die Technik darunter. Welche Suche ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Text & Seiten → **Pagefind** - ▸Menge, Facetten, Ranking → **Algolia** - ▸Daten im eigenen Haus → **Meilisearch** - ▸Reihenfolge nach Geschäftslogik → **Custom Ranking** [die auswahl im hub suche →](https://www.siteway.de/stack/suche/) faq ## Häufige Fragen ### Was ist Algolia? Algolia ist ein gehosteter Suchdienst. Deine Inhalte werden nicht auf deinem Server durchsucht, sondern vorher als Records in einen Index beim Anbieter geschrieben; die Suchanfrage läuft dann gegen dessen Infrastruktur. Ein Index ist dabei mehr als ein Datenspeicher: An ihm hängen die Einstellungen, die bestimmen, welche Attribute überhaupt durchsucht werden, welche als Facette filterbar sind und in welcher Reihenfolge Treffer erscheinen. Genau deshalb ist eine gute Suche mit Algolia Konfigurationsarbeit und nicht nur ein Datenexport. ### Wann passt Algolia — und wann ein anderer Weg? Die Frage ist nicht, welche Suche die beste ist, sondern was durchsucht wird. Bei einem Textbestand, der sich mit dem Deploy ändert — Unternehmensseite, Magazin, Dokumentation — ist [Pagefind](https://www.siteway.de/stack/pagefind/) der passende Weg: Index beim Build, Suche im Browser, kein Suchdienst dahinter. Algolia ist der Weg, wenn große Datenmengen, Facetten über mehrere Achsen, Tippfehler-Toleranz und eine Reihenfolge nach Geschäftslogik gebraucht werden und der Bestand sich unabhängig vom Build ändert. [Meilisearch](https://www.siteway.de/stack/meilisearch/) beantwortet dieselbe Aufgabe als Suchdienst, den du selbst betreibst. Drei Zuordnungen für drei Situationen — welche greift, klären wir im Konzept. ### Wie kommen Inhalte in den Algolia-Index — und wieder heraus? In zwei Stufen. Zur Einrichtung läuft eine Voll-Indexierung: Der Bestand wird einmal komplett gelesen und als Records in den Index geschrieben, gebündelt statt einzeln, weil die Dokumentation genau dazu rät. Danach laufen nur noch Änderungen — angelegt, geändert, gelöscht. Jeder Record trägt dafür eine objectID; über sie erkennt der zweite Lauf denselben Inhalt wieder und aktualisiert ihn, statt eine Dublette anzulegen. Und der Rückweg ist der Teil, den man leicht vergisst: Ein Inhalt, der im CMS gelöscht oder auf Entwurf gesetzt wird, muss aktiv aus dem Index entfernt werden — sonst steht er dort weiter und taucht in der Suche auf, obwohl die Seite nicht mehr existiert. Wir legen deshalb vor der ersten Zeile Code fest, welcher Zustand indexiert wird und welcher nicht. ### Was sind Facetten, und warum entscheiden sie über die Qualität der Suche? Facetten sind die Attribute, über die sich eine Trefferliste eingrenzen lässt — Kategorie, Marke, Material, Preisspanne, Sprache. Damit ein Attribut als Facette funktioniert, muss es in den Index-Einstellungen unter attributesForFaceting stehen; die Schreibweise muss exakt zum Attribut im Record passen. Algolia liefert zu jedem Facettenwert die Trefferzahl mit, sodass ein Filter zeigen kann, wie viel dahinter liegt; bei sehr großen Indizes können diese Zahlen laut Dokumentation angenähert sein, was die Antwort über exhaustiveFacetsCount mitteilt. Facettenwerte lassen sich auch selbst durchsuchen, und mehrstufige Kategorien werden über Ebenen abgebildet. Der eigentliche Aufwand steckt nicht im Anzeigen, sondern in der Entscheidung, welche Attribute überhaupt Facetten werden. ### Wie steuert man bei Algolia, welcher Treffer oben steht? Über zwei Ebenen. Die erste ist das Ranking: Algolia vergleicht Treffer nach einer festen Reihe von Kriterien und geht erst zum nächsten über, wenn das vorherige unentschieden bleibt. In der dokumentierten Standardreihenfolge sind das Tippfehler, geografische Nähe, optionale Wörter, Anzahl passender Filter, Nähe der Suchwörter zueinander, das getroffene Attribut samt Wortposition, exakte Übereinstimmung — und ganz am Ende dein eigenes Kriterium. Das ist die zweite Ebene: das Custom Ranking. Hier legst du fest, wonach bei Gleichstand entschieden wird, etwa nach einem Beliebtheitswert oder einer Kennzeichnung als hervorgehoben. Genau dort wird aus einer technisch korrekten Suche eine, die zur Sache passt — und genau dort steckt die Arbeit. ### Welche Schlüssel gibt es, und welcher darf ins Frontend? Algolia trennt die Schlüssel nach dem, was sie dürfen. Der Admin-Schlüssel hat vollen Zugriff auf das Konto; die Dokumentation ist an dieser Stelle unmissverständlich und sagt, dass er in keiner Anwendung verwendet werden soll — er bleibt serverseitig. Ein Schlüssel zum Schreiben, der Records anlegt, ändert und löscht, gehört ebenfalls auf den Server. Ins Frontend darf ausschließlich der reine Such-Schlüssel, der nur suchen kann. Daneben gibt es eingeschränkte Schlüssel, die von einem bestehenden Schlüssel abgeleitet werden, ein Ablaufdatum tragen und den Zugriff weiter begrenzen können — sie dürfen Rechte nur wegnehmen, nie hinzufügen. Wir legen die Schlüssel in der Umgebungskonfiguration ab statt im Quelltext, so wie es die Dokumentation empfiehlt. ### Was ist beim Datenschutz zu klären? Sachlich betrachtet passieren zwei Dinge: Deine Inhalte liegen als Records bei einem externen Dienst, und jede Suchanfrage deiner Besucher geht dorthin. Daraus folgen die Punkte, die vor dem Start geklärt gehören — die Region, in der die Anwendung betrieben wird, die Auftragsverarbeitung mit dem Anbieter und die Frage, was überhaupt in den Index muss. Algolia dokumentiert selbst, dass Suchprotokolle standardmäßig 90 Tage aufbewahrt werden und unter anderem Anfrage, Filter und eine gekürzte IP-Adresse enthalten, und rät davon ab, personenbezogene Daten als Nutzerkennung zu verwenden oder sie in Metadaten und Indexnamen abzulegen. Unsere Konsequenz ist Datensparsamkeit: In den Index geht, was für die Suche gebraucht wird — und sonst nichts. Wie wir das im Projekt einordnen, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das nicht. ### Lässt sich Algolia in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Die Kette ist überall dieselbe: Der Inhalt wird serverseitig in Records übersetzt und in den Index geschrieben, ein Ereignis beim Speichern zieht Änderungen sofort nach, ein geplanter Lauf hält den Bestand als Grundsicherung nach, und das Frontend fragt mit dem reinen Such-Schlüssel. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit der Indexierung als Scheduler-Task, einem Hook beim Speichern und dem Sucheingabefeld in Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit Indexierung beim Speichern und als geplantem Lauf. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: ein Artisan-Command im Scheduler und ein Ereignis beim Speichern eines Entries. Der Admin-Schlüssel liegt dabei in jedem System in der Konfiguration und nie im Browser. womit das zusammenhängt ## Womit das zusammenhängt hub, technik & **leistung** - [Suche.](https://www.siteway.de/stack/suche/) — Die Kategorie über diesem Dienst: wie wir pro Projekt zwischen statischer Suche und Suchdienst auswählen — und was das im Betrieb bedeutet. zum hub → - [Pagefind.](https://www.siteway.de/stack/pagefind/) — Der Weg für Textbestände: Index beim Build, Suche im Browser, ohne Suchserver. Diese Website sucht damit. zur technik → - [Meilisearch.](https://www.siteway.de/stack/meilisearch/) — Dieselbe Aufgabe, andere Betriebsform: ein Suchdienst, den du selbst betreibst — Facetten und Toleranz auf eigener Infrastruktur. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wenn Inhalte und Suchanfragen zu einem externen Dienst gehen: Region, Auftragsverarbeitung, Datensparsamkeit, Schlüssel serverseitig. zur technik → - [Suche (Komponente).](https://www.siteway.de/expertise/suche/) — Die fertige Suchfunktion für deine Website: Index, Gewichtung, Oberfläche und die passende Technik nach Größe. Hier wird gebucht. zur leistung → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Wo Facetten herkommen: saubere Attribute im Katalog sind die Voraussetzung dafür, dass Filter in der Suche überhaupt funktionieren. zur leistung → Eine Suche, die auch bei Menge noch findet? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Anthropic Die **Claude-API** von Anthropic ist eine Schnittstelle zu Sprachmodellen — Anfrage rein, Text zurück. Auf dieser Seite geht es um genau eine Verwendung davon: **das Modell als Funktion auf deiner Website**, für Besucher oder für die Redaktion. siteway baut diese Anbindung selbst — mit dem Schlüssel auf dem Server und den eigenen Inhalten als Grundlage der Antwort. stack dienst: anthropic · claude-api format: rest · json · streaming regel: schlüssel bleibt am server seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wofür wir sie einsetzen](#einsatz) definition ## Was ist die Claude-API? schnittstelle · **kein fertiges produkt** Anthropic ist das Unternehmen hinter den Claude-Modellen, die **Claude-API** ist die Schnittstelle dazu. Technisch ist das unspektakulär: eine REST-Schnittstelle, an die deine Anwendung eine Anfrage als **JSON** schickt und von der sie die Antwort ebenfalls als JSON zurückbekommt. Eine Anfrage besteht im Kern aus einer Abfolge von Nachrichten mit Rollen, einer Systemanweisung, die Rolle und Grenzen setzt, und einer Obergrenze für die Länge der Antwort. Was das Modell damit kann, ist ebenfalls überschaubar beschreibbar: **Text zusammenfassen, einordnen, beantworten, umformulieren.** Das ist keine Zauberei und auch keine Datenbank — es ist eine Funktion, die Text hineinbekommt und Text herausgibt. Alles, was danach nach Intelligenz aussieht, entsteht daraus, **welchen Text man hineingibt** und was mit dem Ergebnis passiert. Eine Abgrenzung gleich vorweg, weil sie oft verwechselt wird: Wie wir **intern** mit KI-Werkzeugen arbeiten — beim Schreiben von Code, bei Tests, im Review — steht unter [KI-gestützte Entwicklung](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/). Diese Seite beschreibt etwas anderes: die API als **Funktion auf der Website unserer Kunden**, die Besucher oder Redaktion tatsächlich benutzen. $ cat anthropic.md - ✓Schnittstelle rest · json rein, json raus - ✓Anfrage nachrichten · systemanweisung - ✓Ausgabe blockweise · optional streaming - ✓Einheit token · länge und abrechnung - ✓Zugang schlüssel im header - ✓Wissen kommt aus deinem kontext praxis ## Wofür wir die Claude-API einsetzen für besucher · **für die redaktion** Nicht jede Website braucht ein Sprachmodell. Die Fälle, in denen es sich lohnt, haben eine Gemeinsamkeit: Es gibt **viel Text**, und jemand muss ihn durchsuchen, verkürzen, einsortieren oder in eine Antwort verwandeln — heute von Hand. Vier Zuschnitte begegnen uns dabei immer wieder. f-01für besucher ### Assistent auf eigenen Inhalten Ein Eingabefeld, in das jemand eine Frage in eigenen Worten tippt — und eine Antwort, die aus deinen Seiten, Datenblättern oder Hilfetexten stammt. Der spannende Teil ist nicht das Modell, sondern der Schritt davor: die richtigen Ausschnitte finden und mitgeben. Ohne den antwortet der Assistent flüssig und falsch. braucht: suchindex + kontext f-02für besucher ### Zusammenfassungen Ein langer Fachartikel, ein Protokoll, ein Datenblatt mit dreißig Zeilen Technik: Das Modell verdichtet auf drei Sätze, die vorne stehen. Der Text liegt vor, das Ergebnis lässt sich zwischenspeichern statt bei jedem Aufruf neu zu erzeugen — das spart Wartezeit und Kosten gleichermaßen. braucht: zwischenspeicher f-03für die redaktion ### Vorschläge im Backend Der unterschätzte Fall — weil er nach innen wirkt und nicht ins Frontend muss. Titelvorschläge, Kurzbeschreibung, Alternativtext für ein Bild, eine Meta-Description als Entwurf. Vorgeschlagen wird, entschieden wird von der Redaktion; nichts geht ungeprüft live. braucht: freigabe durch menschen f-04im hintergrund ### Klassifikation von Anfragen Eine Nachricht aus dem Kontaktformular bekommt eine Kategorie, eine Dringlichkeit und damit den richtigen Empfänger. Hier zählt nicht Sprachgefühl, sondern eine kurze, klar begrenzte Antwort aus einer festen Liste — und ein definierter Rückfallwert, wenn die Zuordnung unklar bleibt. braucht: feste kategorien ### Ein Modell weiß nichts über deine Website Das ist der Satz, an dem sich entscheidet, ob eine KI-Funktion auf einer Website taugt oder blamiert. **Ein Sprachmodell kennt deine Preise, Öffnungszeiten, Produktdaten und Ansprechpartner nicht.** Es kennt Sprache. Fragt jemand nach der Lieferzeit deines Sonderanfertigungs-Bauteils, erzeugt es einen Satz, der klingt wie eine Antwort — und geraten ist. Die Lösung ist nicht mehr Modell, sondern **mehr Kontext**: Zu jeder Frage werden erst die passenden Ausschnitte aus den eigenen Inhalten gesucht und der Anfrage beigelegt. Das Modell formuliert dann aus dem, was vor ihm liegt. Damit verschiebt sich die eigentliche Arbeit an eine Stelle, die viele nicht erwarten — sie liegt **vor** dem Modell, nicht darin. Dafür braucht es zwei Bausteine, die auf einer gut gebauten Website ohnehin vorhanden sein sollten. Erstens einen [Suchindex](https://www.siteway.de/stack/suche/), der zu einer Frage die passenden Abschnitte findet, statt die halbe Website mitzuschicken — das ist derselbe Index, der auch die normale Suche bedient. Zweitens [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) und saubere Felder im CMS: Wo Preis, Datum, Zuständigkeit und Status als eigene Felder gepflegt sind, lässt sich ein Ausschnitt sauber schneiden — und eine verbindliche Angabe direkt aus der Quelle beantworten, ohne das Modell dazwischen. Daraus folgt eine unbequeme, aber nützliche Reihenfolge: **Erst die Inhalte ordnen, dann das Modell anschließen.** Wer es umgekehrt versucht, baut einen sehr eloquenten Ratekandidaten. Die buchbaren Leistungen darüber sind [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/) und [KI & Automation](https://www.siteway.de/expertise/ki-automation/); die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst klären, **welche Aufgabe** das löst - 02Antworten aus **eigenen Inhalten** - 03Verbindliches aus der **Datenquelle** - 04Schlüssel **nur auf dem Server** - 05Grenzen für **Menge und Länge** - 06Ausfall des Dienstes **eingeplant** [suche im stack →](https://www.siteway.de/stack/suche/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Anthropic — Begriffe, Kopfzeilen und Abläufe im Original. Modellnamen mit Versionsständen und Preise lassen wir bewusst weg: Beides ändert sich schneller als eine Agenturseite, und was für dein Projekt gilt, steht in deinem Vertrag. d-01format ### Anfrage & Antwort Eine REST-Schnittstelle: Anfrage als JSON hin, Antwort als JSON zurück. Die Anfrage trägt eine Abfolge von Nachrichten mit Rollen, optional eine Systemanweisung und eine Obergrenze für die Antwortlänge. Die Antwort kommt in Blöcken und nennt den Grund, aus dem sie endete. Anthropic stellt für mehrere Sprachen eigene SDKs bereit. zweck: austauschformat d-02zugang ### Authentifizierung Jede Anfrage trägt den API-Schlüssel in einer Kopfzeile, dazu eine Angabe zur API-Version und den Inhaltstyp. Schlüssel werden in der Console erzeugt und bekommen dabei ein Ablaufdatum; über Workspaces lassen sie sich nach Anwendungsfall trennen und Ausgaben getrennt steuern. Für uns heißt das: ein eigener Schlüssel je Anwendung. zweck: wer darf fragen d-03ausgabe ### Streaming Wird Streaming in der Anfrage gesetzt, kommt die Antwort nicht am Stück, sondern als Folge von Ereignissen über Server-Sent Events: Start, viele kleine Textstücke, Ende. Für eine Website ist das kein Detail, sondern der Unterschied zwischen einer Sekunde Stille und Text, der sofort zu laufen beginnt. zweck: gefühlte geschwindigkeit d-04einheit ### Token Text wird vor der Verarbeitung in Token zerlegt — die Einheit, in der Länge gemessen und abgerechnet wird, für Eingabe wie Ausgabe. Die Antwort meldet den Verbrauch zurück, und es gibt einen eigenen Endpunkt, um Token vorab zu zählen. Wer Kosten steuern will, steuert hier: kürzerer Kontext, begrenzte Antwortlänge. zweck: länge und kosten d-05grenzen ### Limits & Fehlerfälle Dokumentiert sind Grenzen für Anfragen und Token pro Minute sowie Ausgabenlimits je Stufe, einsehbar im Konto. Wird eine Grenze erreicht oder ist der Dienst überlastet, antwortet die Schnittstelle mit einem Fehler statt mit Text. Jede Antwort trägt eine Anfrage-Kennung, die im Supportfall den Vorgang eindeutig macht. zweck: was bei last passiert d-06werkzeuge ### Werkzeuge Statt zu raten, kann das Modell einen Aufruf anfordern, den dein Server ausführt — eine Abfrage im Katalog, ein Blick in den Kalender. Das Ergebnis geht zurück, die Antwort wird darauf gebaut. Genau so kommen verbindliche Angaben aus der Datenquelle und nicht aus dem Sprachgefühl. zweck: fakten statt formulierung ### Verlässlichkeit — und wo eine Prüfung dazwischengehört **Modelle können falsch liegen.** Das ist keine Randnotiz, sondern eine Eigenschaft: Erzeugt wird plausibler Text, und plausibel ist nicht dasselbe wie richtig. Wer eine KI-Funktion auf eine Website stellt, muss deshalb vorher entscheiden, was passiert, wenn die Antwort daneben liegt — und nicht hoffen, dass es nicht vorkommt. Unsere Regel dafür ist einfach: **Was verbindlich ist, kommt aus der Datenquelle.** Preise, Termine, Verfügbarkeiten, Fristen, rechtliche Aussagen — diese Angaben holt der Server aus dem System, in dem sie gepflegt werden, und das Modell darf höchstens den Satz drumherum formulieren. Wo das nicht geht, gehört eine Prüfung dazwischen: durch einen Menschen, oder durch eine Regel, die eine Antwort ohne Beleg gar nicht erst ausspielt und stattdessen weiterleitet. Dazu kommt Ehrlichkeit an der Oberfläche: ein sichtbarer Hinweis, dass hier ein Assistent antwortet, Quellenangaben mit Link auf die Seite, aus der die Antwort stammt, und ein sichtbarer Weg zu einem Menschen. Das kostet zwei Zeilen Text und rettet die Glaubwürdigkeit der gesamten Funktion. prüfung gehört hin bei - ▸**Preisen** und Konditionen - ▸**Terminen** und Verfügbarkeit - ▸**Rechtlichen** Aussagen - ▸**Technischen** Kennwerten - ▸Allem mit **Quellenangabe** - ▸Immer: **Weg zum Menschen** integration ## Die Claude-API in deine Website integrieren drei systeme · **ein muster** Es gibt eine Stelle, an der solche Anbindungen scheitern, und sie steht deshalb ganz vorne: **Der API-Schlüssel gehört ausschließlich auf den Server.** Die Website spricht nie direkt mit dem Anbieter. Zwischen Browser und Schnittstelle liegt ein **eigener Endpunkt** auf deiner Domain, der die Anfrage entgegennimmt, prüft, begrenzt, die passenden Inhalte dazulegt, den Schlüssel setzt und erst dann weiterreicht. Ohne diese Schicht kann jeder Besucher den Schlüssel aus dem Quelltext oder dem Netzwerkverkehr auslesen und auf fremde Rechnung Anfragen stellen — und es fällt erst auf, wenn die Abrechnung kommt. Derselbe Endpunkt trägt den **Missbrauchsschutz**: eine Begrenzung der Anfragen je Besucher und Zeitfenster, eine Obergrenze für die Länge der Eingabe, ein Zeitlimit für die Antwort, damit eine hängende Verbindung nicht die Seite blockiert — und je nach Anwendungsfall eine Prüfung, ob die Anfrage überhaupt von deiner Website kommt. Dazu kommt die **Kostenkontrolle**, die technisch dieselben Hebel benutzt: begrenzte Antwortlänge, ein Kontext aus wenigen passenden Ausschnitten statt der halben Website, Zwischenspeicher für wiederkehrende Antworten und ein Alarm, wenn der Verbrauch aus dem Rahmen läuft. Was das jeweilige CMS unterscheidet, ist nur, wo Route, Konfiguration und Schlüssel hingehören. cms-01typo3 ### Claude-API in TYPO3 Wir bauen die Anbindung als eigene Extension. Der Endpunkt entsteht als Middleware oder als eigene Controller-Route, die die Anfrage des Besuchers annimmt, gegen die Begrenzungen prüft und die passenden Inhalte aus Seiten und Records dazulegt. Der Schlüssel liegt in der Extension-Konfiguration oder als Umgebungsvariable und wird nie in ein Template gereicht. Fluid rendert das Eingabefeld und die Ausgabe, sodass die Funktion im Design der Website steht. Mehrsprachigkeit läuft über die Sprachhandhabung des Systems, damit die Antwort in der Sprache der Seite bleibt. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Claude-API in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Der Endpunkt ist eine eigene REST-Route mit Rechteprüfung, Begrenzung je Besucher und Zeitlimit; Redaktionsfunktionen hängen an einer Route, die nur angemeldeten Rollen offensteht. Der Schlüssel steht als Konstante in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht im Frontend-Skript. Für die Oberfläche kommen ein Block für den Editor und Template-Dateien dazu, damit die Redaktion die Funktion selbst platzieren kann. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Claude-API in Statamic Unter Statamic liegt Laravel, und das macht diesen Fall geradlinig. Der Endpunkt ist eine Route plus Controller; die Begrenzung je Besucher, die Prüfung der Eingabe und das Zeitlimit sind dort Bordmittel und keine Eigenbauten. Die passenden Ausschnitte kommen aus den Collections, der Blueprint gibt vor, welche Felder überhaupt in den Kontext dürfen. Der Schlüssel liegt in der .env und bleibt dort. Antlers oder Blade rendern Eingabefeld und Ausgabe, längere Läufe wandern in eine Queue statt in die Wartezeit des Besuchers. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Was den eigenen Server verlässt datensparsamkeit · **keine rechtsberatung** Der Kern ist ein einziger Satz: **Was in die Anfrage geht, verlässt deinen Server.** Das gilt für den Text, den ein Besucher tippt, genauso wie für die Ausschnitte aus deinen Inhalten, die der Endpunkt dazulegt. Beides ist kein Ausschlussgrund — aber beides gehört vor dem Start auf den Tisch und nicht nachträglich in die Datenschutzerklärung. Daraus folgt **Datensparsamkeit** als Bauprinzip. In den Kontext geht, was für die Antwort gebraucht wird — nicht der ganze Datensatz, weil er ohnehin da war. Personenbezogene Daten gehören nur hinein, wenn es ohne sie nicht geht; wo eine Kennung nötig ist, nehmen wir eine technische statt einer Kundennummer. Und Inhalte hinter einer Anmeldung landen nur dann im Kontext, wenn der Endpunkt vorher geprüft hat, dass die anfragende Person sie auch sehen darf. Drei Punkte klären wir dafür im Projekt. Erstens die **Auftragsverarbeitung** mit dem Anbieter — wer im Auftrag verarbeitet, braucht einen Vertrag darüber, genau wie der Hoster. Zweitens das **Protokollieren**: Eingaben werden nur mit einem benannten Zweck gespeichert, mit Löschfrist, und sie sind nicht dafür da, später zum Nachlesen von Kundengesprächen zu dienen. Drittens die **Aufklärung an der Oberfläche**: eine Hinweiszeile am Eingabefeld, weil Menschen sonst Dinge hineinschreiben, die dort nichts verloren haben. Wie das mit dem Rest der Auslieferung zusammenpasst, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Wenn die Bestandsaufnahme für die gesamte Website ansteht, ist das [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/) der passende Rahmen. Eine Rechtsberatung ist beides ausdrücklich nicht — wir ordnen technisch ein, die rechtliche Bewertung gehört zu deiner Beratung. vor dem start klären - ▸**Auftragsverarbeitung** mit dem Anbieter - ▸Was **nicht** in den Kontext geht - ▸Protokollierung nur mit **Zweck** - ▸**Löschfristen** für Eingaben - ▸**Hinweiszeile** am Eingabefeld - ▸Schlüssel **regelmäßig erneuern** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) faq ## Häufige Fragen ### Was ist die Claude-API von Anthropic? Anthropic ist das Unternehmen hinter den Claude-Modellen, die Claude-API ist die Schnittstelle dazu. Technisch ist sie eine REST-Schnittstelle: Deine Anwendung schickt eine Anfrage als JSON an einen Endpunkt, die Antwort kommt ebenfalls als JSON zurück. Eine Anfrage besteht im Kern aus einer Abfolge von Nachrichten mit Rollen, einer Systemanweisung, die Rolle und Grenzen setzt, und einer Obergrenze für die Länge der Antwort. Anthropic stellt dafür eigene SDKs für mehrere Programmiersprachen bereit, die Kopfzeilen, Wiederholversuche und Streaming übernehmen. Für eine Website heißt das: Die API ist kein fertiges Produkt, sondern ein Baustein, um den herum die eigentliche Funktion erst gebaut wird. ### Wofür lässt sich die Claude-API auf einer Website nutzen? Für vier Dinge, die in der Praxis immer wiederkehren: einen Assistenten, der Fragen auf Basis der eigenen Inhalte beantwortet; Zusammenfassungen langer Texte, Dokumente oder Datenblätter; Vorschläge für die Redaktion im Backend, etwa Titel, Kurzbeschreibung oder Alternativtext; und die Klassifikation eingehender Anfragen, damit ein Formular im richtigen Postfach landet. Gemeinsam ist allen vieren, dass das Modell mit Text arbeitet, den es bekommt — nicht mit Wissen, das es angeblich schon hat. Die buchbaren Leistungen dahinter sind [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/) und [KI & Automation](https://www.siteway.de/expertise/ki-automation/); diese Seite beschreibt die Schnittstelle darunter. ### Woher weiß das Modell etwas über meine Website? Gar nicht — und das ist der wichtigste Punkt auf dieser Seite. Ein Sprachmodell kennt deine Preise, Öffnungszeiten, Produktdaten und Ansprechpartner nicht. Damit eine Antwort stimmt, müssen die passenden Ausschnitte aus deinen eigenen Inhalten mit der Anfrage mitgeschickt werden. Der Weg dahin führt über zwei Bausteine, die ohnehin gebraucht werden: einen [Suchindex](https://www.siteway.de/stack/suche/), der zu einer Frage die passenden Abschnitte findet, und saubere [Strukturen](https://www.siteway.de/stack/strukturierte-daten/) im CMS, aus denen sich diese Abschnitte überhaupt schneiden lassen. Das Modell formuliert dann aus dem, was es bekommen hat. Ohne diesen Unterbau bekommst du flüssige Sätze ohne Deckung — und genau daran scheitern die schnellen Versuche. ### Wo gehört der API-Schlüssel hin? Ausschließlich auf den Server. Die Website spricht nie direkt mit dem Anbieter, sondern mit einem eigenen Endpunkt auf deiner Domain; erst dieser Endpunkt setzt den Schlüssel in die Kopfzeile der Anfrage und reicht sie weiter. Läge der Schlüssel im Frontend, könnte ihn jeder Besucher aus dem Quelltext oder aus dem Netzwerkverkehr lesen und auf deine Rechnung Anfragen stellen. Anthropic dokumentiert dazu, dass Schlüssel in der Console erzeugt werden, dabei ein Ablaufdatum bekommen und sich über Workspaces nach Anwendungsfall trennen lassen. Im Projekt liegt der Schlüssel in der Umgebungskonfiguration und nie im Quelltext-Repository. ### Wie behält man die Kosten im Griff? Abgerechnet wird nach Token — der Einheit, in die Text vor der Verarbeitung zerlegt wird, für die Eingabe wie für die Ausgabe. Daraus folgen die Stellschrauben: eine Obergrenze für die Antwortlänge, ein Kontext, der nur die wirklich passenden Ausschnitte enthält statt der halben Website, und eine Begrenzung der Anfragen je Besucher und Zeitfenster. Anthropic stellt zum Schätzen einen eigenen Endpunkt zum Zählen von Token bereit und dokumentiert Ausgabenlimits sowie Grenzen für Anfragen und Token pro Minute, die sich im Konto einsehen lassen. Konkrete Preise nennen wir hier bewusst nicht — sie ändern sich, und was für dein Projekt gilt, steht in deinem Vertrag. ### Wie verlässlich sind die Antworten? Ehrliche Antwort: nicht verlässlich genug für Auskünfte, die verbindlich sein müssen. Ein Sprachmodell erzeugt plausiblen Text, und plausibel ist nicht dasselbe wie richtig. Für Preise, Termine, Verfügbarkeiten und rechtliche Aussagen bauen wir deshalb keinen Formulierungsautomaten, sondern holen die Angabe aus der Datenquelle und lassen das Modell höchstens den Satz drumherum bauen. Wo das nicht geht, gehört eine Prüfung dazwischen — durch einen Menschen oder durch eine Regel, die eine Antwort ohne Beleg gar nicht erst ausspielt. Dazu kommt ein sichtbarer Hinweis, dass hier ein Assistent antwortet, und ein Weg zu einem Menschen. ### Was ist beim Datenschutz zu klären? Der Kern ist schnell gesagt: Was in die Anfrage geht, verlässt deinen Server. Daraus folgt Datensparsamkeit — in den Kontext gehört, was für die Antwort gebraucht wird, und personenbezogene Daten gehören nur hinein, wenn es ohne sie nicht geht. Vor dem Start klären wir außerdem die Auftragsverarbeitung mit dem Anbieter, die Frage, welche Eingaben überhaupt protokolliert werden und zu welchem Zweck, und die Löschfristen dafür. Wenn Besucher frei tippen können, kommt eine Hinweiszeile ans Eingabefeld, weil Menschen dort sonst Dinge hineinschreiben, die niemand verarbeiten möchte. Wie wir das im Projekt einordnen, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das ausdrücklich nicht. ### Lässt sich die Claude-API in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Der Aufbau ist überall derselbe: Eine eigene Route auf deiner Domain nimmt die Anfrage des Besuchers entgegen, prüft und begrenzt sie, holt die passenden Inhalte dazu, setzt den Schlüssel und spricht mit dem Anbieter. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit einer Middleware oder einer Controller-Route, der Schlüssel liegt in der Extension-Konfiguration oder in einer Umgebungsvariablen, das Frontend rendert Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route und dem Schlüssel als Konstante in der wp-config.php oder als Umgebungsvariable. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: eine Route plus Controller, der Schlüssel in der .env, Antlers oder Blade fürs Frontend. womit das zusammenhängt ## Womit das zusammenhängt technik, alternativen & **leistung** - [OpenAI.](https://www.siteway.de/stack/openai/) — Dieselbe Aufgabe über einen anderen Anbieter. Der Aufbau der Anbindung bleibt gleich: eigener Endpunkt, Schlüssel am Server, eigene Inhalte als Kontext. zur technik → - [Open-Source-Modelle.](https://www.siteway.de/stack/open-source-modelle/) — Andere Betriebsform: Modelle auf eigener Infrastruktur, wenn Eingaben und Inhalte das Haus nicht verlassen sollen und der Betrieb mitgeplant wird. zur technik → - [Suche.](https://www.siteway.de/stack/suche/) — Der Unterbau jeder Antwort aus eigenen Inhalten: der Index, der zu einer Frage die passenden Abschnitte findet, bevor das Modell überhaupt formuliert. zur technik → - [KI-gestützte Entwicklung.](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) — Die andere Seite des Themas: wie wir intern mit KI-Werkzeugen arbeiten — beim Code, bei Tests, im Review. Nicht auf deiner Website, sondern in unserer. zur arbeitsweise → - [KI-Chatbots.](https://www.siteway.de/expertise/ki-chatbots/) — Die fertige Komponente für deine Website: Assistent auf Basis eigener Inhalte, Übergabe an einen Menschen, Oberfläche im Design der Seite. Hier wird gebucht. zur leistung → - [Schnittstellenentwicklung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Disziplin dahinter: eigener Endpunkt, Schlüsselverwaltung, Begrenzungen, Fehlerfälle und Protokollierung — bei jeder Anbindung dieselben Fragen. zur leistung → Eine KI-Funktion, die aus deinen Inhalten antwortet? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Apple Pay **Apple Pay** ist eine Bezahlmethode — kein eigener Zahlungsdienstleister. Was aus dem Wallet kommt, ist die Bestätigung per **Face ID** oder **Touch ID** und die dort hinterlegten Karten- und Adressdaten. Abgewickelt wird die Zahlung weiterhin über den Zahlungsdienstleister, bei siteway in der Regel über [Stripe](https://www.siteway.de/stack/stripe/). Diese Seite beschreibt, was der Button technisch voraussetzt und wie wir ihn in eine Bezahlstrecke einbauen, die auch ohne ihn vollständig funktioniert. stack typ: bezahlmethode · wallet abwicklung: zahlungsdienstleister pflicht: https · verifizierte domain seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Apple Pay einbinden](#einsatz) definition ## Was ist Apple Pay? **Apple Pay ist eine Bezahlmethode von Apple.** Die Karte liegt im Wallet auf dem Gerät, bestätigt wird die Zahlung dort — per Face ID oder Touch ID. Für Websites stellt Apple dafür zwei JavaScript-Schnittstellen bereit, die Apple Pay JS API und die Payment Request API. Beide führen zum selben Ergebnis: einem Bezahlblatt, das das Betriebssystem einblendet, und einer Bestätigung, die nicht im Browser stattfindet, sondern auf dem Gerät. Was dabei technisch übergeben wird, ist keine Kartennummer, sondern ein **verschlüsseltes Zahlungs-Token**. Die eigentliche Karte liegt laut Apple als gerätespezifische Device Account Number im Secure Element des Geräts; in der Datenschutzerklärung zu Apple Pay hält Apple ausdrücklich fest, dass die tatsächliche Kartennummer nicht an den Händler weitergegeben wird. Und hier liegt der Punkt, der in Gesprächen am häufigsten verrutscht: **Apple Pay ist kein eigener Zahlungsdienstleister.** Es ersetzt kein Bezahlsystem, es setzt eines voraus. Die Zahlung wird über den Anbieter abgewickelt, der ohnehin im Einsatz ist — bei uns in der Regel [Stripe](https://www.siteway.de/stack/stripe/), der Apple Pay in seiner Dokumentation als Zahlungsmethode vom Typ Wallet führt und dafür keine zusätzlichen Gebühren berechnet, sondern dieselbe Preisgestaltung wie bei anderen Kartentransaktionen ansetzt. Apple Pay steuert die Bestätigung und die hinterlegten Daten bei. Alles andere bleibt, wo es war. $ cat apple-pay.md - ✓Bezahlmethode wallet · kein psp - ✓Bestätigung face id · touch id - ✓Web-APIs apple pay js · payment request - ✓Kartendaten device account number - ✓Übergabe verschlüsseltes token - ✓Abwicklung über den dienstleister praxis ## Wie wir Apple Pay einbinden zusatz · **nicht bedingung** Die Reihenfolge steht fest: **erst der Zahlungsdienstleister, dann die Methode.** Apple Pay legt sich auf eine Bezahlstrecke, die bereits funktioniert. Wer den Wallet-Button an den Anfang stellt, baut die Kasse um einen Knopf herum — und steht ohne Strecke da, sobald der Knopf auf einem Gerät nicht erscheint. Wir bauen andersherum: Die Bezahlstrecke trägt allein, Apple Pay ist die Abkürzung darin. Dann kommt die **Verfügbarkeitsprüfung**. Apple beschreibt dafür einen klaren Ablauf: prüfen, ob die Schnittstelle im Browser überhaupt existiert, und danach, ob auf dem Gerät gezahlt werden kann und eine Karte im Wallet liegt. Die neuere Prüfung liefert dazu vier Zustände — Karte vorhanden, Zustand unbekannt, keine Karte hinterlegt, Gerät nicht unterstützt — und Apple leitet daraus ab, wie prominent der Button auftauchen darf. Genau das steuert bei uns die Anzeige: Kein Zustand, kein Button. Der **Button selbst** wird nicht nachgebaut. Apple stellt ihn als eigenes Element bereit, geladen über ein Skript von Apples Content Delivery Network; Stil, Typ und Sprache setzt man als Attribute, Größe und Eckenradius über CSS-Variablen wie --apple-pay-button-height. Für Höhe und Breite nennt die Dokumentation Mindestwerte, unter die der Button nicht rendert. Wir fügen ihn ins Layout ein, statt eine Nachbildung zu bauen, die bei der nächsten Änderung an Apples Vorgaben aus dem Rahmen fällt. Der **Zahlungsvorgang läuft serverseitig**. Die Merchant-Validierung, mit der sich der Händler gegenüber den Apple-Pay-Servern ausweist, gehört ausdrücklich nicht in den Browser — Apple schreibt das in der Dokumentation so hin, und die zurückgegebene Sitzung ist einmalig verwendbar und läuft nach fünf Minuten ab. Der Endpunkt dafür liegt also im Backend, mit den Zugangsdaten in der Server-Konfiguration. Wer [Stripe](https://www.siteway.de/stack/stripe/) einsetzt, bekommt diesen Teil vom Anbieter übernommen: Stripe erledigt die Händlervalidierung einschließlich Merchant-ID und Zertifikatsanforderung und weist in seiner Dokumentation ausdrücklich darauf hin, dafür nicht dem Verfahren aus der Apple-Dokumentation zu folgen. Und schließlich das, was in Angeboten gern fehlt: **der Abbruch**. Jemand schließt das Bezahlblatt, die Karte wird abgelehnt, die Netzverbindung bricht weg. Dann muss die Seite in den normalen Ablauf zurückführen, mit vollem Warenkorb und ohne doppelte Buchung. Dazu gehört die Regel, dass das Bezahlblatt nur aus einer echten Nutzergeste heraus geöffnet wird — Apple verlangt das, und Stripe beschreibt in seiner Dokumentation, was das für den Aufbau des Event-Handlers bedeutet. Wie wir solche Strecken insgesamt bauen, steht in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst die **Bezahlstrecke**, dann der Button - 02Anzeige nur nach **Verfügbarkeitsprüfung** - 03Apples **Button-Element** statt Nachbau - 04Validierung **serverseitig**, nie im Browser - 05Prüfdatei als Teil des **Deployments** - 06Abbruch führt **zurück in die Strecke** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus Apples Entwicklerdokumentation zu Apple Pay on the Web und aus der Dokumentation von Stripe — Begriffe, Pfade und Abläufe im Original. Geräte- und Browserversionen nennen wir bewusst nicht: Sie ändern sich, und die Verfügbarkeitsprüfung im Browser beantwortet die Frage ohnehin zuverlässiger als eine Tabelle. d-01zugang ### Merchant-ID & Zertifikate Apple verlangt eine Merchant-ID, ein Payment-Processing-Zertifikat zum Verschlüsseln der Zahlungsdaten und ein Merchant-Identity-Zertifikat für die Sitzungen mit den Apple-Pay-Servern — Letzteres ausdrücklich nur im Web. Die Merchant-ID läuft nicht ab, die Zertifikate und die Domain-Verifizierung schon. Bei Stripe übernimmt der Anbieter diesen Teil. zweck: identität d-02verfügbarkeit ### Verfügbarkeitsprüfung Zuerst wird geprüft, ob die Apple-Pay-Klasse im Browser existiert. Danach beantwortet die Prüfung, ob das Gerät zahlen kann und eine Karte im Wallet liegt. Die neuere Variante liefert vier Zustände: Karte vorhanden, Zustand unbekannt, keine Karte hinterlegt, Gerät nicht unterstützt — daraus folgt, ob und wie prominent der Button erscheint. zweck: anzeige steuern d-03button ### Der Apple-Pay-Button Apple liefert den Button als eigenes Element , geladen über ein Skript von Apples CDN. Stil, Typ und Sprache kommen als Attribute, Breite, Höhe, Eckenradius und Innenabstand über CSS-Variablen. Für Höhe und Breite gibt Apple Mindestwerte an — kleiner rendert der Button nicht, egal was im Stylesheet steht. zweck: einstieg d-04sitzung ### Merchant-Validierung Sobald das Bezahlblatt erscheint, fragt Apple nach der Identität des Händlers und übergibt eine Validierungs-URL. Die Anfrage dorthin gehört laut Apple auf den Server, nie in den Browser. Zurück kommt ein undurchsichtiges Sitzungsobjekt, das genau einmal verwendbar ist und fünf Minuten nach Erstellung abläuft. zweck: serverseitig d-05daten ### Das Zahlungs-Token Nach der Bestätigung liefert Apple Pay ein Token mit den Zahlungsdaten. Apple hält dazu fest: Die Daten im Token sind verschlüsselt, Rechnungs- und Versandkontaktdaten sind es nicht. Entschlüsselt wird mit dem privaten Schlüssel zum Payment-Processing-Zertifikat — in der Praxis beim Zahlungsdienstleister, nicht auf dem Webserver. zweck: übergabe d-06anfrage ### Die Zahlungsanfrage Die Anfrage beschreibt den Kauf: Händlerangaben, unterstützte Kartennetze, Einzelposten, Summe, Währung sowie Rechnungs- und Lieferkontakt. Daneben kennt Apple eigene Objekte für wiederkehrende Zahlungen, für automatisches Aufladen und für später fällige Zahlungen — je Anfrage darf allerdings nur eine dieser Varianten gesetzt sein. zweck: was gezahlt wird ### Was auf der Website daraus entsteht Sichtbar wird davon wenig — und das ist der Punkt. Auf einem unterstützten Gerät mit hinterlegter Karte steht der **Wallet-Button** dort, wo die Entscheidung fällt: im Warenkorb, auf der Bezahlseite, je nach Fall auch schon an der Produktseite. Ein Tippen öffnet das Bezahlblatt, Face ID oder Touch ID bestätigen, die Bestellung ist abgeschlossen. Adresse und Kartendaten kommen aus dem Wallet — auf dem Telefon fällt damit genau der Teil weg, an dem Bezahlvorgänge am häufigsten abbrechen. Auf jedem anderen Gerät passiert dagegen etwas ebenso Wichtiges: **nichts.** Kein leerer Platzhalter, kein toter Knopf, keine Fehlermeldung — die reguläre Bezahlstrecke steht einfach da, als hätte es den Button nie gegeben. Das ist [progressive Enhancement](https://www.siteway.de/stack/frontend/), wie wir es im Frontend durchgängig anwenden: Die Grundfunktion trägt allein, die Erweiterung kommt oben drauf, wenn die Umgebung sie hergibt. Beim **Datenschutz** lohnt der genaue Blick, weil hier mehrere Wege zusammenlaufen. Der Browser kontaktiert für die Verfügbarkeitsprüfung Apple-Server, dein Server spricht für die Merchant-Validierung mit den Apple-Pay-Servern, und das Zahlungs-Token geht an den Zahlungsdienstleister. Kontaktdaten aus dem Wallet gehen nur an die Website, soweit die Anfrage sie anfordert — also fordern wir nur an, was für Vertrag und Versand nötig ist. Zugangsdaten und Zertifikate liegen serverseitig, die Datenschutzerklärung benennt die beteiligten Dienste, und in welcher Form das dokumentiert gehört, klärst du mit deiner Rechtsberatung. Die technische Seite beschreiben wir im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Button **nur bei Verfügbarkeit** - ▸Bezahlblatt aus **Nutzergeste** - ▸Adresse & Karte **aus dem Wallet** - ▸Ohne Button: **volle Strecke** - ▸Abbruch mit **vollem Warenkorb** - ▸Felder **auf das Nötige** begrenzt integration ## Apple Pay in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil er nicht vom CMS abhängt, sondern von der Methode. Der **Bezahl-Button erscheint nur dann**, wenn Gerät und Browser Apple Pay unterstützen und eine Karte im Wallet hinterlegt ist — die Prüfung dafür läuft im Browser, bevor überhaupt etwas gerendert wird. Daraus folgt eine Anforderung an die Bezahlstrecke, die vor der ersten Zeile Code feststeht: Sie muss **beide Fälle sauber darstellen**. Mit Button ist er die naheliegende Wahl und steht sichtbar oben; ohne Button steht dort die reguläre Strecke, vollständig und ohne Lücke im Layout. Beide Zustände gehören ins Design, in die Tests und in die Abnahme — nicht nur der hübsche. Der eigentliche **Zahlungsvorgang läuft über den serverseitigen Endpunkt des Zahlungsdienstleisters**. Im Frontend liegt nur, was im Frontend liegen darf: das Button-Element, die Verfügbarkeitsprüfung und der Aufruf, der das Bezahlblatt aus einer Nutzergeste heraus öffnet. Alles Weitere — Validierung der Händleridentität, Übergabe des Zahlungs-Tokens, Bestätigung der Zahlung — passiert im Backend, mit Zugangsdaten aus der Server-Konfiguration statt aus dem Repository. Was sich je System unterscheidet, ist damit nur die Frage, wo diese drei Stellen liegen: Template, Endpunkt, Zugangsdaten. cms-01typo3 ### Apple Pay in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Der Button und die Verfügbarkeitsprüfung sitzen im Fluid-Template der Bezahlseite, eingebunden über das Asset-Handling der Extension, damit das Skript nur dort geladen wird, wo tatsächlich bezahlt wird. Der serverseitige Endpunkt ist eine eigene Route mit Middleware oder ein Controller im Extbase-Kontext — dort laufen Merchant-Validierung und die Bestätigung der Zahlung beim Dienstleister. Die Zugangsdaten liegen als Umgebungsvariablen in der Server-Konfiguration und werden über die Extension-Konfiguration gelesen, nicht im TypoScript und nicht im Repository. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Apple Pay in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Button und Verfügbarkeitsprüfung kommen über eine Template-Datei oder einen eigenen Block in die Bezahlseite, das Skript wird gezielt nur auf dieser Seite eingereiht. Der serverseitige Endpunkt ist eine eigene REST-Route des Plugins, die mit dem Zahlungsdienstleister spricht. Die Zugangsdaten stehen als Konstanten in der Server-Konfiguration statt in der Datenbank, damit sie beim Export der Inhalte nicht mitwandern. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Apple Pay in Statamic Statamic läuft auf Laravel, und das macht diesen Teil besonders geradlinig. Button und Verfügbarkeitsprüfung liegen im Antlers- oder Blade-Template der Bezahlseite. Der serverseitige Endpunkt ist eine Route plus Controller im Laravel-Unterbau, abgesichert über die üblichen Middleware-Schichten; von dort geht die Merchant-Validierung raus und die Zahlung wird beim Dienstleister bestätigt. Die Zugangsdaten liegen in der Umgebungsdatei außerhalb des Repositories und werden über die Konfiguration gelesen. Die Bezahlseite selbst bleibt vom Static Caching ausgenommen. [statamic im stack →](https://www.siteway.de/stack/statamic/) ### Die Domain-Verifizierung — der Praxisstolperstein Ein Punkt gehört hierher, weil er nicht ins CMS fällt, sondern ins Deployment: Für Apple Pay im Web muss die **Domain verifiziert** werden. Apple lädt dafür eine Prüfdatei unter einem festgelegten Pfad — https://[DOMAIN]/.well-known/apple-developer-merchantid-domain-association — und vergleicht ihren Inhalt. Registriert und verifiziert werden müssen laut Apple alle Top-Level-Domains und Subdomains, auf denen der Button erscheint; Stripe weist ausdrücklich darauf hin, dass auch www eine Subdomain ist und mitregistriert gehört. Hinter einem Proxy oder einer Weiterleitung funktioniert die Prüfung nicht. In der Praxis ist genau das die Stelle, an der Apple Pay still ausfällt. Die Datei wird vom nächsten Build überschrieben, landet nicht im Auslieferungsverzeichnis, wird durch eine Umleitungsregel abgefangen oder mit falschem Inhaltstyp ausgeliefert. Und weil die Verifizierung wie die Zertifikate abläuft, reicht es nicht, sie einmal abgehakt zu haben. Deshalb behandeln wir die Prüfdatei als **Bestandteil des Deployments**: fest im Auslieferungspfad, ausgenommen von Umleitungsregeln, nach jedem Deploy überprüft. Wie wir Deployments aufsetzen und was dabei automatisch mitläuft, steht im Stack unter [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/). je system drei stellen - ▸Template: **Button & Prüfung** - ▸Backend: **serverseitiger Endpunkt** - ▸Server: **Zugangsdaten** - ▸Deployment: **Prüfdatei** [shop & e-commerce als leistung →](https://www.siteway.de/expertise/shop-e-commerce/) voraussetzungen ## Was Apple Pay voraussetzt seite, domain & **gerät** Die Liste ist kurz und lässt sich vor dem Projektstart abhaken. Drei Punkte liegen auf deiner Seite und sind planbar, einer liegt beim Publikum und lässt sich nur beantworten, nicht beeinflussen. Alle vier stehen so in der Dokumentation von Apple; Versionsnummern zu Geräten und Browsern lässt siteway bewusst weg, weil sie altern — die Prüfung im Browser beantwortet die Frage ohnehin für den konkreten Besuch. v-01transport ### HTTPS und TLS Alle Seiten, auf denen Apple Pay vorkommt, müssen über HTTPS ausgeliefert werden — die Domain braucht ein gültiges SSL-Zertifikat. Apple nennt dazu konkret TLS in Version 1.2 oder neuer, eine feste Liste zulässiger Cipher Suites und Server Name Indication auf allen Verbindungen. Für eine sauber aufgesetzte Website ist das kein Sonderaufwand, sondern der Normalzustand — geprüft gehört es trotzdem, bevor jemand den Button vermisst. [deployment & betrieb →](https://www.siteway.de/stack/deployment-betrieb/) v-02domain ### Registrierte und verifizierte Domain Jede Top-Level-Domain und jede Subdomain, auf der der Apple-Pay-Button steht, muss bei Apple registriert und verifiziert sein — die Prüfdatei liegt dafür unter /.well-known/ auf der Domain. Apple hält fest, dass die Domains nicht hinter einem Proxy oder einer Weiterleitung liegen dürfen und für die Apple-Server erreichbar sein müssen. Auch Testumgebungen und die www-Variante gehören auf diese Liste. prüfen: nach jedem deploy v-03abwicklung ### Ein Zahlungsdienstleister Ohne Anbieter, der die Zahlung abwickelt, bleibt Apple Pay ein Knopf ohne Wirkung. Der Dienstleister entschlüsselt das Zahlungs-Token, bucht ab, erstattet zurück und bearbeitet strittige Fälle. Bei uns ist das in der Regel Stripe, das die Händlervalidierung gegenüber Apple übernimmt und für Apple Pay dieselbe Preisgestaltung wie für andere Kartentransaktionen ansetzt. [stripe im stack →](https://www.siteway.de/stack/stripe/) v-04publikum ### Gerät, Browser und Karte Auf Kundenseite braucht es ein Gerät und einen Browser, die die Methode unterstützen, und eine Karte im Wallet. Apple beschreibt Apple Pay auf iOS-Geräten mit Secure Element; am Mac wird die Zahlung über Touch ID oder ein gekoppeltes Apple-Gerät bestätigt. Ob all das im Einzelfall zutrifft, beantwortet die Verfügbarkeitsprüfung im Browser — deshalb steuert sie bei uns die Anzeige des Buttons. [progressive enhancement →](https://www.siteway.de/stack/frontend/) faq ## Häufige Fragen ### Was ist Apple Pay? Apple Pay ist eine Bezahlmethode von Apple. Die Karte liegt im Wallet auf dem Gerät, bestätigt wird die Zahlung dort per Face ID oder Touch ID. Für Websites stellt Apple laut seiner Entwicklerdokumentation zwei JavaScript-Schnittstellen bereit: die Apple Pay JS API und die Payment Request API. Beim Bezahlen bekommt der Händler ein verschlüsseltes Zahlungs-Token statt der Kartennummer; Apple beschreibt in seiner Datenschutzerklärung zu Apple Pay ausdrücklich, dass die tatsächliche Kartennummer nicht an den Händler weitergegeben wird. ### Ist Apple Pay ein eigener Zahlungsdienstleister? Nein. Apple Pay ist eine Bezahlmethode, die über den Zahlungsdienstleister läuft, den du ohnehin einsetzt — bei uns in der Regel [Stripe](https://www.siteway.de/stack/stripe/). Apple Pay steuert die Bestätigung im Wallet bei sowie die dort hinterlegten Karten- und Adressdaten. Der Geldfluss, die Abrechnung, Rückerstattungen und der Umgang mit strittigen Zahlungen bleiben beim Zahlungsdienstleister. Stripe führt Apple Pay in seiner Dokumentation entsprechend als Zahlungsmethode vom Typ Wallet und weist aus, dass für die Verarbeitung keine zusätzlichen Gebühren anfallen, sondern dieselbe Preisgestaltung wie bei anderen Kartentransaktionen gilt. ### Was braucht es, damit Apple Pay auf einer Website funktioniert? Vier Dinge, und drei davon liegen auf deiner Seite. Erstens: Alle Seiten, auf denen Apple Pay vorkommt, müssen über HTTPS ausgeliefert werden, mit gültigem SSL-Zertifikat und einem Server, der laut Apple TLS in Version 1.2 oder neuer sowie die dort gelisteten Cipher Suites unterstützt; Server Name Indication verlangt Apple auf allen Verbindungen. Zweitens: Jede Domain und Subdomain, auf der der Apple-Pay-Button erscheint, muss bei Apple registriert und verifiziert sein — hinter einem Proxy oder einer Weiterleitung geht das laut Apple nicht. Drittens: ein Zahlungsdienstleister, der die Methode abwickelt. Und viertens auf Kundenseite: ein Gerät und ein Browser, die die Methode unterstützen, und eine Karte im Wallet. ### Warum ist der Apple-Pay-Button nicht immer sichtbar? Weil er nur erscheinen soll, wenn er auch funktioniert. Apple beschreibt dafür eine Prüfung im Browser: Erst wird geprüft, ob die Schnittstelle überhaupt existiert, dann, ob auf dem Gerät gezahlt werden kann und ob eine Karte im Wallet liegt. Die neuere Prüfung liefert dafür vier Zustände — Karte verfügbar, Zustand unbekannt, keine Karte hinterlegt, Gerät nicht unterstützt — und Apple leitet daraus ab, ob der Button prominent, normal oder gar nicht gezeigt wird. Für die Bezahlstrecke heißt das: Sie muss beide Fälle sauber darstellen, mit Button und ohne. Auf einem Windows-Rechner oder einem Android-Telefon sieht dieselbe Seite deshalb schlicht anders aus. ### Was hat es mit der Domain-Verifizierung auf sich? Apple muss bestätigt bekommen, dass die Domain wirklich zu dir gehört. Dafür wird eine Prüfdatei unter einem festgelegten Pfad ausgeliefert: https://[DOMAIN]/.well-known/apple-developer-merchantid-domain-association. Apple lädt die Datei von dort und vergleicht den Inhalt. Registriert und verifiziert werden müssen alle Top-Level-Domains und Subdomains, auf denen der Button steht, also auch www. Genau hier klemmt es in der Praxis am häufigsten: Die Datei fehlt nach einem Deployment, liegt hinter einer Weiterleitung, wird vom Server mit falschem Typ ausgeliefert oder verschwindet beim nächsten Build. Deshalb behandeln wir sie als Teil des Deployments und nicht als einmalige Handarbeit. Apple weist außerdem darauf hin, dass die Domain-Verifizierung wie die Zertifikate abläuft und erneuert werden muss. ### Verkürzt Apple Pay die Bezahlstrecke wirklich? Der Punkt ist nicht Magie, sondern Tipparbeit. Karten- und Adressdaten liegen bereits im Wallet und werden auf Wunsch als Rechnungs- und Lieferkontakt an die Bezahlseite übergeben; bestätigt wird per Face ID oder Touch ID statt über ein Formular. Auf einem Telefon entfällt damit genau der Teil, an dem Bezahlvorgänge am häufigsten abbrechen: das Abtippen einer sechzehnstelligen Kartennummer mit Prüfziffer und Rechnungsadresse. Ob das bei deinem Publikum ins Gewicht fällt, zeigt der Anteil mobiler Zugriffe und nicht eine Zahl aus einer fremden Fallstudie. ### Welche Daten fließen bei einer Apple-Pay-Zahlung? Nach der Bestätigung liefert Apple Pay ein Zahlungs-Token. Apple beschreibt dazu klar: Die Daten im Token sind verschlüsselt, Rechnungs- und Versandkontaktdaten sind es nicht. Entschlüsseln kann das Token nur, wer den privaten Schlüssel zum Payment-Processing-Zertifikat hat — in der Praxis also der Zahlungsdienstleister. Dazu kommt die Merchant-Validierung, bei der dein Server mit den Apple-Pay-Servern spricht, und die Verfügbarkeitsprüfung im Browser, die Apple-Server kontaktiert. Für die Website bleibt daraus dieselbe Regel wie bei jeder anderen Bezahlmethode: nur die Felder anfordern, die für Vertrag und Versand nötig sind, Schlüssel und Zertifikate serverseitig halten und im Verzeichnis der Verarbeitungstätigkeiten sauber führen, wohin welche Daten gehen. Die rechtliche Bewertung gehört zu deiner Rechtsberatung, die technische Umsetzung zu uns. ### Lässt sich Apple Pay in TYPO3, WordPress oder Statamic einbinden? Ja, und in allen drei Systemen nach demselben Muster. Im Template sitzen der Button und die Verfügbarkeitsprüfung, serverseitig sitzt der Endpunkt, der mit dem Zahlungsdienstleister spricht, und die Zugangsdaten liegen außerhalb des Repositories in der Server-Konfiguration. In TYPO3 bauen wir dafür eine eigene Extension mit Fluid-Template für die Bezahlseite und einer eigenen Route für den serverseitigen Endpunkt. In WordPress entsteht ein eigenes Plugin mit eigener REST-Route, damit die Anbindung einen Theme-Wechsel überlebt. In Statamic liegt Laravel darunter: Route plus Controller für den Endpunkt, Antlers oder Blade für die Bezahlseite. Dazu kommt in jedem Fall die Domain-Verifizierung, die als Teil des Deployments mitläuft. womit das zusammenhängt ## Womit das zusammenhängt abwicklung, strecke & **leistung** - [Stripe.](https://www.siteway.de/stack/stripe/) — Der Zahlungsdienstleister, über den Apple Pay bei uns in der Regel läuft: Abwicklung, Rückerstattungen und die Händlervalidierung gegenüber Apple. zur technik → - [Google Pay.](https://www.siteway.de/stack/google-pay/) — Das Gegenstück auf der anderen Plattform — dieselbe Grundfrage: Wallet-Bestätigung als Abkürzung in einer Strecke, die auch ohne sie trägt. zur technik → - [Frontend.](https://www.siteway.de/stack/frontend/) — Progressive Enhancement als Bauweise: Die Grundfunktion trägt allein, die Erweiterung kommt dazu, wenn die Umgebung sie hergibt. zur technik → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wo die Prüfdatei für die Domain-Verifizierung hingehört und warum sie nach jedem Deploy noch da sein muss. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Schlüssel und Zertifikate serverseitig, TLS als Pflicht, Datensparsamkeit im Formular — und eine Erklärung, die benennt, was tatsächlich fließt. zur technik → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Die Komponente, in der die Bezahlstrecke entsteht — vom Produktkatalog bis zur Kasse. Hier wird gebucht. zur leistung → Apple Pay in deiner Bezahlstrecke? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · media # AVIF **AVIF** nimmt die Kompression des AV1-Videocodecs und wendet sie auf Einzelbilder an — bei vergleichbarer Qualität über 50 % kleiner als JPEG. Bei siteway ist AVIF deshalb die erste Quelle in jedem **picture**-Element: erzeugt beim Build über [sharp](#einsatz), in mehreren Breiten, mit WebP und JPG dahinter. stack stack: avif · av1 einsatz: erste quelle im picture seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir AVIF einsetzen](#einsatz) definition ## Was ist AVIF? **AVIF (AV1 Image File Format) ist ein offenes Bildformat, das die Kompression des AV1-Videocodecs auf Einzelbilder anwendet und sie in einem HEIF-Container ablegt.** Veröffentlicht hat es die **Alliance for Open Media** im Jahr 2019 — dieselbe Allianz, die auch hinter AV1 steht. Sie beziffert die Ersparnis mit über 50 % gegenüber JPEG und über 30 % gegenüber WebP, jeweils bei vergleichbarer sichtbarer Qualität. Der Grund ist einfach: Ein Videocodec muss pro Einzelbild extrem effizient arbeiten, sonst wird ein Film unbezahlbar groß. AVIF erbt genau diese Arbeit. Dazu kommen Eigenschaften, die JPEG nie hatte — ein **Alpha-Kanal** für Transparenz, **HDR** mit 10- und 12-Bit-Farbtiefe, ein weiter Farbraum, Animation in einer einzigen Datei und wahlweise verlustbehaftete oder verlustfreie Kompression. Lizenzgebühren fallen keine an. $ cat avif.md - ✓Basis av1-codec · heif-container - ✓> 50 % kleiner als JPEG aomedia - ✓Transparenz alpha-kanal - ✓HDR & Farbraum 10 / 12 bit - ✓Animation mehrere bilder - ✓offener Standard lizenzfrei praxis ## Wie wir AVIF einsetzen im build erzeugt · **nicht von hand** Ein Bildformat nützt nur, wenn es zuverlässig entsteht. Deshalb wandeln wir nichts in Photoshop um: Jedes Original läuft beim Build durch **sharp**, eine schnelle Bildbibliothek für Node.js. Daraus fallen AVIF, WebP und ein JPG- oder PNG-Fallback heraus — in den Breiten **480, 800 und 1.200 Pixel**. Ändert sich das Original, wird der ganze Satz neu erzeugt, reproduzierbar und ohne Handarbeit. In TYPO3 oder WordPress übernimmt die Bildverarbeitung des CMS dieselbe Aufgabe im Backend. Im HTML steht AVIF an erster Stelle: eine **source** mit `type="image/avif"`, darunter WebP, darunter das **img** mit JPG oder PNG. Der Browser prüft von oben nach unten und lädt genau eine Datei — das modernste Format, das er kann. Jede Quelle trägt ihr eigenes **srcset** mit den Breitenstufen und ein **sizes**, das zur echten Layoutbreite passt. Hat das Original einen Alpha-Kanal, wird der Fallback ein PNG statt eines JPG, weil JPEG keine Transparenz kann. Bei der Qualitätsstufe fahren wir AVIF bewusst niedriger als das JPG: **60 bis 62** gegenüber 80 bis 82 beim JPEG mit mozjpeg. Die AV1-Kompression bleibt dort noch sauber, wo ein JPG längst Artefakte zeigt. Die Maße jedes Originals schreibt die Pipeline in ein Manifest — daraus kommen die festen **width/height**-Attribute, die den Layout-Sprung verhindern. Der ganze Satz liegt versioniert im Repository und geht über [Git und GitHub Actions](https://www.siteway.de/stack/deployment-betrieb/) live. Jedes Ergebnis sieht sich vorher ein Mensch an. unsere leitplanken - 01AVIF als **erste source** im picture - 02erzeugt mit **sharp** im Build - 03Breiten **480 / 800 / 1.200 px** - 04Qualität **60–62** statt Maximum - 05Alpha-Quelle → **PNG** statt JPG - 06feste **width/height** aus dem Manifest datenpunkt · gemessen ## Was das in Bytes bedeutet bilder dieser **website** Statt Prospektzahlen die eigenen Dateien: 15 Case-Motive dieser Website, jedes 1.200 px breit, alle aus demselben Original durch dieselbe Pipeline. Der AVIF-Satz wiegt **654 KB**, der WebP-Satz 728 KB, der JPG-Satz 1.195 KB. Macht **45 % weniger** als das JPG-Set — und liegt damit in der Größenordnung, die die Alliance for Open Media angibt. Der Abstand zu WebP fällt bei uns kleiner aus als die dort genannten über 30 %. Das ist kein Widerspruch, sondern eine Einstellung: Wir fahren WebP mit Qualität 76 und AVIF mit 62 — wer beide gleich streng einstellt, sieht mehr Abstand. Weniger Bytes heißt am Ende ein früheres [Largest Contentful Paint](https://www.siteway.de/stack/performance/) und weniger mobiles Datenvolumen. Auf unserer Startseite steht dahinter PSI 100/100/100/100 mobil. *// 15 case-bilder à 1.200 px · summe je format* bausteine · 6 details ## AVIF im Detail was das format **kann** AVIF ist mehr als „JPEG, aber kleiner". Das sind die Eigenschaften, die in unseren Projekten den Unterschied machen — samt der letzten Karte, die die Grenzen benennt. d-01kompression ### AV1-Kompression AVIF nutzt die Intra-Frame-Kodierung von AV1 — die Technik, mit der ein moderner Videocodec ein Einzelbild packt. Genau daher kommen die über 50 % gegenüber JPEG, ohne dass das Bild sichtbar leidet. zweck: weniger bytes d-02transparenz ### Alpha-Kanal Freisteller und Logos mit weichen Kanten brauchen kein schweres PNG mehr — AVIF trägt Transparenz mit. Der Fallback bleibt trotzdem ein PNG, weil ein JPG den Freisteller auf falschen Grund setzen würde. zweck: png ablösen d-03farbe ### HDR & Farbtiefe 10 und 12 Bit pro Kanal statt 8, dazu ein weiter Farbraum und ICC-Profile. Verläufe bleiben glatt statt zu bänderen — sichtbar vor allem bei Himmel, Schatten und flächigen Markenfarben. zweck: saubere verläufe d-04auslieferung ### picture-Element AVIF steht als erste source mit type="image/avif", WebP als zweite, JPG oder PNG im img. Der Browser nimmt das erste Format, das er versteht, und lädt genau eine Datei — kein JavaScript nötig. zweck: fallback-kette d-05responsive ### srcset in Breiten Jede AVIF-Quelle liegt in 480, 800 und 1.200 px vor. Über srcset und ein sizes, das zur echten Layoutbreite passt, rechnet der Browser selbst aus, welche Datei zu Bildschirm und Pixeldichte gehört. zweck: passende auflösung d-06grenzen ### Die Grenzen AVIF rendert nicht progressiv: Die Datei muss ganz da sein, bevor etwas erscheint. Dekodieren kostet mehr Rechenzeit als JPEG, Kodieren mehr Build-Zeit. Gegenmittel: passende Breiten statt Riesendateien. zweck: ehrlich einordnen support ## Browser-Support heute breit — aber **nicht lückenlos** AVIF ist keine Wette mehr. Chrome liefert es seit Version 85 (2020), Firefox seit 93 (2021), Safari seit 16.1 (2022) und Edge seit 121 (Januar 2024). Mobil ist es ab Android 12 und iOS 16 dabei. Nach den Zahlen von caniuse.com liegt die weltweite Abdeckung damit bei rund **94 bis 95 %**. Die restlichen Prozent sind der Grund, warum bei siteway nie ein AVIF allein steht. Ein Browser ohne AVIF-Unterstützung zeigt kein schlechteres Bild — er zeigt gar keins. Über die Kette AVIF → WebP → JPG kostet der Schutz nichts: Der Browser lädt weiterhin nur eine einzige Datei, und die Redaktion merkt vom Ganzen nichts, weil die Pipeline alle Varianten selbst erzeugt. $ caniuse avif - ✓Chrome 85+ · 2020 - ✓Firefox 93+ · 2021 - ✓Safari 16.1+ · 2022 - ✓Edge 121+ · 2024 - ✓Mobil android 12 · ios 16 - ▸Abdeckung ~94–95 % weltweit entscheidung ## Wann AVIF passt — und wann nicht format nach **motiv** AVIF ist die beste Kompression, aber nicht für jedes Motiv und jede Umgebung die richtige Antwort. Die Frage lautet nicht „welches Format ist das beste", sondern „welches Format passt zu diesem Bild und zu dieser Auslieferung". So entscheiden wir. e-01passt ### Fotos & große Flächen Hero-Bilder, Referenzmotive, Produktfotos, Galerien: Je größer das Bild und je weicher die Verläufe, desto deutlicher der Vorsprung. Hier holt AVIF die 45 bis 50 % gegenüber JPEG zuverlässig. avif zuerst e-02besser anders ### Logos, Icons, Diagramme Alles, was aus Linien und Flächen besteht, gehört als SVG ins HTML: beliebig scharf, wenige Kilobyte, per CSS einfärbbar. Ein AVIF davon wäre kleiner als ein PNG — aber immer noch ein Pixelbild. svg statt raster e-03nur ein format ### Wenn nur ein Format geht Uploads in ein System ohne picture-Element, ein Newsletter, ein Export für Dritte: Wo keine Fallback-Kette möglich ist, ist [WebP](https://www.siteway.de/stack/webp/) die sichere Wahl — kleiner als JPEG und überall verstanden. webp als allrounder faustregel foto mit picture: avif zuerst nur ein format: webp [alle formate im überblick →](https://www.siteway.de/stack/bild-videoformate/) faq ## Häufige Fragen ### Was ist AVIF? AVIF (AV1 Image File Format) ist ein offenes Bildformat, das die Kompression des AV1-Videocodecs auf Einzelbilder anwendet und sie in einem HEIF-Container ablegt. Die Alliance for Open Media hat es 2019 veröffentlicht und gibt über 50 Prozent kleinere Dateien gegenüber JPEG an, bei vergleichbarer sichtbarer Qualität. Dazu kommen Transparenz über einen Alpha-Kanal, HDR mit 10- und 12-Bit-Farbtiefe und Animation in einer einzigen Datei. siteway liefert AVIF als erste Quelle in jedem picture-Element aus. ### Welche Browser unterstützen AVIF? Alle großen: Chrome seit Version 85 (2020), Firefox seit 93 (2021), Safari seit 16.1 (2022) und Edge seit 121 (Januar 2024). Auf mobilen Geräten ist AVIF ab Android 12 und iOS 16 dabei; die Alliance for Open Media nennt AVIF entsprechend als von allen großen Browsern unterstützt. Nach den Zahlen von caniuse.com liegt die weltweite Abdeckung bei rund 94 bis 95 Prozent. Die verbleibende Lücke ist klein, aber real — deshalb liefert siteway immer WebP und ein JPG oder PNG als Fallback mit. Ohne Fallback sieht ein Browser ohne AVIF-Unterstützung kein Bild, sondern gar nichts. ### AVIF oder WebP — was nehme ich wofür? Wenn du über ein picture-Element ausliefern kannst, nimm beides: AVIF als erste Quelle für die stärkste Kompression, [WebP](https://www.siteway.de/stack/webp/) als zweite Quelle für alles, was AVIF nicht darstellt. Der Browser prüft von oben nach unten und lädt genau eine Datei — Mehraufwand entsteht nur im Build, nicht beim Besucher. Nur wenn wirklich ein einziges Format möglich ist, etwa bei Uploads in ein System ohne picture-Unterstützung oder in einer E-Mail, ist WebP die sicherere Wahl, weil es praktisch überall läuft. siteway entscheidet das pro Einbau statt pauschal. ### Kann AVIF Transparenz, Animation und HDR? Ja, alle drei. AVIF hat einen Alpha-Kanal wie PNG, kann mehrere Bilder in einer Datei speichern und damit Animation wie ein GIF, und es unterstützt High Dynamic Range mit 10 und 12 Bit Farbtiefe sowie einen weiten Farbraum. Praktisch heißt das: Ein freigestelltes Produktbild oder ein Logo mit weichen Kanten braucht kein schweres PNG mehr. siteway erzeugt für solche Motive trotzdem ein PNG als Fallback statt eines JPG, weil JPEG keine Transparenz kann und der Freisteller sonst auf falschem Grund landet. ### Hat AVIF Nachteile? Drei, die man kennen sollte. AVIF rendert nicht progressiv: Die Datei muss vollständig geladen sein, bevor das Bild erscheint — ein halb geladenes AVIF zeigt nichts. Das Dekodieren kostet mehr Rechenzeit als bei JPEG, was auf sehr schwachen Geräten spürbar werden kann. Und das Kodieren dauert länger, was allerdings nur die Build-Zeit betrifft und nicht den Besucher. Gegen alle drei hilft dieselbe Disziplin: passende Bildbreiten statt Riesendateien, feste width- und height-Attribute und ein sauberer Fallback. ### Mit welchen Einstellungen erzeugt siteway AVIF-Dateien? Über sharp, eine schnelle Bildbibliothek für Node.js, direkt im Build. Aus jedem Original entstehen AVIF, WebP und ein JPG- oder PNG-Fallback in den Breiten 480, 800 und 1.200 Pixel. AVIF läuft dabei auf Qualitätsstufe 60 bis 62 — deutlich niedriger als die Stufe, die ein JPG für dieselbe Optik braucht, weil die AV1-Kompression auch bei niedrigen Stufen sauber bleibt. Zusätzlich schreibt die Pipeline die Originalmaße in ein Manifest, aus dem die width- und height-Attribute im HTML kommen. Jedes Ergebnis sieht sich vor dem Deployment ein Mensch an. ### Kostet die Nutzung von AVIF Lizenzgebühren? Nein. AVIF ist ein offener Standard der Alliance for Open Media, die Spezifikation ist frei verfügbar und die Referenz-Implementierung libavif quelloffen. Genau das unterscheidet AVIF von HEIC, dem technisch verwandten Format aus der Apple-Welt, das auf dem patentbelasteten HEVC-Codec aufsetzt und sich deshalb nie als Webformat durchgesetzt hat. Für eine Website heißt das: kein rechtliches Kleingedrucktes, sondern eine Encoder-Einstellung im Build. womit das zusammenhängt ## Womit das zusammenhängt stack & **leistung** - [Bild- & Videoformate.](https://www.siteway.de/stack/bild-videoformate/) — Die Kategorie über diesem Format: AVIF, WebP und WebM im Zusammenspiel, srcset, Lazy Loading und width/height gegen Layout-Sprünge. zum stack → - [WebP.](https://www.siteway.de/stack/webp/) — Der breit unterstützte Allrounder und die zweite Quelle in unserer Kette — die richtige Wahl überall dort, wo nur ein einziges Format möglich ist. weiterlesen → - [Portfolio- & Media-Galerie.](https://www.siteway.de/expertise/portfolio-media-galerie/) — Diese Technik als fertiger Baustein: eine Galerie, die viele Motive schnell und responsive ausliefert. Der Ort, an dem du das buchst. zur leistung → Bilder, die nicht bremsen? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · a11y # Barrierefreiheit Barrierefreiheit ist bei siteway kein Modul, das man dazukauft, sondern die Art, wie wir bauen. Jede Seite entsteht standardmäßig nach **WCAG 2.2** auf Stufe AA und dem **BFSG**: semantisches HTML, sichtbarer Fokus, volle Tastatur-Bedienung, Kontraste ≥ 4,5:1 und Skalierung bis 200 %. Diese Seite zeigt das Handwerk dahinter — die Leistung buchst du bei [Barrierefreiheit](https://www.siteway.de/expertise/barrierefreiheit/). stack standard: wcag 2.2 aa · bfsg einsatz: jede seite · by default seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir das bauen](#einsatz) definition ## Was ist WCAG 2.2? **WCAG 2.2 sind die Web Content Accessibility Guidelines des W3C — der internationale Standard, der in prüfbaren Erfolgskriterien festlegt, wann eine Website barrierefrei ist.** Seit Oktober 2023 ist die Fassung 2.2 die aktuelle Empfehlung. Ihre Kriterien ordnen sich vier Prinzipien zu: Inhalte müssen wahrnehmbar, bedienbar, verständlich und robust sein. Für den deutschen Markt ist die Konformitätsstufe **AA** der Maßstab. Genau darauf verweist das **BFSG** über die EU-Norm EN 301 549 — wer seit Juni 2025 gesetzlich barrierefrei sein muss, baut nach WCAG-AA. Wir behandeln diese Kriterien nicht als Checkliste zum Schluss, sondern als Baumaterial: Sie stecken im Markup, in den Farb-Token und in jeder Komponente. $ cat a11y.md - ✓Semantisches HTML zuerst - ✓Sichtbarer Fokus :focus-visible - ✓Voll per Tastatur bedienbar - ✓Kontrast ≥ 4,5:1 - ✓Skalierung bis 200 % rem/em - ✓ARIA nur wo nötig praxis ## Wie wir Barrierefreiheit einsetzen standard, kein **nachrüsten** Die meisten Ratgeber zu WCAG 2.2 erklären, *was* ein Kriterium verlangt. Die spannendere Frage ist, *wie* man es baut, ohne dass die Seite langsamer, komplizierter oder hässlicher wird. Unser Ansatz: Barrierefreiheit entsteht aus der Struktur, nicht aus einem Prüf-Werkzeug am Ende. Wenn das Fundament stimmt, sind die meisten AA-Kriterien schon erfüllt, bevor jemand testet. Deshalb beginnt jede Seite mit **semantischem HTML**: Landmarks wie `header`, `nav`, `main` und `footer`, eine saubere Überschriften-Hierarchie und echte `button`- und `a`-Elemente statt geklickter `div`-Attrappen. Diese Elemente bringen Rolle, Zustand und Tastatur-Bedienung von Haus aus mit — das Fundament, auf dem unser [Frontend](https://www.siteway.de/stack/frontend/) aus HTML5, Tailwind und Vanilla JavaScript aufsetzt. p-01struktur ### Semantik zuerst Landmarks, Listen, Tabellen und Formular-Labels bilden die Bedeutung im Markup ab. Ein Screenreader liest die Seite so, wie sie gemeint ist — ohne dass wir Bedeutung nachträglich behaupten müssen. landmarks + headings p-02fokus ### Fokus nie wegschalten Kein `outline:none` ohne Ersatz. Wir setzen sichtbare Fokus-Ringe über `:focus-visible` mit ≥ 3:1 Kontrast — so sieht jeder Tastatur-Nutzer jederzeit, wo er steht. :focus-visible ring p-03tastatur ### Alles per Tastatur Skip-Link, logische Tab-Reihenfolge, bedienbare Menüs und Dialoge mit Fokus-Fang. Wir testen jede Seite einmal komplett ohne Maus — was mit der Tastatur läuft, läuft auch mit Hilfsmitteln. skip-link + tab-order p-04kontrast ### Kontrast als Token Text-, Rahmen- und Signalfarben sind Design-Token mit geprüftem Kontrast — in hellem und dunklem Theme. Neue Komponenten erben die Werte, statt sie neu zu erfinden. Kein Ratespiel im Nachhinein. farb-token je theme p-05skalierung ### rem statt Pixel Schriftgrößen und Abstände in relativen Einheiten, flexible Layouts, Media-Queries auf den vergrößerten Zustand. Bei 200 % Zoom bricht nichts ab und nichts überlappt — der Inhalt fließt nur um. 200 % ohne verlust p-06aria ### ARIA mit Augenmaß Erst HTML, dann ARIA. Wir greifen zu `role`, `aria-label` oder `aria-live` nur bei eigenen Widgets. Falsches ARIA schadet mehr, als es hilft — die erste Regel von ARIA ist, keins zu benutzen, wenn HTML reicht. html > aria kontrast ## Die Kontrast-Schwellen unser default: **4,5:1** Kontrast ist das Kriterium, das am häufigsten reißt — meist, weil eine Markenfarbe zu blass gerät. WCAG 2.2 setzt klare Grenzen: **4,5:1** für normalen Fließtext, **3:1** für großen Text (ab 24 px oder 18,66 px fett), für grafische Bedienelemente und für Fokus-Indikatoren. Die höhere Stufe AAA verlangt **7:1**. Wir bauen standardmäßig auf 4,5:1 und prüfen jede Text-Hintergrund-Kombination automatisch beim Build — in beiden Themes. So fällt eine zu blasse Farbe auf, bevor sie live geht, nicht erst im [Audit](https://www.siteway.de/expertise/barrierefreiheits-audit/). kontrastverhältnis · min.▸ aa-text Quelle: WCAG 2.2, Erfolgskriterien 1.4.3 & 1.4.6. Wir zielen auf AA, wo Marke und Lesbarkeit es zulassen auch höher. version 2.2 ## Was 2.2 gegenüber 2.1 ergänzt 9 neue kriterien · **3 die man merkt** WCAG 2.2 bringt neun neue Erfolgskriterien. Drei davon ändern die tägliche Bauweise spürbar — wir haben sie fest in Layout und Komponenten verdrahtet, damit sie nicht bei jeder neuen Seite neu bedacht werden müssen. 2.5.8target size ### Klickflächen ≥ 24 px Bedienelemente sind mindestens 24 × 24 Pixel groß oder haben genug Abstand zueinander. Wir setzen das über Mindest-Trefferflächen in den Button- und Link-Komponenten — auch bei kleinen Icons. 24 × 24 px min. 2.4.11focus not obscured ### Fokus nicht verdeckt Sticky-Header und Cookie-Banner dürfen das fokussierte Element nicht überdecken. Wir kalkulieren `scroll-margin` und die Höhe fixierter Leisten ein, damit der Fokus immer im Blick bleibt. scroll-margin 2.4.13focus appearance ### Fokus deutlich sichtbar Der Fokus-Indikator ist groß und kontraststark genug, um ihn nicht zu übersehen — mindestens so viel Fläche wie ein 2-px-Rahmen und ≥ 3:1 Kontrast. Ein Wert, den unsere Fokus-Ringe zentral erben. ≥ 2 px · ≥ 3:1 in echten projekten ## Wo es schwierig wird sprachen & **interaktive karten** Barrierefreiheit ist unkompliziert, solange eine Seite aus Text und Bildern besteht. Interessant wird es bei Mehrsprachigkeit und interaktiven Bausteinen. Bei **mehrsprachigen Websites** zahlt sich konsequente Semantik doppelt aus: ein korrektes `lang`-Attribut je Sprachfassung, damit Screenreader richtig aussprechen, und eine Struktur, die über alle Sprachfassungen identisch trägt. **Interaktive Karten** sind der zweite Härtefall für WCAG 2.2 — der Kartencanvas allein ist für Tastatur und Screenreader kaum zu greifen. Unsere Antwort: eine bedienbare Liste als gleichwertiger Zugang neben der Karte, sinnvolle Namen für Bedienelemente und ein Fokus, der nie in einer unsichtbaren Falle landet. Wie tief so etwas geprüft wird, steht beim [Barrierefreiheits-Audit](https://www.siteway.de/expertise/barrierefreiheits-audit/). die härtefälle - 01Mehrsprachig · **lang** je Sprachfassung - 02Karten · **Liste** als gleichwertiger Zugang - 03Formulare · Fehler **benannt**, nicht nur rot - 04Getestet mit **echten Hilfsmitteln** faq ## Häufige Fragen ### Was ist WCAG 2.2? WCAG 2.2 (Web Content Accessibility Guidelines) ist der internationale W3C-Standard für barrierefreie Webinhalte, seit Oktober 2023 in Kraft. Er ordnet 87 prüfbare Erfolgskriterien vier Prinzipien zu: wahrnehmbar, bedienbar, verständlich und robust. In Deutschland ist die Konformitätsstufe AA der praktische Zielwert — an ihr misst sich auch das BFSG. siteway baut jede Seite standardmäßig gegen diese AA-Kriterien. ### Was schreibt das BFSG für Websites vor? Das Barrierefreiheitsstärkungsgesetz (BFSG) gilt seit dem 28. Juni 2025 und verpflichtet viele private Anbieter — etwa Online-Shops, Banken und Buchungsdienste — zu barrierefreien digitalen Angeboten. Es verweist technisch auf die europäische Norm EN 301 549, die wiederum WCAG 2.1/2.2 auf Stufe AA übernimmt. Praktisch heißt das: Wer BFSG-konform sein muss, baut nach WCAG-AA. siteway setzt diese Kriterien direkt im Markup und CSS um, nicht per nachträglichem Overlay. ### Welchen Kontrast braucht barrierefreier Text? WCAG 2.2 auf Stufe AA verlangt für normalen Fließtext ein Kontrastverhältnis von mindestens 4,5:1 zum Hintergrund. Für großen Text (ab 24 Pixel, oder 18,66 Pixel fett) sowie für grafische Bedienelemente und Fokus-Indikatoren reichen 3:1. Stufe AAA fordert 7:1. siteway legt diese Schwellen als Farb-Token an und prüft sie automatisch — in hellem wie dunklem Theme. ### Wann setzt ihr ARIA ein? Nur dort, wo semantisches HTML an seine Grenzen stößt. Ein Button ist ein button, ein Link ist ein a — diese Elemente bringen Rolle, Zustand und Tastatur-Bedienung von sich aus mit. ARIA ergänzt erst bei eigenen Widgets wie Tabs, Dialogen oder Live-Regionen. Falsches oder überflüssiges ARIA verschlechtert die Zugänglichkeit oft, statt sie zu verbessern — deshalb gilt bei siteway die Regel: erst HTML, dann ARIA. ### Was ist neu in WCAG 2.2? WCAG 2.2 ergänzt neun Erfolgskriterien gegenüber 2.1. Für die Umsetzung am wichtigsten: Target Size (Minimum) verlangt Klickflächen von mindestens 24 × 24 Pixeln oder entsprechenden Abstand (2.5.8), Focus Not Obscured sorgt dafür, dass Sticky-Header oder Cookie-Banner das fokussierte Element nicht verdecken (2.4.11), und Focus Appearance schärft, wie deutlich der Tastatur-Fokus sichtbar sein muss. siteway baut diese Kriterien fest in Komponenten und Layout ein. ### Muss eine Website bis 200 % skalierbar sein? Ja. WCAG-Erfolgskriterium 1.4.4 verlangt, dass sich Text bis 200 % vergrößern lässt, ohne dass Inhalt oder Funktion verloren gehen. siteway erreicht das mit relativen Einheiten (rem/em) statt fester Pixel, flexiblen Layouts und Media-Queries, die den vergrößerten Text abfangen — so bleibt die Seite auch bei starkem Zoom bedien- und lesbar, statt Text abzuschneiden oder zu überlappen. womit das zusammenhängt ## Womit das zusammenhängt leistung, audit & **stack** - [Barrierefreiheit.](https://www.siteway.de/expertise/barrierefreiheit/) — Diese Seite erklärt die Technik — die Leistung setzt sie um: eine barrierefreie Website nach WCAG 2.2 und BFSG, mit Prüfbericht. zur leistung → - [Barrierefreiheits-Audit.](https://www.siteway.de/expertise/barrierefreiheits-audit/) — Bestehende Seite gegen WCAG 2.2 geprüft — mit Tastatur, Screenreader und echten Hilfsmitteln, nicht nur mit einem Scanner. zum audit → - [Frontend.](https://www.siteway.de/stack/frontend/) — Das Fundament der Zugänglichkeit: semantisches HTML5, Tailwind und Vanilla JavaScript — ohne Framework-Ballast. zum stack → Website, die alle bedienen können? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · media # Bild- & Videoformate Wie siteway Bilder ausliefert: als **AVIF** und **WebP** mit JPG-Fallback, Video als **WebM** — responsive über **srcset/sizes**, sparsam per Lazy Loading, mit festen **width/height** gegen Layout-Sprünge. Erzeugt beim Build, nicht von Hand. Der Performance-Effekt landet bei [Performance](https://www.siteway.de/stack/performance/). stack formate: avif · webp · webm einsatz: responsive auslieferung seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir es einsetzen](#einsatz) definition ## Was sind moderne Bildformate? **Moderne Bildformate wie AVIF und WebP speichern dasselbe Bild in deutlich kleineren Dateien als das alte JPEG — bei gleicher sichtbarer Qualität.** WebP stammt von Google und wird von praktisch jedem aktuellen Browser verstanden. AVIF basiert auf dem AV1-Videocodec, komprimiert noch stärker und beherrscht höhere Farbtiefe und HDR. Für Bewegtbild gilt dasselbe Prinzip: **WebM** ist das offene, stark komprimierende Gegenstück zu AVIF im Videobereich. Der Trick ist nicht das Format allein, sondern die Auslieferung — das richtige Format an das richtige Gerät, mit einem Fallback für alles, was das Neue noch nicht kann. $ cat bild-videoformate.md - ✓AVIF av1 · ~50 % kleiner als jpg - ✓WebP breit unterstützt - ✓JPG-Fallback - ✓WebM für Video - ✓srcset / sizes responsive - ✓width/height gegen cls einsatz · unsere pipeline ## Wie wir es einsetzen ein original rein, **alle formate raus** Wir wandeln Bilder nicht von Hand um. Beim Build läuft jedes Original durch **sharp**, eine schnelle Bildbibliothek für Node.js. Daraus entstehen automatisch AVIF, WebP und ein JPG-Fallback — und zwar in mehreren Breiten. Ändert sich das Original, wird der ganze Satz reproduzierbar neu erzeugt. Bei TYPO3 oder WordPress übernimmt die Bildverarbeitung des CMS dieselbe Aufgabe im Backend. Im HTML steht dann ein ****-Element mit den Formaten in fester Reihenfolge: AVIF zuerst, WebP als zweite Wahl, das JPG im `img` als Fallback. Der Browser prüft von oben nach unten und lädt genau eine Datei — das modernste Format, das er kann. Jede `source` trägt ihr **srcset** mit Breitenstufen, dazu ein **sizes**, das zum echten Layout passt. So bekommt kein Gerät mehr Pixel geschickt, als es anzeigt. Zwei Details, die oft fehlen und den Unterschied machen: Jedes Bild trägt feste **width/height**, damit der Browser den Platz reserviert und der Text nicht springt ([Cumulative Layout Shift](https://www.siteway.de/stack/performance/) gegen null). Und `loading="lazy"` setzen wir bewusst nur unterhalb des sichtbaren Bereichs — das Hero-Bild lädt sofort, damit das LCP schnell bleibt. $ build · media-pipeline original.jpg sharp - ├─ hero.avif · 640/960/1280w - ├─ hero.webp · 640/960/1280w - └─ hero.jpg · fallback avif ▸ webp ▸ img.jpg browser lädt das erste unterstützte format · genau eine datei datenpunkt · dateigröße ## Wie viel kleiner das wird gleiches bild, **weniger bytes** Bei vergleichbarer sichtbarer Qualität spart WebP gegenüber JPEG rund **25–35 %**, AVIF etwa **50 %** — je nach Motiv auch mehr. Weniger Bytes über die Leitung heißt: ein schnelleres **Largest Contentful Paint** und weniger mobiles Datenvolumen. Der exakte Wert hängt vom Bild ab, die Größenordnung ist über Projekte hinweg stabil. *// relative dateigröße bei vergleichbarer qualität* details · 6 bausteine ## Die Technik im Detail jeder baustein ein **hebel** d-01bild ### [AVIF.](https://www.siteway.de/stack/avif/) Das kleinste Format auf Basis des AV1-Codecs — rund 50 % unter JPEG, mit höherer Farbtiefe und HDR. Wir liefern es als erste Quelle im picture-Element aus. [AVIF →](https://www.siteway.de/stack/avif/) stack: image/avif · av1 d-02bild ### [WebP.](https://www.siteway.de/stack/webp/) Der breit unterstützte Mittelweg: kleiner als JPEG, von jedem aktuellen Browser verstanden, mit Transparenz. Die zweite Quelle für alles, was noch kein AVIF kann. [WebP →](https://www.siteway.de/stack/webp/) stack: image/webp d-03video ### [WebM.](https://www.siteway.de/stack/webm/) Für kurze Hintergrund- und Teaser-Clips: WebM stark komprimiert, MP4 als Fallback über das video-Element. Stummgeschaltetes Autoplay, ohne externen Player, ohne Tracking. [WebM →](https://www.siteway.de/stack/webm/) stack: webm · mp4-fallback d-04responsive ### srcset & sizes srcset listet dasselbe Bild in mehreren Breiten, sizes beschreibt die Darstellungsbreite im Layout. Der Browser rechnet selbst aus, welche Datei zu Bildschirm und Auflösung passt. stack: srcset · sizes · w-descriptor d-05laden ### Lazy Loading Bilder unterhalb des sichtbaren Bereichs laden erst beim Scrollen — per loading=lazy, ohne JavaScript. Das LCP-Bild im sichtbaren Bereich bleibt bewusst außen vor, damit es sofort erscheint. stack: loading=lazy · nativ d-06stabil ### width/height Feste Maße im HTML geben dem Browser das Seitenverhältnis vorab. Er reserviert den Platz, der Text springt nicht — der Cumulative Layout Shift geht gegen null. Ein Detail, das oft fehlt. stack: width · height · aspect-ratio beleg · aus der praxis ## Im echten Projekt Auf unserer eigenen Startseite zahlt die Pipeline direkt ein: **PageSpeed Insights 100/100/100/100 mobil**. Bilder als AVIF mit Fallback, feste Maße, das Hero nicht lazy — genau die Bausteine dieser Seite. Bei kartenlastigen Portalen zählt außerdem, dass Vorschaubilder klein bleiben, während die Karte selbst die Bandbreite braucht. Sichtbar wird der Effekt am schnellsten in einer Bildergalerie — viele Motive auf einer Seite. Wie wir das als fertigen Baustein bauen, steht bei [Portfolio- & Media-Galerie](https://www.siteway.de/expertise/portfolio-media-galerie/). messbar - 01AVIF ≈ **50 %** kleiner als JPG - 02width/height **→ CLS** gegen 0 - 03Startseite **PSI 100** mobil - 04Hero nicht lazy **→ LCP** früh faq ## Häufige Fragen ### Was ist der Unterschied zwischen AVIF und WebP? Beide sind moderne Bildformate, die deutlich kleiner sind als JPEG. WebP stammt von Google und wird von praktisch allen aktuellen Browsern verstanden. AVIF basiert auf dem AV1-Videocodec, komprimiert bei vergleichbarer Qualität noch stärker — rund 20 bis 30 Prozent kleiner als WebP — und beherrscht höhere Farbtiefe und HDR. siteway liefert beide aus: AVIF zuerst, WebP als breit unterstützte zweite Wahl, JPG als Fallback. Der Browser nimmt das erste Format, das er kann. ### Warum liefert ihr AVIF, WebP und JPG gleichzeitig aus? Weil kein einzelnes Format überall funktioniert. Über das picture-Element hinterlegt siteway pro Bild mehrere Quellen in fester Reihenfolge: AVIF, dann WebP, dann JPG im img-Tag als Fallback. Der Browser prüft von oben nach unten und lädt genau eine Datei — das modernste Format, das er darstellen kann. Alte Browser bekommen das JPG, neue das kleine AVIF. Niemand sieht ein kaputtes Bild, und trotzdem profitieren die meisten Besucher von der besseren Kompression. ### Wie viel kleiner werden Bilder mit AVIF und WebP? Bei vergleichbarer sichtbarer Qualität spart WebP gegenüber JPEG rund 25 bis 35 Prozent Dateigröße, AVIF etwa 50 Prozent — je nach Motiv auch mehr. Kleinere Dateien heißt: weniger Bytes über die Leitung, ein schnelleres Largest Contentful Paint und weniger mobiles Datenvolumen. Der exakte Wert hängt vom Bild ab, die Größenordnung ist über Projekte hinweg stabil. ### Was bedeuten srcset und sizes bei Bildern? srcset ist eine Liste desselben Bildes in mehreren Breiten, sizes beschreibt, wie breit das Bild im Layout tatsächlich dargestellt wird. Aus beidem rechnet der Browser selbst aus, welche Datei zu Bildschirm und Auflösung passt — ein Handy lädt eine kleine Variante, ein Retina-Desktop eine große. So bekommt kein Gerät mehr Pixel geschickt, als es braucht. siteway erzeugt die Breitenstufen automatisch beim Build. ### Wie verhindert ihr Layout-Sprünge (CLS) bei Bildern? Jedes Bild bekommt feste width- und height-Attribute im HTML. Der Browser kennt damit das Seitenverhältnis, bevor die Datei geladen ist, reserviert den Platz und lässt den Text nicht mehr nach unten springen, wenn das Bild eintrifft. Das drückt den Cumulative Layout Shift — einen der Core Web Vitals — gegen null. Bilder unterhalb des sichtbaren Bereichs bekommen zusätzlich loading=lazy, das Hero-Bild bewusst nicht. ### Womit wandelt ihr die Bilder in AVIF und WebP um? siteway erzeugt die Formate beim Build automatisch mit sharp, einer schnellen Bildbibliothek für Node.js. Aus einem hochgeladenen Original entstehen AVIF, WebP und ein JPG-Fallback in allen benötigten Breiten — reproduzierbar und ohne Handarbeit in Photoshop. Die Redaktion lädt ein Bild hoch, die Pipeline liefert den Rest. Bei TYPO3 oder WordPress übernimmt die jeweilige Bildverarbeitung des CMS dieselbe Aufgabe. ### Und was ist mit Videos? Für kurze Hintergrund- und Teaser-Videos liefert siteway WebM aus, ein offenes, stark komprimierendes Videoformat, mit MP4 als Fallback über das video-Element. Autoplay läuft stummgeschaltet, ohne externe Player und ohne Tracking. Lange oder viele Videos gehören dagegen in einen Streaming-Dienst — eine 200-MB-Datei direkt auf dem Webserver bremst jede Seite aus. womit das zusammenhängt ## Womit das zusammenhängt leistung & **stack** - [Portfolio- & Media-Galerie.](https://www.siteway.de/expertise/portfolio-media-galerie/) — Diese Formate als fertiger Baustein: eine Galerie, die viele Motive schnell und responsive ausliefert. Der Ort, an dem du das buchst. zur leistung → - [Performance.](https://www.siteway.de/stack/performance/) — Kleine Bilder sind der größte Hebel für schnelle Ladezeiten. Wie das in LCP, INP und CLS einzahlt — und wo die anderen Hebel liegen. weiterlesen → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Die Bild-Pipeline läuft nicht von Hand, sondern beim Build. Wie wir Formate, Assets und Auslieferung über Git und CI/CD versionieren. weiterlesen → Schnelle Bilder für dein Projekt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # BITE Bewerbermanager Der **BITE Bewerbermanager** ist eine Bewerbermanagement-Software der BITE GmbH aus Ulm — dort entstehen die Ausschreibungen, dort laufen die Bewerbungen zusammen. Die spannende Frage für eine Website ist die Strecke dazwischen: Wie kommen diese Stellen auf die eigene [Karriereseite](https://www.siteway.de/expertise/job-karriereportal/) — und zwar so, dass sie dort wie eigene Seiten aussehen, funktionieren und gefunden werden. siteway baut diese Strecke. stack system: bite · bewerbermanagement weg: abstimmen · abholen · rendern ziel: stellen auf deiner domain seit: 2006 [Anbindung anfragen](https://www.siteway.de/kontakt/) [Wie wir BITE anbinden](#einsatz) definition ## Was ist der BITE Bewerbermanager? **Der BITE Bewerbermanager ist eine webbasierte Bewerbermanagement-Software der BITE GmbH aus Ulm.** In der Branche heißt so etwas Applicant Tracking System, kurz ATS: ein System, in dem Ausschreibungen angelegt, veröffentlicht und Bewerbungen bis zur Entscheidung begleitet werden. Der Name steht nach Angaben des Herstellers für **Business IT Engineers**. Zum Funktionsumfang gehören laut Hersteller unter anderem Stellenmanagement, Bewerberverwaltung, Multiposting auf Jobbörsen, ein zusammenstellbares Online-Bewerbungsformular, ein Job-Alert per E-Mail und eine automatische Arbeitszeugnisanalyse. Für eine Website ist davon genau ein Ausschnitt relevant: das **Stellenmanagement**. Dort legt die Personalabteilung Ausschreibungen an, dort läuft der Bewerbungsprozess, dort liegen die Unterlagen. 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 sauber: siteway behandelt BITE als führendes System und die Website als Anzeige. $ cat bite.md - ✓Hersteller bite gmbh · ulm - ✓Kategorie bewerbermanagement · ats - ✓Stellenmanagement ausschreibungen - ✓Multiposting jobbörsen - ✓Bewerbungsformular zusammenstellbar - ✓Betrieb webbasiert · saas Zur Einordnung, weil der Name mehrdeutig ist: Gemeint ist hier ausschließlich die Recruiting-Software der **BITE GmbH** aus Ulm, die unter der Bezeichnung **BITE Bewerbermanager** angeboten wird. Angaben zu Funktionsumfang, Zertifizierungen und Betrieb auf dieser Seite stammen aus den öffentlichen Darstellungen des Herstellers und sind als solche gekennzeichnet. praxis ## Wie wir BITE anbinden erst klären, **dann bauen** Der erste Schritt ist bei BITE wichtiger als bei manch anderem System: die **Sichtung**. Eine öffentlich einsehbare Entwicklerdokumentation gibt es nicht, deshalb wird der freigeschaltete Weg vorab mit dem **Hersteller oder eurer HR-IT** geklärt — welche Übergabe in eurem Vertrag enthalten ist, welche Felder sie liefert, in welchem Takt sie abgerufen werden darf und wie der Bewerbungsweg aussehen soll. Daraus entsteht ein schriftliches Feld-Mapping, und erst danach wird gebaut. Das ist dasselbe Vorgehen wie bei jeder anderen [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/), nur mit mehr Gewicht auf dem ersten Termin. Was der Hersteller öffentlich beschreibt, gibt die Richtung vor: Für die eigene Homepage nennt er eine **automatisierte Darstellung der Ausschreibungen**, daneben steht eine eigenständige Karriereseite als Produkt, und Stellenanzeigen werden über Schnittstellen an Jobbörsen und an Google for Jobs übergeben. Für eine Website heißt das: Die Stellen sind als Daten vorhanden und werden automatisiert weitergereicht — die Frage ist nur, wohin und in welcher Form. Wir gehen den **datengetriebenen** Weg, wo er möglich ist: Stellen 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](https://www.siteway.de/stack/strukturierte-daten/), [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/), Ladeverhalten und URL-Struktur — also über genau die Punkte, an denen eine Karriereseite gefunden wird. unsere leitplanken - 01BITE bleibt das **führende System** - 02Stellen liegen auf **deiner Domain** - 03Erst **Freigabe & Mapping**, dann Code - 04Abgleich mit **Cache**, nie live pro Aufruf - 05Bewerberdaten **nicht zwischenlagern** - 06Ausfall der Quelle **bricht nichts** ### Widget oder eigene Seiten? Bei Bewerbermanagement-Systemen liegt oft schon eine fertige Anzeige bereit: ein Job-Widget oder ein eingebettetes Portal, das die aktuellen Stellen ohne großen Bauaufwand zeigt. Das ist ein legitimer und schneller Weg. Er beantwortet nur eine andere Frage als die nach der Sichtbarkeit — denn für Suchmaschinen zählt die Adresse, unter der ein Inhalt ausgeliefert wird. Drei Bauweisen, drei Charaktere: w-01klärung ### Freigabe klären Vor der ersten Zeile Code steht die Frage, welcher Weg für euren Zugang freigeschaltet ist und welche Felder er hergibt. Diese Auskunft kommt vom Hersteller oder aus eurer HR-IT — wir begleiten den Termin, schreiben die Antworten als Mapping fest und leiten daraus den Bauplan ab. stärke: keine annahmen w-02daten ### Eigene Stellenseiten Die Stellen werden als Daten abgeholt und im CMS zu eigenen Inhalten — jede mit einer eigenen, indexierbaren URL auf deiner Domain. Layout, Ladeverhalten, Markup und Barrierefreiheit liegen damit bei dir, und die Stellen tauchen in der Website-Suche auf wie jeder andere Inhalt. stärke: sichtbar unter deiner url w-03einbettung ### Portal einbetten Ein eingebettetes Portal oder Widget zeigt die Stellen sofort und bleibt automatisch aktuell, weil die Anzeige beim Anbieter liegt. Gestaltung, Markup und Ladeverhalten kommen dann von dort — ebenso die Adresse, unter der die Inhalte erfasst werden. Ein guter Start und ein guter Nachbar für eigene Seiten. stärke: sofort startklar In der Praxis ist die Kombination oft die beste Antwort: **Stellenliste und Detailseiten als eigene Seiten** auf der eigenen Domain, der geschützte Bewerberbereich mit Login und Statusanzeige beim Hersteller. So bleibt die Sichtbarkeit dort, wo die Marke sitzt, und der Prozess dort, wo das Personalwesen ohnehin arbeitet. Welcher Weg zu euch passt, steht am Anfang des [Konzepts](https://www.siteway.de/expertise/konzept-strategie/) — zusammen mit der Frage, wie oft Stellen wechseln, wie viele Standorte es gibt und ob die Karriereseite eigenständig auftreten oder Teil der Unternehmenswebsite sein soll. zuordnung - ▸schnell online → **Einbettung** - ▸Ranking unter eigener Domain → **eigene Seiten** - ▸Filter & Website-Suche → **eigene Seiten** - ▸Login-Bereich für Bewerber → **beim Hersteller** bausteine · 6 details ## Die Anbindung im Detail jedes teil mit **klarem zweck** Zwischen „Stelle steht in BITE“ und „Stelle steht auf der Website“ liegen sechs Bauteile. Sie sind bei jedem Projekt gleich — was sich unterscheidet, sind die Feldnamen und der Takt. Beides kommt aus der Abstimmung, nicht aus einer Vermutung. 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 ### Feld-Mapping ins CMS Jedes gelieferte Feld bekommt ein Zuhause im [CMS](https://www.siteway.de/stack/cms-redaktion/): Titel, Standort, Bereich, Anstellungsart, Beschreibung, Laufzeit, Bewerbungslink. Wie die Felder in eurer Installation heißen, steht im abgestimmten Mapping. Was fehlt, ergänzt die Redaktion daneben — Teamfoto, Ansprechpartner, Einstiegstext. 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](https://www.siteway.de/stack/suche/) auf und lässt sich mit redaktionellen Inhalten mischen. zweck: finden statt scrollen d-04detailseite ### Detailseite & URLs Jede Stelle bekommt eine eigene, stabile Adresse unter deiner Domain — teilbar per Mail, verlinkbar aus Social, sauber in der Vorschau, indexierbar für Suchmaschinen. Das Layout ist deins: dieselbe Typografie, dieselbe Navigation, derselbe Footer wie auf dem Rest der Website. zweck: eine stelle · eine url d-05lebenszyklus ### Abgelaufene Stellen Verschwindet eine Stelle aus der Quelle, verschwindet sie beim nächsten Abgleich aus der Liste. Für die Detailseite nennt Google drei saubere Wege: Ablaufdatum in die Vergangenheit, Statuscode 404 oder 410, oder das Markup entfernen. Wir wählen je Projekt einen — 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](https://www.siteway.de/stack/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 des Herstellers — laut Hersteller lässt es sich je Bedarf zusammenstellen. Upload, Pflichtfelder und Eingangsbestätigung liegen dann dort, 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 abgestimmte Schnittstelle übergibt. Der Bewerber bleibt durchgehend bei dir, Felder und Fehlermeldungen sind gestaltbar, die Barrierefreiheit liegt in unserer Hand — wie bei allen [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Dafür braucht es freigegebene Endpunkte, ein sorgfältiges Mapping und eine ehrliche Fehlerbehandlung: Was passiert, wenn die Übergabe scheitert, nachdem jemand auf „Absenden“ geklickt hat? Welcher Weg gebaut wird, hängt weniger an der Technik als an der Erwartung: Soll die Bewerbung Teil der Website sein oder Teil des HR-Systems? Wir stellen diese Frage im Briefing — und beantworten sie gemeinsam, bevor eine Zeile Template entsteht. zwei wege - ▸Weiterleitung: **keine Daten bei uns** - ▸Weiterleitung: **Wechsel im Design** - ▸Eigenes Formular: **ein Fluss** - ▸Eigenes Formular: **volle Kontrolle** - ▸Eigenes Formular: **mehr Aufwand** integration · 3 systeme ## BITE in deine Website integrieren drei systeme · **ein muster** Ein Bewerbermanagement liefert Daten, ein [CMS](https://www.siteway.de/stack/cms-redaktion/) macht daraus Seiten. Der Weg dazwischen ist systemunabhängig und sieht überall gleich aus: Ein geplanter Job holt die Stellen im festen Takt ab, 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](https://www.siteway.de/stack/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, Laufzeit 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 des Herstellers oder in ein eigenes auf deiner Domain. Weil die Feldnamen aus der Abstimmung mit dem Hersteller kommen und nicht aus einer öffentlichen Referenz, bauen wir die Abholung in allen drei Systemen als schlanken eigenen Code — austauschbar an genau einer Stelle, falls sich an der Quelle etwas ändert. cms-01typo3 ### BITE in TYPO3 Der Weg ist eine eigene Extension auf Extbase-Basis: Ein Scheduler-Task holt die Stellen im festen Takt und schreibt sie als eigene Records in einen Ordner im Seitenbaum, das TCA beschreibt die Felder. 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](https://www.siteway.de/stack/typo3/). weg: eigene extension · scheduler cms-02wordpress ### BITE in WordPress Hier entsteht ein eigenes Plugin statt Code im Theme — so überlebt die Anbindung jeden Design-Wechsel. Ein geplanter Lauf holt die Stellen und legt jede als Beitrag eines Custom Post Types mit Meta-Feldern an, Standort und Bereich als Taxonomien daneben. Eine eigene Permalink-Struktur gibt jeder Stelle ihre Adresse, das Markup hängt an einem Hook im ``. Mehr zum System unter [WordPress](https://www.siteway.de/stack/wordpress/). weg: eigenes plugin · custom post type cms-03statamic ### BITE in Statamic Unter Statamic liegt ein vollständiges Laravel — der Abruf ist deshalb ein Artisan-Command im Scheduler, der 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](https://www.siteway.de/stack/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. Der Hersteller weist darauf hin, dass die von Google geforderten Angaben zu jeder Ausschreibung im System erfasst werden können. Damit steht die **Datengrundlage** — das Markup selbst entsteht aber erst dort, wo die Seite gerendert wird. Liegen die Stellen als eigene Seiten auf deiner Domain, erzeugen wir es beim Rendern automatisch aus den Feldern, die aus BITE kommen: ein Feld, ein Attribut. Wird ein Portal von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiterhin zu dieser Adresse; erfasst wird die Stelle dann dort. Beides kann nebeneinander bestehen, und nur der eigene Weg baut Sichtbarkeit auf der eigenen Domain auf. 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](https://www.siteway.de/stack/strukturierte-daten/); was speziell für Stellenanzeigen gilt, unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). $ cat jobposting.md - ✓Titel pflicht - ✓Beschreibung pflicht - ✓Veröffentlichungsdatum pflicht - ✓Arbeitgeber pflicht - ✓Arbeitsort pflicht - ✓Ablaufdatum empfohlen - ✓Anstellungsart empfohlen - ✓Gehalt empfohlen 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 BITE — dort greifen Rollen, Protokolle und die **Löschfristen**, die das Personalwesen ohnehin einhalten muss. Nach Angaben des Herstellers ist die BITE GmbH nach ISO 27001 und ISO 9001 zertifiziert; Entwicklung und Datenhaltung finden demnach in Deutschland statt. 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](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - 01Übertragung **verschlüsselt** - 02Anhänge **weiterreichen, nicht lagern** - 03Zugangsdaten **nicht im Repository** - 04Löschfristen **im führenden System** - 05AV-Vertrag **vor dem Go-live** - 06Hinweis **am Formular** ### 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, und beziehen das Ergebnis in die Empfehlung ein. Die Grundlagen dazu stehen unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/). am formular - ▸Labels **sichtbar & verknüpft** - ▸Fehler **am Feld, im Klartext** - ▸Upload **per Tastatur bedienbar** - ▸Bestätigung **wird angesagt** faq ## Häufige Fragen ### Was ist der BITE Bewerbermanager? Der BITE Bewerbermanager ist eine webbasierte Bewerbermanagement-Software — im Sprachgebrauch der Branche ein Applicant Tracking System, kurz ATS. Hersteller ist die BITE GmbH mit Sitz in Ulm; der Name steht nach Angaben des Herstellers für Business IT Engineers. Die Software begleitet die Recruiting-Kette vom Stellen- und Ausschreibungsmanagement über die Veröffentlichung auf Jobbörsen bis zur Auswahl der Bewerberinnen und Bewerber. Für eine Website ist davon ein Ausschnitt relevant: das Stellenmanagement. Dort entstehen die Ausschreibungen, die auf der Karriereseite erscheinen sollen. ### Wie kommen Stellen aus BITE auf unsere Karriereseite? Über einen Weg, der vorab mit dem Hersteller oder eurer HR-IT geklärt wird. Der Hersteller nennt für die eigene Homepage eine automatisierte Darstellung der Ausschreibungen und bietet daneben eine eigenständige Karriereseite als Produkt an. Welche Übergabe in eurem Vertrag freigeschaltet ist, welche Felder sie liefert und in welchem Takt sie abgerufen werden darf, steht am Anfang jedes Projekts. Danach ist der Aufbau immer derselbe: Ein geplanter Job holt die Stellen, legt jede Ausschreibung als eigenen Inhalt im CMS an, und wir rendern Liste, Filter und Detailseite selbst — im Design deiner Website, auf deiner Domain. ### Gibt es eine öffentliche Dokumentation der BITE-Schnittstelle? Öffentlich einsehbar ist sie nicht. Anders als bei Systemen mit offener Entwicklerdokumentation lassen sich Endpunkte, Feldnamen und Formate deshalb nicht vorab aus einer Referenz ablesen. Das ändert nichts am Vorgehen, verschiebt nur die Reihenfolge: Zuerst holen wir gemeinsam mit euch die Freigabe und die technischen Angaben beim Hersteller oder bei eurer HR-IT ein, dann entsteht daraus ein schriftliches Feld-Mapping, und erst danach wird gebaut. Wir schreiben keine Annahmen über Endpunkte oder Feldnamen fest, bevor sie bestätigt sind. ### Reicht ein eingebettetes Job-Widget statt eigener Stellenseiten? Für den schnellen Start reicht es oft völlig: Ein eingebettetes Portal oder Widget zeigt die aktuellen Stellen sofort, ohne dass viel gebaut werden muss. Für die Suche zählt allerdings die Adresse, unter der ein Inhalt ausgeliefert wird. Wird das Portal von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiter dorthin und wird auch dort erfasst. Sollen die Stellen unter eurer Domain ranken und in der Job-Box erscheinen, entstehen sie als eigene Seiten mit eigener indexierbarer URL. Beide Wege haben ihren Platz, und sie lassen sich kombinieren — etwa eigene Stellenseiten plus geschützter Bewerberbereich beim Hersteller. ### Lässt sich BITE in TYPO3, WordPress oder Statamic integrieren? Ja. In allen drei Systemen trägt derselbe Aufbau: Ein geplanter Job holt die Stellen, legt jede Ausschreibung als eigenen Inhalt im CMS an, und das Template rendert Liste, Filter und Detailseite — jede Stelle mit einer eigenen URL auf deiner Domain. In TYPO3 ist das eine eigene Extension mit Scheduler-Task, eigenen Datensätzen und Fluid-Templates. In WordPress ein eigenes Plugin mit einem Custom Post Type für Stellen und Taxonomien für Standort und Bereich. In Statamic ein Artisan-Kommando im Scheduler, das Entries in eine Collection schreibt. Weil die Feldnamen je Installation unterschiedlich ausfallen können, bauen wir die Abholung als schlanken eigenen Code und stimmen das Feld-Mapping vorab ab. ### 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 nicht im Bewerbermanagement, sondern beim Rendern deiner Stellenseite — aus genau den Feldern, die aus BITE kommen. Der Hersteller weist darauf hin, dass die von Google geforderten Angaben zu jeder Ausschreibung im System erfasst werden können; damit steht die Datengrundlage, aus der wir das Markup erzeugen. ### Bewerbung im BITE-Formular oder auf unserer Website? Beides trägt. Der direkte Weg ist die Weiterleitung: Der Button auf der Stellenseite führt in das Bewerbungsformular des Herstellers, dort läuft der Upload, und die Bewerbung liegt sofort im Bewerbermanagement — auf dem Webserver entstehen dabei keine Bewerberdaten. Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über die abgestimmte Schnittstelle ü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. Wir klären das vor dem Bauen, weil daran der ganze Bewerbungsweg hängt. ### 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, und Anhänge werden weitergereicht statt dauerhaft abgelegt. Führendes System bleibt BITE — dort greifen Rollen, Protokollierung und die Löschfristen, die das Personalwesen ohnehin einhalten muss. Nach Angaben des Herstellers ist die BITE GmbH nach ISO 27001 und ISO 9001 zertifiziert und hält die Daten in einem Rechenzentrum in Deutschland. Der Auftragsverarbeitungsvertrag gehört ins Projekt, nicht ins Nachspiel. womit das zusammenhängt ## Womit das zusammenhängt komponente, leistung & **nachbarn** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Der Baustein, der auf deiner Website entsteht: Stellenliste, Detailseiten, Bewerbungsformular und Karriere-Übersicht. Hier wird gebucht. zur komponente → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung hinter dieser Seite: Scoping, Feld-Mapping, Entwicklung, Test und Monitoring — für BITE wie für jedes andere Fremdsystem. zur leistung → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was eine Stellenanzeige mitbringen muss, um in der Job-Box zu erscheinen — Pflichtfelder, Ablaufdatum und die häufigsten Stolpersteine. zur technik → - [rexx systems.](https://www.siteway.de/stack/rexx-systems/) — Dieselbe Frage, anderes System: wie Stellen aus dem rexx-Bewerbermanagement auf die eigene Karriereseite kommen. zur technik → - [Personio.](https://www.siteway.de/stack/personio/) — Der Weg von Personio auf die eigene Karriereseite — und wo sich die Anbindung von einem anderen HR-System unterscheidet. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Verschlüsselung, Header, Datensparsamkeit und der Umgang mit Zugangsdaten — die Regeln, nach denen jede Anbindung gebaut wird. zur technik → Stellen aus BITE auf deiner eigenen Karriereseite? [Anbindung anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Brevo **Brevo** — bis 2023 unter dem Namen Sendinblue unterwegs — ist eine E-Mail-Plattform, die zwei Dinge in einem Dienst erledigt: **Newsletter an eine Liste** und **transaktionale Mails an eine einzelne Person**. Für siteway ist das der interessante Teil: Die Website sammelt nicht nur Adressen ein, sie verschickt auch ihre eigenen Bestätigungen darüber. Diese Seite beschreibt, wie wir das anbinden. stack system: brevo · e-mail-plattform wege: rest-api v3 · webhooks einsatz: marketing · transaktional seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Brevo anbinden](#einsatz) definition ## Was ist Brevo? früher **sendinblue** **Brevo ist eine Cloud-Plattform für E-Mail-Marketing und transaktionalen Versand.** Das Unternehmen wurde 2012 in Paris gegründet und hieß bis zur Umbenennung im Jahr 2023 Sendinblue — der alte Name taucht in Bestandsprojekten und älteren Anleitungen deshalb noch häufig auf. Gemeint ist derselbe Dienst. Dass der Anbieter seinen Sitz in **Frankreich** hat, ist für deutsche Auftraggeber kein Nebensatz. Wer Kontaktdaten in ein Werkzeug gibt, muss im Verzeichnis der Verarbeitungstätigkeiten benennen, wer sie verarbeitet und wo. Brevo gibt in seiner eigenen Dokumentation an, die Daten innerhalb der Europäischen Union zu speichern. Das ersetzt keine eigene Prüfung, aber es verkürzt die Diskussion. Technisch interessant wird Brevo an der Schnittstelle. Es gibt eine öffentlich dokumentierte **REST-API in Version 3** unter api.brevo.com/v3, mit Endpunkten für Kontakte, Listen, eigene Kontaktfelder, Double-Opt-in, transaktionale E-Mails mit Vorlagen und Webhooks für Zustellereignisse. Damit lässt sich beides bauen: die [Newsletter-Anmeldung](https://www.siteway.de/expertise/newsletter-e-mail/) auf der Website und der Mailversand, den die Website selbst auslöst. $ cat brevo.md - ✓E-Mail-Plattform marketing + transaktional - ✓REST-API version 3 · json - ✓API-Key header api-key - ✓Double-Opt-in eigener endpunkt - ✓Vorlagen templateid + params - ✓Webhooks zustellereignisse praxis ## Wie wir Brevo anbinden eigenes formular · **schlüssel serverseitig** Am Anfang steht eine Entscheidung, die man später nicht mehr billig korrigiert: **Das Anmeldeformular gehört der Website.** Es steht im Layout der Seite, es benutzt dieselben Feldtypen, dieselben Fehlermeldungen und dieselbe Tastaturbedienung wie jedes andere Formular des Projekts. Damit bleibt die Anmeldung ein Teil der Seite statt eines Fremdkörpers — und sie bleibt bedienbar, wenn ein fremdes Skript einmal nicht lädt. Wie wir Formulare grundsätzlich bauen, steht bei den [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Abgeschickt wird an einen **eigenen Endpunkt auf dem Server der Website**, nicht direkt an Brevo. Dieser Endpunkt hält den API-Schlüssel, prüft die Eingaben, wehrt Massen-Einträge ab und entscheidet, welche Felder überhaupt weitergereicht werden. Ein Schlüssel im Frontend wäre jedem Besucher zugänglich, der die Entwicklerwerkzeuge öffnet — das ist kein theoretisches Risiko, sondern der häufigste Fehler bei schnell zusammengesteckten Anbindungen. Von dort geht der Kontakt in eine **Liste**. Brevo kennt dafür Listen und Ordner sowie eigene Kontaktattribute, die vorher im Konto angelegt sein müssen — Vorname, Herkunftsformular, Interessengebiet. Wir legen dieses Feldmodell fest, bevor gebaut wird, sonst entsteht eine Liste, in der später niemand mehr segmentieren kann. Für die Einwilligung nutzen wir den dokumentierten **Double-Opt-in-Weg**: Der Kontakt wird über den dafür vorgesehenen Endpunkt angelegt, Brevo verschickt die Bestätigungsmail aus einer Vorlage, und erst der Klick auf den Link macht ihn in der Liste aktiv. Der zweite Strang ist der **transaktionale Versand**. Jede Website verschickt Mails, auch ohne Newsletter: die Bestätigung an den Absender eines Kontaktformulars, die Benachrichtigung ans Team, die Terminzusage, der Link zum Zurücksetzen eines Passworts. Diese Mails über Brevo statt über den Webserver zu schicken, ist der Punkt, an dem die Anbindung technisch wirklich etwas bringt: Der Versand läuft über eine Infrastruktur, die für Zustellung gebaut ist, und die Website erfährt über Ereignismeldungen, was aus der Mail geworden ist. Voraussetzung ist eine sauber eingerichtete Absender-Domain — was dafür im DNS stehen muss, prüfen wir im [DNS- & E-Mail-Audit](https://www.siteway.de/expertise/dns-e-mail-audit/). Bleibt das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die API nicht, darf der Besucher das nicht ausbaden. Die Anmeldung wird zwischengespeichert, der Versuch protokolliert und mit Abstand wiederholt; eine wichtige Benachrichtigung geht zusätzlich auf dem direkten Weg raus. Genauso planbar behandeln wir das Ende: **Abmeldung** über den Link in jeder Mail und **Löschung** auf Anfrage — beides über die Schnittstelle ausführbar und in der Anbindung von vornherein vorgesehen, statt später von Hand nachgezogen. unsere leitplanken - 01Formular im **Design der Seite** - 02Schlüssel **serverseitig**, nie im Browser - 03Erst das **Feldmodell**, dann der Code - 04Einwilligung per **Double-Opt-in** - 05Absender-Domain **vorher prüfen** - 06Fehler **protokollieren**, Kontakt halten [schnittstellen als leistung →](https://www.siteway.de/expertise/schnittstellen-integration/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Brevo — Endpunkte, Parameter und Ereignisnamen im Original. Feste Zahlen zu Kontingenten nennen wir hier bewusst nicht: Brevo staffelt sie nach Konto und beschreibt sie als Anfragen pro Sekunde und pro Stunde. Für die Anbindung heißt das ohnehin dasselbe wie bei jeder fremden API — bündeln, nicht in Schleifen feuern, Antworten auswerten. d-01zugang ### API-Key & Basis Alle Aufrufe gehen an api.brevo.com/v3, Anfragen und Antworten sind JSON. Authentifiziert wird über einen Schlüssel im Header api-key. Listenabfragen lassen sich mit limit und offset blättern; die Antworten tragen laut Dokumentation Angaben zum verbleibenden Kontingent mit. zweck: authentifizierung d-02kontakte ### Kontakte, Listen & Attribute Kontakte liegen unter /v3/contacts, Listen unter /v3/contacts/lists, Ordner unter /v3/contacts/folders. Eigene Kontaktfelder legt man unter /v3/contacts/attributes an — sie müssen im Konto existieren, bevor die Website sie mitschickt. Bestehende Kontakte kommen über /v3/contacts/lists/{listId}/contacts/add in eine Liste. zweck: datenmodell d-03einwilligung ### Double-Opt-in Für die bestätigte Anmeldung gibt es einen eigenen Endpunkt: /v3/contacts/doubleOptinConfirmation. Übergeben werden die E-Mail-Adresse, die Ziel-Listen als includeListIds, die Vorlage der Bestätigungsmail als templateId und die redirectionUrl für die Landung nach dem Klick. Attribute lassen sich mitgeben. zweck: bestätigte anmeldung d-04transaktional ### Transaktionale Mails Der Versand aus der Website heraus läuft über /v3/smtp/email. Entweder mit sender, to, subject und htmlContent direkt im Aufruf — oder über eine im Konto gepflegte Vorlage per templateId, deren Platzhalter mit params gefüllt werden. Anhänge sind per URL oder als Base64 dokumentiert. zweck: versand aus der seite d-05ereignisse ### Webhooks Unter /v3/webhooks meldet Brevo Ereignisse an eine Adresse der Website. Transaktional dokumentiert sind unter anderem delivered, hardBounce, softBounce, blocked, spam, deferred, opened, uniqueOpened, click und unsubscribed; auf der Marketing-Seite zusätzlich listAddition, contactUpdated und contactDeleted. Die Zahl der Webhooks ist begrenzt. zweck: rückmeldung d-06zustellbarkeit ### Absender-Domain Bevor eine Mail rausgeht, wird die Domain authentifiziert. Brevo dokumentiert dafür einen Brevo-Code als Nachweis, einen DKIM-Eintrag für die Signatur und einen DMARC-Eintrag. Ein eigener SPF-Eintrag ist laut Brevo dafür nicht nötig, weil die technische Absenderdomain bei Brevo liegt — DMARC trägt über DKIM. [dns- & e-mail-audit →](https://www.siteway.de/expertise/dns-e-mail-audit/) ### Zwei Einsatzarten, ein Zugang Der **Marketing-Strang** ist der bekannte: Adressen sammeln, in Listen führen, mit Attributen anreichern, später gezielt an ein Segment senden. Hier arbeitet die Website als Zulieferer. Sie hat einen Job — die Einwilligung sauber einzuholen und den Kontakt vollständig zu übergeben, inklusive der Information, aus welchem Formular er stammt. Alles Weitere passiert danach im Werkzeug, und das ist auch richtig so. Der **transaktionale Strang** dreht die Richtung um: Hier ist die Website der Absender. Sie löst eine Mail an genau eine Person aus, weil etwas passiert ist. Der Vorteil gegenüber dem Versand vom eigenen Webserver liegt in der Zustellbarkeit — der Weg führt über eine Infrastruktur mit authentifizierter Domain, und über Webhooks kommt zurück, ob die Mail zugestellt wurde oder abgeprallt ist. Damit wird aus einem blinden Fleck ein Betriebszustand, den man sehen kann. Beide Stränge teilen sich Konto, Schlüssel und Vorlagen — die Trennung verläuft in den Endpunkten und in den Ereignissen. Praktisch heißt das: Ein einmal gebauter serverseitiger Zugang trägt beide Aufgaben, und die Vorlagen für Bestätigungsmails pflegt die Redaktion an derselben Stelle wie die Newsletter. Was die Website daraus als buchbaren Baustein macht, beschreiben wir unter [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). was die website übernimmt - ▸Anmeldeformular **im Seitendesign** - ▸Serverseitiger **Endpunkt** - ▸Kontakt in **Liste mit Attributen** - ▸Bestätigung per **Double-Opt-in** - ▸Transaktionale **Mails aus der Seite** - ▸Ereignisse **annehmen & ablegen** integration ## Brevo in deine Website integrieren drei systeme · **ein muster** Der Weg zur Anbindung ist in jedem System derselbe, und er ist bewusst systemunabhängig gedacht: Auf der Seite steht ein **eigenes Formular im Design der Website** — nicht ein eingebettetes Fremdformular, das mit eigenen Schriften, eigenen Farben und eigenen Fehlermeldungen daherkommt. Abgeschickt wird an einen **serverseitigen Endpunkt**, der den Schlüssel hält, die Eingaben prüft und den Kontakt anschließend in die vorgesehene Liste schreibt, angereichert um die Attribute, die im Feldmodell verabredet sind. Die Einwilligung läuft über **Double-Opt-in**: Brevo verschickt die Bestätigungsmail aus einer Vorlage, der Klick auf den Link aktiviert den Kontakt, und die Person landet danach auf einer Seite der Website, die wir bestimmen. Daneben steht der zweite Strang, den man leicht übersieht: der **transaktionale Versand** aus der Website heraus. Bestätigungen an Absender von Formularen, Benachrichtigungen an das Team, Termin- und Statusmails gehen dann nicht mehr über die Mailfunktion des Webhostings, sondern über denselben Zugang wie der Newsletter — mit Vorlagen, die die Redaktion pflegen kann, und mit Rückmeldungen darüber, ob die Mail angekommen ist. Für das CMS ändert sich dadurch wenig: Es liefert das Formular, den Endpunkt und die Konfiguration. Unterschiedlich ist nur, wo diese drei Dinge im jeweiligen System zu Hause sind. cms-01typo3 ### Brevo in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Das Anmeldeformular wird ein Plugin-Element, das die Redaktion im Seitenbaum dort platziert, wo es hingehört — im Footer, in einer Spalte, auf einer eigenen Seite. Der Absendevorgang läuft über eine eigene Route mit Middleware: Sie nimmt die Daten entgegen, validiert serverseitig und ruft Brevo auf; dieselbe Mechanik nimmt später die eingehenden Ereignismeldungen an. Die Ausgabe kommt aus Fluid-Templates, damit Formular, Fehlerfall und Dankeseite im Layout des Projekts bleiben. Der API-Schlüssel und die Listen-Kennungen liegen in der Extension-Konfiguration, nicht im Template. Transaktionale Mails der Website laufen über denselben Weg, mit Vorlagen aus dem Brevo-Konto. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Brevo in WordPress In WordPress entsteht die Anbindung als eigenes Plugin statt als Theme-Code — so überlebt sie einen Theme-Wechsel und lässt sich sauber aktualisieren. Der Absendevorgang bekommt eine eigene REST-Route, die serverseitig validiert, gegen Massen-Einträge absichert und den Kontakt an Brevo übergibt; eine zweite Route nimmt die Ereignismeldungen entgegen. Der API-Schlüssel steht in der wp-config.php oder in einer Umgebungsvariablen, nie in der Datenbank und nie im Frontend. Fürs Ausspielen kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion das Formular selbst platziert. Bestätigungsmails der Website gehen über denselben Zugang statt über die Mailfunktion des Servers. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Brevo in Statamic Statamic läuft auf Laravel, und das macht diese Anbindung besonders geradlinig. Eine Route plus Controller nimmt das abgeschickte Formular entgegen, validiert mit den Bordmitteln des Frameworks und spricht Brevo an; eine zweite Route nimmt die Ereignismeldungen an und legt sie zur Verarbeitung in die Queue. Das Formularmodell selbst beschreibt ein Blueprint — welche Felder es gibt, welche Pflicht sind, wie sie im Control Panel heißen. Der API-Schlüssel steht in der .env-Datei und wird über die Konfiguration gelesen, nicht direkt im Code. Gerendert wird über Antlers oder Blade, sodass Formular, Fehlermeldungen und Bestätigungsseite Teil des Templates bleiben. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## E-Mail-Adressen sind personenbezogene Daten kein **nebenschauplatz** Eine E-Mail-Adresse identifiziert eine Person. Sobald sie mit Name, Interesse oder Herkunft verknüpft wird, entsteht ein Profil — und zwar in dem Moment, in dem jemand auf „Anmelden“ klickt. Deshalb bauen wir die Anbindung so, dass die Datenschutzfragen nicht am Ende geklärt werden, sondern im Feldmodell stehen. **Die Einwilligung wird dokumentiert.** Das Double-Opt-in ist dafür der etablierte Weg: Der Klick auf den Bestätigungslink belegt, dass die Person Zugriff auf das Postfach hat. Wir halten fest, wann die Anmeldung einging, aus welchem Formular sie kam und welcher Hinweistext dabei zu sehen war. Ohne diese drei Angaben ist der schönste Verteiler im Streitfall eine Behauptung. **Es wird nur erhoben, was gebraucht wird.** Pflicht ist die E-Mail-Adresse, alles Weitere muss sich begründen lassen. Ein Attribut, das niemand für die Segmentierung nutzt, hat im Formular nichts verloren. Und weil Brevo die Daten im Auftrag verarbeitet, gehört ein Vertrag zur **Auftragsverarbeitung nach Artikel 28 DSGVO** dazu — genauso wie beim Hoster. In der Datenschutzerklärung stehen anschließend der Dienstleister, der Zweck, die Rechtsgrundlage und die Löschfrist. **Das Ende gehört zum Anfang.** Jede Mail trägt den Abmeldelink, jede Abmeldung wirkt sofort, und eine Löschanfrage lässt sich über die Schnittstelle ausführen, statt sie von Hand durch Oberflächen zu klicken. Was wir hier beschreiben, ist die technische Umsetzung und keine Rechtsberatung — die rechtliche Bewertung des konkreten Falls gehört in fachkundige Hände. Wie wir Websites grundsätzlich sparsam und mit sauberen Security-Headern ausliefern, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). checkliste vor dem go-live - ▸Einwilligung **aktiv & protokolliert** - ▸AV-Vertrag nach **Art. 28 DSGVO** - ▸Datenschutzerklärung **ergänzt** - ▸Nur **benötigte Felder** übertragen - ▸Abmeldung & **Löschung** vorgesehen - ▸Schlüssel **serverseitig**, Übertragung per TLS [datenschutz-audit ansehen →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist Brevo? Brevo ist eine Cloud-Plattform für E-Mail-Marketing und transaktionalen Versand — beides in einem Dienst und über dieselbe Schnittstelle erreichbar. Das Unternehmen wurde 2012 in Paris gegründet und trug bis zur Umbenennung im Jahr 2023 den Namen Sendinblue. Für die Website zählt vor allem die dokumentierte REST-API in Version 3 unter api.brevo.com: Kontakte, Listen, Attribute, Double-Opt-in, transaktionale E-Mails mit Vorlagen und Webhooks für Zustellereignisse sind darüber ansprechbar. ### Was ist der Unterschied zwischen E-Mail-Marketing und transaktionalem Versand? Marketing meint den Versand an eine Liste: Ein Newsletter geht an viele Empfänger, die vorher eingewilligt haben. Transaktional meint den Versand an genau eine Person als Reaktion auf eine Handlung — die Bestätigung eines abgeschickten Formulars, ein Link zum Zurücksetzen eines Passworts, eine Benachrichtigung ans Team. Brevo trennt das technisch sauber: Kontakte und Listen liegen unter den Contacts-Endpunkten, der transaktionale Versand läuft über einen eigenen Endpunkt mit eigenen Vorlagen und eigenen Webhook-Ereignissen. Eine Website nutzt in der Regel beides. ### Wie funktioniert die Brevo-API? Die dokumentierte Version 3 liegt unter api.brevo.com/v3. Authentifiziert wird über einen Schlüssel, der als Header api-key mitgeschickt wird; Anfragen und Antworten sind JSON. Kontakte liegen unter /v3/contacts, Listen unter /v3/contacts/lists, eigene Kontaktfelder unter /v3/contacts/attributes. Der transaktionale Versand läuft über /v3/smtp/email, Zustellereignisse meldet Brevo über Webhooks unter /v3/webhooks. Listenabfragen lassen sich mit limit und offset blättern, und die Antworten tragen laut Dokumentation Angaben zum verbleibenden Anfragekontingent mit. ### Wie läuft eine Newsletter-Anmeldung mit Double-Opt-in über Brevo? Über einen eigenen Endpunkt. Das Formular auf der Website schickt die Adresse an unseren Server, dieser ruft /v3/contacts/doubleOptinConfirmation auf und übergibt die E-Mail-Adresse, die Ziel-Listen als includeListIds, die Vorlage der Bestätigungsmail als templateId und die redirectionUrl, auf der die Person nach dem Klick landet. Brevo verschickt daraufhin die Bestätigungsmail; erst der Klick auf den Link macht den Kontakt in der Liste aktiv. Attribute wie Vorname oder Herkunft des Formulars lassen sich mitgeben, sofern sie im Konto angelegt sind. ### Warum sollte die Website ihre Bestätigungsmails über Brevo verschicken? Weil der eigene Webserver dafür oft der schlechtere Absender ist. Formularbestätigungen, die direkt vom Webhosting rausgehen, landen leicht im Spam-Ordner oder werden gar nicht erst angenommen — und niemand merkt es, weil die Website ja eine Erfolgsmeldung angezeigt hat. Über den transaktionalen Versand von Brevo geht dieselbe Mail über eine Infrastruktur raus, die für Zustellung gebaut ist, mit authentifizierter Absender-Domain und mit Ereignismeldungen, die zurück auf die Website kommen. Der Versand wird damit nachvollziehbar statt vermutet. ### Was muss an der Absender-Domain eingerichtet sein? Die Domain, aus der die Mails kommen, muss bei Brevo authentifiziert werden. Brevo dokumentiert dafür drei DNS-Einträge: einen Brevo-Code als Nachweis für die Domain, einen DKIM-Eintrag für die Signatur und einen DMARC-Eintrag. Ein eigener SPF-Eintrag ist laut Brevo für diese Authentifizierung nicht nötig, weil die technische Absenderdomain auf Seiten von Brevo liegt; für DMARC trägt dann die DKIM-Signatur. Ob die vorhandenen Einträge zusammenpassen und ob der normale Postfach-Versand des Unternehmens dabei heil bleibt, prüfen wir vorher in einem eigenen Audit. ### Wie erfährt die Website, ob eine E-Mail angekommen ist? Über Webhooks. Brevo ruft eine Adresse auf der Website auf, sobald ein Ereignis eintritt; angelegt und verwaltet werden diese Aufrufe unter /v3/webhooks. Für den transaktionalen Versand sind unter anderem delivered, hardBounce, softBounce, blocked, spam, deferred, opened, uniqueOpened, click und unsubscribed dokumentiert, auf der Marketing-Seite kommen Ereignisse wie listAddition, contactUpdated und contactDeleted dazu. Die Zahl der Webhooks ist laut Dokumentation begrenzt, deshalb sammeln wir die Ereignisse auf einem Endpunkt, statt für jeden Fall einen eigenen anzulegen. Dieser Endpunkt nimmt die Meldung an, legt sie ab und arbeitet sie im Hintergrund ab. ### Lässt sich Brevo in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien — und zwar so, dass das Formular im Design der Website steht und der Schlüssel auf dem Server bleibt. In TYPO3 bauen wir eine eigene Extension: Das Formular ist ein Plugin-Element im Seitenbaum, eine eigene Route mit Middleware nimmt den Absendevorgang und die Webhook-Meldungen entgegen, gerendert wird über Fluid, der Schlüssel liegt in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route, dem Schlüssel in der wp-config.php oder in einer Umgebungsvariablen und Template-Dateien beziehungsweise Blocks fürs Frontend. In Statamic liegt Laravel darunter: Route plus Controller, ein Blueprint für das Formularmodell, der Schlüssel in der .env-Datei, Ausgabe über Antlers oder Blade. womit das zusammenhängt ## Womit das zusammenhängt dienste, technik & **leistung** - [CleverReach.](https://www.siteway.de/stack/cleverreach/) — Der Newsletter-Dienst aus Deutschland und wie seine Schnittstelle an ein Anmeldeformular im Seitendesign kommt. zur technik → - [Mailchimp.](https://www.siteway.de/stack/mailchimp/) — Der bekannteste Dienst im Feld — andere Mechanik, dieselbe Frage: Wie kommt der Kontakt sauber und bestätigt in die Liste? zur technik → - [rapidmail.](https://www.siteway.de/stack/rapidmail/) — Der schlanke Anbieter aus Freiburg, wenn es vor allem um Newsletter geht — und um kurze Wege beim Datenschutz. zur technik → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Die Technik hier, der Baustein dort: Anmeldeformular, Double-Opt-in, Segmentierung und Consent-Protokoll als buchbare Komponente. zur komponente → - [DNS- & E-Mail-Audit.](https://www.siteway.de/expertise/dns-e-mail-audit/) — Bevor die erste Mail rausgeht: Absender-Domain, DKIM, DMARC und der Rest der Einträge, an denen Zustellbarkeit hängt. zum audit → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Feldmodell, Umsetzung, Monitoring und Betrieb der Anbindung — von der ersten Zeile bis zum laufenden Betrieb. zur leistung → Brevo an deine Website anbinden? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # CADENAS **CADENAS** steht für elektronische CAD-Produktkataloge — die Art, wie ein Industrieunternehmen seine Bauteile so bereitstellt, dass Konstrukteure sie konfigurieren und als 2D- oder 3D-Modell in ihr CAD-System übernehmen. Für siteway ist das eine Aufgabe mit zwei Ebenen: Die **Produktseite gehört der Website**, die CAD-Ebene gehört dem Katalog. Diese Seite beschreibt, wie wir beides zusammenbringen — und warum ein CAD-Download im Maschinenbau ein echter Lead ist. stack system: cadenas · cad-produktkatalog weg: einbettung · stammdaten ausgabe: 2d- & 3d-cad seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir CADENAS anbinden](#einsatz) definition ## Was ist CADENAS? **CADENAS ist ein Softwarehersteller aus Augsburg für elektronische CAD-Produktkataloge und strategisches Teilemanagement.** Hinter dem Namen steht die CADENAS GmbH in der Schernecker Straße in Augsburg, eingetragen beim Amtsgericht Augsburg. Gegründet wurde das Unternehmen 1992; 2025 wurde es Teil der KEYENCE-Gruppe. Das Angebot zeigt in zwei Richtungen. Für **Komponentenhersteller** nennt CADENAS die Lösung **eCATALOGsolutions**, inzwischen auch als *eCATALOG 3Dfindit* geführt — laut Hersteller eine Softwarelösung zur Erstellung und Vermarktung von elektronischen CAD-Produktkatalogen. Für **Konstruktion und Einkauf** steht **PARTsolutions** beziehungsweise *ENTERPRISE 3Dfindit* für das Verwalten und Finden von Norm-, Kauf- und Eigenteilen. Dazu kommen die Portale **3Dfindit.com** und **PARTcommunity** sowie **BIMcatalogs.net** für Architektur und Bauwesen. Das Prinzip dahinter ist ein **Single-Source-Ansatz**: Die Produktdaten liegen in einer zentralen Datenbank, und daraus bedient der Katalog verschiedene Ausgabekanäle — der Hersteller nennt unter anderem Web, PDF, gedruckten Katalog und App. Der Web-Kanal ist damit einer von mehreren, und genau er ist der, an dem eine Website andockt. Für eine Website zählt vor allem eine Angabe des Herstellers: **Die digitalen Daten der Komponenten stehen über eCATALOGsolutions auf der eigenen Website zum Download bereit, und das Downloadportal lässt sich an das Corporate Design anpassen.** Damit ist der CAD-Download keine Fremdadresse mehr, auf die man verlinkt, sondern ein Bestandteil des eigenen Auftritts — und eine [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/), um die herum sich bauen lässt. $ cat cadenas.md - ✓Hersteller cadenas gmbh · augsburg - ✓Gegründet 1992 - ✓Gruppe keyence · seit 2025 - ✓Herstellerkatalog ecatalogsolutions - ✓Teilemanagement partsolutions - ✓Portale 3dfindit · partcommunity - ✓Bau & BIM bimcatalogs.net praxis ## Wie wir CADENAS anbinden produktseite im cms · **cad im katalog** Die wichtigste Entscheidung fällt vor der ersten Zeile Code, und sie betrifft die Aufteilung: **Die Produktseite gehört der Website, die CAD-Ebene gehört dem Katalog.** Für jedes Produkt oder jede Baureihe entsteht eine eigene Seite im [CMS](https://www.siteway.de/stack/cms-redaktion/) — mit Beschreibung, Anwendungsfällen, technischen Eckdaten als Tabelle, Bildern und Datenblatt. In diese Seite kommt die Katalogoberfläche dort hinein, wo der Konstrukteur konfiguriert und herunterlädt. Die Website liefert den Inhalt und die Auffindbarkeit, der Katalog die Varianten und die CAD-Daten. Beides zusammen ergibt eine Seite, die trägt. Am Anfang steht deshalb keine Programmierung, sondern eine **Klärung**. Was liefert das gebuchte Katalogprodukt — nur die Oberfläche, oder auch Produktstruktur und Stammdaten in einer maschinenlesbaren Form? Unter welcher Adresse läuft die Oberfläche? Lässt sich gezielt auf eine Baureihe verlinken? Diese Punkte hängen vom konkreten Vertrag mit CADENAS ab und werden gemeinsam mit dem Hersteller festgelegt, bevor gebaut wird. Wir schreiben nichts auf eine Produktseite, was wir nicht am konkreten Katalog geprüft haben. Steht das fest, **spiegeln wir die Produktstruktur** im festen Takt in das CMS: Baureihen, Kategorien, Bezeichnungen, Produktnummern. Die Produktnummer ist dabei der Schlüssel — über sie erkennt der zweite Lauf ein Produkt wieder und aktualisiert es, statt eine Dublette anzulegen, und über sie zeigt der Deep-Link später auf die richtige Stelle im Katalog. Woher diese Daten kommen, ist eine Frage des Projekts: aus dem Katalogsystem, aus einem vorgelagerten PIM oder ERP, oder aus redaktioneller Pflege. Bilder und Datenblätter ziehen wir auf den eigenen Server und schicken sie durch dieselbe Bildpipeline wie den Rest der Website — skaliert, als [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/), mit Maßen im Markup. Dann kommt die **Einbettung** selbst — und die ist mehr Handwerk, als es klingt. Sie bekommt einen eigenen Container mit definiertem Verhalten: kein horizontales Scrollen auf dem Telefon, eine nachvollziehbare Fokusreihenfolge zwischen Seite und Oberfläche, ein Ladeverhalten, das die Seite nicht ausbremst, und eine Überschrift darüber, die erklärt, was gleich passiert. Dazu die Wege in beide Richtungen: von der Produktseite gezielt in die passende Baureihe hinein, und aus dem Katalogergebnis zurück in die [Anfragestrecke](https://www.siteway.de/expertise/formularstrecken/) der Website. **Neben dem Download steht die Anfrage.** Wer ein Modell herunterlädt, hat Interesse; wer eine Frage zur Auslegung hat, soll sie an derselben Stelle stellen können — mit Produkt und Baureihe vorbelegt, damit im Vertrieb sofort klar ist, worum es geht. Nachvollziehbarkeit bauen wir auf beiden Seiten: Auf der Website messen wir, was ohne Personenbezug messbar ist — Aufruf der Produktseite, Öffnen des Katalogs, abgeschickte Anfrage. CADENAS nennt für den Herstellerkatalog eigene Statistik- und Analysefunktionen; wie sich beide Bilder zusammenführen lassen, gehört in dieselbe Klärung wie alles andere. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die eingebettete Oberfläche nicht oder wird sie mangels Einwilligung gar nicht erst geladen, bleibt die Produktseite vollständig lesbar — Text, Eckdaten, Datenblatt, Kontakt. Der Katalog ist ein Baustein der Seite, nicht ihre Existenzgrundlage. Dieselbe Sorgfalt gilt für den Rückweg: Geht eine Anfrage nicht durch, wird sie zwischengespeichert, erneut versucht und geht zusätzlich per E-Mail ans Team. Details dazu in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Produktseite ins **CMS**, CAD in den Katalog - 02Erst **klären**, was der Katalog liefert - 03Produktstruktur **spiegeln**, im festen Takt - 04Produktnummer als **Schlüssel** - 05Einbettung erst nach **Einwilligung** - 06Seite bleibt lesbar, **auch ohne Katalog** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus **herstellerangaben** Ein Hinweis zur Quellenlage, weil er die ganze Seite betrifft: Was hier steht, stammt aus den öffentlichen Angaben von CADENAS. Eine frei zugängliche Entwickler-Dokumentation mit Adressen und Parametern gibt es dazu nicht. Deshalb beschreiben wir den Weg bewusst allgemein und benennen an jeder Stelle, was vorab zu klären ist. **Der konkrete Weg hängt vom gebuchten Katalogprodukt ab** — und wird vor der Umsetzung mit dem Hersteller und mit CADENAS festgelegt, nicht geraten. d-01klärung ### Was der Katalog liefert Der erste Schritt ist eine Liste von Fragen, keine Implementierung: Kommt nur die Oberfläche, oder auch Produktstruktur und Stammdaten maschinenlesbar? Unter welcher Adresse läuft die Oberfläche? Ist ein gezielter Einstieg in eine Baureihe möglich? Welche Auswertungen stehen bereit? Die Antworten hängen vom gebuchten Produkt ab und werden gemeinsam mit CADENAS geklärt. zweck: grundlage schaffen d-02daten ### Produktstruktur & Stammdaten Baureihen, Kategorien, Bezeichnungen und Produktnummern gehören in das Datenmodell des CMS — als eigene Inhaltsart mit eigenen Feldern, eigener Adresse und eigener Sortierung. Die Produktnummer ist der Schlüssel für den wiederholten Abgleich und für den Deep-Link. Bilder und Datenblätter liegen danach auf der eigenen Domain und nicht auf einer fremden. zweck: eigene produktebene d-03katalog ### Konfiguration & CAD-Download Das ist die Ebene, die der Katalog besser kann als jedes selbstgebaute Frontend. Als Bestandteile von eCATALOGsolutions nennt CADENAS unter anderem Multi-CAD- und Multi-CAE-Daten, eine interaktive 3D-Visualisierung, einen Produktkonfigurator für technische Produkte und ein 3D-PDF-Datenblatt. Der Nutzer wählt die Variante und bekommt am Ende sein Modell. zweck: varianten & ausleitung d-04formate ### CAD-Formate Für die Suchmaschine 3Dfindit gibt CADENAS 3D-CAD-Daten in über 150 nativen und neutralen CAD- und Grafikformaten an und nennt als Beispiele Autodesk Revit, Nemetschek ALLPLAN, ArchiCAD, Autodesk Inventor, NX, Solid Edge, PTC Creo Parametric, AutoCAD, CATIA und SOLIDWORKS. Welche Formate ein konkreter Katalog ausspielt, ist eine Frage seiner Konfiguration — und deshalb nichts, was wir ungeprüft auf eine Produktseite schreiben. zweck: nur belegtes nennen d-05einbettung ### Einbettung & Erscheinungsbild CADENAS gibt an, dass die digitalen Daten der Komponenten auf der eigenen Website zum Download bereitstehen, dass sich das Downloadportal nahtlos an das Corporate Design anpassen lässt und dass sich ein bestehender eShop oder ein CRM-System anschließen lässt. Wie das im Einzelfall technisch umgesetzt wird, gehört in die Klärung — die Umgebung drumherum bauen in jedem Fall wir. zweck: ein auftritt statt zwei d-06kanäle ### Eine Quelle, mehrere Kanäle Der Hersteller beschreibt einen Single-Source-Ansatz: Die Produktdaten liegen zentral, und daraus werden verschiedene Ausgabemedien bedient — genannt werden unter anderem Web, PDF, gedruckter Katalog und App. Für uns ist das eine nützliche Einordnung. Die Website bedient den Web-Kanal, macht aus ihm aber eigene Seiten statt eines Fensters in ein fremdes System. zweck: einordnung ### Warum ein CAD-Download ein Lead ist Im Maschinenbau ist der Download eines CAD-Modells keine Beschaffung von Informationsmaterial, sondern eine **Vorentscheidung**. Wer ein Bauteil in seine Konstruktion einsetzt, hat sich damit gedanklich für den Hersteller entschieden — Anschlussmaße, Bauraum und Umgebungsgeometrie richten sich anschließend nach diesem Teil. Ein Wechsel danach kostet Konstruktionszeit. Genau deshalb ist der Weg zum Modell so wichtig, und genau deshalb ist er eine Aufgabe der Website und nicht nur des Katalogs. Die Website unterstützt diesen Weg an drei Stellen. **Sichtbarkeit:** Der Konstrukteur muss die Produktseite überhaupt finden — über die Suche, über die [Katalogstruktur](https://www.siteway.de/expertise/produktkatalog/) der Website, über einen Fachbegriff, den er kennt. **Übergabe:** Von der Produktseite in den Katalog darf keine Sackgasse werden — kein blinder Einstieg auf der Startseite eines Portals, sondern der gezielte Sprung in die richtige Baureihe. **Nachvollziehbarkeit:** Was auf der Seite passiert, sollte messbar sein, ohne dass dafür personenbezogene Daten nötig werden — und die Anfrage daneben sollte im Vertrieb ankommen, mit Kontext. ### Der Punkt mit der Sichtbarkeit Hier liegt die Entscheidung, die im Industrieumfeld am häufigsten falsch getroffen wird. Liegen **alle** Produktdaten ausschließlich in einer eingebetteten Fremdoberfläche, hat die eigene Website an dieser Stelle wenig eigenen, indexierbaren Inhalt — die Substanz ist da, aber sie gehört dem Katalog. Deshalb entstehen bei uns **eigene Produktseiten im CMS**: Beschreibung, Anwendungsfälle, technische Eckdaten als Tabelle, Datenblatt und [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern, dazu eine dauerhafte, sprechende Adresse und eine Regel für Produkte, die aus dem Sortiment fallen. Das ist ausdrücklich **kein Argument gegen die Einbettung**. Ein Konfigurator, der aus Maßen und Optionen ein exaktes Modell in Dutzenden CAD-Formaten erzeugt, ist eine erhebliche Leistung, und niemand sollte versuchen, sie im CMS nachzubauen. Die beiden Ebenen haben schlicht verschiedene Aufgaben: Die CMS-Ebene sorgt dafür, dass jemand die Seite findet und versteht. Die Katalogebene sorgt dafür, dass er mit dem richtigen Modell wieder herausgeht. Wer beides bewusst trennt, bekommt beides. Wer es dem Zufall überlässt, verliert meist die erste Hälfte. Zwei Themen ziehen sich quer durch: **Mehrsprachigkeit** und Betrieb. Ein Herstellerkatalog ist selten einsprachig, und die Produktseiten daneben sollten es dann auch nicht sein — mit sauberer Sprachzuordnung, eigenen Adressen je Sprache und einer Redaktion, die weiß, welche Felder aus dem Abgleich kommen und welche sie selbst pflegt. Wie wir das aufsetzen, steht bei [Mehrsprachigkeit](https://www.siteway.de/expertise/mehrsprachigkeit/); was daneben als eigene Komponente gebaut wird, bei [Download & Mediathek](https://www.siteway.de/expertise/download-mediathek/) und [Konfiguratoren](https://www.siteway.de/expertise/konfiguratoren/). Beim **Datenschutz** gibt es zwei Punkte, die früh auf den Tisch gehören. Erstens: Verlangt der Download eine Registrierung, werden personenbezogene Daten erhoben — dann gelten Datensparsamkeit, eine benannte Zweckbindung, eine nachvollziehbar dokumentierte Einwilligung und festgelegte Löschfristen, genau wie bei jedem anderen Formular. Zweitens: Eine eingebettete Fremdoberfläche lädt von einer fremden Stelle, und dieser Aufruf gehört sauber in die Consent-Behandlung der Website — mit einer verständlichen Vorschaltung statt eines stillen Nachladens. Dazu kommen der Auftragsverarbeitungsvertrag und der Eintrag in der Datenschutzerklärung. Das ist keine Rechtsberatung, sondern eine Arbeitsliste; mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Produktseite mit **eigenem Inhalt** - ▸Eckdaten als **Tabelle** - ▸Katalog **eingebettet**, nicht verlinkt - ▸Deep-Link in die **richtige Baureihe** - ▸Anfrage **mit Produktbezug** - ▸Consent vor dem **Nachladen** integration ## CADENAS in deine Website integrieren drei systeme · **ein muster** Der Weg ist in allen Systemen derselbe, weil die Arbeitsteilung dieselbe ist: **Die Produktdaten und die Katalog- beziehungsweise Konfiguratoroberfläche kommen aus dem System — die Einbettung und das Drumherum baut die Website.** Im CMS liegt alles, was Inhalt ist und gefunden werden soll: die Produktseite selbst, ihre Beschreibung, die Anwendungsfälle, die technischen Eckdaten als Tabelle, Bilder, Datenblatt, Übersetzungen, strukturierte Daten und die dauerhafte Adresse. Aus dem Katalog kommt, was die CAD-Ebene ausmacht: die Varianten, die Konfiguration über Maße und Optionen und die Ausleitung der 2D- und 3D-Modelle in die Formate, die der Konstrukteur braucht. Daraus ergibt sich in jedem CMS dieselbe Kette. Ein **geplanter Lauf** hält die Produktstruktur nach — Baureihen, Bezeichnungen, Produktnummern —, die Produktnummer dient als Schlüssel für den wiederholten Abgleich, und ein **eigenes Element im Editor** setzt die Katalogoberfläche dorthin, wo die Redaktion sie haben will. Ausgeliefert wird aus dem eigenen Bestand, also aus Cache oder statisch erzeugten Seiten; die Oberfläche lädt erst, wenn sie gebraucht wird und die Einwilligung dafür vorliegt. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wo die Produktseiten liegen und womit die Redaktion sie pflegt. cms-01typo3 ### CADENAS in TYPO3 Im Industrieumfeld ist TYPO3 oft gesetzt — mehrsprachige Auftritte, viele Redakteure, feine Rechte. Die Anbindung bauen wir als eigene Extension: Das TCA beschreibt die Inhaltsart „Produkt“ mit genau den Feldern aus dem Mapping, die Produkte liegen als Records in einem Systemordner, Bilder und Datenblätter in FAL. Der Abgleich der Produktstruktur läuft als Scheduler-Task. Die Katalogeinbindung wird ein eigenes Content-Element, das die Redaktion auf der Produktseite platziert und mit der Baureihe verknüpft. Sprechende Adressen kommen aus dem Site Handling, gerendert wird über Fluid, Zugangsdaten stehen in der Extension-Konfiguration und nie im Repository. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### CADENAS in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie jeden Theme-Wechsel. Die Produkte werden ein Custom Post Type mit Meta-Feldern für die technischen Angaben und Taxonomien für Kategorie und Baureihe. Ein geplanter Lauf hält die Stammdaten nach und erkennt bestehende Produkte an der Produktnummer wieder. Für die Katalogeinbindung kommt ein eigener Block für den Editor dazu, alternativ ein Shortcode für ältere Inhalte; beide bekommen die Baureihe als Parameter. Zugangsdaten stehen als Konstante in der wp-config.php und nie im Frontend. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### CADENAS in Statamic Statamic läuft auf Laravel — das macht den Datenweg besonders geradlinig. Ein Blueprint beschreibt das Produkt, die Produkte liegen als Entries in einer eigenen Collection, Bilder und Datenblätter als Assets im eigenen Container. Ein Artisan-Command holt die Produktstruktur und schreibt sie fort, der Laravel-Scheduler bestimmt den Takt. Antlers oder Blade rendern Produktseite, Eckdatentabelle und die Katalogeinbindung; Static Caching liefert das Ergebnis aus. Zugangsdaten liegen in der .env. Im Control Panel pflegt die Redaktion die Felder, die der Abgleich nicht anfasst. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Was gehört ins CMS, was in den Katalog? zuordnung statt **rangliste** Fast jede Diskussion über einen CAD-Katalog auf der eigenen Website endet bei dieser einen Frage. Sie hat keine grundsätzliche Antwort, sondern eine pro Information: Was ist Inhalt, den jemand lesen und finden können soll — und was ist eine technische Ausleitung, die aus Varianten entsteht? An drei Mustern lässt sich das zuordnen. e-01cms ### Was die Website tragen muss Bezeichnung, Beschreibung, Anwendungsfälle, Baureihe, Kategorie, Bilder, Datenblätter, technische Eckdaten: Das sind Inhalte, keine Ausleitungen. Sie gehören ins CMS, bekommen eine dauerhafte Adresse und strukturierte Daten. So bleibt die Seite auffindbar, lesbar und redaktionell ergänzbar — auch dann, wenn die Katalogoberfläche gerade nicht lädt. inhalt · fester takt e-02katalog ### Was der Katalog besser kann Varianten über Maße und Optionen, die Regeln dahinter, die interaktive 3D-Ansicht und die Ausleitung des fertigen Modells in das Format des jeweiligen CAD-Systems: Das ist die Kernleistung des Katalogs. Sie im CMS nachzubauen, wäre eine schlechte Idee — hier bindet die Website ein, statt selbst zu rechnen. varianten · cad-ausleitung e-03kombination ### Wo beides zusammenläuft Der Regelfall: eine Produktseite aus dem CMS, in der die Katalogoberfläche sitzt, ein Deep-Link, der gezielt in die passende Baureihe führt, und eine Anfragestrecke direkt daneben. Eine Ebene für den Inhalt, eine für die Konfiguration — und ein einziger Auftritt, in dem der Nutzer nicht merkt, dass zwei Systeme beteiligt sind. inhalt + konfiguration ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Welches Katalogprodukt ist gebucht, und was liefert es außer der Oberfläche? Wie viele Baureihen soll die Website als eigene Seiten führen, und wer pflegt deren Texte? Kommen die Stammdaten aus dem Katalogsystem oder aus einem vorgelagerten System? Ist ein gezielter Einstieg in eine Baureihe möglich, oder landet der Nutzer immer auf der Startseite des Portals? Und verlangt der Download eine Registrierung — wenn ja, wer verarbeitet die dabei entstehenden Daten? Danach steht die Aufteilung als Dokument, bevor gebaut wird. Dieselbe Logik greift bei den Nachbarsystemen: Ein [PIM](https://www.siteway.de/stack/pim/) ist die saubere Quelle, wenn Produktdaten aus mehreren Systemen zusammenlaufen, [SAP](https://www.siteway.de/stack/sap/) bringt die kaufmännische Seite mit. Welche Anbindung ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Texte, Bilder, Eckdaten → **CMS** - ▸Baureihen & Nummern → **CMS, gespiegelt** - ▸Varianten & Regeln → **Katalog** - ▸CAD-Ausleitung → **Katalog** - ▸Anfrage & Kontakt → **Website** faq ## Häufige Fragen ### Was ist CADENAS? CADENAS ist ein Softwarehersteller aus Augsburg, der elektronische CAD-Produktkataloge und strategisches Teilemanagement anbietet. Hinter dem Namen steht die CADENAS GmbH mit Sitz in der Schernecker Straße in Augsburg, eingetragen beim Amtsgericht Augsburg; gegründet wurde das Unternehmen 1992, 2025 wurde es Teil der KEYENCE-Gruppe. Für Komponentenhersteller nennt CADENAS die Lösung eCATALOGsolutions, inzwischen auch als eCATALOG 3Dfindit geführt, als Softwarelösung zur Erstellung und Vermarktung von elektronischen CAD-Produktkatalogen. Für Konstruktion und Einkauf steht PARTsolutions beziehungsweise ENTERPRISE 3Dfindit für das Verwalten und Finden von Norm-, Kauf- und Eigenteilen. Dazu kommen die Portale 3Dfindit.com und PARTcommunity sowie BIMcatalogs.net für Architektur und Bauwesen. ### Was ist ein elektronischer CAD-Produktkatalog? Ein elektronischer CAD-Produktkatalog ist die digitale Ausgabe eines Bauteilsortiments für Konstrukteure. Statt eines PDF zum Blättern bekommt der Nutzer eine Oberfläche, in der er eine Baureihe auswählt, die Variante über Maße und Optionen bestimmt und das fertige Bauteil als 2D-Zeichnung oder 3D-Modell im Format seines CAD-Systems herunterlädt. Für den Hersteller liegt der Nutzen darin, dass sein Bauteil unmittelbar in fremde Konstruktionen wandert. Für die Website heißt das: Der Katalog ist eine eigene Ebene neben den Produktseiten und kein Ersatz für sie. ### Lassen sich CAD-Downloads in die eigene Website einbinden? Ja. CADENAS gibt an, dass die digitalen Daten der Komponenten über eCATALOGsolutions auf der eigenen Website zum Download bereitstehen und dass sich das Downloadportal nahtlos an das Corporate Design anpassen lässt; ebenso nennt der Hersteller die Möglichkeit, einen bestehenden eShop oder ein CRM-System anzuschließen. Wie die Einbettung im Einzelfall technisch aussieht, hängt vom gebuchten Katalogprodukt ab und wird vor der Umsetzung geklärt. Unsere Arbeit liegt um die Einbettung herum: die Produktseite, in der sie sitzt, die Adresse, unter der sie läuft, der Deep-Link von der Produktseite auf die richtige Baureihe, das Verhalten auf kleinen Bildschirmen und der Fall, dass die Oberfläche einmal nicht antwortet. ### In welchen CAD-Formaten stehen die Modelle bereit? Das entscheidet der jeweilige Katalog, nicht die Website. Für die Suchmaschine 3Dfindit nennt CADENAS 3D-CAD-Daten in über 150 nativen und neutralen CAD- und Grafikformaten und führt als Beispiele Autodesk Revit, Nemetschek ALLPLAN, ArchiCAD, Autodesk Inventor, NX, Solid Edge, PTC Creo Parametric, AutoCAD, CATIA und SOLIDWORKS an. Welche Formate ein konkreter Herstellerkatalog tatsächlich ausspielt, ist eine Frage seiner Konfiguration und gehört in die Klärung vor dem Projekt. Auf eine Produktseite schreiben wir keine Formatliste, die wir nicht am konkreten Katalog geprüft haben. ### Schadet eine eingebettete Katalogoberfläche der Sichtbarkeit in Suchmaschinen? Sie schadet nicht, sie trägt an dieser Stelle nur nichts bei. Liegt der gesamte Produktinhalt in einer eingebetteten Fremdoberfläche, hat die eigene Website dort wenig eigenen, indexierbaren Text. Deshalb bauen wir die Produktebene im CMS: eine Seite je Produkt oder Baureihe mit Beschreibung, Anwendungsfällen, technischen Eckdaten als Tabelle, Bildern, Datenblatt und strukturierten Daten, dazu eine dauerhafte, sprechende Adresse. Der Katalog übernimmt daneben die CAD-Ebene, also Varianten, Konfiguration und Download. Beide Ebenen haben ihre Aufgabe, und sie kommen sich nicht in die Quere, solange die Aufteilung von Anfang an bewusst getroffen wird. ### Gibt es eine öffentliche Entwickler-Dokumentation für CADENAS? Eine frei zugängliche Entwickler-Dokumentation ist öffentlich nicht auffindbar. CADENAS beschreibt auf den Herstellerseiten, was die Katalogprodukte leisten, veröffentlicht dort aber keine offene technische Referenz mit Adressen und Parametern. Deshalb beschreiben wir den Weg auf dieser Seite bewusst allgemein und erfinden keine technischen Details. Was im Einzelfall gilt — Art der Einbettung, Form der Datenlieferung, Deep-Links, Adressen und Auswertung —, hängt vom gebuchten Katalogprodukt ab und wird vor der Umsetzung mit dem Hersteller und mit CADENAS geklärt. Erst danach steht fest, was die Website selbst übernimmt und was aus dem Katalog kommt. ### Lässt sich CADENAS in TYPO3, WordPress oder Statamic integrieren? Ja, und in allen drei Systemen nach demselben Muster. Die Produktdaten und die Katalogoberfläche kommen aus dem Katalogsystem, die Produktseiten und die Einbettung baut die Website. In TYPO3 entsteht dafür eine eigene Extension: Produktseiten als Records mit den Feldern aus dem Mapping, die Katalogeinbindung als Content-Element, sprechende Adressen über das Site Handling, gerendert mit Fluid. In WordPress entsteht ein eigenes Plugin statt Theme-Code, mit einem Custom Post Type für die Produkte, einem Block beziehungsweise Shortcode für die Katalogeinbindung und einem geplanten Lauf für die Stammdaten. In Statamic liegt Laravel darunter: eine Collection mit Blueprint für die Produkte, ein Artisan-Command im Scheduler und Antlers oder Blade für die Einbindung. Die Mechanik bleibt dieselbe, nur der Ort, an dem die Produktseiten liegen, ist ein anderer. ### Was ist beim Datenschutz zu beachten, wenn ein CAD-Download eine Registrierung verlangt? Sobald für den Download personenbezogene Daten erhoben werden, gelten dieselben Regeln wie für jedes andere Formular: nur die Felder abfragen, die wirklich gebraucht werden, den Zweck benennen, die Einwilligung nachvollziehbar dokumentieren, Löschfristen festlegen. Die eingebettete Fremdoberfläche kommt hinzu. Sie lädt von einer fremden Stelle, und dieser Aufruf gehört sauber in die Consent-Behandlung der Website — mit einer verständlichen Vorschaltung statt eines stillen Nachladens im Hintergrund. Dazu gehören ein Auftragsverarbeitungsvertrag mit dem Anbieter und ein Eintrag in der Datenschutzerklärung. Das ist keine Rechtsberatung, sondern die Liste der Punkte, die im Projekt abgearbeitet wird. womit das zusammenhängt ## Womit das zusammenhängt systeme, komponenten & **leistung** - [PIM.](https://www.siteway.de/stack/pim/) — Die Quelle davor: Wo Produktdaten aus mehreren Systemen zusammenlaufen, bevor sie auf die Website und in den Katalog gehen. zur technik → - [SAP.](https://www.siteway.de/stack/sap/) — Die kaufmännische Seite daneben: Artikelstamm, Preise und Verfügbarkeit — und die Frage, was davon auf die Website gehört. zur technik → - [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) — Was die Produktseite maschinenlesbar macht — aus denselben Feldern, die auch die Eckdatentabelle füllen. zur technik → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Die buchbare Komponente auf der CMS-Seite: Liste mit Facettenfilter, Produktdetailseiten und Anfrage statt Kasse. zur leistung → - [Download & Mediathek.](https://www.siteway.de/expertise/download-mediathek/) — Für alles neben den CAD-Daten: Datenblätter, Zertifikate und Anleitungen mit Kategorien, Versionierung und Zugriffsregeln. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → CAD-Downloads auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # CleverReach **CleverReach** ist ein E-Mail-Marketing-Dienst aus Deutschland — und für siteway vor allem eine Schnittstelle: eine dokumentierte **REST-API**, über die eine Anmeldung auf der Website im Verteiler landet. Diese Seite beschreibt die Technik dahinter — vom eigenen Formular über den serverseitigen Endpunkt bis zum **Double-Opt-In**, das der Dienst auslöst. stack system: cleverreach · e-mail-marketing weg: rest-api v3 · oauth 2.0 einwilligung: double-opt-in seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir CleverReach anbinden](#einsatz) definition ## Was ist CleverReach? **CleverReach ist ein E-Mail-Marketing-Dienst der CleverReach GmbH & Co. KG mit Sitz in Rastede in Niedersachsen.** Newsletter und automatisierte E-Mail-Strecken werden darin im Browser gebaut, versendet und ausgewertet. Die Empfänger liegen in Gruppen, Zusatzfelder wie Anrede oder Interesse hängen als Attribute am einzelnen Empfänger. Für deutsche Auftraggeber ist ein Punkt regelmäßig ausschlaggebend, und er lässt sich nüchtern benennen: Der Anbieter sitzt in Deutschland und gibt an, die Daten **ausschließlich auf Servern in Deutschland und der EU** zu speichern. Das ersetzt keine eigene Prüfung und keinen Vertrag — aber es verkürzt die Diskussion über den Drittlandtransfer, die bei Diensten außerhalb der EU zuerst geführt werden muss. Interessant wird das System an der Stelle, an der es die Website berührt: CleverReach dokumentiert eine **REST-API in Version 3** unter rest.cleverreach.com, mit Endpunkten für Gruppen, Empfänger, Attribute und Formulare sowie Webhooks für den Rückweg. Damit muss eine Anmeldung nicht als fremdes Formular in die Seite geklebt werden — sie kann Teil der Website sein und trotzdem im Verteiler ankommen. $ cat cleverreach.md - ✓E-Mail-Marketing cloud · browser - ✓Anbieter rastede · deutschland - ✓REST-API v3 öffentlich dokumentiert - ✓OAuth 2.0 bearer-token - ✓Empfängergruppen groups · receivers - ✓Double-Opt-In bestätigungsmail des dienstes praxis ## Wie wir CleverReach anbinden eigenes formular · **serverseitig** Die erste Entscheidung fällt am Formular: **Es gehört zur Website.** Eigenes Markup, eigenes Design, eigene Fehlermeldungen, eigene Fokus-Reihenfolge — dieselbe Sorgfalt wie bei jeder anderen [Formularstrecke](https://www.siteway.de/expertise/formularstrecken/). Ein Anmeldefeld, das aussieht wie der Rest der Seite und sich auch so bedient, wird ausgefüllt. Eines, das sichtbar aus einem fremden System stammt, unterbricht den Ablauf genau in dem Moment, in dem jemand zusagen wollte. Abgeschickt wird an einen **Endpunkt auf dem eigenen Server**. Der prüft zuerst die Eingabe: Ist das überhaupt eine E-Mail-Adresse, ist die Einwilligung gesetzt, kommt die Anfrage aus dem eigenen Formular, kommen aus derselben Richtung gerade auffällig viele Einträge. Erst danach spricht er mit CleverReach — mit einem Zugriffstoken, das ausschließlich hier liegt. **Die Zugangsdaten sehen den Browser nie.** Was im Frontend steht, kann jeder lesen, und wer das Token hat, hat den ganzen Verteiler. Dann folgt der Kern: Der Endpunkt trägt die Adresse in die vorgesehene **Empfängergruppe** ein — ausdrücklich als **noch nicht bestätigt** — und lässt CleverReach die **Bestätigungsmail** verschicken. Der Klick in dieser Mail macht die Adresse zum aktiven Empfänger, nicht das Absenden des Formulars. Dazu gibt der Endpunkt die Daten mit, die den Vorgang später nachvollziehbar machen: Zeitpunkt, Herkunft der Anfrage und über welches Formular sie kam. Zurück an den Besucher geht eine **ehrliche Rückmeldung**. Nicht „Du bist angemeldet“, sondern der Hinweis, dass eine Bestätigungsmail unterwegs ist und der Link darin geklickt werden muss — mit einem Wort zum Spam-Ordner. Diese eine Zeile entscheidet darüber, wie viele Anmeldungen tatsächlich ankommen. Für **Fehler** gilt dieselbe Klarheit: Antwortet die Schnittstelle nicht, wird der Vorgang protokolliert und erneut versucht, und der Besucher bekommt eine Meldung, die ihm sagt, was er tun kann — statt eines stillen Formulars, das scheinbar nichts getan hat. Zuletzt die Felder. Neben der Adresse nehmen wir nur auf, was später wirklich einen Unterschied macht — **Anrede, Vorname, ein Interessengebiet**, dazu ein Vermerk, über welches Formular der Eintrag kam. Diese Angaben landen als Attribute am Empfänger und tragen später die Segmentierung. Und weil eine Liste nicht nur wächst: Abmeldung und Löschung denken wir von Anfang an mit, samt Rückmeldung an die Website, wenn sich im Verteiler etwas ändert. unsere leitplanken - 01Formular im **eigenen Design** - 02Zugangsdaten **serverseitig**, nie im Browser - 03Eintrag **unbestätigt**, nie aktiv - 04Bestätigungsmail vom **Dienst** - 05Nur Felder, die ein **Segment füllen** - 06Abmeldung **zurückspiegeln** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) ### Die Kette im Überblick Fünf Stationen, und keine davon ist optional. **Erstens** das Formular auf der Website. **Zweitens** der Endpunkt auf dem eigenen Server, der prüft und weiterreicht. **Drittens** der Eintrag in die Empfängergruppe, ausdrücklich als unbestätigt. **Viertens** die Bestätigungsmail von CleverReach mit dem eindeutigen Link. **Fünftens** der Klick, der aus dem Eintrag einen aktiven Empfänger macht. Wer wissen will, wo das Formular auf der Seite steht, welche Texte daneben stehen und wie der Baustein als Ganzes gebucht wird, findet das in der Komponente [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). Steht hinter der Adresse ein Download statt eines Verteilers, ist das die Komponente [Lead-Magnet-Formulare](https://www.siteway.de/expertise/lead-magnet-formulare/). Diese Seite bleibt bei der Schnittstelle und ihrer Technik. ablauf - ▸Formular **auf der Website** - ▸Endpunkt **auf dem Server** - ▸Eintrag **in die Gruppe** - ▸Bestätigungsmail **des Dienstes** - ▸Klick → **aktiver Empfänger** technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation von CleverReach — Endpunkte, Feldnamen und Ereignisnamen im Original. Feste Zahlen zu Anfragegrenzen nennt sie nicht, deshalb behandeln wir die Schnittstelle als knappe Ressource: einzelne Anmeldungen einzeln, größere Mengen gebündelt, nichts unnötig wiederholen. d-01zugang ### OAuth & Token Die Basis ist rest.cleverreach.com/v3, authentifiziert wird nach OAuth 2.0. Im CleverReach-Konto entsteht unter Account, Extras, REST API eine eigene OAuth-Anwendung mit Client ID und Client Secret. Das Zugriffstoken kommt vom Token-Endpunkt und reist als Bearer-Token im Authorization-Header mit; ein Refresh-Token hält den Zugang am Leben. zweck: authentifizierung d-02gruppen ### Empfängergruppen Empfänger liegen in Gruppen, und Gruppen liegen unter /v3/groups — auslesen, anlegen, umbenennen, entfernen. Für die Website heißt das: Jedes Formular bekommt eine feste Zielgruppe, deren Kennung in der Konfiguration steht. Mehrere Anmeldestellen können in dieselbe Gruppe schreiben oder bewusst in getrennte. zweck: verteiler d-03empfänger ### Empfänger anlegen Angelegt wird über /v3/groups/{group_id}/receivers, aktualisiert über denselben Pfad mit der Adresse dahinter. Ein Datensatz kennt unter anderem email als Pflichtfeld, registered und activated als Zeitpunkte sowie source für die Herkunft. Steht activated auf null, ist der Empfänger nicht aktiv und bekommt keinen Newsletter — genau der Zustand nach dem Absenden des Formulars. zweck: eintrag d-04einwilligung ### Double-Opt-In auslösen Die Formulare des Dienstes liegen unter /v3/forms; jedes trägt die Bestätigungsmail mit dem eindeutigen Link. Ausgelöst wird sie über /v3/forms/{form_id}/send/activate mit der Adresse und einem Objekt doidata, das die Angaben zum Vorgang aufnimmt — IP-Adresse, Referrer und User-Agent. Diese Angaben dokumentieren, aus welchem Kontext die Anmeldung kam. zweck: bestätigungsmail d-05felder ### Attribute & Segmente Zusatzfelder heißen bei CleverReach Attribute. Global gelten sie über /v3/attributes, gruppenbezogen über /v3/groups/{group_id}/attributes; am Empfänger tauchen sie als global_attributes und attributes auf, etwa für Vorname, Nachname oder Anrede. Genau daraus entstehen später Segmente — deshalb wird beim Formular entschieden, welches Feld überhaupt sinnvoll ist. zweck: segmentierung d-06rückweg ### Webhooks Damit die Website erfährt, was im Verteiler passiert, registrieren wir einen Webhook über hooks/eventhook — anlegen, auflisten, je Ereignis wieder entfernen. Dokumentiert sind unter anderem receiver.subscribed, receiver.unsubscribed, receiver.created, receiver.updated und receiver.deleted. Der Rückweg zählt überall dort, wo derselbe Kontakt auch in einem anderen System steht. zweck: ereignisse ### Wann welcher Weg passt Es gibt zwei Wege, wie eine Anmeldung nach CleverReach kommt, und beide sind legitim. Der eine nutzt **die Formulare des Dienstes**: CleverReach stellt sie bereit, sie sind schnell eingerichtet und funktionieren ohne eigenen Code. Der andere ist das **eigene Formular mit serverseitigem Endpunkt**, wie diese Seite es beschreibt. Die Zuordnung ist keine Rangliste. Geht es um eine einzelne Anmeldestelle, soll es schnell gehen und ist das Erscheinungsbild zweitrangig, tragen die Formulare des Dienstes. Soll die Anmeldung **Teil der Website** sein — an mehreren Stellen, im gleichen Design, mit eigener Validierung, eigenen Feldern für die Segmentierung, eigener Danke-Seite und ohne Fremdcode im Browser des Besuchers — dann führt der Weg über den eigenen Endpunkt. Was in einem Projekt trägt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/), bevor gebaut wird — zusammen mit der Frage, ob der Kontakt außer im Verteiler noch woanders gebraucht wird. Die buchbare Leistung dahinter beschreibt siteway unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). zuordnung - ▸eine Stelle, schnell live → **Formular des Dienstes** - ▸mehrere Stellen, ein Design → **eigenes Formular** - ▸eigene Felder & Segmente → **eigener Endpunkt** - ▸kein Fremdcode im Browser → **eigener Endpunkt** integration ## CleverReach in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil er nicht am CMS hängt, sondern an der Schnittstelle. Auf der Seite steht ein **eigenes Anmeldeformular im Design der Website** — dort, wo es hingehört: im Footer, im Artikel, auf einer eigenen Seite. Abgeschickt wird an einen **serverseitigen Endpunkt**, der die Zugangsdaten hält und die Eingabe prüft. Der trägt die Adresse in die **Empfängergruppe** ein, ausdrücklich als noch nicht bestätigt, und lässt anschließend CleverReach die **Double-Opt-In-Mail** auslösen. Zurück an den Absender geht eine Rückmeldung, die sagt, was jetzt passiert: Bestätigungsmail prüfen, Link klicken, fertig. Was sich zwischen den Systemen unterscheidet, sind drei Dinge: **wo das Formular herkommt**, **wie die Route zum Endpunkt entsteht** und **wo die Zugangsdaten liegen**. Für jedes dieser drei Dinge bringt jedes System eine eigene, saubere Antwort mit — und in allen drei Fällen bauen wir die Anbindung selbst, damit sie zum Projekt passt und nicht das Projekt zu ihr. Die Redaktion soll die Anmeldung danach ohne uns platzieren können; die Technik darunter bleibt an einer Stelle. cms-01typo3 ### CleverReach in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Das Anmeldeformular wird ein Plugin-Element, das die Redaktion auf jeder Seite platziert — im Footer über ein Referenz-Element, im Artikel als Inhaltselement, auf einer eigenen Seite als Ganzes. Die Übergabe an CleverReach läuft über eine serverseitige Route mit passender Middleware, die die Eingabe prüft, den Empfänger anlegt und die Bestätigungsmail auslöst. Gerendert wird mit Fluid, sodass Feldbeschriftungen, Hinweistexte und Fehlermeldungen im Template stehen und nicht im Code. Die Zugangsdaten liegen in der Konfiguration der Extension, getrennt vom Inhalt und aus dem Frontend nicht erreichbar. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### CleverReach in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den nächsten Theme-Wechsel. Eine eigene REST-Route nimmt die Anmeldung entgegen, prüft sie serverseitig, trägt den Empfänger in die Gruppe ein und stößt die Bestätigungsmail an. Die Zugangsdaten stehen in der wp-config.php oder in einer Umgebungsvariable, nie in der Datenbank und nie im ausgelieferten Markup. Fürs Frontend kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion das Formular dort einsetzt, wo es wirken soll — und der Datenschutzhinweis daneben redaktionell pflegbar bleibt. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### CleverReach in Statamic Statamic läuft auf Laravel, und das macht diesen Teil besonders geradlinig: Eine Route plus Controller nimmt die Anmeldung an, validiert sie mit den Bordmitteln des Frameworks und spricht anschließend mit der CleverReach-API. Ein Blueprint beschreibt das Formularmodell, also welche Felder es gibt und welche Pflicht sind — pflegbar im Control Panel statt im Code. Die Zugangsdaten stehen in der .env, wie bei jedem anderen Dienst im Projekt. Gerendert wird mit Antlers oder Blade, und weil die Anmeldung eine echte Seite mit echtem Formular ist, funktioniert sie auch mit Static Caching davor. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Datenschutz in der Anbindung dokumentieren statt **hoffen** Eine Newsletter-Anmeldung verarbeitet personenbezogene Daten, und zwar von der ersten Sekunde an. Deshalb ist Datenschutz hier keine Fußnote, sondern Teil der Bauweise. Der wichtigste Punkt ist schon beschrieben: Die **Einwilligung wird dokumentiert**, nicht angenommen. Das Double-Opt-In liefert dafür den Beleg — den Zeitpunkt des Eintrags, den Zeitpunkt der Bestätigung und die Angaben zum Vorgang, die beim Auslösen der Bestätigungsmail mitgehen. Dazu kommt **Datensparsamkeit**. Pflicht ist die E-Mail-Adresse, alles andere muss sich rechtfertigen: Wenn ein Feld später kein Segment füllt und keine Ansprache verbessert, fragen wir es nicht ab. Am Formular steht ein Hinweis, was mit den Daten passiert, mit Verweis auf die Datenschutzerklärung, und die Einwilligung wird aktiv gegeben — nicht über ein Häkchen, das schon gesetzt ist. Ein Punkt, der leicht übersehen wird: Ist das Formular selbst gebaut, lädt der Browser des Besuchers **keinen Fremdcode**. Es gibt kein eingebettetes Skript eines Drittanbieters, das beim Seitenaufruf mitliest, keine Verbindung zu einem fremden Host, bevor jemand überhaupt etwas ausgefüllt hat. Der einzige, der mit CleverReach spricht, ist der eigene Server — und er tut es erst, wenn das Formular abgeschickt wurde. Organisatorisch gehört ein **Auftragsverarbeitungsvertrag** dazu, weil der Dienst die Daten im Auftrag verarbeitet — genauso wie beim Hoster. Nach Angaben des Anbieters liegen die Daten auf Servern in Deutschland und der EU, was die Prüfung verkürzt, sie aber nicht ersetzt. Dazu kommen Abmeldung und Löschung als eingebauter Weg, nicht als Sonderfall. Wo eine Website insgesamt steht, zeigt ein [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/); die technischen Grundlagen stehen im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Was im Einzelfall rechtlich gilt, klärt eine Rechtsberatung — wir bauen die Technik, die eine solche Prüfung überhaupt beantwortbar macht. im bau berücksichtigt - ▸Einwilligung **dokumentiert** - ▸Pflichtfeld ist **nur die Adresse** - ▸Hinweis **am Formular** - ▸Übertragung **serverseitig über TLS** - ▸**Kein Fremdcode** im Browser - ▸Abmeldung & **Löschung** eingebaut faq ## Häufige Fragen ### Was ist CleverReach? CleverReach ist ein E-Mail-Marketing-Dienst der CleverReach GmbH & Co. KG mit Sitz in Rastede in Niedersachsen. Newsletter und automatisierte E-Mail-Strecken werden im Browser gebaut, versendet und ausgewertet, die Empfänger liegen dabei in Gruppen. Nach Angaben des Anbieters werden die Daten ausschließlich auf Servern in Deutschland und der EU gespeichert. Für die Website zählt vor allem eines: CleverReach dokumentiert eine REST-API in Version 3 öffentlich. Darüber lässt sich eine Anmeldung, die auf der Website steht, sauber an den Verteiler übergeben. ### Wie kommt eine Newsletter-Anmeldung von der Website nach CleverReach? Über eine Kette aus vier Stationen. Die Besucherin füllt ein Anmeldeformular aus, das im Design der Website steht und zu ihr gehört. Das Formular schickt seine Daten an einen Endpunkt auf dem eigenen Server, nicht direkt an CleverReach. Dieser Endpunkt prüft die Eingabe, holt sich ein Zugriffstoken und trägt die Adresse über die REST-API in die vorgesehene Empfängergruppe ein. Danach löst er die Bestätigungsmail beim Dienst aus und meldet der Seite zurück, dass die Bestätigung unterwegs ist. Erst der Klick in dieser Mail macht die Adresse zu einem aktiven Empfänger. ### Was ist Double-Opt-In und warum löst CleverReach die Bestätigungsmail aus? Double-Opt-In bedeutet, dass eine eingetragene Adresse erst dann in den Verteiler kommt, wenn der Inhaber des Postfachs einen eindeutigen Link in einer Bestätigungsmail angeklickt hat. Die Kette lautet: Formular, Eintrag als noch nicht bestätigt, Bestätigungsmail des Dienstes, Klick, aktiver Empfänger. Dass CleverReach diese Mail auslöst und nicht die Website, hat einen praktischen Grund: Der Dienst kennt den Bestätigungslink, protokolliert den Klick und verwaltet den Status des Empfängers. Die Website müsste das sonst parallel nachbauen und beide Stände auseinanderhalten. ### Warum darf die Website den Empfänger nicht direkt als bestätigt anlegen? Weil ein Formular allein nichts beweist. Jeder kann eine fremde Adresse in ein Anmeldefeld tippen. Legt die Website den Empfänger sofort als aktiv an, steht im Verteiler eine Adresse, für die niemand zugestimmt hat, und der erste Newsletter geht an eine Person, die davon nichts weiß. Technisch heißt die Regel deshalb: Beim Anlegen bleibt der Empfänger unbestätigt, und erst der Klick in der Bestätigungsmail schaltet ihn aktiv. In der API bildet das Feld activated genau diesen Zustand ab. Was im Einzelfall rechtlich gilt, klärt eine Rechtsberatung; wir bauen das Verfahren technisch so, dass die Bestätigung nachvollziehbar dokumentiert ist. ### Wie funktioniert die CleverReach-API? Die dokumentierte Version 3 liegt unter rest.cleverreach.com/v3. Authentifiziert wird nach OAuth 2.0: Im CleverReach-Konto entsteht unter Account, Extras, REST API eine OAuth-Anwendung mit Client ID und Client Secret, das Zugriffstoken kommt vom Token-Endpunkt und reist danach als Bearer-Token im Authorization-Header mit. Empfängergruppen liegen unter /v3/groups, Empfänger unter /v3/groups/{group_id}/receivers, Attribute für Zusatzfelder unter /v3/attributes. Ein Empfängerdatensatz kennt unter anderem email, registered, activated, source sowie global_attributes für Felder wie Vorname und Nachname. Für die Bestätigungsmail gibt es /v3/forms und den Aufruf /v3/forms/{form_id}/send/activate. ### Wo liegen die Zugangsdaten für die Schnittstelle? Auf dem Server, nie im Browser. Client ID, Client Secret und das daraus erzeugte Token gehören in die Konfiguration der Anwendung oder in eine Umgebungsvariable, nicht in JavaScript, nicht in ein Datenattribut im Markup und nicht in ein verstecktes Formularfeld. Der Grund ist simpel: Alles, was der Browser lädt, kann jeder lesen. Wer das Token hat, kann den kompletten Verteiler auslesen und verändern. Deshalb spricht ausschließlich der eigene Endpunkt mit CleverReach, und das Formular auf der Seite spricht ausschließlich mit dem eigenen Endpunkt. ### Was passiert bei einer Abmeldung? Die Abmeldung läuft über den Link, den CleverReach in jede Mail setzt, und der Dienst führt den Empfänger danach als nicht mehr aktiv. Damit die Website davon erfährt, registrieren wir einen Webhook: CleverReach meldet Ereignisse wie receiver.unsubscribed oder receiver.deleted an eine Adresse auf dem eigenen Server. Das ist überall dort wichtig, wo der Kontakt auch in einem anderen System steht, etwa im Kundenkonto. Ohne diesen Rückweg bleibt in der Website ein Häkchen stehen, das im Verteiler längst gefallen ist. ### Lässt sich CleverReach in TYPO3, WordPress oder Statamic integrieren? Ja, in alle drei. Die Anbindung bauen wir jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: das Anmeldeformular als Plugin-Element, eine serverseitige Route mit Middleware für die Übergabe an CleverReach, Fluid für die Ausgabe, die Zugangsdaten in der Konfiguration der Extension. In WordPress entsteht ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route als Endpunkt, den Zugangsdaten in der wp-config.php oder einer Umgebungsvariable und Template-Dateien beziehungsweise Blocks fürs Frontend. In Statamic liegt Laravel darunter: Route plus Controller nehmen die Anmeldung an, ein Blueprint beschreibt das Formularmodell, die Zugangsdaten stehen in der .env, gerendert wird mit Antlers oder Blade. Die Kette dahinter ist in allen drei Fällen dieselbe. womit das zusammenhängt ## Womit das zusammenhängt dienste, grundlage & **leistung** - [Mailchimp.](https://www.siteway.de/stack/mailchimp/) — Der internationale Klassiker unter den Newsletter-Diensten — andere Schnittstelle, dieselbe Kette bis zum Double-Opt-In. zur technik → - [Brevo.](https://www.siteway.de/stack/brevo/) — Newsletter, Transaktionsmails und Automationen in einem Dienst — und wie eine Website ihre Anmeldungen dorthin übergibt. zur technik → - [rapidmail.](https://www.siteway.de/stack/rapidmail/) — Ein weiterer Anbieter aus Deutschland — dieselbe Frage: Wie kommt eine Anmeldung sauber und bestätigt in den Verteiler? zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Kontaktdaten fließen, wird es ernst: Zugangsdaten serverseitig, TLS, Datensparsamkeit, Auftragsverarbeitung. zur technik → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Die Anmeldung als Baustein der Website: Platzierung, Texte, Abnahme. Die Technik hier, die Komponente dort. zur komponente → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Feld-Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Newsletter-Anmeldung auf deiner Website an CleverReach anbinden? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · cms # CMS & Redaktion Ein **CMS** ist die Software, mit der deine Redaktion Inhalte pflegt. siteway baut mit drei Systemen: **TYPO3** für große mehrsprachige Redaktionen, **WordPress** für Business-Sites und Blogs, dem Flat-File-CMS **Statamic** für schlanke Seiten ohne Datenbank. Hier steht die Technik dahinter — wie wir templaten, Extensions schlank halten und Seiten über Jahre update-fähig bauen. stack stack: typo3 · wordpress · statamic einsatz: redaktion & content seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir CMS einsetzen](#einsatz) definition ## Was ist ein CMS — und was ein Flat-File-CMS? **Ein CMS (Content-Management-System) ist die Software, mit der Inhalte einer Website gepflegt werden — Texte, Bilder, Seiten und Navigation — ohne dass jemand Code anfassen muss.** Es trennt Inhalt von Technik: Die Redaktion arbeitet im Backend, das System rendert die Seiten für Besucher und Suchmaschinen. Der wichtigste technische Unterschied verläuft entlang der Datenhaltung. Klassische Systeme wie **TYPO3** und **WordPress** speichern Inhalte in einer Datenbank (meist MySQL). Ein **Flat-File-CMS** wie **Statamic** verzichtet darauf und legt Seiten als Dateien ab — Markdown und YAML im Dateisystem. Keine Datenbank bedeutet: weniger Angriffsfläche, kein Datenbank-Zugriff pro Seitenaufruf und Inhalte, die sich in Git versionieren lassen. Alle drei sind bei uns produktiv im Einsatz. Welches System ein Projekt bekommt, entscheiden wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — nach Redaktionsgröße, Sprachen, Schnittstellen und Wartungsbudget, nicht nach Vorliebe. $ cat cms-stack.md - ✓TYPO3 enterprise · mehrsprachig - ✓WordPress business · blog - ✓Statamic flat-file · keine db - ✓Templating nah am Standard - ✓Extensions bewusst schlank - ✓Update-fähig über LTS-Zyklen einsatz ## Wie wir CMS einsetzen system nach projekt · **nicht nach mode** Die meisten CMS-Vergleiche enden mit „es kommt darauf an". Für uns fängt die Arbeit genau dort an. Wir betreiben alle drei Systeme parallel und wählen pro Projekt — eine mehrsprachige Konzern-Redaktion bekommt kein WordPress, eine Fünf-Seiten-Website kein TYPO3. Diese Entscheidung fällt früh und mit Begründung, damit die Technik zur Redaktion passt und nicht umgekehrt. Wie auch immer das System heißt, unsere Bauweise bleibt gleich. Wir **templaten nah am Standard** des jeweiligen CMS, statt es zu verbiegen. Wir halten die Zahl der **Extensions und Plugins** klein und begründen jede einzelne — Fremdcode ist die häufigste Ursache dafür, dass ein Update bricht. Und wir bauen so, dass die [Auslieferung](https://www.siteway.de/stack/deployment-betrieb/) über Git läuft: nachvollziehbar, rückrollbar, ohne händisches Klicken im Live-System. Bei Statamic geht das am weitesten: Weil Inhalte als Dateien liegen, ist der gesamte Redaktionsstand Teil des Repositories. Was auf der Website steht, steht auch in Git — samt Historie. Statamic baut auf [Laravel](https://www.siteway.de/stack/php-laravel/) auf, sodass wir bei Bedarf echte Anwendungslogik daneben stellen, ohne das CMS zu verlassen. unsere leitplanken - 01System nach **Projekt** wählen - 02Templating nah am **Standard** - 03Extensions **minimieren** & begründen - 04Inhalte & Code über **Git** - 05Update-fähig über **Jahre** systeme · 3 cms ## Drei Systeme, drei Einsatzfälle jedes für das, was es **am besten kann** Ein CMS Vergleich ist kein Ranking mit einem Sieger, sondern eine Zuordnung. Jedes der drei Systeme spielt seine Stärke in einem anderen Projekttyp aus. So teilen wir sie auf. cms-01enterprise ### [TYPO3.](https://www.siteway.de/stack/typo3/) Das System für große Redaktionen: feingranulare Rollen und Rechte, echte Mehrsprachigkeit und Workflows für viele Autoren. Enterprise-Herkunft, LTS-Zyklen, gebaut für Umfang. Unser Case Spelsberg läuft darauf — in 13 Sprachen. [TYPO3 →](https://www.siteway.de/stack/typo3/) einsatz: rollen · sprachen · umfang cms-02business ### [WordPress.](https://www.siteway.de/stack/wordpress/) Der Standard für Business-Sites und Blogs mit überschaubarer Redaktion. Vertraute Oberfläche, riesiges Ökosystem — das wir bewusst dosieren. Wir setzen auf wenige, geprüfte Plugins statt auf einen Zoo, der jedes Update zum Risiko macht. [WordPress →](https://www.siteway.de/stack/wordpress/) einsatz: business · blog · vertraut cms-03flat-file ### [Statamic.](https://www.siteway.de/stack/statamic/) Das Flat-File-CMS für schlanke, wartungsarme Seiten. Keine Datenbank: Inhalte liegen als Markdown und YAML im Dateisystem, versioniert in Git. Schnell im Frontend, klein in der Angriffsfläche, gebaut auf dem Laravel-Framework. [Statamic →](https://www.siteway.de/stack/statamic/) einsatz: schlank · keine db · git architektur · 4 entscheidungen ## Unsere Architektur-Entscheidungen wartung ist **design** Ob eine Website in drei Jahren noch problemlos aktualisiert wird, entscheidet sich beim Bau — nicht beim ersten Update. Vier Entscheidungen, die wir in jedem CMS gleich treffen. d-01templating ### Templating nah am Standard Wir bauen mit den Vorlagensprachen der Systeme — Fluid in TYPO3, Blade/Antlers in Statamic, das Template-System von WordPress. Kein Page-Builder-Wildwuchs, der Markup aufbläht. Das Ergebnis ist sauberes, semantisches HTML, das die Redaktion nicht kaputtklicken kann. ergebnis: semantisches markup d-02extensions ### Extensions bewusst schlank Jedes Plugin ist Fremdcode, der gepflegt, aktualisiert und abgesichert werden muss — und der bei einem CMS-Update brechen kann. Vieles lösen wir sauberer im Template als über ein weiteres Add-on. Wir bauen so wenig Fremdcode wie möglich ein und dokumentieren jede Ausnahme. ergebnis: kleine angriffsfläche d-03flat-file ### Flat-File & Git Bei Statamic liegen Inhalte als Dateien im Repository. Kein Datenbank-Dump für Backups, kein Drift zwischen Entwicklungs- und Live-Stand: Der Redaktionsstand ist Teil des Codes, versioniert und rückrollbar. Fehlt die Datenbank, fehlt auch eine der häufigsten Sicherheitslücken. ergebnis: content in git d-04updates ### Update-Fähigkeit über Jahre TYPO3, WordPress und Statamic pflegen feste Release- und LTS-Zyklen. Je näher eine Website am Standard bleibt, desto reibungsloser folgt sie ihnen. Deshalb ist unsere Bauweise selbst die beste Update-Versicherung: wenig Fremdcode, klare Templates, alles in Git — so wird Wartung planbar. ergebnis: planbare wartung beleg · case ## TYPO3 in 13 Sprachen theorie ist billig · **projekte sind der beleg** Wo TYPO3 seine Stärke ausspielt, sieht man am Case **Spelsberg**: ein Industrieunternehmen mit einer Website in **13 Sprachen**. Genau dafür ist das System gebaut — eine zentrale Redaktion, saubere Trennung der Sprachbäume, Rollen und Rechte für viele Beteiligte. Ein Flat-File-Setup wäre hier das falsche Werkzeug; ein leichtgewichtiges CMS würde an der Mehrsprachigkeit scheitern. Umgekehrt gilt: Nicht jedes Projekt braucht diesen Apparat. Die Kunst ist die Zuordnung — großes System für großen Bedarf, schlankes System für schlanken. Beide Enden dieses Spektrums decken wir mit demselben Anspruch an Templating, Wartbarkeit und [Sicherheit](https://www.siteway.de/stack/sicherheit-datenschutz/) ab. case · spelsberg - ▸System: **TYPO3** - ▸Sprachen: **13** - ▸Profil: **Industrie · Konzern-Redaktion** [alle cases ansehen →](https://www.siteway.de/cases/) faq ## Häufige Fragen ### Was ist ein CMS? Ein CMS (Content-Management-System) ist die Software, mit der Inhalte einer Website ohne Programmierkenntnisse gepflegt werden — Texte, Bilder, Seiten und Navigation. Es trennt Inhalt von Technik: Die Redaktion arbeitet im Backend, das System spielt die Seiten für Besucher und Suchmaschinen aus. siteway baut mit TYPO3, WordPress und dem Flat-File-CMS Statamic — je nach Projekt das passende System. ### TYPO3, WordPress oder Statamic — welches CMS ist das richtige? Das hängt vom Projekt ab, nicht vom Geschmack. TYPO3 setzt siteway bei großen Redaktionen mit vielen Rollen, Rechten und Sprachen ein — etwa beim Case Spelsberg mit 13 Sprachen. WordPress passt für klassische Business-Sites und Blogs mit überschaubarer Redaktion. Statamic wählen wir für schlanke, wartungsarme Seiten ohne Datenbank. Die Entscheidung fällt im Konzept, bevor gebaut wird. ### Was ist ein Flat-File-CMS und warum setzt ihr Statamic ein? Ein Flat-File-CMS speichert Inhalte in Dateien statt in einer Datenbank. Statamic legt Seiten als Markdown- und YAML-Dateien ab. Das bringt drei Vorteile: keine Datenbank als Angriffsfläche und als Wartungslast, hohes Tempo, weil kein Datenbank-Zugriff nötig ist, und Inhalte, die in Git versioniert und mit dem Code deployt werden. Für schlanke Seiten ist das robuster und schneller als ein klassisches datenbankgestütztes CMS. ### Wie haltet ihr ein CMS über Jahre update-fähig? Indem wir nah am Standard bleiben. Wir templaten mit den Bordmitteln des Systems, halten die Zahl der Extensions und Plugins klein und dokumentieren jede bewusst. Je weniger Fremdcode zwischen Kern und Website steht, desto reibungsloser laufen die Update- und LTS-Zyklen von TYPO3, WordPress und Statamic. Wartung wird so planbar statt zur Überraschung nach jedem größeren Release. ### Warum haltet ihr Extensions und Plugins bewusst schlank? Jede zusätzliche Extension oder jedes Plugin ist Code, den jemand pflegen, aktualisieren und absichern muss — und der bei einem CMS-Update brechen kann. Viele Funktionen lassen sich sauberer direkt im Template lösen als über ein weiteres Plugin. siteway baut deshalb so wenig Fremdcode wie möglich ein: schneller im Frontend, sicherer im Betrieb und einfacher über Jahre zu warten. ### Kann ich mein CMS bei euch bauen lassen? Ja. Diese Seite erklärt die Technik — die buchbare Leistung mit Einbau, Redaktionsschulung und laufender Pflege beschreibt siteway unter [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/) in der Expertise. Erzähl uns von deinem Projekt, dann empfehlen wir das passende System und nennen einen Festpreis nach Briefing. womit das zusammenhängt ## Womit das zusammenhängt leistung & **nachbar-technik** - [CMS & Redaktion.](https://www.siteway.de/expertise/cms-redaktion/) — Die Technik hier, das Angebot dort: Einbau ins CMS, Redaktionsschulung und laufende Pflege als buchbare Leistung. zur leistung → - [PHP & Laravel.](https://www.siteway.de/stack/php-laravel/) — Statamic baut auf Laravel. Wo ein CMS an seine Grenzen kommt, stellen wir eigene Anwendungslogik daneben. zur technik → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wie Inhalte und Code über Git live gehen — nachvollziehbar, rückrollbar, ohne Klicken im Live-System. zur technik → Welches CMS passt zu deinem Projekt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · deployment # Deployment & Betrieb Jede Änderung an einer Website von siteway läuft über Git und eine **CI/CD-Pipeline** mit **GitHub Actions**: Versionskontrolle, automatisierte Builds und getrennte Umgebungen für Staging und Live. Reproduzierbare Deploys statt manuelles FTP — das ist der technische Weg vom Commit bis zur fertigen Seite. stack ci/cd: git · github actions umgebungen: staging · live seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir ausliefern](#einsatz) definition ## Was ist eine CI/CD-Pipeline? **Eine CI/CD-Pipeline ist der automatisierte Weg vom Code-Commit bis zur Live-Website.** CI steht für Continuous Integration: Änderungen laufen in Git zusammen und werden gebaut. CD steht für Continuous Delivery — das geprüfte Ergebnis wird automatisch auf die Server ausgeliefert. Zwischen Commit und Live liegen Build, Prüfung und Deploy als Schritte, die eine Maschine ausführt statt ein Mensch von Hand. Der entscheidende Punkt ist die **Versionskontrolle**: Git ist die einzige Quelle der Wahrheit. Jeder Stand ist benannt, jede Änderung nachvollziehbar, jeder Deploy an einen Commit gebunden. Damit ist zu jedem Zeitpunkt klar, was live ist — und jeder Zustand lässt sich wiederherstellen. $ cat deployment.md - ✓Versionskontrolle git - ✓Pipeline github actions - ✓Automatisierter Build - ✓Getrennte Umgebungen staging · live - ✓Reproduzierbarer Deploy - ✓Rollback über Git so setzen wir das ein ## Wie wir ausliefern git → build → staging → **live** Bei uns gibt es keinen Ordner voller Dateien, die jemand per Hand hochlädt. Der Code liegt in **Git**, ein Push löst einen Workflow in GitHub Actions aus, und ab da läuft alles automatisch. Der Build passiert in der Pipeline, nicht auf einem Entwickler-Laptop: Tailwind baut das CSS, die [Bild-Pipeline](https://www.siteway.de/stack/bild-videoformate/) erzeugt AVIF und WebP, der [Suchindex](https://www.siteway.de/stack/#suche) wird neu geschrieben, Sitemap und Cache-Busting werden gesetzt — in fester Reihenfolge, jedes Mal identisch. Ausgeliefert wird auf **zwei getrennte Umgebungen**. Eine Änderung geht zuerst auf Staging — eine nicht öffentliche Kopie mit derselben Technik wie Live. Dort prüfen wir in beiden Themes, auf allen Breiten und mit echten Inhalten, deine Redaktion kann Beiträge vorab ansehen. Erst wenn der Stand passt, geht **exakt derselbe** geprüfte Commit auf Live. Niemand testet an der produktiven Seite. Weil jeder Deploy an einen Git-Stand gebunden und der Build reproduzierbar ist, gibt es kein „läuft nur bei mir“ und keinen halben Zustand im Live-Betrieb. Der Deploy wird atomar umgeschaltet; geht etwas schief, rollen wir den letzten funktionierenden Commit erneut aus — ein Rollback ist bei uns ein normaler Deploy, kein Notfall. $ git push → deploy - 01push auf main - 02workflow startet github actions - 03build: css · bilder · suchindex - 04deploy → staging - 05prüfen · freigeben - 06deploy → live prinzipien · 6 ## Worauf unser Deployment steht jede regel ein **grund** Sechs technische Entscheidungen, die hinter jedem Deploy stehen. Sie unterscheiden eine Pipeline von einem FTP-Upload — und machen den Betrieb einer Website vorhersehbar statt fragil. p-01git ### Versionskontrolle Git ist die einzige Quelle der Wahrheit. Jede Änderung ist ein benannter Commit — mit Autor, Zeitpunkt und Grund. Was live ist, hängt an einem Stand, nicht an einem Bauchgefühl. git · commit-historie p-02pipeline ### Automatisierter Build GitHub Actions baut CSS, Bilder, Suchindex, Sitemap und Cache-Busting — in fester Reihenfolge, auf einem sauberen Stand. Kein Handgriff, keine vergessene Datei. github actions · workflow p-03umgebungen ### Staging und Live Zwei getrennte Umgebungen mit identischer Technik. Änderungen werden auf Staging geprüft, bevor derselbe Stand auf Live geht. Getestet wird nie an der produktiven Seite. staging · live p-04reproduzierbar ### Reproduzierbare Deploys Derselbe Commit ergibt jeden Durchlauf dasselbe Ergebnis. Der Build läuft in der Pipeline, nicht auf einem Laptop — kein „läuft nur bei mir“, keine Überraschung auf dem Server. deterministischer build p-05atomar ### Atomar & Rollback Ein Deploy ist ganz da oder gar nicht — umgeschaltet, nicht Datei für Datei überschrieben. Geht etwas schief, rollen wir den letzten guten Commit in Sekunden zurück. atomarer switch · rollback p-06kein ftp ### Kein manuelles FTP Kein Hochladen einzelner Dateien, kein Rätselraten, welcher Stand gerade läuft. Die Auslieferung geht über SSH aus der Pipeline — nachvollziehbar, wiederholbar, ohne offene Handgriffe. ssh-deploy statt ftp ablauf · 4 schritte ## Der Weg jeder Änderung vom commit · **bis live** 1. // schritt 01 · commit Commit & Push. Eine Änderung wird als Commit festgehalten und nach Git gepusht — mit Grund und Autor. Der Stand ist damit benannt und nachvollziehbar. output: git-commit 2. // schritt 02 · build Pipeline baut. GitHub Actions startet automatisch: CSS, AVIF/WebP-Bilder, Suchindex, Sitemap und Cache-Busting entstehen in fester Reihenfolge auf einem sauberen Stand. output: build-artefakt 3. // schritt 03 · staging Auf Staging prüfen. Der Deploy geht zuerst auf die Staging-Umgebung. Dort prüfen wir Darstellung, beide Themes und echte Inhalte — deine Redaktion sieht Änderungen vorab. output: geprüfter stand 4. // schritt 04 · live ● ergebnis Live schalten. Nach der Freigabe geht exakt derselbe Commit atomar auf Live. Bleibt etwas hängen, rollen wir den letzten guten Stand zurück — kein halber Zustand im Betrieb. output: live-deploy im einsatz ## Pipeline in echten Projekten nicht nur doku · **praxis** Je größer und mehrsprachiger eine Website, desto mehr zählt ein sauberer Auslieferungsprozess. Beim **Case Spelsberg** — eine TYPO3-Website in 13 Sprachen — heißt das: Änderungen an Templates und Technik gehen erst auf Staging, wo die Redaktion Inhalte über alle Sprachen hinweg gegenprüfen kann, bevor derselbe Stand live geht. Ein Build von Hand über 13 Sprachbäume wäre fehleranfällig; die Pipeline macht ihn wiederholbar. Auch unsere eigene Seite läuft so: Jede Änderung baut CSS, Bilder, Suchindex und Sitemap in der Pipeline und geht versioniert über Git und GitHub Actions auf getrennte Umgebungen. Was wir hier beschreiben, setzen wir täglich selbst ein — die [Cases](https://www.siteway.de/cases/) zeigen den Rest. case · spelsberg cmsTYPO3 sprachen13 deploygit · staging → live buildreproduzierbar [alle cases ansehen →](https://www.siteway.de/cases/) faq ## Häufige Fragen ### Was ist eine CI/CD-Pipeline? Eine CI/CD-Pipeline ist der automatisierte Weg vom Code-Commit bis zur Live-Website. CI steht für Continuous Integration — Änderungen laufen in Git zusammen und werden gebaut. CD steht für Continuous Delivery bzw. Deployment — das fertige Ergebnis wird automatisch auf die Server ausgeliefert. Zwischen Commit und Live liegen Build, Prüfung und der eigentliche Deploy als reproduzierbare Schritte, die eine Maschine ausführt statt ein Mensch von Hand. ### Warum kein manuelles FTP mehr? Weil manuelles FTP nicht nachvollziehbar und nicht wiederholbar ist. Wer einzelne Dateien per Hand hochlädt, weiß nicht sicher, welcher Stand gerade live ist, kann eine Änderung schwer zurücknehmen und lädt im Zweifel eine halbfertige Datei mitten im Betrieb hoch. Wir liefern stattdessen über eine Pipeline aus: Git kennt jeden Stand, der Build ist identisch reproduzierbar und ein Deploy ist entweder ganz da oder gar nicht. ### Was ist der Unterschied zwischen Staging und Live? Staging ist eine eigene, öffentlich nicht sichtbare Kopie der Website mit derselben Technik wie Live. Dort landet eine Änderung zuerst: Wir prüfen sie in beiden Themes, auf allen Breiten und mit echten Inhalten, deine Redaktion kann Beiträge vorab ansehen. Erst wenn alles passt, geht derselbe geprüfte Stand auf die Live-Umgebung. So testet niemand am offenen Herzen der produktiven Seite. ### Was bedeutet reproduzierbarer Deploy? Reproduzierbar heißt: Aus demselben Git-Stand entsteht bei jedem Durchlauf exakt dasselbe Ergebnis. Der Build — CSS, Bild-Pipeline, Suchindex, Cache-Busting — läuft in der Pipeline auf einem sauberen Stand, nicht auf dem Rechner eines Entwicklers. Damit gibt es kein „läuft nur bei mir“. Jeder Deploy ist ein bekannter, wiederholbarer Zustand, den wir jederzeit erneut ausrollen können. ### Wie funktioniert ein Rollback, wenn etwas kaputt geht? Weil jeder Stand in Git liegt und jeder Deploy reproduzierbar ist, ist ein Rollback kein Notfall, sondern ein normaler Deploy: Wir rollen den letzten funktionierenden Commit erneut aus. Da der Deploy atomar umgeschaltet wird, ist die alte Version in Sekunden wieder live — ohne halbe Zustände, ohne verlorene Dateien. ### Ist die Pipeline dasselbe wie laufende Wartung und Betreuung? Nein. Die Pipeline ist die Technik, mit der wir ausliefern — der Weg, den jede Änderung nimmt. Die laufende Betreuung, also Updates, Backups, Monitoring und Support als vereinbarte Leistung, ist ein eigener Baustein: [Betrieb, Wartung & Support](https://www.siteway.de/expertise/betrieb-wartung-support/). Die Pipeline ist die Grundlage dafür, die Betreuung ist der Vertrag darüber. womit das zusammenhängt ## Womit das zusammenhängt leistung & **stack** - [GitHub Actions.](https://www.siteway.de/stack/github-actions/) — Die Pipeline im Detail: Workflows als YAML im Repo, Build und Deployment auf Staging und Live. weiterlesen → - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Die Pipeline liefert aus — diese Leistung hält die Seite im Betrieb: Updates, Backups, Monitoring und Support als vereinbarter Vertrag. Hier buchst du die laufende Betreuung. zur leistung → - [Frontend.](https://www.siteway.de/stack/frontend/) — Das CSS, das die Pipeline baut, entsteht hier: HTML5, Tailwind und Vanilla JavaScript. Der Build übersetzt es in schlanke Bundles, bevor der Deploy es ausliefert. zur technologie → - [Bild- & Videoformate.](https://www.siteway.de/stack/bild-videoformate/) — Die AVIF- und WebP-Varianten entstehen in derselben Pipeline: Die Bild-Pipeline läuft als Build-Schritt, sodass optimierte Bilder mit jedem Deploy mitkommen. zur technologie → Website, die sauber ausgeliefert wird? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Dynamics 365 Business Central **Business Central** ist Microsofts ERP aus der Cloud — Finanzen, Verkauf, Einkauf und Lager in einem System. Was für eine Website zählt, ist die Tür nach draußen: eine **veröffentlichte REST-API** und **OData-Webservices**, angemeldet über **Microsoft Entra ID**. Diese Seite beschreibt, wie siteway daraus einen Produktkatalog, einen Kundenzugang und eine Anfragestrecke macht — ohne dass die Website bei jedem Aufruf im ERP nachfragt. stack system: business central · cloud-erp wege: rest-api · odata anmeldung: entra id · oauth 2.0 seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Business Central anbinden](#einsatz) definition ## Was ist Dynamics 365 Business Central? **Business Central ist Microsofts Unternehmenslösung für kleine und mittlere Organisationen** — in Microsofts eigenen Worten eine Business-Management-Lösung, die Geschäftsprozesse automatisiert und die Steuerung des Unternehmens unterstützt. Abgedeckt sind Finanzen, Verkauf, Einkauf, Lager und Versand, dazu Projekte, Anlagen, Fertigung, Lagerlogistik und Service. Betrieben wird das System als Dienst aus der Microsoft-Cloud. Die Linie ist älter als der Name: Business Central setzt **Dynamics NAV** fort, das viele im Mittelstand noch unter dem Namen Navision kennen. Microsoft dokumentiert die Upgrade-Wege von NAV nach Business Central bis heute — für uns heißt das in der Praxis, dass wir es häufig mit gewachsenen Beständen, eigenen Feldern und langjährigen Anpassungen zu tun haben, nicht mit einer Standardinstallation von der Stange. Interessant wird das System für eine Website an der Stelle, an der es Daten herausgibt. Business Central bringt dafür zwei dokumentierte Wege mit: eine **veröffentlichte REST-API** und **OData-Webservices**, für die Pages und Queries als Endpunkt freigegeben werden. Beide beruhen laut Microsoft auf OData in Version 4. Angemeldet wird über Microsoft Entra ID mit OAuth 2.0 — Zugriffsschlüssel mit einfacher Anmeldung sind für die Cloud-Variante abgekündigt und werden dort nicht mehr unterstützt. $ cat business-central.md - ✓Cloud-ERP microsoft · mittelstand - ✓Module finanzen · verkauf · einkauf · lager - ✓REST-API veröffentlicht · json - ✓Webservices odata · pages & queries - ✓Anmeldung entra id · oauth 2.0 - ✓Webhooks push statt dauerabfrage praxis ## Wie wir Business Central anbinden spiegeln · **nicht durchreichen** Die wichtigste Entscheidung fällt vor der ersten Zeile Code: **Die Website fragt das ERP nicht bei jedem Seitenaufruf.** Wir spiegeln die benötigten Daten im festen Takt in das Datenmodell des [CMS](https://www.siteway.de/stack/cms-redaktion/) — als eigene Inhaltsart mit eigenen Feldern, eigener URL und eigener Sortierung. Ausgeliefert wird danach aus dem eigenen Bestand. Das hält die Seite schnell, macht sie unabhängig von der Erreichbarkeit des ERP und sorgt dafür, dass ein Wartungsfenster in der Cloud kein leeres Produktverzeichnis produziert. Live geht nur, was live sein muss — etwa eine Verfügbarkeitsprüfung direkt vor dem Absenden einer Bestellung. Zuerst steht die **Anmeldung**. Für Integrationen, die ohne Nutzerinteraktion laufen, nennt Microsoft den Client-Credentials-Flow: Im Microsoft-Entra-Mandanten wird eine Anwendung registriert, sie erhält eine Anwendungs-ID und ein Geheimnis, dazu die Anwendungsberechtigung für den Zugriff auf APIs und Webservices. In Business Central wird dieselbe Anwendung über ihre Client-ID eingetragen, aktiviert und mit Objektberechtigungen versehen. Microsoft hält dabei ausdrücklich fest, dass Anwendungen das Berechtigungsset SUPER nicht bekommen können und nach dem Prinzip der geringsten Rechte einzurichten sind. Unser Server holt das Token und erneuert es, bevor es abläuft — im Browser taucht davon nichts auf. Dann kommt das **Mapping**. Ein Artikelstamm im ERP hat sehr viele Felder; eine Website braucht davon einen bewussten Ausschnitt. Wir legen fest, welches ERP-Feld auf welches Website-Feld geht, was Pflicht ist, was optional bleibt und was das Haus gar nicht erst verlässt — Einkaufspreise, Deckungsbeiträge, Lieferantenkonditionen und interne Kennzeichen gehören nicht in ein öffentliches JSON. Für den Abgleich ist ein Feld besonders wertvoll: das Änderungsdatum. Damit holen wir beim zweiten Lauf nur noch, was sich seither bewegt hat. **Aktualisiert** wird zweigleisig: ein geplanter Abgleich als Grundsicherung plus Webhooks für den schnellen Weg. Business Central kennt Abonnements, bei denen es eine hinterlegte Adresse aufruft, sobald sich ein Datensatz ändert. Beim Anlegen und beim Erneuern verlangt es einen Prüfwert zurück; erst danach ist das Abonnement aktiv. Laut Dokumentation laufen Abonnements nach drei Tagen ab, wenn sie nicht erneuert werden — die Erneuerung übernimmt bei uns derselbe geplante Lauf, der auch den Abgleich fährt. Ein optionaler Wert im Abonnement dient als gemeinsames Geheimnis; wir prüfen ihn, bevor irgendetwas verarbeitet wird. Der **Rückkanal** ist die andere Richtung: Anfragen, Kunden und Aufträge, die auf der Website entstehen, schreiben wir als Datensatz ins ERP zurück — serverseitig, mit denselben Zugangsdaten, mit Prüfung der Antwort. Ein Formular erzeugt damit keinen Papierstapel, sondern einen Vorgang, der im System sichtbar ist. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Microsoft begrenzt die Zahl der Anfragen und antwortet bei Überschreitung mit dem Statuscode 429; die Dokumentation verlangt vom aufrufenden System eine Wiederholungslogik mit Abkühlphase. Genau so bauen wir es: Filter auf das Änderungsdatum, seitenweiser Abruf, Sammelanfragen, Wiederholung mit wachsendem Abstand. Antwortet das ERP nicht oder unvollständig, bleibt der letzte gute Stand stehen und der Lauf wird protokolliert. Die buchbare Leistung dahinter beschreiben wir unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Feld-Mapping**, dann der Code - 02Daten **spiegeln**, nicht durchreichen - 03Zugangsdaten **serverseitig**, nie im Browser - 04Rechte auf das **Nötigste** beschränkt - 05Nur **Änderungen** holen, nicht alles - 06Fehler **protokollieren**, Bestand halten [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **microsoft-doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Microsoft — Endpunktaufbau, Berechtigungen, Statuscodes und Grenzwerte im Original. Was dort nicht steht, steht hier auch nicht: Der genaue Feldbestand einer gewachsenen Installation ist Sache des Systems vor Ort und wird im Projekt gesichtet, nicht vermutet. d-01endpunkt ### Endpunkt & Umgebung Die Cloud-Variante spricht über einen gemeinsamen Endpunkt unter api.businesscentral.dynamics.com. Seit es mehrere Umgebungen je Mandant gibt, muss der Name der Umgebung — etwa production oder sandbox — laut Microsoft in der Adresse stehen. Darunter liegen die Mandanten als companies, und darunter erst die Entitäten. zweck: adressierung d-02anmeldung ### Entra ID & OAuth Server zu Server ohne Nutzerinteraktion läuft über den Client-Credentials-Flow. Im Entra-Mandanten wird eine Anwendung registriert und bekommt Anwendungs-ID, Geheimnis und die Anwendungsberechtigung für APIs und Webservices. In Business Central wird sie über ihre Client-ID eingetragen, aktiviert und mit Objektrechten versehen — SUPER ist für Anwendungen ausgeschlossen. zweck: authentifizierung d-03entitäten ### Entitäten & Felder Die veröffentlichte API kennt unter anderem items, customers, vendors, salesQuotes, salesOrders und salesInvoices. Ein Artikel führt dokumentierte Felder wie number, displayName, unitPrice, inventory, gtin, baseUnitOfMeasureCode und lastModifiedDateTime; über Navigationen hängen Kategorie, Varianten und Bild daran. Das Änderungsdatum trägt den Abgleich. zweck: datenbestand d-04aktualität ### Webhooks & Abgleich Statt dauernd zu fragen, lässt sich Business Central melden: Ein Abonnement nennt Zieladresse und Ressource, beim Anlegen und Erneuern verlangt das System einen Prüfwert zurück. Die Meldung nennt Ressource und Art der Änderung — angelegt, geändert, gelöscht oder als Sammelmeldung. Abonnements laufen nach drei Tagen ab, wenn sie nicht erneuert werden. zweck: ereignisgesteuert d-05grenzen ### Rate Limits & Timeouts Die Cloud teilt Ressourcen, also gibt es Grenzen. Wird die Zahl der Anfragen überschritten, kommt der Statuscode 429 zurück; die Dokumentation verlangt eine Wiederholung mit Abkühlphase, wahlweise mit festem, steigendem oder exponentiell wachsendem Abstand. Sehr lange Anfragen brechen nach zehn Minuten mit einem Gateway-Timeout ab. Microsoft empfiehlt Filter, Sammelanfragen und Webhooks statt Dauerabfrage. zweck: belastbarkeit d-06eigene felder ### Eigene Endpunkte Die veröffentlichte API lässt sich laut Dokumentation nicht einfach um zusätzliche Felder erweitern — dafür muss der AL-Code kopiert und eine eigene API daraus gebaut werden. Daneben steht der klassische Weg: Pages und Queries werden als OData-Endpunkt freigegeben, Queries lesend. Wer im ERP eigene Felder pflegt, braucht dafür einen Endpunkt vom Dynamics-Partner. zweck: sonderfelder ### Was auf der Website daraus entsteht Aus gespiegelten ERP-Daten wird kein Datenbank-Dump, sondern eine Website. Der [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) filtert über die Felder, die im Mapping definiert sind — Kategorie, Einheit, Merkmale, Preisspanne — und arbeitet dabei auf dem eigenen Bestand, also ohne Wartezeit auf ein fremdes System. Jeder Artikel bekommt eine sprechende, dauerhafte URL mit **Datenblatt**: Artikelnummer, Bezeichnung, Einheit, Merkmale, Dokumente. Das ist die Seite, die in der Suche landet — nicht ein PDF im Archiv. Darüber hinaus wird es persönlich. Im [Kundenzugang](https://www.siteway.de/expertise/kundenportal-self-service/) sehen angemeldete Nutzerinnen und Nutzer ihre Aufträge, Lieferungen und Rechnungen — die Daten dafür holen wir gezielt und nur für den angemeldeten Kontakt, nicht auf Vorrat für alle. Und die **Anfrage- oder Bestellstrecke** schließt den Kreis: Was im Formular entsteht, wird zum Vorgang im ERP, statt zur E-Mail, die jemand abtippt. Für Suchmaschinen ergänzen wir [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern und eine Regel für Artikel, die aus dem Sortiment fallen. Beim **Datenschutz** laufen zwei Richtungen auseinander. Artikel- und Preisdaten sind in der Regel unkritisch — Kunden-, Auftrags- und Rechnungsdaten sind es nie. Deshalb: Zugangsdaten in der Server-Konfiguration statt im Repository, Rechte der Anwendung auf das Nötigste beschränkt, personenbezogene Daten sparsam und nur so lange gespiegelt wie nötig, Übertragung ausschließlich serverseitig über TLS. Und weil Daten im Auftrag verarbeitet werden, gehören die passenden Verträge dazu — mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Produktkatalog mit **eigenen Filtern** - ▸Datenblatt mit **dauerhafter URL** - ▸Kundenzugang mit **Auftragsdaten** - ▸Anfrage- und **Bestellstrecke** - ▸Strukturierte Daten & **Sitemap** - ▸Regel für **entfallene Artikel** integration ## Business Central in deine Website integrieren drei systeme · **ein muster** Der Weg ist systemunabhängig, und er ist immer derselbe: Die Daten aus Business Central werden im festen Takt **ins CMS gespiegelt**, das Frontend liest aus dem eigenen Bestand, und live geht nur, was live sein muss. Was dafür im CMS liegen muss, ist schnell benannt — eine eigene Inhaltsart mit genau den Feldern aus dem Mapping, Bilder und Dokumente in der Medienverwaltung des Systems, und die ID des Datensatzes aus dem ERP als Schlüssel. Über diesen Schlüssel erkennt der zweite Lauf den Datensatz wieder und aktualisiert ihn, statt eine Dublette anzulegen. Erst dadurch werden Artikel aus Business Central auf der Website zu echten Seiten mit dauerhafter URL statt zu einem eingebetteten Fremdinhalt. Aktualität ist danach eine Frage von **Takt, Webhook und Cache**. Ausgeliefert wird aus Cache oder statisch erzeugten Seiten — schnell und unabhängig davon, ob das ERP gerade erreichbar ist. Meldet Business Central eine Änderung, holen wir gezielt diesen einen Datensatz nach und nehmen nur seine Detailseite und die betroffenen Listen aus dem Cache, statt die ganze Website zu leeren. Der geplante Lauf im Hintergrund bleibt daneben als Grundsicherung bestehen und erneuert nebenbei die Abonnements. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wo die Daten am Ende liegen und was die Redaktion damit tun kann. cms-01typo3 ### Business Central in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler und Fluid alles mit, was eine Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Inhaltsart mit genau den Feldern aus dem Mapping. Der Abruf der Business-Central-Daten läuft als Scheduler-Task in festem Takt, die Datensätze liegen als Records in einem Systemordner, Bilder und Dokumente in FAL. Zugangsdaten und Umgebungsname stehen in der Extension-Konfiguration, nicht im Code. Sprechende URLs für Liste und Detailseite kommen aus dem Site Handling, gerendert wird über Fluid-Templates. Die Redaktion sieht die Datensätze im Backend, pflegt eigene Texte in Feldern daneben, die der Import nicht anfasst, und platziert Teaser als Content-Element auf jeder Seite. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Business Central in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Die Datensätze werden ein Custom Post Type mit eigenen Meta-Feldern für die ERP-Daten und Taxonomien für die Filter, also Kategorie, Einheit und Merkmale. Ein geplanter Lauf holt die Änderungen im festen Takt und hält den Bestand nach. Eine eigene REST-Route nimmt serverseitige Aufrufe entgegen — etwa eine eingehende Änderungsmeldung oder eine Verfügbarkeitsprüfung aus dem eigenen Frontend; die Aufrufe Richtung Business Central laufen ausschließlich serverseitig, Zugangsdaten liegen in der Server-Konfiguration und nie im Frontend. Fürs Frontend kommen Template-Dateien und Blöcke für den Editor dazu, damit die Redaktion Liste, Filter und Teaser dort platziert, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Business Central in Statamic Statamic läuft auf Laravel — Inhalte sind Entries in Collections, Bilder Assets in Containern. Das passt zu einer ERP-Anbindung besonders gut: Ein Artisan-Command holt die Daten und schreibt sie als Entries in eine eigene Collection, der Laravel-Scheduler bestimmt den Takt und erneuert nebenbei die Abonnements. Ein Blueprint beschreibt das Datenmodell mit genau den Feldern aus dem Mapping. Zugangsdaten, Umgebungsname und Mandant stehen in der .env und damit außerhalb des Repositories. Route und Controller nehmen eingehende Änderungsmeldungen entgegen und prüfen sie, bevor etwas verarbeitet wird. Antlers oder Blade rendern Liste, Filter und Detailseite, Static Caching liefert sie aus. Im Control Panel pflegt die Redaktion Beschreibungstexte und Reihenfolge in Feldern, die der Import nicht anfasst. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## REST-API oder eigener Endpunkt — wann welcher Weg passt zuordnung statt **rangliste** Business Central bietet mehr als einen Weg nach draußen, und keiner davon ist grundsätzlich besser — sie beantworten unterschiedliche Fragen. An drei Mustern lässt sich das zuordnen. e-01rest-api ### Wenn die Standarddaten tragen Artikel, Kunden, Aufträge und Rechnungen im Standardumfang, ein Produktkatalog, ein Kundenzugang, eine Anfragestrecke: Dafür reicht die veröffentlichte REST-API. Sie ist von Microsoft dokumentiert, webhook-fähig und der von Microsoft empfohlene Weg. Der schnellste Start, wenn das ERP nah am Standard läuft. json · dokumentiert e-02eigener endpunkt ### Wenn eigene Felder mit müssen Gewachsene Installationen tragen eigene Felder: technische Merkmale, Staffelpreise, Sortimentskennzeichen. Weil die veröffentlichte API sich nicht einfach erweitern lässt, braucht es dafür einen eigenen Endpunkt — eine eigene API oder eine freigegebene Page beziehungsweise Query im ERP. Das bringt der Dynamics-Partner bei, wir konsumieren ihn. odata · sonderfelder e-03kombination ### Wenn beides zusammen trägt Häufig die ehrlichste Antwort: Die veröffentlichte API trägt die Grundlast — Stammdaten, Preise, Belege — und ein eigener Endpunkt ergänzt genau das, was sie nicht abbildet. Ein Weg für die Menge, ein Weg für die Präzision, beide über dieselbe Anmeldung und denselben Abgleichslauf. grundlast + präzision ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Welche Daten müssen wirklich auf die Website — und welche auf keinen Fall? Wie viele Datensätze sind es, und wie oft ändern sie sich? Reicht der Standardumfang der API, oder hängen die entscheidenden Informationen in eigenen Feldern? Soll die Website nur anzeigen oder auch zurückschreiben? Und wer richtet auf der ERP-Seite die Anwendung samt Rechten ein — dieser Schritt gehört dem Dynamics-Partner oder der internen IT, nicht uns. Danach steht das Mapping als Dokument, bevor gebaut wird. Dieselbe Logik greift bei anderen Warenwirtschaften und CRM-Systemen: [SAP](https://www.siteway.de/stack/sap/) bringt eigene Schnittstellen mit, [weclapp](https://www.siteway.de/stack/weclapp/) ist als Cloud-ERP von vornherein API-nah gebaut, und [Salesforce](https://www.siteway.de/stack/salesforce/) beantwortet dieselben Fragen für die Vertriebsseite. Welche Anbindung ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Standardfelder, schneller Start → **REST-API** - ▸eigene Felder, Sonderlogik → **eigener Endpunkt** - ▸große Mengen, seltene Änderung → **Takt** - ▸wenige, häufige Änderungen → **Webhook** faq ## Häufige Fragen ### Was ist Microsoft Dynamics 365 Business Central? Business Central ist Microsofts Unternehmenslösung für kleine und mittlere Organisationen. Microsoft beschreibt sie als Business-Management-Lösung, die Geschäftsprozesse automatisiert und die Steuerung des Unternehmens unterstützt — Finanzen, Verkauf, Einkauf, Lager, Projekte, Fertigung und Service. Betrieben wird sie als Dienst aus der Microsoft-Cloud. Die Produktlinie setzt Dynamics NAV fort, den früheren Namen der Reihe kennen viele noch als Navision; Microsoft dokumentiert die Upgrade-Wege von NAV nach Business Central bis heute. Für eine Website zählt vor allem, dass Business Central seine Daten über eine veröffentlichte REST-API und über OData-basierte Webservices nach außen gibt. ### Wie kommen Daten aus Business Central auf die Website? Über eine Schnittstelle, die serverseitig läuft. Business Central stellt dafür zwei dokumentierte Wege bereit: die veröffentlichte REST-API und OData-basierte Webservices, für die Pages und Queries als Endpunkt freigegeben werden. Beide beruhen auf OData in Version 4. Der Server der Website meldet sich an, holt die benötigten Datensätze als JSON und schreibt sie in das eigene Datenmodell. Ausgeliefert wird danach aus diesem eigenen Bestand — der Browser der Besucherin spricht nie direkt mit dem ERP. ### Wie funktioniert die Anmeldung über Microsoft Entra ID? Über OAuth 2.0. Für Integrationen, die ohne Nutzerinteraktion laufen, nennt Microsoft den Client-Credentials-Flow: Im Microsoft-Entra-Mandanten wird eine Anwendung registriert, sie erhält eine Anwendungs-ID und ein Geheimnis, dazu die Anwendungsberechtigung für den Zugriff auf APIs und Webservices von Business Central. In Business Central selbst wird dieselbe Anwendung über ihre Client-ID eingetragen, aktiviert und mit Objektberechtigungen versehen. Microsoft hält dabei ausdrücklich fest, dass Anwendungen das Berechtigungsset SUPER nicht bekommen können und nach dem Prinzip der geringsten Rechte eingerichtet werden sollen. Das Token holt sich unser Server beim Token-Endpunkt von Microsoft und erneuert es, bevor es abläuft. ### Was ist der Unterschied zwischen der REST-API und den OData-Webservices? Die REST-API ist der von Microsoft empfohlene Weg und liefert einen festen Satz an Entitäten, etwa Artikel, Kunden, Verkaufsaufträge, Verkaufsrechnungen und Angebote. Sie lässt sich nicht einfach um zusätzliche Felder erweitern — laut Dokumentation muss dafür der AL-Code kopiert und eine eigene API daraus gebaut werden. OData-Webservices entstehen dagegen, indem eine Page oder eine Query im System als Endpunkt veröffentlicht wird; Queries sind dabei lesend. Praktisch heißt das: Standardfelder über die veröffentlichte API, Sonderfelder über einen eigenen Endpunkt, den der Dynamics-Partner im ERP bereitstellt. ### Wie bleibt die Website aktuell, ohne das ERP bei jedem Seitenaufruf zu fragen? Indem sie es nicht fragt. Die Daten werden im festen Takt gespiegelt und liegen danach im Datenmodell der Website. Dazu kommt der Push-Weg: Business Central kennt Webhook-Abonnements, die über einen eigenen Endpunkt angelegt werden. Beim Anlegen ruft Business Central die hinterlegte Adresse auf und erwartet einen Prüfwert zurück; erst danach ist das Abonnement aktiv. Die Benachrichtigung nennt die geänderte Ressource und die Art der Änderung — angelegt, geändert, gelöscht oder als Sammelmeldung bei sehr vielen Änderungen. Laut Dokumentation laufen Abonnements nach drei Tagen ab, wenn sie nicht erneuert werden; die Erneuerung übernimmt bei uns ein geplanter Lauf. Ein optionaler Wert im Abonnement dient als gemeinsames Geheimnis, mit dem sich eingehende Benachrichtigungen prüfen lassen. ### Was passiert bei Rate Limits, Wartungsfenstern und Fehlern? Damit wird von Anfang an gerechnet. Microsoft begrenzt die Zahl der Anfragen und antwortet bei Überschreitung mit dem Statuscode 429; die Dokumentation verlangt vom aufrufenden System eine Wiederholungslogik mit Abkühlphase, etwa mit fester, steigender oder exponentiell wachsender Wartezeit. Für sehr lange Anfragen gilt eine Ausführungsgrenze von zehn Minuten, danach kommt ein Gateway-Timeout zurück. Unsere Anbindung arbeitet deshalb mit Filtern auf das Änderungsdatum, mit Sammelanfragen und mit seitenweisem Abruf statt mit einem großen Rundumschlag. Fällt ein Lauf aus, bleibt der letzte gute Stand stehen, der Fehler wird protokolliert und der Abruf mit Abstand wiederholt. Ein abgebrochener Import darf nie den Bestand leeren. ### Was entsteht auf der Website aus den ERP-Daten? Vier Dinge, je nach Projekt einzeln oder zusammen. Ein Produktkatalog mit eigenen Filtern über Kategorie, Einheit und Preisspanne, gespeist aus den Artikeldaten. Datenblätter mit Artikelnummer, Bezeichnung, Einheit und weiteren Merkmalen als dauerhafte, indexierbare Seite. Ein Kundenzugang, in dem angemeldete Nutzerinnen und Nutzer ihre Aufträge und Rechnungen sehen. Und eine Anfrage- oder Bestellstrecke, die aus dem Formular heraus einen Datensatz im ERP anlegt, statt eine E-Mail zu erzeugen, die jemand abtippt. ### Lässt sich Business Central in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien — und wir bauen die Anbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: das TCA beschreibt das Datenmodell, der Abruf läuft als Scheduler-Task, die Datensätze liegen als Records im Backend, gerendert wird über Fluid, die Zugangsdaten stehen in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type mit Meta-Feldern trägt die Daten, ein geplanter Lauf hält sie nach, eine eigene REST-Route nimmt serverseitige Aufrufe entgegen. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler holt die Daten, ein Blueprint beschreibt das Datenmodell, die Datensätze werden Entries in einer Collection, die Zugangsdaten stehen in der Datei mit den Umgebungsvariablen. Die Mechanik ist überall dieselbe, nur die Werkzeuge heißen anders. womit das zusammenhängt ## Womit das zusammenhängt systeme, ergebnisse & **leistung** - [SAP.](https://www.siteway.de/stack/sap/) — Das andere große ERP im Mittelstand und Konzernumfeld — andere Mechanik, dieselbe Frage: Was gehört auf die Website und was nicht? zur technik → - [weclapp.](https://www.siteway.de/stack/weclapp/) — Cloud-ERP, das von vornherein auf Schnittstellen gebaut ist: Artikel, Aufträge und Kunden auf demselben Weg auf die Website. zur technik → - [Salesforce.](https://www.siteway.de/stack/salesforce/) — Die Vertriebsseite derselben Aufgabe: Leads und Kontakte aus der Website in ein CRM schreiben, statt sie per E-Mail zu verteilen. zur technik → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Was aus Artikeldaten wird: Liste mit Filtern, Datenblatt mit dauerhafter URL, Dokumente am Produkt. zur leistung → - [Kundenportal.](https://www.siteway.de/expertise/kundenportal-self-service/) — Der angemeldete Bereich: Aufträge, Lieferungen und Rechnungen sichtbar machen — sparsam, geprüft, serverseitig. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Daten aus Business Central auf deine Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # GRÜN eVEWA4 **GRÜN eVEWA4** ist die Branchensoftware für Non-Profit-Organisationen, Verbände und Bildungsanbieter — Mitglieder, Spenden, Seminare und Rechnungen liegen dort in einem System. Für siteway teilt sich die Anbindung an genau einer Linie: Was öffentlich ist, **spiegeln** wir ins CMS — Seminartermine, Veranstaltungen, Kursbeschreibungen. Was personenbezogen ist, läuft **live und geschützt** über einen serverseitigen Endpunkt und wird nie zwischengelagert. Diese Seite beschreibt, wie wir diese Verbindung bauen. stack system: evewa4 · non-profit & seminare hersteller: grün software group · aachen weg: webservices · rest seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir eVEWA4 anbinden](#einsatz) definition ## Was ist GRÜN eVEWA4? **GRÜN eVEWA4 ist eine webbasierte Branchensoftware der GRÜN Software Group GmbH aus Aachen.** Der Hersteller beschreibt sie als Lösung, mit der sich umfassende Geschäftsprozesse in Non-Profit-Organisationen sowie bei Bildungs- und Seminaranbietern abwickeln lassen. Sie läuft im Browser und ist nach Angaben des Herstellers als Vor-Ort-Installation ebenso zu beziehen wie als Software as a Service aus dessen Cloud. Drei Bereiche stehen im Vordergrund. Die **Online-Mitgliederverwaltung** adressiert Vereine und Verbände, Gewerkschaften, Parteien und Kammern und bringt Mitglieder-Akte, Beziehungsmanagement, Beitragsordnung, Beitrags-Zuordnung und -Veranlagung sowie Abrechnungs- und Mahnwesen mit, dazu ein Mandanten- und Gliederungs-Management für mehrstufige Organisationen. Die **Online-Spendenverwaltung** deckt den Weg von der Online-Spende bis zur Abrechnung ab. Die **Online-Seminarverwaltung** dient laut Hersteller der Planung, Durchführung und Abrechnung von Veranstaltungen und Seminaren jeder Art — mit grafischer Belegungsplanung, Veranstaltungskalender, Verwaltung von Dozenten, Räumen und Ressourcen sowie Rechnungs- und Mahnwesen. Für eine Website zählt daraus vor allem eines: **Es ist klar, wo die führenden Daten liegen.** Mitglieder, Spenden, Termine und Rechnungen stehen in eVEWA4 — nicht im CMS. Und der Hersteller nennt für die Anbindung Dritter **Webservices auf Basis von REST-Technologie**, ausdrücklich mit Content-Management-Systemen wie TYPO3 oder WordPress als Beispiel. Damit ist die Mitgliederliste keine Excel-Datei mehr, die jemand zweimal im Jahr exportiert, sondern eine [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/), an der man bauen kann. $ cat evewa4.md - ✓Branchensoftware non-profit · bildung - ✓Hersteller grün software group · aachen - ✓Mitglieder akte · beiträge · gliederungen - ✓Spenden erfassung · abrechnung - ✓Seminare planung · teilnehmer · faktura - ✓Schnittstelle webservices · rest praxis ## Wie wir eVEWA4 anbinden öffentlich spiegeln · **persönlich live** Die wichtigste Entscheidung fällt vor der ersten Zeile Code, und sie ist bei einer Verbands- oder Seminarsoftware eine andere als bei einem Warenwirtschaftssystem: **Hier hängt an fast jedem Datensatz eine Person.** Deshalb ziehen wir eine Linie mitten durch die Anbindung. Öffentliche Inhalte werden gespiegelt — sie sollen schnell sein, in der Suche auftauchen und auch dann noch dastehen, wenn das Fachsystem gewartet wird. Personenbezogene Daten werden nie gespiegelt, sondern im Moment der Anzeige serverseitig geholt. Aus dieser einen Linie ergeben sich drei Anwendungsfälle, die in fast jedem Projekt vorkommen. fall-01öffentlich ### Seminar- & Veranstaltungskalender Der Kalender ist der sichtbarste Teil der Anbindung. Ein geplanter Lauf holt Termine, Kursbeschreibungen, Orte, Dozenten und freie Plätze aus eVEWA4 und legt sie als eigene Inhaltsart im CMS ab. Ausgeliefert wird aus dem eigenen Bestand: Liste mit Filter, Detailseite mit dauerhafter URL, strukturierte Daten für Veranstaltungen. Am Ende der Detailseite steht die Anmeldestrecke — und die schreibt zurück. [veranstaltungen & seminare →](https://www.siteway.de/expertise/veranstaltungen-seminare/) fall-02geschützt ### Mitgliederbereich mit Login Stammdaten ändern, den Beitragsstand einsehen, Rechnungen und Teilnahmebescheinigungen herunterladen: Das sind personenbezogene Daten, und sie werden nicht gespiegelt. Nach dem Login fragt der Server sie zu genau dieser einen Person live im Fachsystem ab und liefert die Antwort direkt an den angemeldeten Browser aus — ohne Zwischenlager im CMS, ohne Suchindex, ohne öffentlichen Cache. [login & mitgliederbereich →](https://www.siteway.de/expertise/login-mitgliederbereich/) fall-03rückweg ### Spenden- & Beitragsformulare Spendenformular, Beitrittserklärung, Seminaranmeldung: Was auf der Website entsteht, soll in der Geschäftsstelle ankommen — als Vorgang im Fachsystem, nicht als E-Mail, die jemand abtippt. Das Formular schickt serverseitig, das Mapping ist vorher festgelegt, und für den Fall, dass die Schnittstelle schweigt, gibt es einen zweiten Weg. Eine Spende darf nie an einer Zeitüberschreitung scheitern. [formularstrecken →](https://www.siteway.de/expertise/formularstrecken/) ### Der Weg vom Konzept zur Anbindung Am Anfang steht eine **Sichtung**, nicht der Code. Welche Wege sind für eure Installation freigeschaltet, welche Felder liefert die Quelle, wie wird authentifiziert, welche Vorgänge dürfen schreibend angelegt werden? Diese Fragen klären wir vorab mit dem Hersteller beziehungsweise mit der Stelle, die eure Installation betreut. Erst danach entsteht das **Feld-Mapping** als Dokument: Welches Feld aus dem Fachsystem geht auf welches Feld der Website, was ist Pflicht, was bleibt optional — und was verlässt das Haus gar nicht erst. Für die gespiegelte Seite brauchen wir einen **Schlüssel**: eine stabile Kennung je Termin, über die der nächste Lauf denselben Datensatz wiedererkennt und aktualisiert, statt eine Dublette anzulegen. Über denselben Schlüssel läuft auch das Gegenteil — ein Termin, der im Fachsystem verschwindet, muss auf der Website verschwinden oder sauber als abgelaufen markiert werden, samt Regel für die URL, die dann ins Leere zeigt. **Bilder und Dokumente** ziehen wir beim Abgleich auf den eigenen Server, statt sie live aus dem Fachsystem zu verlinken. Danach laufen sie durch dieselbe Bildpipeline wie der Rest der Website — skaliert, als [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/) ausgespielt, mit Maßen im Markup. Für Unterlagen, die nur angemeldete Teilnehmer sehen dürfen, gilt das ausdrücklich nicht: Die bleiben hinter der Zugriffsprüfung und werden bei Bedarf durchgereicht, nie ungeschützt abgelegt. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die Schnittstelle nicht oder unvollständig, bleibt der letzte gute Stand des Kalenders stehen, der Lauf wird protokolliert und mit Abstand erneut versucht. Ein abgebrochener Abgleich darf nie eine leere Terminliste erzeugen. Auf der geschützten Seite gilt die umgekehrte Regel: Kommt keine Antwort, zeigt die Seite einen klar formulierten Hinweis — und nicht einen veralteten Beitragsstand aus einem Cache. unsere leitplanken - 01Erst die **Freischaltung**, dann das Mapping - 02Öffentliche Termine **spiegeln** - 03Personenbezogenes **live abfragen** - 04Zugangsdaten **serverseitig**, nie im Browser - 05Eine stabile **Kennung** je Termin - 06Rückweg **absichern**, nichts verlieren [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegtes vom **hersteller**, gebautes von uns Zur Schnittstelle nennt der Hersteller öffentlich **Webservices auf Basis von REST-Technologie** für die Anbindung von Drittanwendungen, ausdrücklich mit Newsletter-Systemen und Content-Management-Systemen wie TYPO3 oder WordPress als Beispiel. Eine frei zugängliche Entwicklerdokumentation mit Endpunkten, Feldnamen, Authentifizierungsverfahren oder Abfragegrenzen gibt es öffentlich nicht — für technische Details verweist der Hersteller auf den direkten Kontakt und seine Kundenplattform. Deshalb steht hier keine erfundene Feldliste, sondern das Vorgehen: Der freigeschaltete Weg wird vorab geklärt, und die Schnittstelle wird bis dahin als knappe Ressource behandelt — bündeln, zwischenspeichern, nur nachladen, was sich geändert hat. d-01zugang ### Zugang & Freischaltung Am Anfang steht die Frage, welcher Weg für eure Installation überhaupt offen ist — und mit welchen Rechten. Die Website bekommt dafür einen eigenen technischen Zugang mit genau dem Ausschnitt an Rechten, den sie braucht: lesend für die öffentlichen Termine, gezielt lesend für den geschützten Bereich, schreibend nur für die Vorgänge, die sie tatsächlich anlegen darf. Die Zugangsdaten liegen in der Konfiguration des Servers, nie im Repository und nie im Browser. zweck: authentifizierung d-02spiegel ### Der geplante Abgleich Ein Lauf im Hintergrund holt die öffentlichen Termine im festen Takt und schreibt sie in das Datenmodell des CMS. Er arbeitet idempotent: gleicher Schlüssel, gleicher Datensatz — angelegt beim ersten Mal, aktualisiert danach. Der Takt richtet sich nach der Praxis, nicht nach dem Gefühl: Ein Kursprogramm, das quartalsweise erscheint, braucht keinen Abgleich im Minutenrhythmus. zweck: öffentliche inhalte d-03live ### Der serverseitige Endpunkt Für den geschützten Teil bauen wir eine eigene Route auf dem Server. Sie prüft zuerst die Sitzung und die Rolle, fragt dann genau die Daten der angemeldeten Person im Fachsystem ab und gibt nur diese zurück. Kein Aufruf geht aus dem Browser direkt ins Fachsystem, keine Kennung aus dem Aufruf entscheidet allein darüber, wessen Daten geliefert werden. Zeitlimit, Wiederholung und eine definierte Anzeige ohne Antwort gehören dazu. zweck: personenbezogene daten d-04rückweg ### Anmeldung, Spende, Beitritt Der Rückweg schreibt, was auf der Website entsteht. Er läuft ausschließlich serverseitig, prüft vorher fachlich — ist der Termin noch buchbar, ist das Kontingent frei — und legt danach den Vorgang an. Doppelte Absendungen fängt ein Vorgangsschlüssel ab, damit aus einem hektischen zweiten Klick keine zweite Anmeldung wird. Welche Vorgangsarten schreibend erlaubt sind, ergibt sich aus der Freischaltung. zweck: vorgang ins fachsystem d-05mapping ### Feld-Mapping & Schlüssel Das Mapping ist ein Dokument, kein Kommentar im Code. Es hält fest, welches Feld auf welches geht, welches Format erwartet wird, was Pflicht ist — und was ausdrücklich nicht übertragen wird. Interne Vermerke, Bonitätsangaben, Gremienzugehörigkeiten oder Notizen aus der Mitglieder-Akte gehören nicht auf eine öffentliche Website. Der Schlüssel je Termin steht ebenfalls dort, weil an ihm Aktualisierung und Löschung hängen. zweck: datensparsamkeit d-06betrieb ### Protokoll & Monitoring Jeder Lauf hinterlässt eine Spur: Wann lief er, wie viele Datensätze kamen an, was ist fehlgeschlagen. Bleibt ein Abgleich mehrfach hintereinander aus, meldet sich das Monitoring, statt dass es jemandem Wochen später am leeren Kalender auffällt. Personenbezogene Nutzdaten stehen dabei nicht im Protokoll — dort steht, dass ein Vorgang lief, nicht wer darin vorkam. zweck: nachvollziehbarkeit ### Was auf der Website daraus entsteht Aus den gespiegelten Terminen wird kein Datenbank-Auszug, sondern eine Website. Der [Veranstaltungskalender](https://www.siteway.de/expertise/veranstaltungen-seminare/) filtert über die Felder aus dem Mapping — Thema, Zeitraum, Ort, Format —, arbeitet auf dem eigenen Bestand und braucht dafür keine Wartezeit auf ein fremdes System. Die Detailseite bekommt eine sprechende, dauerhafte URL, die Eckdaten als Tabelle, das Programm als Download und [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern, damit ein Termin in der Suche als eigenes Ergebnis erscheinen kann. Darunter steht die **Anmeldestrecke** — vorbelegt mit der Kennung des Termins, damit in der Geschäftsstelle sofort klar ist, worum es geht. Ob daraus eine reine Anmeldung wird oder ein Vorgang mit [Zahlung](https://www.siteway.de/expertise/digitale-produkte-abo-payment/), entscheidet das Angebot, nicht die Technik. Für wiederkehrende Mitglieder kommt ein [Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/) dazu, für Organisationen mit vielen Selbstauskünften ein [Self-Service-Portal](https://www.siteway.de/expertise/kundenportal-self-service/) — beides hinter Login, beides serverseitig abgefragt. Die Redaktion behält dabei ihren Platz. Neben den gespiegelten Feldern, die der Abgleich pflegt, liegen im [CMS](https://www.siteway.de/stack/cms-redaktion/) eigene Felder, die er nicht anfasst: ein Teasertext, ein Bild, ein Hinweis auf die Anfahrt, eine Empfehlung für verwandte Seminare. So bleibt der Kalender fachlich korrekt und trotzdem redaktionell gestaltbar — statt ein Fremdinhalt zu sein, den niemand anfassen darf. auf der website - ▸Kalender mit **eigenen Filtern** - ▸Detailseite mit **dauerhafter URL** - ▸Termine als **Rich Result** - ▸Anmeldung **mit Terminkennung** - ▸Mitgliederbereich **hinter Login** - ▸Redaktionsfelder **daneben** integration ## eVEWA4 in deine Website integrieren drei systeme · **ein muster** Der Weg ist in allen drei Systemen derselbe, weil er systemunabhängig gedacht ist: Ein geplanter Lauf holt die **öffentlichen Inhalte** aus eVEWA4 und legt sie als Inhalte im CMS ab — Seminartermine, Veranstaltungen, Kursbeschreibungen, Orte und Dozenten. Was dafür im CMS existieren muss, ist schnell benannt: eine eigene Inhaltsart mit genau den Feldern aus dem Mapping, eine Medienverwaltung für Bilder und Programme, und eine stabile Kennung aus dem Fachsystem als Schlüssel. Über diesen Schlüssel erkennt der nächste Lauf den Termin wieder und aktualisiert ihn. Erst dadurch werden Veranstaltungen zu echten Seiten mit dauerhafter URL statt zu einem eingebetteten Fremdinhalt — auffindbar, verlinkbar, auch dann noch lesbar, wenn das Fachsystem gerade gewartet wird. Für alles **Personenbezogene** gilt die umgekehrte Regel, und sie ist der Kern dieser Seite: Mitgliedsdaten, Beitragsstände, Anmeldelisten, Rechnungen und Bescheinigungen werden **nicht gespiegelt**. Sie laufen live über einen serverseitigen Endpunkt, den jedes der drei Systeme mit eigenen Mitteln bereitstellt: Die Sitzung wird geprüft, die Rolle wird geprüft, danach fragt der Server genau die Daten der angemeldeten Person ab und gibt nur diese zurück. Diese Antworten landen in keinem Cache, in keinem Suchindex und in keiner Datei auf der Platte. Was unterschiedlich ist, sind allein die Bordmittel — wo die Termine liegen, wie der Takt gesetzt wird und womit der geschützte Bereich abgesichert ist. cms-01typo3 ### eVEWA4 in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler, Frontend-Benutzergruppen und Fluid alles mit, was eine solche Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Inhaltsart für Termine mit genau den Feldern aus dem Mapping. Der Abruf läuft als Scheduler-Task im festen Takt, die Termine liegen als Records in einem Systemordner, Bilder und Programme in FAL. Der geschützte Teil läuft über Frontend-Benutzergruppen: Seiten und Inhalte werden je Gruppe freigegeben, die Live-Abfrage übernimmt ein eigener Controller, der zuerst die Anmeldung prüft. Zugangsdaten stehen in der Extension-Konfiguration und nie im Repository. Sprechende URLs kommen aus dem Site Handling, gerendert wird über Fluid — die Redaktion sieht die Termine im Backend und platziert Teaser als Content-Element. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### eVEWA4 in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Die Termine werden ein Custom Post Type mit eigenen Meta-Feldern für Zeitraum, Ort, Dozent und Kontingent, dazu Taxonomien für die Filter. Ein geplanter Lauf hält den Bestand nach. Für die serverseitigen Aufrufe legen wir eine eigene REST-Route an: Sie spricht das Fachsystem an, der Browser spricht nur mit ihr. Geschützte Inhalte laufen über Rollen und Fähigkeiten — eine eigene Rolle für Mitglieder, geprüft vor jeder Ausgabe und vor jedem Live-Abruf. Der Schlüssel steht als Konstante in der wp-config.php und nie im Frontend. Fürs Rendern kommen Template-Dateien und Blöcke für den Editor dazu. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### eVEWA4 in Statamic Statamic läuft auf Laravel — und genau dieser Unterbau macht die Aufgabe hier besonders geradlinig. Ein Blueprint beschreibt das Datenmodell der Termine, ein Artisan-Command holt sie und schreibt sie als Entries in eine eigene Collection, der Laravel-Scheduler bestimmt den Takt. Für den geschützten Teil kommen Route und Controller dazu: Middleware prüft die Anmeldung, der Controller fragt die Daten der angemeldeten Person live ab und gibt nur diese zurück — vom Static Caching ausgenommen, damit nichts Persönliches in einer ausgelieferten Datei landet. Der Schlüssel liegt in der .env, Bilder und Programme als Assets im eigenen Container. Antlers oder Blade rendern Liste, Filter und Detailseite; im Control Panel pflegt die Redaktion Felder, die der Abgleich nicht anfasst. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Personenbezogene Daten bleiben im Fachsystem architektur statt **absichtserklärung** Bei einer Verbands-, Spenden- oder Seminarsoftware ist Datenschutz keine Rubrik am Ende des Konzepts, sondern die Entscheidung, die den Bau bestimmt. **Was nicht doppelt liegt, kann nicht doppelt verloren gehen.** Deshalb wandert kein Mitgliederbestand ins CMS, keine Anmeldeliste in den Suchindex und kein Beitragsstand in einen Cache. Die Website hält die öffentliche Seite vor und fragt alles Persönliche im Moment der Anzeige. Das ist gleichzeitig eine Frage der Belastbarkeit: Ein CMS-Backup, das keine Mitgliederdaten enthält, ist ein Backup weniger, das jemand schützen muss. Die drei Muster unten sind die Zuordnung, mit der wir in jedem Projekt anfangen. e-01spiegeln ### Wenn die Seite tragen muss Seminartitel, Beschreibung, Zeitraum, Ort, Format, Preis, Programm als PDF: Das sind Inhalte, keine Momentaufnahmen, und sie enthalten keine personenbezogenen Daten. Sie gehören ins CMS. Die Seite wird dadurch schnell, bleibt bei einer Störung des Fachsystems vollständig lesbar, ist für Suchmaschinen erfassbar und lässt sich redaktionell ergänzen. inhalt · fester takt e-02live ### Wenn eine Person dranhängt Stammdaten, Beitragsstand, Rechnungen, Teilnahmebescheinigungen, Anmeldelisten: Diese Daten werden hinter dem Login serverseitig geholt und nach der Anzeige verworfen. Keine Spiegelung, keine Ablage, kein Suchindex, kein öffentlich erreichbarer Cache. Dazu Zeitlimit, Wiederholung und ein klar formulierter Hinweis, falls keine Antwort kommt. abruf · serverseitig e-03kombination ### Wenn beides zusammen Sinn ergibt Der Regelfall: Die Terminseite wird aus dem gespiegelten Bestand gebaut, und darunter steht für angemeldete Mitglieder ein Block mit dem persönlichen Anmeldestatus, live geholt. Ein Weg für die Substanz, ein Weg für die Person — auf derselben Seite, sauber getrennt in der Auslieferung. substanz + person ### Was sonst noch dazugehört **Sicherheit** beginnt bei den Zugangsdaten. Sie liegen serverseitig in der Konfiguration, nie im Repository und nie im Browser. Die Website bekommt einen eigenen technischen Zugang mit genau dem Ausschnitt an Rechten, den sie braucht — wird er kompromittiert, ist der Schaden begrenzt und der Zugang tauschbar, ohne dass ein Mitarbeiterkonto betroffen ist. Übertragen wird ausschließlich verschlüsselt. Im **geschützten Bereich** zählt die Sitzungsverwaltung: Anmeldung, Rolle und Gültigkeitsdauer entscheidet die Website, die Rechtevergabe im Fachsystem entscheidet, welche Daten überhaupt kommen dürfen — beides muss zusammenpassen. Jede Antwort wird gegen die angemeldete Person geprüft, keine Kennung aus dem Aufruf darf allein bestimmen, wessen Daten geliefert werden. Wie wir Login, Rollen und Sitzungen bauen, steht bei [Login & Mitgliederbereich](https://www.siteway.de/expertise/login-mitgliederbereich/). Dazu kommen die Pflichten, die kein Code erledigt: **Datensparsamkeit** im Formular, eine sauber eingeholte und dokumentierte Einwilligung, benannte Löschfristen und ein Auftragsverarbeitungsvertrag mit dem Anbieter — genauso wie mit dem Hoster. Als Anbieterangabe führt der Hersteller für eVEWA4 die Siegel „Software Made in Germany“ und „Software Hosted in Germany“; wo eure Installation tatsächlich läuft, gehört trotzdem schriftlich in die Verarbeitungsübersicht. Mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). zuordnung - ▸Termine, Beschreibungen, Orte → **spiegeln** - ▸Freie Plätze → **spiegeln, öfter** - ▸Mitgliedsdaten, Beiträge → **live** - ▸Rechnungen, Bescheinigungen → **live** - ▸Anmeldung, Spende → **serverseitig zurück** faq ## Häufige Fragen ### Was ist GRÜN eVEWA4? GRÜN eVEWA4 ist eine webbasierte Branchensoftware der GRÜN Software Group GmbH aus Aachen. Der Hersteller beschreibt sie als Lösung, mit der sich umfassende Geschäftsprozesse in Non-Profit-Organisationen sowie bei Bildungs- und Seminaranbietern abwickeln lassen. Drei Bereiche stehen im Vordergrund: die Online-Mitgliederverwaltung für Vereine und Verbände, Gewerkschaften, Parteien und Kammern, die Online-Spendenverwaltung von der Online-Spende bis zur Abrechnung und die Online-Seminarverwaltung für Planung, Durchführung und Abrechnung von Veranstaltungen und Seminaren jeder Art. Dazu kommen Beitragswesen, Rechnungs- und Mahnwesen sowie Auswertungen. Für eine Website ist damit klar, wo die führenden Daten liegen: Mitglieder, Spenden, Termine und Rechnungen stehen in eVEWA4, nicht im CMS. ### Hat GRÜN eVEWA4 eine Schnittstelle zur Website? Ja. Der Hersteller nennt Webservices auf Basis von REST-Technologie, über die sich Drittanwendungen anbinden lassen, und führt dabei Newsletter-Systeme sowie Content-Management-Systeme wie TYPO3 oder WordPress ausdrücklich als Beispiele auf. Eine frei zugängliche Entwicklerdokumentation mit Endpunkten, Feldnamen und Authentifizierungsverfahren gibt es öffentlich jedoch nicht; für technische Details verweist der Hersteller auf den direkten Kontakt und seine Kundenplattform. Deshalb steht am Anfang jedes Projekts eine Sichtung: Welche Wege sind in eurem Vertrag freigeschaltet, welche Felder liefert die Quelle, wie wird authentifiziert. Wir nennen auf dieser Seite bewusst keine Endpunkte und keine Feldnamen — die kommen aus der Freischaltung, nicht aus einer Vermutung. ### Welche Inhalte aus eVEWA4 gehören auf die Website? Die Trennlinie verläuft zwischen öffentlich und personenbezogen. Öffentlich sind Seminartermine, Veranstaltungen, Kursbeschreibungen, Orte, Dozenten und freie Plätze — diese Inhalte spiegeln wir im festen Takt in das Datenmodell des CMS und liefern sie aus dem eigenen Bestand aus. Personenbezogen sind Mitgliedsdaten, Beitragsstände, Rechnungen, Bescheinigungen und Anmeldelisten — diese Daten werden nicht gespiegelt, sondern hinter dem Login serverseitig live abgefragt und nach der Anzeige verworfen. Was genau in welche Richtung läuft, legen wir vorher im Feld-Mapping fest. Nicht jedes Feld aus einer Verbandssoftware gehört auf eine öffentliche Website. ### Wie kommt der Seminar- und Veranstaltungskalender auf die Website? Über einen geplanten Lauf im Hintergrund. Er holt die Termine aus eVEWA4 und legt sie im CMS als eigene Inhaltsart ab: Titel, Beschreibung, Zeitraum, Ort, Dozent, Kontingent, Preis. Über eine stabile Kennung aus dem Fachsystem erkennt der nächste Lauf denselben Termin wieder und aktualisiert ihn, statt eine Dublette anzulegen. Ausgeliefert wird danach aus dem eigenen Bestand — schnell, für Suchmaschinen erfassbar und unabhängig davon, ob das Fachsystem gerade erreichbar ist. Auf der Detailseite ergänzen wir strukturierte Daten für Veranstaltungen, damit ein Termin in der Suche als eigenes Ergebnis erscheinen kann. Wie Kalender, Filter und Anmeldestrecke im Frontend aussehen, beschreibt die Komponente Veranstaltungen und Seminare. ### Wie funktioniert ein Mitgliederbereich mit Daten aus eVEWA4? Über einen serverseitigen Endpunkt, nicht über eine Spiegelung. Das Mitglied meldet sich auf der Website an, und erst danach fragt der Server die Daten zu genau dieser einen Person im Fachsystem ab: Stammdaten, Beitragsstand, Rechnungen, Teilnahmebescheinigungen. Die Antwort geht an den angemeldeten Browser und wird im CMS nicht zwischengelagert, nicht in den Suchindex aufgenommen und nicht in einem öffentlich erreichbaren Cache abgelegt. Die Zugangsdaten zur Schnittstelle liegen ausschließlich auf dem Server. Wer angemeldet ist, welche Rolle er hat und wie lange die Sitzung gilt, entscheidet die Website — welche Daten er sehen darf, entscheidet die Rechtevergabe im Fachsystem. Beides muss zusammenpassen. ### Landen Anmeldungen, Spenden und Beiträge von der Website wieder in eVEWA4? Ja, das ist der Rückweg. Eine Seminaranmeldung, ein Spendenformular oder eine Beitrittserklärung schickt ihre Daten serverseitig an die Schnittstelle, und daraus entsteht im Fachsystem ein Vorgang: eine Anmeldung, eine Spende, ein neuer Datensatz. Damit nichts verloren geht, sichern wir die Übermittlung ab: Antwortet die Schnittstelle nicht, wird der Vorgang zwischengespeichert, erneut versucht und geht zusätzlich per E-Mail an die Geschäftsstelle. Eine Anmeldung darf nie an einer Zeitüberschreitung scheitern. Welche Vorgänge schreibend angelegt werden dürfen, hängt von der Freischaltung ab und wird vorab mit dem Hersteller geklärt. ### Lässt sich eVEWA4 in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien. Die Anbindung bauen wir in jedem System selbst, mit dessen eigenen Bordmitteln. In TYPO3 entsteht eine eigene Extension: Das TCA beschreibt das Datenmodell, der Abruf läuft als Scheduler-Task, die Termine liegen als Records in einem Systemordner, geschützte Bereiche laufen über Frontend-Benutzergruppen, gerendert wird über Fluid. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type mit Meta-Feldern für die Termine, ein geplanter Lauf für den Abgleich, eine eigene REST-Route für die serverseitigen Aufrufe, geschützte Inhalte über Rollen. In Statamic liegt Laravel darunter: ein Blueprint als Datenmodell, ein Artisan-Command im Scheduler, die Termine als Entries in einer Collection, dazu Route und Controller für den geschützten Teil. Die Mechanik bleibt in allen drei Fällen dieselbe — nur der Ort, an dem die Termine liegen, ist ein anderer. ### Was ist bei einer eVEWA4-Anbindung beim Datenschutz zu beachten? Der wichtigste Punkt ist kein Vertragstext, sondern eine Architekturentscheidung: Personenbezogene Daten werden live abgefragt und nicht ins CMS gespiegelt. Was nicht doppelt liegt, kann nicht doppelt verloren gehen. Dazu kommen die üblichen Pflichten: Zugangsdaten zur Schnittstelle serverseitig und nie im Browser, ein eigener Zugang für die Website mit genau den Rechten, die sie braucht, Übertragung ausschließlich verschlüsselt, Formularfelder auf das Nötige begrenzt, dokumentierte Einwilligung, benannte Löschfristen und ein Auftragsverarbeitungsvertrag mit dem Anbieter — genauso wie mit dem Hoster. Als Anbieterangabe führt der Hersteller für eVEWA4 die Siegel Software Made in Germany und Software Hosted in Germany; wo eure Installation tatsächlich läuft, gehört trotzdem schriftlich in die Verarbeitungsübersicht. womit das zusammenhängt ## Womit das zusammenhängt systeme, komponenten & **leistung** - [Veranstaltungen & Seminare.](https://www.siteway.de/expertise/veranstaltungen-seminare/) — Was aus den gespiegelten Terminen im Frontend wird: Kalender mit Filter, Detailseite, Anmeldung, Wartelisten und Event-Schema. zur leistung → - [Login & Mitgliederbereich.](https://www.siteway.de/expertise/login-mitgliederbereich/) — Die Tür vor der Live-Abfrage: Registrierung, Sitzungen, Rollen und Rechte — gebaut in deiner Website, nicht gemietet. zur leistung → - [Kundenportal & Self-Service.](https://www.siteway.de/expertise/kundenportal-self-service/) — Wenn Mitglieder ihre Daten selbst pflegen: Stammdaten ändern, Belege abrufen, Vorgänge einsehen — hinter dem Login. zur leistung → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Anmeldung, Spende, Beitrittserklärung: mehrstufige Strecken mit Validierung, Barrierefreiheit und sicherem Rückweg. zur leistung → - [weclapp.](https://www.siteway.de/stack/weclapp/) — Die Schwesterseite aus der Warenwirtschaft: dieselbe Mechanik aus Spiegeln und Rückweg, nur mit Artikeln statt Terminen. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Sichtung, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Dieselbe Logik greift bei anderen Systemen: [SAP](https://www.siteway.de/stack/sap/) und [weclapp](https://www.siteway.de/stack/weclapp/) bringen eigene Schnittstellen für Artikel- und Auftragsdaten mit, für Anmeldebestätigungen und Rundschreiben kommt eine Anbindung an [Newsletter und E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/) dazu. Welche Anbindung ein Projekt bekommt und in welcher Reihenfolge sie entsteht, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. Seminare und Mitglieder aus eVEWA4 auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # FlowFact **FlowFact** ist ein CRM für Makler und Immobilienunternehmen — dort liegen Objekte, Kontakte und Exposés. Auf die Website kommen sie über zwei Wege: den [OpenImmo](https://www.siteway.de/stack/openimmo/)-Export als XML im ZIP-Archiv oder den Abruf über die API. siteway baut die Strecke dazwischen: Import, Feld-Mapping, Bilder, Turnus — und den Rückkanal, damit eine Anfrage am Objekt nicht im Postfach endet. stack stack: flowfact · makler-crm wege: openimmo-export · api ergebnis: objektliste · detailseite · lead software seit: 1985 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir FlowFact anbinden](#einsatz) definition ## Was ist FlowFact? crm für die **immobilienwirtschaft** **FlowFact ist eine CRM- und Maklersoftware für die Immobilienwirtschaft: Objekte, Kontakte, Aufgaben, Termine, Exposés und die Übertragung an Immobilienportale liegen in einem System, das im Browser läuft.** Rund um diesen Kern gruppieren sich die Dinge, die ein Maklerbüro täglich braucht — Suchprofil-Abgleich zwischen Interessent und Objekt, Serien-E-Mails, Kalender- und Outlook-Anbindung, automatisierte Verarbeitung von Portalanfragen. Die Software kommt aus Köln und geht auf ein 1985 gegründetes Unternehmen zurück; seit Ende 2014 gehört FlowFact zum Scout24-Konzern. Der Hersteller nennt mehr als 6.000 Unternehmen als Anwender und Übertragungswege zu über 150 Immobilienportalen. Es gibt mehrere Produktlinien für Wohnen und Gewerbe sowie eine ältere Linie mit eigenem Serviceportal — welche im Einsatz ist, entscheidet mit, welcher Weg auf die Website offensteht. Für eine Website ist vor allem eine Frage entscheidend, und sie ist keine technische: **Wo liegt die Datenhoheit?** Bei einer FlowFact-Anbindung liegt sie im CRM. Die Website ist die öffentliche Ansicht dieses Bestands — sie zeigt Objekte, sie pflegt sie nicht. Alles Weitere folgt aus dieser einen Festlegung: das Inhaltsmodell im [CMS](https://www.siteway.de/stack/cms-redaktion/), der Turnus, der Umgang mit Abgängen. $ cat flowfact.md - ✓Kategorie crm · maklersoftware - ✓Herkunft köln · seit 1985 - ✓Konzern scout24 - ✓Betrieb browserbasiert - ✓Weg A openimmo-export - ✓Weg B api-abruf praxis ## Wie wir FlowFact anbinden mapping zuerst · **layout danach** Wir fangen nicht bei der Objektliste an, sondern beim **Feld-Mapping**. Auf der einen Seite steht, was aus FlowFact herauskommt — Objektart, Vermarktungsart, Preise, Flächen, Zimmer, Ausstattung, Energieangaben, Texte, Bilder, Dokumente. Auf der anderen Seite steht das Inhaltsmodell des [CMS](https://www.siteway.de/stack/cms-redaktion/). Dazwischen liegt eine Tabelle, die für jedes Feld sagt: Quelle, Ziel, Datentyp, Pflicht oder optional, und was passiert, wenn es fehlt. Diese Tabelle ist die eigentliche Schnittstelle. Alles danach ist Handwerk. Beim **OpenImmo-Weg** läuft es so: FlowFact packt die Objektdaten als XML-Datei zusammen mit allen referenzierten Bildern und Dokumenten in ein ZIP-Archiv und legt es per FTP im Zielverzeichnis ab — derselbe Mechanismus, mit dem auch die Portale beliefert werden. Auf der Website wartet ein Importer: Er entpackt, prüft das XML gegen das Schema, mappt die Felder, holt Medien einmalig herunter, erzeugt daraus [AVIF](https://www.siteway.de/stack/avif/)- und [WebP](https://www.siteway.de/stack/webp/)-Derivate und schreibt die Objekte in den Bestand. Der Lauf ist idempotent: Dieselbe Lieferung zweimal verarbeitet ergibt denselben Zustand, keine Dubletten. Beim **API-Weg** dreht sich die Richtung um: Nicht das CRM liefert, sondern die Website fragt. FlowFact betreibt dafür ein öffentliches Entwicklerportal; die dort dokumentierte Cloud-API ist eine HTTPS-Schnittstelle im REST-Stil, deren Dienste nach Zuständigkeiten geschnitten sind — Entitäten und Schemata, Kontakte, Exposés, Medien, Suche, Anfragen. Die Endpunkte antworten nur mit gültigen Zugangsdaten, und der Zugang wird laut Serviceportal im CRM selbst angelegt. Was ein konkreter Vertrag freischaltet, steht nicht in der öffentlichen Dokumentation. Deshalb sichten wir vor dem Angebot immer den echten Zugang, statt aus einer Funktionsliste zu schließen — [so arbeiten wir bei jeder Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/). Der größte Hebel liegt danach im Betrieb. Ein Importer, der nur beim ersten Lauf funktioniert, ist kein Importer. Er braucht einen festen Turnus, ein Protokoll pro Lauf, eine Meldung, wenn eine Lieferung ausbleibt oder halb ankommt — und eine Regel für den Cache, damit die [Auslieferung](https://www.siteway.de/stack/performance/) schnell bleibt, ohne dass ein geänderter Preis eine Stunde alt aussieht. unsere leitplanken - 01Das **CRM bleibt die Quelle**, die Website spiegelt - 02**Feld-Mapping** vor der ersten Zeile Code - 03Import ist **idempotent**, nie additiv - 04Medien **einmal holen**, lokal ausliefern - 05Abgänge **beantworten**, nicht verschweigen - 06Jeder Lauf hinterlässt ein **Protokoll** ### Was auf der Website entsteht Aus dem Import wird kein Datenfriedhof, sondern eine Strecke, die ein Interessent von der Suche bis zur Anfrage durchläuft. Vier Bausteine tragen sie. w-01übersicht #### Objektliste mit Filter Ort, Objektart, Vermarktungsart, Preis, Zimmer, Fläche — die Filter kommen aus den Feldern, die im Mapping als sauber typisiert markiert sind. Frei getippte Textfelder taugen nicht als Filter; das entscheidet sich vorher, nicht im Frontend. ergebnis: einstieg in den bestand w-02objekt #### Detailseite je Objekt Eine eigene, sprechende URL pro Objekt statt einer Nummer im Query-String. Galerie, Eckdaten, Beschreibungstexte, Energieangaben, Ansprechpartner, Karte — und ein Slug, der stabil bleibt, solange das Objekt online ist. ergebnis: indexierbare landingpage w-03kontakt #### Anfrage direkt am Objekt Das Formular kennt die Objektnummer, ohne dass jemand sie abtippt. Wenige Pflichtfelder, Prüfung im Browser und auf dem Server, Bestätigungsseite statt Sackgasse — Details dazu stehen unter [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). ergebnis: anfrage mit kontext w-04rückkanal #### Lead-Rückkanal ins CRM Die Anfrage geht dorthin, wo der Interessent ohnehin geführt wird. Über die API landet sie direkt im CRM, sonst als strukturierte E-Mail, die dort verarbeitet wird. Beide Wege brauchen eine Zustellgarantie: Was nicht ankommt, muss auffallen. ergebnis: kein lead im postfach-nirwana bausteine · 6 details ## Die Anbindung im Detail hier entscheidet sich, ob es **trägt** Eine Objektliste bauen kann jeder. Ob eine Anbindung nach zwei Jahren noch stimmt, entscheidet sich an sechs Stellen — und keine davon sieht man auf der fertigen Seite. d-01transport ### Import-Strecke Eingangsverzeichnis, Sperre gegen parallele Läufe, Archiv entpacken, XML gegen das Schema prüfen, erst dann schreiben. Eine kaputte Lieferung darf den Bestand nicht anfassen — sie wird abgelehnt und gemeldet, nicht halb verarbeitet. zweck: alles oder nichts d-02mapping ### Feld-Mapping Der Standard kennt viele optionale Felder, und jedes Büro füllt andere. Wir mappen deshalb nicht alles, sondern das, was auf der Seite wirklich vorkommt — mit Fallback je Feld und einer Regel, was ein leeres Feld im Layout bedeutet. zweck: daten ins inhaltsmodell d-03medien ### Bilder & Exposés Fotos, Grundrisse, Energieausweis, PDF-Exposé: Alles wird einmal geholt, über eine Prüfsumme erkannt und nur bei echter Änderung neu verarbeitet. Ausgeliefert wird lokal in modernen Formaten — nicht per Hotlink auf einen fremden Server. zweck: schnell & unabhängig d-04turnus ### Turnus & Cache Der Import läuft nach Plan, der Cache wird danach gezielt verworfen — für die betroffenen Objekte und die Listen, in denen sie auftauchen. So bleibt die Seite statisch schnell, ohne dass ein geänderter Preis auf den nächsten Tag wartet. zweck: tempo trotz frische d-05lebenszyklus ### Abgänge & Status Beim Teilabgleich meldet der Export ein entferntes Objekt ausdrücklich, beim Vollabgleich fehlt es einfach. Der Importer muss beide Modi kennen — und bei einer verdächtig kurzen Lieferung lieber abbrechen als den halben Bestand abräumen. zweck: kein bestand aus versehen weg d-06betrieb ### Fehler & Protokoll Jeder Lauf schreibt mit: wie viele Objekte kamen, was neu war, was entfiel, welches Feld nicht passte. Bleibt eine Lieferung aus oder scheitert ein Abruf, geht eine Meldung raus — bevor jemand im Büro den Fehler auf der Website entdeckt. zweck: sichtbarer betrieb ### Personenbezogene Daten in der Strecke In Richtung Website fließen Objektdaten — die sind zur Veröffentlichung bestimmt. In die Gegenrichtung fließen **personenbezogene Daten von Interessenten**, und dort gelten andere Regeln. Wir erheben im Formular nur, was für eine Rückmeldung nötig ist, übertragen verschlüsselt, geben nichts an Dritte weiter und sagen im Formular, wer die Daten bekommt und wozu. Wenn die Anfrage im CRM landet, verarbeitet der Anbieter sie im Auftrag des Maklerunternehmens — dafür braucht es einen Auftragsverarbeitungsvertrag zwischen beiden. Auf unserer Seite bleibt unterwegs keine Kopie länger liegen als nötig; wie wir das grundsätzlich halten, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). ### Was Suchmaschinen davon haben Objektseiten sind Landingpages mit Verfallsdatum — das macht sie in der Suche anspruchsvoll. Drei Dinge helfen. Erstens sprechende, stabile URLs statt Parametern, damit ein Objekt überhaupt verlinkbar ist. Zweitens [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/): Schema.org kennt mit RealEstateListing, Accommodation und Offer passende Typen — Google zeigt dafür zwar kein eigenes Rich-Result, aber die Auszeichnung macht die Seite maschinell eindeutig, und das zählt in AI-Antworten. Drittens ein sauberer Abgang: Wer verkaufte Objekte einfach stehen lässt, sammelt Seiten ein, die aussehen wie Angebote und keine mehr sind. Wer sie ersatzlos löscht, verliert Signale. Der Mittelweg ist eine Entscheidung pro Objekt — Referenz, Weiterleitung oder endgültig entfallen. prüfliste vor dem go-live - ▸Mapping-Tabelle **abgenommen** - ▸Testlauf mit **echtem Export** - ▸Abgang einmal **durchgespielt** - ▸Anfrage **im CRM angekommen** - ▸AV-Vertrag **geklärt** - ▸Alarm bei **ausbleibender Lieferung** integration ## FlowFact in deine Website integrieren drei systeme · **ein muster** Bis hierhin ging es um die Strecke. Jetzt um die Stelle, an der sie ankommt: das [CMS](https://www.siteway.de/stack/cms-redaktion/). Der Weg dorthin ist in jedem System derselbe. Ein **Import-Job** holt den [OpenImmo](https://www.siteway.de/stack/openimmo/)-Export ab — das Archiv mit XML und Medien —, prüft ihn gegen das Schema und legt jedes Objekt als eigenen Inhalt im CMS an: ein Datensatz je Immobilie, Felder typisiert, Bilder in der Medienverwaltung des Systems. Steht die API zur Verfügung, fragt derselbe Job die Daten stattdessen ab; am Ergebnis im CMS ändert das nichts. Das Frontend rendert daraus zwei Ansichten — die Objektliste mit Filtern und die Detailseite mit eigener, sprechender URL. Zwei Festlegungen entscheiden über die Qualität, und beide fallen vor der ersten Zeile Code. Erstens das **Datenmodell**: Preis, Fläche, Zimmer, Objekt- und Vermarktungsart gehören als eigene, typisierte Felder ins CMS, nicht in einen Fließtext — sonst gibt es später weder Filter noch saubere [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/). Welches Feld wohin geht, steht im [Feld-Mapping](#feld-mapping). Zweitens der **Cache**: Objektseiten dürfen so statisch ausgeliefert werden wie jede andere Seite, aber der Import muss danach gezielt verwerfen, was er angefasst hat — das Objekt und die Listen, in denen es vorkommt. Was sich zwischen TYPO3, WordPress und Statamic unterscheidet, ist also nicht die Logik, sondern wo die Objekte liegen und womit der Job getaktet wird. in jedem cms gleich - ▸Ein Objekt = **ein Inhalt** im CMS - ▸Zahlenfelder **typisiert**, nicht als Text - ▸Bilder in der **Medienverwaltung** des Systems - ▸Import **getaktet**, nicht per Klick - ▸Cache **gezielt** verwerfen nach dem Lauf ### Drei Systeme, drei Wege Wir bauen Websites in drei CMS — und in jedem davon bauen wir die Anbindung selbst, mit den Bordmitteln des jeweiligen Systems: eigenes Datenmodell, eigener Import, eigene Ausgabe. Die Logik bleibt dieselbe, nur das Bauteil heißt in jedem System anders. i-01enterprise ### FlowFact in TYPO3 Die Anbindung bauen wir als eigene Extension auf Extbase. Sie bringt ihr Datenmodell im TCA mit — Preis, Fläche, Zimmer, Objekt- und Vermarktungsart als typisierte Felder samt Relationen —, holt die Lieferung als Task im Scheduler ab und legt jedes Objekt als Record in einem eigenen Systemordner an. Bilder gehen in die Dateiverwaltung, die Ausgabe von Objektliste und Detailseite läuft über Fluid-Templates, die sprechenden URLs kommen aus dem Site Handling. Die Redaktion pflegt danach im Backend das, was nicht aus dem CRM kommt. [typo3 im stack →](https://www.siteway.de/stack/typo3/) i-02verbreitet ### FlowFact in WordPress Die Anbindung bauen wir als eigenes Plugin, nicht als Theme-Code — so überlebt sie jeden Theme-Wechsel. Das Plugin registriert die Objekte als Custom-Post-Type mit eigenen Meta-Feldern für Preis, Fläche und Zimmer und legt Objekt- und Vermarktungsart als Taxonomien an, damit die Filter der Objektliste sauber greifen. Der Import läuft als geplanter Lauf und schreibt je Objekt einen Beitrag, Bilder landen in der Mediathek. Fürs Frontend liefern wir Template und Blocks mit — die Redaktion setzt Objektliste und Detailseite damit im Editor. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) i-03flexibel ### FlowFact in Statamic Statamic läuft auf Laravel, Inhalte sind Entries in einer Collection, das Datenmodell steht im Blueprint — genau die Struktur, die eine Objektliste braucht. Den Import bauen wir deshalb als eigenen Artisan-Command im Laravel-Scheduler: Er liest die Lieferung, schreibt je Objekt einen Entry, legt Bilder in einen Assets-Container und fasst nur an, was sich geändert hat. Antlers- oder Blade-Templates rendern Liste und Detailseite, der Static Cache wird nach dem Lauf gezielt geleert. Im Control Panel sieht die Redaktion die Objekte wie jeden anderen Inhalt und kann sie kuratieren — etwa einzelne Referenzen hervorheben. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Export oder API — wann welcher Weg passt zuordnung statt **rangliste** Beide Wege führen zum Ziel, sie kosten nur unterschiedlich viel — an Aufwand, an Abhängigkeit und an Genauigkeit. Die Entscheidung fällt nicht nach Geschmack, sondern nach drei Fragen: Welche Felder werden gebraucht? Wie schnell muss eine Änderung sichtbar sein? Und soll etwas zurückfließen? e-01standard ### Wenn der Export trägt Objektliste, Detailseiten, Anfrage per Formular, Aktualisierung mehrmals täglich: Dafür reicht OpenImmo vollständig aus. Der Weg ist erprobt, unabhängig von Vertragsdetails und lässt sich später auf ein anderes CRM umstellen, ohne die Website neu zu bauen. robust & portabel e-02api ### Wenn die API lohnt Sobald Felder gebraucht werden, die der Standard nicht kennt, sobald eine Änderung binnen Minuten sichtbar sein soll oder sobald Leads ohne Umweg im CRM landen sollen. Die API kennt das Datenmodell des Systems, nicht nur den kleinsten gemeinsamen Nenner. genauer & zweiseitig e-03kombination ### Beides zusammen In der Praxis oft die beste Antwort: Der Bestand kommt über den Export, weil er robust und wiederherstellbar ist — die Anfrage geht über die API zurück, weil sie dort sofort beim richtigen Ansprechpartner liegt. Zwei Richtungen, zwei passende Werkzeuge. hin per export, zurück per api gegenüberstellung · openimmo-export vs. api [openimmo im detail →](https://www.siteway.de/stack/openimmo/) datenmodell export: normierter feldsatz · api: das datenmodell des crm transport export: xml im zip, per ftp abgelegt · api: https-abruf mit zugangsdaten richtung export: crm liefert, website wartet · api: website fragt, crm antwortet aktualität export: stand der letzten lieferung · api: stand des letzten abrufs abgänge export: löschanweisung oder fehlen in der lieferung · api: statusfeld am objekt rückkanal für leads export: nicht vorgesehen · api: anfrage direkt ins crm wechsel des systems export: importer bleibt, quelle tauscht · api: anbindung wird neu gebaut aufwand export: überschaubar, standardnah · api: höher, dafür feiner steuerbar ### Was wir vorher klären Vor dem Angebot sichten wir drei Dinge: eine echte Beispiellieferung aus dem laufenden System, den tatsächlich freigeschalteten Zugang und das Inhaltsmodell der Website. Aus der Beispiellieferung lesen wir ab, welche Felder befüllt sind — nicht welche der Standard erlauben würde. Aus dem Zugang, was ein konkreter Vertrag hergibt. Und aus dem CMS, wie viel Umbau nötig ist, damit Objekte dort überhaupt sauber liegen können. Dieselbe Systematik wenden wir bei den anderen Systemen der Branche an: bei [onOffice](https://www.siteway.de/stack/onoffice/) und [Propstack](https://www.siteway.de/stack/propstack/) genauso wie bei Bewertungsdiensten wie [PriceHubble](https://www.siteway.de/stack/pricehubble/). Der gemeinsame Nenner ist fast immer [OpenImmo](https://www.siteway.de/stack/openimmo/) — und genau deshalb bauen wir den Importer so, dass er die Quelle wechseln kann, ohne die Website zu berühren. zuordnung - ▸Liste, Detail, Formular → **Export** - ▸Sonderfelder, Tempo → **API** - ▸Leads ins CRM → **API** - ▸Systemwechsel denkbar → **Export** [leistung: schnittstellen & integration →](https://www.siteway.de/expertise/schnittstellen-integration/) faq ## Häufige Fragen ### Was ist FlowFact? FlowFact ist eine CRM- und Maklersoftware für die Immobilienwirtschaft: Objekte, Kontakte, Aufgaben, Termine, Exposés und die Übertragung an Immobilienportale liegen in einem System, das im Browser läuft. Die Software stammt aus Köln und geht auf ein 1985 gegründetes Unternehmen zurück; seit Ende 2014 gehört FlowFact zum Scout24-Konzern. Nach Herstellerangaben arbeiten mehr als 6.000 Unternehmen damit. Für eine Website ist vor allem eines wichtig: FlowFact ist das führende System für die Objektdaten — die Website zeigt sie, pflegt sie aber nicht. ### Wie kommen Objekte aus FlowFact auf die Website? Über zwei Wege. Der eine ist der OpenImmo-Export: FlowFact legt die Objektdaten als XML-Datei zusammen mit allen Bildern und Dokumenten in einem ZIP-Archiv ab und überträgt es per FTP auf den Zielserver — derselbe Mechanismus, mit dem auch Immobilienportale beliefert werden. Der andere ist die API: Die Website fragt die Daten selbst ab, mit eigenen Zugangsdaten und in einem Turnus, den wir festlegen. In beiden Fällen baut siteway die Strecke dazwischen — Import, Mapping auf das Inhaltsmodell des CMS, Medien und Auslieferung. ### Lässt sich FlowFact in WordPress, TYPO3 oder Statamic integrieren? Ja, in allen drei Systemen. Der Weg ist überall derselbe: Ein Import-Job holt den OpenImmo-Export, prüft ihn und legt jedes Objekt als eigenen Inhalt im CMS an — in TYPO3 als Records in einem eigenen Systemordner, getaktet über einen Task im Scheduler, in WordPress als Custom-Post-Type mit eigenen Meta-Feldern und Taxonomien für die Filter, in Statamic als Entries in einer Collection, geschrieben von einem Artisan-Command im Laravel-Scheduler. Diese Anbindung baut siteway als eigenes Bauteil im jeweiligen System — als Extension, als Plugin, als Command — mit den Bordmitteln, die das System dafür mitbringt. Entscheidend ist in jedem System dasselbe: ein typisiertes Datenmodell für Preis, Fläche und Zimmer — und eine Cache-Regel, die nach dem Import gezielt greift. ### Was ist der Unterschied zwischen OpenImmo-Export und API? OpenImmo ist ein normierter Feldsatz, den nahezu jede Maklersoftware beherrscht — dafür bekommst du genau das, was der Standard vorsieht, und die Daten sind so aktuell wie der letzte Export. Die API liefert das Datenmodell des CRM mit seinen eigenen Feldern, holt gezielt einzelne Datensätze und kann Anfragen auch zurückschreiben. Der Export ist der robustere Weg für eine Objektliste mit Detailseiten. Die API lohnt sich, wenn Felder gebraucht werden, die der Standard nicht kennt, wenn Änderungen sehr schnell sichtbar sein sollen oder wenn Leads ohne Umweg im CRM landen sollen. ### Wie schnell ist eine neue Immobilie auf der Website sichtbar? Das entscheidet der Turnus, nicht die Technik. Beim OpenImmo-Weg hängt es daran, wie oft aus FlowFact exportiert wird und wie oft der Importer auf der Website nach einem neuen Archiv schaut — üblich sind Abstände von wenigen Minuten bis zu einem Lauf am Tag. Beim API-Weg bestimmt der Abrufplan das Tempo. Wir legen den Turnus bewusst fest, statt ihn so eng wie möglich zu stellen: Ein Objekt, das eine Viertelstunde später online steht, kostet nichts — ein Importer, der jede Minute läuft und dabei jedes Bild neu holt, kostet Rechenzeit und Ruhe im Betrieb. ### Was passiert mit verkauften oder vermieteten Objekten? Sie verschwinden nicht einfach. Der Abgleichsmodus sagt, wie ein Abgang gemeldet wird: Beim Teilabgleich trägt das Objekt eine Löschanweisung, beim Vollabgleich fehlt es schlicht in der neuen Lieferung. Beides muss der Importer richtig deuten, sonst bleiben Karteileichen stehen oder der halbe Bestand bricht wegen einer unvollständigen Lieferung weg. Auf der Website beantworten wir eine abgelaufene Objekt-URL danach eindeutig: als Referenz, wenn das Objekt als Referenz weiterleben soll, mit einer Weiterleitung auf die passende Objektliste oder mit dem Statuscode für endgültig entfallen. Eine Seite, die weiter aussieht wie ein Angebot, ist die schlechteste aller Antworten. ### Wie werden Interessentendaten aus dem Anfrageformular geschützt? Das Formular am Objekt erhebt personenbezogene Daten, also gelten dieselben Regeln wie überall auf der Website: nur die Felder, die für eine Rückmeldung wirklich nötig sind, verschlüsselte Übertragung, keine Weitergabe an Dritte und ein klarer Hinweis darauf, wer die Daten bekommt und wozu. Landet die Anfrage in FlowFact, verarbeitet der Anbieter die Daten im Auftrag des Maklerunternehmens — dafür braucht es einen Auftragsverarbeitungsvertrag zwischen beiden. siteway baut die Strecke technisch so, dass unterwegs keine Kopie länger liegen bleibt als nötig. ### Bindet siteway FlowFact an eine bestehende Website an? Ja. Diese Seite beschreibt die Technik dahinter: Import, Feld-Mapping, Medien, Turnus, Abgänge und den Rückkanal für Anfragen. Ob eine bestehende Website dafür taugt, hängt an ihrem Inhaltsmodell — deshalb sichten wir vor dem Angebot den echten Zugang und das vorhandene CMS, statt aus einer Funktionsliste zu schließen. Die buchbare Leistung mit Konzept, Mapping, Umsetzung und Betrieb beschreibt siteway unter [Schnittstellen und Integration](https://www.siteway.de/expertise/schnittstellen-integration/) in der Expertise. womit das zusammenhängt ## Womit das zusammenhängt standard, schwestern & **leistung** - [OpenImmo.](https://www.siteway.de/stack/openimmo/) — Das Austauschformat unter fast jeder Makler-Anbindung: XML im ZIP, Voll- und Teilabgleich, Abgänge. Der gemeinsame Nenner der Branche. zum standard → - [onOffice.](https://www.siteway.de/stack/onoffice/) — Das zweite große Makler-CRM im deutschsprachigen Raum — und wie sich seine Anbindung an eine Website von dieser hier unterscheidet. zur schnittstelle → - [Propstack.](https://www.siteway.de/stack/propstack/) — Der jüngere Herausforderer im Makler-CRM-Markt. Gleiche Fragen, andere Antworten: Felder, Turnus, Rückkanal. zur schnittstelle → - [PriceHubble.](https://www.siteway.de/stack/pricehubble/) — Wenn nicht der Bestand auf die Website soll, sondern eine Bewertung als Einstieg — der Weg von der Adresse zum Lead. zur schnittstelle → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wie wir Formulardaten behandeln, was verschlüsselt läuft und warum keine Interessentendaten an Dritte gehen. zur grundlage → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Sichtung, Feld-Mapping, Umsetzung, Monitoring nach dem Go-live. Hier wird gebucht. zur leistung → Objekte aus FlowFact auf deine Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · frontend # Frontend Das Frontend ist die Schicht, die dein Besucher wirklich sieht und bedient. siteway baut sie aus den drei nativen Web-Technologien: sauberem **HTML5**, CSS mit **Tailwind** und **Vanilla JavaScript** — gebaut direkt auf der **Browser-Plattform**. Das Ergebnis ist schneller, wartbarer und hält über Jahre. stack tech: html5 · tailwind · vanilla js einsatz: jede website seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir bauen](#praxis) definition ## Was heißt Frontend mit Web-Standards? drei schichten · **native plattform** **Frontend mit Web-Standards heißt: Die sichtbare Seite entsteht aus den drei nativen Web-Technologien — semantisches HTML5, CSS mit Tailwind als Utility-Schicht und Vanilla JavaScript — die der Browser direkt versteht.** Er rendert damit das, was er von Haus aus am besten kann. JavaScript kommt nur dort dazu, wo es echte Interaktion braucht. Das ist keine Nostalgie, sondern eine Architektur-Entscheidung. Die Browser-Plattform ist erwachsen geworden: ES-Module, fetch, Web Components, das -Element und View Transitions decken heute nativ ab, wofür früher eine zusätzliche Bibliothek nötig schien. Wir nutzen diese Plattform direkt — jede Zeile, die ankommt, gehört zur Seite selbst. $ cat frontend.md - ✓Semantisches html5 - ✓CSS mit tailwind (build-time) - ✓Vanilla javascript - ✓Progressive Enhancement - ✓Sofort bedienbares html - ✓Lokale Fonts, keine Tracker praxis ## Wie wir das Frontend bauen von unten nach oben · **in schichten** Frontend-Technik wird meist als Grundsatzfrage diskutiert. Für uns ist sie eine Methode: Wir bauen jede Seite von der belastbarsten Schicht aus nach [Progressive Enhancement](#pe) — von unten nach oben, Schicht für Schicht. Zuerst steht das **HTML**: semantisch, vollständig, mit allen Inhalten. Diese Seite funktioniert schon, bevor eine einzige Zeile CSS oder JavaScript geladen ist. Darauf legen wir das **CSS** — Tailwind als Utility-Schicht, die nur beim Build läuft und eine schlanke Datei mit exakt den genutzten Klassen erzeugt. Zuletzt kommt **JavaScript**: gezielt, gekapselt, nur dort, wo echte Interaktion es rechtfertigt. Interaktion liefern wir als eigenständige Module, die nur auf der Seite laden, wo sie gebraucht werden — die Command-Palette hier oben ist so ein Modul, ein Konfigurator oder eine Karte ein anderes. Kein globales Bundle, das jede Seite mitschleppt. Fällt ein Skript aus, bleibt die Seite bedienbar. Das ist der Unterschied zwischen „braucht JavaScript“ und „nutzt JavaScript“. unsere regeln - 01HTML muss **ohne JS** funktionieren - 02CSS läuft **beim Build**, nicht im Browser - 03JS nur **gekapselt** & pro Seite - 04Keine **Runtime**-Abhängigkeit p-01methode ### Progressive Enhancement HTML zuerst, CSS darüber, JavaScript zuletzt. Jede Schicht setzt auf der darunter auf. Schlechtes Netz, alter Browser, blockiertes Skript — der Kern der Seite bleibt lesbar und bedienbar. prinzip: html › css › js p-02markup ### Semantisches HTML5 Die richtigen Elemente für die richtige Bedeutung: nav, main, article, dialog. Das ist die Grundlage für Barrierefreiheit, saubere strukturierte Daten und Seiten, die Suchmaschinen und KI-Systeme verstehen. basis: landmarks + a11y p-03styling ### Tailwind, build-time Tailwind ist ein CSS-Utility-Framework, kein JS-Framework. Es läuft beim Build und erzeugt reines CSS — nur die tatsächlich genutzten Klassen. Im Browser läuft keine Tailwind-Laufzeit. Design-Tokens halten alles konsistent. output: reines css, purged p-04interaktion ### Vanilla-JS-Module Interaktion als gekapselte ES-Module, geladen nur wo nötig: Command-Palette, Filter, Karten, Konfiguratoren. Native APIs statt Framework — fetch, querySelector, Web Components. Kein globales Bundle auf jeder Seite. laden: pro seite, defer p-05tempo ### Kein Hydration-Overhead Framework-Seiten hydrieren nach dem Laden das HTML noch einmal, um es interaktiv zu machen — das kostet JavaScript und verzögert die erste Reaktion. Diesen Schritt gibt es bei uns nicht. Das HTML ist ab der ersten Sekunde bedienbar. effekt: schnelles inp/lcp p-06wartung ### Stabil über Jahre Keine Runtime-Abhängigkeit heißt: kein erzwungenes Update auf die nächste Major-Version, kein Ökosystem-Bruch. Was heute läuft, läuft in fünf Jahren noch. Web-Standards altern langsam — das ist ein Vorteil, kein Kompromiss. basis: web-standards beleg ## Messbar, nicht behauptet lighthouse · **mobil** „Schnell“ ist leicht behauptet. Unsere eigene Startseite zeigt, was der Ansatz kann: **100 / 100 / 100 / 100** in Google PageSpeed Insights — mobil, in allen vier Lighthouse-Kategorien. Ausgeliefert wird genau das, was die Seite braucht — und nichts, was erst noch aufgebaut werden muss. Wie weit man ein Frontend treiben kann, ist eine Frage der Disziplin, nicht der Werkzeuge — mehr dazu unter [Performance](https://www.siteway.de/stack/performance/). Dieselbe Bauweise zahlt direkt auf [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/) ein: semantisches HTML, das ohne JavaScript funktioniert, ist von Grund auf bedienbar. *// psi · startseite siteway.demobil* faq ## Häufige Fragen ### Was heißt „Frontend mit Web-Standards“? Frontend mit Web-Standards heißt: Die sichtbare Seite entsteht aus den drei nativen Web-Technologien — semantisches HTML5, CSS mit Tailwind als Utility-Schicht und Vanilla JavaScript — die der Browser direkt versteht. Er rendert damit das, was er von Haus aus am besten kann. JavaScript kommt nur dort dazu, wo es echte Interaktion braucht. siteway baut so seit 2006. ### Warum baut ihr ohne React oder Vue? Weil die Browser-Plattform heute alles mitbringt, was eine klassische Unternehmens-Website, ein Blog oder ein Portal braucht. Ein Framework bringt zusätzlich ein Runtime-Bundle mit, das geladen, geparst und ausgeführt werden muss, plus Hydration, bevor die Seite reagiert — diesen Weg sparen wir uns. Direkt auf Web-Standards gebaut ist die Seite schneller, wartbarer und über Jahre stabil, unabhängig davon, welche Major-Version ein Ökosystem als Nächstes bringt. ### Was ist Progressive Enhancement? Progressive Enhancement baut eine Seite in Schichten: zuerst funktionierendes HTML mit allen Inhalten, dann CSS für die Gestaltung, dann JavaScript für zusätzliche Interaktion. Jede Schicht setzt auf der darunter auf, ersetzt sie aber nicht. Fällt JavaScript aus — schlechtes Netz, alter Browser, blockiertes Skript — bleibt die Seite lesbar und bedienbar. siteway baut jede Seite nach diesem Prinzip. ### Ist Tailwind nicht auch ein Framework? Tailwind ist ein CSS-Utility-Framework, kein JavaScript-Framework — der Unterschied ist entscheidend. Tailwind läuft nur beim Build und erzeugt reines CSS; im Browser läuft keine Tailwind-Laufzeit, kein JavaScript, keine Hydration. Der Nutzer bekommt eine schlanke CSS-Datei, die nur die tatsächlich genutzten Klassen enthält. Es beschleunigt die Entwicklung, ohne die ausgelieferte Seite zu belasten. ### Was bedeutet Hydration — und warum vermeidet ihr sie? Hydration ist der Schritt, in dem ein Framework wie React nach dem Laden das fertige HTML im Browser noch einmal durchgeht, um es „interaktiv zu machen“. Das kostet JavaScript, Rechenzeit und verzögert den Moment, ab dem die Seite auf Klicks reagiert. Da siteway direkt auf Web-Standards baut, gibt es diesen Schritt nicht: Das HTML ist von der ersten Sekunde an bedienbar, Interaktion kommt gezielt per Vanilla JavaScript dazu. ### Wie interaktiv wird eine Seite ohne JS-Framework? So interaktiv wie nötig. Moderne Browser-APIs — fetch, querySelector, Web Components, das -Element, View Transitions — decken fast alles ab, wofür früher ein Framework nötig schien. siteway baut Interaktion als gekapselte JavaScript-Module, die nur auf der Seite laden, wo sie gebraucht werden: Command-Palette, Filter, Karten, Konfiguratoren. Aufwendige Anwendungen mit viel Client-Logik lösen wir gezielt — dann aber bewusst und begründet, nicht als Standard für jede Textseite. ### Ist Vanilla JavaScript noch zeitgemäß? Ja, mehr denn je. Die Sprache und die Browser-Plattform haben aufgeholt: ES-Module, async/await, Template-Literals, native Web Components und breit unterstützte APIs machen Framework-Schichten für viele Aufgaben überflüssig. Vanilla JavaScript heißt heute: mit den Werkzeugen arbeiten, die der Browser selbst mitbringt — schlanker, schneller und unabhängig vom Release-Zyklus eines Frameworks. Genau deshalb setzt siteway darauf. zusammenhang ## Womit das zusammenhängt leistung & **stack** - [Tailwind CSS.](https://www.siteway.de/stack/tailwind-css/) — Utility-First im Detail: wie wir Design-Tokens und Tailwind verheiraten und warum das Bundle klein bleibt. weiterlesen → - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Diese Seite erklärt die Technik — hier buchst du die Umsetzung: dein Design als sauberes, schnelles Frontend gebaut. zur leistung → - [Performance.](https://www.siteway.de/stack/performance/) — Warum ein schlankes Frontend schnell ist — Core Web Vitals, LCP, INP und wie wir die 100 in PSI erreichen. weiterlesen → - [Barrierefreiheit.](https://www.siteway.de/stack/barrierefreiheit/) — Semantisches HTML, das ohne JavaScript funktioniert, ist von Grund auf bedienbar — nach WCAG 2.2 und BFSG. weiterlesen → Ein Frontend, das hält und schnell ist? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · ci-cd # GitHub Actions **GitHub Actions** ist die Automatisierung, die direkt im Repository wohnt: Workflows liegen als YAML-Datei neben dem Code und starten, sobald jemand pusht oder einen Pull Request öffnet. Bei siteway baut so ein Workflow CSS, Bilder und Suchindex, prüft den Stand und liefert ihn auf Staging und Live aus — [reproduzierbar](https://www.siteway.de/stack/deployment-betrieb/) statt per FTP, mit Rollback über die Git-Historie. stack stack: github actions einsatz: build · prüfung · deploy verfügbar seit: 2019 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Workflows bauen](#einsatz) definition ## Was ist GitHub Actions? **GitHub Actions ist die in GitHub eingebaute Automatisierungsplattform: Ein Workflow ist eine YAML-Datei im Repository, die beschreibt, was bei welchem Ereignis passieren soll.** Ein Push auf main, ein neuer Pull Request, ein Zeitplan — GitHub startet daraufhin einen Runner, eine frische virtuelle Maschine, und arbeitet die beschriebenen Schritte darin ab. Die Bausteine sind schnell erklärt: Der **Trigger** sagt, wann es losgeht. Ein **Job** läuft auf einem Runner und besteht aus **Steps** — entweder ein Shell-Befehl oder eine fertige **Action**, etwa actions/checkout zum Auschecken des Codes. GitHub Actions ist seit 2019 allgemein verfügbar und heute der Standardweg, um in einem GitHub-Repository zu bauen, zu prüfen und auszuliefern. $ cat github-actions.md - ✓Workflow yaml im repo - ✓Trigger push · pull request - ✓Job läuft auf runner - ✓Steps befehl oder action - ✓Secrets zugänge außerhalb des codes - ✓Protokoll jeder lauf nachlesbar praxis ## Wie wir GitHub Actions einsetzen push → build → **deploy** Wir behandeln den Workflow wie Code: Er liegt in .github/workflows/ im selben Repository wie die Website, wird im Pull Request mitgelesen und ist jederzeit auf einen Commit zurückführbar. Ändert sich der Auslieferungsweg, ist das eine Änderung mit Autor, Datum und Grund — nicht eine Einstellung, die irgendwo in einer Oberfläche verstellt wurde und an die sich später niemand erinnert. Der Build läuft komplett auf dem Runner, nie auf einem Entwickler-Laptop. In fester Reihenfolge: Tailwind kompiliert das [CSS](https://www.siteway.de/stack/frontend/), die sharp-Pipeline erzeugt die [AVIF- und WebP-Varianten](https://www.siteway.de/stack/bild-videoformate/), Pagefind schreibt den [Suchindex](https://www.siteway.de/stack/suche/) neu, Sitemap und Markdown-Spiegel entstehen, zuletzt bekommt jede CSS- und JS-Datei ihren Cache-Busting-Hash. Jeder dieser Schritte ist ein benannter Step — bricht einer ab, bricht der Job ab, und ein kaputter Stand erreicht den Server gar nicht erst. Ausgeliefert wird per SSH mit einem Deploy-Key, der als **Secret** hinterlegt ist — im Repository steht kein Passwort. Staging und Live sind getrennte Umgebungen mit eigenen Zugängen: Ein Push auf den Arbeitsstand geht auf Staging, nach der Freigabe geht exakt derselbe Commit auf Live. Für den Live-Schritt nutzen wir eine geschützte Environment, sodass er nicht versehentlich mitläuft. Zwei Details, die viel Ärger sparen: Abhängigkeiten werden gecacht, damit ein Lauf im Minutenbereich bleibt statt bei jedem Deploy alles neu zu installieren. Und fremde Actions werden auf eine feste Version gepinnt — was heute läuft, läuft morgen genauso, auch wenn jemand anderes sein Repository umbaut. Wie sich das in den Gesamtprozess einordnet, steht im Hub [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/). $ cat .github/workflows/deploy.yml - onpush · pull_request - 01checkout code auf runner - 02node + cache abhängigkeiten - 03build css · bilder · index - 04checks meta · links · anchors - 05deploy → staging - 06deploy → live nach freigabe bausteine · 6 details ## Die Bausteine eines Workflows jeder mit **klarem zweck** GitHub Actions kann viel mehr, als wir brauchen. Das sind die sechs Teile, die in unseren Projekten tatsächlich tragen — und der Grund, warum wir sie so einsetzen. b-01trigger ### Events & Trigger Ein Workflow startet nicht auf Zuruf, sondern auf ein Ereignis: Push, Pull Request, Zeitplan oder Handstart über die Oberfläche. Wir binden Build und Prüfung an jeden Push und den Live-Deploy an eine bewusste Freigabe. zweck: on: push · pull_request b-02runner ### Jobs & Runner Jeder Job läuft auf einer frisch aufgesetzten Maschine. Nichts von gestern bleibt liegen, keine lokal installierte Sonderversion verfälscht das Ergebnis. Genau das macht den Build reproduzierbar statt zufällig. zweck: saubere umgebung b-03actions ### Actions & Versionen Fertige Bausteine wie actions/checkout sparen Arbeit — solange sie festgenagelt sind. Wir pinnen jede fremde Action auf eine feste Version, damit ein Fremd-Update nicht unbemerkt in unseren Deploy rutscht. zweck: wiederverwenden, gepinnt b-04zugänge ### Secrets & Environments Deploy-Key und Tokens liegen als Secret außerhalb des Codes und werden in Logs maskiert. Staging und Live sind getrennte Environments mit eigenen Zugängen — ein Workflow erreicht nur, wofür er gedacht ist. zweck: kein passwort im repo b-05tempo ### Caching & Artefakte Abhängigkeiten werden zwischen Läufen gecacht, das fertige Build-Ergebnis als Artefakt weitergereicht. So bleibt ein Deploy kurz genug, dass niemand ihn scheut — und derselbe Build geht auf Staging und Live. zweck: cache + artefakt b-06prüfung ### Checks im Pull Request Vor dem Merge läuft derselbe Build plus unsere Audits: Meta-Angaben, JSON-LD, interne Links, Heading-Anchors. Was rot ist, geht nicht rein. Reviewer sehen das Ergebnis direkt am Pull Request. zweck: fehler vor dem merge beleg ## Aus echten Projekten nicht aus der **doku** Diese Website ist das nächstliegende Beispiel. Der Stand, den du gerade liest, ist durch genau den Workflow gegangen, der oben beschrieben ist: CSS gebaut, Bilder in AVIF und WebP erzeugt, Suchindex und Sitemap neu geschrieben, Cache-Busting gesetzt, dann per SSH ausgeliefert. Dass die Startseite mobil bei **100/100/100/100** in PageSpeed Insights liegt, hängt auch daran: Optimierungen, die eine Maschine bei jedem Deploy ausführt, werden nicht vergessen. Je größer ein Projekt, desto größer der Hebel. Beim **Case Spelsberg** — TYPO3 in 13 Sprachen, seit 2018 von uns betreut — geht jede Template- und Technik-Änderung erst auf Staging, wo die Redaktion über alle Sprachen gegenprüft, bevor derselbe Commit live geht. Von Hand über 13 Sprachbäume zu bauen wäre eine Frage der Zeit, bis etwas untergeht. Alle Referenzen stehen unter [Cases](https://www.siteway.de/cases/). diese seite · pipeline ci/cdGitHub Actions buildtailwind · sharp · pagefind deployssh → staging → live rollbackletzter guter commit psi mobil100 / 100 / 100 / 100 [alle cases ansehen →](https://www.siteway.de/cases/) einordnung ## Wann GitHub Actions passt — und wann nicht werkzeug, nicht **dogma** GitHub Actions ist stark, wenn der Code ohnehin auf GitHub liegt und zwischen Commit und Live echte Arbeit passiert. Drei Fälle, an denen wir das festmachen — und was wir empfehlen, wenn ein Punkt nicht zutrifft. e-01build ### Es gibt einen Build Sobald CSS kompiliert, Bilder konvertiert oder ein Suchindex erzeugt werden muss, lohnt der Workflow sofort: Diese Schritte von Hand zu wiederholen ist die häufigste Quelle für „auf Live fehlt was". automatisierbare schritte e-02team ### Mehrere Hände am Code Arbeiten mehrere Menschen am selben Projekt — oder wechselt die Betreuung —, ist die Pipeline die verlässliche Antwort auf „was ist gerade live und wie kam es dahin". Bei Einzelprojekten ohne Änderungen bleibt der Nutzen klein. nachvollziehbarkeit e-03grenze ### Inhalte statt Code Redaktionelle Inhalte kommen aus dem [CMS](https://www.siteway.de/stack/cms-redaktion/) und laufen nicht durch die Pipeline — die liefert Templates, Code und Assets aus. Und liegt der Code auf GitLab oder einer eigenen Instanz, ist deren Runner der passende Weg; das Prinzip bleibt identisch. cms · andere runner einordnung werkzeug: github actions prinzip: ci/cd-pipeline [gesamtprozess im hub →](https://www.siteway.de/stack/deployment-betrieb/) faq ## Häufige Fragen ### Was ist GitHub Actions? GitHub Actions ist die in GitHub eingebaute Automatisierungsplattform. Ein Workflow ist eine YAML-Datei im Ordner .github/workflows des Repositories; sie beschreibt, was bei welchem Ereignis passieren soll — etwa bei einem Push auf main oder beim Öffnen eines Pull Requests. GitHub startet dafür einen Runner, eine frische virtuelle Maschine, und arbeitet die Jobs und Schritte darin ab. GitHub Actions ist seit 2019 allgemein verfügbar. siteway baut damit Build, Prüfung und Deploy jeder Website. ### Wofür nutzt siteway GitHub Actions konkret? Für alles zwischen Commit und Live. Der Workflow baut das CSS mit Tailwind, erzeugt die AVIF- und WebP-Varianten der Bilder über die sharp-Pipeline, schreibt den Pagefind-Suchindex neu, generiert Sitemap und Markdown-Spiegel und setzt das Cache-Busting an CSS und JavaScript — immer in derselben Reihenfolge. Danach liefert er den fertigen Stand per SSH auf Staging aus, nach der Freigabe denselben Stand auf Live. Bei siteway lädt niemand einzelne Dateien per FTP hoch. ### Was steht in einem Workflow — und wo liegt er? Ein Workflow liegt als YAML-Datei im Repository unter .github/workflows/ und besteht aus drei Teilen: dem Auslöser (on:), also dem Ereignis wie push oder pull_request; einem oder mehreren Jobs, die jeweils auf einem Runner laufen; und den Schritten innerhalb eines Jobs. Ein Schritt ist entweder ein Shell-Befehl oder eine fertige Action, etwa actions/checkout zum Auschecken des Codes. Weil die Datei im Repository liegt, ist jede Änderung an der Pipeline selbst ein Commit — versioniert und nachvollziehbar wie der Code. ### Wie kommen Zugangsdaten in den Workflow, ohne im Repository zu liegen? Über Secrets. Zugangsdaten wie ein SSH-Deploy-Key oder ein API-Token werden in den Repository- oder Environment-Einstellungen hinterlegt und im Workflow nur als Platzhalter referenziert. Im Repository steht damit nie ein Passwort, und in den Logs werden die Werte maskiert. siteway trennt zusätzlich nach Umgebung: Staging und Live haben eigene Zugänge, sodass ein Workflow nur das erreicht, wofür er gedacht ist. ### Was ist der Unterschied zwischen GitHub Actions und einer CI/CD-Pipeline? Die CI/CD-Pipeline ist das Prinzip: der automatisierte Weg vom Commit über Build und Prüfung bis zur Live-Website. GitHub Actions ist das Werkzeug, mit dem siteway dieses Prinzip umsetzt. Dieselbe Pipeline ließe sich auch mit GitLab CI oder einem anderen Runner bauen — die Schritte blieben dieselben. Wie der Gesamtprozess bei siteway aussieht, steht im Stack unter [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/); diese Seite geht auf das Werkzeug ein. ### Was kostet GitHub Actions? Für öffentliche Repositories sind die Standard-Runner kostenfrei. Für private Repositories enthält jeder GitHub-Plan ein monatliches Freikontingent an Laufzeit; darüber hinaus wird nach genutzten Minuten abgerechnet. Eine Website-Pipeline mit CSS-Build, Bildverarbeitung und Suchindex läuft pro Deploy im Minutenbereich und bleibt damit in der Regel im Kontingent. siteway hält Workflows bewusst schlank und cached Abhängigkeiten, statt bei jedem Lauf alles neu zu installieren. ### Was passiert, wenn ein Workflow fehlschlägt oder ein Deploy kaputt geht? Schlägt ein Schritt fehl, bricht der Job ab und der Deploy findet nicht statt — ein kaputter Build erreicht die Live-Seite gar nicht erst. Das Protokoll zeigt Schritt für Schritt, wo es hakte. Ist doch einmal etwas live, das zurück soll, rollt siteway den letzten funktionierenden Commit erneut aus: Weil jeder Deploy an einen Git-Stand gebunden und der Build reproduzierbar ist, ist ein Rollback ein normaler Workflow-Lauf und kein Notfall. womit das zusammenhängt ## Womit das zusammenhängt stack & **leistung** - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Der Gesamtprozess, in dem dieser Workflow steckt: Git als Quelle der Wahrheit, getrennte Umgebungen, atomarer Deploy und Rollback. zum hub → - [Bild- & Videoformate.](https://www.siteway.de/stack/bild-videoformate/) — Einer der Build-Schritte im Detail: Wie die sharp-Pipeline AVIF und WebP erzeugt, die der Workflow bei jedem Deploy mitliefert. zur technologie → - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Der Workflow liefert aus — diese Leistung hält die Seite im Betrieb: Updates, Backups, Monitoring und Support als Vertrag. Hier wird gebucht. zur leistung → Deploys, die niemand fürchtet? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Google for Jobs **Google for Jobs** ist die Stellensuche innerhalb der Google-Suche — kein eigenes Jobportal, sondern eine Box, die Google aus dem Markup der Arbeitgeber-Websites füllt. Die Eintrittskarte ist **JobPosting**-JSON-LD auf einer indexierbaren Detailseite je Stelle. Wie siteway das baut, steht auf dieser Seite; buchen kannst du es als [Job- & Karriereportal](https://www.siteway.de/expertise/job-karriereportal/). stack stack: google for jobs · jobposting einsatz: detailseite je stelle prüfung: rich-results-test seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir das umsetzen](#einsatz) definition ## Was ist Google for Jobs? **Google for Jobs ist eine eigene Darstellung von Stellenanzeigen in den Google-Suchergebnissen: eine Box, die bei passenden Suchanfragen über den übrigen Treffern steht und sich nach Kriterien wie Ort oder Jobtitel filtern lässt.** Google selbst beschreibt sie als besondere Nutzererfahrung in der Suche — nicht als Produkt, das man bucht. Das ist der entscheidende Unterschied zu einer Jobbörse. Es gibt kein Backend, in das man eine Anzeige einstellt, und keinen Anzeigenplatz, den man kaufen kann. Google liest die Angaben aus dem **strukturierten Markup** der Seiten, die es ohnehin crawlt — von Jobbörsen und von den Karriereseiten der Arbeitgeber. Wer selbst in der Stellensuche auftauchen will, braucht also keinen Vertrag, sondern eine Stellenanzeige, die Google lesen kann. Technisch ist das ein Schema.org-Typ: `JobPosting`, als JSON-LD im Quelltext der Stellenseite. Es ist derselbe Mechanismus wie bei Rezepten, Produkten oder FAQ — nur mit eigenem Regelwerk. Wie wir Schema.org grundsätzlich aufbauen, steht unter [Strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/); diese Seite geht auf den Sonderfall Stellenanzeige. $ cat google-for-jobs.md - ✓Ort google-suche, kein Portal - ✓Quelle markup der website - ✓Typ schema.org/JobPosting - ✓Format json-ld - ✓Voraussetzung indexierbare detailseite - ✓Prüfung rich-results-test felder · pflicht & empfehlung ## Die Felder des JobPosting-Markups fünf pflicht · **viele empfohlen** Google nennt **fünf Pflichtfelder**. Ohne sie erkennt die Suche die Seite nicht als Stellenanzeige an: `title` für den Jobtitel — gemeint ist die Position, nicht die Überschrift der Anzeige. `description` für die vollständige Stellenbeschreibung, HTML ist darin erlaubt; sie soll Aufgaben, Qualifikation, Arbeitszeiten und Anforderungen tatsächlich abbilden und darf nicht einfach der Titel sein. Dazu `datePosted`, das Datum der Veröffentlichung im Format ISO 8601, `hiringOrganization` für das einstellende Unternehmen — mit `name`, `sameAs` für die Unternehmenswebsite und `logo` — und `jobLocation` für den Arbeitsort. Letzteres ist ein `Place` mit einer `PostalAddress`: Straße, Ort, Region, Postleitzahl und Land. Das Land ist innerhalb der Adresse verpflichtend. Die empfohlenen Felder sind kein Beiwerk. Google rät ausdrücklich, so viele Eigenschaften wie möglich anzugeben — je vollständiger die Angaben, desto hochwertiger ist die Anzeige für die Suchenden. Und einige davon entscheiden darüber, ob eine Anzeige überhaupt sinnvoll funktioniert: ohne `validThrough` hat sie kein Ablaufdatum, ohne `employmentType` fällt sie aus den Filtern. $ cat pflichtfelder.md · 5 - ✓title — der Jobtitel - ✓description — volltext, html erlaubt - ✓datePosted — iso 8601 - ✓hiringOrganization — arbeitgeber - ✓jobLocation — place + postaladdress Fehlt eines davon, ist die Seite für die Stellensuche nicht gültig — unabhängig davon, wie gut der sichtbare Text ist. Sechs empfohlene Felder setzen wir in der Praxis fast immer — weil sie Filter bedienen, Anzeigen ablaufen lassen und Doppelungen vermeiden. f-01laufzeit ### validThrough Das Ablaufdatum der Anzeige, ebenfalls in ISO 8601 — mit Uhrzeit, wenn es genau sein soll. Ohne dieses Feld hat die Stelle kein Ende, und Google hat keinen Anlass, sie aus der Stellensuche zu nehmen. zweck: anzeige läuft aus f-02art ### employmentType Die Beschäftigungsart aus einer festen Werteliste: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM oder OTHER. Genau danach filtern Suchende — freier Text hilft hier nicht. zweck: filter vollzeit · teilzeit f-03gehalt ### baseSalary Das Grundgehalt als MonetaryAmount mit Währung und einem QuantitativeValue darin — als fester Wert oder als Spanne über minValue und maxValue, dazu die Einheit HOUR, DAY, WEEK, MONTH oder YEAR. zweck: gehaltsangabe · spanne f-04referenz ### identifier Die eindeutige Kennung der Stelle beim Arbeitgeber, als PropertyValue mit name und value. Praktisch die Referenznummer aus dem Bewerbermanagement — sie hält Anzeige und interner Vorgang zusammen. zweck: referenznummer f-05bewerbung ### directApply Ein Wahrheitswert dafür, ob sich Suchende direkt über diese Seite bewerben können — also ohne über weitere Zwischenstationen geleitet zu werden. Wer ein eigenes Bewerbungsformular hat, sollte das auch auszeichnen. zweck: direkte bewerbung f-06remote ### jobLocationType Für Stellen, die zu 100 % remote laufen, setzt Google den Wert TELECOMMUTE vor. Dazu gehört applicantLocationRequirements mit mindestens einem Land — und ein Hinweis auf die Remote-Arbeit im sichtbaren Text. zweck: remote sauber auszeichnen $ cat jobposting.jsonld · beispiel für eine stellen-detailseite ``` { "@context": "https://schema.org", "@type": "JobPosting", // pflicht "title": "Frontend-Entwickler (m/w/d)", "description": "Aufgaben, Qualifikation, Arbeitszeiten …", "datePosted": "2027-03-02", "hiringOrganization": { "@type": "Organization", "name": "…", "sameAs": "https://…", "logo": "https://…/logo.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "…", "addressLocality": "Hamburg", "postalCode": "20…", "addressCountry": "DE" } }, // empfohlen "validThrough": "2027-05-31T23:59", "employmentType": "FULL_TIME", "identifier": { "@type": "PropertyValue", "name": "…", "value": "DEV-014" }, "baseSalary": { "@type": "MonetaryAmount", "currency": "EUR", "value": { "@type": "QuantitativeValue", "minValue": 55000, "maxValue": 68000, "unitText": "YEAR" } }, "directApply": true } ``` Ein Beispiel zur Veranschaulichung — diese Seite selbst schreibt kein `JobPosting` aus. Markup gehört ausschließlich auf Seiten, auf denen tatsächlich eine Stelle ausgeschrieben ist. wie wir das umsetzen ## Aus Feldern, nicht aus Fließtext markup **folgt der anzeige** Der übliche Weg ist ein JSON-LD-Schnipsel, den jemand einmal per Hand in die Stellenseite kopiert. Beim zweiten Job ist er kopiert, beim fünften veraltet. Wir machen es wie überall im [@graph-Ansatz](https://www.siteway.de/stack/strukturierte-daten/): Die Stellenanzeige ist ein **eigener Inhaltstyp im CMS** mit echten Feldern — Jobtitel, Standort, Beschäftigungsart, Veröffentlichungs- und Ablaufdatum, Gehaltsband, Referenznummer. Das `JobPosting` wird daraus beim Ausspielen generiert. Markup und sichtbarer Text stammen aus derselben Quelle und können gar nicht auseinanderlaufen. Jede Stelle bekommt eine **eigene, indexierbare URL**. Google will das Markup auf der detailliertesten Seite und ausdrücklich nicht auf einer Liste — die Übersicht bleibt bei uns also eine Übersicht, filterbar nach Standort und Abteilung, aber ohne `JobPosting`. Dazu gehört das Selbstverständliche, das erfahrungsgemäß am häufigsten fehlt: keine Sperre in der robots.txt, kein `noindex`, kein Login davor — sonst kann Googlebot die Seite nicht lesen. Das **Ablaufdatum ist bei uns ein Pflichtfeld im Redaktionsformular**, nicht ein optionales Extra ganz unten. Ist eine Stelle besetzt, geht die Seite auf 410 oder das `validThrough` in die Vergangenheit — beides Wege, die Google für abgelaufene Anzeigen vorsieht. Geprüft wird vor dem Go-live im Rich-Results-Test, danach läuft das Monitoring über die Search Console. Für Stellen-URLs empfiehlt Google zusätzlich die Indexing API statt der Sitemap, weil sie das Crawling schneller anstößt. Meistens liegen die Stellen schon woanders: im Bewerbermanagement. Dann holen wir sie über die Schnittstelle aus [Personio](https://www.siteway.de/stack/personio/) oder [rexx systems](https://www.siteway.de/stack/rexx-systems/) und rendern daraus echte Detailseiten auf deiner Domain — statt eine fertige Liste als Widget einzubetten, die oft weder eigene URLs noch lesbares Markup mitbringt. Die Personalabteilung pflegt weiter im gewohnten System, die Website liefert aus. Wie wir solche Anbindungen bauen, steht unter [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Stellenanzeige als **Inhaltstyp**, nicht als Textblock - 02Markup **generiert**, nie handkopiert - 03Eine **eigene URL** je Stelle - 04Übersicht **ohne** JobPosting - 05Ablaufdatum als **Pflichtfeld** - 06Prüfung im **Rich-Results-Test** vor dem Go-live Alles, was im Markup steht, steht auch sichtbar auf der Seite. Ein zweiter Text nur für Google entsteht bei uns nicht. 1. // schritt 01 · modellieren Stellenanzeige als Inhaltstyp. Wir legen die Felder an, die das Markup später braucht: Jobtitel, Beschreibung, Standort mit vollständiger Adresse, Beschäftigungsart, Datum, Ablaufdatum, Gehaltsband, Referenznummer. Was Google verlangt, sieht die Redaktion im Formular. output: feldmodell stellenanzeige 2. // schritt 02 · generieren JobPosting generieren. Das Template baut aus denselben Feldern den sichtbaren Text und das JSON-LD. Leere Felder werden weggelassen statt mit Platzhaltern gefüllt — lieber eine Angabe weniger als eine falsche. output: jobposting je stelle 3. // schritt 03 · ausliefern Detailseiten ausliefern. Je Stelle eine URL, crawlbar und indexierbar, mit Bewerbungsweg auf derselben Seite. Die Übersicht verlinkt darauf und trägt selbst kein JobPosting-Markup. output: indexierbare stellenseiten 4. // schritt 04 · prüfen & pflegen ● ergebnis Prüfen und ablaufen lassen. Rich-Results-Test vor dem Go-live, danach Rich-Result-Statusbericht und URL-Prüfung in der Search Console. Besetzte Stellen verschwinden über 410 oder ein Ablaufdatum in der Vergangenheit. output: gültiges markup · saubere liste integration ## JobPosting in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, nur die Vokabeln wechseln. Eine Stellenanzeige braucht einen **eigenen Inhaltstyp mit definierten Feldern** — Jobtitel, Beschreibung, Standort, Veröffentlichungs- und Ablaufdatum, Beschäftigungsart, Kennung und, wenn es eines gibt, das Gehaltsband. Sie braucht **eine eigene indexierbare URL je Stelle**. Und aus genau diesen Feldern erzeugt das Template beim Rendern das `JobPosting`-JSON-LD. So können sichtbarer Text und Markup gar nicht auseinanderlaufen — genau das ist die Anforderung, die Google stellt. Stellenanzeigen bei Google einbinden heißt also nicht, irgendwo eine Anzeige zu schalten, sondern die eigenen Felder sauber auszuspielen. Dazu gehört, dass das Ablaufdatum nicht nur erfasst, sondern auch **ausgewertet** wird: Es gehört ins `validThrough`, und ist es überschritten, muss die Anzeige aus der Stellensuche verschwinden. Feldmodell, URL-Struktur und Ausgabe des Markups bauen wir mit den Bordmitteln des jeweiligen Systems selbst — zugeschnitten auf das, was die Stellen wirklich brauchen: zusätzliche Felder, Mehrsprachigkeit, Daten aus dem Bewerbermanagement. Die Auszeichnung ist damit Teil der Umsetzung, nicht ein nachträglicher Aufsatz. So sieht das in den drei Systemen aus, mit denen wir arbeiten. - [JobPosting in TYPO3.](https://www.siteway.de/stack/typo3/) — Die Stellen liegen als eigene Records in einer Extension, die wir für dein Projekt bauen — mit genau den Feldern, die das Markup später braucht. Über das Site Handling bekommt jede Stelle ihre eigene indexierbare URL. Das JSON-LD rendert das Fluid-Template der Detailansicht oder es wird per TypoScript in den Seitenkopf geschrieben — aus denselben Feldern, die auch den sichtbaren Text der Seite füllen. zum stack → - [JobPosting in WordPress.](https://www.siteway.de/stack/wordpress/) — Die Stellenanzeige wird ein Custom Post Type mit eigenen Meta-Feldern — angelegt in einem Plugin, das wir für dein Projekt schreiben. Eine eigene Permalink-Struktur gibt jeder Stelle ihre eigene URL. Das JSON-LD hängt an einem Hook im Seitenkopf — `wp_head` — und liest dieselben Felder aus, die auch den sichtbaren Text füllen. Ein Feld mehr heißt: eine Zeile im Feldmodell, eine in der Ausgabe. zum stack → - [JobPosting in Statamic.](https://www.siteway.de/stack/statamic/) — Eine Collection für die Stellen, dazu ein Blueprint als Feldmodell — Blueprints sind in Statamic genau dafür da, zu bestimmen, welche Felder die Redaktion beim Veröffentlichen bekommt. Jeder Entry ist damit eine eigene, indexierbare URL. Das JSON-LD entsteht im Layout der Detailseite, in Antlers oder Blade, aus denselben Werten. Jedes Feld, das dazukommt, ist eine Zeile im Blueprint und eine im Template. zum stack → In allen drei Systemen gilt dasselbe Prinzip: Markup und sichtbarer Text werden aus **derselben Quelle** gerendert, deshalb können sie gar nicht auseinanderlaufen — genau das verlangt Google. In den strukturierten Daten steht damit exakt das, was zur Stelle gepflegt wurde: Bleibt ein Feld leer, bleibt es auch im Markup leer, und der Rich-Results-Test zeigt es. Am häufigsten trifft es [das Ablaufdatum](#fehler-validthrough). Deshalb steht `validThrough` bei uns als Pflichtfeld im Redaktionsformular — in TYPO3, in WordPress und in Statamic gleichermaßen — und wird beim Rendern auch ausgewertet: Ist es überschritten, fällt die Stelle aus der Ausspielung. fehlerquellen · 6 klassiker ## Woran es in der Praxis scheitert meistens **nicht am text** Wenn Stellen nicht in der Stellensuche auftauchen, liegt es selten an der Formulierung der Anzeige. Das sind die sechs Ursachen, die uns in Audits am häufigsten begegnen — und was Google jeweils dazu sagt. x-01laufzeit ### Kein Ablaufdatum validThrough ist optional — und wird deshalb gern weggelassen. Die Folge: Die Anzeige hat kein Ende. Sie steht weiter in der Stellensuche, während die Stelle längst besetzt ist. lösung: ablaufdatum pflegen x-02deckung ### Markup ohne sichtbare Entsprechung Gehalt, Beschäftigungsart oder Standort stehen nur im JSON-LD, nicht im sichtbaren Text. Google verlangt, dass alle Angaben aus dem Markup auf der gerenderten Seite zu sehen sind. lösung: eine quelle für beides x-03altlast ### Besetzte Stellen bleiben online Google nennt drei Wege, eine Stelle zu entfernen: validThrough in die Vergangenheit setzen, die Seite auf 404 oder 410 laufen lassen, oder das Markup entfernen. Wer keinen davon geht, sammelt Bewerbungen auf Positionen, die es nicht mehr gibt. lösung: 410 oder validThrough x-04ebene ### Liste statt Detailseite ausgezeichnet Das Markup landet auf der Stellenübersicht, weil dort alle Jobs stehen. Google verlangt es auf der detailliertesten Seite und rät ausdrücklich davon ab, Listenseiten auszuzeichnen. lösung: markup auf die detailseite x-05erreichbarkeit ### Keine indexierbare URL Die Stellen kommen aus einem eingebetteten Widget, liegen hinter einem Login oder sind über robots.txt und noindex gesperrt. Was Googlebot nicht crawlen und indexieren kann, kann auch nicht in der Stellensuche stehen. lösung: eigene seite je stelle x-06inhalt ### Anzeigentitel statt Jobtitel In title steht „Wir suchen dich!" statt der Position, und description enthält drei Zeilen statt der vollständigen Stellenbeschreibung. Google will im Titel den Jobtitel und in der Beschreibung Aufgaben, Qualifikation und Anforderungen. lösung: position benennen · volltext faq ## Häufige Fragen ### Was ist Google for Jobs? Google for Jobs ist die Stellensuche innerhalb der Google-Suche: eine Box mit Stellenanzeigen, die bei passenden Suchanfragen über den übrigen Treffern steht und sich nach Kriterien wie Ort oder Jobtitel filtern lässt. Es ist kein eigenes Jobportal, in das man eine Anzeige einstellt, und es gibt darin keinen buchbaren Anzeigenplatz. Google zieht die Angaben aus dem strukturierten Markup der Seiten, die es ohnehin crawlt — also aus der Karriereseite des Arbeitgebers. Sichtbarkeit entsteht dadurch, dass eine Stelle eine crawlbare Detailseite mit korrektem `JobPosting`-Markup hat. ### Welche Felder braucht das JobPosting-Markup? Google nennt fünf Pflichtfelder: `title` für den Jobtitel, `description` für die vollständige Stellenbeschreibung (HTML ist darin erlaubt), `datePosted` für das Veröffentlichungsdatum, `hiringOrganization` für das einstellende Unternehmen und `jobLocation` für den Arbeitsort. Empfohlen sind unter anderem `validThrough`, `employmentType`, `baseSalary`, `identifier` und `directApply` sowie `jobLocationType` mit dem Wert TELECOMMUTE zusammen mit `applicantLocationRequirements` für Stellen, die vollständig remote laufen. Google rät ausdrücklich dazu, so viele Eigenschaften wie möglich anzugeben — je vollständiger die Angaben, desto hochwertiger ist die Anzeige für die Suchenden. ### Muss jede Stelle eine eigene Seite haben? Ja. Google verlangt das Markup auf der detailliertesten Seite — also auf der Detailseite einer einzelnen Stelle und ausdrücklich nicht auf einer Übersicht, die eine Liste von Stellen zeigt. Die Seite muss crawlbar und indexierbar sein: nicht durch die robots.txt gesperrt, nicht auf `noindex` gesetzt und nicht hinter einem Login. Und das Markup muss auf derselben Seite stehen wie die Stellenbeschreibung, die Bewerberinnen und Bewerber lesen. siteway baut deshalb je Stelle eine eigene URL, während die Übersichtsseite eine reine Liste ohne `JobPosting`-Markup bleibt. ### Was passiert mit abgelaufenen Stellenanzeigen? Die müssen raus. Google nennt drei Wege: das Feld `validThrough` auf ein Datum in der Vergangenheit setzen, die Seite entfernen, sodass sie den Statuscode 404 oder 410 liefert, oder das `JobPosting`-Markup von der Seite nehmen. Bleibt eine besetzte Stelle unverändert online, taucht sie weiter in der Stellensuche auf — und es kommen Bewerbungen auf eine Position, die es nicht mehr gibt. Bei siteway ist das Ablaufdatum deshalb ein Pflichtfeld im Redaktionsformular und kein Nachgedanke. ### Reicht es, die Stellen aus Personio oder rexx systems einzubetten? Für die Stellensuche meist nicht. Eine eingebettete Liste liefert oft keine eigene indexierbare URL je Stelle und kein Markup, das Google auf der Seite findet. Deshalb holt siteway die Stellen über die Schnittstelle aus dem HR-System und rendert daraus echte Detailseiten auf deiner eigenen Domain — mit `JobPosting`-Markup aus denselben Feldern. Gepflegt wird weiter dort, wo die Personalabteilung ohnehin arbeitet, ausgeliefert wird über deine Website. ### Wie kommt das JobPosting-Markup in WordPress oder TYPO3? Über den Inhaltstyp des jeweiligen Systems — und über die Ausgabe, die wir dafür bauen. In WordPress entsteht die Stellenanzeige als Custom Post Type mit eigenen Meta-Feldern in einem Plugin, das wir für das Projekt schreiben; jede Stelle bekommt über eine eigene Permalink-Struktur ihre URL, und das JSON-LD wird über einen Hook in den Seitenkopf geschrieben — aus denselben Feldern, die auch die sichtbare Seite füllen. In TYPO3 liegen die Stellen als Records einer eigenen Extension mit definierten Feldern, das Site Handling gibt jeder Stelle eine eigene indexierbare URL, und das Markup rendert das Fluid-Template der Detailansicht oder es wird per TypoScript ausgegeben. In Statamic ist es eine Collection mit Blueprint als Feldmodell, jede Stelle ein Entry mit eigener URL, und das JSON-LD entsteht im Antlers- oder Blade-Layout aus denselben Werten. Entscheidend ist in allen drei Fällen dasselbe: Weil Markup und sichtbarer Text aus derselben Quelle kommen, können sie nicht auseinanderlaufen — und das Ablaufdatum muss nicht nur erfasst, sondern auch ausgewertet werden. ### Wie prüft ihr, ob das Markup funktioniert? Vor dem Go-live läuft jede Stellenseite gegen Googles Rich-Results-Test. Danach beobachten wir den Rich-Result-Statusbericht in der Search Console und prüfen einzelne Seiten mit der URL-Prüfung. Für Stellen-URLs empfiehlt Google zusätzlich die Indexing API statt der Sitemap, weil sie Googlebot schneller zum Crawlen anstößt; eine Sitemap für die Abdeckung der gesamten Website bleibt trotzdem sinnvoll. So fällt ein fehlendes Pflichtfeld sofort auf — und nicht erst daran, dass keine Bewerbungen kommen. ### Baut siteway das für unsere Karriereseite? Ja. Diese Seite beschreibt die Technik: wie das `JobPosting`-Markup aus den Feldern der Stellenanzeige entsteht, welche Angaben hineingehören und wie Detailseite, Ablaufdatum und Prüfung zusammenspielen. Gebucht wird das als Komponente [Job- & Karriereportal](https://www.siteway.de/expertise/job-karriereportal/) — mit Stellenanzeigen im CMS, filterbarer Übersicht, Bewerbungsformular und Anbindung ans Bewerbermanagement. womit das zusammenhängt ## Womit das zusammenhängt leistung · schema & **hr-systeme** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Die Technik hier, der Baustein dort: Stellenanzeigen im CMS, filterbare Übersicht, Bewerbungsformular mit Datei-Upload und Anbindung ans Bewerbermanagement. zur komponente → - [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) — Der allgemeine Unterbau: ein @graph je Seite als Single Source of Truth, generiert aus CMS-Feldern. JobPosting ist der Sonderfall davon. zum stack → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Wie die Stellen aus Personio oder rexx systems auf deine Website kommen — als echte Detailseiten statt als eingebettetes Widget. zur leistung → Passend dazu: die HR-Systeme im Stack — [Personio](https://www.siteway.de/stack/personio/) und [rexx systems](https://www.siteway.de/stack/rexx-systems/) — sowie [SEO & GEO](https://www.siteway.de/expertise/seo-geo/), wenn die Karriereseite nicht nur in der Stellensuche, sondern auch in der organischen Suche gefunden werden soll. Stellen sichtbar in der Google-Suche? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Google Maps API Die **Google-Maps-Plattform** liefert Karten, Adressdaten und Routen für die eigene Website — und sie ist damit zugleich der Baustein, der am häufigsten am Datenschutz hängen bleibt. siteway setzt in der Regel auf diese API, weil sie das dichteste Adress- und Routing-Material mitbringt, und baut sie so ein, dass die **Karte erst nach Einwilligung lädt**. Diese Seite beschreibt die Technik dahinter: Dienste, Schlüssel, Geocoding und den Platzhalter davor. stack dienst: google maps platform bausteine: maps · geocoding · places laden: nach einwilligung seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Google Maps einbinden](#einsatz) definition ## Was ist die Google-Maps-API? **Die Google Maps Platform ist die Sammlung der Kartendienste, die Google für eigene Websites und Anwendungen bereitstellt.** Wer von „der Google-Maps-API“ spricht, meint dabei meist die Maps JavaScript API — die interaktive Karte im Browser. Sie ist aber nur einer von mehreren Diensten, und für eine Website sind die anderen oft genauso wichtig. Daneben stehen die Maps Static API, die ein fertiges Kartenbild als Antwort auf einen gewöhnlichen HTTP-Aufruf zurückgibt und dafür kein JavaScript braucht, die Geocoding API, die Adressen in Koordinaten übersetzt und umgekehrt, die Places API für Ortsdaten, Suche und Autocomplete sowie die Routes API für Routen und Fahrzeiten. Der Zugriff auf alle diese Dienste läuft über einen API-Schlüssel. Diese Aufteilung ist der Grund, warum eine Standortkarte mehr ist als ein eingefügter Kartenausschnitt. Eine Filialübersicht mit Umkreissuche berührt drei Dienste gleichzeitig — Geocoding für die Adressen, die Karte für die Darstellung, Routen für die Anfahrt. Wie der Baustein daraus auf einer Website aussieht und was er kann, beschreibt die Komponente [Karten & Standorte](https://www.siteway.de/expertise/karten-standorte/). Hier geht es um die Schnittstelle darunter. $ cat google-maps.md - ✓Maps JavaScript API interaktive karte - ✓Maps Static API bild ohne javascript - ✓Geocoding API adresse → koordinaten - ✓Places API orte · autocomplete - ✓Routes API route · fahrzeit - ✓API-Schlüssel domain- & dienstbeschränkt praxis ## Wie wir Google Maps einbinden laden auf **zuruf** Die erste Entscheidung fällt vor der Karte: **Die Seite lädt kein Kartenskript, solange niemand es angefordert hat.** An der Stelle, an der später die Karte steht, steht zunächst ein Platzhalter — ein statisches Kartenbild vom eigenen Server oder ein Adressblock mit Anschrift, Öffnungszeiten und Routenlink, dazu ein Schalter zum Laden. Wird er betätigt, kommt das Skript nach und die Karte erscheint an derselben Stelle, im selben Container, ohne dass etwas verspringt. Die zweite Entscheidung betrifft die **Datenhaltung**. Standorte sind Inhalte, keine Konfiguration — sie gehören ins [CMS](https://www.siteway.de/stack/cms-redaktion/), als eigene Inhaltsart mit Feldern für Name, Adresse, Öffnungszeiten, Telefon, Kategorie und Koordinaten. Die Redaktion legt eine neue Filiale an, und sie erscheint auf der Karte und in der Liste. Niemand fasst dafür Code an, und niemand pflegt Koordinaten von Hand. Denn die Koordinaten kommen aus dem **Geocoding — und das läuft serverseitig**. Beim Speichern eines Standorts oder in einem geplanten Lauf wird die Adresse einmal in Länge und Breite übersetzt und das Ergebnis in den Datensatz geschrieben. Danach arbeitet die Website mit diesen Werten weiter. So geht nicht bei jedem Seitenaufruf eine Anfrage raus, und die Standorte stehen auch dann auf der Seite, wenn der Dienst gerade nicht antwortet. Der **API-Schlüssel** wird dabei getrennt behandelt. Der Schlüssel für die Karte im Browser ist naturgemäß sichtbar, deshalb wird er auf die eigene Domain als HTTP-Referrer und auf die tatsächlich genutzten Dienste beschränkt. Der Schlüssel fürs Geocoding bleibt auf dem Server, beschränkt auf dessen IP-Adresse, und taucht im Quelltext der Seite gar nicht erst auf. Google empfiehlt beides ausdrücklich und weist darauf hin, dass der Betreiber für Kosten haftet, die durch Missbrauch unbeschränkter Schlüssel entstehen. Und schließlich das, was oft fehlt: **der zweite Zugang**. Neben der Karte steht eine Liste der Standorte als echter Text — Adresse, Zeiten, Telefon, Routenlink, per Tastatur erreichbar. Sie kommt aus denselben CMS-Feldern wie die Marker, ist also kein Nebenprodukt, sondern dieselben Daten in anderer Darstellung. Mehr dazu unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/) im Stack. unsere leitplanken - 01Karte lädt **erst nach Einwilligung** - 02Platzhalter mit **Bild oder Adresse** - 03Standorte liegen **im CMS** - 04Geocoding **serverseitig**, einmalig - 05Schlüssel **beschränkt** und getrennt - 06Liste neben der Karte als **zweiter Zugang** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation der Google Maps Platform — Dienstnamen und Funktionsumfang im Original. Konditionen und Kontingente ändern sich und stehen deshalb nicht auf dieser Seite; sie gehören in die Kalkulation eines konkreten Projekts, nicht in eine Technikbeschreibung. d-01karte ### Maps JavaScript API Die interaktive Karte im Browser. Geladen wird sie über ein Skript von Google, bei Bedarf per dynamischem Import einzelner Bibliotheken. Marker lassen sich gestalten, das Kartenbild über Map-Styling anpassen — Farben, Beschriftung, Dichte der Points of Interest. zweck: darstellung d-02bild ### Maps Static API Der Dienst erzeugt die Karte laut Dokumentation aus URL-Parametern eines gewöhnlichen HTTP-Aufrufs und gibt sie als Bild zurück — Mittelpunkt, Zoom, Größe, Kartentyp, Marker. Kein JavaScript nötig. Für uns der Stoff, aus dem der Platzhalter vor der Einwilligung besteht. zweck: platzhalter d-03adressen ### Geocoding API Übersetzt Adressen in Koordinaten oder Place-IDs und umgekehrt Koordinaten zurück in lesbare Adressen. Google führt den Dienst unter den Web Services, er wird also per HTTP vom Server angesprochen — genau dort setzen wir ihn an, einmalig je Standort statt bei jedem Aufruf. zweck: koordinaten d-04orte ### Places API Ortsdaten, Ortssuche und Autocomplete. Auf einer Website ist das vor allem das Eingabefeld, das bei „Ham…“ schon Hamburg vorschlägt — praktisch für Umkreissuche und Adressfelder. Weil dabei Eingaben an Google gehen, hängt auch dieses Feld an der Einwilligung. zweck: ortssuche d-05routen ### Routes API Routen und Fahrzeiten für verschiedene Verkehrsmittel, laut Dokumentation mit Verkehrslage. Für viele Websites reicht darunter die einfachere Variante: ein Link, der die Route in der Kartenanwendung des Besuchers öffnet — ohne dass die Website selbst rechnen muss. zweck: anfahrt d-06schlüssel ### API-Schlüssel absichern Google nennt in seinen Sicherheitsempfehlungen drei Hebel: Anwendungsbeschränkung auf HTTP-Referrer für Browser-Schlüssel oder auf IP-Adressen für Server-Schlüssel, Beschränkung auf die genutzten Dienste und getrennte Schlüssel je Anwendung. Wir setzen alle drei. zweck: missbrauch begrenzen ### Was daraus auf der Seite entsteht Aus diesen Diensten wird kein Kartenausschnitt, sondern ein Bereich der Website. Die **Karte** zeigt die Standorte als Marker und bündelt viele Punkte zu Clustern, die sich beim Hineinzoomen auflösen. Die **Liste daneben** zeigt dieselben Standorte als Text, sortierbar und filterbar, und bleibt bedienbar, ohne dass jemand die Karte berührt. Klick auf einen Marker und Klick auf einen Listeneintrag führen zum selben Ergebnis. Dazu kommt die **Umkreissuche**: Postleitzahl oder Ort eingeben, die nächsten Standorte nach Entfernung sortiert bekommen. Weil die Koordinaten aller Standorte bereits im CMS liegen, rechnet die Website die Entfernungen selbst — an Google geht dabei höchstens die eine eingegebene Adresse, nicht der gesamte Bestand. Für Suchmaschinen ergänzen wir je Standort [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern, damit Adresse und Öffnungszeiten auch ohne Karte maschinenlesbar sind. Und der Container, in dem all das steckt, hat von Anfang an eine feste Höhe. Der Platzhalter belegt sie, die Karte übernimmt sie — kein Nachrutschen des Textes darunter, kein Layout-Sprung. Warum das mehr als Kosmetik ist, steht unter [Performance](https://www.siteway.de/stack/performance/) im Stack. auf der website - ▸Karte mit **Markern & Clustern** - ▸Standortliste als **echter Text** - ▸Umkreissuche über **PLZ oder Ort** - ▸Routenlink in die **eigene Karten-App** - ▸Strukturierte Daten **je Standort** - ▸Fester Container ohne **Layout-Sprung** integration ## Google Maps in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er beginnt mit einer Regel: **Die Karte lädt erst nach Einwilligung.** Bis dahin steht an ihrer Stelle ein Platzhalter — ein statisches Kartenbild oder ein Adressblock mit Anschrift, Zeiten und Routenlink — und dazu ein Schalter zum Laden. Erst wenn er betätigt wird, holt die Seite das Kartenskript nach und baut die Karte im selben Container auf. Der Zustand der Einwilligung wird an einer Stelle verwaltet, nicht in jedem Template neu entschieden; das Kartentemplate fragt ihn nur ab. Die Datenseite ist ebenso systemunabhängig. **Adressdaten und Marker liegen im CMS**, als eigene Inhaltsart mit Feldern für Name, Adresse, Öffnungszeiten, Kontakt, Kategorie und Koordinaten — dieselbe Quelle für Karte, Liste und strukturierte Daten. Der **API-Schlüssel** liegt serverseitig beziehungsweise ist als Browser-Schlüssel auf die eigene Domain und die genutzten Dienste beschränkt, nie fest im Template. Und das **Geocoding läuft serverseitig**: Beim Speichern eines Standorts oder in einem geplanten Lauf wird die Adresse einmal aufgelöst und in die Koordinatenfelder geschrieben, damit nicht bei jedem Seitenaufruf eine Anfrage rausgeht. Was sich zwischen den Systemen unterscheidet, sind nur die Bordmittel, mit denen wir das bauen. cms-01typo3 ### Google Maps in TYPO3 Wir bauen die Einbindung als eigene Extension. Die Standorte werden Records mit eigenem TCA — Adressfelder plus zwei Koordinatenfelder für Länge und Breite —, abgelegt in einem Systemordner und im Backend pflegbar wie jeder andere Inhalt. Das Geocoding läuft als Scheduler-Task: Er greift sich Standorte ohne oder mit veralteten Koordinaten, löst die Adresse auf und schreibt das Ergebnis zurück. Der API-Schlüssel steht in der Extension-Konfiguration statt im Template. Im Frontend rendert ein Fluid-Template zuerst den Consent-Platzhalter mit Kartenbild oder Adressblock; erst nach dem Schalter kommt die Karte. Ein Content-Element setzt die Redaktion auf jede Seite, die eine Karte braucht. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Google Maps in WordPress In WordPress entsteht die Einbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den Theme-Wechsel. Die Standorte werden ein Custom Post Type mit Meta-Feldern für Adresse, Zeiten, Kontakt und Koordinaten, dazu Taxonomien für Region oder Standorttyp als Filter. Das Geocoding hängt am Speichern: Wird ein Standort gesichert und hat sich die Adresse geändert, löst das Plugin sie serverseitig auf und legt die Koordinaten ab. Der Schlüssel steht in der wp-config.php oder in einer Umgebungsvariablen. Fürs Frontend kommen ein Block für den Editor und Template-Teile dazu, die den Platzhalter ausgeben und die Karte erst auf Anforderung nachladen. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Google Maps in Statamic Statamic läuft auf Laravel, und das macht diesen Teil angenehm gerade. Ein Blueprint beschreibt den Standort mit Adressfeldern und Koordinatenfeldern, die Standorte sind Entries in einer eigenen Collection. Fürs Geocoding schreiben wir einen Artisan-Command, den der Laravel-Scheduler regelmäßig aufruft und der auch von Hand nachlaufen kann; er löst offene Adressen auf und schreibt die Koordinaten in die Entries. Der Schlüssel steht in der .env und wird über die Konfiguration gelesen. Antlers oder Blade rendern zuerst den Platzhalter, danach die Karte — und weil Static Caching die Seiten ausliefert, kostet der Platzhalter beim Aufruf praktisch nichts. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Die Karte lädt erst nach Einwilligung technik, nicht **rechtsberatung** Der technische Sachverhalt ist schnell beschrieben: **Eine eingebettete Google-Karte lädt Code, Kacheln und Schriften von Google-Servern.** Damit diese Auslieferung überhaupt funktionieren kann, geht die IP-Adresse des Besuchers an den Server, der die Daten schickt — das ist keine Eigenheit von Google, sondern gilt für jede Ressource, die von fremder Stelle geladen wird. Der Unterschied liegt darin, ob das ungefragt beim Seitenaufruf passiert oder erst, wenn jemand die Karte tatsächlich sehen will. Bei einer Website, die wir **trackingfrei bauen**, wäre eine automatisch mitladende Karte der einzige Fremdaufruf im Dokument — und damit die Ausnahme von der eigenen Regel. Deshalb ist die **Zwei-Klick-Lösung** bei siteway der Standardweg: Der erste Klick gilt dem Schalter, der die Karte anfordert, der zweite dem Marker. Bis dahin steht an der Stelle ein statisches Kartenbild vom eigenen Server oder ein Adressblock mit Anschrift, Öffnungszeiten und Routenlink. Wer nur die Adresse sucht, hat sie damit vor dem ersten Klick. Dazu gehört, dass die Entscheidung **nachvollziehbar bleibt**: Der Schalter ist beschriftet, nicht als Bildfläche getarnt, und benennt, was beim Laden passiert. Die Einwilligung wird an einer zentralen Stelle verwaltet und lässt sich zurücknehmen — dann steht beim nächsten Aufruf wieder der Platzhalter. Was die Karte verarbeitet und was davon in die Datenschutzerklärung gehört, halten wir als Dokumentation fest, damit sie nicht bei der ersten Rückfrage rekonstruiert werden muss. Wir beschreiben hier die Technik und ihre Umsetzung — die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen. Was wir liefern, ist die Grundlage dafür: eine Umsetzung, die zeigt, wann welche Daten fließen. Wie das im Zusammenhang der ganzen Website aussieht, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wer den Bestand einer vorhandenen Seite geprüft haben will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). ablauf auf der seite - 01Seitenaufruf — **kein Kartenskript** - 02Platzhalter: **Kartenbild oder Adresse** - 03Beschrifteter **Schalter zum Laden** - 04Nach Klick: **Skript & Karte** - 05Einwilligung **zurücknehmbar** - 06Dokumentation als **Textbaustein** [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist die Google-Maps-Plattform? Die Google Maps Platform ist die Sammlung der Kartendienste, die Google für eigene Websites und Anwendungen bereitstellt. Für eine Website sind fünf davon relevant: die Maps JavaScript API für die interaktive Karte im Browser, die Maps Static API, die ein Kartenbild als Antwort auf einen normalen HTTP-Aufruf liefert und dafür kein JavaScript braucht, die Geocoding API, die Adressen in Koordinaten übersetzt und umgekehrt, die Places API für Ortsdaten, Suche und Autocomplete sowie die Routes API für Routen und Fahrzeiten. Der Zugriff läuft immer über einen API-Schlüssel. Was davon ein Projekt wirklich braucht, entscheidet sich am Anwendungsfall — eine Anfahrtskarte kommt mit weniger aus als eine Händlersuche. ### Wie binde ich Google Maps datenschutzfreundlich in eine Website ein? Indem die Karte nicht automatisch mitlädt. Eine eingebettete Google-Karte holt Code und Kacheln von Google-Servern; damit die Auslieferung überhaupt funktionieren kann, wird die IP-Adresse des Besuchers übertragen. Bei einer trackingfrei gebauten Website heißt das: An der Stelle der Karte steht zunächst ein Platzhalter — ein statisches Kartenbild vom eigenen Server oder ein Adressblock mit Anschrift, Öffnungszeiten und einem Link zur Route. Erst wenn jemand den Schalter aktiv betätigt, wird das Kartenskript nachgeladen und die Karte erscheint an derselben Stelle. Diese Zwei-Klick-Lösung ist bei siteway der Standardweg. Welche Datenverarbeitung im konkreten Fall wie zu bewerten und in der Datenschutzerklärung zu beschreiben ist, gehört in die Hand der Rechtsberatung — wir liefern die technische Umsetzung und die Dokumentation dazu. ### Warum läuft das Geocoding auf dem Server statt im Browser? Weil eine Adresse sich selten ändert, ein Seitenaufruf aber oft passiert. Die Geocoding API ist ein Webdienst, den Google unter den Web Services führt und der per HTTP angesprochen wird — er passt damit genau dorthin, wo er hingehört: auf den Server. Wir übersetzen die Adresse einmal in Länge und Breite, schreiben das Ergebnis als Koordinatenfelder in den Datensatz im CMS und arbeiten danach mit diesen Werten. Die Karte bekommt fertige Koordinaten statt einer Adresse, die sie erst auflösen muss. Das ist schneller, sparsamer im Verbrauch und unabhängiger: Fällt der Dienst kurz aus, stehen die Standorte trotzdem auf der Seite. ### Wie wird der API-Schlüssel abgesichert? Über drei Beschränkungen, die Google in seinen Sicherheitsempfehlungen selbst benennt. Erstens die Anwendungsbeschränkung: Ein Schlüssel, der im Browser sichtbar ist, wird auf die eigene Domain als HTTP-Referrer festgelegt, ein Schlüssel für Serveraufrufe auf die IP-Adresse des Servers. Zweitens die Dienstbeschränkung: Der Schlüssel wird nur für die Dienste freigeschaltet, die tatsächlich benutzt werden. Drittens getrennte Schlüssel je Anwendung, damit ein kompromittierter Schlüssel nicht alles betrifft. Google weist ausdrücklich darauf hin, dass der Betreiber für Kosten haftet, die durch Missbrauch unbeschränkter Schlüssel entstehen — der Schlüssel fürs Geocoding liegt deshalb serverseitig und taucht im Quelltext der Seite gar nicht erst auf. ### Ist eine Google-Karte barrierefrei bedienbar? Eine Karte allein ist für Tastatur und Screenreader schwer zu bedienen — Zoomen, Schwenken und Marker anklicken sind visuelle Handlungen, und ein Pin auf einer Kachel hat für sich genommen keinen lesbaren Inhalt. Deshalb gehört neben die Karte eine bedienbare Liste der Standorte als gleichwertiger Zugang: Adresse, Öffnungszeiten, Telefonnummer und Routenlink als echter Text, per Tab erreichbar, ohne dass jemand die Karte anfassen muss. Wer die Karte nutzen kann, nutzt sie; wer nicht, kommt über die Liste an dieselben Informationen. Die Liste ist dabei kein Ersatzangebot am Rand, sondern derselbe Datenbestand in anderer Darstellung — sie kommt aus denselben CMS-Feldern wie die Marker. ### Bremst eine Karte die Ladezeit der Seite? Eine Karte ist einer der schwersten Bausteine, die eine Seite haben kann: Skript, Kacheln, Schriften und Symbole kommen zusammen. Genau deshalb passt der Consent-Platzhalter so gut zur Technik — solange niemand die Karte anfordert, wird nichts davon geladen. Der Platzhalter selbst ist ein Bild mit festen Maßen oder ein Textblock und kostet fast nichts. Wird die Karte geladen, geschieht das nach dem ersten Seitenaufbau und in einem Container, dessen Höhe vorher feststeht, damit nichts nachträglich verspringt. Das hilft den Core Web Vitals an drei Stellen gleichzeitig: weniger zu übertragende Daten, weniger Arbeit im Hauptthread, kein Layout-Sprung. ### Google Maps oder Mapbox — wann nehmt ihr was? In der Regel setzt siteway auf die Google-Maps-API, weil sie das dichteste Adress- und Routing-Material liefert. Für Anfahrt, Filialübersicht, Umkreis- und Händlersuche ist das die pragmatische Wahl: Adressen werden zuverlässig gefunden, Routen und Fahrzeiten stimmen, und Besucher kennen die Bedienung. Mapbox kommt in Frage, wenn eine eigene Kartensprache gefragt ist — wenn die Karte selbst Gestaltungsfläche ist, eigene Datenebenen tragen soll oder sich gestalterisch vollständig ins Design einfügen muss. Das ist eine Zuordnung nach Anwendungsfall, keine Rangliste. Welche Technik ein Projekt bekommt, klären wir vorher im Konzept. ### Lässt sich Google Maps in TYPO3, WordPress oder Statamic einbinden? Ja, in allen drei Systemen — und wir bauen die Einbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: Standorte als Records mit Koordinatenfeldern, das Geocoding als Scheduler-Task, der Schlüssel in der Extension-Konfiguration, im Frontend ein Fluid-Template mit Consent-Platzhalter. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type für Standorte, das Geocoding beim Speichern eines Standorts, der Schlüssel in der wp-config.php oder in einer Umgebungsvariablen. In Statamic liegt Laravel darunter: ein Blueprint mit Koordinatenfeldern, ein Artisan-Command fürs Geocoding, der Schlüssel in der .env, gerendert über Antlers oder Blade. Die Mechanik ist überall dieselbe, nur die Bordmittel heißen anders. womit das zusammenhängt ## Womit das zusammenhängt baustein, technik & **grundlagen** - [Karten & Standorte.](https://www.siteway.de/expertise/karten-standorte/) — Die Technik hier, der Baustein dort: Marker, Cluster, Umkreis- und Händlersuche, Route und Karten-Design als buchbare Komponente. zur komponente → - [Mapbox.](https://www.siteway.de/stack/mapbox/) — Der Weg für eine eigene Kartensprache: Karte als Gestaltungsfläche, eigene Datenebenen, Stil bis ins Detail. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Fremdcode ins Spiel kommt, wird es konkret: Einwilligung, Schlüssel serverseitig, Datensparsamkeit, Dokumentation. zur technik → - [Barrierefreiheit.](https://www.siteway.de/stack/barrierefreiheit/) — Warum neben jede Karte eine bedienbare Standortliste gehört — und was das für Tastatur und Screenreader bedeutet. zur technik → - [Performance.](https://www.siteway.de/stack/performance/) — Karten sind schwer. Verzögertes Laden, feste Containerhöhen und weniger Fremdcode wirken direkt auf die Core Web Vitals. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Mapping, Umsetzung, Monitoring und Betrieb einer Anbindung — als buchbare Leistung beschrieben. zur leistung → Standortkarte, die erst nach Einwilligung lädt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Google Pay **Google Pay ist kein Zahlungsdienstleister, sondern eine Bezahlmethode.** Die Karte liegt im Google-Konto, der Geldfluss läuft über den Zahlungsdienstleister, der ohnehin hinter der Bezahlstrecke steht — bei siteway in der Regel [Stripe](https://www.siteway.de/stack/stripe/). Diese Seite beschreibt, was Google Pay im Bezahlvorgang übernimmt, was dafür vorhanden sein muss und wie wir den Button in eine Website einbauen, die auch ohne ihn vollständig funktioniert. stack rolle: bezahlmethode abwicklung: zahlungsdienstleister technik: google pay api for web seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Google Pay einbinden](#einsatz) definition ## Was ist Google Pay? methode, nicht **dienstleister** **Google Pay ist eine Bezahlmethode von Google.** Wer im Google-Konto eine Karte hinterlegt hat, kann damit auf einer Website bezahlen, ohne die Kartennummer erneut einzutippen. Für Websites stellt Google dafür die **Google Pay API for Web** bereit: Beim Klick auf den Google-Pay-Button öffnet sich ein Auswahlblatt mit den hinterlegten Karten, und Google gibt anschließend ein **Zahlungs-Token** an die Website zurück. Und hier liegt der Punkt, an dem viele Beschreibungen zu kurz greifen: **Google Pay wickelt die Zahlung nicht selbst ab.** Das Token geht zusammen mit den Kaufdaten an den eigenen Server, und von dort läuft die Zahlung über den **Zahlungsdienstleister** — bei uns in der Regel [Stripe](https://www.siteway.de/stack/stripe/). Belastung der Karte, Abrechnung, Rückerstattung und Zahlungsausfall bleiben also dort, wo sie vorher schon lagen. Google Pay steuert Karten- und Adressdaten bei und verkürzt damit die Eingabe, nicht die Kette dahinter. Damit ist auch die Reihenfolge im Projekt klar: Zuerst steht der Zahlungsdienstleister, dann kommt die Methode dazu. Genauso verhält es sich mit [Apple Pay](https://www.siteway.de/stack/apple-pay/) — dieselbe Rolle, anderes Ökosystem. In der Bezahlstrecke stehen beide nebeneinander, und wer keines von beidem nutzt, bezahlt auf dem regulären Weg. Wo Bezahlen überhaupt Thema wird, beschreibt die Leistung [Shop & E-Commerce](https://www.siteway.de/expertise/shop-e-commerce/). $ cat google-pay.md - ✓Bezahlmethode nicht zahlungsdienstleister - ✓Kartendaten aus dem google-konto - ✓Rückgabe zahlungs-token - ✓Abwicklung serverseitig · psp - ✓Voraussetzung https · tls-zertifikat - ✓Anzeige nur bei unterstützung praxis ## Wie wir Google Pay einbinden zusatz · **kein fundament** Wir bauen die Bezahlstrecke zuerst **ohne** Google Pay — vollständig, bedienbar, mit Tastatur erreichbar. Der Button kommt danach obendrauf. Das ist keine Stilfrage, sondern folgt aus der Technik: Der Button darf erst erscheinen, wenn Browser und Google-Konto die Methode überhaupt tragen. Diese Bauweise heißt **Progressive Enhancement** und ist bei siteway die Grundlage des gesamten [Frontends](https://www.siteway.de/stack/frontend/) — die Seite funktioniert auf der schmalen Grundlage und wird besser, wo mehr möglich ist. Der nächste Schritt ist die **Verfügbarkeitsprüfung**. Bevor irgendetwas sichtbar wird, fragt die Website über die Methode isReadyToPay ab, ob eine Zahlung über Google Pay möglich ist. Erst wenn die Antwort positiv ausfällt, wird der Button erzeugt und eingesetzt. Fällt sie negativ aus, bleibt die Bezahlstrecke exakt so, wie sie ohne Google Pay aussieht. Beide Fälle gehören ins Konzept der Seite — der Platz, an dem der Button steht, darf im zweiten Fall keine Lücke hinterlassen. Der **Zahlungsvorgang** selbst ist eine kurze, klar getrennte Kette. Das Auswahlblatt öffnet sich nur aus einem Klick heraus; Google verlangt dafür ausdrücklich ein Nutzer-Ereignis. Die Rückgabe ist ein Token, kein Kartendatensatz. Dieses Token schickt der Browser an einen **eigenen serverseitigen Endpunkt**, der es zusammen mit Betrag, Währung und Bestellbezug an den Zahlungsdienstleister übergibt. Betrag und Währung stammen dabei immer vom Server, nie aus dem Formular — sonst entscheidet der Browser über den Preis. Dann der **Abbruch**, der in Angeboten gern fehlt. Schließt jemand das Auswahlblatt, wird die Zusage der Zahlungsdaten abgelehnt. Für die Seite heißt das: kein Fehlerdialog, keine halb abgeschickte Bestellung, sondern derselbe Stand wie vorher. Genauso behandeln wir den Fall, dass der Zahlungsdienstleister nicht antwortet — die Bestellung bleibt offen und nachvollziehbar, statt in einem unklaren Zustand zu enden. Und schließlich das **Mapping**. Google Pay kann Rechnungsadresse, E-Mail-Adresse und Lieferadresse mitliefern. Was davon angefordert wird, entscheiden wir vorher und bilden es auf die Felder der Bestellung ab — angefordert wird, was gebraucht wird, und nicht, was möglich ist. Die buchbare Leistung dahinter beschreibt [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst die **Bezahlstrecke**, dann der Button - 02Anzeige nur nach **Verfügbarkeitsprüfung** - 03Betrag & Währung **vom Server** - 04Token über den **eigenen Endpunkt** - 05Zugangsdaten **serverseitig**, nie im Browser - 06Abbruch führt zu **keinem Fehlerzustand** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der Entwicklerdokumentation zur Google Pay API for Web — Methoden, Felder und Werte im Original. Zu Gebühren, Limits und Browserversionen im Detail steht dort nichts Allgemeingültiges, deshalb steht hier auch nichts dazu: Was der Zahlungsdienstleister kostet, steht in dessen Preisliste, und was der Browser konkret kann, entscheidet die Verfügbarkeitsprüfung zur Laufzeit. d-01einstieg ### Bibliothek & Client Der Einstieg ist eine von Google ausgelieferte Bibliothek, aus der ein PaymentsClient erzeugt wird. Er trägt die Umgebung — Test oder Produktion — und stellt alle weiteren Methoden bereit. Weil der Code von Google kommt, ist genau hier die Stelle, an der Datenschutz und Ladezeitpunkt zusammenfallen. zweck: einbindung d-02prüfung ### Verfügbarkeitsprüfung isReadyToPay klärt, ob über Google Pay überhaupt ein Zahlungsmittel zurückkommen kann. Das Ergebnis entscheidet über die Anzeige des Buttons. Die zusätzliche Abfrage existingPaymentMethodRequired gibt es zwar, Google rät aber davon ab, die Anzeige davon abhängig zu machen. zweck: anzeigen oder nicht d-03button ### Der Button Den Button erzeugt createButton als echtes button-Element in einem Container. Google gibt vor, ausschließlich die eigenen Schaltflächen zu verwenden und Schrift, Farbe, Radius und Innenabstand nicht zu verändern. Dabei fügt die Methode CSS-Regeln und eine SVG-Datei aus dem Google-CDN ein. zweck: markenkonforme schaltfläche d-04anfrage ### Die Zahlungsanfrage Die Anfrage beschreibt, was akzeptiert wird: allowedPaymentMethods mit den zugelassenen Kartennetzen, allowedAuthMethods mit PAN_ONLY und CRYPTOGRAM_3DS, dazu transactionInfo mit Betrag, Währung und Land sowie merchantInfo mit Händlerkennung und Anzeigename. zweck: was akzeptiert wird d-05daten ### Adressen & Kontakt Optional liefert Google Pay mehr als die Karte: billingAddressRequired für die Rechnungsadresse, wahlweise vollständig oder verkürzt, emailRequired für die E-Mail-Adresse und shippingAddressRequired für die Lieferadresse. Über callbackIntents lässt sich auf eine geänderte Adresse reagieren. zweck: weniger tippen d-06abwicklung ### Token & Abwicklung Die tokenizationSpecification legt fest, wohin die Zahlungsdaten gehen. Der Regelfall ist PAYMENT_GATEWAY mit den Feldern gateway und gatewayMerchantId, also der Weg über den Zahlungsdienstleister. Die Variante DIRECT beschreibt Google nur für Händler, die selbst PCI-DSS-konform sind. zweck: weg der zahlung ### Warum die Bezahlstrecke kürzer wird Der Gewinn liegt nicht in der Zahlung, sondern in der **Eingabe**. Kartennummer, Gültigkeit, Prüfziffer, Rechnungsadresse, oft noch die Lieferadresse — das sind auf einem kleinen Display viele Felder und viele Gelegenheiten, abzubrechen. Google Pay ersetzt diese Eingabe durch eine Auswahl: Die Daten liegen im Konto und werden im Auswahlblatt nur bestätigt. Aus mehreren Formularen wird ein Bestätigungsschritt. Damit das trägt, muss die Website die zurückgegebenen Felder sauber **auf ihr eigenes Datenmodell abbilden**. Eine Rechnungsadresse in verkürzter Form ist etwas anderes als eine vollständige; wer beides gleich behandelt, hat später eine Bestellung ohne Hausnummer. Deshalb legen wir vorher fest, welche Felder angefordert werden, welche Pflicht sind und wie die Bestellung aussieht, wenn ein optionales Feld leer bleibt. ### Datenschutz: fremder Code im Browser Der Punkt, der auf einer trackingfrei gebauten Website wirklich zählt, ist kein Vertrag, sondern eine Ladezeile: **Für den Button wird Code von Google im Browser der Besucherinnen und Besucher geladen.** Google beschreibt für die Button-Erzeugung ausdrücklich, dass dabei CSS-Regeln und eine SVG-Datei aus dem Google-CDN eingefügt werden. Auf einer Seite, die sonst ohne fremde Einbindungen auskommt, ist das ein sichtbarer Unterschied. Deshalb gehört Google Pay in die **Betrachtung der Einwilligung**, und deshalb laden wir die Bibliothek nicht auf jeder Seite mit, sondern erst nach der Einwilligung beziehungsweise erst im Bezahlvorgang. Technisch ist beides sauber umsetzbar, weil der Button ohnehin erst nach der Verfügbarkeitsprüfung entsteht. Wie der Einzelfall rechtlich zu bewerten ist, gehört zur Rechtsberatung — die technische Grundlage bereiten wir vor, beschrieben im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wer den Bestand erst einmal aufgenommen haben will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). was wir festlegen - ▸Welche Felder **angefordert** werden - ▸Adressformat **voll oder verkürzt** - ▸Mapping auf die **Bestellfelder** - ▸Ladezeitpunkt der **Bibliothek** - ▸Darstellung **ohne Button** - ▸Verhalten beim **Abbruch** integration ## Google Pay in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist erstaunlich unspektakulär. Im Frontend sitzen zwei Dinge im Template der Bezahlstrecke: die **Verfügbarkeitsprüfung** und der Platz, an dem der Button entsteht. Der Button erscheint **nur bei Unterstützung** durch Browser und Google-Konto — die Bezahlstrecke muss deshalb beide Fälle sauber darstellen. Mit Button ist er die erste, kürzeste Option; ohne Button steht dort keine leere Fläche und kein Hinweis auf etwas Fehlendes, sondern schlicht die reguläre Bezahlstrecke. Diese zweite Ansicht ist der Normalfall, nicht die Ausnahme, und wird genauso gestaltet und getestet wie die erste. Der **Zahlungsvorgang** läuft danach nicht im Browser, sondern über den serverseitigen Endpunkt des Zahlungsdienstleisters. Das Auswahlblatt gibt ein Token zurück, das Token geht an eine eigene Route der Website, und diese Route spricht mit dem Zahlungsdienstleister — mit Betrag, Währung und Bestellbezug aus dem eigenen Bestand und mit Zugangsdaten, die in der Server-Konfiguration liegen und nie im Browser auftauchen. Was sich zwischen den Systemen unterscheidet, ist nur, **wo** diese Bausteine liegen: in welchem Template, in welcher Route, in welcher Konfigurationsebene. cms-01typo3 ### Google Pay in TYPO3 Wir bauen die Anbindung als eigene Extension. Der Button und die Verfügbarkeitsprüfung sitzen im Fluid-Template der Bezahlstrecke, eingebunden über ein eigenes Content-Element oder ein Plugin der Extension — sichtbar erst, wenn die Prüfung positiv ausfällt. Der serverseitige Endpunkt ist eine eigene Route der Extension mit passender Middleware; sie nimmt das Token entgegen, holt Betrag und Bestellbezug aus dem eigenen Datenmodell und spricht mit dem Zahlungsdienstleister. Die Zugangsdaten liegen als Umgebungsvariablen und werden über die Extension-Konfiguration ausgelesen, nicht im TypoScript des Frontends. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Google Pay in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den Theme-Wechsel. Verfügbarkeitsprüfung und Button liegen im Template der Kasse, ausgeliefert über ein Skript, das nur auf dieser Seite eingereiht wird und nicht auf der ganzen Website. Der serverseitige Endpunkt ist eine eigene REST-Route des Plugins: Sie prüft die Anfrage, nimmt das Token entgegen und ruft den Zahlungsdienstleister auf. Die Zugangsdaten stehen in der Server-Konfiguration und werden im Plugin ausgelesen — nie in einer Option, die im Frontend landen kann. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Google Pay in Statamic Statamic läuft auf Laravel, und das macht diesen Teil besonders geradlinig. Verfügbarkeitsprüfung und Button sitzen in einem Antlers- oder Blade-Template der Bezahlstrecke. Der serverseitige Endpunkt ist eine Route plus Controller im Laravel-Unterbau: Der Controller validiert die Anfrage, nimmt das Token entgegen und übergibt es an den Zahlungsdienstleister. Die Zugangsdaten liegen in der Umgebungsdatei und werden über die Konfiguration eingelesen, sodass sie in keinem Template auftauchen. Static Caching bleibt davon unberührt, weil die Bezahlstrecke ohnehin dynamisch bleibt. [statamic im stack →](https://www.siteway.de/stack/statamic/) voraussetzungen ## Was vorher stehen muss nur **belegtes** Die Liste ist kurz, und sie stammt aus der Dokumentation von Google und des Zahlungsdienstleisters. Alles, was sich schnell ändert — einzelne Browserversionen, Gebührensätze, Länderlisten — bleibt hier bewusst draußen und wird von siteway im Projekt am aktuellen Stand geprüft. v-01transport ### HTTPS mit TLS-Zertifikat Google nennt als Voraussetzung eine über HTTPS ausgelieferte Seite mit einem domainvalidierten TLS-Zertifikat. Das ist keine Empfehlung, sondern Bedingung — ohne sie kommt der Button nicht zustande. Auf einer sauber betriebenen Website ist das ohnehin der Zustand. quelle: google · setup v-02browser ### Unterstützter Browser Google führt Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera und UCWeb UC Browser als unterstützt auf. Konkrete Versionsstände nennen wir hier nicht, weil sie sich verschieben — verbindlich ist ohnehin die Antwort der Verfügbarkeitsprüfung im Browser der Besucherin. quelle: google · setup v-03konto ### Karte im Google-Konto Bezahlt wird mit dem, was im Google-Konto hinterlegt ist — Google nennt das Hinzufügen einer Zahlungsmethode ausdrücklich als Schritt der Einrichtung. Diese Voraussetzung liegt außerhalb der Website, weshalb der Button für einen Teil der Besucherinnen und Besucher schlicht nicht erscheint. quelle: google · setup v-04abwicklung ### Zahlungsdienstleister Ohne eingerichteten Zahlungsdienstleister gibt es kein Google Pay, weil die Zahlung dort abgewickelt wird. Bei Stripe kommt ein konkreter Schritt dazu: Alle Domains, auf denen ein Google-Pay-Button erscheint, müssen registriert werden — inklusive der Subdomains, in Produktion wie im Test. [stripe im stack →](https://www.siteway.de/stack/stripe/) v-05kennung ### Kennung & Regeln Für den Produktivbetrieb verlangt Google eine Händlerkennung im Feld merchantId, dazu einen Anzeigenamen in merchantName. Vor der Umsetzung stehen außerdem die Nutzungsbedingungen der Google Pay API und die Markenrichtlinien für den Button, die unter anderem eigene Nachbauten ausschließen. quelle: google · referenz v-06einwilligung ### Platz in der Einwilligung Weil für den Button Code von Google im Browser geladen wird, gehört Google Pay in die Betrachtung der Einwilligung und in die Datenschutzerklärung. Technisch bereiten wir vor, dass die Bibliothek erst nach der Einwilligung oder erst im Bezahlvorgang lädt. Die rechtliche Bewertung selbst gehört in andere Hände. [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist Google Pay? Google Pay ist eine Bezahlmethode von Google. Wer im Google-Konto eine Karte hinterlegt hat, kann damit auf einer Website bezahlen, ohne die Kartennummer erneut einzutippen. Für Websites stellt Google dafür die Google Pay API for Web bereit. Die Website prüft damit die Verfügbarkeit, zeigt den Google-Pay-Button an und öffnet beim Klick ein Auswahlblatt mit den hinterlegten Karten. Google gibt danach ein Zahlungs-Token an die Website zurück, das serverseitig weiterverarbeitet wird. ### Ist Google Pay ein Zahlungsdienstleister? Nein. Google Pay ist eine Bezahlmethode, kein eigener Zahlungsdienstleister. Der Geldfluss läuft weiterhin über den Zahlungsdienstleister, der ohnehin hinter der Bezahlstrecke steht — bei uns in der Regel [Stripe](https://www.siteway.de/stack/stripe/). Google Pay steuert die im Google-Konto hinterlegten Karten- und Adressdaten bei und übergibt sie als Token; die Belastung der Karte, die Abrechnung, Rückerstattungen und der Umgang mit Zahlungsausfällen bleiben beim Zahlungsdienstleister. Google beschreibt das in seiner Dokumentation so, dass das Token zusammen mit den Kaufdaten an das eigene Backend geht und von dort über den Zahlungsdienstleister verarbeitet wird. Praktisch heißt das: Ohne eingerichteten Zahlungsdienstleister gibt es kein Google Pay. ### Was braucht es, damit der Google-Pay-Button überhaupt erscheint? Drei Dinge, und alle drei sind in der Dokumentation von Google belegt. Erstens muss die Seite über HTTPS mit einem domainvalidierten TLS-Zertifikat ausgeliefert werden. Zweitens braucht es einen unterstützten Browser; Google nennt dafür Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera und UCWeb UC Browser. Drittens muss im Google-Konto eine Zahlungsmethode hinterlegt sein. Ob all das zutrifft, fragt die Website vor der Anzeige über die Methode isReadyToPay ab. Fällt die Antwort negativ aus, wird der Button gar nicht erst gezeigt. ### Warum verkürzt Google Pay die Bezahlstrecke? Weil die Daten schon da sind. Die Karte liegt im Google-Konto, und die Anfrage der Website kann zusätzlich Rechnungsadresse, E-Mail-Adresse und Lieferadresse anfordern — über die Felder billingAddressRequired, emailRequired und shippingAddressRequired. Was sonst in Formularfelder getippt wird, kommt damit aus dem Konto und wird im Auswahlblatt nur noch bestätigt. Weniger Tippen heißt weniger Stellen, an denen jemand abbricht. Für die Website bedeutet es zugleich: Die Felder müssen sauber auf das eigene Datenmodell gemappt werden, sonst landen Adressen unvollständig in der Bestellung. ### Was passiert, wenn Google Pay im Browser nicht verfügbar ist? Dann passiert nichts Sichtbares — und genau so soll es sein. Wir bauen die Bezahlstrecke zuerst ohne Google Pay vollständig funktionsfähig und setzen den Button obendrauf. Ist er nicht verfügbar, fehlt eine Abkürzung, kein Weg. Dieselbe Haltung gilt für den Abbruch: Schließt jemand das Auswahlblatt, wird die Zusage der Zahlungsdaten abgelehnt, und die Bezahlstrecke steht unverändert an derselben Stelle. Diese Bauweise nennt sich Progressive Enhancement und ist bei uns kein Sonderfall, sondern die Grundlage des gesamten [Frontends](https://www.siteway.de/stack/frontend/). ### Was bedeutet Google Pay für den Datenschutz einer trackingfrei gebauten Website? Es bedeutet, dass Code von Google im Browser der Besucherinnen und Besucher geladen wird. Der Button entsteht über eine Bibliothek, die von Google ausgeliefert wird; Google beschreibt für die Button-Erzeugung ausdrücklich, dass dabei CSS-Regeln und eine SVG-Datei aus dem Google-CDN eingefügt werden. Auf einer Website, die sonst ohne fremde Einbindungen auskommt, ist das ein sichtbarer Unterschied und gehört deshalb in die Betrachtung der Einwilligung. Unsere Bauweise: Die Bibliothek wird nicht auf jeder Seite geladen, sondern erst im Bezahlvorgang beziehungsweise erst nach der Einwilligung. Wie das im konkreten Fall rechtlich zu bewerten ist, gehört zur Rechtsberatung und damit nicht auf diese Seite — die technische Seite bereiten wir so vor, dass beide Wege umsetzbar sind. ### Lässt sich Google Pay in TYPO3, WordPress oder Statamic einbauen? Ja, und der Weg ist in allen drei Systemen derselbe. Im Frontend sitzen die Verfügbarkeitsprüfung und der Button im Template der Bezahlstrecke, serverseitig braucht es einen Endpunkt, der das Zahlungs-Token entgegennimmt und an den Zahlungsdienstleister weitergibt. In TYPO3 bauen wir dafür eine eigene Extension mit eigener Route und dem Button im Fluid-Template. In WordPress entsteht ein eigenes Plugin mit einer eigenen REST-Route und dem Button im Template der Kasse. In Statamic liegt Laravel darunter, also Route plus Controller im Laravel-Unterbau und der Button in Antlers oder Blade. Die Zugangsdaten des Zahlungsdienstleisters liegen in allen drei Fällen in der Server-Konfiguration und nie im Browser. ### Was ist der Unterschied zwischen Google Pay und Apple Pay? Die Rolle ist dieselbe, das Ökosystem ist ein anderes. Beide sind Bezahlmethoden, die im jeweiligen Konto hinterlegte Karten- und Adressdaten in die Bezahlstrecke einspeisen, und beide werden über den vorhandenen Zahlungsdienstleister abgewickelt. Unterschiedlich sind Verfügbarkeit, Einrichtung und die Bausteine, mit denen der Button entsteht. In der Bezahlstrecke stehen sie deshalb nebeneinander statt gegeneinander: Wer ein Google-Konto mit hinterlegter Karte nutzt, sieht den einen Button, wer im Apple-Ökosystem unterwegs ist, den anderen, und wer keines von beidem hat, bezahlt auf dem regulären Weg. womit das zusammenhängt ## Womit das zusammenhängt abwicklung, bauweise & **leistung** - [Stripe.](https://www.siteway.de/stack/stripe/) — Der Zahlungsdienstleister, über den Google Pay bei uns in der Regel abgewickelt wird — inklusive der Domains, die dafür registriert sein müssen. zur technik → - [Apple Pay.](https://www.siteway.de/stack/apple-pay/) — Dieselbe Rolle, anderes Ökosystem: Karten- und Adressdaten aus dem Konto, Abwicklung über den Zahlungsdienstleister. zur technik → - [Frontend.](https://www.siteway.de/stack/frontend/) — Progressive Enhancement als Grundlage: Die Seite trägt ohne Zusatz und wird besser, wo der Browser mehr kann. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Fremder Code im Browser, Zugangsdaten auf dem Server, Einwilligung vor dem Laden: die Grundregeln hinter dem Button. zur technik → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Die Komponente, in der die Bezahlstrecke überhaupt entsteht — vom Produktkatalog bis zur Kasse. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Konzept, Umsetzung, Endpunkt, Test und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Google Pay in deiner Bezahlstrecke? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # HANSALOG vision **HANSALOG vision** ist eine Personalwirtschaftssoftware aus Ankum — 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](https://www.siteway.de/expertise/job-karriereportal/) — und zwar so, dass sie dort wie eigene Seiten aussehen, funktionieren und gefunden werden. siteway baut diese Strecke. stack system: hansalog · hr & recruiting weg: export · schnittstelle ziel: stellen auf deiner domain seit: 2006 [Anbindung anfragen](https://www.siteway.de/kontakt/) [Wie wir HANSALOG anbinden](#einsatz) definition ## Was ist HANSALOG vision? **HANSALOG vision ist die cloudbasierte Personalwirtschaftssoftware der HANSALOG Gruppe aus Ankum im Osnabrücker Land.** Das Unternehmen ist inhabergeführt, wurde nach eigenen Angaben 1973 gegründet und beziffert seinen Bestand auf rund 2.000 Kunden aus allen Branchen. Der Hersteller selbst schreibt die Produktlinie in Versalien als **VISION**; laut Herstellerangabe deckt sie Entgeltabrechnung, Personalmanagement, Zeitwirtschaft, Reisekostenabrechnung und Recruiting ab. Neben der Cloud-Linie steht mit **LN UI** eine Linie für den Betrieb im eigenen Haus. Typische Anwender sind Personalabteilungen im Mittelstand, die Abrechnung und Personalprozesse in einem System bündeln. Für eine Website ist davon genau ein Ausschnitt relevant: das **Recruiting-Modul**. Dort legt die Personalabteilung Stellenprofile und Ausschreibungen an, dort läuft der Bewerbungsprozess, dort liegen die Unterlagen. 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 sauber: siteway behandelt HANSALOG als führendes System und die Website als Anzeige. $ cat hansalog.md - ✓Hersteller hansalog gruppe · ankum - ✓Gegründet 1973 · inhabergeführt - ✓Entgeltabrechnung payroll - ✓Personalmanagement core hr - ✓Recruiting bewerbermanagement - ✓Zeitwirtschaft reisekosten - ✓Betrieb cloud (vision) · eigenes haus (ln ui) praxis ## Wie wir HANSALOG anbinden daten holen · **selbst rendern** Der Hersteller beschreibt den Weg aus Sicht der Personalabteilung: Im Recruiting-Modul entstehen Stellenprofile, daraus werden Stellenanzeigen erzeugt und auf dem eigenen **Stellenportal** veröffentlicht; für die klassische Linie nennt er zusätzlich Bewerbungsformulare mit anpassbarem Layout zur Einbindung auf der eigenen Homepage sowie ein Multi-Channel-Posting auf Jobportale und Social-Media-Kanäle. Das sind Herstellerangaben — was in eurer Installation tatsächlich freigeschaltet ist, steht damit noch nicht fest. Wir gehen den **datengetriebenen** Weg: Stellen als Daten übernehmen, ins CMS übersetzen und die Seiten selbst rendern. Der Grund ist nicht Geschmack, sondern Kontrolle. Nur bei eigenem Markup entscheiden wir über [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/), [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/), Ladeverhalten und URL-Struktur — also über genau die Punkte, an denen eine Karriereseite gefunden wird oder eben nicht. Der erste Schritt ist deshalb immer eine **Sichtung**: Welcher Weg ist in eurer Installation vorgesehen, welche Felder liefert die Quelle, wie sind Standorte und Bereiche benannt, wie sieht der Bewerbungsweg aus. Daraus entsteht ein Feld-Mapping, und erst danach wird gebaut — dasselbe Vorgehen wie bei jeder anderen [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01HANSALOG bleibt das **führende System** - 02Stellen liegen auf **deiner Domain** - 03Erst **Feld-Mapping**, dann Template - 04Abgleich mit **Cache**, nie live pro Aufruf - 05Bewerberdaten **nicht zwischenlagern** - 06Ausfall der Quelle **bricht nichts** ### Export, Schnittstelle oder Verlinkung? 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 — welcher Weg konkret möglich ist, klären wir vorab mit dem Hersteller oder eurer HR-IT. w-01export ### Export ins Zielverzeichnis Das Personalwirtschaftssystem legt die offenen Stellen in festem Takt als Datei an einem vereinbarten Übergabepunkt ab, die Website holt sie dort ab. Der robusteste Weg, wenn das System hinter der Firewall steht: Es muss nichts von außen erreichbar sein, und die Richtung bleibt eindeutig. Format und Felder werden einmal festgelegt und danach eingehalten. stärke: robust · firewall bleibt zu w-02schnittstelle ### Freigegebene Schnittstelle Ist ein Zugang freigeschaltet, fragt die Website die Stellen gezielt ab — und kann bei entsprechender Freigabe auch etwas zurückgeben, etwa eine Bewerbung aus einem eigenen Formular. Der Weg trägt mehr Felder und feinere Abfragen, verlangt dafür Zugangsdaten, ein abgestimmtes Rechtekonzept und eine klare Absprache, wer den Zugang betreut. stärke: beide richtungen w-03verlinkung ### Verlinktes Stellenportal Das Stellenportal des Herstellers bleibt, wo es ist, und die Website verlinkt darauf oder zeigt es im Rahmen an. Das ist der schnellste Start, weil praktisch nichts gebaut wird. Gestaltung, Markup und Ladeverhalten kommen dann allerdings vom Anbieter — inklusive der Frage, unter welcher Adresse der Inhalt zählt. stärke: sofort startklar ### Wenn das System im eigenen Haus steht Das ist der Punkt, an dem sich etablierte Personalwirtschaftssysteme von reinen Cloud-Werkzeugen unterscheiden. Sie laufen häufig **im eigenen Rechenzentrum oder auf eigenen Servern** hinter der Firewall — bei HANSALOG betrifft das die Linie LN UI, während der Hersteller für die Cloud-Linie angibt, ausschließlich in Deutschland zu hosten und vier eigene Rechenzentren an deutschen Standorten zu betreiben. In beiden Fällen gilt dasselbe Prinzip: Ein Personalsystem, in dem Gehälter und Personalakten liegen, wird nicht für Zugriffe aus dem Internet geöffnet. Der Weg auf die Website ist dann ein **Export in ein definiertes Zielverzeichnis** oder eine gezielt freigegebene Schnittstelle. Praktisch heißt das: Ein Lauf im Personalsystem schreibt die offenen Stellen an einen abgesicherten Übergabepunkt, die Website holt sie dort ab, und die Richtung zeigt nach außen statt nach innen. Das ist kein Umweg, sondern die saubere Bauweise — sie hält die Angriffsfläche klein und macht den Datenfluss nachvollziehbar. Zu klären ist deshalb früh, wer den Übergabepunkt einrichtet und betreut, wie er verschlüsselt ist, in welchem Takt geschrieben wird und wer merkt, wenn ein Lauf ausbleibt. Diese Fragen gehören der HR-IT und dem Hersteller, nicht dem Template — und sie stehen bei uns am Anfang des [Konzepts](https://www.siteway.de/expertise/konzept-strategie/), nicht am Ende. vorab zu klären - ▸Welcher Weg ist **freigeschaltet**? - ▸Wer betreut den **Übergabepunkt**? - ▸Welche **Felder** liefert die Quelle? - ▸In welchem **Takt** wird geschrieben? - ▸Wohin führt der **Bewerbungsweg**? bausteine · 6 details ## Die Anbindung im Detail jedes teil mit **klarem zweck** Zwischen „Stelle steht in HANSALOG" 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 & Takt 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 ### Feld-Mapping Jedes Feld der Quelle bekommt ein Zuhause im [CMS](https://www.siteway.de/stack/cms-redaktion/): Titel, Standort, Bereich, Anstellungsart, Beschreibung, Ablaufdatum, Bewerbungslink. Weil die Benennung je Installation abweicht, wird das Mapping einmal schriftlich festgehalten. Was fehlt, ergänzt die Redaktion daneben — etwa ein Teamfoto oder einen Ansprechpartner. 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](https://www.siteway.de/stack/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. Das Layout ist deins: dieselbe Typografie, dieselbe Navigation, derselbe Footer wie auf dem Rest der Website. 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](https://www.siteway.de/stack/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 des Herstellers. Upload, Pflichtfelder und Eingangsbestätigung liegen dann dort, 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 eine freigegebene Schnittstelle übergibt. Der Bewerber bleibt durchgehend bei dir, Felder und Fehlermeldungen sind gestaltbar, die Barrierefreiheit liegt in unserer Hand — wie bei allen [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Dafür braucht es einen freigeschalteten Zugang, ein sorgfältiges Mapping und eine ehrliche Fehlerbehandlung: Was passiert, wenn die Übergabe scheitert, nachdem der Bewerber auf „Absenden" geklickt hat? Welcher Weg gebaut wird, hängt weniger an der Technik als an der Erwartung: Soll die Bewerbung Teil der Website sein oder Teil des Personalsystems? Wir stellen diese Frage im Briefing — und beantworten sie gemeinsam, bevor eine Zeile Template entsteht. zwei wege - ▸Weiterleitung: **keine Daten bei uns** - ▸Weiterleitung: **Bruch im Design** - ▸Eigenes Formular: **ein Fluss** - ▸Eigenes Formular: **volle Kontrolle** - ▸Eigenes Formular: **mehr Aufwand** integration · 3 systeme ## HANSALOG in deine Website integrieren drei systeme · **ein muster** Ein Personalwirtschaftssystem liefert Daten, ein [CMS](https://www.siteway.de/stack/cms-redaktion/) 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](https://www.siteway.de/stack/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 des Herstellers oder in ein eigenes auf deiner Domain. Und genau hier liegt der Unterschied, der weiter oben schon anklang: Liegen die Stellen als echte Seiten deiner Domain, entsteht eigenes Markup aus deinen Feldern und zählt zu deiner Adresse. cms-01typo3 ### HANSALOG in TYPO3 Wir bauen eine eigene Extension auf Basis von Extbase: Der Abruf läuft als Scheduler-Task im festen Takt und schreibt die Stellen als eigene Records in einen Ordner im Seitenbaum, mit TCA-definierten Feldern für Standort, Bereich und Anstellungsart. Das Site Handling erzeugt daraus sprechende URLs, Fluid rendert Liste und Detailseite. Die Redaktion ergänzt daneben, was das Personalsystem nicht kennt — Teamfoto, Ansprechpartner, Einstiegstext. Mehr zum System unter [TYPO3](https://www.siteway.de/stack/typo3/). weg: eigene extension · scheduler cms-02wordpress ### HANSALOG in WordPress Hier entsteht ein eigenes Plugin statt Code im Theme — damit die Anbindung einen Theme-Wechsel überlebt. Ein geplanter Lauf holt die Stellen und legt jede als Beitrag eines Custom Post Types mit eigenen Meta-Feldern an; Standort und Bereich liegen als Taxonomien daneben. Eine eigene Permalink-Struktur gibt jeder Stelle ihre Adresse, das Markup setzt ein Hook im ``. Ergänzende Bilder und Textblöcke pflegt die Redaktion im Block-Editor. Mehr zum System unter [WordPress](https://www.siteway.de/stack/wordpress/). weg: eigenes plugin · custom post type cms-03statamic ### HANSALOG 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 und wird beim Speichern erneuert; Ergänzungen pflegt die Redaktion im Control Panel. Mehr zum System unter [Statamic](https://www.siteway.de/stack/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. Wichtig ist die Reihenfolge: Dieses Markup entsteht **nicht im Personalwirtschaftssystem**, sondern erst im CMS. Liegen die Stellen als eigene Seiten auf deiner Domain, erzeugen wir es beim Rendern aus denselben Feldern, die aus HANSALOG kommen — ein Feld, ein Attribut. Wird ein Stellenportal 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. 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](https://www.siteway.de/stack/strukturierte-daten/); was speziell für Stellenanzeigen gilt, unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). $ cat jobposting.md - ✓Titel pflicht - ✓Beschreibung pflicht - ✓Veröffentlichungsdatum pflicht - ✓Arbeitgeber pflicht - ✓Arbeitsort pflicht - ✓Ablaufdatum empfohlen - ✓Anstellungsart empfohlen - ✓Gehalt empfohlen 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 HANSALOG — dort greifen Rollen, Protokolle und die **Löschfristen**, die das Personalwesen ohnehin einhalten muss. Der Hersteller nennt dafür unter anderem Workflows bis hin zur fristgerechten Löschung von Bewerberdaten; wie das in eurer Installation eingestellt ist, gehört ins Vorgespräch. Steht das System im eigenen Haus, kommt eine Frage dazu, die bei Cloud-Werkzeugen niemand stellt: **Wer sichert den Transportweg ab?** Der Übergabepunkt zwischen Personalsystem und Website liegt organisatorisch zwischen HR-IT, Hersteller und Agentur — deshalb wird schriftlich festgehalten, wer ihn einrichtet, wie er verschlüsselt ist und wer die Protokolle sieht. 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](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - 01Übertragung **verschlüsselt** - 02Anhänge **weiterreichen, nicht lagern** - 03Zugangsdaten **nicht im Repository** - 04Löschfristen **im führenden System** - 05Transportweg **schriftlich geregelt** - 06AV-Vertrag **vor dem Go-live** ### 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](https://www.siteway.de/stack/barrierefreiheit/). am formular - ▸Labels **sichtbar & verknüpft** - ▸Fehler **am Feld, im Klartext** - ▸Upload **per Tastatur bedienbar** - ▸Bestätigung **wird angesagt** faq ## Häufige Fragen ### Was ist HANSALOG vision? HANSALOG vision ist die cloudbasierte Personalwirtschaftssoftware der HANSALOG Gruppe mit Sitz in Ankum im Osnabrücker Land. Das Unternehmen ist inhabergeführt, wurde 1973 gegründet und beziffert seinen Bestand auf rund 2.000 Kunden. Die Software deckt laut Hersteller Entgeltabrechnung, Personalmanagement, Zeitwirtschaft, Reisekostenabrechnung und Recruiting ab; der Hersteller schreibt die Produktlinie auch in Versalien als VISION. Daneben steht mit LN UI eine Linie für den Betrieb im eigenen Haus. Für die Website ist genau ein Ausschnitt relevant: das Recruiting-Modul, in dem die Stellenausschreibungen entstehen. ### Wie kommen Stellen aus HANSALOG auf unsere Karriereseite? Der Hersteller beschreibt, dass Stellenprofile im Recruiting-Modul angelegt, daraus Stellenanzeigen erzeugt und auf dem eigenen Stellenportal veröffentlicht werden; für die klassische Linie nennt er zusätzlich Bewerbungsformulare mit anpassbarem Layout zur Einbindung auf der eigenen Homepage. siteway geht den datengetriebenen Weg: Die Stellen werden als Daten übernommen, ins CMS übersetzt und dort als eigene Seiten gerendert. Ob das über einen Export in ein definiertes Zielverzeichnis läuft oder über eine freigegebene Schnittstelle, hängt an eurer Installation und wird vorab mit dem Hersteller oder eurer HR-IT geklärt. Eine öffentliche Entwicklerdokumentation dazu ist nicht frei verfügbar. ### Was ist zu beachten, wenn das Personalwirtschaftssystem im eigenen Rechenzentrum läuft? Etablierte Personalwirtschaftssysteme stehen selten offen im Internet. HANSALOG gibt an, vier eigene Rechenzentren an deutschen Standorten zu betreiben und die Cloud-Linie ausschließlich in Deutschland zu hosten; die Linie LN UI läuft im eigenen Haus. In beiden Fällen ist der Weg zur Website kein offener Zugriff von außen, sondern ein Export in ein definiertes Zielverzeichnis oder eine gezielt freigegebene Schnittstelle. Praktisch heißt das: Die Datei landet auf einem abgesicherten Übergabepunkt, die Website holt sie dort ab, und die Firewall bleibt zu. Wer den Transportweg absichert und wer ihn überwacht, wird vor dem Bauen festgelegt. ### Lässt sich HANSALOG in TYPO3, WordPress oder Statamic integrieren? Ja. In allen drei Systemen trägt derselbe Aufbau: Ein geplanter Job holt die Stellen, legt jede Ausschreibung als eigenen Inhalt im CMS an, und das Frontend 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 Datensätzen und Fluid-Templates. In WordPress ein eigenes Plugin mit einem Custom Post Type und Taxonomien für Standort und Bereich. In Statamic ein Artisan-Kommando im Scheduler, das Entries in eine Collection schreibt. Weil die Feldnamen je Installation unterschiedlich ausfallen, baut siteway die Abholung als schlanken eigenen Code und stimmt das Feld-Mapping vorab ab. ### 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 nicht im Personalwirtschaftssystem, sondern erst im CMS: siteway erzeugt es beim Rendern aus denselben Feldern, die aus HANSALOG kommen. Wird ein Stellenportal dagegen von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiter zu dieser Adresse und wird dort erfasst, nicht unter deiner URL. ### Bewerbung im HANSALOG-Formular oder auf unserer Website? Beides trägt. Der direkte Weg ist die Weiterleitung: Der Button auf der Stellenseite führt in das Bewerbungsformular des Herstellers, dort läuft der Upload, und die Bewerbung liegt ohne Umweg im Bewerbermanagement — auf dem Webserver entstehen dabei gar keine Bewerberdaten. Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über eine freigegebene Schnittstelle ü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 dem, was freigeschaltet ist. siteway klärt das vor dem Bauen, weil daran der ganze Bewerbungsweg hängt. ### Was passiert mit abgelaufenen Stellen? Fällt eine Stelle aus der Quelle, verschwindet sie beim nächsten Abgleich aus der Liste. Für die Detailseite nennt Google drei saubere Wege: das Ablaufdatum in die Vergangenheit setzen, die Seite mit Statuscode 404 oder 410 beantworten oder das JobPosting-Markup entfernen. Welcher Weg gewählt wird, legt siteway je Projekt fest — und leitet abgelaufene Stellen dorthin, wo es weitergeht: auf die Karriereübersicht statt in eine Sackgasse. ### 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. Führendes System bleibt HANSALOG — dort greifen Rollen, Protokollierung und die Löschfristen, die das Personalwesen ohnehin einhalten muss. Läuft das System im eigenen Rechenzentrum, kommt die Frage nach dem Transportweg dazu: Wer richtet den Übergabepunkt ein, wie ist er verschlüsselt, wer sieht die Protokolle. Der Auftragsverarbeitungsvertrag gehört ins Projekt, nicht ins Nachspiel. womit das zusammenhängt ## Womit das zusammenhängt komponente, leistung & **nachbarn** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Der Baustein, der auf deiner Website entsteht: Stellenliste, Detailseiten, Bewerbungsformular und Karriere-Übersicht. Hier wird gebucht. zur komponente → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung hinter dieser Seite: Scoping, Feld-Mapping, Entwicklung, Test und Monitoring — für HANSALOG wie für jedes andere Fremdsystem. zur leistung → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was eine Stellenanzeige mitbringen muss, um in der Job-Box zu erscheinen — Pflichtfelder, Ablaufdatum und die häufigsten Stolpersteine. zur technik → - [rexx systems.](https://www.siteway.de/stack/rexx-systems/) — Dieselbe Frage, anderes System: wie Stellen aus dem rexx-Bewerbermanagement auf die eigene Karriereseite kommen. zur technik → - [Personio.](https://www.siteway.de/stack/personio/) — Der Cloud-Gegenpol: wie Stellen aus Personio auf die eigene Karriereseite kommen — und wo sich die Wege unterscheiden. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Verschlüsselung, Header, Datensparsamkeit und der Umgang mit Zugangsdaten — die Regeln, nach denen jede Anbindung gebaut wird. zur technik → Stellen aus HANSALOG auf deiner eigenen Karriereseite? [Anbindung anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # HubSpot **HubSpot** ist eine CRM- und Marketing-Plattform — und sie bietet zwei Wege auf eine Website: eingebettete Formulare mit Tracking-Skript oder die dokumentierte **REST-API**. Für siteway heißt das: Das Formular gehört zur Website, die Daten gehen **serverseitig** ins CRM. Diese Seite beschreibt beide Wege — und wie wir den zweiten bauen. stack system: hubspot · crm-plattform wege: eingebettet · rest-api auth: private app token · oauth seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir HubSpot anbinden](#einsatz) definition ## Was ist HubSpot? **HubSpot ist eine cloudbasierte CRM-Plattform der HubSpot, Inc.** Im Kern liegt ein gemeinsamer Datenbestand: Kontakte, Firmen, Deals und Tickets, verknüpft über Assoziationen. Darum gruppieren sich die Bereiche, die HubSpot Hubs nennt — für Marketing, Vertrieb, Service, Content und Daten. Unternehmen sammeln damit Anfragen, qualifizieren Kontakte, fahren E-Mail-Strecken und organisieren den Vertrieb entlang von Deals. Für eine Website sind davon zwei Dinge relevant. Erstens die **eingebetteten Formulare**: HubSpot stellt ein Skript bereit, das ein im CRM angelegtes Formular im Browser des Besuchers aufbaut und die Absendung direkt entgegennimmt. Daneben steht das Tracking-Skript, das den Besucherverlauf erfasst und dafür einen Cookie im Browser setzt. Zweitens die **REST-API**. Sie ist unter developers.hubspot.com öffentlich dokumentiert, mit Endpunkten für CRM-Objekte und für Formular-Absendungen, mit Scopes je Anwendung und mit veröffentlichten Rate Limits. Über diesen Weg liefert die Website ihr eigenes Formular aus und reicht die Daten weiter. Beide Wege enden im selben CRM — sie unterscheiden sich darin, wo der Code läuft. $ cat hubspot.md - ✓CRM-Plattform cloud · browser - ✓Objekte kontakte · firmen · deals - ✓REST-API öffentlich dokumentiert - ✓Auth bearer · private app · oauth - ✓Formular-Endpunkt scope forms - ✓Rate Limits je app & je account praxis ## Wie wir HubSpot anbinden eigenes formular · **serverseitig übergeben** Die erste Entscheidung fällt vor der ersten Zeile Code: **eingebettet oder über die API?** HubSpot bietet beides an, und beide Wege haben ihren Platz. Drei Muster helfen bei der Zuordnung. w-01eingebettet ### Das eingebettete Formular Ein Skript von HubSpot baut das Formular im Browser des Besuchers auf; angegeben werden Portal-ID und Formular-ID, dazu ein Container in der Seite. Aufbau, Feldlogik und Absendung liegen beim Anbieter. Der Weg ist schnell eingerichtet — und er lädt Fremdcode, für den vorher eine Einwilligung vorliegen muss. code: im browser w-02api ### Das eigene Formular Die Website liefert ihr eigenes Formular aus — im Seitendesign, mit eigener Validierung, eigenen Fehlermeldungen und eigener Tastaturbedienung. Abgesendet wird an einen Endpunkt auf dem eigenen Server, der die Daten prüft und serverseitig an HubSpot weiterreicht. Das ist der Weg, den wir bauen. code: auf dem server w-03kombination ### Beides nebeneinander Wer die Herkunft eines Leads im CRM sehen will, braucht das Tracking-Skript von HubSpot: Es setzt den Besucher-Cookie, dessen Wert das eigene Formular als hutk mitschicken kann. Dann gilt: eigenes Formular über die API, Tracking-Skript nur nach Einwilligung — und ohne Einwilligung geht die Absendung trotzdem durch. zuordnung: nach einwilligung ### Der serverseitige Weg im Detail Am Anfang steht das **Mapping**, und zwar als Dokument, bevor gebaut wird. Welches Feld im Formular geht auf welche Eigenschaft in HubSpot? Was ist Pflicht, was optional, was bleibt im Haus? Ein Formular mit vier Feldern, das vier Eigenschaften füllt, ist mehr wert als eines mit vierzehn, von denen die Hälfte niemand pflegt. Diese Zuordnung entscheidet später auch darüber, ob Auswertungen im CRM überhaupt tragen. Dann kommt der **Proxy**: ein eigener Endpunkt auf dem Server der Website. Das Formular schickt seine Daten dorthin, nicht zu HubSpot. Der Endpunkt hält das Access Token — im Browser hat es nichts verloren —, prüft die Felder ein zweites Mal, verwirft, was nicht ins Mapping gehört, ergänzt Herkunftsangaben wie Seiten-URL und Seitentitel und stellt erst dann die Anfrage an HubSpot. So bestimmt der eigene Server, was das Haus verlässt. **Validierung** läuft zweimal. Im Browser für die schnelle Rückmeldung — Pflichtfelder, Formate, klare Fehlertexte am Feld statt einer roten Wolke am Seitenanfang. Auf dem Server noch einmal vollständig, weil alles, was nur im Browser geprüft wird, umgangen werden kann. Wie wir Formulare aufbauen, steht in den Komponenten [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) und [Lead-Magnet-Formulare](https://www.siteway.de/expertise/lead-magnet-formulare/). **Doppelte Absendungen** fangen wir an drei Stellen ab: Der Absende-Button sperrt sich nach dem Klick, jeder Formularaufruf bekommt serverseitig ein einmaliges Kennzeichen, das nur einmal eingelöst werden kann, und im CRM dient die E-Mail-Adresse als Erkennungsmerkmal — ein vorhandener Kontakt wird aktualisiert statt neu angelegt. Aus einem hektischen Doppelklick wird so kein zweiter Datensatz. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet HubSpot nicht, mit einem Fehler oder mit einer Drosselung, wird die Absendung zwischengespeichert und mit wachsendem Abstand erneut versucht. Der Absender sieht trotzdem eine Bestätigung, der Lead geht zusätzlich per E-Mail ins Haus, und der Lauf wird protokolliert. Ein Lead darf nie an einer fremden Störung verloren gehen — Details dazu in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Feld-Mapping**, dann der Code - 02Token **serverseitig**, nie im Browser - 03Formular im **eigenen Design**, eigene Fehlertexte - 04Validierung **zweimal**: Browser und Server - 05Doppelabsendung **abfangen**, Dubletten vermeiden - 06Störung **auffangen**, Lead sichern [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von HubSpot — Endpunkte, Feldnamen und Grenzwerte im Original. Was dort nicht steht, steht auch hier nicht. Zahlen zu Limits und Versionsständen ändern sich; vor dem Bauen prüfen wir sie in der Dokumentation nach. d-01zugang ### Token & Scopes Authentifiziert wird mit einem Access Token, das im Authorization-Header als Bearer mitgeht. Für einen einzelnen Account genügt das Token einer Private App; soll dieselbe Anbindung in mehreren HubSpot-Accounts laufen, verlangt HubSpot OAuth samt Backend für die Token-Verwaltung. Scopes legen fest, worauf eine App zugreifen darf. zweck: authentifizierung d-02objekte ### Kontakte, Firmen, Deals Die CRM-Endpunkte liegen unter Pfaden der Form /crm/objects/ und behandeln alle Objekte nach demselben Muster: Eigenschaften als Schlüssel-Wert-Paare, Assoziationen als Verknüpfung zwischen Objekten. Jeder Objekttyp hat eine feste Kennung — für Kontakte etwa 0-1. Eigene Objekttypen sind ergänzbar. zweck: datenmodell im crm d-03formulare ### Der Formular-Endpunkt Absendungen nimmt ein eigener Endpunkt unter api.hsforms.com entgegen, adressiert über Portal-ID und Formular-ID. Die abgesicherte Variante unter /submissions/v3/integration/secure/submit/ verlangt ein Token mit dem Scope forms — genau die, die der Server nutzt. Daneben existiert eine Variante ohne Authentifizierung. zweck: absendung übergeben d-04nutzlast ### Was mitgeschickt wird Der Rumpf trägt drei Teile: fields mit Objekttyp, Name und Wert je Feld, context mit hutk, pageUri und pageName für die Herkunft, und legalConsentOptions für die Einwilligungsangaben samt gezeigtem Text. Ein mitgegebener Zeitstempel darf nicht älter als einen Monat sein. zweck: felder & herkunft d-05grenzen ### Rate Limits Privat verteilte Apps dürfen laut Dokumentation je App 100 Anfragen pro zehn Sekunden stellen (Free und Starter), 190 bei Professional und Enterprise, 250 mit gebuchter Limit-Erhöhung. Das Tageslimit gilt je Account: 250.000, 625.000 oder 1.000.000. Bei Überschreitung antwortet HubSpot mit Status 429 und nennt die gegriffene Regel. zweck: last planen d-06versionen ### Versionierung HubSpot stellt die API von Nummern wie v3 und v4 auf datumsbasierte Versionen um. Neue Versionen erscheinen im Halbjahrestakt im März und September; jede wird 18 Monate unterstützt — sechs Monate aktiv gepflegt, danach zwölf Monate nur noch mit kritischen Korrekturen. Das macht Wartungsfenster planbar. zweck: planbare wartung ### Was auf der Website daraus entsteht Aus der Anbindung wird kein Schnittstellen-Diagramm, sondern eine Website. Sichtbar ist am Ende ein **Formular, das zur Seite gehört** — in Typografie, Farben und Abständen des Auftritts, mit Beschriftungen über den Feldern, Fehlertexten direkt am Feld und einer Bedienung, die auch ohne Maus funktioniert. Nach dem Absenden führt der Weg auf eine eigene Danke-Seite, die sich zählen und auswerten lässt. Dahinter liegt die **Übergabe**. Eine Newsletter-Anmeldung wird ein Kontakt, eine Angebotsanfrage kann zusätzlich einen Deal erzeugen, der mit Kontakt und Firma verknüpft wird. Welche Felder gefüllt werden und welcher Anwendungsfall welches Objekt erzeugt, steht im Mapping — nicht im Code eines Einzelnen. Mehrere Formulare auf einer Website teilen sich dabei denselben Proxy und dieselbe Fehlerbehandlung, statt jedes für sich gebaut zu werden. Und darunter läuft der **Betrieb**. Ein Token läuft irgendwann ab oder wird getauscht, ein Scope fehlt, ein Feldname ändert sich im CRM: Solche Dinge fallen nur auf, wenn jemand hinsieht. Deshalb protokollieren wir jede Übergabe mit Ergebnis, melden Häufungen von Fehlern und prüfen die Anbindung nach Änderungen am CRM gegen. Die buchbare Leistung dahinter beschreibt siteway unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). auf der website - ▸Formular im **Seitendesign** - ▸Fehlertexte **am Feld** - ▸Eigene **Danke-Seite** - ▸Ein **Proxy** für alle Formulare - ▸Kontakt, Firma & **Deal verknüpft** - ▸Übergaben **protokolliert** integration ## HubSpot in deine Website integrieren drei systeme · **ein muster** Die HubSpot-Integration bauen wir in jedem System selbst — mit den Bordmitteln, die das CMS dafür mitbringt. Die Kette ist überall dieselbe, und sie teilt sich sauber in zwei Hälften. Im **CMS** liegt alles, was sichtbar und pflegbar sein muss: das Formular als Inhaltselement, das die Redaktion auf einer Seite platziert, die Feldbeschriftungen, der Einwilligungstext, die Danke-Seite und die Zuordnung, welches Formular auf welches Ziel im CRM geht. Das ist Redaktionsarbeit und gehört ins Backend, nicht in eine Codezeile. **Serverseitig** läuft der Rest: eine eigene Route im System nimmt die Absendung entgegen, validiert vollständig, löst das einmalige Kennzeichen gegen Doppelabsendungen ein, holt das Access Token aus der Konfiguration und stellt die Anfrage an HubSpot. Der Datenfluss setzt damit genau an einer Stelle an — zwischen dem abgeschickten Formular und dem Aufruf der API. Wo etwas regelmäßig laufen muss, etwa ein Nachlauf für zwischengespeicherte Absendungen, hängt das im Zeitplaner des jeweiligen Systems. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wie die Bauteile heißen. cms-01typo3 ### HubSpot in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler und Fluid alles mit, was die Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Formularfelder und die Zuordnung zum Ziel im CRM. Die Absendung nimmt eine eigene Route mit passender Middleware entgegen, validiert serverseitig und ruft HubSpot auf; ein Scheduler-Task holt nach, was bei einer Störung liegen geblieben ist. Gerendert wird über Fluid-Templates, damit das Formular im Seiten-Layout sitzt statt daneben. Die Zugangsdaten stehen in der Extension-Konfiguration, nicht im Template. Die Redaktion platziert das Formular als Content-Element und pflegt Beschriftungen und Einwilligungstext im Backend. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### HubSpot in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Eine eigene REST-Route nimmt die Absendung entgegen, prüft das Kennzeichen gegen Doppelabsendungen, validiert die Felder und ruft HubSpot serverseitig auf; der Schlüssel liegt als Konstante in der wp-config.php oder als Umgebungsvariable und nie im Frontend. Ein geplanter Lauf holt zwischengespeicherte Absendungen nach. Fürs Frontend kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion das Formular dort platziert, wo es hingehört, und Beschriftungen sowie Danke-Seite selbst pflegt. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### HubSpot in Statamic Statamic läuft auf Laravel — und genau dieser Unterbau trägt die Anbindung. Ein Blueprint beschreibt das Datenmodell des Formulars, Route und Controller nehmen die Absendung entgegen, Laravels Validierung prüft die Felder, und der Aufruf an HubSpot geht über den HTTP-Client des Frameworks. Wo etwas regelmäßig laufen muss, schreiben wir einen eigenen Artisan-Command und hängen ihn in den Scheduler. Das Access Token steht in der .env, Antlers oder Blade rendern das Formular im Seiten-Layout. Im Control Panel pflegt die Redaktion Beschriftungen, Einwilligungstext und Ziel-Zuordnung. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Datenschutz bei der Anbindung personenbezogen — **also mit sorgfalt** Was durch diese Schnittstelle läuft, ist fast immer personenbezogen: Name, E-Mail-Adresse, Telefonnummer, Firma, dazu der Inhalt einer Anfrage. Damit gelten dieselben Regeln wie für jedes andere Formular auf der Website — nur mit einem zusätzlichen Empfänger. Drei Punkte klären wir vor dem Bauen. ds-01rechtsgrundlage ### Einwilligung und Zweck Kontaktaufnahme und Werbung sind zwei verschiedene Zwecke und brauchen zwei verschiedene Antworten. Für Newsletter und Werbestrecken ist die Einwilligung nötig — als eigene, nicht vorbelegte Angabe. Der Formular-Endpunkt sieht dafür ein Feld vor, das den gezeigten Text und die gewählten Kommunikationsarten mitschickt, sodass die Einwilligung im CRM belegt ist. beleg: text & zeitpunkt ds-02datensparsamkeit ### Nur, was gebraucht wird Jedes Feld im Formular braucht einen Grund. Der Proxy setzt das durch: Er kennt die Liste erlaubter Felder und schickt nichts, was nicht darauf steht — auch dann nicht, wenn jemand dem Formular unterwegs etwas hinzufügt. Dazu gehören klare Löschfristen und die Frage, welche Daten überhaupt das Haus verlassen müssen und welche im eigenen Postfach genügen. regel: liste statt zufall ds-03verträge ### Auftragsverarbeitung HubSpot verarbeitet die Daten im Auftrag des Kunden und stellt dafür einen Vertrag zur Auftragsverarbeitung bereit. Der gehört abgeschlossen und ins Verzeichnis der Verarbeitungstätigkeiten, genau wie beim Hoster. In die Datenschutzerklärung gehört, welche Daten an HubSpot gehen, zu welchem Zweck und auf welcher Grundlage — in verständlichen Sätzen. pflicht: avv & verzeichnis ### Wo der Code läuft, ist eine Datenschutzfrage Der Unterschied zwischen den beiden Wegen ist nicht nur technisch. Beim eingebetteten Formular lädt der Browser des Besuchers Code von einem fremden Server und stellt dabei selbst eine Verbindung dorthin her; Cookies können gesetzt werden. Dafür braucht es die **vorherige Einwilligung** — und einen Consent-Dialog, der ohne sie wirklich nichts lädt. Beim serverseitigen Weg passiert das nicht. Der Browser spricht nur mit dem Server der Website; für die reine Übergabe der Formulardaten **läuft kein Fremdcode im Browser des Besuchers**. Das ersetzt keine Rechtsgrundlage für die Verarbeitung selbst — die braucht es weiterhin. Es reduziert aber die Zahl der Beteiligten, die überhaupt etwas mitbekommen, bevor jemand auf Absenden geklickt hat. Wer zusätzlich die Herkunft eines Leads im CRM sehen will, braucht das Tracking-Skript — und damit wieder die Einwilligung. Auch das lässt sich sauber bauen: Das Formular funktioniert in jedem Fall, der Herkunftswert wird nur dann mitgeschickt, wenn er vorliegen darf. Wie wir Websites grundsätzlich ausliefern — lokale Schriften, lokale Assets, keine stillen Verbindungen nach draußen — steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). vor dem livegang - ▸Zwecke **getrennt** abfragen - ▸Feldliste im **Proxy** festgezurrt - ▸Token nur **auf dem Server** - ▸Übertragung **per TLS** - ▸AVV geschlossen, **Verzeichnis gepflegt** - ▸Datenschutzerklärung **ergänzt** faq ## Häufige Fragen ### Was ist HubSpot? HubSpot ist eine cloudbasierte CRM-Plattform der HubSpot, Inc. Um einen gemeinsamen Datenbestand aus Kontakten, Firmen, Deals und Tickets gruppieren sich Bereiche für Marketing, Vertrieb, Service, Content und Daten — bei HubSpot Hubs genannt, etwa Marketing Hub, Sales Hub und Service Hub. Unternehmen sammeln damit Anfragen, qualifizieren Kontakte, fahren E-Mail-Strecken und organisieren den Vertrieb entlang von Deals. Für eine Website zählen davon zwei Berührungspunkte: die eingebetteten Formulare samt Tracking-Skript und die öffentlich dokumentierte REST-API. ### Wie kommen Daten von der Website nach HubSpot? Über zwei Wege. Der eingebettete Weg lädt ein Skript von HubSpot in die Seite, das das Formular im Browser des Besuchers aufbaut und die Absendung an HubSpot schickt; eingerichtet wird er über die Portal-ID und die Formular-ID. Der API-Weg liefert ein eigenes Formular im Design der Website aus und schickt die Eingaben an einen Endpunkt auf dem eigenen Server, der sie serverseitig an HubSpot weiterreicht. Beide Wege enden im selben CRM. Sie unterscheiden sich darin, wo der Code läuft, wer die Gestaltung bestimmt und wessen Server die Daten zuerst sieht. siteway baut den zweiten Weg. ### Wie funktioniert die HubSpot-API? HubSpot dokumentiert seine REST-API öffentlich unter developers.hubspot.com. Authentifiziert wird mit einem Access Token, das im Authorization-Header als Bearer mitgeht — entweder als Token einer Private App für einen einzelnen Account oder über OAuth, wenn dieselbe Anbindung in mehreren HubSpot-Accounts laufen soll. Jede App bekommt Scopes, die festlegen, worauf sie zugreifen darf. CRM-Objekte wie Kontakte, Firmen und Deals liegen unter Pfaden der Form /crm/objects/, Formular-Absendungen nimmt ein eigener Endpunkt unter api.hsforms.com entgegen. Die Versionierung stellt HubSpot dabei von v3 und v4 auf datumsbasierte Versionen um, die im Halbjahrestakt erscheinen und jeweils 18 Monate unterstützt werden. ### Wann passt das eingebettete Formular und wann die API? Das eingebettete Formular ist schnell eingerichtet und braucht auf der Seite kaum mehr als einen Container: Aufbau, Feldlogik und Absendung übernimmt HubSpot. Dafür lädt Fremdcode im Browser des Besuchers, die Gestaltung folgt den Möglichkeiten des Anbieters, und für dieses Laden muss die Einwilligung vorher vorliegen. Der API-Weg passt, wenn das Formular Teil des Seitendesigns sein soll, wenn Validierung, Fehlermeldungen und Barrierefreiheit in der eigenen Hand bleiben und wenn der Server der Website entscheidet, welche Felder überhaupt hinausgehen. Kombinieren lässt sich beides: das eigene Formular über die API, das Tracking-Skript von HubSpot nur nach Einwilligung. ### Welche Grenzen setzt HubSpot der API? HubSpot dokumentiert seine Rate Limits. Für privat verteilte Apps nennt die Dokumentation je App ein Burst-Limit von 100 Anfragen pro zehn Sekunden bei Free und Starter und 190 bei Professional und Enterprise, mit gebuchter Limit-Erhöhung 250. Das Tageslimit gilt je Account und liegt bei 250.000, 625.000 beziehungsweise 1.000.000 Anfragen; es teilen sich alle Apps eines Accounts. Wird ein Limit überschritten, antwortet HubSpot mit dem Status 429 und nennt im Fehlerobjekt, welche Regel gegriffen hat. Antwort-Header wie X-HubSpot-RateLimit-Remaining zeigen den verbleibenden Rest. Für eine Website mit Formularen wird das selten eng — trotzdem behandeln wir die API als knappe Ressource: bündeln, zwischenspeichern, nur nachladen, was sich geändert hat. ### Braucht ein HubSpot-Formular auf der Website eine Einwilligung? Zwei Dinge sind auseinanderzuhalten. Das Laden von Fremdcode und das Setzen von Cookies im Browser des Besuchers — also eingebettetes Formular und Tracking-Skript — braucht die vorherige Einwilligung, weil dabei auf das Endgerät zugegriffen wird. Die Verarbeitung der eingegebenen Daten braucht eine eigene Rechtsgrundlage: Für die Beantwortung einer Anfrage trägt in der Regel der Kontakt selbst, für Newsletter und Werbestrecken ist es die Einwilligung. Der Formular-Endpunkt von HubSpot sieht dafür ein Feld für die Einwilligungsangaben vor, in dem der gezeigte Text und die gewählten Kommunikationsarten mitgeschickt werden. Beim serverseitigen Weg läuft für die reine Übergabe kein Fremdcode im Browser des Besuchers. ### Landen Anfragen als Kontakt oder als Deal im CRM? Das entscheidet der Anwendungsfall, und es wird vor dem Bauen festgelegt. Eine Newsletter-Anmeldung oder ein Whitepaper-Download wird ein Kontakt. Eine Angebotsanfrage kann zusätzlich einen Deal erzeugen, der mit diesem Kontakt und der Firma verknüpft wird — HubSpot kennt dafür eigene Objekte und Assoziationen zwischen ihnen. Damit keine Dubletten entstehen, dient die E-Mail-Adresse als Erkennungsmerkmal: Ein vorhandener Kontakt wird aktualisiert statt neu angelegt. Welche Felder dabei überhaupt gefüllt werden, steht vorher im Mapping. ### Lässt sich HubSpot in WordPress oder TYPO3 integrieren? Ja — und in Statamic ebenso. Die Anbindung bauen wir in jedem der drei Systeme selbst, mit dessen eigenen Bordmitteln; die dokumentierte REST-API von HubSpot macht das sauber umsetzbar. In WordPress entsteht ein eigenes Plugin statt Theme-Code: Eine eigene REST-Route nimmt die Absendung entgegen, der Aufruf an HubSpot läuft serverseitig, der Schlüssel liegt als Konstante in der wp-config.php oder als Umgebungsvariable, Template-Dateien und Blocks bringen das Formular ins Frontend. In TYPO3 bauen wir eine eigene Extension: Das TCA beschreibt das Datenmodell, eine eigene Route mit Middleware nimmt die Absendung entgegen, wiederkehrende Läufe hängen im Scheduler, gerendert wird über Fluid, die Zugangsdaten stehen in der Extension-Konfiguration. In Statamic liegt Laravel darunter: Route und Controller für die Absendung, ein Artisan-Command im Scheduler, wo etwas regelmäßig laufen muss, ein Blueprint als Datenmodell, der Schlüssel in der .env, Antlers oder Blade im Frontend. Die Integration ist damit Teil unserer Leistung — vom Formular bis zur Übergabe. womit das zusammenhängt ## Womit das zusammenhängt systeme, komponenten & **leistung** - [Salesforce.](https://www.siteway.de/stack/salesforce/) — Das CRM für größere Vertriebsorganisationen — anderes Modell, dieselbe Frage: Welche Felder gehen von der Website ins System und welche nicht? zur technik → - [Pipedrive.](https://www.siteway.de/stack/pipedrive/) — Das schlanke Vertriebs-CRM entlang der Pipeline und wie eine Anfrage von der Website dort als Lead oder Deal ankommt. zur technik → - [Mailchimp.](https://www.siteway.de/stack/mailchimp/) — Wenn es nur um Newsletter geht: Anmeldung über ein eigenes Formular, Double-Opt-in und die Übergabe an die Liste. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Security Header, TLS und trackingfreie Auslieferung — die Grundlage, auf der eine Formular-Anbindung überhaupt steht. zur technik → - [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) — Whitepaper oder Checkliste gegen E-Mail: die Formular-Komponente, die auf dieser Schnittstelle aufsetzt. zur komponente → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Leads von deiner Website direkt nach HubSpot? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Instagram API Der **Instagram-Feed auf der eigenen Website** ist einer der meistgewünschten Bausteine — und einer der wenigen, bei denen der übliche Weg der schlechteste ist. Ein eingebettetes Widget bringt Fremdcode in die Seite und überträgt Besucherdaten. siteway holt die Beiträge stattdessen **serverseitig ab und rendert sie selbst**. Diese Seite beschreibt die Schnittstelle dahinter: was sie liefert, was der Zugang kostet an Betrieb, und wie der Feed ins CMS kommt. stack dienst: instagram platform abruf: serverseitig · geplant frontend: eigener feed seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Instagram einbinden](#einsatz) definition ## Was ist die Instagram-API? **Die Instagram Platform ist die Entwicklerschnittstelle, über die sich die Beiträge eines Instagram-Kontos programmatisch auslesen lassen.** Kein Widget, kein Baukasten, keine Darstellung — eine Datenquelle. Sie antwortet auf eine Anfrage mit einer Liste von Beiträgen, und was daraus auf einer Website entsteht, entscheidet die Website. Zu einem einzelnen Beitrag sind laut Dokumentation unter anderem eine Kennung, die Bildunterschrift, der Medientyp, die Medien-URL, bei Videos ein Vorschaubild, der Permalink zum Original, ein Zeitstempel, der Benutzername und ein Alternativtext verfügbar. Als Medientyp nennt die Dokumentation IMAGE, VIDEO und CAROUSEL_ALBUM — ein Album besteht also aus mehreren Einzelmedien, die getrennt abgeholt werden, wenn mehr als das erste Bild erscheinen soll. Der Zugang ist an Bedingungen geknüpft: Die Schnittstelle richtet sich an Instagram-Konten von **Unternehmen und Creatorn**, nicht an private Profile. Dazu kommen eine App im Entwicklerbereich und ein Zugriffstoken. Wie daraus ein Bereich auf der Website wird, beschreiben die Komponenten [Social Media Newsroom](https://www.siteway.de/expertise/social-media-newsroom/) und [Portfolio & Media Galerie](https://www.siteway.de/expertise/portfolio-media-galerie/). Hier geht es um die Schnittstelle darunter. Die Facebook-Ebene desselben Hauses steht unter [Meta](https://www.siteway.de/stack/meta/). $ cat instagram.md - ✓Beiträge eigenes konto - ✓Bildunterschrift caption - ✓Medientyp image · video · album - ✓Permalink link zum original - ✓Zeitstempel timestamp - ✓Zugriffstoken läuft ab praxis ## Wie wir Instagram einbinden abruf auf dem **server** Die erste Entscheidung fällt vor dem Design: **Der Abruf läuft auf dem Server, nicht im Browser.** Ein geplanter Lauf spricht die Schnittstelle in ruhigem Takt an, holt die letzten Beiträge und schreibt sie weg. Der Browser des Besuchers sieht davon nichts — er bekommt fertiges HTML von der eigenen Domain, so wie bei jedem anderen Inhalt der Seite auch. Die zweite Entscheidung betrifft die **Bilder**. Sie werden nicht verlinkt, sondern **heruntergeladen** und in der Dateiverwaltung des [CMS](https://www.siteway.de/stack/cms-redaktion/) abgelegt. Von dort aus laufen sie durch dieselbe Bildpipeline wie alle anderen Motive: mehrere Größen, [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/), feste Seitenverhältnisse, verzögertes Laden. Ein Instagram-Bild in Originalgröße wäre für eine Kachel im Raster deutlich zu groß — nach der Pipeline ist es das nicht mehr. Die dritte Entscheidung ist die **Datenhaltung**. Beiträge werden Datensätze im CMS — Bild, Bildunterschrift, Zeitstempel, Permalink, Medientyp. Damit sind sie sichtbar, durchsuchbar und im Zweifel korrigierbar: Ein Beitrag lässt sich ausblenden, eine Bildunterschrift kürzen, ein Alternativtext ergänzen, wenn die Schnittstelle keinen mitliefert. Und weil die Daten liegen, statt bei jedem Aufruf geholt zu werden, **bleibt der Feed sichtbar, wenn die Schnittstelle nicht antwortet**. Der **Zugriffstoken** bleibt dabei auf dem Server. Er steht in der Konfiguration des Systems oder in einer Umgebungsvariablen, nie im Template und nie im Quelltext der Seite. Weil er eine begrenzte Gültigkeit hat, gehört seine Erneuerung in den Betrieb — automatisiert, mit Log und Meldung, wenn ein Lauf fehlschlägt. Und schließlich das Frontend: **eigenes Markup, eigenes Design**. Der Feed sieht aus wie die Website und nicht wie ein Fremdkörper, die Kacheln haben feste Seitenverhältnisse, die Bildunterschrift ist echter Text, und der Permalink führt zum Original. Wie derselbe Mechanismus für mehrere Kanäle gleichzeitig aussieht, steht bei der Komponente [Social Media Newsroom](https://www.siteway.de/expertise/social-media-newsroom/). unsere leitplanken - 01Abruf **serverseitig**, geplant - 02Bilder **herunterladen**, nicht verlinken - 03Beiträge liegen **im CMS** - 04Token **serverseitig** und erneuert - 05Frontend rendert **eigenen Feed** - 06Kein **Instagram-Code im Browser** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation zur Instagram-Plattform — Feldnamen und Zugangsbedingungen im Original. Versionsnummern und Kontingente ändern sich und stehen deshalb nicht auf dieser Seite; sie gehören in die Umsetzung eines konkreten Projekts, nicht in eine Technikbeschreibung. d-01beiträge ### Beiträge abrufen Die Schnittstelle gibt die Medien des eigenen Kontos zurück. Dokumentiert sind unter anderem Kennung, Bildunterschrift, Medien-URL, Permalink, Zeitstempel und Benutzername. Genug für einen vollständigen Feed — Bild, Text, Datum, Link zum Original. zweck: datenquelle d-02medientypen ### Bild, Video, Album Als Medientyp nennt die Dokumentation IMAGE, VIDEO und CAROUSEL_ALBUM; zu Videos kommt ein Vorschaubild. Für die Darstellung heißt das drei Fälle statt einem — ein Album besteht aus mehreren Einzelmedien und braucht einen eigenen Abruf. zweck: darstellung d-03zugang ### Konto und App Voraussetzung ist ein Instagram-Konto vom Typ Unternehmen oder Creator — private Profile bleiben außen vor. Dazu kommt eine App im Entwicklerbereich, über die der Zugriff läuft. Diesen Teil richten wir gemeinsam mit dem Kunden ein, weil die Konten ihm gehören. zweck: voraussetzung d-04token ### Zugriffstoken Die Dokumentation unterscheidet kurzlebige und langlebige Token; beide haben eine begrenzte Gültigkeit, der langlebige muss vor Ablauf verlängert werden. Das Token liegt bei uns serverseitig in der Konfiguration — nie im Template, nie im Quelltext der Seite. zweck: authentifizierung d-05bilder ### Bilder übernehmen Der Abruf lädt die Medien herunter und legt sie in der Dateiverwaltung ab. Danach gilt für sie dieselbe Pipeline wie für jedes andere Motiv: mehrere Größen, moderne Formate, festes Seitenverhältnis, verzögertes Laden — ausgeliefert von der eigenen Domain. zweck: eigene kopie d-06betrieb ### Ausfall und Betrieb Antwortet die Schnittstelle nicht, bleibt der letzte Stand stehen — die Seite hat keine Lücke. Ein fehlgeschlagener Lauf landet im Log und meldet sich. Ein leerer Feed ist fast immer ein abgelaufenes Token, und das ist ein Betriebsthema, kein Einbaufehler. [betrieb & wartung →](https://www.siteway.de/expertise/betrieb-wartung-support/) ### Was daraus auf der Seite entsteht Aus den abgeholten Datensätzen wird ein **Raster aus Kacheln**, das zum Design der Seite gehört: gleiche Abstände, gleiche Ecken, gleiche Typografie wie überall sonst. Jede Kachel zeigt Bild, Datum und den Anfang der Bildunterschrift; ein Klick öffnet entweder eine Detailansicht auf der eigenen Seite oder den Permalink zum Beitrag auf Instagram — je nachdem, wohin die Besucher gehen sollen. Weil der Feed echtes HTML ist, ist er auch **bedienbar und lesbar**: Die Bildunterschrift ist Text und kein Bildinhalt, die Kacheln sind per Tastatur erreichbar, jedes Bild hat einen Alternativtext — den aus der Schnittstelle, wenn einer kommt, sonst einen aus der Redaktion. Mehr dazu steht unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/) im Stack. Und das Raster steht von Anfang an. Jede Kachel hat ein festes Seitenverhältnis, die Bilder werden mit Breiten- und Höhenangabe ausgeliefert, nichts rutscht nach. Warum das mehr als Kosmetik ist, steht unter [Performance](https://www.siteway.de/stack/performance/) im Stack — und wie derselbe Umgang mit vielen Bildern als eigener Baustein aussieht, bei der [Portfolio & Media Galerie](https://www.siteway.de/expertise/portfolio-media-galerie/). auf der website - ▸Kachelraster im **eigenen Design** - ▸Bildunterschrift als **echter Text** - ▸Permalink zum **Original-Beitrag** - ▸Bilder in **AVIF & WebP** - ▸Alternativtexte **je Beitrag** - ▸Festes Raster ohne **Layout-Sprung** integration ## Instagram in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er beginnt mit einer Regel: **Die Beiträge werden serverseitig abgeholt, die Bilder heruntergeladen und im CMS abgelegt.** Ein geplanter Lauf spricht die Schnittstelle an, schreibt Bildunterschrift, Zeitstempel, Medientyp und Permalink in Datensätze und legt die Medien in der Dateiverwaltung ab. Das Frontend rendert daraus einen **eigenen Feed** — eigenes Markup, eigenes Design. Damit lädt **kein Instagram-Code im Browser** des Besuchers, und die Bilder kommen in modernen Formaten wie [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/) von der eigenen Domain statt in Originalgröße von fremder Stelle. Der zweite Teil der Regel betrifft den Betrieb. Der **Zugriffstoken bleibt serverseitig** — in der Konfiguration des Systems oder in einer Umgebungsvariablen, nie im Template. Weil er eine begrenzte Gültigkeit hat, gehört seine Erneuerung in denselben automatisierten Lauf wie der Abruf. Und weil die Beiträge im CMS liegen, **bleibt der Feed sichtbar, wenn die Schnittstelle einmal nicht antwortet**: Die Seite zeigt den letzten Stand, statt eine Lücke zu hinterlassen. Was sich zwischen den Systemen unterscheidet, sind nur die Bordmittel, mit denen wir das bauen. cms-01typo3 ### Instagram in TYPO3 Wir bauen die Anbindung als eigene Extension. Der Abruf läuft als Scheduler-Task: Er spricht die Schnittstelle an, legt neue Beiträge als Records mit eigenem TCA an — Bildunterschrift, Zeitstempel, Medientyp, Permalink — und lädt die Bilder in die Dateiverwaltung, wo sie als reguläre Dateireferenzen an den Records hängen und durch die übliche Bildverarbeitung laufen. Der Zugriffstoken steht in der Extension-Konfiguration statt im Template, seine Erneuerung hängt am selben Task. Im Frontend rendert ein Fluid-Template das Kachelraster; ein Content-Element setzt die Redaktion auf jede Seite, die den Feed zeigen soll. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Instagram in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den Theme-Wechsel. Die Beiträge werden ein Custom Post Type mit Meta-Feldern für Permalink, Medientyp und Zeitstempel, die Bildunterschrift landet im Inhalt. Ein geplanter Lauf holt neue Beiträge ab, lädt die Medien in die Mediathek und hängt sie als Beitragsbild an, sodass die Größenvarianten automatisch entstehen. Der Zugriffstoken steht in der wp-config.php oder in einer Umgebungsvariablen. Fürs Frontend kommen ein Block für den Editor und Template-Teile dazu, die das Raster ausgeben. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Instagram in Statamic Statamic läuft auf Laravel, und das macht diesen Teil angenehm gerade. Wir schreiben einen Artisan-Command für den Abruf, den der Laravel-Scheduler regelmäßig aufruft und der auch von Hand nachlaufen kann. Er legt die Beiträge als Entries in einer eigenen Collection an — beschrieben über einen Blueprint mit Feldern für Bildunterschrift, Zeitstempel, Medientyp und Permalink — und speichert die Bilder in einem Assets-Container, aus dem die Größenvarianten erzeugt werden. Der Zugriffstoken steht in der .env und wird über die Konfiguration gelesen. Antlers oder Blade rendern das Raster, Static Caching liefert es aus. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Der Feed ohne Fremdcode im Browser technik, nicht **rechtsberatung** Der technische Sachverhalt ist schnell beschrieben: **Ein eingebettetes Instagram-Widget lädt Skript, Schriften und Bilder von fremden Servern.** Damit diese Auslieferung überhaupt funktionieren kann, geht die IP-Adresse des Besuchers dorthin; in der Regel kommen Cookies und Wiedererkennungsmerkmale dazu. Das ist keine Eigenheit von Instagram, sondern gilt für jede Ressource, die von fremder Stelle geladen wird — der Unterschied liegt darin, ob das ungefragt beim Seitenaufruf passiert. Bei einer Website, die wir **trackingfrei bauen**, wäre ein automatisch mitladender Feed der einzige Fremdaufruf im Dokument — und damit die Ausnahme von der eigenen Regel. Deshalb ist der **serverseitige Abruf** bei siteway der Standardweg: Die Beiträge liegen als eigene Kopien im CMS, die Bilder kommen von der eigenen Domain, und beim Seitenaufruf fließen keine Besucherdaten an Instagram. Wer eine echte Einbettung braucht — etwa weil ein einzelner Beitrag im Original erscheinen soll —, bekommt sie hinter einer **Einwilligung**, mit beschriftetem Schalter und einem Platzhalter davor. Dazu gehört ein zweiter Punkt, der oft übersehen wird: die **Rechte an den Bildern**. Ein Feed, wie wir ihn bauen, zeigt die Beiträge des eigenen Kontos — an denen hat der Betreiber die Rechte in der Regel selbst. Sobald fremde Beiträge dazukommen, etwa Gästefotos unter einem Hashtag, ist das eine andere Frage: Fremde Bilder zu vervielfältigen setzt eine Erlaubnis voraus, und abgebildete Personen haben eigene Rechte am Bild. Die Schnittstelle kennt diesen Unterschied nicht — deshalb bauen wir bei kuratierten Feeds eine Freigabe im CMS ein, damit nichts ungeprüft erscheint. Wir beschreiben hier die Technik und ihre Umsetzung — die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen. Was wir liefern, ist die Grundlage dafür: eine Umsetzung, die zeigt, wann welche Daten fließen, und eine Dokumentation dazu. Wie das im Zusammenhang der ganzen Website aussieht, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wer den Bestand einer vorhandenen Seite geprüft haben will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). ablauf auf der seite - 01Server holt Beiträge — **geplant** - 02Bilder landen **im CMS** - 03Seitenaufruf: **kein Fremdcode** - 04Bilder von der **eigenen Domain** - 05Einbettung nur **nach Einwilligung** - 06Dokumentation als **Textbaustein** [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist die Instagram-API? Die Instagram Platform ist die Entwicklerschnittstelle, über die sich die Beiträge eines Instagram-Kontos programmatisch auslesen lassen — also ohne dass jemand sie von Hand in die Website kopiert. Sie richtet sich laut Dokumentation an Instagram-Konten von Unternehmen und Creatorn, nicht an private Profile. Zu einem Beitrag liefert sie unter anderem die Bildunterschrift, den Medientyp, die Medien-URL, bei Videos ein Vorschaubild, den Permalink zum Original, einen Zeitstempel und einen Alternativtext. Mehr steckt nicht dahinter: Es ist eine Datenquelle, kein fertiger Baustein. Was daraus auf der Seite entsteht, entscheidet die Website. ### Wie binde ich einen Instagram-Feed in die eigene Website ein? Der Weg, den wir gehen, läuft in drei Schritten. Erstens holt ein geplanter Lauf auf dem Server die letzten Beiträge über die Schnittstelle ab. Zweitens lädt derselbe Lauf die Bilder herunter und legt sie in der Dateiverwaltung des CMS ab, zusammen mit Bildunterschrift, Zeitstempel und Permalink als ganz normale Datensätze. Drittens rendert das Frontend daraus einen eigenen Feed — eigenes Markup, eigenes Design, eigene Bildgrößen. Der Browser des Besuchers spricht dabei nie mit Instagram. Der Unterschied zum eingebetteten Widget ist damit nicht kosmetisch, sondern grundsätzlich: Die Website zeigt eigene Kopien statt fremder Einbettungen. ### Ist ein Instagram-Feed auf der Website datenschutzkonform? Das hängt daran, wie er gebaut ist. Ein eingebettetes Instagram-Widget lädt Skript, Schriften und Bilder von fremden Servern; damit diese Auslieferung überhaupt funktionieren kann, geht die IP-Adresse des Besuchers dorthin, und in der Regel kommen Cookies und Wiedererkennungsmerkmale dazu. Bei einer trackingfrei gebauten Website ist das der einzige Fremdaufruf im Dokument — und damit die Ausnahme von der eigenen Regel. Deshalb holen wir die Beiträge serverseitig und rendern sie selbst: Dann fließen beim Seitenaufruf keine Besucherdaten an Instagram. Wer trotzdem eine echte Einbettung will, bekommt sie hinter einer Einwilligung. Die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen; wir liefern die technische Umsetzung und die Dokumentation dazu. ### Warum ist ein Instagram-Feed irgendwann leer? Weil der Zugriffstoken abgelaufen ist. Die Instagram-Dokumentation unterscheidet kurzlebige und langlebige Token; beide haben eine begrenzte Gültigkeit, und der langlebige muss vor seinem Ablauf verlängert werden. Passiert das nicht, antwortet die Schnittstelle irgendwann mit einem Fehler statt mit Beiträgen — und ein Feed, der sich nur auf den Live-Abruf verlässt, ist von einem Tag auf den anderen leer. Wir behandeln das als Betriebsthema, nicht als Einmalaufgabe: Die Erneuerung läuft automatisiert, der Abruf schreibt in ein Log, ein fehlgeschlagener Lauf meldet sich, und weil die Beiträge im CMS liegen, bleibt der Feed sichtbar, bis das Token wieder stimmt. Genau dafür gibt es Betrieb, Wartung und Support. ### Welche Daten liefert die Schnittstelle zu einem Beitrag? Dokumentiert sind unter anderem eine Kennung, die Bildunterschrift, der Medientyp, die Medien-URL, bei Videos ein Vorschaubild, der Permalink zum Beitrag auf Instagram, ein Zeitstempel, der Benutzername und ein Alternativtext. Als Medientyp nennt die Dokumentation IMAGE, VIDEO und CAROUSEL_ALBUM — ein Album besteht also aus mehreren Einzelmedien, die getrennt abgeholt werden müssen, wenn mehr als das erste Bild gezeigt werden soll. Aus diesen Feldern lässt sich ein vollständiger Feed bauen: Bild, Text, Datum und ein Link zum Original. Was die Schnittstelle nicht liefert, erfinden wir nicht dazu. ### Darf ich fremde Instagram-Beiträge auf meiner Website zeigen? Ein Feed, wie wir ihn bauen, zeigt die Beiträge des eigenen Kontos — an denen hat der Betreiber die Rechte in der Regel selbst. Sobald fremde Beiträge dazukommen, etwa Bilder von Gästen, Kundinnen oder Kooperationen unter einem Hashtag, ist das eine andere Frage: Fremde Fotos zu vervielfältigen setzt eine Erlaubnis voraus, und abgebildete Personen haben eigene Rechte am Bild. Wir sagen das offen, weil die Technik den Unterschied nicht kennt — für die Schnittstelle sieht beides gleich aus. Deshalb bauen wir bei kuratierten Feeds eine Freigabe im CMS ein, damit nichts ungeprüft erscheint. Eine Rechtsberatung ist das nicht; die gehört in fachkundige Hände. ### Bremst ein Instagram-Feed die Ladezeit der Seite? Ein eingebettetes Widget schon: Es bringt fremdes JavaScript, eigene Schriften und Bilder in Originalgröße mit, arbeitet im Hauptthread und baut sich erst nach dem Laden auf, wodurch das Layout nachträglich verspringen kann. Ein selbst gerenderter Feed hat davon nichts. Die Bilder liegen als AVIF und WebP in mehreren Größen auf der eigenen Domain, werden mit festen Seitenverhältnissen ausgeliefert und laden verzögert, sobald sie in die Nähe des sichtbaren Bereichs kommen. Das Markup ist Teil der Seite und braucht kein zusätzliches Skript. Der Feed kostet damit ungefähr so viel wie eine Bildergalerie — und nicht so viel wie eine fremde Anwendung in der Seite. ### Lässt sich der Instagram-Feed in TYPO3, WordPress oder Statamic einbinden? Ja, in allen drei Systemen — und wir bauen die Einbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: der Abruf als Scheduler-Task, die Beiträge als Records, die Bilder in der Dateiverwaltung, der Zugriffstoken in der Extension-Konfiguration, im Frontend ein Fluid-Template. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type für die Beiträge, ein geplanter Lauf für den Abruf, die Bilder in der Mediathek, das Token in der wp-config.php oder in einer Umgebungsvariablen. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler, die Beiträge als Entries in einer eigenen Collection, die Bilder in einem Assets-Container, das Token in der .env. Die Mechanik ist überall dieselbe, nur die Bordmittel heißen anders. womit das zusammenhängt ## Womit das zusammenhängt baustein, technik & **grundlagen** - [Social Media Newsroom.](https://www.siteway.de/expertise/social-media-newsroom/) — Die Schnittstelle hier, der Baustein dort: mehrere Kanäle gebündelt, kuratiert und im eigenen Design als buchbare Komponente. zur komponente → - [Portfolio & Media Galerie.](https://www.siteway.de/expertise/portfolio-media-galerie/) — Viele Bilder, trotzdem schnell: Raster, Lightbox, Filter und Pflege im CMS — der Baustein für alles Visuelle. zur komponente → - [Meta.](https://www.siteway.de/stack/meta/) — Dasselbe Haus, andere Ebene: die Facebook-Seite der Schnittstelle — Seiten, Beiträge und was davon auf die Website gehört. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Fremdcode ins Spiel kommt, wird es konkret: Einwilligung, Token serverseitig, Datensparsamkeit, Dokumentation. zur technik → - [Performance.](https://www.siteway.de/stack/performance/) — Eigene Bilder in modernen Formaten, festes Raster, kein fremdes Skript — das wirkt direkt auf die Core Web Vitals. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Mapping, Umsetzung, Monitoring und Betrieb einer Anbindung — als buchbare Leistung beschrieben. zur leistung → Instagram-Feed ohne Fremdcode im Browser? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · ki-dev # KI-gestützte Entwicklung **KI-gestützte Softwareentwicklung** heißt bei siteway: GitHub Copilot, Cursor und Claude beschleunigen Code und Tests im Projektalltag. Die KI schlägt vor, der Mensch entscheidet. Und die wichtigste Regel steht am Ende jeder Änderung — **jeder Stand wird von einem Menschen geprüft, bevor er live geht.** stack tools: copilot · cursor · claude einsatz: code + tests prüfung: mensch vor go-live [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir KI einsetzen](#einsatz) definition ## Was ist KI-gestützte Entwicklung? **KI-gestützte Softwareentwicklung bedeutet, dass Entwicklerinnen und Entwickler KI-Modelle als Werkzeug im Arbeitsalltag nutzen — für Code-Vorschläge, Tests, Refactorings und Recherche.** Die KI schreibt nicht die Website allein. Sie beschleunigt einzelne Handgriffe, während Struktur, Entscheidungen und die finale Freigabe beim Menschen bleiben. Der Unterschied zwischen „mit KI arbeiten" und „der KI vertrauen" ist der ganze Punkt. Ein Vorschlag ist ein Entwurf, kein Ergebnis. Bei siteway laufen **GitHub Copilot**, **Cursor** und **Claude** — aber jeder von ihnen erzeugte Stand wird gelesen, verstanden und getestet, bevor er über [Git und die Pipeline](https://www.siteway.de/stack/deployment-betrieb/) live geht. $ cat ki-dev.md - ✓Code-Vorschläge copilot - ✓Umbauten über Dateien cursor - ✓Recherche & Architektur claude - ✓Tests & Edge-Cases - ✓Menschliches Review pflicht - ✓Freigabe vor Go-live immer mensch einsatz ## Wie wir KI im Projekt einsetzen werkzeug, kein **autopilot** Wir setzen KI dort ein, wo sie Zeit spart, ohne die Kontrolle zu kosten. Beim wiederkehrenden Teil der Arbeit: Boilerplate für ein neues Template, Testfälle für eine Funktion, das Übersetzen einer alten TYPO3-Extension auf eine neue Version, das Durchsuchen einer fremden API-Doku. Aufgaben, bei denen die Richtung klar ist und die KI den ersten Entwurf schneller tippt, als wir ihn von Hand schreiben würden. Was die KI **nicht** übernimmt: die Architektur, das Datenmodell und jede Sicherheitsentscheidung. Ob eine Lösung trägt, ob sie zu deinem Projekt passt und ob sie sicher ist, entscheiden wir — mit dem Kontext, den ein Modell nicht hat. Die KI liefert Material, die Verantwortung bleibt beim Menschen. Diesen Prozess kannst du an unseren Ergebnissen ablesen: Die [Startseite erreicht im PageSpeed-Test mobil 100/100/100/100](https://www.siteway.de/stack/performance/), der TYPO3-Relaunch für [Spelsberg läuft in 13 Sprachen](https://www.siteway.de/cases/), das Karten-Portal für Garbe arbeitet mit Mapbox und OpenStreetMap. Gebaut mit KI-Unterstützung — und mit einem Menschen, der jeden Stand vor dem Go-live geprüft hat. im projektalltag - 01**Boilerplate** & Templates schneller - 02**Tests** & Edge-Cases generieren - 03**Refactoring** & Migrationen - 04**Recherche** in fremder API-Doku Architektur, Security & Freigabe bleiben beim Menschen. werkzeuge · 3 tools ## Womit wir arbeiten jedes tool ein **einsatzort** Drei Werkzeuge, drei Aufgaben. Wir wählen nicht das lauteste Tool, sondern das, das für den konkreten Handgriff passt — und behandeln jedes als Assistenten, dessen Vorschlag wir prüfen, nicht als Quelle, der wir blind folgen. t-01editor ### GitHub Copilot Code-Vervollständigung direkt im Editor. Copilot schlägt die nächste Zeile oder Funktion vor, während wir tippen — gut für Routine, die man schon hundertmal geschrieben hat. Jeder Vorschlag wird gelesen, bevor er bleibt. einsatz: inline-completion t-02umbau ### Cursor Ein KI-Editor für größere Umbauten über mehrere Dateien: ein Muster konsequent ändern, eine Komponente umziehen, eine Migration vorbereiten. Wir geben die Richtung vor, prüfen das Diff Zeile für Zeile und committen erst, wenn es stimmt. einsatz: multi-file-refactor t-03denken ### Claude Für Recherche, Erklärungen und das Durchdenken von Architektur. Claude hilft, eine fremde API zu verstehen, Optionen abzuwägen oder einen kniffligen Fehler einzukreisen — als Sparringspartner, nicht als Entscheider. einsatz: recherche + review grenze ## Der Mensch prüft, bevor es live geht kein blind-vertrauen · **kein autopilot ins produktiv** Die meisten Ratgeber zur KI-gestützten Entwicklung zählen auf, wie viel schneller alles wird. Die unbequeme Frage bleibt außen vor: Wer haftet für den Code, den die KI geschrieben hat? Bei siteway gibt es darauf eine klare Antwort — **wir**. Deshalb durchläuft jeder KI-Vorschlag dieselbe Kontrolle wie handgeschriebener Code. Die Adoption von KI-Werkzeugen steigt schnell — trotzdem ersetzt keines davon das Review. Genau da liegt unsere Position: KI beschleunigt das Tippen, ein Mensch verantwortet das Ergebnis. Wie dieser Freigabe-Weg technisch abgesichert ist — Git, Staging, Pipeline — steht bei [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/). entwickler mit ki-tools▸ +8 pp Anteil der Entwickler, die KI-Tools nutzen oder einführen wollen. Quelle: Stack Overflow Developer Survey 2025 (Vorjahreswert aus der Survey 2024). faq ## Häufige Fragen ### Was ist KI-gestützte Softwareentwicklung? KI-gestützte Softwareentwicklung heißt: Entwicklerinnen und Entwickler nutzen KI-Modelle als Werkzeug im Arbeitsalltag — für Code-Vorschläge, Tests, Refactorings und Recherche. Die KI schlägt vor, der Mensch entscheidet. Bei siteway laufen dafür GitHub Copilot, Cursor und Claude. Wichtig ist die Grenze: Kein von der KI erzeugter Stand geht ungeprüft live. Jede Änderung wird von einem Menschen gelesen, bevor sie über Git auf Staging und dann in Produktion geht. ### Welche KI-Tools setzt ihr ein? GitHub Copilot für Code-Vervollständigung direkt im Editor, Cursor als KI-Editor für größere Umbauten über mehrere Dateien und Claude für Recherche, Erklärungen und das Durchdenken von Architektur. Welches Werkzeug wann greift, hängt von der Aufgabe ab — die Verantwortung für das Ergebnis bleibt in jedem Fall beim Menschen. ### Geht von der KI geschriebener Code ungeprüft live? Nein. Kein Stand geht ungeprüft in Produktion. Jeder Vorschlag der KI wird von einem Menschen gelesen, verstanden und getestet, bevor er über Git und die Pipeline auf Staging und danach live läuft. Die KI beschleunigt das Schreiben — sie ersetzt weder das Review noch die Verantwortung für den Code, der am Ende auf deiner Website läuft. ### Wo liegt die Grenze — was macht die KI nicht? Architektur, Datenmodell und Sicherheitsentscheidungen trifft der Mensch, nicht die KI. Die KI liefert Erstentwürfe, füllt Routine und findet Muster schneller — aber ob eine Lösung trägt, ob sie sicher ist und ob sie zu deinem Projekt passt, entscheiden wir. Genauso die finale Freigabe vor dem Go-live: die macht immer ein Mensch. ### Was ist mit Datenschutz, wenn ihr KI-Tools nutzt? Produktionsdaten, Zugangsdaten und Kundengeheimnisse gehören nicht in ein KI-Tool. Wir arbeiten mit anonymisierten Beispielen und Code, nicht mit echten Nutzerdaten. Das passt zur trackingfreien Grundhaltung von siteway: Datensparsamkeit gilt auch im eigenen Entwicklungsprozess. ### Ist KI-gestützte Entwicklung dasselbe wie KI-Funktionen auf meiner Website? Nein, das sind zwei verschiedene Dinge. KI-gestützte Entwicklung ist unsere Arbeitsweise — wie siteway mit KI-Werkzeugen deine Website baut. KI-Funktionen auf deiner Website, etwa ein Chatbot oder eine KI-Suche für deine Besucher, sind eine buchbare Leistung. Die findest du unter [KI & Automation](https://www.siteway.de/expertise/ki-automation/). Diese Seite erklärt, wie wir arbeiten, nicht, welches Feature du bekommst. ### Wird der Code durch KI schlechter oder schwerer wartbar? Nur, wenn niemand hinschaut. Ungeprüfter KI-Code kann stille Fehler oder unnötige Komplexität einbringen. Deshalb gilt bei siteway dieselbe Messlatte wie bei handgeschriebenem Code: lesbar, semantisch, getestet und im Review bestätigt. Die Startseite von siteway erreicht im PageSpeed-Test mobil 100/100/100/100 — gebaut mit genau diesem KI-gestützten, aber menschlich geprüften Prozess. womit das zusammenhängt ## Womit das zusammenhängt leistung & **technologie** - [KI & Automation.](https://www.siteway.de/expertise/ki-automation/) — Der Unterschied zu dieser Seite: Hier buchst du KI-Funktionen **für deine Besucher** — Chatbot, KI-Suche, automatisierte Abläufe. Nicht unsere Arbeitsweise, sondern ein Feature. zur leistung → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wo der Freigabe-Weg sitzt: Git, Staging und die Pipeline, durch die jeder Stand läuft, bevor er live geht — auch der von der KI beschleunigte. weiterlesen → - [Frontend.](https://www.siteway.de/stack/frontend/) — Was am Ende entsteht: sauberes HTML5, Tailwind und Vanilla JavaScript — ohne Framework-Ballast, egal wie viel KI beim Tippen geholfen hat. weiterlesen → Website mit geprüftem KI-Prozess bauen? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Klarna **Klarna** ist keine weitere Kartenzahlung, sondern ein **Zahlungsaufschub** — der Käufer bekommt die Ware, bevor er zahlt. Für die Website hat das eine Folge, die alles andere bestimmt: Im Bezahlvorgang wird geprüft, ob dieser Kauf auf Rechnung läuft. Diese Seite beschreibt, wie siteway Klarna anbindet — und wie die Bezahlstrecke mit einer Ablehnung umgeht, statt in eine Sackgasse zu laufen. stack system: klarna · zahlungsaufschub wege: direkt · über dienstleister format: rest · json seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Klarna anbinden](#einsatz) definition ## Was ist Klarna? **Klarna ist ein Zahlungsanbieter, dessen Kern der Zahlungsaufschub ist.** Der Käufer erhält die Ware, bevor er sie bezahlt. In Deutschland ist dafür vor allem der **Rechnungskauf** relevant — daneben stehen Ratenzahlung, Finanzierung und die sofortige Zahlung. Aus Sicht des Händlers ist das eine der wenigen Zahlarten, die eine Zielgruppe erreicht, die weder Karte noch Vorkasse nutzen möchte. Technisch ist der Unterschied zur Karte größer, als es im Bezahlfenster aussieht. Bei einer Kartenzahlung geht es um Autorisierung und Einzug. Bei Klarna geht es um eine Frage, die vorher niemand beantworten kann: Übernimmt der Anbieter **diese eine Bestellung** auf Rechnung? Das entscheidet sich mitten im Bezahlvorgang, auf Basis der Daten, die die Website übergibt — und es kann auch **Nein** lauten. Deshalb ist Klarna für eine Website weniger eine Frage der Schnittstelle als eine Frage der [Strecke](https://www.siteway.de/expertise/formularstrecken/): Das Datenmodell der Bestellung muss stehen, bevor die Zahlung startet, und die Kasse braucht einen zweiten Weg für den Fall, dass der erste nicht angeboten wird. Beides ist beim [Shop](https://www.siteway.de/expertise/shop-e-commerce/) Teil des Bausteins — hier geht es um die Schnittstelle darunter. $ cat klarna.md - ✓Zahlungsaufschub ware vor zahlung - ✓Rechnungskauf in de am relevantesten - ✓Ratenzahlung teilbeträge · finanzierung - ✓Prüfung im bezahlvorgang - ✓REST-API öffentlich dokumentiert - ✓Zwei Wege direkt · über dienstleister praxis ## Wie wir Klarna anbinden serverseitig · **mit zweitem weg** Die erste Entscheidung fällt vor der Schnittstelle: **Die Bestellung ist ein eigenes Datenobjekt auf deinem Server** — mit Positionen, Mengen, Einzel- und Gesamtpreisen, Rabatten, Versandkosten und Steueranteilen. Erst wenn dieses Objekt vollständig ist und exakt die Zahlen ergibt, die im Warenkorb stehen, startet die Zahlung. Klarna prüft nämlich nicht nur einen Betrag, sondern einen Vorgang; unvollständige oder abweichende Daten sind die häufigste Ursache für Bestellungen, die im letzten Schritt nicht zustande kommen. Danach läuft der dokumentierte Dreischritt. Der Server **erzeugt die Bezahlsitzung** und übergibt dabei den Warenkorb. Der Browser bekommt daraus nur ein kurzlebiges Token, mit dem Klarnas eigenes Frontend-SDK das Auswahlformular anzeigt. Wählt der Käufer und gibt frei, kommt ein **Autorisierungs-Token** zurück — und den nimmt wieder der Server, um die **Bestellung abzuschließen**. Zugangsdaten liegen dabei ausschließlich serverseitig, nie im Markup und nie im JavaScript-Bundle. Der Teil, der in Angeboten regelmäßig fehlt, ist **die Ablehnung**. Sie ist hier kein Fehler, sondern ein vorgesehener Ausgang, und sie kann früh auftreten — dann wird die Zahlart erst gar nicht angezeigt — oder spät, beim Abschluss. Wir bauen die Kasse deshalb von vornherein mehrspurig: Der Warenkorb bleibt erhalten, eine andere Zahlart steht sofort bereit, die Meldung bleibt sachlich und kommentiert die Entscheidung nicht. Eine Bezahlstrecke mit nur einem Weg verliert genau an dieser Stelle die Bestellung. **Statusmeldungen sind die Quelle der Wahrheit**, nicht die Rückkehr des Browsers. Ob eine Bestellung wirklich zustande gekommen ist, entscheidet der serverseitige Abschluss und die Rückmeldung von Klarna — nicht die Frage, ob der Käufer die Bestätigungsseite erreicht hat. Der eingehende Endpunkt prüft die Herkunft, verarbeitet jede Meldung **idempotent** und verträgt es, dieselbe Nachricht zweimal zu bekommen. Und schließlich der Betrieb: **Erfassung, Teillieferung, Erstattung, Stornierung**. Das läuft nach dem Kauf über Klarnas Order-Management-API und hängt bei uns an den Status im Shop oder in der Warenwirtschaft, damit niemand zwei Systeme von Hand synchronisieren muss. Die buchbare Leistung dahinter beschreiben wir unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Bestelldatenmodell**, dann die Zahlung - 02Anzeige und Übergabe **identisch** - 03Zugangsdaten **serverseitig**, nie im Browser - 04Ablehnung **einplanen**, nicht abfangen - 05Status aus dem **Webhook**, nicht aus dem Browser - 06Erstattung & Storno **von Anfang an** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Klarna unter docs.klarna.com — Endpunkte, Feld- und Statusnamen im Original. Konditionen, Verfügbarkeiten je Markt und die genaue Zusammensetzung der Zahlartenauswahl hängen am Vertrag und an der Konfiguration des Kontos; die nennen wir hier bewusst nicht, sondern klären sie im Projekt. d-01sitzung ### Bezahlsitzung Der Server öffnet die Sitzung mit einem POST auf /payments/v1/sessions und übergibt den Warenkorb. Erwartet werden laut Doku unter anderem purchase_country, purchase_currency, locale, order_amount, order_tax_amount und die order_lines. Authentifiziert wird über HTTP-Basic mit den Kontozugangsdaten. zweck: warenkorb übergeben d-02auswahl ### Zahlartenauswahl Die Antwort auf die Sitzung enthält session_id, client_token und die payment_method_categories — also die Zahlarten, die für diesen Vorgang zur Verfügung stehen. Mit dem Token zeigt Klarnas JavaScript-SDK das Formular an; welche Kategorien erscheinen, ist keine feste Liste, sondern Ergebnis des Vorgangs. zweck: käufer entscheidet d-03abschluss ### Bestellung abschließen Nach der Freigabe hält der Browser einen Autorisierungs-Token. Damit legt der Server die Bestellung an: POST auf /payments/v1/authorizations/{authorizationToken}/order. Zurück kommen unter anderem order_id, fraud_status und die tatsächlich gewählte Zahlart — die order_id trägt danach den ganzen weiteren Betrieb. zweck: serverseitig verbindlich d-04daten ### Warum die Daten stimmen müssen Die Dokumentation nennt die typischen Gründe, warum ein Abschluss scheitert: Der Warenkorb wurde nach der Autorisierung geändert, übergebene Daten weichen von der Sitzung ab, oder zwischen Autorisierung und Abschluss lag zu viel Zeit — genannt sind 60 Minuten. Anzeige und Übergabe müssen also dieselbe Bestellung meinen. zweck: validierung besteht d-05ablehnung ### Ablehnung im Checkout Kann Klarna für diesen Vorgang keine Zahlart anbieten, meldet das SDK laut Doku show_form: false — dann gehört Klarna aus der Auswahl genommen, statt ein leeres Feld zu zeigen. Scheitert es erst beim Abschluss, liefert die Antwort einen Fehlercode. Beides braucht denselben Ausgang: eine andere Zahlart, sofort. zweck: kein toter weg d-06betrieb ### Nach dem Kauf Erfassen, teilweise erfassen, erstatten, stornieren: Das läuft über die Order-Management-API unter /ordermanagement/v1/orders/{order_id}. Bleibt ein Teil der Autorisierung ungenutzt, wird er über release-remaining-authorization freigegeben, damit dem Käufer nichts offen stehen bleibt. zweck: tagesgeschäft ### Was in der Bezahlstrecke daraus entsteht Aus der Schnittstelle wird eine **Strecke**: Warenkorb, Adresse, Versandart, Zahlungsart, Bestätigung. Klarna hängt an der vierten Station — aber die drei davor entscheiden, ob sie funktioniert. Die Adresse muss vollständig und plausibel erfasst sein, die Versandkosten müssen feststehen, und der Steueranteil muss berechnet sein, bevor die Sitzung entsteht. Nachträgliche Änderungen am Warenkorb sind der klassische Fallstrick; wir sperren den Korb deshalb ab dem Moment, in dem die Zahlung startet, oder erzeugen die Sitzung neu. Auf der Bestätigungsseite steht danach das, was der Server weiß — nicht das, was der Browser vermutet. Kommt der Käufer nicht zurück, weil das Netz abbricht, ist die Bestellung trotzdem angelegt und wird über die Statusmeldung nachgezogen. Dieselbe Sorgfalt gilt für den Versand der Bestätigungsmail und für die Übergabe an die Warenwirtschaft: einmal auslösen, auch wenn die Meldung zweimal kommt. Beim **Datenschutz** ist Klarna ehrlicher gesagt der anspruchsvollere Fall. Für die Prüfung gehen personenbezogene Daten an einen Dritten — Name, Adresse, Positionen und Beträge. Das gehört in die Datenschutzerklärung mit Empfänger, Zweck und Grundlage und braucht eine saubere vertragliche Basis. Technisch heißt das bei uns: Übertragung serverseitig, Klarnas Skript erst im Bezahlvorgang statt auf jeder Seite, nur die Felder, die der Ablauf braucht. Grundlagen dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/), die Prüfung als Leistung im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). Die rechtliche Bewertung selbst gehört zu deiner Rechtsberatung. in der bezahlstrecke - ▸Adresse & Versand **vor der Zahlung** - ▸Warenkorb ab Start **unveränderlich** - ▸Zweite Zahlart **immer sichtbar** - ▸Bestätigung aus dem **Serverstatus** - ▸Mail & Wawi **einmal auslösen** - ▸Datenweitergabe **benannt** integration ## Klarna in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil ihn Klarna vorgibt und nicht das CMS. Die **Bezahlstrecke liegt im CMS** — Warenkorb, Adresse, Versandart, Zahlungsart, Bestätigung sind Seiten oder Schritte, die zur Website gehören und ihr Layout, ihre Sprache und ihre Zugänglichkeit teilen. Daneben steht ein **serverseitiger Endpunkt**, der zwei Aufgaben hat: die Bezahlsitzung erzeugen und die Bestellung abschließen. Er ist die einzige Stelle, die mit Klarna spricht. Die **Zugangsdaten bleiben serverseitig**, nie im Markup und nie im JavaScript-Bundle. Und weil der Browser bei einer Zahlung keine verlässliche Quelle ist, kommt der endgültige Status aus der eingehenden **Statusmeldung** — geprüft auf Herkunft und idempotent verarbeitet, damit dieselbe Nachricht zweimal nichts kaputt macht. Die Besonderheit gegenüber einer Kartenzahlung ist das, was **vor** dem Endpunkt liegen muss: Klarna braucht **vollständige Bestell- und Adressdaten** — die einzelnen Positionen mit Menge und Preis, Rabatte, Versandkosten, den Steueranteil sowie Rechnungs- und Lieferadresse. Das Datenmodell der Bestellung muss also sauber stehen, bevor die Zahlung startet, und es muss exakt dieselben Zahlen ergeben wie die Anzeige im Warenkorb. In der Praxis ist das die eigentliche Integrationsarbeit: die Bestellung im CMS so zu modellieren, dass sie sich verlustfrei in die Übergabe an Klarna überführen lässt — und dass eine Ablehnung nur bedeutet, dass die Strecke eine andere Zahlart anbietet, nicht dass sie endet. cms-01typo3 ### Klarna in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Das Bestelldatenmodell beschreibt das TCA: Bestellung, Positionen, Beträge, Steueranteil und Adressen als Records mit klaren Feldern. Zwei Controller-Routen tragen den Ablauf — eine erzeugt die Bezahlsitzung und gibt das Token an das Frontend, die andere nimmt die Statusmeldung entgegen, prüft die Herkunft und schreibt den Bestellstatus fort. Die Zugangsdaten liegen in der Extension-Konfiguration oder, besser, in einer Umgebungsvariable, die von dort gelesen wird. Gerendert wird über Fluid: Warenkorb, Adressschritt, Zahlartenauswahl und Bestätigung als eigene Templates, die dasselbe Layout tragen wie der Rest der Website. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Klarna in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie jeden Theme-Wechsel und lässt sich getrennt aktualisieren. Zwei eigene REST-Routen bilden den Ablauf ab: eine für das Erzeugen der Bezahlsitzung, eine als Endpunkt für die Statusmeldung, beide mit Prüfung der Herkunft und idempotenter Verarbeitung. Die Zugangsdaten stehen in der wp-config.php oder in einer Umgebungsvariable, nie in einem Optionsfeld, das im Frontend landen kann. Im Frontend kommen Template-Dateien und Blocks für den Editor dazu, damit Zahlartenauswahl, Fehlerhinweise und Bestätigungsseite dort stehen, wo die Redaktion sie braucht. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Klarna in Statamic Statamic hat Laravel als Unterbau, und das passt zu einer Bezahlstrecke besonders gut: Route plus Controller für das Erzeugen der Sitzung und den Abschluss der Bestellung, eine zweite Route für die Statusmeldung, Validierung und Signaturprüfung als Middleware davor, Queues für alles, was nach der Bestellung passiert — Bestätigungsmail, Übergabe an die Warenwirtschaft. Die Zugangsdaten liegen in der .env und werden über die Konfiguration gelesen. Antlers oder Blade rendern Warenkorb, Adressschritt, Zahlartenauswahl und Bestätigung; im Control Panel pflegt die Redaktion die Texte, die an diesen Schritten stehen. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Direkt oder über einen Zahlungsdienstleister? zuordnung statt **rangliste** Klarna lässt sich **direkt** anbinden oder als eine Zahlungsmethode **innerhalb eines Zahlungsdienstleisters** nutzen — [Stripe](https://www.siteway.de/stack/stripe/) etwa führt Klarna in seinem eigenen Bezahlfluss. Keiner der beiden Wege ist grundsätzlich besser; sie unterscheiden sich darin, wo die Verträge liegen, wie viele Schnittstellen die Website spricht und wie viel Kontrolle du über den Ablauf hast. An drei Mustern lässt sich das zuordnen. e-01direkt ### Wenn Klarna tragend ist Ist der Rechnungskauf die Zahlart, an der das Geschäft hängt, spricht viel für die direkte Anbindung: eigener Vertrag, eigene Abrechnung, voller Zugriff auf Sitzung, Bestellung, Erfassung und Erstattung. Der Preis dafür ist eine Schnittstelle mehr, die betrieben und beobachtet werden will. volle kontrolle e-02dienstleister ### Wenn mehrere Zahlarten nötig sind Braucht die Kasse ohnehin Karte, Lastschrift und Wallet, ist Klarna als Methode innerhalb eines Dienstleisters der kürzere Weg: eine Schnittstelle, eine Abstimmung der Auszahlungen, ein Ort für Auswertung und Erstattungen. Die Mechanik dahinter bleibt dieselbe — nur die Sitzung erzeugt jemand anders. eine schnittstelle e-03strecke ### Was in beiden Fällen gilt Die Arbeit an der Bezahlstrecke bleibt gleich: sauberes Bestelldatenmodell, exakte Beträge, ein zweiter Weg bei Ablehnung, Status aus der Statusmeldung statt aus dem Browser, benannte Datenweitergabe. Diese Punkte entscheiden über die Qualität — nicht die Frage, wessen Logo auf der Rechnung steht. strecke vor anbieter ### Was vorher geklärt wird Vier Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Welche Zahlarten braucht deine Zielgruppe wirklich — und welche davon sind Pflicht, welche Kür? Läuft der Verkauf über einen Shop, über eine Buchungsstrecke oder über ein Formular mit Zahlung am Ende? Wie sehen Lieferung und Retoure aus, also wann wird erfasst und wie oft wird erstattet? Und wer betreibt die Anbindung später, wenn eine Bestellung einmal hängen bleibt? Danach steht fest, welcher Weg trägt und was die Kasse an Alternativen bereithalten muss. Dieselbe Logik greift bei den anderen Zahlungsanbietern: [Stripe](https://www.siteway.de/stack/stripe/) bündelt viele Verfahren hinter einer Schnittstelle, [PayPal](https://www.siteway.de/stack/paypal/) bringt seinen eigenen Bezahlfluss mit. Was die Website daraus baut, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Rechnungskauf trägt das Geschäft → **direkt** - ▸viele Zahlarten, eine Abrechnung → **Dienstleister** - ▸Teillieferungen & Retouren → **Order-Management** - ▸Ablehnung möglich → **zweite Zahlart** faq ## Häufige Fragen ### Was ist Klarna? Klarna ist ein Zahlungsanbieter, dessen Kern der Zahlungsaufschub ist: Der Käufer bekommt die Ware, bevor er zahlt. In Deutschland ist dafür vor allem der Rechnungskauf verbreitet, daneben stehen Ratenzahlung, Finanzierung und die sofortige Zahlung. Für eine Website ist das ein anderer Vorgang als eine Kartenzahlung. Bei der Karte geht es um Autorisierung und Einzug eines vorhandenen Guthabens oder Rahmens. Bei Klarna geht es um die Frage, ob der Anbieter diese eine Bestellung auf Rechnung übernimmt — und das entscheidet sich erst im Bezahlvorgang. ### Wie läuft eine Zahlung mit Klarna technisch ab? In drei Schritten, wie Klarna sie dokumentiert. Erstens erzeugt der Server eine Bezahlsitzung mit einem POST auf /payments/v1/sessions und übergibt dabei den Warenkorb; die Antwort enthält unter anderem eine session_id, ein client_token und die verfügbaren payment_method_categories. Zweitens wählt der Käufer im Browser die Zahlart aus — Klarnas JavaScript-SDK zeigt dafür ein Formular an und liefert nach der Freigabe einen Autorisierungs-Token. Drittens legt der Server die Bestellung mit einem POST auf /payments/v1/authorizations/{authorizationToken}/order an und bekommt eine order_id zurück, mit der die Bestellung später über die Order-Management-API weiterbearbeitet wird. Entscheidend ist die Rollenverteilung: Der Browser zeigt nur an, gezahlt wird serverseitig. ### Warum müssen die Bestelldaten für Klarna so genau sein? Weil sie Teil der Prüfung sind und nicht nur Dekoration im Bezahlfenster. Die Sitzung erwartet laut Dokumentation unter anderem Einkaufsland, Währung, Sprache, den Gesamtbetrag, den Steueranteil, die einzelnen Positionen als order_lines sowie Rechnungs- und Lieferadresse. Genau daran hängt auch der häufigste Fehler beim Bestellabschluss: Ändert sich der Warenkorb nach der Autorisierung, schlägt die Prüfung fehl und die Bestellung wird nicht angelegt. Für eine Website heißt das, dass das Datenmodell der Bestellung stehen muss, bevor die Zahlung startet — Positionen, Rabatte, Versandkosten und Steuern müssen exakt dieselben Zahlen ergeben wie die Anzeige im Warenkorb. ### Was passiert, wenn Klarna eine Bestellung ablehnt? Dann darf die Bezahlstrecke nicht stehen bleiben. Eine Ablehnung ist bei einem Zahlungsaufschub keine Störung, sondern ein vorgesehener Ausgang, und sie kann an zwei Stellen auftreten: Klarna kann die Zahlart schon gar nicht anbieten — das SDK meldet das laut Dokumentation über das Feld show_form — oder die Bestellung wird beim Abschluss nicht angelegt. Wir bauen die Kasse deshalb so, dass in beiden Fällen sofort eine andere Zahlart bereitsteht, der Warenkorb erhalten bleibt und die Meldung sachlich formuliert ist, ohne die Ablehnung zu kommentieren. Eine Bezahlstrecke, die nur einen einzigen Weg kennt, verliert genau hier die Bestellung. ### Klarna direkt anbinden oder über einen Zahlungsdienstleister? Beides ist möglich, und die Entscheidung hängt am Rest der Bezahlstrecke. Direkt heißt: Deine Website spricht Klarnas API selbst, du hast die volle Kontrolle über Sitzung, Bestellung, Erfassung und Erstattung und arbeitest mit einem eigenen Vertrag und einer eigenen Abrechnung. Über einen Zahlungsdienstleister wie [Stripe](https://www.siteway.de/stack/stripe/) heißt: Klarna erscheint als eine Zahlungsmethode neben Karte und anderen Verfahren, die Website spricht nur eine Schnittstelle, und Abrechnung wie Auswertung laufen an einer Stelle zusammen. Der zweite Weg ist meist der kürzere, wenn ohnehin mehrere Zahlarten gebraucht werden; der erste lohnt, wenn Klarna eine tragende Rolle spielt und tief in eigene Prozesse eingebunden werden soll. ### Wie funktionieren Erstattungen, Teillieferungen und Stornierungen? Über Klarnas Order-Management-API, und das ist der Teil, der nach dem Go-live jeden Tag läuft. Eine angelegte Bestellung ist zunächst autorisiert; erfasst wird sie, wenn geliefert wird. Bei einer Teillieferung wird nur der gelieferte Teil erfasst, und wenn kein weiterer Teil folgt, wird der Rest der Autorisierung wieder freigegeben — dokumentiert über den Endpunkt /ordermanagement/v1/orders/{order_id}/release-remaining-authorization. Retouren laufen als Erstattung auf die erfasste Bestellung, eine Stornierung vor der Erfassung gibt den Betrag frei. Damit das nicht zur Handarbeit wird, koppeln wir diese Schritte an die Status im Shop oder in der Warenwirtschaft. ### Was bedeutet Klarna für den Datenschutz auf meiner Website? Dass personenbezogene Daten an einen Dritten übermittelt werden, und zwar mehr als bei einer reinen Kartenzahlung: Name, Adresse, Bestellpositionen und Beträge fließen in die Prüfung ein. Das gehört benannt — in der Datenschutzerklärung mit Empfänger, Zweck und Grundlage, und in der Kasse an der Stelle, an der die Zahlart gewählt wird. Technisch halten wir die Übertragung serverseitig, laden Klarnas Skript erst im Bezahlvorgang und nicht auf jeder Seite, und übergeben nur die Felder, die der Ablauf braucht. Wie das konkret aussieht, ist eine Frage an die eigene Rechtsberatung; wir liefern die technische Grundlage dafür und prüfen sie im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). ### Lässt sich Klarna in TYPO3, WordPress oder Statamic integrieren? Ja, und der Aufbau ist in allen drei Systemen derselbe: Die Bezahlstrecke liegt im CMS, ein serverseitiger Endpunkt erzeugt die Sitzung und schließt die Bestellung ab, die Zugangsdaten bleiben serverseitig. In [TYPO3](https://www.siteway.de/stack/typo3/) bauen wir dafür eine eigene Extension mit Controller-Routen für Sitzung und Statusmeldung, den Zugangsdaten in der Extension-Konfiguration oder in einer Umgebungsvariable und Fluid im Frontend. In [WordPress](https://www.siteway.de/stack/wordpress/) entsteht ein eigenes Plugin statt Theme-Code, mit eigenen REST-Routen, den Zugangsdaten in der wp-config.php oder in einer Umgebungsvariable und Templates beziehungsweise Blocks im Frontend. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: Route plus Controller, Zugangsdaten in der .env, Antlers oder Blade im Frontend. Die Integration ist damit Teil unserer Leistung — vom Bestelldatenmodell bis zur Bestätigungsseite. womit das zusammenhängt ## Womit das zusammenhängt zahlung, strecke & **leistung** - [Stripe.](https://www.siteway.de/stack/stripe/) — Der Zahlungsdienstleister, der viele Verfahren hinter einer Schnittstelle bündelt — Klarna lässt sich darüber als Methode nutzen. zur technik → - [PayPal.](https://www.siteway.de/stack/paypal/) — Der Bezahlfluss, den viele Käufer schon kennen — anderes Modell, dieselbe Frage: Wie sauber steht die Bestellung darunter? zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Bestell- und Adressdaten zur Prüfung an einen Dritten gehen, wird es ernst: Zugangsdaten serverseitig, TLS, Datensparsamkeit. zur technik → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Der Baustein um die Zahlung herum: Produktkatalog, Warenkorb, Checkout und Warenwirtschaft — buchbar als Komponente. zur leistung → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Mehrstufige Strecken mit Validierung, Zwischenspeicher und klaren Fehlerwegen — die Mechanik, auf der eine Kasse aufsetzt. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Datenmodell, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Rechnungskauf in deiner Bezahlstrecke? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · php # Laravel **Laravel** ist das PHP-Framework, mit dem bei siteway alles entsteht, das mehr können muss als Inhalte ausliefern: Portale, Rechner, Kundenbereiche, [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/). Diese Seite zeigt die Bausteine — Eloquent, Migrations, Queues, Artisan, Form Requests, Policies, Tests — und die Leitplanken, nach denen wir sie zusammensetzen. stack stack: laravel einsatz: anwendungen · portale · apis aktuell: 13.x seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Laravel einsetzen](#einsatz) definition ## Was ist Laravel? php · **mvc** **Laravel ist ein quelloffenes PHP-Framework für Webanwendungen, das dem MVC-Muster folgt und die wiederkehrenden Teile einer Anwendung ab Werk mitbringt:** Routing, Datenbankzugriff über das **Eloquent**-ORM, versionierte Migrations fürs Schema, Queues für Hintergrundarbeit, die Kommandozeile **Artisan**, Validierung, Authentifizierung und ein Rechtesystem. Taylor Otwell hat es 2011 veröffentlicht, es steht unter MIT-Lizenz. Wichtig für die Einordnung: Laravel ist kein fertiges Produkt, das man installiert und befüllt. Es ist ein Gerüst mit klaren Konventionen — wo Code hingehört, wie Daten geladen werden, wie eine Anfrage durch die Anwendung läuft. Diese Konventionen sind der eigentliche Wert: Zwei Entwickler, die Laravel kennen, finden sich in einem fremden Projekt nach wenigen Minuten zurecht. Wie das Framework in unseren Stack passt und wann eine Eigenentwicklung überhaupt sinnvoll ist, steht im Überblick unter [PHP & Laravel](https://www.siteway.de/stack/php-laravel/). $ cat laravel.md - ✓seit 2011 taylor otwell - ✓MIT-Lizenz open source - ✓aktuell 13.x ab php 8.3 - ✓MVC routing · controller · blade - ✓Eloquent + Migrations datenbank - ✓Queues + Artisan jobs · cli - ✓Schutz ab Werk csrf · validation · policies praxis ## Wie wir Laravel einsetzen dünne controller · **dicke services** Die häufigste Ursache für eine Laravel-Anwendung, die nach zwei Jahren niemand mehr anfassen will, ist immer dieselbe: Controller, in denen alles steckt — Validierung, Rechteprüfung, Fachlogik, Datenbankzugriff, E-Mail-Versand. Das funktioniert bis zur dritten Änderungsanfrage. Deshalb ziehen wir die Schichten von Anfang an auseinander: Der Controller nimmt die Anfrage entgegen und gibt eine Antwort zurück — mehr nicht. Die Fachlogik liegt in **Services** und **Actions**, also in Klassen mit einer Aufgabe und einem Namen, der sie verrät. Alles, was von außen kommt, wird vorher gefiltert. Eingaben laufen durch **Form Requests** — ein Ort pro Formular, an dem die Regeln und die deutschen Fehlermeldungen stehen, statt verstreut über Controller und Template. Berechtigungen liegen in **Policies**: „Darf dieser Nutzer diesen Datensatz bearbeiten?" wird einmal beantwortet und überall gleich geprüft, im Controller wie im View. Das Datenmodell selbst führen wir über **Migrations**, damit lokal, Staging und Produktion denselben Stand aufbauen und keine Änderung von Hand nachgeklickt wird. Alles Langsame verlässt den Request: PDF-Erzeugung, Bildverarbeitung, Mailversand, der Aufruf einer fremden API wandern in **Queues**. Der Nutzer bekommt sofort eine Antwort, ein Worker erledigt die Arbeit nebenläufig, fehlgeschlagene Jobs landen nachvollziehbar in der Fehlertabelle statt still zu verschwinden. Wiederkehrende Aufgaben — nächtliche Importe, Reports, Aufräumläufe — bauen wir als eigene **Artisan**-Befehle und hängen sie in den Scheduler. Abgesichert wird das über Tests: nicht flächendeckend, sondern dort, wo Geld, Rechte oder Daten im Spiel sind. Diese Tests laufen bei jedem Push über [Git und GitHub Actions](https://www.siteway.de/stack/deployment-betrieb/), bevor irgendetwas live geht. Beim Schreiben helfen uns Copilot, Cursor und Claude — jeder Stand wird von einem Menschen gelesen, bevor er gemergt wird. Wie wir mit [KI-gestützter Entwicklung](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) arbeiten, steht im eigenen Stack-Kapitel. weg einer anfrage durch die anwendung - 01**Route** + Middleware — wer darf überhaupt rein - 02**Form Request** — Eingaben validiert - 03**Policy** — darf dieser Nutzer das - 04**Controller** — dünn, nur Orchestrierung - 05**Service/Action** — hier liegt die Fachlogik - 06**Eloquent Model** — Daten und ihre Regeln - 07**Job in der Queue** — alles Langsame - 08**Response** — JSON oder Blade-View bausteine · 6 details ## Die Bausteine im Detail was davon **wirklich trägt** Laravel bringt weit mehr mit, als ein Projekt je braucht. Das sind die sechs Teile, die in unseren Anwendungen tatsächlich jeden Tag arbeiten — mit dem, was in der Praxis daran wichtig ist. b-01daten ### Eloquent ORM Jede Tabelle wird ein Model, jede Beziehung im Code beschrieben. Der Fallstrick heißt N+1: eine Liste lädt pro Zeile eine weitere Abfrage nach. Wir laden Beziehungen deshalb bewusst mit — und arbeiten große Datenmengen in Portionen ab, statt sie komplett in den Speicher zu ziehen. achtung: n+1 · eager loading b-02schema ### Migrations & Seeds Das Schema liegt versioniert im Repository, jede Änderung ist eine Datei mit Datum. Dazu Factories und Seeder, die eine Datenbank mit realistischen Testdaten füllen — so entwickelt und testet niemand gegen einen leeren Bestand oder gegen einen Abzug echter Kundendaten. zweck: schema im git · testdaten b-03nebenläufig ### Queues & Worker Ein Job wird in die Warteschlange gelegt, ein Worker-Prozess arbeitet ihn ab. Wichtig ist, was danach passiert: Wie oft wird ein Job wiederholt, mit welchem Abstand, und wo landet er, wenn er endgültig scheitert. Fehlgeschlagene Jobs bleiben sichtbar — sonst verschwinden Bestellungen still. achtung: retries · failed jobs b-04automation ### Artisan & Scheduler Die Kommandozeile von Laravel. Wir bauen eigene Befehle für alles, was sonst jemand von Hand machen müsste — Import aus einem Fremdsystem, Report, Aufräumlauf — und hängen sie in den Scheduler. Ein einziger Cron-Eintrag auf dem Server, der Rest steht als Code im Repository. zweck: cli · geplante jobs b-05eingang ### Form Requests & Policies Zwei Fragen, zwei feste Orte: „Sind die Daten in Ordnung?" beantwortet ein Form Request, „darf dieser Nutzer das?" eine Policy. Beides steht dann genau einmal im Projekt statt in jedem Controller neu — und lässt sich einzeln testen, ohne die halbe Anwendung hochzufahren. zweck: validierung · rechte b-06absicherung ### Tests Laravel bringt eine Testumgebung samt eigener Datenbank mit. Wir testen nicht alles, sondern das Teure: Preisberechnung, Rechteprüfung, Formularstrecken, Schnittstellen. Diese Tests laufen bei jedem Push in der CI — und sind der Grund, warum ein Major-Upgrade planbar bleibt statt zum Blindflug zu werden. zweck: feature-tests in der ci datenpunkt · lebenszyklus ## Wie lange eine Version hält planbar statt **überraschend** Laravel erscheint in einem festen Jahresrhythmus: eine Hauptversion pro Jahr, jeweils im ersten Quartal. Danach gibt es **18 Monate Bugfixes** und **24 Monate Sicherheits-Updates**. Version 13 ist am 17. März 2026 erschienen und setzt mindestens PHP 8.3 voraus. Für uns heißt das: Der Upgrade-Termin einer betreuten Anwendung steht Jahre im Voraus fest und wandert als eigener Posten in die Wartungsplanung — statt irgendwann als Notfall aufzuschlagen. *// support-fenster der laravel-hauptversionen* beleg ## Wo Laravel bei uns läuft projekte statt tutorials Der typische Fall ist ein Projekt, in dem nicht Seiten den Kern bilden, sondern Objekte, Filter und Regeln. Für die **Garbe**-Gruppe haben wir ein Karten-Portal auf Basis von Mapbox und OpenStreetMap gebaut — Standorte, Datensätze, Suchlogik, eine Schnittstelle dahinter. In so einem Projekt arbeitet ein CMS gegen sich selbst; ein Framework bildet die Fachwelt direkt ab. Alle Referenzen stehen unter [Cases](https://www.siteway.de/cases/). Der zweite, weniger offensichtliche Fall: Laravel läuft auch dort mit, wo man es nicht sieht. [Statamic](https://www.siteway.de/stack/statamic/) ist kein eigenes System, sondern ein Laravel-Paket — unter jeder Statamic-Website steckt eine vollständige Laravel-Anwendung. Genau das nutzen wir: Redaktion und eigene Fachlogik im selben Projekt, ohne Systemwechsel, wenn aus einer Website später ein Kundenbereich oder eine Formularstrecke wächst. Und wo Inhalt wirklich der Kern ist, gehen wir den anderen Weg: Der Konzern-Auftritt von **Spelsberg** läuft seit 2018 auf TYPO3 in 13 Sprachen, angebunden an PIM, Cadenas, Algolia und Hubspot. Redaktion, nicht Fachlogik — ein Framework wäre dort der Umweg gewesen. wofür wir laravel nehmen - ▸Portale mit Rollen und Rechten - ▸Konfiguratoren und Rechner - ▸Buchungs- und Antragsstrecken - ▸Schnittstellen zu CRM, ERP, Payment - ▸eigene REST-APIs fürs Frontend - ▸als Unterbau von **Statamic** entscheidung ## Wann Laravel passt — und wann nicht ehrlich **eingeordnet** Laravel ist ein gutes Werkzeug — aber nicht für jedes Projekt das richtige. Die Frage ist nicht, welches Framework das beste ist, sondern was in deinem Projekt im Zentrum steht: **Logik** oder **Inhalt**. An diesen drei Punkten entscheidet sich das bei uns. p-01passt ### Eigene Fachlogik Deine Fachwelt besteht aus mehr als Seiten und Artikeln: Buchungen, Verträge, Geräte, Anträge — mit eigenen Regeln, Zuständen und Rechten. Genau dafür ist ein Framework gebaut. Als Leistung buchbar unter [Entwicklung & Umsetzung](https://www.siteway.de/expertise/entwicklung-umsetzung/). domänen-modell p-02passt ### Schnittstellen & Portale Die Anwendung muss mit CRM, Warenwirtschaft oder Payment sprechen, Daten synchron halten oder selbst eine API bereitstellen. Queues, Jobs und Tests machen aus einer fragilen Anbindung einen belastbaren Teil der Anwendung. api · integration p-03besser cms ### Inhalt im Zentrum Wenn es um Seiten, Artikel und Redaktion geht, ist ein CMS schneller gebaut und einfacher zu pflegen. Dann führt der Weg zu [CMS & Redaktion](https://www.siteway.de/stack/cms-redaktion/) — oder zu [Statamic](https://www.siteway.de/stack/statamic/), das Laravel als Unterbau mitbringt. redaktion statt logik weiche logik im zentrum: laravel inhalt im zentrum: cms [die weiche im überblick →](https://www.siteway.de/stack/php-laravel/) faq ## Häufige Fragen ### Welche Laravel-Version ist aktuell — und wie lange wird sie gepflegt? Aktuell ist Laravel 13, erschienen am 17. März 2026 und lauffähig ab PHP 8.3. Laravel folgt einem festen Jahresrhythmus: Jede Hauptversion erscheint im ersten Quartal, bekommt 18 Monate lang Bugfixes und 2 Jahre lang Sicherheits-Updates. Damit lässt sich der Upgrade-Termin Jahre im Voraus planen statt hektisch nachzuholen. siteway hält betreute Anwendungen im unterstützten Fenster und plant das Major-Upgrade als eigenen Arbeitsschritt ein — nicht nebenbei. ### Wofür eignet sich Laravel besonders gut? Für alles, wo eigene Fachlogik der Kern ist: Portale mit Rollen und Rechten, Konfiguratoren und Rechner, Buchungs- und Antragsstrecken, Kundenbereiche, Schnittstellen zu CRM, Warenwirtschaft oder Payment sowie eigene REST-APIs. Laravel bringt dafür Routing, Datenbankzugriff, Berechtigungen, Hintergrundjobs und Tests mit — also genau die Teile, die man sonst in jedem Projekt neu erfinden würde. Für reine Inhaltsseiten ist ein [CMS](https://www.siteway.de/stack/cms-redaktion/) der kürzere Weg. ### Wie hält siteway eine Laravel-Anwendung langfristig wartbar? Über Leitplanken, die vom ersten Tag an gelten: Controller bleiben dünn und orchestrieren nur, die Fachlogik liegt in Services und Actions. Eingaben werden in Form Requests validiert, Berechtigungen in Policies geregelt, das Datenbankschema versioniert in Migrations geführt. Alles Langsame wandert in Queues. Die Kernlogik ist mit Tests abgesichert, die bei jedem Push über [GitHub Actions](https://www.siteway.de/stack/deployment-betrieb/) laufen. Das Ergebnis: Eine Anwendung, die man nach zwei Jahren noch lesen und erweitern kann, auch wenn jemand anderes weiterarbeitet. ### Was braucht eine Laravel-Anwendung im Betrieb — reicht ein normales Webhosting? Ein einfaches Webhosting reicht selten. Laravel braucht eine passende PHP-Version, Composer beim Deployment, ein Document-Root, das auf das public-Verzeichnis zeigt, und in der Regel einen Cron-Eintrag für den Scheduler. Sobald Queues im Spiel sind, kommt ein dauerhaft laufender Worker-Prozess dazu, der überwacht neu gestartet wird. siteway klärt diese Punkte vor dem Start, damit die Anwendung nicht auf einem Hosting landet, das sie nicht tragen kann. ### Kann eine bestehende PHP-Anwendung nach Laravel überführt werden? Ja, und meist schrittweise. Wir beginnen mit dem Datenmodell: Das bestehende Schema wird in Migrations und Eloquent-Models überführt, danach wandern einzelne Funktionsbereiche nacheinander in die neue Anwendung, während der Rest weiterläuft. Das dauert länger als ein Neubau am Reißbrett, aber es hält den Betrieb am Laufen und macht jeden Schritt einzeln testbar. Ob sich der Weg lohnt, klärt siteway vorher ehrlich — manchmal ist die Antwort ein sauberer Neubau. ### Was hat Statamic mit Laravel zu tun? Statamic ist kein eigenständiges System, sondern ein Laravel-Paket: Unter jeder [Statamic](https://www.siteway.de/stack/statamic/)-Website läuft eine vollwertige Laravel-Anwendung. Das ist praktisch, weil man einen Redaktionsauftritt starten und später eigene Fachlogik direkt danebenlegen kann — Formularstrecken, ein Kundenbereich, eine Schnittstelle — ohne das System zu wechseln. siteway nutzt genau diese Kombination, wenn Inhalt und Anwendung zusammenwachsen sollen. womit das zusammenhängt ## Womit das zusammenhängt stack & **leistung** - [PHP & Laravel.](https://www.siteway.de/stack/php-laravel/) — Die Ebene darüber: Wo PHP in unserem Stack sitzt und wann eine Eigenentwicklung einem fertigen CMS vorzuziehen ist. zum überblick → - [Statamic.](https://www.siteway.de/stack/statamic/) — Das CMS, das auf Laravel aufsetzt: Redaktion und eigene Fachlogik im selben Projekt, ohne Systemwechsel. zum stack → - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Diese Technik als Leistung: Wir bauen deine Anwendung — vom Datenmodell bis zum Deployment. Hier wird gebucht. weiterlesen → Eine Anwendung, die mehr können muss? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # LinkedIn API Im B2B ist die **LinkedIn-Unternehmensseite** für viele Firmen der Ort, an dem sichtbar wird, dass etwas passiert — und die Website ist der Ort, an dem daraus Anfragen werden. siteway verbindet beides so, dass die Beiträge **serverseitig abgeholt, im CMS zwischengespeichert und als eigenes HTML ausgegeben** werden. Diese Seite beschreibt die Technik dahinter — und sagt offen, was beim Zugang zu den LinkedIn-Schnittstellen vorher zu klären ist. stack dienst: linkedin marketing api bausteine: unternehmensseite · beiträge abruf: serverseitig · zwischengespeichert seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir LinkedIn anbinden](#einsatz) definition ## Was ist die LinkedIn-API? **LinkedIn bündelt seine Schnittstellen im LinkedIn Marketing API Program**, dessen Dokumentation Microsoft veröffentlicht. Das Programm ist breit: Es reicht von Werbung und Kampagnensteuerung über Veranstaltungen und Leads bis zu Zielgruppen und Auswertung. Für eine Unternehmenswebsite ist davon nur ein Ausschnitt relevant. Dieser Ausschnitt heißt Community Management API. Sie deckt laut Dokumentation die Verwaltung von **Unternehmensseiten** ab — Seitendaten und Marken, Administratorrollen, Follower, das Erstellen und Lesen von Beiträgen samt Kommentaren und Reaktionen sowie Auswertungen zu Seite und Beiträgen. Wer „LinkedIn auf der Website“ sagt, meint fast immer genau das: die Beiträge der eigenen Unternehmensseite, dargestellt im eigenen Layout statt in einem fremden Kasten. Dazu kommt ein dritter Berührungspunkt, der oft übersehen wird: die **Stellenanzeigen**. Wer auf LinkedIn ausschreibt, hat damit einen zweiten Kanal neben der eigenen Karriereseite — und die Frage, welche Quelle führend ist. Wie der Baustein auf der Website daraus aussieht, beschreibt die Komponente [Social Media Newsroom](https://www.siteway.de/expertise/social-media-newsroom/). Hier geht es um die Schnittstelle darunter. $ cat linkedin.md - ✓Unternehmensseite daten · rollen · follower - ✓Beiträge posts · kommentare - ✓Auswertung seite & beiträge - ✓Zugang antrag & freigabe - ✓Anmeldung oauth · mitgliedsrolle - ✓Abruf serverseitig, nie im browser praxis ## Wie wir LinkedIn anbinden abruf auf dem **server** Der erste Schritt ist ein Gespräch, kein Code: **Wir klären den Zugang, bevor wir bauen.** Der Zugriff auf die Inhalte einer Unternehmensseite setzt eine Entwickleranwendung voraus, deren Zugang beantragt und von LinkedIn freigegeben wird. Das ist kein Häkchen in einer Oberfläche und keine Frage von Minuten. Wir schreiben deshalb zu Projektbeginn auf, was der Bereich zeigen soll, prüfen, was der freigegebene Umfang hergibt, und legen erst danach fest, wie er gefüllt wird. Steht der Zugang, ist die Mechanik immer dieselbe: **abholen, zwischenspeichern, selbst rendern.** Ein geplanter Lauf auf dem Server fragt die Beiträge der Unternehmensseite ab und schreibt sie als Datensätze ins [CMS](https://www.siteway.de/stack/cms-redaktion/) — Text, Datum, Verweis auf den Originalbeitrag, Bilder als lokale Kopien in den Formaten der Website. Das Frontend liest anschließend nur noch aus dem CMS. Zwischen dem Seitenaufruf eines Besuchers und LinkedIn liegt damit keine einzige Verbindung. Daraus folgt der angenehme Nebeneffekt: **Die Seite ist unabhängig vom Zustand der Schnittstelle.** Antwortet sie langsam, verzögert das einen Hintergrundlauf und keinen Seitenaufruf. Antwortet sie gar nicht, bleibt der zuletzt abgeholte Stand stehen, bis der nächste Lauf durchgeht. Und weil die Beiträge als echtes HTML auf der eigenen Domain liegen, sind sie lesbar — für Besucher, für Suchmaschinen und für die [Suche](https://www.siteway.de/stack/suche/) auf der Website selbst. Und wenn ein Zugang nicht zustande kommt oder für den gewünschten Umfang nicht reicht, gibt es den Weg, der immer trägt: **dieselbe Darstellung, redaktionell gepflegt.** Die Redaktion legt die Beiträge im CMS an und verweist auf die Unternehmensseite; auf der Website ist das Ergebnis dasselbe Modul mit denselben Feldern. Das ist eine Zuordnung nach Voraussetzungen, keine Rangliste — und weil beide Wege im selben Template enden, lässt sich später umschalten, ohne den Bereich neu zu bauen. Was bei alldem nicht passiert: Es landet **kein LinkedIn-Code im Browser**. Keine fremde Bibliothek, kein Rahmen mit unbekannter Höhe, kein Aufruf zu einem weiteren Host. Warum das über den Datenschutz hinaus zählt, steht unter [Performance](https://www.siteway.de/stack/performance/) im Stack. unsere leitplanken - 01Zugang **vor der Umsetzung klären** - 02Abruf **serverseitig**, im Hintergrund - 03Beiträge **im CMS zwischengespeichert** - 04Ausgabe als **eigenes HTML** - 05Token **serverseitig**, nie im Frontend - 06Redaktioneller Weg als **zweite Quelle** [schnittstellen als leistung →](https://www.siteway.de/expertise/schnittstellen-integration/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation zum LinkedIn Marketing API Program. Wir nennen bewusst nur, was dort belegt ist — Programmnamen, Zugangsstufen und das Verfahren. Konkrete Kontingente, Berechtigungsnamen und Versionsstände ändern sich und gehören deshalb in die Klärung eines konkreten Projekts, nicht in eine Technikbeschreibung. d-01seite ### Community Management API Der für Websites relevante Bereich des Programms. Laut Dokumentation deckt er die Verwaltung von Unternehmensseiten ab: Seitendaten und Marken, Administratorrollen, Follower sowie das Erstellen und Lesen von Beiträgen, Kommentaren und Reaktionen. Alles, was auf einer Website als Newsroom-Bereich landet, hängt hier dran. zweck: unternehmensseite d-02zugang ### Zwei Zugangsstufen Die Dokumentation beschreibt eine Entwicklungsstufe und eine Standardstufe. Die Entwicklungsstufe wird zuerst vergeben, dient dem Bauen und Testen und arbeitet mit Aufrufgrenzen; sie ist darauf angelegt, dass die Integration innerhalb von zwölf Monaten fertiggestellt wird. Die Standardstufe ist die Stufe für den laufenden Betrieb ohne diese Beschränkungen. zweck: entwicklung → betrieb d-03freigabe ### Antrag und Prüfung Die Hochstufung wird gesondert beantragt; zum Antrag gehört laut Dokumentation eine Bildschirmaufnahme, die die angegebenen Anwendungsfälle zeigt. LinkedIn behält sich ausdrücklich vor, Anträge zu prüfen und Partner nach eigenem Ermessen auszuwählen — auch wer die Mindestanforderungen erfüllt, hat keinen Anspruch auf die Hochstufung. zweck: vorher klären d-04anmeldung ### OAuth und Seitenrollen Die Berechtigungen sind laut Dokumentation Mitgliedsberechtigungen im dreibeinigen OAuth-Verfahren: Ein angemeldetes Mitglied stimmt der Anwendung zu, und es muss die passende Rolle auf der Unternehmensseite besitzen — die Verwaltung setzt die Administratorrolle voraus. Der Zugang hängt damit an einer Person; wer das ist und wie erneuert wird, gehört in die Betriebsdokumentation. zweck: berechtigung d-05versionen ### Versionierte Schnittstellen Die Marketing-Schnittstellen sind versioniert, und die Dokumentation weist regelmäßig auf abgekündigte Versionen und nötige Migrationen hin. Für ein Projekt heißt das: Eine Anbindung ist nichts, was einmal gebaut und dann vergessen wird. Wir planen sie als betreute Verbindung mit Überwachung ein, nicht als einmalige Lieferung. zweck: wartung einplanen d-06abruf ### Abruf und Zwischenspeicher Weil die Zugangsstufen mit Aufrufgrenzen arbeiten, ist der Zwischenspeicher keine Optimierung, sondern Voraussetzung. Ein geplanter Lauf holt die Beiträge in ruhigem Takt, schreibt sie ins CMS und protokolliert das Ergebnis. Die Zahl der Aufrufe hängt danach am Takt des Laufs — und nicht mehr an der Zahl der Besucher. zweck: entkopplung ### Was daraus auf der Seite entsteht Aus dem Abruf wird kein eingebetteter Kasten, sondern ein Bereich der Website. Die **Beiträge stehen als Karten oder Liste** im Layout der Seite, mit den Schriften und Farben der Website, in der Bildgröße, die dort ohnehin ausgeliefert wird. Jeder Beitrag trägt einen Verweis auf das Original in der Unternehmensseite — wer weiterlesen oder reagieren will, geht dorthin. Weil die Inhalte im CMS liegen, sind sie auch **kuratierbar**: Ein Beitrag lässt sich anheften, einer ausblenden, die Auswahl über eine Regel eingrenzen. Und weil sie als Text auf der eigenen Domain stehen, werden sie gefunden — von der internen [Suche](https://www.siteway.de/stack/suche/) ebenso wie von Suchmaschinen, ergänzt um [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern. Der Bereich hat dabei von Anfang an eine feste Struktur: Karten mit gleichbleibendem Aufbau, Bilder mit gesetzten Maßen, ein definierter Zustand für den Fall, dass gerade keine Beiträge vorliegen. Nichts verspringt nachträglich, weil nichts nachträglich kommt. auf der website - ▸Beiträge im **Look der Website** - ▸Bilder als **lokale Kopien** - ▸Verweis auf das **Original** - ▸Kuratierbar: **anheften, ausblenden** - ▸Auffindbar in **Suche & Index** - ▸Fester Aufbau, **kein Layout-Sprung** integration ## LinkedIn in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er steht und fällt mit einer Entscheidung: **Die Beiträge der Unternehmensseite werden serverseitig abgeholt und im CMS zwischengespeichert; das Frontend rendert sie als eigenes HTML.** Ein geplanter Lauf fragt die Beiträge ab, legt sie als Datensätze ab und zieht die Bilder als lokale Kopien nach. Was ein Besucher später bekommt, ist eine gewöhnliche Seite aus dem eigenen CMS — kein LinkedIn-Code im Browser, keine zusätzliche Verbindung, kein eingebetteter Rahmen. Das hat zwei Folgen, die den Unterschied ausmachen. Erstens bleibt die Seite **schnell und funktioniert bei einem Ausfall der Schnittstelle weiter**: Der Abruf liegt im Hintergrund, nicht im Ladepfad, und der zuletzt geholte Stand steht so lange, bis der nächste Lauf durchgeht. Zweitens liegt das **Zugriffstoken serverseitig** — in der Konfiguration des Systems oder in einer Umgebungsvariablen, nie in einem Template, nie im Repository, nie in etwas, das im Browser landet. Was sich zwischen den Systemen unterscheidet, sind nur die Bordmittel, mit denen wir das bauen. cms-01typo3 ### LinkedIn in TYPO3 Wir bauen die Anbindung als eigene Extension. Der Abruf läuft als Scheduler-Task: Er holt die Beiträge der Unternehmensseite, schreibt sie als Records mit eigenem TCA in einen Systemordner und legt die Bilder in der Dateiverwaltung ab. Die Redaktion sieht die Beiträge damit im Backend wie jeden anderen Inhalt und kann einzelne anheften oder ausblenden. Das Zugriffstoken steht in der Extension-Konfiguration statt im Template. Im Frontend gibt ein Fluid-Template die Datensätze aus, ein Content-Element setzt den Bereich auf jede Seite, die ihn braucht. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### LinkedIn in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den Theme-Wechsel. Die Beiträge werden ein Custom Post Type mit Meta-Feldern für Datum, Verweis und Medien, dazu eine Taxonomie, wenn nach Thema gefiltert werden soll. Der Abruf hängt an einem geplanten Lauf, der die neuen Beiträge anlegt und bestehende aktualisiert; die Bilder landen in der Mediathek und werden in den Größen des Themes ausgeliefert. Das Token steht in der wp-config.php oder in einer Umgebungsvariablen. Fürs Frontend kommen ein Block für den Editor und Template-Teile dazu. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### LinkedIn in Statamic Statamic läuft auf Laravel, und das macht diesen Teil angenehm gerade. Der Abruf wird ein Artisan-Command, den der Laravel-Scheduler regelmäßig aufruft und der sich jederzeit von Hand nachziehen lässt. Die Beiträge werden Entries in einer eigenen Collection, beschrieben über ein Blueprint mit Feldern für Text, Datum, Verweis und Bild; ein Fehlversuch landet im Log statt auf der Seite. Das Token steht in der .env und wird über die Konfiguration gelesen. Antlers oder Blade rendern die Entries — und weil Static Caching die Seiten ausliefert, kostet der Bereich beim Aufruf praktisch nichts. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Der Abruf gehört auf den Server technik, nicht **rechtsberatung** Der technische Sachverhalt ist schnell beschrieben: **Ein eingebettetes LinkedIn-Element lädt Code von fremden Servern in den Browser deiner Besucher.** Damit diese Auslieferung überhaupt funktionieren kann, geht die IP-Adresse an den Server, der die Daten schickt — und weil es sich um ein soziales Netzwerk handelt, kommen in aller Regel Wiedererkennungsmerkmale dazu, die weit über die Anzeige eines Beitrags hinausreichen. Das gilt für Beitrags-Einbettungen ebenso wie für Folgen- und Teilen-Schaltflächen. Deshalb ist der **serverseitige Abruf** bei siteway der Standardweg. Die Verbindung besteht zwischen deinem Server und LinkedIn, nicht zwischen deinen Besuchern und LinkedIn. Was im Browser ankommt, ist HTML von deiner Domain mit Bildern von deinem Server. Es wird nichts nachgeladen, es entsteht keine zusätzliche Verbindung, und der Verweis auf den Originalbeitrag ist ein gewöhnlicher Link, den nur betätigt, wer ihn betätigen will. Wo eine **echte Einbettung ausdrücklich gewünscht ist**, gilt derselbe Weg wie bei jedem Fremdinhalt: An ihrer Stelle steht zunächst ein beschrifteter Platzhalter, der benennt, was beim Laden passiert; erst nach aktiver Zustimmung wird nachgeladen. Die Einwilligung wird an einer zentralen Stelle verwaltet und lässt sich zurücknehmen — dann steht beim nächsten Aufruf wieder der Platzhalter. Dazu gehört die Seite der Zugangsdaten: Das **Zugriffstoken bleibt auf dem Server**, in der Systemkonfiguration oder einer Umgebungsvariablen, und taucht im Quelltext der Seite gar nicht erst auf. Wir beschreiben hier die Technik und ihre Umsetzung — die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen. Wie das im Zusammenhang der ganzen Website aussieht, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wer den Bestand einer vorhandenen Seite geprüft haben will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). ablauf auf der seite - 01Hintergrundlauf holt **die Beiträge** - 02Ablage **im CMS**, Bilder lokal - 03Seitenaufruf: **nur eigenes HTML** - 04Verweis aufs Original als **Link** - 05Einbettung nur **nach Einwilligung** - 06Token **serverseitig**, dokumentiert [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist die LinkedIn-API? LinkedIn bündelt seine Schnittstellen im LinkedIn Marketing API Program, dessen Dokumentation Microsoft veröffentlicht. Für eine Unternehmenswebsite ist davon vor allem ein Bereich interessant: die Community Management API. Sie deckt laut Dokumentation die Verwaltung von Unternehmensseiten ab — Seitendaten, Administratorrollen, Follower, Beiträge samt Kommentaren und Reaktionen sowie Auswertungen zu Seite und Beiträgen. Daneben stehen Bereiche für Werbung, Veranstaltungen, Leads und Zielgruppen, die mit einer Unternehmenswebsite in der Regel nichts zu tun haben. Wer von „LinkedIn auf der Website“ spricht, meint fast immer dasselbe: die Beiträge der eigenen Unternehmensseite, dargestellt im eigenen Layout. ### Kann ich LinkedIn-Beiträge auf meiner Website einbinden? Technisch ist der Weg klar, und er führt über den Server: Die Beiträge der Unternehmensseite werden serverseitig abgeholt, im CMS zwischengespeichert und vom Frontend als eigenes HTML ausgegeben. Im Browser der Besucher läuft dabei kein LinkedIn-Code. Der ehrliche Vorbehalt steht davor: Der Zugriff auf die Inhalte einer Unternehmensseite setzt eine Entwickleranwendung mit freigegebenem Zugang voraus, und diese Freigabe ist kein Häkchen in einer Oberfläche, sondern ein Antragsverfahren. Ob und in welchem Umfang sie erteilt wird, entscheidet LinkedIn. Deshalb steht die Klärung des Zugangs bei uns am Anfang eines Projekts und nicht am Ende — sie entscheidet mit darüber, wie der Bereich gebaut wird. ### Wie bekomme ich Zugang zur LinkedIn-Schnittstelle? Über eine Entwickleranwendung und ein Antragsverfahren, das die Dokumentation in zwei Stufen beschreibt. Die Entwicklungsstufe wird zuerst vergeben; sie ist zum Bauen und Testen gedacht, arbeitet mit Aufrufgrenzen je Anwendung und je Mitglied und ist laut Dokumentation darauf angelegt, dass die Integration innerhalb von zwölf Monaten fertiggestellt wird. Die Standardstufe ist die Stufe für den laufenden Betrieb ohne diese Beschränkungen; sie wird gesondert beantragt, und zum Antrag gehört eine Bildschirmaufnahme, die die angegebenen Anwendungsfälle zeigt. LinkedIn behält sich in der Dokumentation ausdrücklich vor, Anträge zu prüfen und Partner nach eigenem Ermessen auszuwählen — auch wer die Mindestanforderungen erfüllt, hat keinen Anspruch auf die Hochstufung. Genau deshalb ziehen wir diesen Punkt vor die Umsetzung. ### Was passiert, wenn der Zugang nicht kommt oder die Schnittstelle ausfällt? Dann steht die Seite trotzdem. Weil die Beiträge zwischengespeichert im CMS liegen und als eigenes HTML gerendert werden, ändert ein Ausfall der Schnittstelle nichts an der Auslieferung: Der zuletzt abgeholte Stand bleibt sichtbar, bis der nächste Abruf durchgeht. Und für den Fall, dass ein Zugang gar nicht zur Verfügung steht, gibt es den Weg, der immer trägt — dieselbe Darstellung, redaktionell gepflegt. Die Redaktion legt die Beiträge im CMS an und verweist auf die Unternehmensseite; auf der Website sieht der Bereich identisch aus. Beide Wege enden im selben Template, deshalb lässt sich später umschalten, ohne den Bereich neu zu bauen. ### Ist ein LinkedIn-Feed auf der Website datenschutzfreundlich? Das hängt daran, wo der Code läuft. Ein eingebettetes LinkedIn-Element lädt Code von fremden Servern in den Browser deiner Besucher; damit die Auslieferung überhaupt funktionieren kann, geht dabei die IP-Adresse mit, und häufig kommen Wiedererkennungsmerkmale dazu. Der Weg über den Server vermeidet das: Der Abruf passiert zwischen deinem Server und LinkedIn, die Besucher bekommen fertiges HTML von deiner Domain, und beim Seitenaufruf wird von fremder Stelle nichts nachgeladen. Wo eine echte Einbettung ausdrücklich gewünscht ist, kommt sie hinter eine Einwilligung und lädt erst nach aktiver Zustimmung. Die rechtliche Bewertung des Einzelfalls gehört in die Hand der Rechtsberatung — wir liefern die technische Umsetzung und die Dokumentation dazu. ### Bremst ein LinkedIn-Bereich die Ladezeit der Seite? In der Bauweise über den Server praktisch nicht. Ausgeliefert wird HTML aus dem eigenen CMS, mit Bildern vom eigenen Server in den Formaten und Größen, die die Seite ohnehin verwendet. Es kommt kein Skript von fremder Stelle dazu, keine zusätzliche Verbindung zu einem weiteren Host und kein Rahmen, dessen Höhe erst nach dem Laden feststeht. Der Netzwerkaufruf zu LinkedIn passiert in einem geplanten Lauf im Hintergrund und liegt damit außerhalb des Seitenaufrufs — ein langsamer oder ausfallender Abruf verzögert keine einzige Anfrage eines Besuchers. Ein eingebettetes Widget verhält sich umgekehrt: Es steht mitten im Ladepfad. ### Kommen Stellenanzeigen von LinkedIn auf meine Karriereseite? In der Regel läuft es andersherum. Die Stellen liegen im Bewerbermanagement- oder HR-System des Unternehmens, dort werden sie gepflegt und freigegeben, und von dort holt die Website sie ab — sie sind Inhalte der eigenen Domain, keine Kopien aus einem Netzwerk. Auf der Karriereseite bekommen sie strukturierte Daten, damit Suchmaschinen sie als Stellenanzeigen erkennen; das ist der Weg zu Google for Jobs. Die Unternehmensseite bei LinkedIn steht daneben und macht das, wofür sie gedacht ist: Sichtbarkeit im Netzwerk und der Verweis zurück auf die Karriereseite. Wer beides pflegt, bespielt zwei Kanäle aus einer Quelle. ### Lässt sich LinkedIn in TYPO3, WordPress oder Statamic einbinden? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: der Abruf als Scheduler-Task, die Beiträge als Records im Backend, das Zugriffstoken in der Extension-Konfiguration, die Ausgabe über ein Fluid-Template. In WordPress entsteht ein eigenes Plugin statt Theme-Code: die Beiträge als Custom Post Type, der Abruf als geplanter Lauf, das Token in der wp-config.php oder in einer Umgebungsvariablen. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler, die Beiträge als Entries in einer eigenen Collection, das Token in der .env. Die Mechanik ist überall dieselbe — serverseitig abholen, zwischenspeichern, selbst rendern —, nur die Bordmittel heißen anders. womit das zusammenhängt ## Womit das zusammenhängt baustein, technik & **grundlagen** - [Social Media Newsroom.](https://www.siteway.de/expertise/social-media-newsroom/) — Die Technik hier, der Baustein dort: Beiträge aus mehreren Kanälen als Feed auf der Website — kuratierbar, im eigenen Look, als buchbare Komponente. zur komponente → - [Meta.](https://www.siteway.de/stack/meta/) — Der zweite Kanal für viele Unternehmen: Facebook und Instagram an der Website — dieselbe Mechanik, andere Schnittstelle. zur technik → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Der Berührungspunkt zur Karriereseite: Stellen aus dem HR-System, strukturiert ausgezeichnet und in der Jobsuche auffindbar. zur technik → - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Wo die Stellen wirklich herkommen: Karriereseite mit Anbindung ans Bewerbermanagement, Bewerbungsstrecke und Auszeichnung. zur komponente → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Fremdcode ins Spiel kommt, wird es konkret: serverseitiger Abruf, Token in der Konfiguration, Einwilligung, Dokumentation. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Analyse, Zugang, Mapping, Umsetzung, Monitoring und Betrieb einer Anbindung — als buchbare Leistung beschrieben. zur leistung → LinkedIn-Beiträge auf der Website — ohne Fremdcode im Browser? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Mailchimp **Mailchimp** ist ein weit verbreiteter Dienst für E-Mail-Marketing — und er lässt sich an eine Website anbinden, ohne dass ein fremdes Formular in die Seite eingebettet wird. Für siteway heißt das: eigenes Anmeldeformular, eigener serverseitiger Endpunkt, und die Marketing-API dahinter. Diese Seite beschreibt, wie dieser Weg technisch aussieht — und wo das **Double-Opt-in** darin entsteht. stack system: mailchimp · e-mail-marketing weg: marketing-api format: json · https seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Mailchimp anbinden](#einsatz) definition ## Was ist Mailchimp? **Mailchimp ist ein weit verbreiteter Dienst für E-Mail-Marketing.** Newsletter werden dort geschrieben, versendet und ausgewertet; die Empfänger liegen in einer **Audience** — der Anbieter beschreibt sie als die Sammlung der eigenen Kontakte und empfiehlt, mit einer einzigen auszukommen und stattdessen innerhalb der Audience zu ordnen. Geordnet wird mit zwei Mitteln. **Merge-Felder** sind die zusätzlichen Datenfelder am Kontakt — Vorname, Nachname, was das Mailing sonst noch braucht. Sie gehören jeweils zu einer Audience und werden über ihr Merge-Tag angesprochen, etwa FNAME und LNAME. **Tags** sind Etiketten, die an einem Kontakt hängen und ihn einordnen: woher er kam, wofür er sich angemeldet hat. Für eine Website zählt vor allem der Weg nach draußen. Mailchimp bringt eigene, einbettbare Anmeldeformulare mit — und daneben eine öffentlich dokumentierte **Marketing-API**. Über sie lässt sich ein Kontakt aus einem selbst gebauten Formular heraus eintragen, mit Merge-Feldern und Tags. Genau dieser zweite Weg ist das Thema dieser Seite. Den fertigen Baustein für die Website — Formular, Bestätigung, Consent-Nachweis — beschreibt siteway in der Expertise unter [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/). $ cat mailchimp.md - ✓E-Mail-Marketing cloud · browser - ✓Audience zentrales datenmodell - ✓Merge-Felder je audience - ✓Tags active · inactive - ✓Marketing-API öffentlich dokumentiert - ✓Status pending → subscribed praxis ## Wie wir Mailchimp anbinden eigenes formular · **serverseitig** Die Kette hat vier Glieder, und sie ist in jedem Projekt dieselbe. **Erstens das Formular:** Es gehört zur Website, ist im eigenen Design gebaut, im eigenen Markup verankert und lässt sich mit Tastatur und Screenreader bedienen. Zwei, drei Felder reichen meistens — E-Mail-Adresse, vielleicht der Vorname für die Anrede, dazu die Einwilligung als bewusste Handlung. Wie wir Formulare grundsätzlich bauen, steht unter [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). **Zweitens der eigene Endpunkt.** Abgeschickt wird nicht zu Mailchimp, sondern an eine eigene Adresse auf demselben Server. Dort passieren die Dinge, die im Browser nichts zu suchen haben: Die Eingabe wird geprüft, Missbrauch wird gebremst, und der **API-Schlüssel liegt in der Server-Konfiguration** — nie im JavaScript, nie im HTML, nie in einem Repository. Aus dieser Trennung folgt ein angenehmer Nebeneffekt: Im Browser der Besucherin wird kein Fremdcode geladen, weil die Verbindung zum Dienst erst hinter der Website beginnt. **Drittens der Aufruf.** Der Server legt den Kontakt in der Audience an — mit dem Status, der zur Anmeldung über eine Website passt: pending. Damit verschickt Mailchimp die Bestätigungsmail, und erst der Klick auf den Link darin macht aus dem Kontakt einen eingetragenen Empfänger. Dazu gehen die vereinbarten Merge-Felder mit und der Tag, der später erkennen lässt, über welches Formular die Anmeldung kam. **Viertens die Rückmeldung.** Der Absender erfährt in klarer Sprache, was jetzt passiert: dass eine E-Mail unterwegs ist und dass die Anmeldung erst mit dem Klick darin gilt. Und er erfährt es auch dann, wenn etwas schiefgeht — bei einer ungültigen Adresse, bei einem bereits eingetragenen Kontakt, bei einem abgemeldeten. Nichts davon darf als weiße Seite oder als technischer Fehlertext enden. Und weil der Dienst irgendwann einmal nicht antwortet: Der Endpunkt protokolliert den Vorgang, versucht es mit Abstand erneut und meldet den Ausfall, statt die Anmeldung stillschweigend zu verlieren. Die buchbare Leistung dahinter beschreiben wir unter [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Formular **selbst gebaut**, im eigenen Design - 02Übergabe **serverseitig**, nicht im Browser - 03API-Schlüssel **nie im Frontend** - 04Status **pending** für das Double-Opt-in - 05Felder-Mapping **vor dem Code** - 06Fehlerfälle **sichtbar** beantworten [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation von Mailchimp — Pfade, Parameter und Statuswerte im Original. Alles, was dort nicht belegt ist, steht hier auch nicht. d-01zugang ### Schlüssel & Serverpräfix Die Basis-URL ist kontospezifisch: Sie beginnt mit dem Serverpräfix des Kontos, gefolgt von .api.mailchimp.com/3.0/ — etwa us6.api.mailchimp.com/3.0/. Das Präfix steht laut Dokumentation hinter dem Bindestrich am Ende des API-Schlüssels. Authentifiziert wird per Basic-Auth mit beliebigem Benutzernamen und dem Schlüssel als Passwort — alternativ per OAuth-2-Token. zweck: authentifizierung d-02eintrag ### Kontakt anlegen Ein Kontakt entsteht über POST auf /lists/{list_id}/members. Pflicht sind die E-Mail-Adresse und der Status; optional gehen Merge-Felder und Tags im selben Aufruf mit. Die list_id ist die Kennung der Audience — sie steht in jedem Pfad, der Kontakte betrifft. zweck: anmeldung d-03bestätigung ### Der Status entscheidet Dokumentiert sind vier Werte: subscribed, unsubscribed, cleaned und pending. Zu pending steht in der Dokumentation, dass dieser Wert zu verwenden ist, um eine Bestätigungsmail zu senden, und dass der Status nach der Bestätigung auf subscribed wechselt. Für eine Anmeldung über die Website ist das der richtige Weg. zweck: double-opt-in d-04aktualisieren ### Anlegen oder aktualisieren Für den zweiten Anlauf gibt es PUT auf /lists/{list_id}/members/{subscriber_hash}: Existiert der Kontakt, wird er aktualisiert, sonst mit dem Wert aus status_if_new angelegt. Der subscriber_hash ist der MD5-Hash der kleingeschriebenen E-Mail-Adresse und lässt sich serverseitig berechnen. zweck: keine dubletten d-05struktur ### Merge-Felder & Tags Merge-Felder werden je Audience unter /lists/{list_id}/merge-fields verwaltet und über ihr Merge-Tag angesprochen, etwa FNAME. Tags setzt ein POST auf /lists/{list_id}/members/{subscriber_hash}/tags — mit active zum Setzen und inactive zum Entfernen; ein noch nicht vorhandener Tag wird dabei neu angelegt. zweck: daten & einordnung d-06grenzen ### Fehler & Grenzen Die Dokumentation nennt eine Grenze von zehn gleichzeitig verarbeiteten Anfragen je Nutzer; darüber antwortet die API mit 429. Dazu kommt ein Zeitlimit von 120 Sekunden je Aufruf. Ein Anmeldeformular berührt das selten — ein Massenabgleich sehr wohl, und er wird entsprechend gedrosselt. zweck: stabiler betrieb ### Abmeldung und Löschung Eine Anmeldung ist nur die halbe Strecke. Die **Abmeldung** ist im Datenmodell eine Statusänderung: Der Kontakt bekommt unsubscribed und bleibt mit seiner Historie erhalten. Daneben steht das **Archivieren** über einen DELETE-Aufruf auf /lists/{list_id}/members/{subscriber_hash}. Und schließlich das **endgültige Löschen** über /lists/{list_id}/members/{subscriber_hash}/actions/delete-permanent, das alle personenbezogenen Daten des Kontakts entfernt. Die Dokumentation weist ausdrücklich darauf hin, dass sich dieser Kontakt danach nicht wieder importieren lässt — der Aufruf ist also kein Aufräumbefehl, sondern eine Entscheidung. Auf der Website planen wir beides von Anfang an mit ein: den Abmeldelink in jeder Mail, einen nachvollziehbaren Ablauf für Auskunfts- und Löschanfragen, und die Frage, was mit einer Adresse passiert, die sich nach der Abmeldung erneut anmeldet. Diese Fälle im Vorfeld zu klären, kostet ein Gespräch — sie später zu klären, kostet mehr. zustände eines kontakts - ▸**pending** — bestätigung steht aus - ▸**subscribed** — empfängt kampagnen - ▸**unsubscribed** — abgemeldet - ▸**cleaned** — adresse kam zurück - ▸archivieren **per DELETE** - ▸löschen **endgültig**, nicht rückholbar integration ## Mailchimp in deine Website integrieren drei systeme · **ein muster** Der Weg, den wir bauen, ist zuerst einmal **systemunabhängig**. Auf der Seite steht ein eigenes Anmeldeformular im Design der Website — dieselbe Typografie, dieselben Abstände, dieselben Fehlermeldungen wie überall sonst. Es schickt seine Daten an einen serverseitigen Endpunkt derselben Website. Dort liegt der **API-Schlüssel**, dort wird die Eingabe geprüft, und von dort geht der Aufruf an die Marketing-API: Eintrag in die Audience mit dem Status pending, also ausstehend. Mailchimp verschickt daraufhin seine Bestätigungsmail; erst der Klick auf den Link darin macht aus dem Eintrag einen bestätigten Empfänger. Zurück zum Absender geht eine **verständliche Rückmeldung** — dass eine E-Mail unterwegs ist, dass die Anmeldung erst mit dem Klick gilt, und im Fehlerfall, was genau nicht funktioniert hat. Diese vier Glieder — Formular, Endpunkt, API-Aufruf, Antwort — sind in jedem CMS dieselben. Was sich unterscheidet, ist die Stelle, an der jedes Glied im System sitzt: wo das Formular als Inhaltselement liegt, wie die Route entsteht, wo der Schlüssel hinterlegt wird und womit die Ausgabe gerendert wird. cms-01typo3 ### Mailchimp in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Das Anmeldeformular wird darin zum Plugin-Element: Die Redaktion platziert es auf jeder Seite, in jeder Spalte, so oft sie will — im Backend sichtbar wie jedes andere Inhaltselement. Der Endpunkt entsteht als serverseitige Route mit passender Middleware; sie nimmt das abgeschickte Formular entgegen, prüft die Eingabe und ruft die Marketing-API auf. Gerendert wird über Fluid, also mit denselben Templates und Partials wie der Rest der Website. Der API-Schlüssel und die Kennung der Audience liegen in der Extension-Konfiguration und damit außerhalb des Frontends. Mehrsprachige Auftritte bekommen ihre Beschriftungen und Hinweistexte über die Sprachdateien der Extension. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Mailchimp in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so übersteht sie einen Theme-Wechsel und lässt sich unabhängig vom Design aktualisieren. Den Endpunkt bildet eine eigene REST-Route: Sie nimmt die Formulardaten entgegen, prüft sie serverseitig und spricht von dort aus die Marketing-API an. Der API-Schlüssel steht in der wp-config.php oder in einer Umgebungsvariablen, nicht in der Datenbank und nicht im ausgelieferten Markup. Fürs Frontend kommen Template-Dateien dazu sowie Blocks für den Editor, damit die Redaktion das Anmeldeformular dort setzt, wo es hingehört — im Beitrag, in einer Seitenleiste oder unter einem Artikel. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Mailchimp in Statamic Statamic läuft auf Laravel — und damit liegt der Endpunkt genau dort, wo man ihn erwartet: eine Route plus Controller, mit der Validierung als eigenem Schritt davor. Das Formularmodell beschreibt ein Blueprint: welche Felder es gibt, welche Pflicht sind, wie sie beschriftet werden und welches Feld auf welches Merge-Feld geht. Der API-Schlüssel und die Kennung der Audience stehen in der .env-Datei und werden über die Konfiguration gelesen. Gerendert wird mit Antlers oder Blade, also mit denselben Mitteln wie der Rest des Frontends. Läuft Static Caching, bleibt das Formular davon unberührt, weil der Endpunkt eine eigene Route ist und nicht Teil der zwischengespeicherten Seite. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Was vorher zu klären ist sachlich, kein **rechtsrat** Eine E-Mail-Adresse ist ein personenbezogenes Datum, und sie wird bei einer Newsletter-Anmeldung an einen Dienstleister übergeben. **Mailchimp wird von der The Rocket Science Group LLC betrieben, einem Unternehmen aus den USA** — daraus folgen zwei Punkte, die vor dem Go-live geklärt gehören: die Auftragsverarbeitung und der Datentransfer. Der Anbieter stellt dafür ein **Data Processing Addendum** bereit. Darin beschreibt er sich als Auftragsverarbeiter, der Kundendaten im Auftrag verarbeitet, und benennt als Grundlagen für die Übermittlung unter anderem die Standardvertragsklauseln und den EU-US Data Privacy Framework. Dass es dieses Dokument gibt, ist eine Tatsache; wie es im konkreten Fall zu bewerten ist, entscheidet ihr mit eurer Rechtsberatung. Wer die Verarbeitung innerhalb der EU halten möchte, wählt einen Anbieter, der genau das zusichert — an der Technik der Anbindung ändert das nichts. Die Schwesterseiten zu [CleverReach](https://www.siteway.de/stack/cleverreach/) und [rapidmail](https://www.siteway.de/stack/rapidmail/) beschreiben deren Schnittstellen im selben Aufbau. Was wir technisch beisteuern, ist die **saubere Seite der Website**. Datensparsamkeit im Formular: nur Felder, die sich begründen lassen. Die Einwilligung als bewusste Handlung, getrennt vom Absenden und mit klarer Beschreibung, wofür sie gilt. Die Übertragung ausschließlich serverseitig über TLS. Das Double-Opt-in über den Status pending, sodass ein Nachweis entsteht, statt behauptet zu werden. Und benannte Wege für Abmeldung und Löschung, bevor die erste Anfrage kommt. Ein Nebeneffekt der Bauweise gehört hierher: Weil das Formular selbst gebaut ist und die Übergabe serverseitig läuft, lädt **im Browser der Besucherin kein Fremdcode**. Der Browser spricht mit der Website, die Website spricht mit dem Dienst. Wie wir Seiten grundsätzlich trackingfrei und mit sauberen Security-Headern ausliefern, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). checkliste vor dem go-live - ▸Auftragsverarbeitung **geklärt** - ▸Datentransfer **bewertet** - ▸Einwilligung **aktiv & getrennt** vom Absenden - ▸Double-Opt-in **nachweisbar** - ▸Datenschutzerklärung **ergänzt** - ▸Abmeldung & Löschung **benannt** [datenschutz-audit ansehen →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist Mailchimp? Mailchimp ist ein weit verbreiteter Dienst für E-Mail-Marketing. Kontakte liegen dort in einer Audience — Mailchimp selbst beschreibt sie als die Sammlung deiner Kontakte und empfiehlt, mit einer einzigen auszukommen. An jedem Kontakt hängen Merge-Felder für zusätzliche Daten wie Vor- und Nachname und Tags zur Einordnung. Für die Website ist vor allem eines wichtig: Mailchimp dokumentiert seine Marketing-API öffentlich, sodass eine Anmeldung nicht über ein eingebettetes Fremdformular laufen muss, sondern über ein eigenes Formular und einen serverseitigen Endpunkt gehen kann. ### Wie kommt eine Newsletter-Anmeldung von der Website nach Mailchimp? Über einen serverseitigen Zwischenschritt. Das Anmeldeformular gehört zur Website, ist also im eigenen Design gebaut und im eigenen Markup verankert. Abgeschickt wird es an einen eigenen Endpunkt auf demselben Server. Dort wird die Eingabe geprüft, und erst von dort geht der Aufruf an die Marketing-API. Die Basis-URL ist dabei kontospezifisch: Sie beginnt mit dem Serverpräfix des Kontos, gefolgt von .api.mailchimp.com/3.0/ — also etwa us6.api.mailchimp.com/3.0/. Das Serverpräfix steht laut Dokumentation hinter dem Bindestrich am Ende des API-Schlüssels. Authentifiziert wird per HTTP-Basic-Authentifizierung, bei der ein beliebiger Benutzername und der API-Schlüssel als Passwort übergeben werden; alternativ ist ein OAuth-2-Token möglich. Der Kontakt selbst entsteht über einen POST-Aufruf auf /lists/{list_id}/members mit E-Mail-Adresse und Status. ### Löst die API die Bestätigungsmail für das Double-Opt-in aus? Ja, und zwar über den Status, mit dem der Kontakt angelegt wird. Die Dokumentation nennt vier Werte: subscribed für einen Kontakt, der Kampagnen empfangen kann, unsubscribed für einen abgemeldeten, cleaned für einen, dessen Adresse zurückgekommen ist, und pending für einen, der die Aufnahme mit Double-Opt-in angefragt, aber noch nicht bestätigt hat. Zu pending steht dort wörtlich, dass dieser Wert zu verwenden ist, um eine Bestätigungsmail zu senden, und dass der Status nach der Bestätigung auf subscribed wechselt. Für eine Anmeldung über die Website ist deshalb pending der richtige Weg: Die Bestätigungsmail verschickt Mailchimp, der Link darin führt zurück zum Dienst, und erst danach ist der Kontakt eingetragen. Der Wert subscribed trägt dagegen direkt ein, ohne Bestätigungsschritt. ### Was sind Audience, Merge-Felder und Tags? Die drei Bausteine des Datenmodells. Die Audience ist der Verteiler, in dem die Kontakte liegen; jeder API-Aufruf für Kontakte trägt ihre Kennung als list_id im Pfad. Merge-Felder sind die zusätzlichen Datenfelder am Kontakt, verwaltet je Audience unter /lists/{list_id}/merge-fields und angesprochen über ihr Merge-Tag, etwa FNAME und LNAME. Tags sind Etiketten zur Einordnung; sie werden über /lists/{list_id}/members/{subscriber_hash}/tags gesetzt, mit dem Status active zum Setzen und inactive zum Entfernen, und ein noch nicht vorhandener Tag wird beim Setzen neu angelegt. Für die Website heißt das: Welches Formularfeld auf welches Merge-Feld geht und welcher Tag ein Anmeldeformular kennzeichnet, wird vor dem Bauen festgelegt — nicht nachträglich im Verteiler aufgeräumt. ### Was passiert, wenn eine Adresse schon in der Audience liegt? Dafür gibt es einen eigenen, dokumentierten Weg. Neben dem POST-Aufruf zum Anlegen kennt die API den PUT-Aufruf auf /lists/{list_id}/members/{subscriber_hash}: Existiert der Kontakt, wird er aktualisiert; existiert er nicht, wird er mit dem Wert aus status_if_new angelegt — auch hier stehen subscribed, unsubscribed, cleaned und pending zur Auswahl. Der subscriber_hash ist dabei kein Zufallswert, sondern der MD5-Hash der kleingeschriebenen E-Mail-Adresse, lässt sich also auf dem eigenen Server berechnen. Wichtig ist die Rückmeldung nach vorn: Der Absender bekommt eine verständliche Antwort, statt in einen technischen Fehler zu laufen, und bei einem bereits eingetragenen oder abgemeldeten Kontakt entscheidet die Fehlerbehandlung, was angezeigt wird. ### Wie laufen Abmeldung und Löschung? Beides sind zwei verschiedene Dinge, und beide sind dokumentiert. Die Abmeldung ist eine Statusänderung: Der Kontakt bekommt den Status unsubscribed und bleibt mit seiner Historie erhalten. Daneben steht das Archivieren über einen DELETE-Aufruf auf /lists/{list_id}/members/{subscriber_hash}. Und schließlich gibt es das endgültige Löschen über /lists/{list_id}/members/{subscriber_hash}/actions/delete-permanent, das alle personenbezogenen Daten des Kontakts entfernt; die Dokumentation weist darauf hin, dass sich dieser Kontakt danach nicht wieder importieren lässt. Auf der Website planen wir beide Wege mit ein: den Abmeldelink in jeder Mail und einen Ablauf für Auskunfts- und Löschanfragen, damit sie nicht am Support hängen bleiben. ### Was ist beim Datenschutz zu beachten, wenn Mailchimp ein US-Anbieter ist? Mailchimp wird von der The Rocket Science Group LLC betrieben, einem Unternehmen aus den USA. Damit sind zwei Punkte zu klären, bevor die Anbindung live geht: die Auftragsverarbeitung und der Datentransfer. Der Anbieter stellt dafür ein Data Processing Addendum bereit, in dem er sich als Auftragsverarbeiter beschreibt und das die Standardvertragsklauseln sowie den EU-US Data Privacy Framework als Grundlagen für die Übermittlung benennt. Was davon im konkreten Fall trägt, gehört in die Bewertung durch die eigene Rechtsberatung — wir liefern die technische Seite: Datensparsamkeit im Formular, serverseitige Übertragung, dokumentiertes Double-Opt-in, benannte Löschwege. Wer die Verarbeitung innerhalb der EU halten möchte, entscheidet sich für einen Anbieter, der genau das zusichert; die Technik der Anbindung bleibt dieselbe. ### Lässt sich Mailchimp in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien — und zwar so, dass die Anbindung Teil der Website ist und nicht daneben liegt. In TYPO3 bauen wir eine eigene Extension: das Anmeldeformular als Plugin-Element, das die Redaktion auf jeder Seite platziert, eine serverseitige Route mit passender Middleware als Endpunkt, Fluid für die Ausgabe und den API-Schlüssel in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code, damit die Anbindung einen Theme-Wechsel übersteht: eine eigene REST-Route nimmt das Formular entgegen, der Schlüssel liegt in der wp-config.php oder in einer Umgebungsvariablen, ausgegeben wird über Template-Dateien und Blocks für den Editor. In Statamic liegt Laravel darunter: Route plus Controller als Endpunkt, ein Blueprint für das Formularmodell, der Schlüssel in der .env-Datei, gerendert mit Antlers oder Blade. Gemeinsam ist allen dreien, dass der Schlüssel serverseitig bleibt und im Browser der Besucherin kein Fremdcode geladen wird. womit das zusammenhängt ## Womit das zusammenhängt dienste & **leistung** - [CleverReach.](https://www.siteway.de/stack/cleverreach/) — Derselbe Aufbau bei einem anderen Dienst: eigenes Formular, serverseitiger Endpunkt, Eintrag mit Bestätigungsschritt. zur technik → - [Brevo.](https://www.siteway.de/stack/brevo/) — E-Mail-Marketing mit eigener Schnittstelle — andere Begriffe, dieselbe Frage: Wo entsteht die Bestätigung? zur technik → - [rapidmail.](https://www.siteway.de/stack/rapidmail/) — Ein weiterer Versanddienst mit dokumentierter Schnittstelle — und die Alternative, wenn der Verarbeitungsort den Ausschlag gibt. zur technik → - [ActiveCampaign.](https://www.siteway.de/stack/activecampaign/) — Wenn aus dem Newsletter Automatisierung wird: Kontakte, Tags und Strecken — angebunden nach demselben Muster. zur technik → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Der Baustein für die Website: Anmeldeformular, Double-Opt-in, Abmeldung und Consent-Nachweis. Hier wird gebucht. zur leistung → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. zur leistung → Newsletter-Anmeldung auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Mapbox **Mapbox** ist eine Kartenplattform, deren Kern nicht die Karte ist, sondern ihre **Gestaltung**. Farben, Beschriftungen, sichtbare Ebenen, Zoomstufen — das Kartenbild wird vorab gebaut und von der Website geladen. siteway setzt Mapbox dort ein, wo die Karte selbst zum Gestaltungselement wird. Diese Seite beschreibt die Technik dahinter: Style, Standortdaten, Token und den Weg ins CMS. stack system: mapbox · kartenplattform kern: eigener karten-style daten: u. a. openstreetmap seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Mapbox einbinden](#einsatz) definition ## Was ist Mapbox? **Mapbox ist eine Kartenplattform für Websites und Apps.** Sie liefert Kartendaten, eine Bibliothek, die daraus im Browser eine Karte rendert, und einige Dienste drumherum — Adresssuche, statische Kartenbilder, eigene Datenebenen. Die Kartendaten stammen aus mehreren Quellen; die vorgeschriebene Quellenangabe nennt neben Mapbox ausdrücklich **OpenStreetMap**, bei Satellitenansichten zusätzlich den Bildlieferanten. Der eigentliche Grund, Mapbox zu wählen, ist aber ein anderer: der **Style**. In der Dokumentation ist das ein Konfigurationsdokument, das das visuelle Erscheinungsbild einer Karte festlegt — Farben, Schriften, Linienbreiten, die Reihenfolge der Ebenen und mehr. Gebaut wird er im visuellen Editor Mapbox Studio, veröffentlicht unter einer eigenen Style-URL, die die Website beim Laden der Karte angibt. Das Kartenbild ist damit nicht Beiwerk, sondern Entwurf. Technisch trägt das ein Prinzip: Vektor-Tiles enthalten Geometrien und Metadaten, aber laut Dokumentation **keine eigenen Stileigenschaften**. Gerendert wird erst im Browser, aus Daten plus Stilregeln. Genau deshalb lässt sich dieselbe Karte in völlig unterschiedlichen Farbwelten ausspielen — hell, dunkel, reduziert, plakativ. Wie wir eine Karte als buchbaren Baustein in eine Website einbauen, steht unter [Karten & Standorte](https://www.siteway.de/expertise/karten-standorte/); hier geht es um die Schnittstelle darunter. $ cat mapbox.md - ✓Karten-Style frei gestaltbar - ✓Mapbox Studio visueller editor - ✓Vektor-Tiles rendering im browser - ✓Geocoding adresse ↔ koordinaten - ✓Statische Kartenbilder ohne bibliothek - ✓Zugriffstoken domainbeschränkbar praxis ## Wie wir Mapbox einbinden erst der style, **dann die karte** Die Arbeit beginnt nicht im Code, sondern im **Kartenbild**. Wir bauen den Style vorab: Farbwerte für Wasser, Grün, Bebauung und Straßen, Linienstärken je Straßenklasse, Schrift und Größe der Beschriftungen, die Reihenfolge der Ebenen — und die Entscheidung, welche Ebene ab welcher Zoomstufe überhaupt erscheint. Eine Karte, die nur Standorte zeigen soll, braucht keine Hausnummern; eine Karte, die eine Reise erzählt, braucht sie ab einem bestimmten Punkt sehr wohl. Der fertige Style wird veröffentlicht, die Website lädt ihn über seine Style-URL. Zwei Varianten für hell und dunkel gehören dazu, weil die Seite beide Modi kennt. Die **Standortdaten** liegen im [CMS](https://www.siteway.de/stack/cms-redaktion/), nicht im JavaScript. Ein Standort ist eine eigene Inhaltsart mit Name, Adresse, Öffnungszeiten, Bild und Beschreibung, dazu zwei Feldern für Breiten- und Längengrad. Gefüllt werden die Koordinaten per Geocoding — serverseitig, beim Speichern oder in einem geplanten Lauf, nicht bei jedem Seitenaufruf. Die Redaktion pflegt eine Adresse und muss nie eine Koordinate abtippen. Im Frontend lädt die Karte **erst nach Einwilligung**. Davor steht ein Platzhalter, der schon etwas taugt: ein statisches Kartenbild aus dem eigenen Bestand oder die Standortliste mit Adresse, Öffnungszeiten und Anfahrtslink. Erst mit der Zustimmung werden Bibliothek, Style und Kacheln nachgeladen. Das ist zugleich der [Performance](https://www.siteway.de/stack/performance/)-Gewinn: Eine Kartenbibliothek ist schwer, und was nicht beim ersten Aufruf lädt, belastet die Core Web Vitals nicht. Neben der Karte steht immer eine **bedienbare Liste** derselben Standorte — echte Überschriften, echte Links, in der Tastaturreihenfolge erreichbar. Ziehen und Zoomen sind mit Tastatur und Screenreader schwer zu bedienen; die Liste ist der gleichwertige Zugang zum selben Inhalt, nicht die Notlösung. Mehr dazu unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/). Und der **Zugriffstoken**: Im Browser läuft ausschließlich ein öffentlicher Token, beschränkt auf die eigenen Domains. Alles, was mehr Rechte braucht — Geocoding im Hintergrund, Style-Verwaltung, das Erzeugen eigener Datenebenen — bleibt auf dem Server. Die Quellenangabe der Karte bleibt sichtbar; ihre Schriftfarbe und Größe passen wir dem Design an, das Logo nicht. Wie wir Schnittstellen insgesamt planen und betreiben, steht in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst der **Style**, dann die Karte - 02Standorte **ins CMS**, nicht ins Skript - 03Karte lädt **nach Einwilligung** - 04Token **domainbeschränkt**, je Zweck getrennt - 05Geocoding **serverseitig** und gespeichert - 06Liste **neben der Karte** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Mapbox — Begriffe, Endpunkte und Grenzwerte im Original. Was sie nicht hergibt, steht hier auch nicht: Tarife, Kontingente und Preismodelle ändern sich, deshalb prüfen wir sie im Projekt statt sie hier zu behaupten. d-01gestaltung ### Style & Studio Ein Style ist ein Konfigurationsdokument für das Erscheinungsbild der Karte: Farben, Schriften, Linienbreiten, Ebenenreihenfolge. Gebaut wird er im visuellen Editor Mapbox Studio, benutzt über seine Style-URL nach dem Muster mapbox://styles/{owner}/{style_id}. zweck: kartenbild d-02ebenen ### Ebenen & Zoomstufen Der Style verweist auf Datenquellen und beschreibt je Ebene, wie sie dargestellt wird. Damit lässt sich steuern, was sichtbar ist und ab welcher Zoomstufe: Beschriftungen reduzieren, Straßenklassen staffeln, ganze Ebenen ausblenden — ohne die Daten anzufassen. zweck: lesbarkeit d-03frontend ### Rendering im Browser Die Kartenbibliothek von Mapbox rendert die Karte per WebGL im Browser — Vektor-Tiles plus Stilregeln, nicht fertige Bildkacheln vom Server. Für die Initialisierung braucht sie drei Angaben: Zugriffstoken, Ziel-Element im Markup und Style-URL. zweck: interaktive karte d-04adressen ### Geocoding Adresse zu Koordinaten und zurück, über getrennte Endpunkte für forward, reverse und batch. Wichtig für eine Website: Die Doku unterscheidet temporäre und dauerhafte Ergebnisse — nur die dauerhafte Variante darf gespeichert werden, und genau das braucht ein CMS. zweck: koordinaten d-05platzhalter ### Statische Kartenbilder Die Static Images API liefert eigenständige Kartenbilder aus einem Studio-Style, die sich laut Doku ohne Kartenbibliothek anzeigen lassen — als PNG, JPEG oder WebP, mit Breite und Höhe zwischen 1 und 1280 Pixeln und optional in doppelter Auflösung. zweck: bild statt bibliothek d-06eigene daten ### Eigene Datenebenen Tilesets halten Kartendaten in einem festen Format; Vektor-Tilesets speichern Geometrien wie Punkte, Linien und Flächen samt Metadaten. Eigene Daten lassen sich als eigenes Tileset erzeugen — der Weg für Netze aus sehr vielen Punkten oder eigene Gebietsgrenzen. zweck: viele marker ### Den Zugriffstoken absichern Jede Kartenanfrage trägt einen **Zugriffstoken**, und der steht im Browser für jeden lesbar da. Deshalb gilt die Regel, die die Dokumentation selbst formuliert: erlaubte URLs hinterlegen. Ist eine solche Liste gesetzt, funktioniert der Token nur noch für Anfragen, die von diesen Adressen kommen — abgeschrieben und auf einer fremden Seite eingesetzt, ist er wertlos. Dazu kommt die **Trennung nach Zweck**. Im Browser läuft ausschließlich ein Token mit öffentlichen Rechten; alles, was geheime Rechte braucht, läuft serverseitig — so steht es in der Doku, und so bauen wir es. Je Anwendung ein eigener Token, damit sich die Nutzung zuordnen lässt. Token lassen sich jederzeit austauschen, wenn ein Verdacht besteht. Bleibt der Blick auf die **Nutzung**. Kartenaufrufe werden gezählt, und eine Karte auf einer stark besuchten Seite zählt schnell. Wir klären die Kontingente des gewählten Tarifs vor dem Go-live, beobachten die Nutzung je Token und bauen so, dass sie niedrig bleibt: die Karte erst nach Einwilligung, ein statisches Kartenbild als Platzhalter, keine Karte auf Seiten, die keine braucht. token-hygiene - ▸Öffentlicher Token **auf Domains beschränkt** - ▸Ein **eigener Token** je Anwendung - ▸Geheime Rechte **nur serverseitig** - ▸Token jederzeit **austauschbar** halten - ▸Nutzung je Token **beobachten** - ▸Quellenangabe **sichtbar lassen** integration ## Mapbox in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er beginnt beim Ausliefern: Die **Karte lädt erst nach Einwilligung**. Bis dahin steht an ihrer Stelle ein Platzhalter, der bereits Auskunft gibt — ein statisches Kartenbild aus dem eigenen Bestand oder die Standortliste mit Adresse, Öffnungszeiten und Anfahrtslink. Erst der Klick auf die Zustimmung lädt Bibliothek, Style und Kacheln nach. Das ist keine Zusatzarbeit, sondern die Bauweise: Die Seite muss auch ohne geladene Karte vollständig funktionieren, sonst ist die Einwilligung keine echte Wahl. Darunter liegt eine klare Aufteilung. **Kartendaten und Marker liegen im CMS** — Standorte als eigene Inhaltsart mit Koordinatenfeldern, gepflegt von der Redaktion, ausgeliefert aus dem eigenen Bestand. Das **Kartenbild kommt aus dem selbst gestalteten Style**, den die Website über seine Style-URL lädt. Der **Zugriffstoken** steht in der Konfiguration des Systems, nicht im Template, und ist auf die eigenen Domains beschränkt. Und das **Geocoding läuft serverseitig**, beim Speichern oder in einem geplanten Lauf, damit weder ein Schlüssel noch eine Besucheranfrage im Browser landet. Was sich zwischen den Systemen unterscheidet, sind die Werkzeuge — nicht die Kette. cms-01typo3 ### Mapbox in TYPO3 In TYPO3 bauen wir die Anbindung als eigene Extension. Standorte sind Records in einem Systemordner, ihr Datenmodell beschreibt das TCA — mit den Feldern für Adresse und Kontakt und zwei Feldern für Breiten- und Längengrad. Das Geocoding läuft als Scheduler-Task und trägt die Koordinaten nach, sobald eine Adresse neu ist oder sich geändert hat. Der Zugriffstoken liegt in der Extension-Konfiguration, nicht im Template. Im Frontend rendert Fluid zuerst den Consent-Platzhalter samt Standortliste und tauscht ihn nach der Zustimmung gegen die Karte; die Standortdaten kommen dabei als Datenattribute aus denselben Records. Die Redaktion pflegt Standorte im Backend wie jeden anderen Inhalt. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Mapbox in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den nächsten Theme-Wechsel. Die Standorte werden ein Custom Post Type mit Meta-Feldern für Adresse, Kontakt und Koordinaten, dazu Taxonomien für Filter wie Region oder Standorttyp. Das Geocoding läuft beim Speichern serverseitig und schreibt die Koordinaten direkt in die Meta-Felder. Der Zugriffstoken steht in der wp-config.php oder in einer Umgebungsvariable. Fürs Frontend kommen ein Block für den Editor und Template-Dateien dazu, die den Consent-Platzhalter, die Standortliste und die Karte ausgeben. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Mapbox in Statamic Statamic läuft auf Laravel, und das macht den Weg kurz. Ein Blueprint beschreibt den Standort als Entry in einer eigenen Collection, mit Feldern für Adresse, Kontakt und den beiden Koordinatenfeldern. Das Geocoding übernimmt ein Artisan-Command, den der Laravel-Scheduler regelmäßig aufruft oder der nach dem Speichern läuft. Der Zugriffstoken liegt in der .env-Datei und wird über die Konfiguration gelesen. Antlers oder Blade rendern Platzhalter, Standortliste und Karte aus denselben Entries; Static Caching liefert die Seite aus, ohne dass die Karte darin steckt — sie kommt erst nach der Zustimmung dazu. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Was vorher zu klären ist sachlich, kein **rechtsrat** Eine interaktive Karte lädt **Kartenkacheln, Schriften und Symbole von einem externen Dienst** nach. Dabei geht die IP-Adresse der Besucherin an diesen Dienst — das ist keine Einstellungssache, sondern liegt in der Natur der Sache: Ohne Anfrage kein Kartenbild. Auf einer Website, die sonst **ohne Tracking und ohne Fremdcode** auskommt, ist die Karte damit der eine Punkt, an dem etwas nach außen geht. Deshalb behandeln wir sie auch so: **Consent-Platzhalter** statt Karte beim ersten Aufruf, Laden erst nach Zustimmung, und ein Platzhalter, der die Auskunft schon selbst gibt — statisches Kartenbild aus dem eigenen Bestand oder Standortliste mit Adresse und Anfahrtslink. Wer nicht zustimmt, sieht trotzdem, wo der Standort liegt. Zwei Dinge kommen technisch dazu. Das **Geocoding läuft serverseitig**: Gibt jemand eine Postleitzahl in eine Umkreissuche ein, spricht unser Server mit dem Dienst, nicht der Browser der Besucherin — ihre IP-Adresse bleibt außen vor. Und der Zugriffstoken liegt in der Konfiguration, domainbeschränkt, mit öffentlichen Rechten im Browser und geheimen Rechten ausschließlich auf dem Server. Was daraus rechtlich folgt, entscheidet ihr mit eurer Rechtsberatung — wir liefern die Technik und die Dokumentation dazu: welcher Dienst wann geladen wird, was dabei übertragen wird und wie die Einwilligung erfasst ist. Wie wir Seiten grundsätzlich trackingfrei und mit sauberen Security-Headern ausliefern, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Wer den Bestand prüfen lassen will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). checkliste vor dem go-live - ▸Karte lädt **erst nach Einwilligung** - ▸Platzhalter **gibt schon Auskunft** - ▸Geocoding **serverseitig** - ▸Token **domainbeschränkt** - ▸Dienst in der **Datenschutzerklärung** benannt - ▸Standortliste **ohne Karte bedienbar** [datenschutz-audit ansehen →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist Mapbox? Mapbox ist eine Kartenplattform für Websites und Apps. Ihr Kern ist der Karten-Style: ein Konfigurationsdokument, das laut Dokumentation das visuelle Erscheinungsbild einer Karte festlegt — Farben, Schriften, Linienbreiten, die Reihenfolge der Ebenen und mehr. Gebaut wird ein solcher Style im visuellen Editor Mapbox Studio, veröffentlicht wird er unter einer eigenen Style-URL, die die Website beim Laden der Karte angibt. Die Kartendaten stammen aus mehreren Quellen; die vorgeschriebene Attribution nennt neben Mapbox ausdrücklich OpenStreetMap, bei Satellitenansichten zusätzlich den Bildlieferanten. Rund um die Karte stehen weitere Bausteine bereit: eine Geocoding-API, statische Kartenbilder und eigene Datenebenen. ### Was lässt sich an einer Mapbox-Karte gestalten? Das Kartenbild selbst. Der Style beschreibt, welche Datenebenen überhaupt sichtbar sind und wie sie aussehen: Farbwerte für Wasser, Grünflächen, Bebauung und Straßen, Linienstärken je Straßenklasse, Schriftart und Größe der Beschriftungen, Symbole, die Reihenfolge der Ebenen und ab welcher Zoomstufe eine Ebene erscheint. Vektor-Tiles bringen ausdrücklich keine eigenen Stileigenschaften mit — gerendert wird im Browser aus Daten plus Stilregeln, und deshalb ist das Aussehen frei bestimmbar. Praktisch heißt das: eine Karte in der Farbwelt der Marke, in hell und dunkel, mit reduzierter Beschriftung dort, wo sie stören würde. Nicht gestaltbar ist die Attribution — Logo und Quellenangabe bleiben sichtbar, ihre Schriftfarbe und Größe dürfen sich dem Design anpassen. ### Wann ist Mapbox die richtige Wahl und wann die Google-Maps-API? In der Regel arbeiten wir mit der Google-Maps-API, weil sie das dichteste Adress- und Routing-Material liefert — Filialfinder, Umkreissuche, Anfahrt. Mapbox kommt dort zum Zug, wo die Karte selbst zum Gestaltungselement wird: eigene Farbwelt, eigene Ebenen, ein Kartenbild, das zur Marke gehört statt zum Anbieter. Ein Zoomweg vom Kontinent bis zur Straße, der durchgehend im eigenen Look bleibt, eine Karte als Bühne für Inhalte, eine Datenebene, die neben den Basisdaten liegt: das ist Mapbox-Terrain. Die Frage wird im Konzept beantwortet, nicht im Angebot — und sie hängt am Zweck der Karte, nicht am Geschmack. ### Wie kommen die Standorte auf die Karte? Aus dem CMS. Die Redaktion pflegt einen Standort wie jeden anderen Inhalt — Name, Adresse, Öffnungszeiten, Bild, Beschreibung — und das Datenmodell bekommt zwei zusätzliche Felder für Breiten- und Längengrad. Gefüllt werden sie über Geocoding: Die Adresse geht an den Geocoding-Dienst, zurück kommen Koordinaten, die im Datensatz gespeichert werden. Das läuft serverseitig und einmalig beim Speichern oder in einem geplanten Lauf, nicht bei jedem Seitenaufruf. Wichtig dabei: Die Dokumentation unterscheidet temporäres und dauerhaftes Geocoding, und nur die dauerhafte Variante erlaubt es, Ergebnisse zu speichern. Das gehört vor dem Bauen geklärt. Im Frontend liegen die Marker danach als eigene Datenebene über dem Kartenbild; bei sehr vielen Punkten wird daraus ein eigenes Tileset. ### Wie wird der Zugriffstoken abgesichert? Über vier Regeln, die die Dokumentation selbst nennt. Erstens Domainbeschränkung: Wird für einen Token eine Liste erlaubter URLs hinterlegt, funktioniert er nur noch für Anfragen, die von diesen Adressen kommen — ein abgeschriebener Token nützt auf einer fremden Seite nichts mehr. Zweitens getrennte Token: je Anwendung ein eigener, damit sich die Nutzung zuordnen lässt. Drittens die Trennung der Rechte: Im Browser läuft ausschließlich ein Token mit öffentlichen Rechten, alles mit geheimen Rechten bleibt auf dem Server. Viertens Beobachtung: Token lassen sich jederzeit austauschen, und die Nutzung je Token zeigt, wenn etwas aus dem Rahmen fällt. Dazu kommt der Blick auf die Kontingente des gewählten Tarifs, bevor eine Karte auf eine stark besuchte Seite geht. ### Was bedeutet eine Mapbox-Karte für den Datenschutz? Eine interaktive Karte lädt ihre Kacheln, Schriften und Symbole von einem externen Dienst nach. Damit geht die IP-Adresse der Besucherin an diesen Dienst — technisch unvermeidbar, sobald die Karte läuft. Auf einer Website, die sonst ohne Tracking und ohne Fremdcode auskommt, ist die Karte damit der eine Punkt, an dem etwas nach außen geht. Deshalb bauen wir sie mit Consent-Platzhalter: Vor der Zustimmung steht ein statisches Kartenbild aus dem eigenen Bestand oder die Standortliste mit Adresse und Anfahrtslink, und erst mit der Einwilligung wird die Karte nachgeladen. Was wir sonst noch tun: Geocoding serverseitig statt aus dem Browser, keine Besucherdaten an den Kartendienst, den Dienst in der Datenschutzerklärung benannt. Die Bewertung im konkreten Fall trefft ihr mit eurer Rechtsberatung — wir liefern die Technik dazu. ### Ist eine Karte barrierefrei bedienbar? Eine Karte allein ist es nicht. Ziehen, Zoomen und das Anklicken kleiner Marker sind mit Tastatur schwer und mit Screenreader kaum zu bewältigen — eine gerenderte Fläche gibt für sich genommen keine Struktur her. Deshalb gehört neben die Karte immer eine bedienbare Liste derselben Standorte: als echte Überschriften, Adressen und Links, in der Tastaturreihenfolge erreichbar, mit demselben Informationsstand wie die Marker. Wer die Karte nutzen kann, nutzt sie; wer nicht, kommt über die Liste genauso ans Ziel. Karte und Liste hängen an derselben Datenquelle, damit sie nicht auseinanderlaufen. ### Lässt sich Mapbox in TYPO3, WordPress oder Statamic einbinden? Ja, in allen dreien — und in allen dreien bauen wir die Anbindung selbst, mit den Bordmitteln des jeweiligen Systems. Die Kette ist überall dieselbe: Standorte als eigene Inhaltsart mit Koordinatenfeldern, Geocoding serverseitig, der Zugriffstoken in der Konfiguration statt im Template, die Karte im Frontend hinter einem Consent-Platzhalter. In TYPO3 entsteht dafür eine eigene Extension mit Standorten als Records, Geocoding als Scheduler-Task, dem Token in der Extension-Konfiguration und Fluid für die Ausgabe. In WordPress ein eigenes Plugin statt Theme-Code, mit Custom Post Type für die Standorte, Geocoding beim Speichern und dem Token in der wp-config.php oder einer Umgebungsvariable. In Statamic arbeitet Laravel darunter: Blueprint mit Koordinatenfeldern, ein Artisan-Command fürs Geocoding, der Token in der .env-Datei, Antlers oder Blade für Karte und Liste. womit das zusammenhängt ## Womit das zusammenhängt karten, grundlagen & **leistung** - [Google Maps.](https://www.siteway.de/stack/google-maps/) — Der Regelfall bei uns: dichtes Adress- und Routing-Material für Filialfinder, Umkreissuche und Anfahrt. zur technik → - [Karten & Standorte.](https://www.siteway.de/expertise/karten-standorte/) — Die Karte als buchbarer Baustein: Marker, Cluster, Umkreissuche, Route — einzeln buchbar nach Briefing. zur leistung → - [Barrierefreiheit.](https://www.siteway.de/stack/barrierefreiheit/) — Warum neben jede Karte eine bedienbare Liste gehört — und was Tastaturbedienung sonst noch verlangt. zur technik → - [Performance.](https://www.siteway.de/stack/performance/) — Kartenbibliotheken sind schwer. Was verzögertes Laden für die Core Web Vitals bedeutet und wie wir messen. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Trackingfrei ausliefern, Schlüssel serverseitig halten, Security-Header setzen — die Grundlage unter der Karte. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Konzept, Umsetzung, Monitoring und Betrieb der Anbindung. zur leistung → Eine Karte, die zu deiner Marke passt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Meilisearch **Meilisearch** ist eine quelloffene Suchmaschine — ein eigener Suchserver, den du **selbst hosten** kannst; als Cloud-Dienst gibt es sie ebenfalls. Für siteway ist das der Weg, wenn eine Suche **Filter, Facetten und Tippfehler-Toleranz** können muss und trotzdem **in der eigenen Infrastruktur** bleiben soll. Diese Seite beschreibt, wie wir Meilisearch anbinden — und was der eigene Betrieb dafür verlangt. stack dienst: meilisearch · quelloffen modell: index · dokumente · attribute betrieb: selbst gehostet oder cloud seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Meilisearch anbinden](#einsatz) definition ## Was ist Meilisearch? quelloffen · **eigener suchserver** **Meilisearch ist eine quelloffene Suchmaschine.** Sie läuft als eigenständiger Dienst — auf einem Server, den du bestimmst. Der Quelltext liegt öffentlich einsehbar vor, der Kern steht unter der MIT-Lizenz, und wer den Betrieb nicht selbst übernehmen will, kann stattdessen den Cloud-Dienst des Herstellers nutzen. Beides ist derselbe Baukasten, nur mit anderer Adresse. Technisch ist das Bild schnell erzählt: Inhalte werden als **Dokumente** in einen **Index** geschrieben, ein Dokument ist ein Objekt aus benannten Feldern, und die Suchanfrage geht an genau den Server, auf dem dieser Index liegt. Was der Index kann, hängt an seinen Einstellungen: Welche Felder durchsucht werden, welche sich filtern lassen, wonach sortiert wird und in welcher Reihenfolge Treffer erscheinen. Der entscheidende Satz steht aber woanders: **Steht der Suchserver in deiner Infrastruktur, bleiben Inhalte und Suchanfragen dort.** Keine Anfrage nach draußen, kein Index bei einem Dritten. Das ist kein Nebeneffekt, sondern der Grund, aus dem wir Meilisearch überhaupt in den Werkzeugkasten gelegt haben. Wie wir Suche insgesamt angehen, steht im Hub [Suche](https://www.siteway.de/stack/suche/). $ cat meilisearch.md - ✓Lizenz quelloffen · kern mit mit - ✓Betrieb selbst gehostet oder cloud - ✓Datenmodell index · dokumente · primärschlüssel - ✓Filter attribute vorab konfiguriert - ✓Toleranz tippfehler ab werk · synonyme - ✓Schlüssel master server · suche frontend praxis ## Wie wir Meilisearch anbinden indexieren serverseitig · **suchen im frontend** Der erste Schritt ist eine Frage, keine Zeile Code: **Was ist ein Treffer?** Eine Seite, ein Produkt, ein Datenblatt, ein Kapitel? Daraus folgt der Zuschnitt eines Dokuments — und damit alles Weitere. Wir schneiden so, dass ein Treffer eine Antwort ist und nicht der Beginn einer zweiten Suche. Danach steht das **Mapping**: Welches Feld aus dem CMS wird welches Attribut im Dokument, was ist durchsuchbar, was filterbar, was sortierbar, was nur Anzeige. Diese Liste ist bei Meilisearch mehr als Dokumentation — Filter und Sortierung funktionieren erst, wenn die zugehörigen Attribute in den Einstellungen des Index stehen. Und hier fällt die zweite Entscheidung: was den Index gar nicht erst erreicht. Interne Notizen, Entwürfe, geschützte Bereiche. **In den Index geht, was für die Suche gebraucht wird.** **Indexiert wird serverseitig, in zwei Stufen.** Zur Einrichtung läuft eine Voll-Indexierung über den gesamten Bestand, gebündelt statt Dokument für Dokument — Meilisearch nimmt Dokumente ohnehin als Liste entgegen und arbeitet Aufgaben in einer Warteschlange ab. Danach laufen nur noch Änderungen: angelegt, geändert, gelöscht. Weil die Verarbeitung asynchron ist, prüfen wir den Status der Aufgabe, statt anzunehmen, ein Dokument sei in derselben Millisekunde suchbar. Für eine Redaktion ist das unkritisch, für einen automatisierten Test nicht. **Der Rückweg ist der Praxisstolperstein.** Ein Inhalt, der im CMS gelöscht oder auf Entwurf zurückgesetzt wird, verschwindet nicht von allein aus dem Index — er muss aktiv entfernt werden. Sonst zeigt die Suche eine Überschrift, die noch niemand sehen sollte, oder verlinkt eine Seite, die es nicht mehr gibt. Wir behandeln „löschen“ und „depublizieren“ deshalb als eigene Ereignisse mit eigenem Code. Dasselbe gilt für alles, was hinter einem [Login](https://www.siteway.de/expertise/login-mitgliederbereich/) liegt: Entweder es wird gar nicht indexiert, oder es landet in einem getrennten Index mit eigenem Zugriffsweg. **Gesucht wird im Frontend** — mit einem Schlüssel, der nur lesen darf, und einer Oberfläche, die wir selbst bauen: Eingabefeld, Treffer während des Tippens, Filter daneben, ein Zustand für null Treffer. Und wie bei jeder Anbindung planen wir den Fehlerfall mit: Antwortet der Suchserver nicht, bleibt die Seite bedienbar. Die buchbare Leistung dahinter ist die Komponente [Suche](https://www.siteway.de/expertise/suche/), die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst klären, **was ein Treffer ist** - 02Filterbare Attribute **vorher festlegen** - 03Indexierung **serverseitig**, gebündelt - 04Entwürfe **bleiben draußen** - 05Im Frontend nur der **Suchschlüssel** - 06Betrieb und Sicherung **mitgeplant** [deployment & betrieb im stack →](https://www.siteway.de/stack/deployment-betrieb/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Meilisearch — Begriffe, Voreinstellungen und Reihenfolgen im Original. Preise, Versionsnummern und harte Grenzwerte lassen wir bewusst weg: Sie ändern sich, und was für dein Projekt gilt, steht in deiner Konfiguration und nicht auf einer Agenturseite. d-01datenmodell ### Index & Dokumente Ein Index ist der Behälter, ein Dokument ein Objekt aus benannten Feldern darin. Zwischen zwei Indizes wird nichts geteilt, auch bei gleichem Inhalt nicht. Jedes Dokument braucht ein Primärfeld mit eindeutigem Schlüssel; fehlt es oder passt es nicht zum Index, übernimmt Meilisearch keine Dokumente. zweck: struktur der daten d-02relevanz ### Durchsuchbare Attribute Ab Werk sind alle Felder durchsuchbar und werden alle ausgegeben. Das ist ein guter Start und selten das Ziel: Über die durchsuchbaren Attribute legst du fest, worin gesucht wird und in welcher Rangfolge — ein Titel wiegt anders als ein Fließtext. Über die angezeigten Attribute steuerst du, was zurückkommt. zweck: worin gesucht wird d-03filter ### Filter & Facetten Der häufigste Stolperstein: Gefiltert werden kann nur, was vorher als filterbares Attribut eingetragen wurde — die Liste ist im Auslieferungszustand leer. Die Dokumentation nennt den Schritt verpflichtend und nicht zur Suchzeit nachholbar, weil eine Änderung neu indexiert. Für Sortierung gilt dasselbe über die sortierbaren Attribute. zweck: eingrenzen d-04reihenfolge ### Ranking-Regeln Die Regeln greifen nacheinander: Die erste sortiert in Gruppen, jede weitere entscheidet nur noch innerhalb einer Gruppe. Standard sind getroffene Suchwörter, Tippfehler, Wortnähe, Rangfolge der Attribute, Sortierung zur Suchzeit, Position im Text und Genauigkeit. Darunter hängen eigene Regeln nach einem Feld deiner Daten. zweck: was oben steht d-05toleranz ### Tippfehler & Synonyme Tippfehler-Toleranz ist eingeschaltet, ohne dass jemand etwas tun muss — abschaltbar bleibt sie trotzdem. Erlaubt sind höchstens zwei Tippfehler je Wort, abhängig von der Wortlänge; kurze Wörter werden streng behandelt, ein Fehler im ersten Buchstaben zählt doppelt. Synonyme setzen Begriffe gleich, in eine oder beide Richtungen. zweck: trotzdem finden d-06schlüssel ### Schlüssel & Rechte Der Master-Schlüssel schützt die gesamte Instanz, ist im Produktivbetrieb vorgeschrieben und bleibt auf dem Server. Aus ihm leiten sich API-Schlüssel mit begrenzten Rechten ab — einer für administrative Aufgaben, einer nur zum Suchen. Die Dokumentation sagt klar: Administrative Schlüssel gehören nicht in ein öffentliches Frontend. zweck: trennung der rechte ### Was der eigene Betrieb verlangt Selbstbestimmung hat einen Preis, und der ist Betrieb. Ein eigener Suchserver ist ein zusätzlicher Dienst neben der Website: Er braucht **Arbeitsspeicher und Plattenplatz** für den Index, eine Absicherung nach außen — der Suchserver gehört nicht ungeschützt ins offene Netz —, **regelmäßige Aktualisierungen** und eine **Sicherung, die jemand einmal zurückgespielt hat**. Das ist keine Warnung, sondern eine Position im Angebot. Für die Sicherung unterscheidet Meilisearch zwei Wege, und die Unterscheidung ist nützlich: **Snapshots** sind eine exakte Kopie der Datenbank, schnell wiederhergestellt, aber an dieselbe Programmversion gebunden. **Dumps** sind ein portables Abbild, das beim Import neu indexiert wird — langsamer, dafür der dokumentierte Weg beim Wechsel auf eine neue Version. Wer beides kennt, plant eine Aktualisierung als Vorgang und nicht als Überraschung. Beim Datenschutz ist die Rechnung dafür angenehm kurz: **Inhalte und Suchanfragen bleiben in der eigenen Infrastruktur**, es geht keine Anfrage an einen Dritten, und für die Suche braucht es keine Auftragsverarbeitung. Wer stattdessen den Cloud-Dienst nutzt, klärt dieselben Fragen wie bei jedem gehosteten Dienst. Wie wir das einordnen, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wo der Dienst läuft und wer ihn betreut, gehört zu [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/). Eine Rechtsberatung ist das ausdrücklich nicht. vor dem start klären - ▸Wo der **Suchserver läuft** - ▸Zugriff **abgeschottet**, nicht offen - ▸**Snapshots** für die Wiederherstellung - ▸**Dumps** für den Versionswechsel - ▸Master-Schlüssel **nur serverseitig** - ▸Wer die Suche **im Alltag betreut** integration ## Meilisearch in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil er sich aus der Aufgabe ergibt und nicht aus dem CMS. Die eine Hälfte ist die **Indexierung — und die läuft serverseitig**: Der Inhalt wird dort gelesen, wo er redaktionell gepflegt wird, in Dokumente übersetzt und an den Suchserver geschickt. Zur Einrichtung einmal komplett, danach nur noch das, was sich ändert. Dafür braucht es zwei Auslöser: ein Ereignis beim Speichern, damit eine Änderung sofort ankommt, und einen geplanten Lauf als Grundsicherung, falls ein Ereignis einmal ausfällt. Und es braucht die Gegenrichtung — gelöschte und depublizierte Inhalte müssen aktiv aus dem Index entfernt werden, sonst bleiben Treffer stehen, deren Seite es nicht mehr gibt. Die andere Hälfte ist die **Suche im Frontend**. Sie fragt den Suchserver direkt aus dem Browser — und zwar über einen **Schlüssel mit reiner Leseberechtigung**, der nur suchen darf. Das ist die Stelle, an der Anbindungen scheitern, deshalb steht sie hier so deutlich: **Der Master-Schlüssel gehört nie ins Frontend** — und ein administrativer Schlüssel ebenso wenig. Sie liegen ausschließlich auf dem Server, in der Umgebungskonfiguration, und tauchen weder im Quelltext einer Seite noch in einem JavaScript-Bundle auf. Wo der Suchserver selbst läuft — auf derselben Maschine wie die Website, in einem eigenen Container oder beim Cloud-Dienst des Herstellers —, ist keine Frage des CMS, sondern eine **Betriebsentscheidung**; sie gehört zu [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/) und wird vorher getroffen, nicht nachträglich. Was das CMS darunter unterscheidet, ist nur, wo Ereignis, geplanter Lauf und Schlüssel jeweils hingehören. cms-01typo3 ### Meilisearch in TYPO3 Wir bauen die Anbindung als eigene Extension. Die Voll-Indexierung läuft als Scheduler-Task über die Seiten und Datensätze, die im Mapping stehen; dazu kommt ein Hook, der beim Speichern genau diesen einen Datensatz nachzieht — und beim Löschen oder Verstecken wieder aus dem Index nimmt. Die Schlüssel liegen in der Extension-Konfiguration; der administrative Schlüssel bleibt dort und wird nie ins Template gereicht. Sucheingabefeld, Filter und Trefferliste rendern wir in Fluid, damit die Suche im Design der Website steht. Mehrsprachigkeit bildet sich über einen eigenen Index je Sprache ab. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Meilisearch in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Indexiert wird beim Speichern eines Beitrags oder Produkts und zusätzlich als geplanter Lauf über den Gesamtbestand. Statuswechsel behandeln wir mit: Was von veröffentlicht auf Entwurf, privat oder Papierkorb wechselt, fliegt aus dem Index. Die Schlüssel stehen in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht im Frontend-Skript. Für die Oberfläche kommen Template-Dateien und ein Block für den Editor dazu, damit die Redaktion Suchfeld und Filter selbst platzieren kann. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Meilisearch in Statamic Unter Statamic liegt Laravel, und das macht die Anbindung geradlinig. Ein Artisan-Command baut den Index über die Collections auf und läuft im Scheduler als Grundsicherung. Daneben hängt ein Ereignis beim Speichern eines Entries, das genau dieses eine Dokument aktualisiert; das Gegenstück beim Löschen nimmt es wieder heraus. Der Blueprint gibt vor, welche Felder ins Dokument wandern und welche im Control Panel bleiben. Die Schlüssel liegen in der .env, ins gerenderte Frontend geht ausschließlich der Suchschlüssel. Antlers oder Blade rendern Suchfeld, Filter und Trefferliste. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Wann Meilisearch — und wann ein anderer Weg zuordnung statt **rangliste** Die nützliche Frage lautet nicht „welche Suche ist die beste“, sondern „was wird durchsucht, wie oft ändert es sich, und wo soll es liegen“. Drei Antworten, drei Zuordnungen — alle drei sind bei siteway im Werkzeugkasten. e-01pagefind ### Wenn kein Suchserver nötig ist Überschaubare Inhaltsmengen aus Text, die sich mit dem Deploy ändern: Unternehmensseite, Magazin, Handbuch. Dafür ist [Pagefind](https://www.siteway.de/stack/pagefind/) gemacht — Index beim Build, Suche im Browser, kein Dienst, der betrieben werden muss. index beim build e-02meilisearch ### Wenn die Suche im Haus bleibt Ein eigener Suchserver mit Filtern, Facetten und Toleranz — und Inhalte wie Suchanfragen, die die eigene Infrastruktur nicht verlassen. Das ist Meilisearch: selbst hostbar, dafür mit Betrieb, Aktualisierung und Sicherung im Plan. eigener suchserver e-03algolia ### Wenn der Betrieb abgegeben wird Dieselbe Aufgabe, andere Betriebsform: [Algolia](https://www.siteway.de/stack/algolia/) ist ein gehosteter Dienst. Passt, wenn niemand im Haus einen Suchserver betreuen soll und die Fragen zu Region und Auftragsverarbeitung geklärt sind. gehosteter dienst ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Wie viele Einträge sind es, und wie oft ändern sie sich? Wonach soll gefiltert werden — und stehen diese Merkmale sauber in den Daten? Wonach wird bei Gleichstand sortiert? Wo dürfen Inhalte und Suchanfragen liegen? Und wer betreibt den Suchserver im Alltag, wenn Aktualisierungen anstehen? Danach steht das Mapping als Dokument, bevor gebaut wird. Die Kategorie darüber beschreibt der Hub [Suche](https://www.siteway.de/stack/suche/), die buchbare Komponente liegt in der Expertise unter [Suche](https://www.siteway.de/expertise/suche/). Wo ein Katalog mit Attributen und Filtern das eigentliche Thema ist, führt der Weg über [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) — dort geht es um die Datenpflege, hier um die Technik darunter. Welche Suche ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Kein Suchserver nötig → **Pagefind** - ▸Eigener Suchserver → **Meilisearch** - ▸Betrieb abgegeben → **Algolia** - ▸Reihenfolge nach Geschäftslogik → **eigene Ranking-Regeln** [die auswahl im hub suche →](https://www.siteway.de/stack/suche/) faq ## Häufige Fragen ### Was ist Meilisearch? Meilisearch ist eine quelloffene Suchmaschine, die du auf deiner eigenen Infrastruktur betreiben kannst — alternativ gibt es sie als Cloud-Dienst des Herstellers. Inhalte werden als Dokumente in einen Index geschrieben, und die Suchanfrage geht an genau den Server, auf dem dieser Index liegt. Steht dieser Server bei dir, verlassen weder die indexierten Inhalte noch die Suchbegriffe deiner Besucher deine Infrastruktur. Der Kern des Projekts steht unter der MIT-Lizenz und liegt öffentlich einsehbar vor; einzelne Zusatzfunktionen stellt der Hersteller unter eine eigene Lizenz. ### Was bedeutet es, Meilisearch selbst zu hosten? Kontrolle und Verantwortung im selben Paket. Der Suchserver läuft als eigener Dienst neben der Website und braucht Arbeitsspeicher und Plattenplatz für den Index, eine Absicherung nach außen, regelmäßige Aktualisierungen und eine Sicherung. Meilisearch unterscheidet dafür zwei Wege: Snapshots sind eine exakte Kopie der Datenbank und dienen der schnellen Wiederherstellung, Dumps sind ein portables Abbild und der dokumentierte Weg beim Wechsel auf eine neue Version. Wo dieser Dienst läuft und wer ihn im Alltag betreut, ist eine Betriebsentscheidung und gehört ins Konzept, nicht ans Ende des Projekts. ### Wie kommen Inhalte in den Meilisearch-Index — und wieder heraus? In zwei Stufen. Zur Einrichtung läuft eine Voll-Indexierung über den kompletten Bestand, gebündelt statt Dokument für Dokument; danach werden nur noch Änderungen nachgezogen. Jedes Dokument trägt dafür einen Primärschlüssel, über den derselbe Inhalt beim zweiten Lauf wiedererkannt und aktualisiert statt doppelt angelegt wird. Fehlt dieser Schlüssel oder passt er nicht zum Index, meldet Meilisearch einen Fehler und übernimmt keine Dokumente. Der Rückweg wird leicht vergessen: Was im CMS gelöscht oder auf Entwurf gesetzt wird, muss aktiv aus dem Index entfernt werden — sonst steht der Treffer weiter in der Suche, obwohl die Seite nicht mehr existiert. Entwürfe und geschützte Inhalte halten wir deshalb von vornherein aus dem Index heraus. ### Warum funktionieren Filter und Facetten erst nach einer Einstellung? Weil Meilisearch dafür anders indexieren muss. Ein Attribut lässt sich erst filtern, wenn es in den Einstellungen des Index als filterbares Attribut hinterlegt ist; diese Liste ist im Auslieferungszustand leer. Die Dokumentation ist an der Stelle eindeutig: Der Schritt ist verpflichtend und lässt sich nicht zur Suchzeit nachholen, weil eine Änderung an dieser Liste eine erneute Indexierung auslöst. Genauso verhält es sich mit den sortierbaren Attributen. Das ist der häufigste Stolperstein bei der ersten Anbindung — die Suche antwortet, aber der Filter bleibt leer. Wir legen deshalb schon im Mapping fest, welche Attribute durchsuchbar, welche filterbar und welche sortierbar sein sollen. ### Wie entscheidet Meilisearch, welcher Treffer oben steht? Über eine Reihe von Regeln, die nacheinander greifen. Die erste Regel sortiert alle Treffer in Gruppen, die nächste entscheidet nur noch innerhalb einer Gruppe, und so weiter. In der dokumentierten Standardreihenfolge sind das die Anzahl der getroffenen Suchwörter, die Zahl der Tippfehler, die Nähe der Wörter zueinander, die Rangfolge der Attribute, eine zur Suchzeit gewählte Sortierung, die Position im Text und die Genauigkeit der Übereinstimmung. Darunter lassen sich eigene Regeln hängen, die bei Gleichstand nach einem Feld aus deinen Daten entscheiden, etwa nach einem Beliebtheitswert oder einem Datum. Genau dort steckt die Arbeit an einer Suche, die zur Sache passt. ### Welche Schlüssel gibt es bei Meilisearch, und welcher darf ins Frontend? Meilisearch trennt die Schlüssel nach Rechten. Ganz oben steht der Master-Schlüssel: Er schützt die gesamte Instanz, ist im Produktivbetrieb vorgeschrieben und bleibt ausschließlich auf dem Server. Aus ihm leiten sich API-Schlüssel mit begrenzten Rechten ab, darunter ein Schlüssel für administrative Aufgaben wie Einstellungen und Dokumente und ein Suchschlüssel mit reiner Leseberechtigung. Ins Frontend gehört ausschließlich der Suchschlüssel. Die Dokumentation sagt es unmissverständlich: Administrative Schlüssel haben in einem öffentlichen Frontend nichts verloren. Wir legen sie deshalb in der Umgebungskonfiguration ab, nie im Quelltext einer Seite und nie in einem JavaScript-Bundle. ### Was bedeutet Meilisearch für den Datenschutz? Beim Selbsthosting ist die Antwort angenehm kurz: Inhalte und Suchanfragen bleiben in deiner eigenen Infrastruktur, es geht keine Anfrage an einen Dritten, und für die Suche braucht es keine Auftragsverarbeitung. Dafür trägst du die Verantwortung für den Betrieb — Zugriffsschutz, Aktualisierungen, Sicherung. Nutzt du stattdessen den Cloud-Dienst des Herstellers, gelten dieselben Fragen wie bei jedem gehosteten Dienst: Wo wird betrieben, wer verarbeitet im Auftrag, was muss überhaupt in den Index. In beiden Fällen gilt für uns Datensparsamkeit: In den Index geht der Ausschnitt, der für die Suche gebraucht wird. Wie wir das im Projekt einordnen, steht im Stack unter [Sicherheit und Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das nicht. ### Lässt sich Meilisearch in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Die Kette ist überall dieselbe: Der Inhalt wird serverseitig in Dokumente übersetzt und an den Suchserver geschickt, ein Ereignis beim Speichern zieht Änderungen sofort nach, ein geplanter Lauf hält den Bestand als Grundsicherung nach, und das Frontend fragt mit einem Schlüssel, der nur lesen darf. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit der Indexierung als Scheduler-Task, einem Hook beim Speichern und der Oberfläche in Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit Indexierung beim Speichern und als geplantem Lauf; die Schlüssel stehen in der wp-config.php oder als Umgebungsvariable. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: ein Artisan-Command im Scheduler, ein Ereignis beim Speichern eines Entries und die Schlüssel in der .env. womit das zusammenhängt ## Womit das zusammenhängt hub, technik & **leistung** - [Suche.](https://www.siteway.de/stack/suche/) — Die Kategorie über diesem Dienst: wie wir pro Projekt zwischen statischer Suche und Suchserver auswählen — und was das im Betrieb bedeutet. zum hub → - [Pagefind.](https://www.siteway.de/stack/pagefind/) — Der Weg für überschaubare Textbestände: Index beim Build, Suche im Browser, ohne Suchserver. Diese Website sucht damit. zur technik → - [Algolia.](https://www.siteway.de/stack/algolia/) — Dieselbe Aufgabe als gehosteter Dienst: Facetten und Ranking ohne eigenen Suchserver — dafür mit Region und Auftragsverarbeitung als Thema. zur technik → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wo der Suchserver läuft, wie er aktualisiert und gesichert wird: die Betriebsentscheidung hinter einer selbst gehosteten Suche. zur technik → - [Suche (Komponente).](https://www.siteway.de/expertise/suche/) — Die fertige Suchfunktion für deine Website: Index, Gewichtung, Oberfläche und die passende Technik nach Größe. Hier wird gebucht. zur leistung → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Wo Filter herkommen: saubere Attribute im Katalog sind die Voraussetzung dafür, dass filterbare Attribute in der Suche überhaupt etwas hergeben. zur leistung → Die Anbindung selbst — Datenmodell, Auslöser, Fehlerfall, Schlüssel — gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). Dort steht, wie wir Systeme grundsätzlich miteinander sprechen lassen; hier steht, was Meilisearch dabei besonders macht. Eine schnelle Suche, die im eigenen Haus bleibt? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Meta Graph API Eine **Facebook-Seite** ist für viele Unternehmen der Ort, an dem Neuigkeiten zuerst erscheinen — und die Website ist der Ort, an dem sie ankommen sollen. Die **Graph API** ist der Weg dazwischen: Über sie lassen sich Beiträge, Veranstaltungen und Seiteninformationen maschinenlesbar abrufen. siteway holt diese Inhalte **serverseitig ab und rendert sie selbst**, statt ein fremdes Widget in die Seite zu hängen. Diese Seite beschreibt die Technik dahinter: Zugang, Token, Abruf und Zwischenspeicher. stack dienst: meta graph api inhalte: beiträge · termine · seiteninfos abruf: serverseitig & gecacht seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Meta anbinden](#einsatz) definition ## Was ist die Meta Graph API? **Die Graph API ist die HTTP-Schnittstelle, über die Anwendungen Daten der Meta-Plattform lesen und schreiben.** Ihr Name beschreibt das Datenmodell: Die Plattform wird als Graph gedacht, als Netz aus Objekten und Verbindungen. Die Dokumentation nennt dafür drei Begriffe — Nodes sind einzelne Objekte mit eigener ID, Edges sind die Verbindungen zwischen ihnen, Fields sind die Eigenschaften eines Objekts. Für eine Website ist davon nur ein kleiner Ausschnitt interessant, nämlich der Page-Node: die Facebook-Seite eines Unternehmens. Er trägt die Seiteninformationen als Felder — die Referenz führt unter anderem Name, Kategorie, Beschreibung, Anschrift, Öffnungszeiten, Telefon, Website und Titelbild — und er hat Verbindungen zu den eigenen Inhalten, allen voran zu den **Beiträgen der Seite**. Man fordert dabei immer gezielt einzelne Felder an, statt einen fertigen Block zu bekommen. Praktisch heißt das: Alles, was auf der Facebook-Seite öffentlich zu sehen ist, ist im Prinzip auch maschinenlesbar zu haben — und lässt sich damit an einer zweiten Stelle wieder ausgeben, im eigenen Design und unter der eigenen Domain. Wie so ein Bereich auf der Website dann aussieht und was er kann, beschreibt die Komponente [Social Media Newsroom](https://www.siteway.de/expertise/social-media-newsroom/). Hier geht es um die Schnittstelle darunter — und zwar um die Facebook-Ebene. Den Bild-Feed behandelt [Instagram](https://www.siteway.de/stack/instagram/) im Stack, das berufliche Netzwerk [LinkedIn](https://www.siteway.de/stack/linkedin/). $ cat meta-graph-api.md - ✓Nodes objekte mit id - ✓Edges verbindungen - ✓Fields eigenschaften - ✓Page-Node die facebook-seite - ✓Beiträge edge der seite - ✓Zugriffstoken je seite & app praxis ## Wie wir Meta anbinden abruf auf dem **server** Die erste Entscheidung fällt vor der ersten Zeile Code: **Der Abruf gehört auf den Server, nicht in den Browser.** Ein Dienst auf dem eigenen System ruft die Graph API in festen Abständen auf, holt die Beiträge der Seite und legt sie im CMS ab. Das Frontend liest danach nur noch aus dem eigenen Bestand. Für den Besucher entsteht damit ein Feed, technisch ist es eine gewöhnliche Liste — und im Browser läuft dabei nichts von Meta. Damit das trägt, wandern auch die **Bilder mit**. Was an einem Beitrag hängt, wird beim Abruf heruntergeladen und in die Medienverwaltung des CMS geschrieben — als eigene Datei, in den Formaten und Größen der Website. Sonst hinge jedes Vorschaubild weiterhin an einem fremden Server, mit allem, was das für Ladezeit, Verfügbarkeit und Datenfluss bedeutet. Das **Zugriffstoken bleibt serverseitig** und taucht im Quelltext der Seite gar nicht erst auf. Es liegt in der Konfiguration oder in einer Umgebungsvariablen, nie fest im Template und nicht in der Versionsverwaltung. Ein Token ist laut Dokumentation an die Kombination aus Seite, Administrator und App gebunden — und es läuft ab. Der Erneuerungsweg und die Benachrichtigung beim Ausfall gehören deshalb von Anfang an dazu, siehe [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Der zwischengespeicherte Bestand ist zugleich die **Ausfallsicherung**. Antwortet die Schnittstelle nicht oder langsam, merkt der Besucher davon nichts: Der Bereich zeigt weiter den letzten erfolgreich geholten Stand, der Fehler landet im Protokoll und im nächsten Durchgang. Ein Feed, der bei jedem Seitenaufruf live fragt, übernimmt dagegen die Verfügbarkeit und die Antwortzeit einer fremden Schnittstelle als seine eigene. Und weil die Beiträge als eigenes HTML herauskommen, gelten für sie **dieselben Regeln wie für den Rest der Website**: lesbare Überschriftenstruktur, echte Links, Alternativtexte an den Bildern, Bedienbarkeit per Tastatur, Lazy Loading und feste Bildmaße. Ein fremdes Widget bringt seine eigenen Antworten auf diese Fragen mit — hier gibt sie das Projekt. unsere leitplanken - 01Abruf **serverseitig**, geplant - 02Beiträge **im CMS gecacht** - 03Bilder als **eigene Dateien** - 04Frontend rendert **eigenes HTML** - 05Token **serverseitig** & erneuerbar - 06Ausfall zeigt **letzten Stand** [schnittstellen als leistung →](https://www.siteway.de/expertise/schnittstellen-integration/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation von Meta — Objektnamen, Felder und Zugangsregeln im Original. Konkrete Versionsstände und Kontingente nennen wir bewusst nicht: Sie ändern sich, und eine Technikbeschreibung, die damit arbeitet, wäre schon beim Lesen veraltet. Was für ein Projekt gilt, klären wir am Projekt. d-01modell ### Nodes, Edges, Fields Das Datenmodell der Graph API. Nodes sind Objekte mit eigener ID — Seite, Beitrag, Foto, Kommentar. Edges verbinden sie, etwa eine Seite mit ihren Beiträgen. Fields sind die Eigenschaften, die man je Abruf gezielt anfordert. Man holt also nie „alles“, sondern eine benannte Auswahl. zweck: struktur d-02beiträge ### Seiten-Beiträge Die Referenz führt am Page-Node Verbindungen zu den eigenen Inhalten — unter anderem zu Feed und Beiträgen sowie zu Fotos, Videos und Alben. Das ist der Stoff für den Newsroom auf der Website: Text, Zeitpunkt, angehängte Medien und der Link zum Original auf der Facebook-Seite. zweck: newsroom d-03seiteninfos ### Seiteninformationen Der Page-Node trägt laut Referenz Felder wie Name, Kategorie, Beschreibung, Anschrift, Öffnungszeiten, Telefon, Website sowie Profil- und Titelbild. Nützlich, wenn Stammdaten an einer Stelle gepflegt werden sollen — auf der Website landen sie dann als Text und als strukturierte Daten. zweck: stammdaten d-04termine ### Veranstaltungen Der Event-Node führt Felder wie Name, Startzeit, Endzeit, Ort, Beschreibung und Titelbild. Der Zugriff ist hier am engsten geregelt: Die Referenz weist darauf hin, dass Events bei Nutzern und Seiten den Facebook-Marketing-Partnern vorbehalten sind. Ob dieser Weg offensteht, klären wir vor dem Konzept. zweck: terminliste d-05zugang ### App, Token, App-Prüfung Der Zugang hat drei Stufen: eine App im Entwicklerbereich, ein Seiten-Zugriffstoken aus dem Tausch eines Nutzer-Tokens, dazu benannte Berechtigungen — die Referenz nennt für das Lesen einer Seite unter anderem pages_read_engagement und pages_read_user_content sowie die Features für öffentliche Seiteninhalte. Für den produktiven Einsatz kommt die App-Prüfung mit Anwendungsfall und Nachweisen dazu. zweck: berechtigung d-06laufzeit ### Versionen & Laufzeiten Zwei Dinge altern planbar. Token: Meta unterscheidet kurzlebige und langlebige und weist darauf hin, dass man sich auf die genannten Laufzeiten nicht verlassen soll. Versionen: Laut Versionsrichtlinie ist eine Version mindestens zwei Jahre nutzbar und läuft zwei Jahre nach dem Erscheinen der Nachfolgerin aus; Aufrufe gehen danach an die nächstältere verfügbare. zweck: betrieb ### Was daraus auf der Seite entsteht Aus diesen Bausteinen wird kein eingehängter Kasten, sondern ein Bereich der Website. Der **Newsroom** zeigt die Beiträge als Karten oder Liste im Design der Seite, mit Datum, Auszug, eigenem Bild und einem Link zum Original. Eine **Terminliste** kann daneben stehen, sofern der Zugriff auf Veranstaltungen für das Projekt offensteht — sonst kommen die Termine aus dem CMS, was für die Auffindbarkeit ohnehin der bessere Ort ist. Dazu kommt die **Kuratierung**: Weil die Beiträge als Datensätze im CMS liegen, kann die Redaktion einzelne verbergen, anpinnen oder ordnen, ohne auf Facebook etwas zu ändern. Und weil alles als echtes HTML im Dokument steht, ist es für Suchmaschinen lesbar — ergänzt um [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern. Und der Bereich kostet fast nichts. Kein fremdes Skript, kein fremdes Stylesheet, keine fremden Schriften, Bilder in eigenen Formaten mit festen Maßen — das wirkt direkt auf die Core Web Vitals. Warum das mehr als Kosmetik ist, steht unter [Performance](https://www.siteway.de/stack/performance/) im Stack. auf der website - ▸Beitragsliste im **eigenen Design** - ▸Bilder aus der **eigenen Medienverwaltung** - ▸Terminliste, wenn **Zugriff offensteht** - ▸Kuratierung in der **Redaktion** - ▸Strukturierte Daten **je Beitrag** - ▸Kein Fremdcode im **Browser** integration ## Meta in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er hat einen Kern: **Die Beiträge werden serverseitig abgeholt und im CMS zwischengespeichert, das Frontend rendert sie als eigenes HTML.** Ein geplanter Lauf ruft die Graph API auf, legt jeden Beitrag als Datensatz ab und schreibt die angehängten Bilder als eigene Dateien in die Medienverwaltung. Die Ausgabe liest danach ausschließlich aus diesem Bestand. Damit lädt **kein Meta-Code im Browser** des Besuchers, die Seite bleibt schnell — und der Bereich steht auch dann, wenn die Schnittstelle gerade nicht antwortet. Das **Zugriffstoken bleibt serverseitig**: in der Konfiguration des Systems oder in einer Umgebungsvariablen, nie fest im Template und nicht im Repository. Der Erneuerungsweg wird mitgebaut, ebenso die Benachrichtigung, wenn mehrere Abrufe hintereinander scheitern. Und weil die Beiträge im CMS liegen, gehören sie der Website: Die Redaktion kann einzelne verbergen, anpinnen oder ordnen, ohne auf Facebook etwas zu ändern. Was sich zwischen den Systemen unterscheidet, sind nur die Bordmittel, mit denen wir das bauen. cms-01typo3 ### Meta in TYPO3 Wir bauen die Anbindung als eigene Extension. Der Abruf läuft als Scheduler-Task: Er fragt die Beiträge der Seite ab, gleicht sie gegen den vorhandenen Bestand ab und ergänzt nur, was neu ist. Die Beiträge werden Records mit eigenem TCA — Text, Zeitpunkt, Quell-ID, Link zum Original —, abgelegt in einem Systemordner und im Backend sichtbar wie jeder andere Inhalt. Die Bilder landen über die Dateiverwaltung im System und bekommen dort Alternativtexte. Das Zugriffstoken steht in der Extension-Konfiguration statt im Template. Im Frontend rendert ein Fluid-Template die Liste, ein Content-Element setzt die Redaktion auf jede Seite, die den Newsroom braucht. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Meta in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie den Theme-Wechsel. Die Beiträge werden ein Custom Post Type mit Meta-Feldern für Zeitpunkt, Quell-ID und Ursprungslink, dazu eine Taxonomie, wenn nach Rubrik gefiltert werden soll. Der Abruf hängt an einem geplanten Lauf; für zuverlässige Zeitpunkte richten wir ihn über einen echten Cron des Servers ein statt über den Aufruf-getriebenen Standardweg. Bilder werden in die Mediathek importiert und erhalten dort ihre Größen. Das Token steht in der wp-config.php oder in einer Umgebungsvariablen. Fürs Frontend kommen ein Block für den Editor und Template-Teile dazu. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Meta in Statamic Statamic läuft auf Laravel, und das macht diesen Teil angenehm gerade. Der Abruf wird ein Artisan-Command, den der Scheduler regelmäßig aufruft und der sich jederzeit von Hand nachziehen lässt. Die Beiträge werden Entries in einer eigenen Collection, beschrieben durch ein Blueprint mit Feldern für Text, Zeitpunkt, Quell-ID und Ursprungslink. Die Bilder gehen in einen Assets-Container und stehen damit für die Bildverarbeitung der Website bereit. Das Token steht in der .env und wird über die Konfiguration gelesen. Antlers oder Blade rendern die Liste — und weil Static Caching die Seiten ausliefert, kostet der Bereich beim Aufruf praktisch nichts. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Serverseitig statt Widget technik, nicht **rechtsberatung** Der technische Sachverhalt ist schnell beschrieben: **Ein eingebettetes Meta-Widget lädt Fremdcode nach und überträgt dabei Daten des Besuchers** — mindestens seine IP-Adresse, weil ohne sie keine Auslieferung funktioniert. Das passiert beim Aufbau der Seite, also bevor der Besucher irgendetwas getan hat, und es passiert unabhängig davon, ob er den Feed am Ende überhaupt ansieht. Das ist keine Eigenheit von Meta, sondern gilt für jede Ressource von fremder Stelle. Der Unterschied liegt darin, wann das geschieht — und ob es überhaupt geschehen muss. Bei einer Website, die wir **trackingfrei bauen**, muss es nicht. Genau deshalb ist der Weg bei siteway: **serverseitig abholen, selbst rendern**. Der Abruf geschieht einmal je Durchgang vom eigenen Server aus, nicht bei jedem Besuch aus jedem Browser. Beim Seitenaufruf wird dann überhaupt nichts von Meta geladen — kein Skript, kein Stylesheet, keine Schrift, kein Bild von fremder Domain. Die Frage nach der Einwilligung stellt sich an dieser Stelle nicht, weil es nichts gibt, wofür sie nötig wäre. Soll aus einem konkreten Grund doch **eingebettet** werden, gilt dieselbe Regel wie bei jedem anderen Fremdinhalt: erst nach aktiver Einwilligung. Bis dahin steht an der Stelle ein beschrifteter Platzhalter, der benennt, was beim Laden passiert — nicht als Bildfläche getarnt, und die Entscheidung lässt sich zurücknehmen. Was dabei verarbeitet wird, halten wir als Dokumentation fest, damit sie nicht bei der ersten Rückfrage rekonstruiert werden muss. Wir beschreiben hier die Technik und ihre Umsetzung — die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen. Was wir liefern, ist die Grundlage dafür: eine Umsetzung, die zeigt, wann welche Daten fließen. Wie das im Zusammenhang der ganzen Website aussieht, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wer den Bestand einer vorhandenen Seite geprüft haben will, findet das im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). Und weil eine Anbindung mit ablaufenden Token und alternden Versionen dauerhaft Aufmerksamkeit braucht, gehört sie in den [Betrieb](https://www.siteway.de/expertise/betrieb-wartung-support/). ablauf auf der seite - 01Abruf läuft **vor dem Besuch** - 02Beiträge liegen **im CMS** - 03Seitenaufruf — **kein Fremdcode** - 04Bilder von der **eigenen Domain** - 05Einbettung nur **nach Einwilligung** - 06Dokumentation als **Textbaustein** [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist die Meta Graph API? Die Graph API ist die HTTP-Schnittstelle, über die Anwendungen Daten der Meta-Plattform lesen und schreiben. Ihr Datenmodell besteht laut Dokumentation aus drei Bausteinen: Nodes sind einzelne Objekte mit eigener ID — eine Seite, ein Beitrag, ein Foto, ein Kommentar. Edges sind die Verbindungen zwischen ihnen, etwa von einer Seite zu ihren Beiträgen. Fields sind die Eigenschaften eines Objekts, die man gezielt anfordert. Für eine Website ist davon fast nur ein Ausschnitt interessant, nämlich der Page-Node und seine Verbindungen. Alles, was auf einer Facebook-Seite öffentlich sichtbar ist, ist damit im Prinzip auch maschinenlesbar abrufbar — vorausgesetzt, der Zugang ist eingerichtet und freigegeben. ### Wie bekomme ich die Beiträge meiner Facebook-Seite auf die Website? Nicht über ein eingebettetes Widget, sondern über einen Umweg, der sich lohnt: Ein Dienst auf dem Server ruft die Graph API in festen Abständen auf, holt die Beiträge der Seite ab und legt sie im CMS ab — Text, Datum, Link zum Original, dazu das Bild als lokale Datei in der Medienverwaltung. Das Frontend liest danach nur noch aus dem eigenen Datenbestand und gibt eigenes HTML aus. Für den Besucher sieht das aus wie ein Feed, technisch ist es eine ganz normale Liste aus dem CMS. Das hat drei Folgen: Es lädt kein fremder Code im Browser, die Ausgabe fügt sich ins Design der Website ein statt in eine fremde Box, und die Beiträge stehen auch dann auf der Seite, wenn die Schnittstelle gerade nicht antwortet. ### Was brauche ich für den Zugang — App, Token, Berechtigungen? Alle drei, und das ist echter Projektaufwand, den man vorher einplanen sollte. Zuerst wird im Meta-Entwicklerbereich eine App angelegt, die den Zugriff überhaupt erst identifiziert. Dann wird ein Seiten-Zugriffstoken erzeugt: Es entsteht laut Dokumentation aus dem Tausch eines Nutzer-Tokens und ist jeweils an die Kombination aus Seite, Administrator und App gebunden. Dazu kommen die Berechtigungen, die genau beschreiben, was die App lesen darf — für das Auslesen einer Seite werden in der Referenz unter anderem pages_read_engagement und pages_read_user_content genannt, für öffentliche Seiteninhalte zusätzlich die Features Page Public Content Access und Page Public Metadata Access. Für den produktiven Einsatz führt der Weg über die App-Prüfung: Meta verlangt dafür eine Beschreibung des Anwendungsfalls samt Nachweisen. Das ist kein Nachmittag, sondern ein Vorgang mit Wartezeit — deshalb steht er bei uns am Anfang des Zeitplans und nicht am Ende. ### Ist ein Facebook-Feed auf der Website datenschutzfreundlich möglich? Ja, aber nicht in der bequemen Variante. Ein eingebettetes Meta-Widget lädt Fremdcode nach und überträgt dabei Daten des Besuchers — mindestens seine IP-Adresse, weil ohne sie keine Auslieferung funktioniert — und zwar bevor er irgendetwas getan hat. Bei einer Website, die wir trackingfrei bauen, wäre das der einzige Fremdaufruf im Dokument. Deshalb ist der Standardweg: serverseitig abholen, selbst rendern. Dann verlässt beim Seitenaufruf kein Byte des Besuchers die eigene Infrastruktur, weil überhaupt nichts von Meta geladen wird. Soll aus einem konkreten Grund doch eingebettet werden, gilt dieselbe Regel wie bei jedem anderen Fremdinhalt: erst nach aktiver Einwilligung, davor ein beschrifteter Platzhalter. Die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen — wir liefern die technische Umsetzung und die Dokumentation, aus der hervorgeht, wann welche Daten fließen. ### Lassen sich auch Veranstaltungen einer Facebook-Seite einbinden? Technisch gibt es dafür den passenden Baustein: Der Event-Node führt in der Referenz Felder wie Name, Startzeit, Endzeit, Ort, Beschreibung und Titelbild — genau das, was eine Terminliste auf einer Website braucht. Der Zugriff ist allerdings der am engsten geregelte Teil dieser Schnittstelle; die Referenz weist ausdrücklich darauf hin, dass der Zugriff auf Events bei Nutzern und Seiten den Facebook-Marketing-Partnern vorbehalten ist. Wir prüfen deshalb vor dem Konzept, ob dieser Weg für ein Projekt offensteht, und benennen früh die Alternative: Die Termine werden im CMS gepflegt und stehen dort als eigener Inhalt mit strukturierten Daten — was für die Auffindbarkeit ohnehin der bessere Ort ist, weil Suchmaschinen den Termin dann direkt auf der Website finden. ### Was passiert, wenn die Schnittstelle nicht antwortet? Nichts, was der Besucher merkt. Weil das Frontend aus dem zwischengespeicherten Bestand im CMS rendert und nicht live abfragt, ist ein ausgefallener oder langsamer Abruf ein Betriebsvorfall und keine kaputte Seite: Der Bereich zeigt weiterhin den letzten erfolgreich geholten Stand. Der geplante Lauf protokolliert stattdessen den Fehler, versucht es beim nächsten Durchgang erneut und meldet sich, wenn mehrere Durchgänge hintereinander scheitern. Genau das ist der Grund, warum wir gar nicht erst live abfragen. Ein Feed, der bei jedem Seitenaufruf eine fremde Schnittstelle fragt, übernimmt deren Verfügbarkeit und deren Antwortzeit als eigene. ### Muss eine Meta-Anbindung gepflegt werden? Ja — eine Anbindung ist kein Möbelstück, das man einmal hinstellt. Zwei Dinge altern planbar. Erstens die Zugriffstoken: Meta unterscheidet kurzlebige und langlebige Token, nennt in der Dokumentation Größenordnungen von wenigen Stunden beziehungsweise etwa zwei Monaten und weist zugleich darauf hin, dass man sich auf diese Laufzeiten nicht verlassen soll, weil sie sich ändern oder früher enden können. Ein Token braucht also einen definierten Erneuerungsweg, und der Ausfall braucht eine Benachrichtigung an einen Menschen. Zweitens die Schnittstelle selbst: Sie erscheint in Versionen mit Ablaufdatum. Laut Versionsrichtlinie ist jede Version mindestens zwei Jahre nutzbar und läuft zwei Jahre nach dem Erscheinen der Nachfolgeversion aus; Aufrufe an eine abgelaufene Version werden danach auf die nächstältere verfügbare weitergeleitet. Beides gehört in den laufenden Betrieb, nicht in die Projektphase. ### Lässt sich Meta in TYPO3, WordPress oder Statamic einbinden? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: Der Abruf läuft als Scheduler-Task, die Beiträge werden Records mit eigenem TCA, Bilder landen in der Dateiverwaltung, das Zugriffstoken steht in der Extension-Konfiguration, im Frontend rendert ein Fluid-Template. In WordPress entsteht ein eigenes Plugin statt Theme-Code, damit die Anbindung den Theme-Wechsel überlebt: ein Custom Post Type für die Beiträge, ein geplanter Lauf für den Abruf, Bilder in der Mediathek, das Token in der wp-config.php oder in einer Umgebungsvariablen. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler holt die Beiträge, sie werden Entries in einer eigenen Collection, Bilder gehen in einen Assets-Container, das Token steht in der .env. Die Mechanik ist überall dieselbe, nur die Bordmittel heißen anders. womit das zusammenhängt ## Womit das zusammenhängt baustein, kanäle & **grundlagen** - [Social Media Newsroom.](https://www.siteway.de/expertise/social-media-newsroom/) — Die Schnittstelle hier, der Baustein dort: Beiträge mehrerer Kanäle gebündelt auf der Website, kuratierbar und im eigenen Design — als buchbare Komponente. zur komponente → - [Instagram.](https://www.siteway.de/stack/instagram/) — Die Bild-Ebene desselben Hauses: Wie der Instagram-Feed auf die Website kommt — ebenfalls serverseitig geholt und selbst gerendert. zur technik → - [LinkedIn.](https://www.siteway.de/stack/linkedin/) — Der berufliche Kanal: Unternehmensseite, Beiträge und was beim Zugang anders läuft als bei Meta. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Fremdcode ins Spiel kommt, wird es konkret: Einwilligung, Token serverseitig, Datensparsamkeit, Dokumentation. zur technik → - [Performance.](https://www.siteway.de/stack/performance/) — Kein Fremdskript, keine fremden Schriften, Bilder aus der eigenen Verwaltung: Warum der serverseitige Weg direkt auf die Core Web Vitals wirkt. zur technik → - [Betrieb, Wartung & Support.](https://www.siteway.de/expertise/betrieb-wartung-support/) — Ablaufende Token, alternde Schnittstellenversionen, fehlgeschlagene Abrufe: Wer das im Blick behält und was dazugehört. zur leistung → Eine Anbindung ist selten die einzige: Wer Beiträge holt, holt später Termine, Bewertungen oder Produktdaten. Wie wir solche Vorhaben von der Analyse über das Mapping bis zu Monitoring und Betrieb führen, steht unter [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). Facebook-Beiträge auf der Website — ohne Fremdcode im Browser? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # onOffice **onOffice** ist eine webbasierte Makler-Software aus Aachen: Objekte, Kontakte, Aufgaben und Vermarktung in einem System. Damit die Immobilien auch auf der eigenen Website stehen, gibt es zwei dokumentierte Wege — den **OpenImmo-Export** als Datenpaket und die **onOffice-API** als signierte Abfrage. Diese Seite beschreibt, wie siteway beide Wege baut und wann welcher trägt. stack stack: onoffice · makler-crm wege: openimmo · http-api daten: objekte · adressen · bilder seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir onOffice anbinden](#einsatz) definition ## Was ist onOffice? **onOffice ist eine webbasierte Software für Immobilienmakler — ein CRM, das Objekte, Kontakte und Vermarktung in einem System zusammenführt.** Entwickelt wird sie von der onOffice GmbH aus Aachen, die seit 2001 am Markt ist; nach Herstellerangaben arbeiten über 40.000 Nutzer damit. Das Kernprodukt heißt **onOffice enterprise** und läuft im Browser, ergänzt um eine App für den Außendienst. Im Alltag eines Maklerbüros hängt daran fast alles: Immobilien mit Merkmalen, Preisen, Lage, Bildern und Grundrissen; Eigentümer und Interessenten als Adressdatensätze; Aufgaben, Termine und Besichtigungen; Exposés und der Versand an Immobilienportale. Wer ein Objekt anlegt, pflegt es genau einmal — und erwartet zu Recht, dass es überall auftaucht, wo es hingehört. Genau da beginnt die Website. Sie ist keine zweite Datenpflege, sondern ein weiterer Kanal des Bestands. onOffice bietet dafür zwei dokumentierte Ausgänge: den Export im Branchenformat [OpenImmo](https://www.siteway.de/stack/openimmo/) und eine HTTP-API mit Zugriff auf Objekte, Adressen und Bilder. Welcher Weg gebaut wird, entscheidet sich nicht am Geschmack, sondern an dem, was die Website können soll. $ cat onoffice.md - ✓Makler-CRM webbasiert - ✓Hersteller onoffice gmbh · aachen - ✓Objektverwaltung merkmale · bilder - ✓Adressen eigentümer · interessenten - ✓Vermarktung portale · exposés - ✓Ausgänge openimmo · api praxis ## Wie wir onOffice anbinden mapping zuerst · **technik danach** Wir fangen nicht beim Abruf an, sondern beim **Feld-Mapping**. Ein Objekt in onOffice hat weit mehr Felder, als eine Website je zeigen sollte — und die Website braucht Strukturen, die onOffice so nicht kennt. Deshalb legen wir zuerst fest, welches Quellfeld auf welches Feld im [CMS-Datenmodell](https://www.siteway.de/stack/cms-redaktion/) geht, welche Merkmale zu Filtern werden, wie Preise, Flächen und Energiewerte formatiert erscheinen und was passiert, wenn ein Feld leer ist. Diese Tabelle ist das eigentliche Bauwerk; alles danach ist Handwerk. Danach kommt der **Transport**. Beim OpenImmo-Weg nimmt ein Import das abgelegte ZIP-Paket entgegen, entpackt XML und Bilder und schreibt die Objekte ins CMS. Beim API-Weg fragt ein geplanter Lauf die Objekte ab — und zwar nicht bei jedem Seitenaufruf, sondern in festem Takt in einen **Cache**. Ausgeliefert wird aus dem eigenen Bestand. Das hält die Seiten schnell, schont das Anfrage-Kontingent und sorgt dafür, dass die Website steht, auch wenn das CRM gerade nicht antwortet. Bilder ziehen wir einmal, legen sie lokal ab und liefern sie als [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/) in passenden Größen aus — Hotlinking auf fremde Bildserver ist weder schnell noch verlässlich. Auf der Website entsteht daraus das, was Interessenten tatsächlich benutzen: eine **Objektliste mit Filtern** nach Art, Ort, Preis, Fläche und Zimmern, eine **Detailseite** mit Galerie, Beschreibung, Ausstattung, Energieangaben und Karte, ein **Anfrageformular am Objekt**, das die Objektnummer gleich mitschickt — und auf Wunsch ein Rückkanal, der die Anfrage als Adressdatensatz im CRM anlegt, statt sie in einem Postfach versanden zu lassen. Wie wir Formularstrecken bauen, steht in der [Expertise zu Formularen](https://www.siteway.de/expertise/formularstrecken/). Der Betrieb entscheidet, ob die Anbindung hält. Jeder Lauf wird protokolliert, Fehler laufen in eine Benachrichtigung statt in eine leere Seite, und ein abgebrochener Import überschreibt nie den vorhandenen Bestand — im Zweifel bleibt der letzte gute Stand stehen. Verkaufte und reservierte Objekte werden als solche gekennzeichnet, entfallene Objekte bekommen eine dauerhafte Weiterleitung auf die passende Liste, damit weder Besucher noch Suchmaschinen ins Leere laufen. Objektseiten bekommen zudem sprechende Adressen und [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/), damit die Angebote in der Suche als das erscheinen, was sie sind. Und weil an einer Makler-Website nicht nur Sachdaten hängen: Objektdaten sind Sachdaten, Anfragen sind personenbezogene Daten. Wir erheben im Formular nur, was für die Antwort nötig ist, übertragen verschlüsselt, geben Zugangsdaten nie ins Frontend und regeln die Auftragsverarbeitung schriftlich. Was das für Hosting, Header und Tracking bedeutet, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). unsere leitplanken - 01Erst das **Feld-Mapping**, dann Code - 02onOffice bleibt die **führende Quelle** - 03Auslieferung aus dem **Cache**, nicht live - 04Bilder **lokal** und in modernen Formaten - 05Fehler **melden**, Bestand behalten - 06Token und Secret **nur serverseitig** [schnittstelle beauftragen →](https://www.siteway.de/expertise/schnittstellen-integration/) bausteine · 6 details ## Die Technik im Detail belegt aus der **hersteller-doku** Was in der Dokumentation von onOffice und des OpenImmo-Standards steht — und was davon in einer Website-Anbindung tatsächlich zum Tragen kommt. d-01export ### OpenImmo-Export OpenImmo ist der XML-Standard des gleichnamigen Vereins, der seit 2001 den Datenaustausch in der Immobilienwirtschaft regelt. Übertragen wird ein ZIP-Paket mit der XML-Datei und den Anhängen. In onOffice wird der eigene Webserver dafür als freie Portalschnittstelle eingerichtet. zweck: bestand als paket d-02transport ### FTP- und SFTP-Übertragung Die Zugangsdaten des Webservers werden in den Portaleinstellungen hinterlegt, onOffice prüft die Verbindung direkt beim Speichern. Laut Doku werden SFTP und unverschlüsseltes FTP unterstützt, FTP mit TLS nicht — für uns heißt das: SFTP, und ein Konto, das nur in sein Eingangsverzeichnis darf. zweck: zustellung auf den server d-03zugang ### API-Zugang & Signatur Die API ist ein kostenpflichtiges Zusatzmodul. Der Makler legt einen API-Benutzer an, dabei entstehen ein Token mit 32 und ein Secret mit 64 Zeichen. Jeder Aufruf geht als POST an api.onoffice.de und trägt Zeitstempel und HMAC — der Zeitstempel gilt nur rund zwei Minuten, die Uhr des Servers muss also stimmen. zweck: signierte abfrage d-04objekte ### Objekte & Filter Objekte liest die API über den Ressourcentyp estate. Im Aufruf steht, welche Felder kommen sollen — etwa Objekttitel, Kaufpreis oder Lage — dazu Filter mit den üblichen Operatoren, Sortierung und eine Umkreissuche über Postleitzahl oder Koordinaten. Fertige Filter aus der onOffice-Verwaltung lassen sich per Kennung übernehmen. zweck: gezielt statt alles d-05mengen ### Limits & Delta-Abgleich Lesende Aufrufe liefern höchstens 500 Datensätze je Anfrage, voreingestellt sind 20. Für große Bestände empfiehlt die Doku, statt eines wachsenden Versatzes über die zuletzt gelesene Kennung weiterzublättern. Für Folgeläufe holen wir nur Geändertes über die Änderungsfelder von Objekten und Adressen. zweck: kurze läufe d-06bilder & rückkanal ### Bilder & Rückkanal Für Bilder gibt es einen eigenen Aufruf, der die auf der Homepage freigegebenen Objektbilder liefert — mit Kategorie, Größe und Veröffentlichungsstatus. In die andere Richtung legt die API Adressen an; eine Dublettenprüfung über die E-Mail-Adresse verhindert, dass aus jeder Anfrage ein neuer Kontakt wird. zweck: galerie · leads ins crm integration · 3 systeme ## onOffice in deine Website integrieren drei systeme · **ein muster** Die Frage nach der **onOffice Integration** hat eine Antwort, die vor jedem System gilt: Ein Import- oder API-Job holt die Objekte, legt sie als ganz normale Inhalte im CMS an, und das Frontend rendert daraus Objektliste und Detailseite. Damit das trägt, braucht das CMS ein eigenes **Datenmodell** — Objektnummer, Vermarktungsart, Preis, Fläche, Zimmer, Lage, Energiewerte, Beschreibungstexte, Bilder als Medien und Merkmale als filterbare Werte. Die Objektnummer aus onOffice liegt darin als Schlüssel, damit ein Objekt bei jedem Lauf wiedergefunden und fortgeschrieben wird, statt ein zweites Mal zu entstehen. Den Rest übernimmt der **Cache**: Ausgeliefert wird aus dem CMS-Bestand, nicht aus einer Live-Abfrage — das hält die Seiten schnell und lässt die Website auch dann stehen, wenn das CRM gerade nicht antwortet. Der **Rückkanal** setzt am Formular der Objektseite an: Es schickt die Objektnummer mit, und die Anfrage geht über die API als Adressdatensatz zurück ins CRM. Die Anbindung selbst ist unsere Arbeit: Wir bauen sie als **eigenes Bauteil** im jeweiligen System — mit dessen Bordmitteln, vom Datenmodell über den geplanten Lauf bis zur Ausgabe im Frontend. Welches [CMS](https://www.siteway.de/stack/cms-redaktion/) darunter liegt, ändert die Werkzeuge — nicht die Reihenfolge. i-01typo3 ### onOffice in TYPO3 In TYPO3 docken beide Wege über eine **eigene Extension** an, die wir für das Projekt bauen. Das Datenmodell entsteht als TCA-Definition mit der Objektnummer als Schlüssel, die Objekte liegen als Records in einem eigenen Systemordner. Der Abgleich läuft als Scheduler-Task: Er liest das abgelegte OpenImmo-Paket ein oder holt die Objekte über die API — je nachdem, welcher Weg für das Projekt gesetzt ist. Extbase führt die Daten an die Ausgabe, Fluid-Templates rendern Liste und Detailseite, das Site Handling sorgt für sprechende URLs. Die Redaktion arbeitet danach im gewohnten Backend weiter und ergänzt Texte, Ansprechpartner und Einstiegsseiten rund um den Bestand. [zu TYPO3 →](https://www.siteway.de/stack/typo3/) i-02wordpress ### onOffice in WordPress In WordPress liegt die Anbindung in einem **eigenen Plugin**, nicht im Theme — so übersteht sie jeden Designwechsel. Die Objekte entstehen als Custom Post Type mit eigenen Meta-Feldern; Vermarktungsart, Lage und Ausstattungsmerkmale kommen als Taxonomien dazu und tragen später die Filter. Ein geplanter Lauf übernimmt den Abgleich: Er verarbeitet das OpenImmo-Paket oder ruft die API ab — letzteres über eine eigene REST-Route auf dem Server, damit Token und Secret nie ins Frontend gelangen. Die Ausgabe übernehmen eigene Templates und Blocks, während die Redaktion Inhalte wie gewohnt im Editor pflegt. [zu WordPress →](https://www.siteway.de/stack/wordpress/) i-03statamic ### onOffice in Statamic Statamic läuft auf [Laravel](https://www.siteway.de/stack/laravel/) — die Anbindung ist damit reguläre Laravel-Arbeit und genau der Weg, den dieses System vorsieht. Ein **Artisan-Command**, den wir schreiben, liest das OpenImmo-Paket ein oder fragt die API ab; der Scheduler startet ihn im festen Takt. Die Objekte landen als Entries in einer eigenen Collection, deren Blueprint das Feld-Mapping eins zu eins abbildet. Bilder werden einmal gezogen und im Assets-Container abgelegt, das Frontend rendert Liste und Detailseite über Antlers oder Blade, das Static Caching liefert sie als fertige Seiten aus. Die Redaktion sieht danach normale Einträge im Control Panel: Texte ergänzen, Reihenfolge setzen, Objekte hervorheben — ohne dass der nächste Lauf die Arbeit überschreibt. [zu Statamic →](https://www.siteway.de/stack/statamic/) entscheidung ## Export oder API — wann was passt zuordnung statt **rangliste** Beide Wege sind vom Hersteller vorgesehen, beide funktionieren. Die Frage ist nicht, welcher moderner ist, sondern was die Website mit den Daten anstellen soll. Drei Muster, an denen wir das im Konzept festmachen. e-01export ### Wann der Export trägt Die Website soll den Bestand zeigen, mit Liste, Filtern, Detailseite und Anfrageformular. Der Turnus einer Übertragung reicht völlig. Dann ist der OpenImmo-Weg der richtige: weniger bewegliche Teile, kein Zusatzmodul, und weil das Format ein Standard ist, überlebt die Website auch einen Wechsel der Makler-Software. robust & portabel e-02api ### Wann die API trägt Sobald Daten in beide Richtungen laufen sollen — Anfragen als Kontakt ins CRM, Suchprofile, ein geschützter Bereich für Eigentümer — oder wenn die Website gezielt abfragen muss, was der Export gar nicht mitliefert. Auch Umkreissuche, mehrsprachige Objekttexte und feine Filter sprechen für den API-Weg. beweglich & beidseitig e-03kombination ### Beides nebeneinander Häufig die ruhigste Lösung: Der Bestand kommt über den Export, der Rückkanal über die API. Die Website bleibt lauffähig, selbst wenn ein API-Aufruf einmal scheitert, und der Lead landet trotzdem dort, wo er hingehört. Wer klein anfangen will, startet mit dem Export und stellt die API später daneben. bestand rein · leads raus ### Was in beiden Fällen gleich bleibt Der Weg ändert den Transport, nicht die Sorgfalt. Das Feld-Mapping brauchst du so oder so, die Bilder liegen in beiden Fällen lokal, und ausgeliefert wird immer aus dem eigenen Bestand statt aus einer Live-Abfrage. Auch der Umgang mit verkauften und entfallenen Objekten, die sprechenden Adressen der Objektseiten und die strukturierten Daten sind identisch — das ist Website-Arbeit, keine Eigenschaft der Schnittstelle. Dieselbe Frage stellt sich bei jeder anderen Makler-Software: [FLOWFACT](https://www.siteway.de/stack/flowfact/) und [Propstack](https://www.siteway.de/stack/propstack/) bieten eigene APIs und sprechen ebenfalls OpenImmo, [PriceHubble](https://www.siteway.de/stack/pricehubble/) liefert Bewertungsdaten daneben. Welcher Weg für dein Projekt trägt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. Gebaut und beauftragt wird die Anbindung dann als [Schnittstellen-Leistung](https://www.siteway.de/expertise/schnittstellen-integration/). zuordnung - ▸Bestand zeigen, Turnus reicht → **OpenImmo** - ▸Daten in beide Richtungen → **API** - ▸Software-Wechsel denkbar → **OpenImmo** - ▸Portal für Eigentümer → **API** - ▸Bestand rein, Leads raus → **beides** faq ## Häufige Fragen ### Was ist onOffice? onOffice ist eine webbasierte Software für Immobilienmakler, entwickelt von der onOffice GmbH aus Aachen, die seit 2001 am Markt ist und nach Herstellerangaben über 40.000 Nutzer zählt. Das Kernprodukt onOffice enterprise führt Objekte, Adressen und Vermarktung an einer Stelle zusammen: Immobilien mit allen Merkmalen und Bildern, Interessenten und Eigentümer als Kontakte, dazu Aufgaben, Termine, Exposés und die Übertragung an Immobilienportale. Für eine Website ist onOffice damit die führende Quelle — die Objektdaten entstehen dort und werden nicht ein zweites Mal auf der Website gepflegt. ### Wie kommen Immobilien aus onOffice auf die Website? Über zwei Wege. Der erste ist der OpenImmo-Export: onOffice legt den Objektbestand als ZIP-Paket mit einer XML-Datei und den zugehörigen Bildern per FTP oder SFTP auf dem Webserver ab, ein Import auf der Website liest das Paket ein und schreibt die Objekte ins CMS. Der zweite ist die onOffice-API: Die Website fragt Objekte, Adressen und Bilder direkt beim System ab und kann Daten auch zurückschreiben. siteway entscheidet den Weg danach, was die Website leisten soll — nicht danach, was technisch beeindruckender klingt. ### Lässt sich onOffice in WordPress, TYPO3 oder Statamic integrieren? Ja — in allen dreien, nur führt der Weg je nach System woanders entlang. Für TYPO3 bauen wir eine eigene Extension: das Datenmodell als TCA, der Abgleich als Scheduler-Task, die Objekte als Records in einem eigenen Systemordner, die Ausgabe über Fluid. In WordPress liegt die Anbindung in einem eigenen Plugin statt im Theme — Objekte als Custom Post Type mit eigenen Meta-Feldern, Taxonomien für die Filter, ein geplanter Lauf für den Abgleich und eine REST-Route, über die die API serverseitig abgefragt wird. In Statamic ist es reguläre Laravel-Arbeit: ein Artisan-Command im Scheduler, ein Blueprint als Datenmodell, die Objekte als Entries in einer Collection, Bilder im Assets-Container. Ob dahinter der OpenImmo-Export oder die onOffice-API steckt, ändert nur den Abgleich — nicht das Muster. Gleich bleibt in allen drei Fällen die Reihenfolge: erst das Feld-Mapping, dann der Transport, dann das Frontend. ### Was ist der Unterschied zwischen OpenImmo-Export und onOffice-API? Der OpenImmo-Export ist ein Bringdienst: onOffice schiebt ein Datenpaket auf den Server, die Website verarbeitet es. Das Format ist ein Branchenstandard des [OpenImmo e. V.](https://www.siteway.de/stack/openimmo/), den auch andere Makler-Systeme sprechen — ein späterer Wechsel der Software trifft die Website deshalb kaum. Die API ist ein Holdienst: Die Website fragt gezielt ab, was sie braucht, mit Filtern, Sortierung und Umkreissuche, und kann eine Anfrage als Adressdatensatz zurückschreiben. Dafür braucht es einen API-Zugang im Kundenkonto, und jede Abfrage muss signiert und zwischengespeichert werden. Der Export ist der ruhigere Weg, die API der beweglichere. ### Was braucht es für den Zugang zur onOffice-API? Einen API-Benutzer im onOffice-Konto des Maklers. Angelegt wird er in onOffice enterprise; dabei entstehen ein Token mit 32 Zeichen und ein Secret mit 64 Zeichen. Das Token geht in jede Anfrage, aus dem Secret wird der HMAC berechnet, der die Anfrage signiert — dazu kommt ein Zeitstempel, der laut Dokumentation nur rund zwei Minuten gültig ist. Die Anfragen laufen als POST gegen api.onoffice.de. Zwei Punkte gehen dabei erfahrungsgemäß schief: Die API ist ein kostenpflichtiges Zusatzmodul, das freigeschaltet sein muss, und die Rechte des API-Benutzers dürfen nicht auf die eigenen Datensätze beschränkt sein, sonst kommen zu wenige Objekte zurück. ### Wie oft werden die Objektdaten auf der Website aktualisiert? Beim OpenImmo-Export bestimmt der Turnus der Übertragung den Takt: onOffice liefert das Paket, ein Import auf der Website verarbeitet es und schreibt die Objekte fort. Bei der API fragt die Website nicht bei jedem Seitenaufruf ab, sondern holt die Daten in einem festen Intervall in einen Cache und liefert die Seiten daraus aus. Das hält die Website schnell, schont das Anfrage-Kontingent und macht sie unabhängig davon, ob das CRM gerade erreichbar ist. Für den Abgleich nutzt siteway die Änderungsfelder der API und holt nur, was sich seit dem letzten Lauf bewegt hat. ### Was passiert mit verkauften oder entfallenen Objekten? Das ist die Stelle, an der schwache Anbindungen auffallen. onOffice führt für jedes Objekt die Kennzeichen verkauft und reserviert mit — die Website kann ein Objekt damit als reserviert oder verkauft ausweisen, statt es kommentarlos verschwinden zu lassen. Fällt ein Objekt ganz aus dem Bestand, bleibt seine Adresse nicht als Fehlerseite stehen: siteway leitet dauerhaft auf die passende Objektliste um oder liefert eine Seite, die den Stand erklärt und Alternativen anbietet. So verlieren weder Besucher noch Suchmaschinen den Faden. ### Wie werden Anfragen am Objekt datenschutzkonform behandelt? Objektdaten sind Sachdaten, Anfragen sind personenbezogene Daten — dieser Unterschied bestimmt die Umsetzung. Das Formular am Objekt fragt nur ab, was für die Antwort nötig ist, die Übertragung läuft verschlüsselt, und die Anfrage landet im CRM statt zusätzlich in einer Zwischenablage auf dem Webserver. Wer im Auftrag des Maklers Daten verarbeitet, braucht einen Vertrag zur [Auftragsverarbeitung](https://www.siteway.de/stack/sicherheit-datenschutz/); das betrifft Agentur, Hoster und Software-Anbieter gleichermaßen. Was auf der Website erhoben, gespeichert und weitergegeben wird, gehört in die Datenschutzerklärung — nachvollziehbar und nicht als Textbaustein. womit das zusammenhängt ## Womit das zusammenhängt format, schwestern & **leistung** - [OpenImmo.](https://www.siteway.de/stack/openimmo/) — Der XML-Standard hinter dem Export: Aufbau der Datei, Bilder im Paket, Übertragung und Import — unabhängig davon, welche Makler-Software dahintersteht. zum format → - [FLOWFACT.](https://www.siteway.de/stack/flowfact/) — Die zweite große Makler-Software im deutschen Markt — und wie ihre Objektdaten denselben Weg auf eine Website finden. zur technik → - [Propstack.](https://www.siteway.de/stack/propstack/) — Makler-CRM mit eigener API: Objekte, Kontakte und Anfragen zwischen System und Website — dieselben Fragen, andere Schnittstelle. zur technik → - [PriceHubble.](https://www.siteway.de/stack/pricehubble/) — Immobilienbewertung als Datendienst — der Baustein, der auf einer Makler-Website neben dem Objektbestand steht. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Zugangsdaten serverseitig, verschlüsselte Übertragung, Datensparsamkeit im Formular: die Grundlage unter jeder Anbindung mit personenbezogenen Daten. zur grundlage → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Scoping, Feld-Mapping, Entwicklung, Test auf Staging und Monitoring im Betrieb. Hier wird gebucht. zur leistung → Immobilien aus onOffice auf deine Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Open-Source-Modelle, selbst gehostet Ein **offenes Modell** lässt sich auf eigener Infrastruktur betreiben: Die Gewichte liegen auf einem Server, den du kontrollierst, und die KI-Funktion deiner Website ruft keinen fremden Anbieter mehr. Für siteway ist das der Weg, wenn **Daten das Haus nicht verlassen sollen** — und diese Seite beschreibt beide Seiten davon ehrlich: den Gewinn an Kontrolle und den **Betrieb**, den er verlangt. stack ansatz: modell auf eigener infrastruktur weg: website → eigener endpunkt → modell vorab: lizenz · hardware · betrieb seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir das anbinden](#einsatz) definition ## Was heißt „offenes Modell, selbst gehostet“? gewichte verfügbar · **ort entscheidet** **Ein Modell ist im Kern eine Datei.** In ihr stehen die Gewichte — die Zahlen, in denen das Gelernte steckt. Damit daraus eine Antwort wird, braucht es ein Programm, das diese Datei lädt, eine Frage hineingibt und Wort für Wort zurückbekommt. Bei einer fremden Schnittstelle betreibt jemand anders beides. **Offen** heißt, dass die Gewichte verfügbar sind und du sie selbst betreiben darfst. **Selbst gehostet** heißt, dass du es tust. Der Unterschied ist also nicht die Funktion, sondern der **Ort**. Eine Zusammenfassung, eine Klassifizierung, eine Chat-Antwort sehen von der Website aus gleich aus — nur geht die Anfrage nicht an einen externen Anbieter, sondern an eine Maschine, die dir untersteht. Das ist der ganze Punkt, und es ist auch der ganze Aufwand. Beim Wort „Open Source“ lohnt eine Präzisierung, weil sie später über Verträge entscheidet. **Verfügbare Gewichte sind nicht dasselbe wie quelloffene KI.** Die Open Source Initiative unterscheidet beides ausdrücklich: Ihre Definition für quelloffene KI verlangt neben den Gewichten auch den Trainingscode und ausreichende Angaben darüber, woher die Trainingsdaten kommen und wie sie verarbeitet wurden. Viele Modelle, die umgangssprachlich „open“ heißen, erfüllen nur den ersten Teil. Daraus folgt der wichtigste Satz dieser Seite über Lizenzen: **Die Nutzungsbedingungen offener Modelle unterscheiden sich stark.** Manche erlauben kommerzielle Nutzung uneingeschränkt, andere knüpfen sie an Bedingungen oder schließen bestimmte Anwendungsfälle aus. Welches Modell in ein Projekt geht, entscheiden wir deshalb erst, nachdem die Lizenz gelesen ist — konkrete Modellnamen nennen wir hier bewusst nicht, weil sich das Feld schneller dreht als eine Agenturseite. $ cat self-hosted.md - ✓Modell gewichte + laufzeitumgebung - ✓Ort eigener server · kein fremder aufruf - ✓Lizenz unterschiedlich · vorab prüfen - ✓Zugang eigener serverseitiger endpunkt - ✓Wissen kontext aus index oder cms - ✓Preis maschine statt anfrage praxis ## Wie wir ein selbst gehostetes Modell anbinden erst der zweck · **dann das modell** Am Anfang steht keine Modellwahl, sondern eine Frage: **Was soll die Funktion eigentlich können?** Eine Beschreibung zusammenfassen, eine Anfrage in die richtige Abteilung einsortieren, aus einem Datenblatt eine verständliche Antwort machen, im Chat auf Fragen zu den eigenen Inhalten antworten — das sind vier verschiedene Aufgaben mit vier verschiedenen Ansprüchen. Erst wenn die Aufgabe steht, lässt sich sagen, wie groß ein Modell sein muss. Und die Größe ist es, die später die Rechnung für die Hardware schreibt. Danach klären wir die **Lizenz** — vor dem ersten Test, nicht nach dem Launch. Erlaubt das Modell kommerzielle Nutzung in dieser Form? Gibt es Bedingungen an Weitergabe oder Nennung? Gibt es ausgeschlossene Anwendungsfälle? Das Ergebnis notieren wir im Konzept, damit später nachvollziehbar ist, warum die Wahl so ausfiel. Dann steht der **Modell-Dienst**: ein Programm auf einem Server, das die Gewichte lädt und im internen Netz über eine Adresse ansprechbar macht. Diese Adresse ist ausdrücklich **nicht öffentlich**. Erreichbar ist sie nur für unseren eigenen serverseitigen Endpunkt, und der steht dazwischen wie eine Anmeldung an der Pforte: Er prüft, wer fragt, begrenzt, wie oft gefragt werden darf, setzt eine Obergrenze für die Länge und entscheidet, was überhaupt protokolliert wird. **Ein Modell weiß nichts über deine Website.** Dieser Satz gilt hier genauso wie bei jeder fremden Schnittstelle, und er ist der Grund, warum eine gute KI-Funktion mehr Suche als Sprachmodell ist. Die eigenen Inhalte müssen mitgegeben werden: Zur Frage sucht der Index oder das CMS die Handvoll Textstellen heraus, die dazu passen, und erst diese Ausschnitte gehen zusammen mit der Frage an das Modell. Wie wir Suche bauen, steht im Hub [Suche](https://www.siteway.de/stack/suche/); ein Suchdienst, den man ebenfalls selbst betreibt, passt an dieser Stelle besonders gut, weil dann auch die Suche im Haus bleibt — [Meilisearch](https://www.siteway.de/stack/meilisearch/) ist dafür unsere Zuordnung. Zuletzt der Fehlerfall, den wir wie bei jeder Anbindung mitplanen: Antwortet der Modell-Dienst nicht oder dauert es zu lange, bleibt die Seite bedienbar und zeigt den Weg über Suche, Navigation oder Kontaktformular. Die buchbaren Leistungen dahinter sind [KI & Automation](https://www.siteway.de/expertise/ki-automation/) und [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/); die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). Wie wir KI in unserer eigenen Entwicklungsarbeit einsetzen, ist ein anderes Kapitel und steht unter [KI-gestützte Entwicklung](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/). unsere leitplanken - 01Erst die **Aufgabe**, dann die Modellgröße - 02**Lizenz gelesen**, bevor gebaut wird - 03Modell-Dienst nur intern erreichbar - 04Ein **eigener Endpunkt** davor - 05Inhalte als **Kontext** mitgeben - 06Ausfall & Wartezeit **eingeplant** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail konzepte statt **produktnamen** Was hier steht, beschreibt Bausteine und ihre Funktion — keine Modellnamen, keine Parametergrößen, keine Werte aus Vergleichstests. Der Grund ist unspektakulär: Diese Angaben altern in Monaten, und was für dein Projekt gilt, entsteht in deinem Projekt. Die Bausteine darunter sind dagegen stabil. d-01grundlage ### Gewichte & Laufzeitumgebung Zwei Teile gehören zusammen: die Gewichte als Datei und ein Programm, das sie lädt und Anfragen beantwortet. Das Programm ist austauschbar, die Gewichte sind es auch — nur beide zusammen ergeben eine Funktion. Welche Kombination in ein Projekt geht, entscheidet die Aufgabe. zweck: das modell ausführen d-02recht ### Lizenz & Nutzungsrechte Verfügbare Gewichte sind noch keine Erlaubnis. Die Open Source Initiative trennt offene Gewichte von quelloffener KI, für die ihre Definition zusätzlich Trainingscode und Angaben zu den Trainingsdaten verlangt. Kommerzielle Nutzung, Weitergabe und ausgeschlossene Anwendungsfälle stehen in der jeweiligen Lizenz — und die lesen wir vorher. zweck: darf ich das überhaupt d-03zugang ### Der eigene Endpunkt Zwischen Website und Modell steht immer ein eigener serverseitiger Endpunkt. Er prüft die Anfrage, begrenzt Häufigkeit und Länge, hängt den Kontext an und gibt die Antwort zurück. Der Modell-Dienst selbst bleibt im internen Netz und ist von außen nicht erreichbar. zweck: prüfen · begrenzen · weiterreichen d-04wissen ### Kontext aus dem eigenen Bestand Das Modell kennt deine Inhalte nicht. Suchindex oder CMS liefern zur Frage die passenden Ausschnitte, und erst daraus formuliert das Modell eine Antwort mit Quelle. Diese Kette entscheidet über die Qualität — deutlich mehr als die Wahl des Modells. zweck: antworten mit beleg d-05last ### Antwortzeit & Auslastung Wie schnell eine Antwort kommt, hängt bei diesem Weg an deiner Maschine — nicht an einem Dienst, der beliebig skaliert. Mehrere gleichzeitige Anfragen teilen sich dieselbe Hardware. Deshalb gehören eine Warteschlange, eine Obergrenze und eine sichtbare Rückmeldung an den Besucher zum Bau dazu. zweck: verhalten unter last d-06wechsel ### Modellwechsel ohne Umbau Weil der eigene Endpunkt die Website vom Modell trennt, ist ein Wechsel eine Konfigurationsfrage und kein Umbau. Neu prüfen muss man trotzdem: Ein anderes Modell antwortet anders, also gehören Anweisungen und Beispielfälle danach noch einmal auf den Tisch. zweck: unabhängig bleiben ### Daten, die das Haus nicht verlassen Das ist der Punkt, wegen dem dieser Weg meistens gewählt wird, und er ist sachlich richtig: **Bei einem selbst gehosteten Modell geht keine Anfrage an einen externen Anbieter.** Was ein Besucher in ein Chatfenster tippt, was in einer Bewerbung steht, was in einem internen Dokument zusammengefasst wird — all das bleibt auf Servern, über die du bestimmst. Die Klärung, die bei einer fremden Schnittstelle den größten Teil ausmacht, entfällt an dieser Stelle. Zu tun bleibt trotzdem etwas, und das gehört genauso deutlich hierher. **Auch im eigenen Haus entstehen Daten:** Protokolle des Endpunkts, Zwischenstände in Caches, Auswertungen zur Auslastung. Wir legen deshalb fest, was protokolliert wird, wie lange es liegen bleibt und wer auf dem Server Zugriff hat — dieselbe Sorgfalt wie bei jeder anderen Verarbeitung. Datensparsamkeit heißt hier: In eine Anfrage geht der Ausschnitt, der für die Antwort gebraucht wird, und sonst nichts. Wie das mit dem Rest der Auslieferung zusammenpasst, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Was wir nicht tun: dir bescheinigen, dass ein Aufbau die Vorgaben der DSGVO erfüllt. Das ist keine Zurückhaltung aus Höflichkeit, sondern schlicht nicht unsere Rolle — eine Rechtsberatung ist das ausdrücklich nicht. vor dem start klären - ▸**Lizenz** des Modells - ▸Was in eine **Anfrage** geht - ▸Was **protokolliert** wird — und wie lange - ▸Wer **Zugriff** auf den Server hat - ▸Modell-Dienst **nicht öffentlich** - ▸Wer die Maschine **betreut** integration ## Ein selbst gehostetes Modell in deine Website integrieren drei systeme · **ein muster** **Der Aufbau ist derselbe wie bei einer fremden Schnittstelle** — und das ist die gute Nachricht dieses Kapitels. Die Website spricht nie direkt mit dem Modell. Dazwischen steht immer ein **eigener serverseitiger Endpunkt**: Er nimmt die Anfrage aus dem Browser entgegen, prüft sie, begrenzt Häufigkeit und Länge, hängt den Kontext aus Suchindex oder CMS an, reicht das Ganze weiter und gibt die Antwort zurück. Diese Trennung ist kein Umweg, sondern der Grund, warum aus einer KI-Funktion keine offene Tür wird. Der Unterschied liegt allein darin, **wo das Modell läuft**: auf einem Server, den du kontrollierst, statt bei einem Anbieter. Für das CMS ändert sich dadurch fast nichts — anders ist nur die Adresse, die in der Konfiguration steht, und dass diese Adresse ins interne Netz zeigt. Wer heute über eine fremde Schnittstelle arbeitet und später wechseln will, tauscht deshalb die Konfiguration und nicht die Anbindung. Was die drei Systeme unterscheidet, ist nur, wo Route, Controller und Konfiguration jeweils hingehören. cms-01typo3 ### Selbst gehostet in TYPO3 Wir bauen die Anbindung als eigene Extension. Darin liegt eine Controller-Route, die der Browser aufruft — sie prüft die Anfrage, holt den Kontext aus den Inhalten und spricht dann den Modell-Dienst an. Adresse und Zugangsdaten des Modell-Dienstes stehen in der Extension-Konfiguration und werden nie in ein Template gereicht. Chatfenster, Eingabe und Antwortausgabe rendern wir in Fluid, damit die Funktion im Design der Website steht und nicht daneben. Mehrsprachigkeit läuft über die Sprachlogik des Systems, damit der Kontext in der richtigen Sprache im Prompt landet. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Selbst gehostet in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Darin registrieren wir eine eigene REST-Route als den einen Endpunkt, den das Frontend kennt; sie prüft, begrenzt und reicht weiter. Adresse und Zugangsdaten des Modell-Dienstes stehen in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht im Frontend-Skript. Für die Oberfläche kommen Template-Dateien und ein Block für den Editor dazu, damit die Redaktion die Funktion selbst platzieren kann, wo sie hingehört. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Selbst gehostet in Statamic Unter Statamic liegt Laravel, und das macht die Sache geradlinig: eine Route plus Controller als Endpunkt, davor die Bordmittel für Prüfung und Begrenzung, dahinter der Aufruf des Modell-Dienstes. Adresse und Zugangsdaten stehen in der .env und damit außerhalb des Quelltexts. Welche Felder als Kontext mitgehen dürfen, gibt der Blueprint vor — so bleibt nachvollziehbar, was in einer Anfrage landet. Antlers oder Blade rendern Eingabe, Antwort und Quellenhinweis. [statamic im stack →](https://www.siteway.de/stack/statamic/) betrieb ## Was der Betrieb verlangt der **preis der kontrolle** Hier steht der ehrliche Teil, weil er sonst später als Überraschung kommt. Ein selbst gehostetes Modell ist kein Dienst, den man einschaltet und vergisst — es ist eine **Maschine im Betrieb**. Sie braucht Ausstattung, Pflege, Beobachtung und eine Zuständigkeit. Das ist kein Nachteil dieses Weges, sondern schlicht der Preis der Kontrolle. Man sollte ihn nur kennen, bevor man ihn bezahlt. ### Hardware & Antwortzeit Ein Modell muss vollständig in den Speicher passen, um zu antworten. Kleinere Modelle laufen auf Arbeitsspeicher, größere brauchen eine Grafikkarte — **welche genau, hängt am gewählten Modell** und wird im Projekt bestimmt, nicht auf einer Agenturseite. Konkrete Zahlen nennen wir hier deshalb bewusst nicht: Sie wären geraten, und geraten hilft niemandem bei der Budgetplanung. Daraus folgt der zweite Punkt: **Antwortzeiten hängen von der Maschine ab.** Ein gehosteter Dienst verteilt Last über viele Rechner; deine Maschine tut das nicht. Mehrere gleichzeitige Anfragen teilen sich dieselbe Hardware, und ab einem gewissen Punkt wird gewartet. Wir bauen deshalb von Anfang an eine Warteschlange, eine Obergrenze und eine Anzeige ein, die dem Besucher zeigt, dass gearbeitet wird — und wir messen, bevor die Funktion live geht. ### Pflege & Zuständigkeit Ein Modell-Dienst ist Software und altert wie Software. Betriebssystem, Laufzeitumgebung und Modellstand wollen aktualisiert werden, und jedes Update ist ein kleiner Wiederholungstest: Ein anderer Stand kann anders antworten. Dazu kommt die **Überwachung** — Auslastung, Speicher, Antwortzeiten, Fehlerrate. Ohne sie merkt man einen Engpass erst an der Beschwerde, und das ist der teuerste Zeitpunkt. Und es braucht jemanden, der das im Alltag macht. Wie wir Auslieferung und Umgebungen aufsetzen, steht im Stack unter [Deployment & Betrieb](https://www.siteway.de/stack/deployment-betrieb/). Wenn diese Zuständigkeit bei uns liegen soll, ist das die buchbare Leistung [Betrieb, Wartung & Support](https://www.siteway.de/expertise/betrieb-wartung-support/). Soll sie im Haus bleiben, klären wir vorher, wer sie übernimmt — diese Frage gehört ins Konzept und nicht in die Woche nach dem Launch. was dazugehört - ▸**Hardware** — Speicher, meist eine GPU - ▸**Updates** — System, Laufzeit, Modellstand - ▸**Überwachung** — Last, Zeiten, Fehler - ▸**Zuständigkeit** — wer betreut es - ▸**Wiederholungstest** nach jedem Update - ▸**Rückfallweg**, wenn der Dienst schweigt [deployment & betrieb im stack →](https://www.siteway.de/stack/deployment-betrieb/) entscheidung ## Wann selbst hosten — und wann eine fremde Schnittstelle zuordnung statt **rangliste** Die nützliche Frage lautet nicht „was ist besser“, sondern „welche Daten sind im Spiel, wie oft wird gefragt, und wer betreibt das im Alltag“. Drei Antworten, drei Zuordnungen — und alle drei baut siteway mit derselben Sorgfalt. Was von der Website aus passiert, sieht in allen Fällen gleich aus. e-01daten ### Wenn Daten im Haus bleiben sollen Bewerbungen, Patientenanfragen, Vertragsentwürfe, interne Dokumente — oder eine interne Vorgabe, die einen Aufruf nach draußen ausschließt. Dann spricht viel für den eigenen Betrieb, weil bei diesem Weg keine Anfrage an einen externen Anbieter geht. selbst gehostet e-02volumen ### Wenn das Volumen hoch ist Bei hoher und gleichmäßiger Nutzung dreht sich die Kostenlogik: Die Maschine kostet, nicht die einzelne Anfrage. Dazu kommt Unabhängigkeit von Preis- und Modelländerungen eines Anbieters — das Modell auf deinem Server bleibt das Modell, das du geprüft hast. planbar statt nutzungsabhängig e-03gelegentlich ### Wenn es gelegentlich gebraucht wird Eine Funktion mit überschaubarer Nutzung, ein schneller Start, keine Betriebsmannschaft im Rücken: Dann ist eine fremde Schnittstelle der pragmatischere Weg — etwa über [Anthropic](https://www.siteway.de/stack/anthropic/), [OpenAI](https://www.siteway.de/stack/openai/) oder [Perplexity](https://www.siteway.de/stack/perplexity/). fremde schnittstelle ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Welche Daten gehen in die Anfragen — und dürfen die das Haus verlassen? Wie oft wird die Funktion voraussichtlich genutzt, und wie gleichmäßig? Wie schnell muss eine Antwort da sein? Gibt es interne Vorgaben, die eine Richtung vorgeben? Und wer betreut die Maschine im Alltag, wenn ein Update ansteht? Die Antworten stehen im Konzept, bevor gebaut wird — mit Begründung, damit die Entscheidung später nachvollziehbar bleibt. Die buchbaren Leistungen dahinter sind [KI & Automation](https://www.siteway.de/expertise/ki-automation/) für Abläufe im Hintergrund und [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/) für die sichtbare Funktion auf der Seite. Wie eine Anbindung technisch entsteht, beschreibt [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). zuordnung - ▸Sensible Daten → **selbst gehostet** - ▸Hohes, gleichmäßiges Volumen → **selbst gehostet** - ▸Gelegentliche Nutzung → **fremde Schnittstelle** - ▸Keine Betriebsmannschaft → **fremde Schnittstelle** - ▸Belegbare Antworten → **Kontext aus dem Index** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) faq ## Häufige Fragen ### Was bedeutet „Open-Source-Modell, selbst gehostet“? Offene Modelle sind Modelle, deren Gewichte verfügbar sind — die Datei also, in der das Gelernte steckt. Selbst gehostet heißt: Diese Datei liegt auf einem Server, den du kontrollierst, und wird dort von einem Programm ausgeführt, das Anfragen entgegennimmt und Antworten zurückgibt. Der Unterschied zu einer fremden Schnittstelle ist damit nicht die Funktion, sondern der Ort. Es geht keine Anfrage an einen externen Anbieter, weil das Modell im eigenen Haus läuft. ### Warum betreibt man ein Sprachmodell auf eigener Infrastruktur? Vier Gründe, die sich in der Praxis meist überschneiden. Erstens bleiben die Daten im Haus: Was in eine Anfrage geht — Kundentexte, Bewerbungen, interne Dokumente — verlässt die eigene Infrastruktur nicht. Zweitens ist die Kostenseite planbar, weil die Maschine kostet und nicht die einzelne Anfrage; bei hohem und gleichmäßigem Volumen dreht sich dadurch die Rechnung. Drittens macht es unabhängig von Preis- und Modelländerungen eines Anbieters, denn das Modell auf deinem Server bleibt genau das Modell, das du geprüft hast. Und viertens gibt es Häuser mit internen Vorgaben, die einen Aufruf nach draußen schlicht nicht zulassen. ### Sind offene Modelle frei nutzbar — auch kommerziell? Das gehört vorher geprüft, denn die Lizenzen unterscheiden sich stark. Verfügbare Gewichte bedeuten nicht automatisch, dass jede Nutzung erlaubt ist: Manche Modelle stehen unter Bedingungen, die kommerzielle Nutzung einschränken oder bestimmte Anwendungsfälle ausschließen. Die Open Source Initiative unterscheidet dafür ausdrücklich zwischen offenen Gewichten und quelloffener KI — für Letztere verlangt ihre Definition zusätzlich den Trainingscode und ausreichende Angaben zu den Trainingsdaten. Wir klären die Lizenz deshalb im Konzept, bevor ein Modell in ein Projekt geht, und nicht danach. ### Wann lohnt sich Selbsthosting — und wann ist eine fremde Schnittstelle der pragmatischere Weg? Das ist eine Zuordnung, keine Rangliste. Für den eigenen Betrieb spricht viel, wenn sensible Daten im Spiel sind, wenn das Anfragevolumen hoch und gleichmäßig ist oder wenn interne Vorgaben einen Aufruf nach draußen ausschließen. Eine fremde Schnittstelle ist der pragmatischere Weg, wenn eine Funktion nur gelegentlich gebraucht wird, wenn schnell gestartet werden soll oder wenn niemand da ist, der eine Maschine im Alltag betreut. Beide Wege bauen wir, und beide sehen von der Website aus fast gleich aus. Welcher passt, entscheiden wir im Konzept anhand von Daten, Volumen und Betrieb. ### Weiß ein selbst gehostetes Modell etwas über meine Website? Nein, und daran ändert der eigene Server nichts. Ein Modell kennt deine Inhalte nicht — es hat sie nie gesehen und kann sie auch nicht von sich aus nachschlagen. Wer belegbare Antworten will, muss die passenden Ausschnitte mitgeben: Der [Suchindex](https://www.siteway.de/stack/suche/) oder das CMS liefern zur Frage die Handvoll Textstellen, die dazu passen, und das Modell formuliert daraus die Antwort samt Quelle. Diese Kette ist der eigentliche Bauteil, nicht das Modell. Ein [Suchdienst, den man ebenfalls selbst betreibt](https://www.siteway.de/stack/meilisearch/), passt hier besonders gut, weil dann auch die Suche die eigene Infrastruktur nicht verlässt. ### Was braucht der Betrieb eines selbst gehosteten Modells? Vier Dinge, die man vorher einplant. Hardware: Modelle brauchen Arbeitsspeicher, größere brauchen eine Grafikkarte — welche genau, hängt vom gewählten Modell ab und wird im Projekt bestimmt. Updates: Betriebssystem, Laufzeitumgebung und Modellstand wollen gepflegt werden wie jede andere Software auch. Überwachung: Auslastung, Antwortzeiten und Fehler müssen sichtbar sein, sonst merkt man einen Engpass erst an der Beschwerde. Und Zuständigkeit: Es braucht jemanden, der das im Alltag betreut. Das ist kein Nachteil, sondern der Preis der Kontrolle — man sollte ihn nur kennen, bevor man ihn bezahlt. ### Ist ein selbst gehostetes Modell damit automatisch datenschutzkonform? Der Vorteil ist real, aber er ist kein Freibrief. Real ist er, weil bei diesem Weg tatsächlich keine Anfrage an einen externen Anbieter geht — der Punkt, an dem sonst die meiste Klärung nötig ist, fällt weg. Zu klären bleibt trotzdem, was in die Anfragen hineingeht, was protokolliert wird, wie lange Protokolle liegen bleiben und wer auf dem Server Zugriff hat. Wie wir das einordnen, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das ausdrücklich nicht, und eine Zusicherung, dass ein Aufbau die Vorgaben der DSGVO erfüllt, geben wir nicht — das gehört zwischen dich und deine Rechtsberatung. ### Lässt sich ein selbst gehostetes Modell in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und der Aufbau ist derselbe wie bei einer fremden Schnittstelle. Die Website spricht nie direkt mit dem Modell, sondern mit einem eigenen serverseitigen Endpunkt, der die Anfrage prüft, begrenzt und weiterreicht. Für das CMS ändert sich dadurch fast nichts; anders ist nur die Adresse, die in der Konfiguration steht. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit einer Controller-Route, mit Adresse und Zugangsdaten des Modell-Dienstes in der Extension-Konfiguration und der Ausgabe in Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route und der Konfiguration in der wp-config.php oder als Umgebungsvariable. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: eine Route plus Controller, die Konfiguration in der .env, die Ausgabe in Antlers oder Blade. womit das zusammenhängt ## Womit das zusammenhängt schwestern, grundlage & **leistung** - [Anthropic.](https://www.siteway.de/stack/anthropic/) — Derselbe Aufbau, anderer Ort: eine fremde Schnittstelle statt eigener Maschine. Die gleichwertige Zuordnung, wenn schnell gestartet werden soll. zur technik → - [OpenAI.](https://www.siteway.de/stack/openai/) — Ebenfalls über einen eigenen serverseitigen Endpunkt angebunden — nur läuft das Modell dort beim Anbieter statt bei dir. zur technik → - [Perplexity.](https://www.siteway.de/stack/perplexity/) — Die dritte Zuordnung im Bunde: eine Schnittstelle, deren Stärke bei Antworten mit Quellenbezug liegt. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Was in Anfragen geht, was protokolliert wird und wie lange — die Fragen, die auch im eigenen Haus zu beantworten sind. zur technik → - [KI & Automation.](https://www.siteway.de/expertise/ki-automation/) — Die Leistung über dieser Technik: Abläufe im Hintergrund, die Zeit sparen — Klassifizieren, Zusammenfassen, Vorbereiten. Hier wird gebucht. zur leistung → - [KI-Chatbots.](https://www.siteway.de/expertise/ki-chatbots/) — Die sichtbare Seite auf der Website: ein Chat, der aus den eigenen Inhalten antwortet — wahlweise mit einem Modell im eigenen Haus. zur leistung → KI-Funktion, bei der die Daten im Haus bleiben? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # OpenAI API Die **OpenAI API** ist eine Schnittstelle zu Sprachmodellen: Dein Server schickt eine Anfrage, das Modell antwortet. Für siteway ist das der Weg, wenn auf einer Website etwas **erzeugt**, **zusammengefasst**, **klassifiziert** oder **beantwortet** werden soll. Diese Seite beschreibt die Technik dahinter — und die eine Regel, an der solche Anbindungen am häufigsten scheitern: Der Schlüssel bleibt auf dem Server. stack dienst: openai · sprachmodell-api modell: anfrage · token · antwort hebel: embeddings · strukturierte ausgaben seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wofür wir sie einsetzen](#einsatz) definition ## Was ist die OpenAI API? dienst · **anfrage statt installation** **Die OpenAI API ist eine Programmierschnittstelle zu Sprachmodellen.** Du installierst kein Modell und betreibst keinen Rechner dafür. Deine Anwendung schickt eine Anfrage als JSON über HTTPS, das Modell verarbeitet sie und antwortet. Authentifiziert wird mit einem **API-Schlüssel**, der als Bearer-Token in der Authorization-Kopfzeile mitgeht; zusätzliche Kopfzeilen geben an, welcher Organisation und welchem Projekt die Nutzung zugerechnet wird. Diese Seite betrachtet die Schnittstelle aus einer bestimmten Richtung: als **Funktion auf deiner Website**, die deine Besucher benutzen. Wie siteway selbst mit KI-Werkzeugen entwickelt — also unsere eigene Arbeitsweise —, steht auf einer eigenen Seite: [KI-gestützte Entwicklung](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/). Zwei Themen, zwei Blickrichtungen, derselbe Grundstoff. Was die Schnittstelle interessant macht, sind nicht nur erzeugte Texte. Sie liefert auch **Embeddings** — Text als Vektor, damit sich inhaltlich Ähnliches finden lässt — und **strukturierte Ausgaben**, bei denen die Antwort einem vorgegebenen Schema folgt statt Fließtext zu sein. Beides steht im Kapitel [Technik im Detail](#details). Die buchbaren Leistungen dazu heißen [KI & Automation](https://www.siteway.de/expertise/ki-automation/) und [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/). $ cat openai.md - ✓Zugang https · json · bearer-token - ✓Einheit token · länge & abrechnung - ✓Ausgabe text · schema · streaming - ✓Embeddings vektoren · ähnlichkeit - ✓Schlüssel nur server · nie browser - ✓Grenzen anfragen & token je minute praxis ## Wofür wir die API einsetzen erzeugen · zusammenfassen · **klassifizieren · beantworten** Am Anfang steht keine Technikentscheidung, sondern eine Aufgabe. Vier Grundformen decken das meiste ab, was auf einer Website sinnvoll ist. **Erzeugen**: aus Stichpunkten wird ein Entwurf, aus einem Datensatz ein Beschreibungstext, aus einem Artikel ein Vorschlag für Titel und Teaser. **Zusammenfassen**: ein langes Dokument wird auf das Wesentliche gekürzt. **Klassifizieren**: eine eingehende Anfrage bekommt Kategorie, Priorität und Zuständigkeit. **Beantworten**: eine Frage wird auf Grundlage hinterlegter Inhalte beantwortet. Die Reihenfolge ist uns dabei wichtig: **Erst der Anwendungsfall, dann die Frage, ob ein Sprachmodell dafür der richtige Weg ist.** Vieles, was nach KI aussieht, ist in Wahrheit eine gute [Suche](https://www.siteway.de/stack/suche/), ein Filter oder ein sauber gebautes [Formular](https://www.siteway.de/expertise/formularstrecken/) — schneller, günstiger und mit immer demselben Ergebnis. Wo das reicht, bauen wir das. Wo ein Modell gebraucht wird, entscheidet als Nächstes die Frage, **woher die Antwort kommt**. Ein Sprachmodell für sich genommen kennt deine Preisliste nicht, deine Lieferzeiten nicht und deine Handbücher nicht. Damit ein Assistent auf Basis **deiner** Inhalte antwortet, werden diese Inhalte vorher in **Embeddings** übersetzt und abgelegt; zur Laufzeit werden die inhaltlich passenden Passagen herausgesucht und zusammen mit der Frage an das Modell gegeben. Das ist der Unterschied zwischen einer Antwort mit Beleg und einer Antwort mit Behauptung. Zwei Betriebsarten unterscheiden wir außerdem. **Im Hintergrund**: Ein Text wird beim Speichern eines Datensatzes erzeugt, redaktionell geprüft und dann veröffentlicht — der Besucher sieht nur das Ergebnis, das Modell steht nicht im Antwortweg der Seite. **Im Dialog**: Der Besucher fragt, die Antwort entsteht in dem Moment. Der zweite Fall ist der aufwendigere, weil Wartezeit, Ausfall und Missbrauch mitgeplant werden müssen. Und wie bei jeder externen Schnittstelle planen wir den Fehlerfall mit: Antwortet der Dienst nicht oder zu langsam, bleibt die Seite bedienbar und zeigt einen ehrlichen Hinweis samt Weg zum Menschen — statt eines Ladekreisels ohne Ende. Die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst der **Anwendungsfall**, dann das Modell - 02Antworten aus **eigenen Inhalten** - 03Schlüssel **ausschließlich serverseitig** - 04Eigener Endpunkt mit **Begrenzung** - 05Verbindliches kommt aus der **Datenquelle** - 06Ausfall des Dienstes **eingeplant** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation der Plattform — Begriffe und Mechanik im Original. **Modellnamen mit Versionsständen und Preise lassen wir bewusst weg**: Beides ändert sich schneller, als eine Agenturseite gepflegt wird. Was für dein Projekt gilt, steht in deinem Konto und in deinem Vertrag. d-01zugang ### Anfrage & Authentifizierung Eine Anfrage ist ein JSON-Dokument über HTTPS; die Antwort kommt ebenso zurück. Authentifiziert wird mit einem API-Schlüssel als Bearer-Token im Authorization-Header. Zusätzliche Kopfzeilen für Organisation und Projekt legen fest, wem die Nutzung zugerechnet wird — praktisch, um mehrere Websites im selben Konto sauber zu trennen. zweck: wer fragt, auf wessen konto d-02einheit ### Token & Grenzen Token sind die Recheneinheit: Text wird in Token zerlegt, und daran hängen sowohl die Länge einer Anfrage als auch die Abrechnung. Die Nutzungsgrenzen werden entsprechend gemessen — unter anderem in Anfragen je Minute und Token je Minute; welche Grenze zuerst greift, entscheidet. Wer zu viel auf einmal schickt, bekommt eine Absage statt einer Antwort. zweck: länge, kosten, drosselung d-03ausgabe ### Streaming Statt auf die fertige Antwort zu warten, lässt sich die Ausgabe als Server-Sent Events stückweise ausliefern — die Antwort erscheint, während sie entsteht. Für einen Dialog auf der Website ist das der Unterschied zwischen gefühlter Wartezeit und keiner. Die Dokumentation nennt auch den Preis dafür: Teilausgaben sind schwerer zu prüfen als eine vollständige Antwort. zweck: antwort während der entstehung d-04embeddings ### Embeddings Text wird in einen Vektor übersetzt — eine Liste von Zahlen. Der Abstand zweier Vektoren misst laut Dokumentation, wie verwandt die Texte sind: kleiner Abstand, hohe Verwandtschaft. Als Abstandsmaß wird die Kosinus-Ähnlichkeit empfohlen. Genannte Einsatzgebiete sind unter anderem Suche, Gruppierung, Empfehlungen und Klassifikation. zweck: ähnliches finden d-05schema ### Strukturierte Ausgaben Die Antwort muss kein Fließtext sein. Mit einem vorgegebenen JSON-Schema liefert das Modell ein festes Datenformat zurück, an das es sich hält — die Dokumentation stellt das ausdrücklich einem reinen JSON-Modus gegenüber, der nur gültiges JSON garantiert, aber keine bestimmte Form. Schemata dürfen verschachtelte Objekte, Listen und Aufzählungen enthalten. zweck: antwort maschinell nutzbar d-06funktionsaufrufe ### Funktionsaufrufe Die Schwesterform der strukturierten Ausgabe: Statt selbst zu antworten, meldet das Modell, welche Funktion deiner Anwendung mit welchen Werten aufgerufen werden soll. Die Dokumentation zieht die Trennlinie klar — Funktionsaufrufe für die Verbindung zu Systemen und Daten, ein Ausgabeformat für die Antwort an den Nutzer. Ausgeführt wird ausschließlich, was dein Code freigibt. zweck: brücke zu deinen daten ### Wenn das Modell danebenliegt **Ein Sprachmodell erzeugt eine plausible Antwort, keine geprüfte.** Es kann eine Zahl nennen, die es so nicht gibt, und eine falsche Aussage so flüssig formulieren wie eine richtige. Wer das auf einer Unternehmenswebsite einsetzt, muss diesen Punkt vorher auf den Tisch legen — nicht nach der ersten Beschwerde. Unsere Linie ist deshalb einfach: **Wo es verbindlich wird, kommt die Antwort aus der Datenquelle.** Preise, Verfügbarkeiten, Fristen, Termine, rechtlich relevante Auskünfte — dafür fragt die Anwendung das System, das die Wahrheit hält, und das Modell darf höchstens formulieren, was von dort kommt. Wo es um Erklärungen, Vorschläge und Entwürfe geht, ist ein Modell gut aufgehoben. Dazu kommen drei Handgriffe, die im Alltag den Unterschied machen: Antworten aus eigenen Inhalten bekommen einen **Quellenverweis**, damit sich jede Aussage nachschlagen lässt. Es bleibt erkennbar, dass eine **Maschine antwortet**. Und es gibt immer einen **Weg zum Menschen** — über [Formular](https://www.siteway.de/expertise/formularstrecken/) oder [Kontakt](https://www.siteway.de/kontakt/). verlässlichkeit - ▸Verbindliches aus der **Datenquelle** - ▸Antworten mit **Quellenverweis** - ▸Erkennbar, dass eine **Maschine** antwortet - ▸Immer ein **Weg zum Menschen** - ▸Fachlich **stichprobenartig geprüft** - ▸Erzeugte Texte vor Veröffentlichung **redigiert** integration ## Die OpenAI-API in deine Website integrieren drei systeme · **ein muster** Eine Sache entscheidet über alles Weitere, und sie steht deshalb hier zuerst: **Der API-Schlüssel gehört ausschließlich auf den Server.** Die Website spricht nicht direkt mit dem Dienst, sondern mit einem **eigenen Endpunkt** auf deiner eigenen Domain. Der nimmt die Anfrage entgegen, prüft sie, begrenzt sie und reicht sie erst dann weiter — der Schlüssel bleibt dahinter. Ohne diese Schicht steht er im Quelltext oder im JavaScript-Bundle, und dort liest ihn jeder Besucher aus: Fremde Anfragen laufen dann auf deine Rechnung, bis jemand die Abrechnung liest. Die Dokumentation sagt dasselbe in einem Satz — den Schlüssel nicht teilen, nicht in clientseitigem Code offenlegen, sondern serverseitig aus einer Umgebungsvariablen oder einem Schlüsseldienst laden. Dieser Endpunkt ist zugleich die Stelle für **Missbrauchsschutz** und **Kostenkontrolle**. Vier Begrenzungen bauen wir standardmäßig ein: eine Obergrenze, wie viele Anfragen ein Besucher in einem Zeitraum stellen darf, eine **Höchstlänge** für die Eingabe, ein **Zeitlimit** je Anfrage und eine Obergrenze für die Länge der Antwort. Dazu kommt, was auf der Ebene des Kontos möglich ist — Nutzungsgrenzen und ein eigener Projektschlüssel je Website, damit sich Verbrauch zuordnen lässt. Und darüber liegt eine Protokollierung, die sichtbar macht, wenn der Verbrauch aus der Reihe läuft, bevor es die Rechnung tut. Was das CMS darunter unterscheidet, ist nur, wo Route, Konfiguration und Template jeweils hingehören. cms-01typo3 ### OpenAI-API in TYPO3 Wir bauen die Anbindung als eigene Extension. Den Endpunkt legen wir als Middleware oder als Controller-Route an — er nimmt die Anfrage der Seite entgegen, prüft Herkunft und Länge, zieht die Begrenzung je Besucher und spricht erst dann mit dem Dienst. Der Schlüssel liegt in der Extension-Konfiguration oder als Umgebungsvariable und wird nie an ein Template gereicht. Ausgegeben wird in Fluid, sodass Eingabefeld, Antwortbereich und Ladezustand im Design der Website stehen. Wo Inhalte als Grundlage dienen, läuft die Berechnung der Embeddings als Scheduler-Task über den Bestand. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### OpenAI-API in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Der Endpunkt ist eine eigene REST-Route, die Rechte und Herkunft prüft, Länge und Häufigkeit begrenzt und dann weiterreicht. Der Schlüssel steht als Konstante in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht im Frontend-Skript. Für die Oberfläche kommen Template-Dateien und ein Block für den Editor dazu. Erzeugte Texte legen wir als Entwurf an, damit die Redaktion vor der Veröffentlichung darüber schaut. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### OpenAI-API in Statamic Unter Statamic liegt Laravel, und das macht den Aufbau geradlinig. Eine Route plus Controller bildet den Endpunkt; Begrenzung je Besucher, Zeitlimit und Längenprüfung hängen als Middleware davor. Der Schlüssel liegt in der .env und wird über die Konfiguration gelesen, nie im gerenderten Frontend. Antlers oder Blade rendern Eingabe, Antwort und Fehlerfall. Längere Aufgaben — etwa das Berechnen der Embeddings über alle Entries — laufen als Artisan-Command in der Warteschlange, statt die Anfrage des Besuchers warten zu lassen. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Daten, die das Haus verlassen sachlich · **keine rechtsberatung** Der Kern ist in einem Satz gesagt: **Was in eine Anfrage geht, verlässt deinen Server.** Der Text eines Besuchers, der Auszug aus deinem Handbuch, der Inhalt eines Formularfelds — alles, was du mitschickst, wird bei einem Dritten verarbeitet. Das ist kein Ausschlussgrund, aber es entscheidet darüber, wie eine Funktion geschnitten wird. Daraus folgt als erste Regel **Datensparsamkeit**: In die Anfrage geht der Ausschnitt, der für die Aufgabe gebraucht wird — und personenbezogene Daten nur dann, wenn es ohne sie nicht geht. Sehr oft geht es ohne: Eine Anfrage lässt sich klassifizieren, ohne dass Name, Adresse und Telefonnummer mitreisen. Wo etwas dranbleiben muss, prüfen wir, ob es sich vorher entfernen oder ersetzen lässt. Vertraglich gehören drei Punkte vor den Start geklärt: die **Auftragsverarbeitung** mit dem Anbieter, der **Verarbeitungsort** und die Frage, **was gespeichert wird**. OpenAI dokumentiert dazu, dass über die API gesendete Daten standardmäßig nicht zum Training der Modelle verwendet werden, dass Protokolle zur Missbrauchserkennung in der Regel bis zu 30 Tage aufbewahrt werden und dass es Vertragsoptionen sowohl für den Verarbeitungsort als auch für den Verzicht auf diese Speicherung gibt. Welche davon für dein Konto gelten, steht in deinem Vertrag — und nicht auf einer Agenturseite. Dazu kommt die Seite, die deine Besucher sehen: Wer mit einer KI-Funktion spricht, sollte das wissen, und es sollte in der Datenschutzerklärung wiederzufinden sein. Wie wir das mit dem Rest der Auslieferung zusammenbringen, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/); wenn eine bestehende Seite systematisch durchgesehen werden soll, ist das ein [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). Eine Rechtsberatung ist das ausdrücklich nicht. vor dem start klären - ▸**Auftragsverarbeitung** mit dem Anbieter - ▸**Verarbeitungsort** und Speicherung - ▸Was **nicht** in die Anfrage geht - ▸Hinweis in der **Datenschutzerklärung** - ▸Eigener **Projektschlüssel** je Website - ▸Schlüssel **regelmäßig erneuern** [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist die OpenAI API? Die OpenAI API ist eine Programmierschnittstelle zu Sprachmodellen. Dein Server schickt eine Anfrage als JSON über HTTPS und bekommt eine Antwort zurück — Text, oder auf Wunsch ein Datenformat, das du vorher festgelegt hast. Authentifiziert wird mit einem API-Schlüssel, der als Bearer-Token im Authorization-Header mitgeht; über zusätzliche Kopfzeilen lässt sich angeben, welcher Organisation und welchem Projekt die Nutzung zugerechnet wird. Für eine Website heißt das: Das Modell ist keine Software, die du installierst, sondern ein Dienst, den deine Anwendung im laufenden Betrieb befragt. Es rechnet nichts vor, es hält nichts vor — es antwortet auf genau das, was in der Anfrage steht. ### Was lässt sich damit auf einer Website bauen? Vier Grundformen decken das meiste ab. Erzeugen: aus Stichpunkten wird ein Entwurf, aus einem Datensatz ein Beschreibungstext, aus einem Artikel ein Vorschlag für Titel und Teaser. Zusammenfassen: ein langes Dokument wird auf das Wesentliche gekürzt. Klassifizieren: eine eingehende Anfrage bekommt eine Kategorie, eine Priorität, eine Zuständigkeit. Beantworten: eine Frage wird auf Grundlage hinterlegter Inhalte beantwortet. Wichtig ist die Reihenfolge: Zuerst steht der Anwendungsfall, dann die Frage, ob ein Sprachmodell dafür der richtige Weg ist. Vieles, was nach KI aussieht, ist eine [Suche](https://www.siteway.de/stack/suche/), ein Filter oder ein sauber gebautes Formular — und dann bauen wir das, weil es schneller ist, weniger kostet und immer dasselbe Ergebnis liefert. ### Ist das dasselbe wie KI-gestützte Entwicklung? Nein, das sind zwei verschiedene Themen, die nur denselben Grundstoff teilen. [KI-gestützte Entwicklung](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) beschreibt unsere eigene Arbeitsweise: wie wir mit KI-Werkzeugen Code schreiben, prüfen und ausliefern. Diese Seite handelt vom Gegenteil der Blickrichtung — von einer Funktion, die auf deiner Website läuft und die deine Besucher benutzen. Das eine ist unser Werkzeugkasten, das andere ist dein Feature. Die buchbaren Leistungen dazu heißen [KI & Automation](https://www.siteway.de/expertise/ki-automation/) sowie [KI-Chatbots](https://www.siteway.de/expertise/ki-chatbots/); diese Seite erklärt die Schnittstelle und ihre Technik darunter. ### Was sind Embeddings, und wofür braucht man sie? Ein Embedding ist die Übersetzung von Text in einen Vektor — eine Liste von Zahlen. Die Dokumentation beschreibt den Zweck nüchtern: Der Abstand zwischen zwei Vektoren misst, wie verwandt die beiden Texte sind; kleiner Abstand bedeutet hohe Verwandtschaft. Als Abstandsmaß empfiehlt die Dokumentation die Kosinus-Ähnlichkeit, und sie nennt als Einsatzgebiete unter anderem [Suche](https://www.siteway.de/stack/suche/), Gruppierung, Empfehlungen und Klassifikation. Für eine Website ist das der entscheidende Baustein: Wir übersetzen deine Inhalte einmal in Vektoren und legen sie ab. Kommt eine Frage, wird auch sie zum Vektor, und wir holen die inhaltlich nächstliegenden Passagen heraus. Erst diese Passagen gehen zusammen mit der Frage an das Modell. Damit antwortet der Assistent auf Grundlage deiner Inhalte, statt aus dem allgemeinen Sprachwissen zu schöpfen — und du kannst mitliefern, aus welchem Dokument die Antwort stammt. ### Warum gehört der API-Schlüssel auf den Server, und wie verhindert man Missbrauch? Weil alles, was der Browser lädt, auch lesbar ist. Ein Schlüssel in JavaScript, in einem Datenattribut oder in einer Konfigurationsdatei des Frontends steht damit jedem Besucher zur Verfügung — und jede Anfrage, die jemand damit stellt, läuft auf deine Rechnung. Die Dokumentation ist an dieser Stelle unmissverständlich und sagt, den Schlüssel nicht zu teilen und nicht in clientseitigem Code offenzulegen, sondern ihn auf dem Server aus einer Umgebungsvariablen oder einem Schlüsseldienst zu laden. Der Missbrauchsschutz gehört in dieselbe Schicht: eine Begrenzung, wie viele Anfragen ein Besucher in einem Zeitraum stellen darf, eine Höchstlänge für die Eingabe, ein Zeitlimit je Anfrage und eine Obergrenze für die Länge der Antwort. Dazu kommt die Kostenkontrolle über die Nutzungsgrenzen im Konto und eine Protokollierung, die sichtbar macht, wenn der Verbrauch aus der Reihe läuft. ### Kann sich das Modell irren, und was folgt daraus? Ja. Ein Sprachmodell erzeugt eine plausible Antwort, keine geprüfte. Es kann eine Zahl nennen, die es so nicht gibt, oder eine Aussage flüssig formulieren, die nicht stimmt. Das ist kein Argument gegen den Einsatz, aber ein Argument für eine bestimmte Bauweise. Wir ziehen deshalb eine Linie: Wo es um Preise, Verfügbarkeiten, Fristen, Termine oder rechtlich verbindliche Auskünfte geht, kommt die Antwort aus der Datenquelle und nicht aus dem Modell — das Modell darf höchstens formulieren, was die Quelle liefert. Wo es um Erklärungen, Vorschläge und Entwürfe geht, ist ein Modell gut aufgehoben, solange erkennbar bleibt, dass eine Maschine antwortet, und solange ein Weg zum Menschen offen bleibt. Antworten aus eigenen Inhalten belegen wir zusätzlich mit einem Verweis auf die Quelle, damit sich jede Aussage nachschlagen lässt. ### Was ist beim Datenschutz zu klären? Der Kern ist schnell gesagt: Was in eine Anfrage geht, verlässt deinen Server. Daraus folgt Datensparsamkeit als erste Regel — in die Anfrage geht der Ausschnitt, der für die Aufgabe gebraucht wird, und personenbezogene Daten nur dann, wenn es ohne sie nicht geht. Zu klären sind vor dem Start die Auftragsverarbeitung mit dem Anbieter, der Verarbeitungsort und die Frage, was gespeichert wird. OpenAI dokumentiert dazu, dass über die API gesendete Daten standardmäßig nicht zum Training der Modelle verwendet werden, dass Protokolle zur Missbrauchserkennung in der Regel bis zu 30 Tage aufbewahrt werden und dass es Vertragsoptionen für den Verarbeitungsort und für den Verzicht auf diese Speicherung gibt — welche davon für dein Konto gelten, steht in deinem Vertrag und nicht auf einer Agenturseite. Dazu kommt die Transparenz gegenüber deinen Besuchern: Wer mit einer KI-Funktion spricht, sollte das wissen und es in der [Datenschutzerklärung](https://www.siteway.de/stack/sicherheit-datenschutz/) wiederfinden. Eine Rechtsberatung ist das ausdrücklich nicht. ### Lässt sich die OpenAI API in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Der Aufbau ist überall derselbe: ein eigener Endpunkt auf deinem Server, der die Anfrage annimmt, prüft, begrenzt und erst dann weiterreicht; der Schlüssel liegt dahinter und nie im Browser. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit einer Middleware oder einer Controller-Route als Endpunkt, dem Schlüssel in der Extension-Konfiguration oder einer Umgebungsvariablen und der Ausgabe in Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route und dem Schlüssel als Konstante in der wp-config.php oder als Umgebungsvariable. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: eine Route plus Controller, der Schlüssel in der .env, die Ausgabe in Antlers oder Blade. Was sich unterscheidet, ist nur, wo Route, Konfiguration und Template jeweils hingehören. womit das zusammenhängt ## Womit das zusammenhängt technik, alternativen & **leistung** - [Anthropic API.](https://www.siteway.de/stack/anthropic/) — Dieselbe Aufgabe bei einem anderen Anbieter: Sprachmodell als Dienst, Anfrage über den eigenen Server. Welcher passt, entscheidet der Anwendungsfall. zur technik → - [Open-Source-Modelle.](https://www.siteway.de/stack/open-source-modelle/) — Dieselbe Aufgabe, andere Betriebsform: Modelle, die auf eigener oder gemieteter Infrastruktur laufen — für Fälle, in denen Anfragen das Haus nicht verlassen sollen. zur technik → - [KI-gestützte Entwicklung.](https://www.siteway.de/stack/ki-gestuetzte-entwicklung/) — Die andere Blickrichtung: wie wir selbst mit KI-Werkzeugen arbeiten — Code schreiben, prüfen, ausliefern. Nicht das Feature auf deiner Website, sondern unser Werkzeugkasten. zur arbeitsweise → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wenn Anfragen zu einem externen Dienst gehen: Schlüssel serverseitig, Datensparsamkeit, Auftragsverarbeitung, Verarbeitungsort. zur technik → - [KI-Chatbots.](https://www.siteway.de/expertise/ki-chatbots/) — Der Assistent auf deiner Website: Antworten aus deinen Inhalten, Übergabe an den Menschen, Auswertung der Fragen. Hier wird gebucht. zur leistung → - [KI & Automation.](https://www.siteway.de/expertise/ki-automation/) — Wenn ein Modell in einem Ablauf steckt statt in einem Chatfenster: einordnen, weiterleiten, vorbereiten — und der Mensch entscheidet am Ende. zur leistung → Eine KI-Funktion, die auf deine Inhalte antwortet? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # OpenImmo **OpenImmo** ist der offene XML-Standard für den Austausch von Immobiliendaten: Die Makler-Software exportiert ihre Objekte als Datensatz, die Website liest ihn ein. Für siteway ist das der Weg, wie Objekte auf eine Website kommen, ohne dass jemand sie ein zweites Mal eintippt — mit Objektliste, Filtern, Detailseite und einer Löschlogik, die verkaufte Objekte nicht ins Leere laufen lässt. stack format: openimmo · xml transport: zip · ftp einsatz: objektdaten auf der website seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir OpenImmo anbinden](#einsatz) definition ## Was ist OpenImmo? **OpenImmo ist ein offener Standard für den Austausch von Immobiliendaten im XML-Format — eine Datensatzbeschreibung, auf die sich Makler-Software, Portale und Websites geeinigt haben.** Der tragende Verein stellt das selbst nüchtern klar: OpenImmo ist keine Software, kein Portal und keine Schnittstelle im technischen Sinn, sondern die Beschreibung eines Datensatzes. Wer die Datei überträgt und was der Empfänger daraus macht, regeln die beteiligten Systeme. Getragen wird der Standard vom **OpenImmo e.V.**, dem „Verein zur Förderung des Datenaustausches in der Immobilien-Wirtschaft“, der sich 2001 konstituiert hat und heute über dreißig Fördermitglieder zählt. Die Spezifikation liegt als XML-Schema in der 1.2.7er-Reihe vor — und weil sie ein Schema ist, lässt sich jede einzelne Lieferung maschinell prüfen, statt sie nur zu hoffen. Der praktische Nutzen liegt in der Einmalpflege: Ein Objekt wird in der Makler-Software angelegt und beschickt von dort aus die Portale *und* die eigene Website. Genau deshalb bringen [onOffice](https://www.siteway.de/stack/onoffice/), [FLOWFACT](https://www.siteway.de/stack/flowfact/) und [Propstack](https://www.siteway.de/stack/propstack/) einen OpenImmo-Export mit — und deshalb ist eine Website, die OpenImmo liest, nicht an einen Hersteller gebunden. $ head openimmo.xml - ✓ wurzelelement - ✓ art · umfang · modus - ✓ firma · openimmo_anid - ✓ ein datensatz je objekt - ✓ bilder · dokumente - ✓ objektnummer · aktion praxis ## Wie wir OpenImmo anbinden export zuerst · **mapping danach** Ein OpenImmo-Import ist ein **Prozess, keine Datei**. Am Anfang steht die Abholung: Der Importer sieht in festem Turnus im FTP-Verzeichnis nach, zieht neue ZIP-Pakete, entpackt sie in ein Arbeitsverzeichnis und prüft die XML gegen das Schema. Was nicht valide ist, wird nicht eingespielt, sondern protokolliert und gemeldet — ein halb importierter Bestand richtet mehr Schaden an als ein ausgefallener Lauf. Erst wenn eine Lieferung vollständig durchgeht, wird sie übernommen. Danach kommt der Teil, der jedes Projekt unterscheidet: das **Feld-Mapping**. Der Standard kennt weit mehr Felder, als ein einzelner Export tatsächlich füllt — deshalb arbeiten wir am echten Export-Paket, nicht an der Spezifikation. Wir legen fest, welches Element auf welches Feld im CMS läuft: `objektkategorie` auf Objektart und Vermarktungsart, `geo` auf Adresse und Koordinaten, `preise`, `flaechen` und `ausstattung` auf die Spec-Tabelle der Detailseite, `freitexte` auf Titel, Objekt- und Lagebeschreibung. Die Objektnummer aus `verwaltung_techn` ist der Schlüssel, an dem ein Objekt über alle Lieferungen hinweg wiedererkannt wird — daran hängt, ob eine Änderung als Änderung ankommt oder als Dublette. Bilder und Dokumente stehen als `anhang` in der XML und liegen als Datei im selben ZIP. Aus jedem Original erzeugen wir beim Import die Ableitungen, die das Frontend wirklich braucht — [AVIF und WebP](https://www.siteway.de/stack/bild-videoformate/) in mehreren Breiten, damit ein Exposé-Foto nicht als Mehr-Megabyte-JPEG in der Objektliste landet. Die Löschlogik läuft über die Aktionsart: `DELETE` nimmt das Objekt aus Liste und Filter, ein Vollabgleich setzt still, was in der Lieferung fehlt. Jeder Lauf wird protokolliert, jeder Fehler gemeldet — und ausdrücklich auch der Fall, dass gar nichts mehr ankommt. Auf der Website wird daraus das, was Besucher sehen: eine Objektliste mit Filtern auf Vermarktungsart, Objektart, Ort, Preis und Fläche, Detailseiten mit Galerie und Spec-Tabelle, der Exposé-Download und ein Kontaktformular direkt am Objekt, das die Objektnummer gleich mitschickt. Die [Suche](https://www.siteway.de/stack/suche/) greift auf denselben Datenstand zu, die [strukturierten Daten](https://www.siteway.de/stack/strukturierte-daten/) ebenfalls. Gepflegt wird trotzdem weiterhin nur an einer Stelle — in der Makler-Software. unsere leitplanken - 01Erst das **echte Export-Paket**, dann das Mapping - 02Jede Lieferung **gegen das Schema** prüfen - 03Objektnummer als **stabiler Schlüssel** - 04Teilabgleich im Betrieb, **Vollabgleich als Notbremse** - 05Bild-Ableitungen **beim Import**, nicht beim Aufruf - 06Jeder Lauf protokolliert, **Ausbleiben gemeldet** bausteine · 6 details ## Die Bausteine im Detail vom paket bis zur **detailseite** Der Standard beschreibt mehr, als ein Projekt je braucht. Das sind die Teile, an denen eine Anbindung tatsächlich hängt — und was wir mit ihnen machen. d-01transport ### ZIP über FTP Die Makler-Software packt XML und Bilder in ein ZIP-Archiv und legt es per FTP im Zielverzeichnis ab — je Ziel mit eigenen Zugangsdaten. Der Importer holt ab, entpackt und arbeitet: Die Website zieht die Daten, statt auf einen Push zu warten. zweck: übertragung d-02abgleich ### Voll- & Teilabgleich Im Element `uebertragung` steht das Attribut `umfang` auf `VOLL` oder `TEIL`. VOLL bildet den kompletten aktiven Bestand ab, TEIL nur die Bewegungen. Ein Importer muss beide Fälle sauber trennen — sonst löscht der falsche Lauf den halben Bestand. zweck: bestand halten d-03datensatz ### Das Element immobilie Ein Objekt je `immobilie`: Objektkategorie, Geo-Daten, Preise, Flächen, Ausstattung, Zustandsangaben mit Baujahr und Energieausweis, Freitexte und Kontaktperson — dazu `verwaltung_objekt` und `verwaltung_techn` mit Objektnummer und Aktionsart. zweck: objektdaten d-04medien ### Anhänge & Ableitungen Jedes Bild und jedes Dokument steht als `anhang` mit Gruppe, Format und Pfad in der XML, die Datei selbst liegt im ZIP. Beim Import entstehen daraus die Ableitungen für Galerie, Liste und Vorschau — in den Breiten, die das Layout wirklich anfragt. zweck: bilder ohne ballast d-05frontend ### Liste, Filter, Detailseite Aus dem Datenmodell wird die Objektliste mit Filtern auf Vermarktungsart, Objektart, Ort, Preis und Fläche, die Detailseite mit Galerie und Spec-Tabelle — dazu Exposé-Download und ein [Kontaktformular](https://www.siteway.de/expertise/formularstrecken/) am Objekt, das die Objektnummer mitschickt. zweck: was besucher sehen d-06sichtbarkeit ### URLs & strukturierte Daten Sprechende URLs aus Objektart, Ort und Objektnummer statt aus Zufallszahlen — dazu JSON-LD nach schema.org mit `RealEstateListing`, dem passenden Wohn-Typ und einem `Offer`. Verkaufte Objekte laufen über eine Weiterleitung, nicht in eine Fehlerseite. zweck: auffindbar bleiben integration ## OpenImmo in deine Website integrieren ein importweg · **drei systeme** Der Weg ist in jedem System **derselbe**, und er ist bewusst systemunabhängig gedacht: Ein Import-Job holt den Export ab, entpackt ihn, prüft die XML gegen das Schema und legt jedes Objekt als Inhalt im CMS an — neu, wenn die Objektnummer unbekannt ist, sonst als Aktualisierung des vorhandenen Datensatzes. Gebaut wird diese Anbindung von siteway, mit den **Bordmitteln des jeweiligen Systems**: als eigene Extension, als eigenes Plugin, als eigener Command im Framework. Das Frontend liest anschließend nur noch aus dem CMS und rendert daraus Objektliste, Filter und Detailseite. Unterschiedlich ist im Grunde nur, wie das jeweilige System „Inhalt“ nennt: Record, Custom Post Type oder Entry. Zwei Dinge müssen dafür im CMS liegen. Erstens ein **eigener Inhaltstyp** mit einem Datenmodell, das die Felder aus dem Mapping trägt: Objekt- und Vermarktungsart, Preise, Flächen, Ausstattung, Freitexte, Geo-Daten — und die Objektnummer als Schlüssel, an dem ein Objekt über alle Lieferungen hinweg wiedererkannt wird. Zweitens ein Platz für die Anhänge in der Medienverwaltung des Systems, damit Bilder und Exposés dort liegen, wo das CMS sie auch verwaltet. Alles Weitere übernimmt der Import: abholen, validieren, mappen, Objekte anlegen und aktualisieren, Bild-Ableitungen erzeugen, zurückgezogene Objekte stilllegen und jeden Lauf protokollieren. Die Redaktion tippt danach keine Objektdaten mehr ab — sie arbeitet auf ihnen weiter: Objekte hervorheben, Sortierungen setzen, redaktionelle Landingpages und Beschreibungstexte um den importierten Bestand herum bauen. wo die objekte landen - ▸TYPO3 → **Records im Systemordner** - ▸WordPress → **Custom Post Type** - ▸Statamic → **Entries in einer Collection** - ▸Bilder & Exposés → **Medienverwaltung** [zum hub cms & redaktion →](https://www.siteway.de/stack/cms-redaktion/) i-01typo3 ### OpenImmo in TYPO3 In TYPO3 bauen wir die Anbindung als **eigene Extension** auf Extbase. Das Datenmodell steht in der TCA: Objekt- und Vermarktungsart, Preise, Flächen, Ausstattung, Freitexte, Geo-Daten — und die Objektnummer als Schlüssel. Der Import läuft als Scheduler-Task im gesetzten Turnus und legt jedes Objekt als Record in einem Systemordner ab, dessen PID konfiguriert wird. Sprechende URLs kommen aus dem Site Handling, die Ausgabe von Fluid-Templates: Liste, Filter, Detailseite. Die Redaktion pflegt im Backend das, was über den Export hinausgeht. [typo3 im stack →](https://www.siteway.de/stack/typo3/) i-02wordpress ### OpenImmo in WordPress In WordPress liegt die Anbindung in einem **eigenen Plugin** statt im Theme-Code — sie überlebt damit jeden Theme-Wechsel. Die Objekte sind ein Custom Post Type mit eigenen Meta-Feldern für die Werte aus dem Mapping und Taxonomien für alles, wonach später gefiltert wird: Objektart, Vermarktungsart, Lage. Den Import stößt ein geplanter Lauf an, Bilder und Exposés landen in der Mediathek. Fürs Frontend liefert dasselbe Plugin Template und Blocks, damit Liste, Filter und Detailseite zum Datenmodell passen. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) i-03statamic ### OpenImmo in Statamic Statamic läuft auf [Laravel](https://www.siteway.de/stack/laravel/) — dort bauen wir die Anbindung: ein **eigener Artisan-Command**, den der Scheduler im gesetzten Turnus startet, holt das Paket, validiert es und schreibt die Objekte als Entries in eine Collection. Das Datenmodell steht als Blueprint, Bilder und Exposés liegen im Assets-Container. Antlers oder Blade rendern Liste, Filter und Detailseite, das Static Caching liefert sie als fertige Seiten aus. Feldnamen, Mapping und URL-Struktur bestimmen wir selbst. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Wann OpenImmo passt zuordnung statt **rangliste** OpenImmo ist ein Transportweg, kein Selbstzweck. An drei Zeichen erkennen wir, dass er der richtige ist — darunter steht, wo ein anderer Weg schneller ans Ziel führt. e-01quelle ### Objekte leben in der Makler-Software Wer Exposés, Preise und Fotos ohnehin in onOffice, FLOWFACT oder Propstack pflegt, will sie nicht ein zweites Mal ins CMS tippen. OpenImmo ist der Weg, der ohne Sonderabsprache zwischen den Herstellern funktioniert. einmal pflegen e-02bewegung ### Der Bestand bewegt sich Neue Objekte, geänderte Preise, Verkäufe: Wenn sich am Bestand laufend etwas ändert, ist der automatische Abgleich schnell günstiger als die Handpflege — und vor allem verlässlicher, weil niemand das Nachtragen vergisst. immer aktuell e-03unabhängigkeit ### Die Software soll wechselbar bleiben Weil der Standard herstellerübergreifend ist, hängt die Website nicht an einem Anbieter. Ein Wechsel der Makler-Software heißt dann: ein neues Export-Ziel einrichten — und nicht die Objektwelt der Website neu bauen. herstellerübergreifend ### Wann eine direkte API der kürzere Weg ist Etliche Makler-Systeme bieten neben dem OpenImmo-Export eine eigene REST-API. Wenn ein neues Objekt in Sekunden statt im nächsten Turnus online stehen soll, oder wenn Felder gebraucht werden, die der Standard nicht kennt — eigene Kategorien, interne Vermerke, Beziehungen zwischen Objekten und Projekten —, dann ist der direkte Weg über die API der passendere. Häufig laufen beide nebeneinander: OpenImmo trägt den Bestand, die API liefert das, was darüber hinausgeht. Und wenn nicht Objektdaten, sondern Bewertungen und Marktzahlen auf die Website sollen, ist [PriceHubble](https://www.siteway.de/stack/pricehubble/) die passende Quelle — ein anderer Dienst mit einer anderen Logik. Welcher Weg dein Projekt trägt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/), bevor gebaut wird; gebaut, getestet und überwacht wird er dann als [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). zuordnung - ▸Bestand aus Makler-Software → **OpenImmo** - ▸Sekunden-Aktualität, Sonderfelder → **REST-API** - ▸Bewertung & Marktdaten → **PriceHubble** - ▸Handvoll Objekte im Jahr → **Pflege im CMS** [zur leistung schnittstellen →](https://www.siteway.de/expertise/schnittstellen-integration/) faq ## Häufige Fragen ### Was ist OpenImmo? OpenImmo ist ein offener Standard für den Austausch von Immobiliendaten im XML-Format. Er beschreibt, wie ein Objekt-Datensatz aufgebaut ist: Objektart, Lage, Preise, Flächen, Ausstattung, Freitexte, Bilder und Dokumente. Getragen wird er vom OpenImmo e.V., dem Verein zur Förderung des Datenaustausches in der Immobilien-Wirtschaft, der sich 2001 konstituiert hat. Der Verein stellt dabei selbst klar: OpenImmo ist keine Software und kein Portal, sondern die Beschreibung eines Datensatzes. Wer die Daten überträgt und was der Empfänger daraus macht, regeln die beteiligten Systeme. ### Wie kommen die Objektdaten aus der Makler-Software auf die Website? Die Makler-Software exportiert die Objekte als OpenImmo-XML und packt die Datei zusammen mit den Bildern in ein ZIP-Archiv. Dieses Archiv landet per FTP in einem Zielverzeichnis, für das jedes Ziel eigene Zugangsdaten bekommt. Auf der Website-Seite holt ein Importer die Pakete in festem Turnus ab, entpackt sie, prüft die XML gegen das Schema und schreibt die Daten in das Datenmodell des CMS. Erst danach entstehen daraus Objektliste, Filter und Detailseite. Gepflegt werden die Objekte weiterhin nur an einer Stelle, nämlich in der Makler-Software. ### Was ist der Unterschied zwischen Vollabgleich und Teilabgleich? Der Vollabgleich überträgt den kompletten aktiven Bestand: Was in der Lieferung fehlt, gilt als nicht mehr aktiv. Der Teilabgleich überträgt nur die Bewegungen, also neue und geänderte Objekte mit der Aktionsart CHANGE und zurückgezogene mit DELETE. Welcher Fall vorliegt, steht im Kopf der Datei im Element uebertragung, im Attribut umfang mit den Werten VOLL und TEIL. Wir legen den Importer so aus, dass er beides beherrscht: Der Teilabgleich ist der Normalbetrieb, der Vollabgleich der Erstimport und die Notbremse, wenn Bestand und Website auseinanderlaufen. ### Was passiert mit verkauften oder zurückgezogenen Objekten? Ein verkauftes Objekt verschwindet aus der Lieferung oder kommt mit der Aktionsart DELETE. Daraus darf keine tote URL werden. Wir lösen das in drei Stufen: Das Objekt fällt sofort aus Liste und Filter, die Detailseite bleibt für eine vereinbarte Frist mit klarer Statusangabe als Referenz bestehen, danach leitet die URL dauerhaft auf die passende Objektliste weiter. So bleibt ein bestehender Suchmaschinen-Eintrag verwertbar, und wer über einen alten Link kommt, landet bei Vergleichbarem statt auf einer Fehlerseite. ### Welche Makler-Software liefert OpenImmo? Verbreitete Systeme wie [onOffice](https://www.siteway.de/stack/onoffice/), [FLOWFACT](https://www.siteway.de/stack/flowfact/) und [Propstack](https://www.siteway.de/stack/propstack/) bringen einen OpenImmo-Export mit, ebenso viele kleinere Programme. Genau das ist der Sinn eines Standards: Der Weg auf die Website hängt nicht am Hersteller, und ein Wechsel der Makler-Software zwingt dich nicht zum Umbau der Website. Vor dem Bauen sehen wir uns trotzdem ein echtes Export-Paket an, denn der Standard erlaubt deutlich mehr Felder, als ein einzelner Export tatsächlich füllt. ### Wie oft werden die Objekte auf der Website aktualisiert? Das bestimmt der Turnus, in dem der Importer nachsieht, von mehrmals täglich bis stündlich. Schneller als die Quelle exportiert, wird die Website allerdings nicht aktuell, deshalb stimmen wir Turnus und Export-Zeitplan aufeinander ab. Jeder Lauf wird mit Zeitstempel, Zahl der verarbeiteten Objekte und aufgetretenen Fehlern protokolliert. Und wir überwachen auch den Stillstand: Kommt über einen definierten Zeitraum kein Paket an, geht eine Meldung raus, statt dass ein veralteter Bestand still weiterläuft. ### Lässt sich OpenImmo in WordPress, TYPO3 oder Statamic integrieren? Ja, in allen drei Systemen — der Weg unterscheidet sich nur im Detail, denn wir bauen die Anbindung jeweils mit den Bordmitteln des Systems. In [WordPress](https://www.siteway.de/stack/wordpress/) liegt sie in einem eigenen Plugin: Custom Post Type mit eigenen Meta-Feldern, Taxonomien für die Filter, ein geplanter Lauf für den Import, Template und Blocks fürs Frontend. In [TYPO3](https://www.siteway.de/stack/typo3/) ist es eine eigene Extension: TCA als Datenmodell, Import als Scheduler-Task, Objekte als Records in einem Systemordner, Site Handling für sprechende URLs, Fluid für die Ausgabe. In [Statamic](https://www.siteway.de/stack/statamic/) bauen wir im Laravel-Unterbau: Ein Artisan-Command im Scheduler schreibt die Objekte als Entries in eine Collection und die Bilder in den Assets-Container, Antlers oder Blade rendern das Frontend. Feld-Mapping und Abgleichlogik bleiben überall dieselben. ### Bindet siteway OpenImmo an? Ja. Diese Seite beschreibt die Technik dahinter: Datensatz, Übertragung, Abgleichlogik und den Weg ins CMS. Die buchbare Leistung mit Feld-Mapping, Entwicklung, Test auf Staging, Go-live und Monitoring beschreibt siteway unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/) in der Expertise. Was auf der Website daraus wird, also Objektliste mit Filtern, Detailseite, Exposé-Download und Kontaktformular am Objekt, klären wir vorher im Konzept. womit das zusammenhängt ## Womit das zusammenhängt leistung, sichtbarkeit & **redaktion** - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Scoping, Feld-Mapping, Entwicklung, Test auf Staging, Go-live und Monitoring. Hier wird gebucht. zur leistung → - [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) — Importierte Objektdaten sind schon strukturiert — als JSON-LD ausgezeichnet, versteht sie auch die Suchmaschine statt nur der Besucher. zur technik → - [CMS & Redaktion.](https://www.siteway.de/stack/cms-redaktion/) — Wohin die Objekte importiert werden: TYPO3, WordPress oder Statamic — und nach welchen Kriterien wir zwischen ihnen wählen. zum hub → Objekte automatisch auf der Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · search # Pagefind **Pagefind** ist eine Suchbibliothek, die den Index beim Build erzeugt und die Suche danach als WebAssembly im Browser ausführt. Kein Suchserver, keine externe Abfrage, kein Tracking — und geladen wird nur der Teil des Index, den die Eingabe wirklich braucht. Bei siteway läuft genau das hinter der Command-Palette dieser Website: ⌘K drücken, tippen, springen. stack stack: pagefind · rust → wasm einsatz: ⌘k-suche dieser website seit: 2022 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Pagefind einsetzen](#einsatz) definition ## Was ist Pagefind? open source · **mit-lizenz** **Pagefind ist eine quelloffene Bibliothek für Volltextsuche auf statisch ausgelieferten Websites. Sie besteht aus einem Kommandozeilen-Werkzeug, das nach dem Build das fertig gerenderte HTML indexiert, und einer Suchlaufzeit in WebAssembly, die im Browser läuft.** Zwischen Tastendruck und Ergebnis liegt damit kein Netzweg zu einem Dienst. Der Kern ist in **Rust** geschrieben und zu WebAssembly kompiliert. Liam Bigelow hat Pagefind im Juli 2022 bei CloudCannon veröffentlicht — als Antwort auf das Problem, dass ältere clientseitige Suchen den kompletten Index als eine Datei laden mussten und bei großen Websites in den Megabyte-Bereich kippten. Heute wird Pagefind als eigenständiges Projekt unter der MIT-Lizenz entwickelt: frei verwendbar, auch kommerziell, ohne Abo und ohne Anfragekontingent. $ cat pagefind.md - ✓Sprache rust → webassembly - ✓Lizenz mit · open source - ✓Erschienen juli 2022 · cloudcannon - ✓Eingabe gerendertes html - ✓Ausgabe statische index-dateien - ✓Schnittstelle js-api + ui-komponenten praxis ## Wie wir Pagefind einsetzen eigene ui · **nicht die fertige** Wir hängen Pagefind als festen Schritt in die Build-Kette, nicht als nachträgliches Skript. Auf dieser Website ist es Schritt drei von sechs: erst wird das CSS kompiliert, dann bekommt jede `h2` und `h3` eine stabile ID, und erst danach läuft `pagefind --site dist` über die fertigen Seiten. Die Reihenfolge ist kein Detail: Ohne die Anker vorher kennt der Index keine Sprungziele, und die Suche könnte nur auf ganze Seiten verlinken. Indexiert wird nur, was zählt. Der durchsuchbare Bereich ist mit `data-pagefind-body` am Hauptinhalt ausgezeichnet — Topbar, Footer und die Palette selbst bleiben draußen, sonst meldet jede Seite denselben Rahmen als Treffer. Die Runtime liegt auf demselben Host wie die Website. Das ist der Grund, warum unsere [Content-Security-Policy](https://www.siteway.de/stack/sicherheit-datenschutz/) ohne Ausnahme für einen Fremdhost auskommt und die Suche keine Einwilligung braucht. Die Oberfläche bauen wir selbst. Pagefind bringt fertige UI-Komponenten mit; wir nutzen stattdessen die JavaScript-API und rendern die Treffer in unsere Command-Palette. Sie mischt Navigationsziele und Volltexttreffer in einer Liste, zeigt den Textausschnitt mit hervorgehobenem Suchbegriff und springt beim Auswählen direkt in den passenden Abschnitt. Getippt wird mit 120 Millisekunden Verzögerung gesucht, angezeigt werden die sechs besten Treffer, und veraltete Antworten werden verworfen, wenn die nächste Eingabe schneller war. Geladen wird die Bibliothek erst, wenn jemand die Palette öffnet — beim normalen Seitenaufruf kostet die Suche null Byte. Das ist Absicht: Die Startseite steht bei [PageSpeed Insights](https://www.siteway.de/stack/performance/) mobil auf 100/100/100/100, und eine Suche, die immer mitlädt, würde genau daran knabbern. Fällt der Import aus, läuft die Palette ohne Volltext weiter — die Navigation bleibt bedienbar. unser setup - 01Anker zuerst, **Index danach** - 02`data-pagefind-body` am Inhalt - 03Runtime **lokal**, keine CSP-Ausnahme - 04Eigene UI über die **JS-API** - 05Nachladen erst bei **⌘K** - 06Ohne Volltext **weiter bedienbar** bausteine · 6 details ## Die Teile von Pagefind cli · index · **api** Pagefind ist kein Monolith, sondern eine Handvoll klar getrennter Teile. Wer sie kennt, weiß auch, an welcher Schraube man dreht, wenn ein Treffer falsch gewichtet ist oder etwas im Index landet, das dort nichts zu suchen hat. d-01build ### Das CLI Ein Befehl auf das Ausgabeverzeichnis, mehr braucht es nicht. Pagefind liest gerendertes HTML — ob es aus einem Generator, einem CMS-Export oder von Hand kommt, ist ihm egal. Kein Datenbankzugriff, kein Plugin, keine Konfigurationsdatei für den Start. eingabe: fertige html-dateien d-02ausgabe ### Index & Fragmente Zwei getrennte Ablagen: der gechunkte Suchindex und die Fragmente mit Text und Metadaten je Seite. Erst wird ein passender Index-Chunk geholt, dann nur das Fragment der Treffer. Deshalb bleibt die Netzlast klein, auch wenn die Website wächst. aufbau: chunks + fragmente d-03markup ### Steuerung im HTML Gesteuert wird über data-Attribute direkt im Markup: `body` setzt den durchsuchbaren Bereich, `ignore` nimmt Blöcke raus, `weight` gewichtet Überschriften höher als Fließtext, `filter` und `meta` liefern Facetten und Trefferdaten. regie: data-pagefind-* d-04runtime ### JS-API & UI Zwei Wege zur selben Suche: die fertigen UI-Komponenten für den schnellen Einbau oder die JavaScript-API für eine eigene Oberfläche — Modul importieren, initialisieren, suchen, Treffer auslesen. Wir gehen den zweiten Weg, weil die Suche bei uns Teil der Palette ist. wahl: komponente oder api d-05treffer ### Sub-Results Ein Treffer ist nicht nur eine Seite, sondern der Abschnitt darin: Pagefind gibt zu jedem Ergebnis die passenden Unterergebnisse mit Titel, Ausschnitt und Anker-URL zurück. Voraussetzung sind IDs an den Überschriften — die vergeben wir automatisch im Build. ziel: seite#abschnitt d-06sprache ### Sprachindizes Pagefind liest das `lang`-Attribut und legt je Sprache einen eigenen Index mit passender Wortstammerkennung an — deutsche Beugungsformen werden anders zusammengeführt als englische. Geladen wird nur der Index der Sprache, in der jemand gerade unterwegs ist. basis: lang-attribut beleg ## Diese Website als Beleg nachrechenbar · **⌘k drücken** Die ehrlichste Referenz ist die Seite, auf der du gerade bist. Der deutsche Index umfasst rund **100 Seiten** — Leistungen, Stack, Cases, Artikel, Tools. Die Runtime, also das WebAssembly-Modul plus das ladende Skript, liegt bei etwa **115 kB** unkomprimiert. Dazu kommt pro Anfrage ein Index-Chunk in der Größenordnung von 40 kB und je Treffer ein Fragment von etwa 5 kB. Beides erst dann, wenn jemand tatsächlich sucht. Probe aufs Exempel: ⌘K drücken und „Migrations" tippen. Der Treffer führt nicht auf die Startseite von [PHP & Laravel](https://www.siteway.de/stack/php-laravel/), sondern direkt auf den Abschnitt, in dem das Wort steht. Genau dafür laufen die Überschriften-Anker vor dem Index. Dass wir Pagefind nicht überall einsetzen, gehört zur selben Ehrlichkeit: Beim Konzern-Auftritt von **Spelsberg** — TYPO3, 13 Sprachen, angebundenes PIM — läuft die Produktsuche über Algolia, weil dort ein Katalog mit Facetten durchsucht wird und nicht ein Textbestand. Beide Wege liegen im Werkzeugkasten; die Auswahl steht im Hub [Suche](https://www.siteway.de/stack/suche/), die Projekte unter [Cases](https://www.siteway.de/cases/). pagefind auf siteway.de - ▸Index: **~100 Seiten**, Sprache de - ▸Runtime: **~115 kB**, lazy bei ⌘K - ▸Chunk je Anfrage: **~40 kB** - ▸Fragment je Treffer: **~5 kB** - ▸Externe Anfragen: **keine** Werte aus dem Build dieser Website, unkomprimiert gemessen. Über die Leitung gehen sie zusätzlich komprimiert. entscheidung ## Wann Pagefind passt — und wann nicht text oder **katalog** Die nützlichste Frage ist nicht „welche Suche ist die beste", sondern „was wird eigentlich durchsucht". Bei Text und Seiten spielt Pagefind seine Stärken aus. Bei Katalogen, Facetten und Daten, die sich stündlich ändern, ist ein Suchdienst das ehrlichere Werkzeug — und der Wechsel kostet dann keine Diskussion mehr, sondern ist eine Rechenaufgabe. e-01regelfall ### Inhalte & Wissen Unternehmensseiten, Magazine, Blogs, Dokumentation, Handbücher: Bestände, die aus Text bestehen und sich mit dem Deploy ändern. Hier ist Pagefind schnell, kostet im Betrieb nichts und hat keine Teile, die ausfallen können. pagefind e-02machbar ### Viele Seiten, viele Sprachen Auch im vier- bis fünfstelligen Seitenbereich trägt der gechunkte Index — Pagefind nennt selbst unter 300 kB Gesamtlast bei 10.000 Seiten. Zu planen sind dann die Build-Dauer und ein sauberer Index je Sprache statt eines Sammeltopfs. pagefind + planung e-03grenze ### Katalog, Facetten, Echtzeit Zehntausende Produkte mit Attributen, Filter über mehrere Achsen, Preise und Bestände im Minutentakt, Ranking nach Geschäftslogik: Dafür braucht es einen Suchdienst — Algolia gehostet oder Meilisearch selbst betrieben, sauber angebunden. algolia · meilisearch faustregel text & seiten: pagefind katalog & echtzeit: suchdienst [die auswahl im hub suche →](https://www.siteway.de/stack/suche/) faq ## Häufige Fragen ### Was ist Pagefind? Pagefind ist eine quelloffene Bibliothek für Volltextsuche auf statisch ausgelieferten Websites. Sie besteht aus zwei Teilen: einem Kommandozeilen-Werkzeug, das nach dem Build das fertig gerenderte HTML indexiert, und einer Suchlaufzeit, die in Rust geschrieben und zu WebAssembly kompiliert ist und im Browser läuft. Pagefind erschien im Juli 2022 bei CloudCannon, steht unter der MIT-Lizenz und wird heute als eigenständiges Projekt entwickelt. siteway setzt Pagefind als Standardsuche für inhaltsgetriebene Websites ein. ### Wie kommt Pagefind auf eine Website? Über einen einzigen Build-Schritt. Nachdem alle Seiten als HTML vorliegen, läuft das Pagefind-CLI über das Ausgabeverzeichnis und legt daneben einen Ordner mit Index, Fragmenten und WebAssembly-Modul ab. Es braucht keinen Zugriff auf Datenbank oder CMS und kein Plugin — nur die fertigen Seiten. Bei siteway ist das Schritt drei im Update-Skript: erst CSS, dann Überschriften-Anker, dann der Suchindex. Deshalb funktioniert derselbe Ablauf bei einem TYPO3-Export genauso wie bei Statamic oder handgebautem HTML. ### Welche Daten schickt Pagefind an Dritte? Keine. Suchbegriffe werden im Browser ausgewertet, geladen werden ausschließlich statische Dateien vom selben Host wie die Website — es gibt keinen Suchdienst, der eine Anfrage entgegennimmt. Damit entsteht kein Auftragsverarbeitungsverhältnis für die Suche, keine Einwilligung ist nötig und die Content-Security-Policy braucht keine Ausnahme für einen Fremdhost. Für siteway ist das der Hauptgrund, warum Pagefind zur trackingfreien Auslieferung passt. ### Kann man mit Pagefind eine eigene Suchoberfläche bauen? Ja. Pagefind liefert fertige UI-Komponenten mit, die ohne Konfiguration funktionieren — und darunter eine schlanke JavaScript-API: Modul laden, init aufrufen, search abfragen, Treffer auslesen. siteway nutzt auf dieser Website die API und rendert die Treffer in der eigenen Command-Palette, die mit Befehl-K oder Strg-K aufgeht. Die fertige Komponente ist der schnelle Weg, die API der freie — beide führen zum selben Index. ### Springt Pagefind direkt zur passenden Stelle einer Seite? Ja, wenn die Überschriften IDs haben. Pagefind ordnet Treffer den Abschnitten einer Seite zu und liefert sie als Sub-Results mit eigener URL, eigenem Titel und Textausschnitt. siteway vergibt deshalb im Build automatisch stabile IDs für jede h2 und h3; die Suche verlinkt dann auf Seite plus Anker, und die Command-Palette scrollt die Stelle an und hebt sie kurz hervor. Aus einem Treffer wird so eine Antwort statt einer Seite, auf der man weitersuchen muss. ### Wann stößt Pagefind an Grenzen? An drei Stellen. Erstens Aktualität: Der Index ist der Stand des letzten Builds, für sekundenaktuelle Preise oder Lagerbestände reicht das nicht. Zweitens Facetten über sehr große Datenmengen: Filter über Zehntausende Produkte mit vielen Attributen gehören in einen Suchdienst. Drittens Sortierung und Ranking nach Geschäftslogik, etwa Marge oder Klickverhalten. Für diese Fälle bindet siteway Algolia oder das selbst hostbare Meilisearch an — die Einordnung dazu steht im Stack unter [Suche](https://www.siteway.de/stack/suche/). ### Was kostet Pagefind? Die Bibliothek selbst nichts: Pagefind steht unter der MIT-Lizenz und darf auch kommerziell frei verwendet werden. Es gibt kein Abo, keine Anfragekontingente und keinen Dienst, der abgerechnet wird — im Betrieb entstehen nur die Kosten für das Ausliefern statischer Dateien. Bezahlt wird die Einrichtung: Index in die Deploy-Kette hängen, durchsuchbaren Bereich auszeichnen, Gewichtung und Oberfläche bauen. Als Leistung liegt das bei siteway unter der [Komponente Suche](https://www.siteway.de/expertise/suche/). womit das zusammenhängt ## Womit das zusammenhängt hub, stack & **leistung** - [Suche.](https://www.siteway.de/stack/suche/) — Die Kategorie über diesem Produkt: statische Suche, Suchdienst oder gar keine — wie wir pro Projekt auswählen und was das im Betrieb bedeutet. zum hub → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Warum eine Suche ohne Fremdhost die Content-Security-Policy nicht aufweicht — und wie der Rest der Auslieferung trackingfrei bleibt. zum stack → - [Suche (Komponente).](https://www.siteway.de/expertise/suche/) — Die fertige Suchfunktion für deine Website: Einbau, Gewichtung, Oberfläche und die passende Technik nach Größe. Hier wird gebucht. zur leistung → Suche, die niemanden mitliest? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # PayPal **PayPal** ist der Bezahlweg, nach dem im deutschen Checkout am ehesten gesucht wird — und technisch eine dokumentierte Schnittstelle wie jede andere. Für siteway heißt das: Die Zahlung läuft auf deiner Website, nicht auf einer fremden Plattform. Diese Seite beschreibt den Ablauf, die **serverseitige Bestätigung** und die Wahl zwischen **PayPal direkt** und PayPal **über einen Zahlungsdienstleister**. stack system: paypal · zahlungsdienst wege: direkt · über dienstleister technik: rest · webhooks · sandbox seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir PayPal anbinden](#einsatz) definition ## Was ist PayPal? **PayPal ist ein Zahlungsdienst, über den Käufer online bezahlen, ohne dem Händler Karten- oder Kontodaten zu übergeben.** Der Käufer bestätigt die Zahlung in seinem eigenen PayPal-Zugang; was dort hinterlegt ist — Bankkonto, Karte, Guthaben — bleibt zwischen ihm und PayPal. Im deutschen Markt ist das ein Verfahren mit hoher Verbreitung: Viele Käufer erwarten es im Checkout, und sein Fehlen fällt eher auf als seine Anwesenheit. Für eine Website ist PayPal damit vor allem eines: eine **Schnittstelle**. Unter developer.paypal.com dokumentiert PayPal eine REST-Schnittstelle mit Endpunkten für Bestellungen, dazu ein JavaScript-SDK für den Bezahlbutton im Frontend, Webhooks für Ereignisse rund um Zahlung, Erstattung und Streitfall sowie eine Sandbox-Umgebung, in der sich alles durchspielen lässt, bevor echtes Geld fließt. Und es gibt **zwei Wege dorthin**. Entweder direkt über die PayPal-eigene Schnittstelle mit eigenem PayPal-Zugang. Oder als eine Zahlungsart innerhalb eines [Zahlungsdienstleisters](https://www.siteway.de/stack/stripe/), der Karte, Lastschrift und weitere Verfahren ohnehin schon abwickelt. Beide führen zum selben Ergebnis auf der Website — sie unterscheiden sich in Verträgen, Auszahlung und darin, an wie vielen Stellen der Betrieb später stattfindet. $ cat paypal.md - ✓Zahlungsdienst käufer bestätigt bei paypal - ✓REST-Schnittstelle öffentlich dokumentiert - ✓Client-ID & Secret oauth-token - ✓Bezahlbutton javascript-sdk - ✓Webhooks zahlung · erstattung · streitfall - ✓Sandbox testen vor go-live praxis ## Wie wir PayPal anbinden serverseitig · **nicht im browser** Die wichtigste Entscheidung fällt vor der ersten Zeile Code: **Der Preis wird nicht aus dem Browser übernommen.** Was ein Kauf kostet, steht auf dem Server — aus Warenkorb, Produktdaten, Steuer- und Versandregeln. Der Browser sagt, *was* gekauft werden soll; *wie viel* das kostet, rechnet der Server. Alles andere lässt sich mit den Entwicklerwerkzeugen jedes Browsers umschreiben. Dann steht die **Kette**. Im Frontend liegt die Bezahlstrecke — der Bezahlbutton oder ein eigener Schritt im Checkout. Dahinter liegen zwei schmale, serverseitige Endpunkte: einer legt die Bestellung bei PayPal an und gibt ihre Kennung zurück, der zweite schließt die Zahlung ab, nachdem der Käufer sie bestätigt hat. Ein dritter Endpunkt nimmt später die Webhooks entgegen. Mehr Bewegliches braucht es nicht — und je weniger es ist, desto weniger kann schiefgehen. **Zugangsdaten** liegen ausschließlich serverseitig. Die Client-ID identifiziert das Konto und darf im Frontend auftauchen; das Secret nicht. PayPal formuliert das in der Dokumentation knapp — den Schlüssel sicher aufbewahren — und legt ihn in den eigenen Beispielen als Umgebungsvariable ab. Wir halten es genauso: Secret in der Umgebung, nie im Repository, getrennt für Test- und Produktivbetrieb. **Getestet** wird in der Sandbox, bevor irgendetwas live geht: erfolgreiche Zahlung, Abbruch mitten im Vorgang, abgelehnte Zahlung, Erstattung. Dazu die Fälle, die im Alltag wirklich passieren — der Käufer schließt das Fenster, nachdem er bestätigt hat, oder das Netz bricht zwischen Bestätigung und Abschluss weg. Genau dafür sind Webhooks da, und genau deshalb testen wir sie mit. Und schließlich das, was in Angeboten gern fehlt: **der Zustand danach**. Eine Bestellung ist mit dem Kauf nicht fertig. Sie kann erstattet werden, ganz oder teilweise, und sie kann zum Streitfall werden. Die Website muss das abbilden — Status ändern, Zugang oder Download wieder entziehen, Benachrichtigung auslösen, alles protokollieren. Die buchbare Leistung dahinter beschreibt siteway unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Betrag **serverseitig** berechnen - 02Secret **nie im Browser** - 03Abschluss **serverseitig prüfen** - 04Webhook **als Statusquelle** - 05Echtheit der Meldung **prüfen** - 06Sandbox **vor dem Go-live** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von PayPal — Endpunkte, Parameter und Ereignisnamen im Original. Konditionen und Gebühren stehen bewusst nicht dabei: Sie ändern sich, hängen am Vertrag und gehören in ein Angebot, nicht auf eine Technikseite. d-01zugang ### Client-ID & Secret Die Client-ID identifiziert das PayPal-Konto, das Secret authentifiziert sie. Beide werden gegen ein OAuth-Token getauscht, mit dem die Aufrufe dann laufen. PayPal weist in der Dokumentation ausdrücklich darauf hin, das Secret sicher aufzubewahren — bei uns liegt es in der Umgebung des Servers. zweck: authentifizierung d-02ablauf ### Anlegen & abschließen Die Orders-Schnittstelle kennt beide Schritte: Die Bestellung entsteht per POST auf /v2/checkout/orders, abgeschlossen wird sie per POST auf /v2/checkout/orders/{id}/capture. Beim Anlegen wird festgelegt, ob sofort eingezogen oder zunächst nur reserviert wird. Der Status läuft von CREATED über APPROVED nach COMPLETED. zweck: zahlungsvorgang d-03frontend ### Bezahlbutton im Frontend Das PayPal-eigene JavaScript-SDK wird von www.paypal.com/sdk/js geladen, konfiguriert über Parameter wie client-id, currency, components und intent. Der Button ruft beim Klick den eigenen Server auf, um die Bestellung anzulegen, und meldet nach der Bestätigung zurück, damit der Server abschließt. zweck: bezahlstrecke d-04test ### Sandbox PayPal beschreibt die Sandbox als in sich geschlossene Testumgebung, die die Produktivumgebung nachbildet, ohne echte Konten zu berühren. Mit dem Entwicklerzugang entstehen ein Geschäfts- und ein Privatkonto, weitere lassen sich anlegen. Eigene Zugangsdaten, eigene Basis-Adresse unter api-m.sandbox.paypal.com. zweck: vor dem go-live d-05status ### Webhooks HTTPS-Aufrufe von PayPal an eine Adresse auf dem eigenen Server, sobald ein Ereignis eintritt — dokumentiert sind unter anderem CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.DENIED und PAYMENT.CAPTURE.PENDING. Die Echtheit wird geprüft, bevor irgendetwas verarbeitet wird; die Doku nennt dafür zwei Wege. zweck: verlässlicher status d-06betrieb ### Erstattung & Streitfall Auch danach meldet PayPal weiter: PAYMENT.CAPTURE.REFUNDED, PAYMENT.REFUND.PENDING und PAYMENT.REFUND.FAILED für Erstattungen, CUSTOMER.DISPUTE.CREATED, CUSTOMER.DISPUTE.UPDATED und CUSTOMER.DISPUTE.RESOLVED für Streitfälle. Die Website führt den Bestellstatus nach, statt eine Bestellung dauerhaft als bezahlt zu zeigen. zweck: zustand nach dem kauf ### Was auf der Website daraus entsteht Aus der Schnittstelle wird eine **Bezahlstrecke**: der Bezahlschritt im Checkout, eine Bestätigungsseite, die aus dem serverseitigen Ergebnis kommt und nicht aus einer Rückmeldung des Browsers, eine Bestellbestätigung per E-Mail und ein Bestelldatensatz im Backend, an dem die Redaktion oder der Vertrieb sieht, was Sache ist. Bei digitalen Gütern hängt die Freischaltung am selben Ergebnis — Zugang oder Download entstehen erst, wenn der Server die Zahlung bestätigt hat. Wie das als buchbarer Baustein aussieht, steht in der Expertise unter [Shop & E-Commerce](https://www.siteway.de/expertise/shop-e-commerce/) und [Digitale Produkte, Abo & Payment](https://www.siteway.de/expertise/digitale-produkte-abo-payment/). Dazu kommen die **unbequemen Zustände**, die den Unterschied zwischen einer Demo und einem Produktivsystem ausmachen. Ein Käufer bestätigt und schließt das Fenster: Der Webhook trägt den Status nach. Ein Abschluss wird doppelt gemeldet: Die Verarbeitung ist so gebaut, dass dieselbe Meldung zweimal nichts Zusätzliches auslöst. Eine Zahlung bleibt in der Schwebe: Die Bestellung steht auf wartend, statt fälschlich als bezahlt zu gelten. Und jeder Vorgang wird protokolliert, damit im Zweifel nachvollziehbar ist, was wann passiert ist. Beim **Datenschutz** ist der Punkt schnell benannt: Der Bezahlbutton lädt Fremdcode. Das SDK kommt von PayPal-Servern, es entsteht eine Verbindung zu einem Dritten, und das gehört in die Consent-Betrachtung und in die Datenschutzerklärung. Technisch heißt das meist: Der Button wird dort geladen, wo bezahlt wird, und nicht auf jeder Seite. Dazu kommen die üblichen Punkte — nur die nötigen Felder übertragen, Zugangsdaten serverseitig, Übertragung über TLS. Die rechtliche Bewertung gehört zu deinem Datenschutzbeauftragten oder deiner Kanzlei; wie wir die technische Seite behandeln, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Bezahlschritt im **eigenen Checkout** - ▸Bestätigung aus dem **Serverergebnis** - ▸Bestellung mit **nachgeführtem Status** - ▸Freischaltung erst **nach Abschluss** - ▸Doppelte Meldung **ohne Doppeleffekt** - ▸Button nur auf der **Bezahlseite** integration ## PayPal in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist überraschend kurz. Im **Frontend** liegt der Bezahlbutton beziehungsweise die Bezahlstrecke — dort, wo bezahlt wird, und nur dort. Dahinter liegt ein **serverseitiger Endpunkt**, der die Bestellung bei PayPal anlegt und sie nach der Bestätigung durch den Käufer wieder serverseitig abschließt. Die Zugangsdaten bleiben dabei auf dem Server, sie tauchen im ausgelieferten Markup nicht auf. Ein weiterer Endpunkt nimmt die **Webhooks** entgegen — sie sind die verlässliche Statusquelle, weil sie auch dann ankommen, wenn der Käufer sein Browserfenster längst geschlossen hat. Daraus folgt die Regel, die über allem steht: **Der Zahlungsstatus wird nie im Browser entschieden.** Was im Browser läuft, kann verändert werden — der Betrag, die Rückmeldung, der Aufruf selbst. Eine Bestellung gilt deshalb erst dann als bezahlt, wenn der Server sie bei PayPal abgeschlossen und die Antwort geprüft hat, und der Webhook trägt diesen Stand anschließend unabhängig nach. Was das CMS darunter ändert, ist nicht die Mechanik, sondern nur die Frage, wie die Route heißt, wo die Zugangsdaten liegen und in welcher Template-Sprache die Bezahlseite entsteht. cms-01typo3 ### PayPal in TYPO3 Wir bauen die Anbindung als eigene Extension. Darin liegen Controller-Routen für das Anlegen und das Bestätigen der Bestellung sowie eine eigene Route für den Webhook. Die Zugangsdaten kommen aus der Extension-Konfiguration oder einer Umgebungsvariablen und bleiben damit serverseitig. Die Bestellung liegt als Record im System, der Status wird bei jedem Ereignis nachgeführt. Bezahlseite, Bestätigung und Fehlerfall entstehen als Fluid-Templates; der Bezahlbutton wird nur auf der Bezahlseite eingebunden. Die Redaktion pflegt Texte rund um den Checkout wie gewohnt im Backend, ohne die Zahlungslogik zu berühren. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### PayPal in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Das Plugin registriert eigene REST-Routen: eine zum Anlegen der Bestellung, eine zum Abschließen, eine für den Webhook. Client-ID und Secret liegen in der wp-config.php oder in einer Umgebungsvariablen, nie im Theme und nie im Frontend. Die Bestellung wird als eigener Datensatz geführt und bei jedem Ereignis aktualisiert. Fürs Frontend kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion die Bezahlseite dort platziert, wo sie hingehört. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### PayPal in Statamic Statamic läuft auf Laravel, und das passt zu dieser Aufgabe besonders gut: Route plus Controller für das Anlegen und Abschließen der Bestellung, eine weitere Route für den Webhook, die Prüfung der Echtheit sauber davorgeschaltet. Client-ID und Secret liegen in der .env und werden über die Konfiguration gelesen. Für nachgelagerte Schritte — Bestätigungsmail, Freischaltung, Protokoll — stehen Queues bereit, sodass der Webhook schnell antwortet. Bezahlseite und Bestätigung rendern Antlers oder Blade; im Control Panel pflegt die Redaktion die Texte drumherum. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Direkt oder über einen Zahlungsdienstleister? zuordnung statt **rangliste** Auf der Website sieht der Käufer in beiden Fällen dasselbe: einen PayPal-Button im Checkout. Der Unterschied liegt dahinter — in der Zahl der Verträge, der Auszahlungswege und der Stellen, an denen Erstattungen und Streitfälle bearbeitet werden. Stripe etwa dokumentiert PayPal als Zahlungsmethode für Konten in einer Reihe europäischer Länder, Deutschland eingeschlossen, und beschreibt daneben eine Variante mit dem eigenen PayPal-Konto. An drei Mustern lässt sich das zuordnen. e-01direkt ### Wenn PayPal der Hauptweg ist Wenige Zahlungsarten, PayPal als das eine Verfahren, das die Zielgruppe wirklich nutzt, und ein bestehender PayPal-Zugang: Dann ist der direkte Weg der kürzeste. Eigene Schnittstelle, eigene Sandbox, eigene Webhooks — und keine weitere Partei zwischen Website und Zahlung. ein anbieter · ein zugang e-02dienstleister ### Wenn mehrere Zahlarten nebeneinanderstehen Karte, Lastschrift, Rechnung, dazu PayPal: Läuft ohnehin ein Zahlungsdienstleister, ist PayPal dort eine Methode mehr. Ein Vertrag, ein Dashboard, ein Auszahlungsrhythmus, eine Abstimmung in der Buchhaltung — und im Code eine Schnittstelle statt zweier. eine schnittstelle · viele zahlarten e-03nebeneinander ### Wenn beides nebeneinander läuft Kommt vor, und zwar aus guten Gründen — etwa wenn ein gewachsener PayPal-Zugang bleiben soll, während ein Dienstleister die übrigen Zahlarten übernimmt. Dann gilt: zwei Verträge, zwei Auszahlungswege, zwei Stellen für Erstattungen und Streitfälle. Auf der Website bleibt es ein Checkout — der Aufwand entsteht in der Buchhaltung. zwei verträge · ein checkout ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Welche Zahlarten braucht die Zielgruppe wirklich — und welche davon nur gefühlt? Gibt es bereits einen PayPal-Zugang oder einen Zahlungsdienstleister im Haus? Geht es um Einmalkäufe oder um wiederkehrende Zahlungen? Wer bearbeitet Erstattungen und Streitfälle, und in welchem System soll das passieren? Und was muss die Buchhaltung am Ende abstimmen können? Erst danach fällt die Entscheidung, und sie fällt mit Begründung. Dieselbe Logik greift bei den anderen Verfahren: [Stripe](https://www.siteway.de/stack/stripe/) bündelt viele Zahlarten hinter einer Schnittstelle, [Klarna](https://www.siteway.de/stack/klarna/) deckt Rechnung und Ratenkauf ab. Welche Kombination ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen. zuordnung - ▸PayPal als Hauptweg → **direkt** - ▸Karte, Lastschrift & mehr → **Dienstleister** - ▸eine Abstimmung gewünscht → **Dienstleister** - ▸bestehender Zugang bleibt → **beides** faq ## Häufige Fragen ### Was ist PayPal im Website-Kontext? PayPal ist ein Zahlungsdienst, über den Käufer online bezahlen, ohne dem Händler Karten- oder Kontodaten zu übergeben — im deutschen Markt ein Verfahren, nach dem im Checkout regelmäßig gefragt wird. Für die Website zählt die technische Seite: PayPal dokumentiert unter developer.paypal.com eine REST-Schnittstelle, ein JavaScript-SDK für den Bezahlbutton im Frontend, Webhooks für Zahlungs- und Erstattungsereignisse sowie eine Sandbox-Umgebung zum Testen. Damit lässt sich die Zahlung in die eigene Website einbauen, statt Käufer auf eine fremde Verkaufsplattform zu schicken. ### Wie läuft eine Zahlung mit PayPal technisch ab? In drei Schritten, so beschreibt es die PayPal-Dokumentation. Erstens legt die Anwendung die Bestellung serverseitig an — über die Orders-Schnittstelle unter /v2/checkout/orders, mit der Absicht, den Betrag sofort einzuziehen oder ihn zunächst nur zu reservieren. Zweitens bestätigt der Käufer die Zahlung bei PayPal; die Bestellung wechselt dabei von CREATED auf APPROVED. Drittens schließt die Anwendung die Zahlung wieder serverseitig ab, über /v2/checkout/orders/{id}/capture, und die Bestellung erreicht COMPLETED. Authentifiziert wird mit Client-ID und Secret, die gegen ein OAuth-Token getauscht werden. Das Secret gehört dabei ausschließlich auf den Server: PayPal schreibt in der Dokumentation ausdrücklich, es sicher aufzubewahren, und die Beispiele legen es als Umgebungsvariable ab. ### PayPal direkt anbinden oder über einen Zahlungsdienstleister wie Stripe? Beides ist möglich, und der Unterschied liegt weniger im Code als in Vertrag und Buchhaltung. Direkt heißt: eigener PayPal-Zugang, PayPals eigene Schnittstelle, Auszahlung und Streitfälle laufen bei PayPal. Über einen Zahlungsdienstleister heißt: PayPal ist eine Zahlungsart neben Karte und anderen Verfahren, angesprochen über eine Schnittstelle. [Stripe](https://www.siteway.de/stack/stripe/) dokumentiert PayPal als Zahlungsmethode für Konten in einer Reihe europäischer Länder, darunter Deutschland, und beschreibt daneben eine Variante mit dem eigenen PayPal-Konto. Praktisch bedeutet das: ein Vertrag, ein Dashboard, ein Auszahlungsrhythmus, eine Abstimmung in der Buchhaltung — gegenüber zwei getrennten Verträgen, zwei Auszahlungswegen und zwei Stellen, an denen Erstattungen und Streitfälle bearbeitet werden. Welcher Weg trägt, entscheidet siteway im Konzept. ### Wie lässt sich PayPal testen, bevor die Website live geht? Über die Sandbox. PayPal beschreibt sie als in sich geschlossene Testumgebung, die die Produktivumgebung nachbildet, ohne echte Konten zu berühren. Beim Anlegen des Entwicklerzugangs entstehen dort ein Geschäfts- und ein Privatkonto; weitere lassen sich im Developer-Dashboard ergänzen. Die Sandbox hat eigene Zugangsdaten und eine eigene Basis-Adresse unter api-m.sandbox.paypal.com. Wir fahren damit den kompletten Weg durch, bevor irgendetwas live geht: erfolgreiche Zahlung, abgebrochene Zahlung, abgelehnte Zahlung, Erstattung — und dazu die Webhooks, damit nicht nur der Kauf funktioniert, sondern auch das, was danach kommt. ### Wozu Webhooks, wenn der Käufer die Zahlung im Browser bestätigt? Weil der Browser nicht die verlässliche Quelle ist. Der Käufer kann das Fenster schließen, die Verbindung kann abreißen, und ein Endpunkt, der einer Rückmeldung aus dem Browser blind glaubt, lässt sich manipulieren. PayPal beschreibt Webhooks als HTTPS-Aufrufe an eine Adresse auf dem eigenen Server, sobald ein Ereignis eintritt — dokumentiert sind unter anderem CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.DENIED und PAYMENT.CAPTURE.PENDING. Die Echtheit einer solchen Meldung wird geprüft, bevor irgendetwas verarbeitet wird; die Dokumentation nennt dafür zwei Wege, entweder eine Prüfsumme mit Signaturprüfung oder das Zurücksenden von Nachricht, Webhook-ID und Kopfzeilen an den Prüf-Endpunkt von PayPal. ### Wie bildet die Website Erstattungen und Streitfälle ab? Als Zustand, nicht als Ausnahme. Eine Bestellung endet nicht mit dem Kauf: Sie kann erstattet werden, teilweise erstattet werden, oder der Käufer eröffnet einen Streitfall. PayPal meldet diese Ereignisse ebenfalls per Webhook — dokumentiert sind unter anderem PAYMENT.CAPTURE.REFUNDED, PAYMENT.REFUND.PENDING, PAYMENT.REFUND.FAILED sowie CUSTOMER.DISPUTE.CREATED, CUSTOMER.DISPUTE.UPDATED und CUSTOMER.DISPUTE.RESOLVED. Auf der Website wird daraus eine klare Regel: Der Bestellstatus ändert sich, ein freigeschalteter Download oder Zugang wird wieder entzogen, die Benachrichtigung geht raus, und im Backend sieht man, was passiert ist. Sonst zeigt die Seite eine bezahlte Bestellung, während das Geld längst zurück ist. ### Was ist beim Datenschutz zu beachten, wenn der PayPal-Button lädt? Der Bezahlbutton ist kein Bild, sondern Fremdcode: Das JavaScript-SDK wird von PayPal-Servern geladen, dabei entsteht eine Verbindung zu einem Dritten. Das gehört in die Consent-Betrachtung und in die Datenschutzerklärung, und technisch heißt es meist: Der Button wird dort geladen, wo bezahlt wird, und nicht auf jeder Seite der Website. Dazu kommen die üblichen Punkte einer Zahlungsanbindung — nur die Felder übertragen, die für die Zahlung nötig sind, Zugangsdaten serverseitig halten, Übertragung ausschließlich über TLS, und die vertraglichen Grundlagen für die Verarbeitung klären. Das ist eine Beschreibung der Technik und keine Rechtsberatung; die rechtliche Bewertung gehört zu deinem Datenschutzbeauftragten oder deiner Kanzlei. Wie siteway die technische Seite behandelt, steht im Stack unter [Sicherheit und Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). ### Lässt sich PayPal in TYPO3, WordPress oder Statamic einbauen? Ja, in allen dreien — und wir bauen die Anbindung jeweils selbst, mit den Bordmitteln des Systems. Die Kette ist überall dieselbe: Bezahlstrecke im Frontend, ein serverseitiger Endpunkt legt die Bestellung an und bestätigt sie, ein zweiter nimmt den Webhook entgegen. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit Controller-Routen für Anlegen, Bestätigen und Webhook, den Zugangsdaten in der Extension-Konfiguration oder einer Umgebungsvariablen und Fluid im Frontend. In [WordPress](https://www.siteway.de/stack/wordpress/) entsteht ein eigenes Plugin statt Theme-Code, mit eigenen REST-Routen, den Zugangsdaten in der wp-config.php oder einer Umgebungsvariablen und Template beziehungsweise Blocks im Frontend. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: Route plus Controller, Zugangsdaten in der .env, Antlers oder Blade im Frontend. Der Zahlungsstatus wird in jedem der drei Systeme serverseitig entschieden, nie im Browser. womit das zusammenhängt ## Womit das zusammenhängt zahlarten, bausteine & **leistung** - [Stripe.](https://www.siteway.de/stack/stripe/) — Der Zahlungsdienstleister, hinter dessen Schnittstelle mehrere Zahlarten liegen — PayPal für europäische Konten inklusive. zur technik → - [Klarna.](https://www.siteway.de/stack/klarna/) — Rechnung und Ratenkauf im Checkout: anderes Modell, dieselbe Frage nach Status, Rückkanal und sauberem Betrieb. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Zahlungen laufen, wird es ernst: Zugangsdaten serverseitig, TLS, Datensparsamkeit, Fremdcode bewusst eingebunden. zur technik → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Der Baustein, in dem die Zahlung steckt: Produktkatalog, Warenkorb und Kasse als Teil deiner Website. zur leistung → - [Digitale Produkte & Abo.](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) — Downloads, Zugänge und wiederkehrende Zahlungen — dort hängt die Freischaltung direkt am Zahlungsstatus. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Umsetzung, Test in der Sandbox, Monitoring und Betrieb der Anbindung. zur leistung → Zahlung per PayPal auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · performance # Performance Performance ist bei siteway keine Endkontrolle, sondern eine Bauvorgabe. Wir bauen jede Website so, dass sie die **Core Web Vitals** erreicht: LCP unter 2,5 s, INP unter 200 ms, CLS unter 0,1. Die Mittel dahinter sind Handwerk — Critical-CSS inline, self-hosted Fonts, schlanke Bundles und [Frontend](https://www.siteway.de/stack/frontend/) ohne Framework-Runtime. stack einsatz: core web vitals ziel: lcp<2,5s · inp<200ms · cls<0,1 seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir das bauen](#praxis) definition ## Was sind Core Web Vitals? **Core Web Vitals sind drei Messwerte, mit denen Google die Nutzererfahrung einer Website bewertet: Ladezeit, Reaktionsfähigkeit und visuelle Stabilität.** Sie übersetzen das vage „fühlt sich schnell an“ in harte Zahlen — und sind seit dem Page-Experience-Update ein Ranking-Signal. **LCP** (Largest Contentful Paint) misst, wann das größte sichtbare Element steht — Zielwert unter 2,5 Sekunden. **INP** (Interaction to Next Paint) misst, wie schnell die Seite auf einen Klick oder Tap reagiert — unter 200 Millisekunden. **CLS** (Cumulative Layout Shift) misst, wie stark das Layout beim Laden noch springt — unter 0,1. Bewertet wird am **75. Perzentil** echter Seitenaufrufe: Nicht der Bestwert im Labor zählt, sondern was 75 Prozent deiner Besucher tatsächlich erleben. Genau deshalb ist Performance eine Frage der Bauweise, nicht der Nachbesserung. $ cat core-web-vitals.md - ✓LCP — ladezeit < 2,5 s - ✓INP — reaktion < 200 ms - ✓CLS — stabilität < 0,1 - ✓messbasis 75. perzentil - ✓quelle crux · felddaten - ✓status ranking-signal praxis ## Wie wir Performance bauen der größte hebel ist **verzicht** Die meisten Ratgeber zu Core Web Vitals enden bei „komprimiere Bilder und lade JavaScript später“. Das stimmt, greift aber zu kurz. Der entscheidende Unterschied entsteht früher — bei der Architektur. Wir bauen Websites so, dass die guten Werte das Nebenprodukt sind, nicht das Ergebnis einer Optimierungsrunde am Schluss. Der Kern ist eine Entscheidung: **kein Framework-Ballast im Frontend**. Statt eine React- oder Vue-Runtime in den Browser zu schicken, liefern wir serverseitig gerendertes HTML, [Tailwind-CSS](https://www.siteway.de/stack/frontend/) und gezieltes Vanilla-JavaScript aus. Was der Browser nicht laden, parsen und ausführen muss, kann auch nichts blockieren — das drückt LCP und INP, bevor eine einzige Kilobyte-Diät nötig wird. p-01erster paint ### Critical-CSS inline Das CSS, das der sichtbare Bereich braucht, steht direkt im HTML — kein zweiter Request, keine Render-Blockade. Die Seite baut sich beim ersten Byte auf. Das ist der direkteste Hebel auf LCP. wirkt auf: lcp p-02schriften ### Self-hosted Fonts Schriften liegen lokal als WOFF2, werden vorgeladen und mit font-display ausgeliefert. Kein Umweg über Google Fonts, kein dritter Verbindungsaufbau — und ganz nebenbei DSGVO-sauber. wirkt auf: lcp · cls p-03bundles ### Minify & schlanke Bundles CSS und JavaScript werden minifiziert und auf das Nötige reduziert. Kein totes CSS, keine ungenutzten Bibliotheken. Weniger Bytes über die Leitung heißt schnellerer Aufbau und niedrigere Blockierzeit. wirkt auf: lcp · inp p-04navigation ### instant-page Beim Überfahren eines Links lädt die Zielseite vor, noch bevor der Klick kommt. Für den Nutzer fühlt sich der Wechsel sofort an. Das Skript ist self-hosted und wenige Kilobyte klein. wirkt auf: gefühlte ladezeit p-05bilder ### AVIF/WebP mit Maßen Bilder als AVIF und WebP, responsive ausgeliefert und immer mit width/height. Das spart Bytes fürs LCP und reserviert den Platz, damit beim Nachladen nichts springt. Details im [Bild-&-Videoformate](https://www.siteway.de/stack/bild-videoformate/)-Stack. wirkt auf: lcp · cls p-06runtime ### Keine Framework-Runtime Der stärkste Hebel auf INP: Wir schicken keine schwere JavaScript-Runtime in den Browser. Der Hauptthread bleibt frei, Eingaben werden sofort beantwortet — auch auf schwachen Geräten und in langsamen Netzen. wirkt auf: inp metriken · 3 werte ## Die drei Werte im Detail jeder wert ein **eigener hebel** LCP, INP und CLS messen drei verschiedene Dinge und verlangen drei verschiedene Antworten. Wer nur an einer Schraube dreht, verschiebt das Problem. Wir behandeln jede Metrik mit den Mitteln, die auf sie wirken. m-01 · lcp< 2,5 s ### LCP — Ladezeit Der Zeitpunkt, an dem das größte sichtbare Element steht — meist Hero-Bild oder Überschrift. Wir senken ihn mit Critical-CSS inline, vorgeladenem LCP-Bild, schneller Server-Antwort und ohne Render-blockierende Skripte. mittel: critical-css · preload · avif m-02 · inp< 200 ms ### INP — Reaktion Die Zeit zwischen Eingabe und sichtbarer Antwort. INP straft schweres JavaScript ab, das den Hauptthread blockiert. Unser Mittel ist strukturell: keine Framework-Runtime, wenig Vanilla-JS, kurze Total Blocking Time im Labor. mittel: no-runtime · vanilla-js m-03 · cls< 0,1 ### CLS — Stabilität Wie stark das Layout beim Laden noch springt. Ursache sind Bilder ohne Maße, spät geladene Schriften und nachrutschende Einbindungen. Wir setzen feste Dimensionen, laden Schriften vor und reservieren Platz für alles, was nachkommt. mittel: width/height · font-preload beleg ## Der Beweis: die eigene Startseite gemessen, nicht **behauptet** Wer Performance verkauft, sollte sie zuerst am eigenen Haus zeigen. Die Startseite von siteway erreicht in Google PageSpeed Insights **100/100/100/100 auf Mobilgeräten** — Performance, Barrierefreiheit, Best Practices und SEO jeweils voll. Der Weg dahin war lehrreich: Der teuerste Posten waren nicht CSS oder Fonts, sondern die Frame-Kosten paralleler [WebGL-Shader](https://www.siteway.de/stack/frontend/) im Hintergrund. Erst als wir die im Griff hatten, kippte der Score auf 100. Diese Erfahrung — messen, die echte Ursache finden, gezielt beheben — bringen wir in jedes Projekt mit. Für bestehende Seiten fangen wir mit einem [Page-Speed-Audit](https://www.siteway.de/expertise/page-speed-audit/) an: erst messen, wo LCP, INP und CLS klemmen, dann die Mittel von oben gezielt einsetzen. psi · startseite · mobil▸ 100 / 100 - 01**Performance** 100 — schnelle Auslieferung - 02**Barrierefreiheit** 100 — WCAG 2.2 - 03**Best Practices** 100 — sauberes Fundament - 04**SEO** 100 — technisch vorbereitet messung ## Labor oder Feld — was zählt fürs ranking zählt das **feld** Ein Detail, an dem viele Optimierungen scheitern: Nicht jeder gemessene Wert zählt gleich. **Labordaten** aus Lighthouse sind reproduzierbar und gut zum Entwickeln, bilden aber keine echten Nutzer ab. **Felddaten** aus dem Chrome User Experience Report (CrUX) zeigen, was Besucher mit ihren Geräten und Netzen wirklich erleben — und nur die fließen ins Ranking ein, am 75. Perzentil. INP lässt sich im Labor überhaupt nicht direkt messen; dort dient die Total Blocking Time als Näherung. Wir entwickeln gegen das Labor und prüfen gegen das Feld. so messen wir labor: lighthouse · devtools feld: crux · psi · search console basis: 75. perzentil faq ## Häufige Fragen ### Was sind Core Web Vitals? Core Web Vitals sind drei von Google definierte Messwerte für die Nutzererfahrung einer Website: Largest Contentful Paint (LCP) misst die Ladezeit des größten sichtbaren Elements, Interaction to Next Paint (INP) die Reaktionszeit auf Eingaben, Cumulative Layout Shift (CLS) die visuelle Stabilität. Als „gut“ gelten LCP unter 2,5 Sekunden, INP unter 200 Millisekunden und CLS unter 0,1 — gemessen am 75. Perzentil echter Seitenaufrufe. ### Welche Werte gelten als gut? LCP unter 2,5 Sekunden, INP unter 200 Millisekunden, CLS unter 0,1. Entscheidend ist nicht ein Bestwert im Labor, sondern das 75. Perzentil aller echten Seitenaufrufe: 75 Prozent deiner Besucher müssen diese Schwellen erreichen, damit die Seite als schnell gilt. siteway baut die Ziele als feste Vorgabe in jedes Projekt ein, nicht als Kür am Ende. ### Mit welchen technischen Mitteln erreicht ihr diese Werte? Wir liefern das kritische CSS inline im ersten HTML aus, minifizieren CSS und JavaScript, hosten Schriften lokal statt über Google Fonts, laden Folgeseiten per instant-page vor und halten die Bundles schlank. Der größte Hebel ist Verzicht: Wir bauen ohne Framework-Runtime im Frontend, damit kein Megabyte JavaScript den Hauptthread blockiert. Das drückt LCP und INP, bevor überhaupt gemessen wird. ### Was ist der Unterschied zwischen Lab- und Felddaten? Labordaten stammen aus einem simulierten Testlauf, etwa aus Lighthouse — reproduzierbar, aber ohne echte Nutzer. Felddaten stammen aus dem Chrome User Experience Report (CrUX) und bilden ab, was echte Besucher erleben. Für das Google-Ranking zählen die Felddaten am 75. Perzentil. Wir optimieren im Labor, prüfen aber gegen die Felddaten, weil nur die über Sichtbarkeit entscheiden. ### Warum baut ihr ohne Framework-Runtime im Frontend? Weil eine Framework-Runtime im Browser Kosten verursacht, die niemand sieht: JavaScript wird geladen, geparst und ausgeführt, bevor die Seite reagiert. Genau das treibt INP nach oben und verzögert den Aufbau. Für inhaltsgetriebene Websites reichen serverseitig gerendertes HTML, Tailwind-CSS und gezieltes Vanilla-JavaScript. So bleibt der Hauptthread frei und die Seite schnell — auf schwachen Geräten und langsamen Netzen genauso wie im Testlabor. ### Sind Core Web Vitals ein Ranking-Faktor? Ja, seit dem Page-Experience-Update ist die Ladeerfahrung ein Google-Ranking-Signal. Es ist aber kein Turbo, der schwachen Inhalt nach oben trägt: Relevanz und Qualität wiegen schwerer. Bei zwei inhaltlich gleich starken Seiten gibt die bessere Performance den Ausschlag. Deshalb behandeln wir Core Web Vitals als Pflicht-Basis, nicht als Wachstumshebel. ### Könnt ihr eine bestehende Website messbar schneller machen? Ja. Wir prüfen zuerst mit einem [Page-Speed-Audit](https://www.siteway.de/expertise/page-speed-audit/), wo LCP, INP und CLS klemmen, und leiten daraus konkrete Maßnahmen ab. Die Umsetzung — Critical-CSS, Bildformate, Bundle-Diät, Font-Hosting — läuft als buchbare Leistung [Performance & Core Web Vitals](https://www.siteway.de/expertise/performance-core-web-vitals/). Als Beleg, dass die Mittel tragen: Die eigene Startseite von siteway erreicht in PageSpeed Insights 100/100/100/100 auf Mobilgeräten. womit das zusammenhängt ## Womit das zusammenhängt leistung & **stack** - [Performance & Core Web Vitals.](https://www.siteway.de/expertise/performance-core-web-vitals/) — Die Technik von hier als beauftragbare Leistung: LCP, INP und CLS auf grün — für deine Website. weiterlesen → - [Bild- & Videoformate.](https://www.siteway.de/stack/bild-videoformate/) — AVIF und WebP mit festen Maßen — der größte Einzelposten für LCP und CLS, im Detail erklärt. zum stack → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Minify, Cache-Busting und Auslieferung laufen in der Pipeline — wie wir bauen und deployen. zum stack → Website, die die Core Web Vitals erreicht? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Perplexity **Perplexity** ist ein Antwortsystem mit Websuche: Eine Frage geht hinein, heraus kommt eine Antwort — **und die Quellen, auf denen sie beruht**. Für siteway hat das zwei Seiten. Man kann diese Schnittstelle **in eine Website einbauen**. Und man kann eine Website so bauen, dass sie in solchen Antworten **selbst als Quelle auftaucht**. Diese Seite beschreibt beide Richtungen. stack dienst: perplexity · antwort mit websuche merkmal: quellen · aktualität zweite sicht: zitiert werden seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wofür wir Perplexity einsetzen](#einsatz) definition ## Was ist Perplexity? antwort · **plus beleg** **Perplexity ist ein Antwortsystem mit Websuche.** Eine Frage geht hinein, heraus kommt eine Antwort in Prosa — und dazu die Seiten, auf denen sie beruht. Über die Schnittstelle läuft dasselbe automatisiert: Die Frage wird als JSON gesendet, die Antwort kommt als JSON zurück, und in dieser Antwort stehen laut Dokumentation neben dem Text auch die **verwendeten Quellen** sowie die Suchtreffer mit Titel, Adresse, Auszug und Datum. Das Kernmerkmal ist die **Aktualität**. Grundlage der Antwort ist nicht allein das, was ein Modell einmal gelernt hat, sondern das, was zum Zeitpunkt der Anfrage im Web steht. Genau daraus folgt die Besonderheit dieser Schnittstelle gegenüber den beiden Nachbarn im Stack: [Anthropic](https://www.siteway.de/stack/anthropic/) und [OpenAI](https://www.siteway.de/stack/openai/) arbeiten mit dem, was man ihnen mitgibt — Perplexity ist darauf ausgelegt, selbst zu recherchieren und die Fundstellen zu benennen. Das ist keine Rangliste, sondern eine Zuordnung nach Aufgabe. Und daraus folgt die Erwartung, die vorher geklärt sein sollte: **Eine Antwort mit Quellen ist ein gut belegter Vorschlag, kein Faktenbeweis.** Die Quellen machen sie prüfbar — prüfen muss trotzdem jemand. Wie wir das in der Umsetzung behandeln, steht weiter unten unter [Wofür wir Perplexity einsetzen](#einsatz). $ cat perplexity.md - ✓Antwortsystem mit websuche - ✓Ausgabe text + quellen - ✓Anfrage json · rollen · nachrichten - ✓Zugang schlüssel im header - ✓Merkmal aktualität aus dem web - ✓Grenze vorschlag, kein beweis praxis ## Wofür wir Perplexity einsetzen recherche · **mit beleg** Am tragfähigsten ist diese Schnittstelle dort, wo **ein Mensch das Ergebnis prüft**, bevor es jemand anderes sieht. Drei Fälle bewähren sich in Projekten. Der erste ist die **Recherche-Unterstützung im Redaktions-Backend**: Die Redaktion gibt eine Frage ein und bekommt eine Sammlung belegter Fundstellen mit einer kurzen Einordnung — als Startpunkt für einen eigenen Text, nicht als fertiger Text. Der zweite ist die **Marktbeobachtung**: öffentlich verfügbare Entwicklungen zu einem Thema, gebündelt und intern ausgegeben, damit jemand sie liest statt sie zu suchen. Der dritte ist die **Zusammenfassung öffentlicher Quellen** — Normen, Behördenseiten, Fachtexte — immer mit dem Link daneben. Alle drei haben dasselbe Muster: Sie sparen den Weg zur Information, nicht die Beurteilung. Und dann gibt es eine Zuordnung, die wir früh treffen, weil sie sonst später Ärger macht: **Für Auskünfte über die eigenen Produkte ist ein Modell mit Websuche der falsche Weg.** Es kennt deine Preisliste nicht besser, als das Web sie kennt. Dafür gehören die eigenen Inhalte in den Kontext — über eine Schnittstelle ohne Websuche wie [Anthropic](https://www.siteway.de/stack/anthropic/) oder [OpenAI](https://www.siteway.de/stack/openai/), oder über die [Suche](https://www.siteway.de/stack/suche/) auf der eigenen Website. Zwei Aufgaben, zwei Wege, beide im Werkzeugkasten. Bleibt die **Verlässlichkeit**, und dazu gehört Klartext. Drei Dinge können auseinanderlaufen: Die Quelle kann selbst falsch oder veraltet sein. Die Zusammenfassung kann eine Aussage schärfer machen, als sie im Original steht. Und eine Quelle kann genannt sein, ohne den Satz zu tragen, neben dem sie steht. Deshalb zeigen wir die Quellen immer an, damit man sie öffnen kann — und wo eine Aussage öffentlich sichtbar wird, sieht ein Mensch sie vorher an. Wo das nicht möglich ist, gehört die Ausgabe ins Backend und nicht auf die Website. Die Leistung dahinter ist [KI-Automation](https://www.siteway.de/expertise/ki-automation/), die Anbindung selbst gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Quellen **immer mit ausgeben** - 02Schlüssel **nur serverseitig** - 03Eigener Endpunkt **prüft und begrenzt** - 04Ausgabe ist ein **Vorschlag** - 05Eigene Inhalte → **eigener Kontext** - 06Ausfall des Dienstes **eingeplant** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Perplexity — Begriffe und Felder im Original. Modellbezeichnungen mit Versionsständen, Grenzwerte und Preise lassen wir bewusst weg: Sie ändern sich, und was für dein Projekt gilt, steht in deinem Vertrag und nicht auf einer Agenturseite. d-01zugang ### Authentifizierung Der Zugang läuft über einen API-Schlüssel, der als Bearer-Token im Authorization-Header mitgeschickt wird. Ein Header, ein Geheimnis — und genau deshalb entscheidet sich hier, ob eine Anbindung sauber gebaut ist: Der Schlüssel darf nirgends landen, wo ein Browser ihn lesen kann. zweck: wer darf fragen d-02anfrage ### Anfrage als JSON Gesendet wird ein JSON-Objekt mit dem gewünschten Modell und einer Liste von Nachrichten. Jede Nachricht trägt eine Rolle — System, Benutzer, Assistent — und ihren Inhalt. Der Verlauf einer Unterhaltung entsteht dadurch, dass die bisherigen Nachrichten mitgesendet werden. zweck: was gefragt wird d-03quellen ### Antwort & Quellen Die Antwort enthält den erzeugten Text — und laut Dokumentation zusätzlich die verwendeten Quellen sowie die Suchtreffer mit Titel, Adresse, Auszug und Datum. Das ist der Teil, der diese Schnittstelle ausmacht: Der Beleg kommt mit, man muss ihn nur ausgeben. zweck: antwort wird prüfbar d-04suche ### Suchmodus & Umfang Die Dokumentation beschreibt einen Suchmodus, der bestimmt, worin gesucht wird — im offenen Web oder in engeren Beständen wie akademischen Quellen. Ebenso lässt sich die Websuche für eine Anfrage abschalten. Damit wird steuerbar, wie weit die Recherche für einen Anwendungsfall reichen soll. zweck: worin recherchiert wird d-05ausgabe ### Ausgabeform Neben freiem Text ist eine Ausgabe nach einem JSON-Schema dokumentiert — nützlich, wenn das Ergebnis nicht gelesen, sondern weiterverarbeitet wird. Dazu kommen Streaming für eine Antwort, die während der Erzeugung erscheint, und optional vorgeschlagene Anschlussfragen. zweck: form des ergebnisses d-06grenze ### Vorschlag, kein Beweis Eine Quelle neben einem Satz belegt nicht automatisch diesen Satz. Sie kann veraltet sein, sie kann etwas anderes sagen, und die Zusammenfassung kann zuspitzen. Deshalb ist die Anzeige der Quellen bei uns kein Zierrat, sondern die Voraussetzung dafür, dass jemand nachsehen kann. zweck: ehrlicher umgang integration ## Perplexity in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, weil er sich aus der Aufgabe ergibt und nicht aus dem CMS. Der **API-Schlüssel bleibt ausschließlich serverseitig**. Das Frontend spricht nie mit dem Anbieter, sondern mit einem **eigenen Endpunkt auf deinem Server** — und dieser Endpunkt tut mehr, als weiterzureichen: Er prüft, wer fragen darf und was gefragt wird, er begrenzt Länge und Anzahl der Anfragen pro Besucher und Zeitraum, er protokolliert Fehler, und er hat einen Zustand für den Fall, dass der Dienst nicht antwortet. **Missbrauchsschutz und Kostenkontrolle sind dasselbe Bauteil**: Wer eine Schnittstelle ungebremst ins Frontend legt, bezahlt am Ende fremde Anfragen. Dazu kommt eine Besonderheit, die es bei anderen Schnittstellen so nicht gibt. Weil die Antworten **aus dem Web stammen, gehören die Quellenangaben mit ausgegeben** — sonst steht eine Behauptung ohne Beleg auf deiner Seite, für die du geradestehst. Unser Endpunkt reicht die Quellenliste deshalb immer mit an das Frontend weiter, und die Ausgabe zeigt sie sichtbar und anklickbar neben oder unter der Antwort. Das ist der Kern dieser Einbindung und keine Feinheit für später. Was das CMS darunter unterscheidet, ist nur, wo Route, Controller und Schlüssel jeweils hingehören. cms-01typo3 ### Perplexity in TYPO3 Wir bauen die Anbindung als eigene Extension. Darin liegt eine Controller-Route, die die Anfrage aus dem Frontend entgegennimmt, prüft und begrenzt und erst dann die Schnittstelle aufruft. Der Schlüssel steht in der Extension-Konfiguration oder als Umgebungsvariable und wird nie an ein Template gereicht. Die Ausgabe rendert Fluid — Antwort und Quellenliste als eigene Teilbereiche, damit die Belege im Design der Website stehen und nicht daneben. Wo eine Redaktion mit dem Ergebnis arbeitet, sitzt die Oberfläche im Backend-Modul statt im Frontend. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Perplexity in WordPress Die Anbindung entsteht als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Darin registrieren wir eine eigene REST-Route mit Rechteprüfung und Begrenzung; sie ist die einzige Stelle, die die Schnittstelle aufruft. Der Schlüssel steht in der wp-config.php oder als Umgebungsvariable, nicht in der Datenbank und nicht in einem Frontend-Skript. Für die Redaktion kommt eine Ansicht im Adminbereich dazu, in der Antwort und Quellen nebeneinander stehen und sich einzeln in den Beitrag übernehmen lassen. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Perplexity in Statamic Unter Statamic liegt Laravel, und das macht die Anbindung geradlinig: eine Route plus Controller, davor die Middleware für Begrenzung und Rechte, dahinter ein Service, der die Schnittstelle aufruft und Antwort samt Quellen zurückgibt. Der Schlüssel liegt in der .env und wird über die Konfiguration gelesen, nie direkt im Code. Die Ausgabe rendern Antlers oder Blade. Längere Recherchen laufen als Queue-Job, damit die Seite nicht auf die Antwort wartet — und das Ergebnis erscheint, sobald es da ist. [statamic im stack →](https://www.siteway.de/stack/statamic/) zweite blickrichtung ## In KI-Antworten zitiert werden nicht nur einbauen · **vorkommen** Perplexity ist nicht nur eine Schnittstelle, die man einbauen kann — es ist auch ein **Antwortsystem, in dem die eigene Website als Quelle auftauchen kann**. Für viele Unternehmen ist das die wichtigere Richtung. Und sie funktioniert anders als klassische Suche: Antwortsysteme übernehmen selten eine ganze Seite, sondern **die Passage, die eine Frage beantwortet**. Was man beeinflussen kann, ist deshalb die Zitierfähigkeit der eigenen Inhalte. Welche Quelle ein System am Ende auswählt, entscheidet das System — ein Versprechen ist das hier ausdrücklich nicht. z-01struktur ### Klare Struktur Eine Überschriftenhierarchie, die dem Inhalt folgt, statt der Optik. Abschnitte, die genau ein Thema behandeln und sich einzeln zitieren lassen. Wer eine Passage aus dem Zusammenhang nehmen kann, ohne dass sie unverständlich wird, hat die halbe Arbeit erledigt. überschriften mit inhalt z-02antwort ### Beantwortbare Fragen Die Kernaussage steht im ersten Satz eines Abschnitts, die Begründung danach. Fragen, die Kunden tatsächlich stellen, werden als Frage benannt und beantwortet — als Definition, als FAQ, als klarer Satz. Was erst im dritten Absatz beantwortet wird, wird selten zitiert. antwort vor argument z-03belege ### Belegte Aussagen Zahlen mit Quelle, Standards mit Namen, Schwellenwerte statt „schnell“. Ein System, das Belege ausgibt, greift lieber auf Inhalte zurück, die selbst belegen. Das ist dieselbe Disziplin, die diese Seite von sich verlangt — nachzulesen an den Stellen, an denen hier „laut Dokumentation“ steht. fakten statt adjektive z-04markup ### Strukturierte Daten Schema.org-JSON-LD je Seitentyp sagt einer Maschine, was sie vor sich hat: Organisation, Leistung, Artikel, FAQ, Brotkrumen. Damit muss ein System nicht aus dem Layout raten, wer du bist. Wie wir das aufbauen, steht im Stack unter [Strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/). json-ld je seitentyp z-05textfassung ### Maschinenlesbare Textfassungen Neben der gestalteten Seite eine schlichte Textfassung derselben Inhalte, dazu eine kuratierte Übersicht der wichtigsten Seiten für Sprachmodelle. Das nimmt Systemen die Arbeit ab, aus Layout und Skripten den Inhalt zu rekonstruieren — diese Website liefert beides mit aus. text neben layout z-06zugang ### Zugang & Messung Zitiert werden kann nur, was gelesen werden darf und ohne Umwege ausgeliefert wird. Und ob es passiert, lässt sich prüfen: mit einem festen Fragenset, regelmäßig gestellt und protokolliert. Der Ist-Zustand dafür ist ein [GEO-Audit](https://www.siteway.de/expertise/geo-audit/). lesbar · messbar ### Beide Richtungen gehören zusammen Wer eine Schnittstelle einbaut, die Quellen ausgibt, versteht schnell, was eine Quelle brauchbar macht: eine klare Aussage an einer auffindbaren Stelle, mit Datum und Beleg. Dieselbe Einsicht gilt für die eigene Website, nur andersherum. Deshalb behandeln wir bei siteway beides als eine Denkbewegung und nicht als zwei Projekte. Die laufende Arbeit daran ist eine eigene Leistung: [SEO & GEO](https://www.siteway.de/expertise/seo-geo/) — technisches SEO für Rankings, Generative Engine Optimization für Zitate in Antwortsystemen. Die Diagnose davor ist das [GEO-Audit](https://www.siteway.de/expertise/geo-audit/): gemessen wird mit einem festen Fragenset, ob und wie deine Inhalte in KI-Antworten auftauchen. Und die technische Grundlage für beides liegt im Stack unter [Strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/). zwei richtungen - ▸Einbauen → **Antwort mit Quellen** - ▸Vorkommen → **selbst Quelle sein** - ▸Grundlage → **Struktur & Belege** - ▸Diagnose → **GEO-Audit** - ▸Umsetzung → **SEO & GEO** [seo & geo als leistung →](https://www.siteway.de/expertise/seo-geo/) datenschutz ## Daten, die das Haus verlassen sachlich · **keine rechtsberatung** Sachlich passiert eines: **Jede Anfrage verlässt deinen Server** und geht zu einem externen Anbieter. Das ist kein Ausschlussgrund, aber es gehört vor dem Start auf den Tisch — nicht in die Datenschutzerklärung nach dem Launch. Der erste Punkt ist **Datensparsamkeit**, und er ist der wirksamste. In die Anfrage geht die Frage und der Kontext, der für die Antwort gebraucht wird — und sonst nichts. Namen, Adressen, Kundennummern, Inhalte aus geschützten Bereichen und interne Notizen haben darin nichts verloren. Wo Besucher selbst etwas eintippen können, gehört an das Eingabefeld ein deutlicher Hinweis, wohin diese Eingabe geht. Der zweite Punkt ist die **Auftragsverarbeitung**: Wer im Auftrag verarbeitet, braucht einen Vertrag darüber, genauso wie der Hoster. Der dritte ist die **Transparenz** — die Nennung des Dienstes in der Datenschutzerklärung, samt der Angabe, welche Daten dabei übermittelt werden. Wie das mit dem Rest der Auslieferung zusammenpasst, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Eine Rechtsberatung ist das ausdrücklich nicht — die Bewertung im Einzelfall gehört zu deinem Datenschutzbeauftragten oder deiner Rechtsberatung. vor dem start klären - ▸Was **nicht** in die Anfrage geht - ▸**Auftragsverarbeitung** mit dem Anbieter - ▸Nennung in der **Datenschutzerklärung** - ▸Hinweis **am Eingabefeld** - ▸Schlüssel **regelmäßig erneuern** - ▸Protokolle **ohne Personenbezug** faq ## Häufige Fragen ### Was ist Perplexity? Perplexity ist ein Antwortsystem mit Websuche. Eine Frage geht hinein, heraus kommt eine Antwort in Prosa — und dazu die Seiten, auf denen sie beruht. Über die Schnittstelle wird die Frage als JSON gesendet; die Dokumentation beschreibt in der Antwort neben dem Text auch Felder für die verwendeten Quellen und für die Suchtreffer mit Titel, Adresse, Auszug und Datum. Das Kernmerkmal ist die Aktualität: Grundlage ist nicht allein das, was ein Modell einmal gelernt hat, sondern das, was zum Zeitpunkt der Anfrage im Web steht. Genau deshalb gehören die Quellen zur Antwort dazu und nicht in eine Fußnote, die man weglassen kann. ### Was unterscheidet die Perplexity-Schnittstelle von den anderen KI-Schnittstellen im Stack? Die Richtung, aus der die Information kommt. Die Schnittstellen von [Anthropic](https://www.siteway.de/stack/anthropic/) und [OpenAI](https://www.siteway.de/stack/openai/) arbeiten mit dem, was man ihnen mitgibt: Text, Daten, Dokumente aus dem eigenen Bestand. Perplexity ist darauf ausgelegt, im Web zu recherchieren und die gefundenen Seiten zu benennen. Das ist keine Rangliste, sondern eine Zuordnung nach Aufgabe. Geht es um Inhalte, die im eigenen Haus liegen, ist der Weg über den eigenen Kontext der passende. Geht es um öffentlich zugängliche, aktuelle Information mit Beleg, ist eine Schnittstelle mit Websuche der passende. In vielen Projekten stehen beide Wege nebeneinander. ### Wofür ist die Perplexity-Schnittstelle auf einer Website sinnvoll? Am tragfähigsten ist sie dort, wo ein Mensch das Ergebnis prüft, bevor es jemand anderes sieht. Drei Fälle bewähren sich: Recherche-Unterstützung im Redaktions-Backend, damit die Redaktion beim Schreiben eine Sammlung belegter Fundstellen bekommt statt einer leeren Seite. Marktbeobachtung, die öffentlich verfügbare Entwicklungen zu einem Thema bündelt und intern ausgibt. Und die Zusammenfassung öffentlicher Quellen — Normen, Behördenseiten, Fachtexte —, immer mit dem Link daneben. Für Auskünfte über die eigenen Produkte ist der passende Weg ein anderer: Dafür gehören die eigenen Inhalte in den Kontext, über eine Schnittstelle ohne Websuche oder über die [eigene Suche](https://www.siteway.de/stack/suche/) auf der Website. Ein Modell, das im Web recherchiert, kennt deine Preisliste nicht besser als das Web sie kennt. ### Wie kommen die Quellenangaben auf die Seite? Indem wir sie von Anfang an mit ausgeben. Die Antwort der Schnittstelle enthält laut Dokumentation neben dem Text die verwendeten Quellen sowie die Suchtreffer mit Titel, Adresse, Auszug und Datum. Unser Endpunkt reicht diese Angaben mit an das Frontend weiter, und die Ausgabe zeigt sie sichtbar unter oder neben der Antwort — als anklickbare Liste, nicht als grauer Hinweis. Der Grund ist schlicht: Ohne Beleg steht eine Behauptung auf deiner Seite, für die du geradestehst. Mit Beleg steht dort eine nachprüfbare Aussage. Deshalb behandeln wir die Quellenliste als Pflichtbestandteil der Ausgabe und nicht als optionales Extra, das im Redesign herausfällt. ### Wie verlässlich sind die Antworten? Verlässlich genug, um damit zu arbeiten — nicht verlässlich genug, um sie ungeprüft zu veröffentlichen. Eine Antwort mit Quellen ist ein gut belegter Vorschlag, kein Faktenbeweis. Drei Dinge können auseinanderlaufen: Die Quelle kann selbst falsch oder veraltet sein, die Zusammenfassung kann eine Aussage schärfer machen, als sie im Original steht, und eine Quelle kann genannt sein, ohne den Satz zu tragen, neben dem sie steht. Unsere Konsequenz im Bau ist deshalb immer dieselbe: Die Quellen werden angezeigt, damit man sie öffnen kann, und dort, wo eine Aussage öffentlich sichtbar wird, sieht ein Mensch sie vorher an. Wo das nicht möglich ist, gehört die Ausgabe ins Backend und nicht auf die Website. ### Wie kommt meine eigene Website als Quelle in KI-Antworten? Über Inhalte, die sich zitieren lassen. Antwortsysteme übernehmen selten eine ganze Seite, sondern die Passage, die eine Frage beantwortet. Das lässt sich vorbereiten: eine klare Struktur mit sprechenden Überschriften, Abschnitte, die die Kernaussage im ersten Satz nennen, belegte Zahlen statt Behauptungen, saubere [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) und maschinenlesbare Textfassungen der wichtigen Seiten. Dazu gehört der technische Zugang — ein Antwortsystem kann nur zitieren, was es lesen darf. Ein Versprechen ist das ausdrücklich nicht: Welche Quelle ein System auswählt, entscheidet das System. Was man beeinflussen kann, ist die Zitierfähigkeit der eigenen Inhalte. Der Ist-Zustand lässt sich [messen](https://www.siteway.de/expertise/geo-audit/), und die laufende Arbeit daran ist eine [eigene Leistung](https://www.siteway.de/expertise/seo-geo/). ### Was ist beim Datenschutz zu klären? Sachlich passiert eines: Jede Anfrage verlässt deinen Server und geht zu einem externen Anbieter. Daraus folgen drei Punkte, die vor dem Start auf den Tisch gehören. Erstens Datensparsamkeit — in die Anfrage geht die Frage und der Kontext, der für die Antwort gebraucht wird, und sonst nichts; Namen, Adressen, Kundennummern und Inhalte aus geschützten Bereichen haben darin nichts verloren. Zweitens die Auftragsverarbeitung: Wer im Auftrag verarbeitet, braucht einen Vertrag darüber, genauso wie der Hoster. Drittens die Transparenz gegenüber den Besuchern — wo eine Eingabe zu einem Dritten geht, gehört das in die [Datenschutzerklärung](https://www.siteway.de/stack/sicherheit-datenschutz/) und an die Stelle, an der eingegeben wird. Eine Rechtsberatung ist das ausdrücklich nicht. ### Lässt sich Perplexity in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Die Kette ist überall dieselbe: Das Frontend spricht mit einem eigenen Endpunkt auf deinem Server, dieser Endpunkt prüft und begrenzt die Anfrage, ruft die Schnittstelle mit dem Schlüssel auf und gibt Antwort samt Quellen zurück. In [TYPO3](https://www.siteway.de/stack/typo3/) entsteht dafür eine eigene Extension mit einer Controller-Route; der Schlüssel liegt in der Extension-Konfiguration oder als Umgebungsvariable, die Ausgabe rendert Fluid. In [WordPress](https://www.siteway.de/stack/wordpress/) bauen wir ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route und dem Schlüssel in der wp-config.php oder als Umgebungsvariable. In [Statamic](https://www.siteway.de/stack/statamic/) liegt Laravel darunter: eine Route plus Controller, der Schlüssel in der .env, die Ausgabe in Antlers oder Blade. Im Browser landet der Schlüssel in keinem der drei Systeme. womit das zusammenhängt ## Womit das zusammenhängt technik, sichtbarkeit & **leistung** - [SEO & GEO.](https://www.siteway.de/expertise/seo-geo/) — Die andere Blickrichtung als laufende Leistung: technisches SEO für Rankings, Generative Engine Optimization für Zitate in Antwortsystemen. zur leistung → - [GEO-Audit.](https://www.siteway.de/expertise/geo-audit/) — Der Ist-Zustand vorher: Mit einem festen Fragenset messen wir, ob deine Marke genannt und deine Seiten als Quelle zitiert werden. zum audit → - [Anthropic.](https://www.siteway.de/stack/anthropic/) — Die Schnittstelle für Aufgaben, bei denen der Kontext mitgegeben wird — eigene Texte, eigene Daten, eigene Dokumente. zur technik → - [OpenAI.](https://www.siteway.de/stack/openai/) — Ebenfalls eine Schnittstelle, die mit dem arbeitet, was man ihr mitgibt — mit demselben Grundsatz beim Schlüssel: serverseitig. zur technik → - [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) — Schema.org-JSON-LD je Seitentyp: die Grundlage dafür, dass Maschinen eine Seite nicht nur lesen, sondern einordnen können. zur technik → - [KI-Automation.](https://www.siteway.de/expertise/ki-automation/) — Die buchbare Leistung dahinter: KI-gestützte Abläufe in Website und Backend — mit Prüfschritt statt Automatik ohne Aufsicht. zur leistung → Die Anbindung selbst — eigener Endpunkt, Prüfung, Begrenzung, Fehlerfall — gehört zur [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). Was zu deinem Projekt passt, klären wir vorher und mit Begründung. Antworten mit Quellen — eingebaut oder selbst zitiert? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Personio **Personio** ist eine HR-Software aus München — mit einem Bewerbermanagement, in dem offene Stellen entstehen und Bewerbungen zusammenlaufen. Damit diese Stellen nicht nur unter einer fremden Adresse stehen, holt siteway sie über den XML-Feed oder die Recruiting-API auf deine eigene Karriereseite: im eigenen Design, maschinenlesbar ausgezeichnet — und mit einem Bewerbungsweg zurück ins System. stack system: personio · ats wege: xml-feed · recruiting-api ausgabe: eigene karriereseite seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Personio anbinden](#einsatz) definition ## Was ist Personio? **Personio ist eine cloudbasierte HR-Software aus München, die Personalprozesse kleiner und mittelständischer Unternehmen an einer Stelle bündelt.** Personalverwaltung, Abwesenheiten, Zeiterfassung und Auswertungen gehören dazu — und ein Bewerbermanagement, im Fachjargon ein ATS: *Applicant Tracking System*. Gegründet wurde das Unternehmen 2015 in München. Für deine Website ist genau dieser Recruiting-Teil relevant. Dort legt die Personalabteilung eine Stelle an, veröffentlicht sie, und dort laufen später die Bewerbungen ein und durchlaufen ihre Phasen. Personio kann dafür eine eigene, gehostete Karriereseite ausspielen — die liegt dann aber unter einer Adresse des Anbieters, nicht unter deiner. Der interessante Teil beginnt an der Stelle, an der beide Seiten miteinander reden. Dafür bietet Personio zwei Wege an: einen **XML-Feed** mit den veröffentlichten Stellen und eine **Recruiting-API**, die zusätzlich Bewerbungen entgegennimmt. Diese Seite beschreibt beide Wege und wie wir sie in einer Website verdrahten. Andere Systeme aus demselben Feld — etwa [rexx systems](https://www.siteway.de/stack/rexx-systems/) — binden wir nach demselben Muster an; das Prinzip ändert sich nicht, nur die Feldnamen. $ cat personio.md - ✓HR-Software münchen · cloud - ✓Bewerbermanagement ats - ✓XML-Feed offene stellen - ✓Recruiting-API stellen + bewerbungen - ✓Datei-Upload anhang je bewerbung - ✓Auszeichnung entsteht bei dir praxis ## Wie wir Personio anbinden personio pflegt · **deine seite zeigt** Der Grundsatz ist immer derselbe: **Personio bleibt die führende Quelle, die Website bleibt die Bühne.** Niemand pflegt eine Stelle zweimal. Die Personalabteilung arbeitet weiter in der Oberfläche, die sie kennt; deine Karriereseite holt sich den Stand ab und stellt ihn so dar, wie der Rest der Website aussieht — mit deiner Typografie, deinen Farben, deinen Filtern. Technisch läuft das in fünf Schritten. **Abholen**: Ein Job im Hintergrund ruft Feed oder API in festem Takt ab, statt bei jedem Seitenaufruf. **Zwischenspeichern**: Das Ergebnis landet im Cache, damit die Karriereseite auch dann steht, wenn die Gegenstelle einmal nicht antwortet. **Mappen**: Jedes Feld bekommt seinen Platz im [CMS](https://www.siteway.de/stack/cms-redaktion/) — Titel, Standort, Abteilung, Anstellungsart, Beschäftigungsumfang, Beschreibung. **Darstellen**: Stellenliste mit Filtern und eine eigene Detailseite je Stelle. **Auszeichnen**: JobPosting-JSON-LD, damit die Stelle maschinenlesbar wird. Der Rückweg ist der zweite Teil der Anbindung. Entweder verlinkt die Detailseite auf das Bewerbungsformular von Personio — schnell gebaut, aber der Bewerber wechselt mitten im Prozess die Oberfläche. Oder das Formular steht auf deiner Domain und übergibt die Bewerbung samt Anhängen per API. Beide Varianten sind sauber; sie unterscheiden sich in Aufwand und Durchgängigkeit. Die Anbindung selbst gehört zur Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/), die Karriereseite drumherum zur Komponente [Job- & Karriereportal](https://www.siteway.de/expertise/job-karriereportal/). unsere leitplanken - 01Personio bleibt die **führende Quelle** - 02Abholung **im Takt**, nicht pro Aufruf - 03Cache als **Ausfallschutz** - 04Eine **eigene URL** je Stelle - 05Zugangsdaten **nur serverseitig** - 06Auszeichnung **bei jedem Import** weg aöffentlich ### Der XML-Feed Personio stellt die veröffentlichten Stellen als XML-Datei bereit — laut offizieller Schnittstellenbeschreibung unter der jobs-Adresse des Accounts, wahlweise in mehreren Sprachen über einen Parameter. Kein Schlüssel, keine Anmeldung, ein Abruf. Das ist der kürzeste Weg zu einer eigenen Stellenliste und trägt, solange die Website nur anzeigen soll. passt, wenn: stellen zeigen reicht weg bauthentifiziert ### Die Recruiting-API Der authentifizierte Weg: Die Schnittstelle liefert offene Stellen und nimmt umgekehrt Bewerbungen entgegen — inklusive eines eigenen Aufrufs für Dateianhänge. Dafür braucht es Zugangsdaten aus dem Personio-Account und einen Server, der sie hält. Der Weg lohnt, sobald der Bewerbungsweg auf deiner Domain enden soll. passt, wenn: bewerbung bei dir endet In vielen Projekten steht am Ende eine Mischung: Stellen kommen über den Feed, die Bewerbung geht über die API. Das ist keine Verlegenheitslösung, sondern die Kombination mit dem besten Verhältnis von Aufwand zu Wirkung. Was zu dir passt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. bausteine · 6 details ## Die Bausteine im Detail jeder mit **klarem zweck** Zwischen „Stelle in Personio angelegt“ und „Bewerbung liegt wieder in Personio“ stehen sechs Teile. Das sind sie — und wofür jeder gebraucht wird. d-01quelle ### Abholung & Cache Ein Job im Hintergrund fragt Feed oder API in festem Takt ab und legt das Ergebnis ab. Kein Besucher wartet auf ein fremdes System, und wenn die Gegenstelle einmal schweigt, zeigt die Seite den letzten guten Stand statt einer Fehlermeldung. zweck: stabiler abruf d-02modell ### Feld-Mapping Der Feed liefert unter anderem Kennung, Gesellschaft, Standort, Abteilung, Kategorie, Stellenbezeichnung, Anstellungsart, Erfahrungsniveau, Beschäftigungsumfang und die Beschreibungsabschnitte. Jedes dieser Felder bekommt seinen Platz im CMS — festgelegt, bevor die erste Zeile Template entsteht. zweck: felder mit platz d-03darstellung ### Liste, Filter & Detailseite Die Übersicht filtert nach Standort, Abteilung und Anstellungsart — genau die Werte, die der Feed ohnehin mitbringt. Jede Stelle bekommt eine eigene, sprechende Adresse, die man verlinken, teilen und indexieren kann. zweck: eine url je stelle d-04hygiene ### Abgelaufene Stellen Verschwindet eine Stelle aus dem Feed, verschwindet sie aus der Liste. Die Adresse braucht trotzdem eine Regel: Gültigkeitsdatum in der Vergangenheit, Status 404 oder 410, oder Markup entfernen. Wir legen das fest, statt es dem Zufall zu überlassen. zweck: keine karteileichen d-05rückweg ### Bewerbung & Upload Über die Recruiting-API nimmt Personio Bewerbungen entgegen: Vorname, Nachname, E-Mail und die Kennung der Stelle sind Pflicht. Anhänge werden zuvor über einen eigenen Aufruf hochgeladen — die Schnittstellenbeschreibung nennt 20 MB je Datei als Obergrenze — und dann zugeordnet. zweck: bewerbung ohne umweg d-06zugang ### Zugangsdaten serverseitig Personio unterbindet Aufrufe direkt aus dem Browser bewusst, damit Schlüssel nicht im Frontend landen. Die Anbindung läuft deshalb über einen eigenen Endpunkt auf deinem Server — dieselbe Bauweise, die wir in allen Anbindungen nutzen. zweck: schlüssel bleiben hinten integration ## Personio in deine Website integrieren ein muster · **drei systeme** Die Anbindung an Personio bauen wir selbst — mit den Bordmitteln, die das jeweilige System dafür mitbringt. Das Muster ist in allen dreien dasselbe: Ein Job im Hintergrund holt den Stellen-Feed in festem Takt, und jede Stelle wird dabei **ein eigener Inhalt im CMS** — mit eigener, sprechender Adresse, nicht als Kachel in einer eingebetteten Liste. Das Frontend rendert daraus dreierlei: die Übersicht, die Filter und die Detailseite. Und aus denselben Feldern, die dabei ohnehin durchlaufen, entsteht das [JobPosting](https://www.siteway.de/stack/google-for-jobs/)-Markup: Der Personio-XML-Feed liefert es nicht mit, es entsteht erst bei uns im CMS — genau deshalb ist die eigene Anbindung die tragfähige Lösung. Im CMS liegt dafür ein kleines Datenmodell: Kennung, Titel, Standort, Abteilung, Anstellungsart, Beschäftigungsumfang und die Beschreibungsabschnitte, dazu die Felder, die aus dem Personio-Konto nicht kommen und redaktionell entstehen — Gültigkeitsdatum, Gehaltsrahmen, Ansprechpartner, ein Bild fürs Teilen. Der Cache liegt eine Ebene darunter und hält die Karriereseite auch dann aufrecht, wenn die Gegenstelle einmal schweigt. Das Bewerbungsformular setzt zuletzt an der Detailseite an: Es kennt die Kennung der Stelle und reicht die Bewerbung serverseitig weiter. Die drei Systeme, mit denen wir arbeiten, unterscheiden sich nur darin, wo wir diesen Import andocken. - [Personio in TYPO3.](https://www.siteway.de/stack/typo3/) — Die Anbindung entsteht als **eigene Extension**: Extbase als Unterbau, das TCA beschreibt die Stelle als Datenmodell. Den Abruf von Feed oder Recruiting-API hängen wir als Scheduler-Task ein, der im festen Takt läuft; jede Stelle landet als Record in einem eigenen Systemordner. Das Site Handling gibt jeder Stelle ihre eigene sprechende URL, Fluid-Templates geben Übersicht, Filter und Detailseite ihre Form — und rendern das JobPosting-Markup aus denselben Feldern. Was der Feed nicht liefert, ergänzt die Redaktion direkt am Record. zum system → - [Personio in WordPress.](https://www.siteway.de/stack/wordpress/) — Die Anbindung liegt als **eigenes Plugin** vor, nicht als Code im Theme — so bleibt sie beim Theme-Wechsel bestehen. Die Stelle ist ein Custom Post Type mit eigenen Meta-Feldern; Standort und Abteilung sind eigene Taxonomien und tragen damit die Filter. Die Abholung läuft als geplanter Lauf im festen Takt, eine eigene Permalink-Struktur gibt jeder Stelle ihre Adresse, Template oder Blocks die Darstellung. Das JobPosting-Markup setzt ein Hook in den `` der Detailseite — aus denselben Feldern, aus denen auch die sichtbare Seite gebaut wird. zum system → - [Personio in Statamic.](https://www.siteway.de/stack/statamic/) — Statamic läuft auf Laravel, Inhalte sind Entries in Collections — der Unterbau kommt der eigenen Anbindung also entgegen. Ein **Artisan-Command** holt Feed oder API ab und schreibt je Stelle einen Entry in die Stellen-Collection; der Scheduler von Laravel ruft ihn im Takt auf. Das Blueprint legt die Felder als Datenmodell fest, Antlers und Blade bauen Liste, Filter, Detailseite und das JobPosting-Markup aus denselben Daten, Static Caching liefert das Ergebnis anschließend statisch aus. Die Redaktion ergänzt Gehalt, Ansprechpartner oder ein Teaserbild am Entry — genauso wie an jeder anderen Seite. zum system → sichtbarkeit ## Google for Jobs braucht mehr als den Feed daten kommen · **auszeichnung entsteht** Das ist der Punkt, an dem viele Anbindungen auf halbem Weg stehen bleiben. Der XML-Feed transportiert Stellendaten — **aber keine strukturierten Daten**. Der Personio-Support stellt das in der eigenen Community ausdrücklich klar. Wer den Feed also nur ausliest und hübsch darstellt, hat eine schöne Stellenliste und trotzdem keinen Eintrag in der Job-Box über den Suchergebnissen. Die Auszeichnung entsteht deshalb bei dir, beim Import. Google verlangt für **JobPosting** mindestens Titel, Beschreibung, Veröffentlichungsdatum, den Arbeitgeber und den Arbeitsort — oder, bei Remote-Stellen, die Angabe, aus welcher Region gearbeitet werden darf. Diese Werte stehen im Feed bereits drin oder lassen sich daraus ableiten; was fehlt, etwa ein Gültigkeitsdatum oder eine Gehaltsangabe, ergänzt die Redaktion im CMS. Wie wir Markup grundsätzlich bauen, steht unter [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/), die Regeln der Job-Box im Detail unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). Genauso wichtig ist das Abräumen. Eine besetzte Stelle, die weiter in der Job-Box steht, ärgert Suchende und Google gleichermaßen. Drei Wege sind zulässig: das Gültigkeitsdatum in die Vergangenheit setzen, die Adresse mit Status 404 oder 410 beantworten oder das JobPosting-Markup entfernen. Welcher Weg gilt, entscheiden wir beim Aufbau — und bauen ihn in den Import ein, damit später niemand daran denken muss. jobposting · pflicht - ▸Stellen**titel** - ▸**Beschreibung** als HTML - ▸**Veröffentlichungsdatum** - ▸**Arbeitgeber** als Organisation - ▸**Arbeitsort** oder Remote-Region empfohlen dazu: gültig bis, gehalt, anstellungsart datenschutz ## Bewerberdaten sind eine eigene Klasse so wenig wie **möglich** Ein Lebenslauf verrät mehr über einen Menschen als die meisten Formulare einer Website zusammen: Werdegang, Adresse, Geburtsdatum, oft ein Foto, manchmal Angaben, die niemand hätte fragen dürfen. Deshalb behandeln wir den Bewerbungsweg strenger als jeden anderen. Die Website fragt nur ab, was für die Bewerbung wirklich gebraucht wird — freiwillige Felder sind als solche gekennzeichnet, und eine Einwilligung steht dort, wo sie hingehört, nicht in einer Fußnote. Technisch heißt das: **durchreichen statt sammeln**. Der Upload geht verschlüsselt an deinen Server, wird auf Typ und Größe geprüft, an Personio übergeben — und die temporäre Datei wird gelöscht. So entsteht kein zweites Bewerberarchiv, das niemand pflegt und jeder vergisst. Der API-Aufruf läuft ausschließlich serverseitig; Personio unterbindet den direkten Weg aus dem Browser bewusst, damit Zugangsdaten nicht im Quelltext stehen. Mehr zur Bauweise unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). Rechtlich gehört ein Auftragsverarbeitungsvertrag mit Personio dazu, dazu klare Löschfristen für abgelehnte Bewerbungen. In der Praxis orientieren die sich an den Fristen des Allgemeinen Gleichbehandlungsgesetzes, weshalb viele Unternehmen Unterlagen einige Monate nach der Absage aufbewahren und dann löschen. Welche Frist bei dir gilt, legt deine Rechtsberatung fest — wir bauen sie ein, statt sie offen zu lassen. pflichtprogramm - ▸**Datensparsamkeit** im Formular - ▸Upload **verschlüsselt** & geprüft - ▸Temporäre Dateien **gelöscht** - ▸**Auftragsverarbeitung** geregelt - ▸**Löschfristen** vorher festgelegt - ▸Kein **Tracking** im Bewerbungsweg ### Ein Bewerbungsformular, das jeder absenden kann Ein Formular, das nur mit der Maus funktioniert, sortiert Menschen aus, bevor jemand ihren Lebenslauf gelesen hat. Deshalb bekommt jedes Feld ein sichtbares, verknüpftes Label, der Datei-Upload lässt sich per Tastatur bedienen, und die Fokusreihenfolge folgt der Leserichtung. Fehlermeldungen stehen am Feld statt gesammelt oben, benennen das Problem im Klartext und werden Screenreadern angesagt — nicht nur rot eingefärbt. Dazu kommen Kleinigkeiten mit großer Wirkung: Angaben zu erlaubten Dateiformaten und maximaler Größe *vor* dem Upload statt als Fehlermeldung danach, eine Rückmeldung nach dem Absenden, die ankommt, und keine Zeitbegrenzung, die eine sorgfältig geschriebene Bewerbung verfallen lässt. Wie wir das prüfen, steht unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/); die Formularseite selbst gehört zur Leistung [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). formular · barrierefrei - ▸Label **sichtbar & verknüpft** - ▸Upload **per Tastatur** bedienbar - ▸Fehler **am Feld**, im Klartext - ▸Formate & Größe **vorher** genannt - ▸Bestätigung, die **ankommt** faq ## Häufige Fragen ### Was ist Personio? Personio ist eine HR-Software aus München, die Personalprozesse in kleinen und mittelständischen Unternehmen bündelt: digitale Personalverwaltung, Abwesenheiten, Zeiterfassung, Auswertungen — und Recruiting. Der Recruiting-Teil ist ein Bewerbermanagement, ein ATS: Stellen werden dort angelegt, Bewerbungen laufen dort ein und durchlaufen die Phasen bis zur Zusage. Gegründet wurde das Unternehmen 2015. Für deine Website ist nur der Recruiting-Teil interessant — genauer die beiden Wege, auf denen Stellen und Bewerbungen zwischen Personio und deiner Karriereseite wandern. ### Wie kommen Personio-Stellen auf die eigene Website — Feed oder API? Es gibt zwei Wege, und sie schließen sich nicht aus. Der XML-Feed ist der einfache: Personio stellt die veröffentlichten Stellen als öffentlich abrufbare XML-Datei bereit, deine Website holt sie ab und zeigt sie im eigenen Design. Die Recruiting-API ist der reichere Weg: Sie liefert die Stellen über einen authentifizierten Aufruf und nimmt zusätzlich Bewerbungen entgegen. Die Faustregel dazu ist kurz. Sollen Stellen nur angezeigt werden, trägt der Feed. Soll die Bewerbung selbst auf deiner Domain stattfinden, kommt die API dazu. ### Erscheinen Personio-Stellen automatisch bei Google for Jobs? Nicht von allein. Der XML-Feed überträgt die Stellendaten, aber keine strukturierten Daten — das stellt der Personio-Support in der eigenen Community ausdrücklich klar. Damit eine Stelle in Google for Jobs auftauchen kann, braucht sie auf deiner Seite JobPosting-JSON-LD; Titel, Beschreibung, Veröffentlichungsdatum, Arbeitgeber und Arbeitsort sind dabei Pflichtangaben. Genau dieses Markup erzeugt siteway beim Import aus den Feldern des Feeds, sodass jede Stelle eine eigene, ausgezeichnete Adresse auf deiner Domain bekommt. ### Können sich Bewerber direkt auf unserer Website bewerben? Ja, über die Recruiting-API. Personio nimmt Bewerbungen per Schnittstelle entgegen: Vorname, Nachname, E-Mail-Adresse und die Kennung der Stelle sind die Pflichtangaben. Anhänge wie Lebenslauf und Zeugnisse werden zuerst über einen eigenen Aufruf hochgeladen und dann der Bewerbung zugeordnet; die offizielle Schnittstellenbeschreibung nennt dafür eine Obergrenze von 20 MB je Datei. Der schlankere Weg ist die Weiterleitung ins Bewerbungsformular von Personio — weniger Aufwand, dafür ein Wechsel der Oberfläche mitten im Bewerbungsprozess. Welcher Weg passt, entscheidet sich daran, wie durchgängig der Auftritt sein soll. ### Was passiert mit abgelaufenen Stellen? Aus der Liste verschwinden sie von selbst, sobald sie in Personio nicht mehr veröffentlicht sind — dann stehen sie schlicht nicht mehr im Feed. Für Google reicht das nicht. Dort gilt eine abgelaufene Stelle erst als abgeräumt, wenn ihr Gültigkeitsdatum in der Vergangenheit liegt, die Adresse mit Status 404 oder 410 antwortet oder das JobPosting-Markup von der Seite verschwindet. Welcher dieser drei Wege gilt, legt siteway beim Aufbau fest — damit in der Job-Box keine Karteileiche stehen bleibt. ### Wie sicher sind Bewerberdaten bei einer eigenen Karriereseite? Bewerbungsunterlagen gehören zum Sensibelsten, was eine Website überhaupt anfasst — deshalb lagert bei uns so wenig wie möglich zwischen. Läuft die Bewerbung über die Recruiting-API, reicht die Website sie durch und löscht die temporäre Datei, statt ein zweites Bewerberarchiv aufzubauen. Der Aufruf geschieht ausschließlich serverseitig: Personio verhindert Zugriffe direkt aus dem Browser bewusst, damit die Zugangsdaten nicht im Frontend landen. Dazu kommen Transportverschlüsselung, ein Auftragsverarbeitungsvertrag mit dem Anbieter und Löschfristen, die vorher festgelegt und nicht dem Zufall überlassen werden. ### Lässt sich Personio in WordPress, TYPO3 oder Statamic integrieren? Ja, in allen dreien — das Muster ist dasselbe, nur der Andockpunkt unterscheidet sich. In TYPO3 bauen wir eine eigene Extension: Extbase als Unterbau, das TCA als Datenmodell, der Abruf als Scheduler-Task, jede Stelle als Record in einem Systemordner mit eigener sprechender URL aus dem Site Handling und Fluid-Templates fürs Frontend. In WordPress ist es ein eigenes Plugin statt Code im Theme: die Stelle als Custom Post Type mit eigenen Meta-Feldern, Standort und Abteilung als Taxonomien, die Abholung als geplanter Lauf, eine eigene Permalink-Struktur je Stelle, Template oder Blocks für die Darstellung. In Statamic, das auf Laravel läuft, schreibt ein Artisan-Command im Scheduler je Stelle einen Entry in eine Collection; Blueprint, Antlers und Static Caching erledigen den Rest. Das JobPosting-Markup entsteht in allen drei Fällen erst bei uns im CMS, aus denselben Feldern, aus denen auch die sichtbare Seite gebaut wird — der Personio-Feed liefert es nicht mit. ### Bindet siteway Personio an eine bestehende Website an? Ja. Die Anbindung von Bewerbermanagement-Systemen gehört zur Leistung [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/), die Karriereseite selbst ist die Komponente [Job- & Karriereportal](https://www.siteway.de/expertise/job-karriereportal/). Diese Seite beschreibt die Technik dazwischen: Abholung, Zwischenspeicher, Feld-Mapping, Darstellung, Auszeichnung und der Rückweg der Bewerbung. Ob die Website auf TYPO3, WordPress, Statamic oder Laravel läuft, ändert am Prinzip nichts — nur an der Stelle, an der der Import andockt. womit das zusammenhängt ## Womit das zusammenhängt komponente, sichtbarkeit & **leistung** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Die Schnittstelle hier, der Baustein dort: Stellenliste, Detailseiten, Filter und Bewerbungsformular in deiner Website. Hier wird gebucht. zur komponente → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was JobPosting-Markup können muss, damit eine Stelle in der Job-Box erscheint — und wie besetzte Stellen wieder verschwinden. zur technik → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Feld-Mapping, Authentifizierung, Fehlerbehandlung und Monitoring — die Leistung, unter der jede Anbindung entsteht. zur leistung → Stellen aus Personio auf deiner Domain? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · php # PHP & Laravel Wenn eine Website mehr können muss als Inhalte anzeigen, bauen wir die Server-Logik in PHP — meist mit dem **Laravel**-Framework. Damit entstehen bei siteway eigene Anwendungen, Rechner, Portale und [Schnittstellen](https://www.siteway.de/expertise/schnittstellen-integration/): sauber modelliert mit Eloquent, Queues und Artisan — statt mit verbogenen CMS-Plugins. stack stack: php · laravel einsatz: backend · apis · schnittstellen seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Laravel einsetzen](#einsatz) definition ## Was ist Laravel? **Laravel ist ein PHP-Framework für Webanwendungen — kein fertiges Produkt, sondern ein strukturiertes Gerüst, mit dem eine Anwendung von Grund auf gebaut wird.** Es liefert die Bausteine, die fast jedes Projekt braucht: Routing, das **Eloquent**-ORM für den Datenbankzugriff, Migrations fürs Schema, Queues für Hintergrundaufgaben und die Kommandozeile Artisan. Taylor Otwell hat Laravel 2011 veröffentlicht; heute ist es das meistgenutzte PHP-Framework. Der entscheidende Unterschied zu einem [CMS wie TYPO3 oder WordPress](https://www.siteway.de/stack/cms-redaktion/): Ein CMS verwaltet Inhalte, ein Framework modelliert Logik. Sobald eigene Objekte, Rollen und Abläufe im Zentrum stehen, ist genau das der Punkt, an dem wir zu Laravel greifen. $ cat laravel.md - ✓Routing & Middleware - ✓Eloquent ORM datenbank - ✓Migrations schema versioniert - ✓Queues hintergrund-jobs - ✓Artisan cli - ✓Schutz ab Werk csrf · validation praxis ## Wie wir Laravel einsetzen framework als kern · **nicht als selbstzweck** Ein Framework nimmt niemandem die Denkarbeit ab — es ordnet sie. Wir setzen Laravel dort ein, wo die eigene Fachlogik der Kern ist: ein Konfigurator, ein Buchungsablauf, ein Portal mit Rollen und Rechten, ein Rechner, der Regeln abbildet. Solche Logik in ein CMS zu pressen funktioniert eine Weile — bis jede neue Anforderung ein Workaround wird. In Laravel wird sie zum sauber modellierten Kern, den man Jahre später noch lesen und erweitern kann. Dafür halten wir uns an die Struktur, die Laravel vorgibt, statt gegen sie zu arbeiten: die Datenbank als **Eloquent**-Models mit klaren Beziehungen, das Schema versioniert in Migrations, damit jede Umgebung denselben Stand aufbaut. Fachlogik landet in Services und Actions, nicht im Controller. Eingaben werden über Form Requests validiert, Berechtigungen über Policies geregelt. Das klingt nach Handwerk, weil es Handwerk ist — und es ist der Grund, warum eine Anwendung nach zwei Jahren noch wartbar ist. Langsames läuft im Hintergrund: E-Mail-Versand, Bildverarbeitung, der Aufruf einer fremden API gehen über **Queues**, damit der Nutzer sofort eine Antwort bekommt. Wiederkehrende Aufgaben — nächtliche Importe, Aufräumläufe — laufen als Artisan-Befehle im Scheduler. Jeder Code-Stand wird von einem Menschen geprüft und liegt in [Git mit GitHub Actions](https://www.siteway.de/stack/deployment-betrieb/), sodass Deployments reproduzierbar sind statt riskant. unsere leitplanken - 01Fachlogik in **Services**, nicht im Controller - 02Schema versioniert in **Migrations** - 03Eingaben über **Form Requests** validiert - 04Rechte über **Policies**, nicht im View - 05Langsames in die **Queue** - 06Kernlogik mit **Tests** abgesichert bausteine · 6 details ## Die Bausteine im Detail jeder mit **klarem zweck** Laravel besteht aus vielen Teilen — das sind die, die in unseren Projekten am meisten tragen. Kein Framework-Zwang, sondern das Werkzeug, das die jeweilige Aufgabe am saubersten löst. d-01daten ### Eloquent ORM Jede Tabelle wird zum Model, jede Beziehung — Kunde, Bestellung, Position — im Code beschrieben. Datenzugriffe bleiben lesbar und testbar, statt in handgeschriebenem SQL zu verschwinden. zweck: models + relationen d-02schema ### Migrations Das Datenbankschema liegt versioniert im Git-Repository. Jede Umgebung — lokal, Staging, Produktion — baut denselben Stand auf, und jede Änderung ist nachvollziehbar statt manuell nachgeklickt. zweck: schema im git d-03nebenläufig ### Queues Langsame Aufgaben — Mails, Bildverarbeitung, API-Aufrufe — laufen im Hintergrund. Der Nutzer bekommt sofort eine Antwort, die Arbeit erledigt ein Worker nebenläufig. So bleibt die Anwendung schnell, auch unter Last. zweck: jobs + worker d-04automation ### Artisan Die Kommandozeile von Laravel. Wir bauen eigene Befehle für wiederkehrende Aufgaben und hängen sie in den Scheduler: nächtliche Importe, Reports, Aufräumläufe. Ein Handgriff statt eines Menschen, der daran denken muss. zweck: cli + scheduler d-05sicherheit ### Validation & Policies Eingaben werden validiert, bevor sie die Fachlogik erreichen; Berechtigungen liegen in Policies statt verstreut im View. Zusammen mit dem Schutz vor CSRF und SQL-Injection nimmt das viele klassische Fehlerquellen von vornherein aus dem Spiel. zweck: schutz ab werk d-06schnittstellen ### APIs & Anbindungen Eine eigene REST-API fürs Frontend oder eine App, oder die Anbindung von CRM, Warenwirtschaft, Payment und Newsletter. Aufrufe laufen über Queues, jede Anbindung wird protokolliert — ein langsames Fremdsystem bremst die eigene Seite nicht aus. zweck: rest + integration entscheidung ## Eigenentwicklung statt CMS — wann? inhalt oder **logik** Nicht jedes Projekt braucht ein Framework — die meisten Websites sind mit einem CMS besser bedient, schneller gebaut und einfacher zu pflegen. Die ehrliche Frage lautet: Steht der **Inhalt** im Zentrum oder die **Logik**? An diesen Zeichen erkennen wir, dass eine Eigenentwicklung mit Laravel der tragfähigere Weg ist. e-01objekte ### Eigene Datenobjekte Wenn deine Fachwelt aus mehr besteht als Seiten und Artikeln — Buchungen, Verträge, Geräte, Anträge — und diese Objekte eigene Regeln und Beziehungen haben, wird ein CMS zur Krücke. Laravel bildet sie direkt ab. domänen-modell e-02abläufe ### Prozesse & Rollen Mehrstufige Abläufe mit Zuständen, Nutzer mit unterschiedlichen Rechten, Freigaben und Benachrichtigungen: Sobald „wer darf was, und was passiert danach" komplex wird, trägt ein Framework weiter als jedes Plugin. workflow + policies e-03systeme ### Fremdsysteme & API Wenn die Seite mit CRM, Warenwirtschaft oder Payment sprechen muss oder selbst eine API bereitstellt, ist das Framework-Terrain. Die Anbindung wird zum modellierten Teil der Anwendung, nicht zum fragilen Anbau. integration weiche inhalt im zentrum: cms logik im zentrum: laravel [weiche klären wir im konzept →](https://www.siteway.de/expertise/konzept-strategie/) beleg ## Aus echten Projekten nicht aus der **doku** Für die **Garbe**-Gruppe haben wir ein Karten-Portal auf Basis von Mapbox und OpenStreetMap gebaut — eine Anwendung, in der nicht Inhalte, sondern Daten, Filter und Kartenlogik den Kern bilden. Genau der Fall, für den ein Framework gemacht ist: eigene Objekte, eine API dahinter, Prozesse statt Seiten. Ein CMS hätte hier gegen sich selbst gearbeitet. Wo Inhalt im Zentrum steht, gehen wir den anderen Weg: Der Konzern-Auftritt von **Spelsberg** läuft auf TYPO3 in 13 Sprachen — Redaktion, nicht Fachlogik. Beide Wege stehen im Werkzeugkasten; wir wählen den, der zum Projekt passt. Alle Referenzen findest du unter [Cases](https://www.siteway.de/cases/). wann welcher weg - ▸Karten-Portal, API, Filter → **Laravel** - ▸Konzern-Website, 13 Sprachen → **TYPO3** - ▸Business-Blog, Redaktion → **WordPress** - ▸schlanke Seite, wenig Wartung → **Statamic** faq ## Häufige Fragen ### Was ist Laravel? Laravel ist ein PHP-Framework für Webanwendungen. Anders als ein fertiges CMS gibt es kein vorgebautes Produkt vor, sondern ein strukturiertes Gerüst: Routing, das Eloquent ORM für den Datenbankzugriff, Migrations für das Schema, Queues für Hintergrundaufgaben und das Kommandozeilen-Werkzeug Artisan. Laravel wurde 2011 von Taylor Otwell veröffentlicht und ist heute das meistgenutzte PHP-Framework. siteway baut damit eigene Anwendungen, Server-Logik und Schnittstellen, die exakt zum Prozess passen. ### Was ist der Unterschied zwischen Laravel und einem CMS wie WordPress oder TYPO3? Ein CMS ist ein fertiges Produkt für Inhalte: Seiten, Artikel, Redaktion. Laravel ist ein Framework — ein Baukasten, mit dem eine Anwendung von Grund auf modelliert wird. Sobald eine Website vor allem Inhalte pflegt, ist ein CMS der schnellere Weg. Sobald eigene Objekte, Rollen, Berechnungen oder Abläufe im Zentrum stehen — ein Buchungssystem, ein Portal, ein Rechner — trägt ein Framework wie Laravel weiter. siteway wählt pro Projekt: TYPO3, WordPress oder Statamic fürs CMS, Laravel für die eigene Anwendung. ### Wann lohnt sich eine Eigenentwicklung mit Laravel statt eines CMS? Wenn die eigene Fachlogik der Kern ist und nicht der Inhalt. Zeichen dafür: Nutzer haben Rollen und Rechte, es gibt eigene Datenobjekte mit Regeln, Prozesse laufen über mehrere Schritte, es müssen Fremdsysteme angebunden werden oder es entsteht eine eigene API. Ein CMS lässt sich dafür verbiegen, aber jede Sonderlogik wird zur Last. Mit Laravel wird die Logik zum sauber modellierten Kern statt zum Plugin-Workaround. siteway klärt diese Weiche früh — meist schon in Konzept und Strategie. ### Was ist Eloquent ORM? Eloquent ist die Datenbank-Schicht von Laravel. Statt SQL von Hand zu schreiben, wird jede Tabelle als Model abgebildet, und Beziehungen zwischen Objekten — etwa Kunde, Bestellung, Position — werden im Code beschrieben. Das macht Datenzugriffe lesbar und testbar. siteway nutzt dazu Migrations: Das Datenbankschema liegt versioniert im Git-Repository, sodass jede Umgebung denselben Stand aufbaut und Änderungen nachvollziehbar bleiben. ### Wofür nutzt siteway Queues und Artisan in Laravel? Queues verschieben langsame Aufgaben aus dem Request in den Hintergrund: E-Mail-Versand, Bildverarbeitung, der Aufruf einer fremden API. Der Nutzer bekommt sofort eine Antwort, die eigentliche Arbeit läuft nebenläufig — das hält die Anwendung schnell. Artisan ist die Kommandozeile von Laravel: siteway baut damit eigene Befehle für wiederkehrende Aufgaben und geplante Jobs, etwa nächtliche Importe oder Aufräumläufe. Beides zusammen macht eine Anwendung belastbar statt nur lauffähig. ### Ist eine Laravel-Anwendung sicher? Laravel bringt die wichtigen Schutzmechanismen ab Werk mit: Schutz vor CSRF und SQL-Injection, Passwort-Hashing, Validierung von Eingaben und ein Rechtesystem über Policies. Das nimmt viele klassische Fehlerquellen von vornherein aus dem Spiel. siteway ergänzt das um Security-Header, HTTPS mit HSTS und eine trackingfreie, datensparsame Umsetzung — Details im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). ### Baut siteway auch Schnittstellen und APIs mit Laravel? Ja. Laravel eignet sich sehr gut für Schnittstellen: eine eigene REST-API für App oder Frontend, oder die Anbindung fremder Systeme wie CRM, Warenwirtschaft, Payment oder Newsletter. Aufrufe laufen über Queues, damit ein langsames Fremdsystem die eigene Seite nicht ausbremst, und jede Anbindung wird protokolliert. Die Umsetzung als Leistung liegt bei [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/), die Technik dahinter ist dieser Stack. womit das zusammenhängt ## Womit das zusammenhängt leistung & **stack** - [Laravel.](https://www.siteway.de/stack/laravel/) — Das Framework im Detail: Eloquent, Migrations, Queues, Artisan — und die Architektur-Leitplanken, nach denen wir bauen. weiterlesen → - [Entwicklung & Umsetzung.](https://www.siteway.de/expertise/entwicklung-umsetzung/) — Diese Technik als Leistung: Wir setzen deine Anwendung um — von Templates bis zur eigenen Laravel-App. Hier wird gebucht. weiterlesen → - [CMS & Redaktion.](https://www.siteway.de/stack/cms-redaktion/) — Die andere Seite der Weiche: TYPO3, WordPress und Statamic, wenn der Inhalt im Zentrum steht statt der Fachlogik. zum stack → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wie eine Laravel-Anwendung live geht und läuft: Git, GitHub Actions, reproduzierbare Deployments und Monitoring. zum stack → Eigene Anwendung im Kopf? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # P&I LogaHR **P&I LogaHR** ist eine HR-Suite aus Wiesbaden — Abrechnung, Personalmanagement, Zeitwirtschaft und Bewerbermanagement auf einer Plattform, verbreitet vor allem dort, wo viele Personalfälle und feste Regelwerke zusammenkommen. Für eine Website zählt davon ein Ausschnitt: Wie kommen die Stellenausschreibungen auf die eigene [Karriereseite](https://www.siteway.de/expertise/job-karriereportal/) — und zwar so, dass sie dort wie eigene Seiten aussehen, funktionieren und gefunden werden. siteway baut diese Strecke. stack system: p&i logahr · hr-suite weg: export · schnittstelle ziel: stellen auf deiner domain seit: 2006 [Anbindung anfragen](https://www.siteway.de/kontakt/) [Wie wir LogaHR anbinden](#einsatz) definition ## Was ist P&I LogaHR? **P&I LogaHR ist die HR-Software der P&I Personal & Informatik AG aus Wiesbaden.** Die Wurzeln des Unternehmens reichen bis 1968 zurück, und der Name **LOGA** begleitet die Produktlinie seit den frühen Abrechnungssystemen — weshalb in Ausschreibungen, Stellenanzeigen und Projektunterlagen bis heute alle Schreibweisen nebeneinander auftauchen. Der Hersteller selbst nennt die Plattform aktuell **P&I LogaHR** und die Oberfläche **P&I LOGA3**. Die Suite bündelt mehrere Bereiche auf einer Plattform: Lohn- und Gehaltsabrechnung, Personalmanagement rund um die digitale Personalakte, Zeitwirtschaft sowie Recruiting und Talent Management. Als Zielbereiche nennt der Hersteller den öffentlichen Sektor, das Gesundheits- und Sozialwesen und die Privatwirtschaft — also typischerweise Organisationen, in denen Tarifwerke, Stellenpläne und Mitbestimmung eine Rolle spielen. Das Bewerbermanagement führt der Hersteller unter der Bezeichnung **P&I Bewerber3**. Für eine Website ist davon genau ein Ausschnitt relevant: das **Bewerbermanagement**. Dort legt die Personalabteilung Ausschreibungen an, dort läuft das Auswahlverfahren, dort liegen die Unterlagen. Die Website ist die Schauseite dieses Systems — sie zeigt die offenen Stellen und führt in den Bewerbungsweg, ohne selbst zum zweiten Datenhaushalt zu werden. Genau diese Trennung macht die Anbindung sauber: siteway behandelt LogaHR als führendes System und die Website als Anzeige. $ cat logahr.md - ✓Hersteller p&i ag · wiesbaden - ✓Abrechnung lohn & gehalt - ✓Personalakte digital - ✓Zeitwirtschaft im modulumfang - ✓Bewerbermanagement p&i bewerber3 - ✓Betrieb hr-cloud-rechenzentrum praxis ## Wie wir P&I LogaHR anbinden erst klären, **dann bauen** Eine Anbindung an LogaHR beginnt anders als eine an ein Cloud-Produkt mit offener Dokumentation. Für diese Software gibt es **keine frei zugängliche Entwicklerdokumentation**: Was an Export, Schnittstelle und Feldern zur Verfügung steht, hängt an eurem Vertrag, an eurer Installation und häufig an einem Rechenzentrum, das den Betrieb übernimmt. Deshalb steht am Anfang keine Zeile Code, sondern eine **Sichtung** — gemeinsam mit dem Hersteller oder eurer HR-IT. Vier Fragen klären dabei fast alles: Welcher Weg ist freigeschaltet, um die offenen Stellen aus dem System zu bekommen? Welche Felder liefert dieser Weg — und wie heißen sie bei euch? In welchem Takt darf abgerufen werden? Und wie ist der Bewerbungsweg vorgesehen: im Portal des Systems oder über ein eigenes Formular? Aus den Antworten entsteht ein **Feld-Mapping**, und erst danach wird gebaut — dasselbe Vorgehen wie bei jeder anderen [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/). Was danach folgt, ist unabhängig vom System immer dasselbe Muster: Stellen als Daten abholen, ins CMS übersetzen, die Seiten selbst rendern. Der Grund ist nicht Geschmack, sondern Kontrolle. Nur bei eigenem Markup entscheidet siteway über [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/), [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/), Ladeverhalten und URL-Struktur — also über genau die Punkte, an denen eine Karriereseite gefunden wird oder eben nicht. unsere leitplanken - 01LogaHR bleibt das **führende System** - 02Stellen liegen auf **deiner Domain** - 03Erst **Freischaltung klären**, dann Mapping - 04Abgleich mit **Cache**, nie live pro Aufruf - 05Bewerberdaten **nicht zwischenlagern** - 06Ausfall der Quelle **bricht nichts** ### Drei Wege auf die Karriereseite Unabhängig davon, wie ein HR-System seine Wege benennt, laufen sie auf drei Muster hinaus. 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 — welches Muster bei euch verfügbar ist, zeigt die Sichtung. w-01export ### Stellen-Export Das System stellt die offenen Ausschreibungen als abrufbare Datei oder als Feed bereit, die Website holt sie in festem Takt ab. Robust, sparsam mit Rechten, unabhängig von der Verfügbarkeit der Quelle im Moment des Seitenaufrufs — und ausreichend, solange die enthaltenen Felder alles hergeben, was die Stellenseite zeigen soll. stärke: robust · einfach w-02schnittstelle ### Schnittstelle Ist ein direkter Zugriff freigeschaltet, lassen sich Stellen gezielt abfragen — und je nach Freigabe auch Daten zurückgeben, etwa eine Bewerbung aus einem eigenen Formular. Der Weg trägt mehr Felder und feinere Abfragen, verlangt dafür Zugangsdaten, klare Berechtigungen und eine Abstimmung mit der HR-IT. stärke: beide richtungen w-03portal ### Portal des Systems Der Stellenbereich des HR-Systems wird verlinkt oder im Rahmen der Website gezeigt. Das ist der schnellste Start, weil praktisch nichts gebaut wird. Gestaltung, Markup und Ladeverhalten kommen dann vom Anbieter — inklusive der Frage, unter welcher Adresse der Inhalt zählt. Für einen geschützten Bewerberbereich mit Login ist das oft genau richtig. stärke: sofort startklar Die Zuordnung fällt meist schnell. Ein **Export** reicht, wenn eine überschaubare Zahl Stellen mit klaren Feldern gezeigt werden soll und ein Abgleich im Minuten- oder Stundentakt genügt. Eine **Schnittstelle** braucht es, sobald Daten zurücklaufen sollen oder Felder gefragt sind, die im Export nicht auftauchen. Das **Portal** ist der richtige Griff, wenn der geschützte Bereich für Bewerberinnen und Bewerber ohnehin beim Anbieter bleibt. Häufig ist die Kombination die beste Antwort: Stellenliste und Detailseiten aus dem Export auf der eigenen Domain, der Bewerbungsweg mit Login und Statusanzeige im System. So bleibt die Sichtbarkeit bei euch und der sensible Teil dort, wo Rollen und Fristen ohnehin greifen. Diese Aufteilung gehört an den Anfang des [Konzepts](https://www.siteway.de/expertise/konzept-strategie/), nicht ans Ende. Dieselbe Frage stellt sich bei benachbarten HR-Systemen — etwa bei [rexx systems](https://www.siteway.de/stack/rexx-systems/), [Personio](https://www.siteway.de/stack/personio/) oder [sopea](https://www.siteway.de/stack/sopea/). zuordnung - ▸klare Felder, eine Richtung → **Export** - ▸Bewerbung zurückschreiben → **Schnittstelle** - ▸Login-Bereich für Bewerber → **Portal** - ▸eigene Stellenseiten → **Export oder Schnittstelle** bausteine · 6 details ## Die Anbindung im Detail jedes teil mit **klarem zweck** Zwischen „Stelle steht im Bewerbermanagement" und „Stelle steht auf der Website" liegen sechs Bauteile. Sie sind bei jedem Projekt gleich — was sich unterscheidet, sind die Feldbezeichnungen 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](https://www.siteway.de/stack/cms-redaktion/): Titel, Standort, Bereich, Anstellungsart, Beschreibung, Bewerbungsfrist, Bewerbungslink, dazu Kennziffer und Entgeltgruppe, wenn die Ausschreibung sie führt. 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](https://www.siteway.de/stack/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. Das Layout ist deins: dieselbe Typografie, dieselbe Navigation, derselbe Footer wie auf dem Rest der Website. 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](https://www.siteway.de/stack/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 Bewerberportal des Systems. 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 Hinweis zum Datenschutz. Der zweite Weg ist ein **eigenes Formular** auf deiner Domain, das die Daten über die Schnittstelle übergibt. Die bewerbende Person bleibt durchgehend bei dir, Felder und Fehlermeldungen sind gestaltbar, die Barrierefreiheit liegt in unserer Hand — wie bei allen [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Dafür braucht es einen freigegebenen Übergabeweg, ein sorgfältiges Mapping und eine ehrliche Fehlerbehandlung: Was passiert, wenn die Übergabe scheitert, nachdem jemand auf „Absenden" geklickt hat? Welcher Weg gebaut wird, hängt weniger an der Technik als an der Erwartung: Soll die Bewerbung Teil der Website sein oder Teil des HR-Systems? Bei öffentlichen Arbeitgebern kommt oft eine dritte Stimme dazu, weil Auswahlverfahren dokumentiert und nachvollziehbar bleiben müssen. Wir stellen diese Frage im Briefing — und beantworten sie gemeinsam, bevor eine Zeile Template entsteht. zwei wege - ▸Weiterleitung: **keine Daten bei uns** - ▸Weiterleitung: **Bruch im Design** - ▸Eigenes Formular: **ein Fluss** - ▸Eigenes Formular: **volle Kontrolle** - ▸Eigenes Formular: **Freigabe nötig** integration · 3 systeme ## P&I LogaHR in deine Website integrieren drei systeme · **ein muster** Ein Bewerbermanagement liefert Daten, ein [CMS](https://www.siteway.de/stack/cms-redaktion/) macht daraus Seiten. Der Weg dazwischen ist systemunabhängig und sieht in jedem CMS 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](https://www.siteway.de/stack/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, Bewerbungsfrist 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 Portal des Systems oder in ein eigenes Formular auf deiner Domain. Weil bei LogaHR die verfügbaren Felder je Installation abweichen, wird das Datenmodell im CMS bewusst schlank gehalten und um genau die Felder ergänzt, die eure Quelle tatsächlich liefert. cms-01typo3 ### LogaHR in TYPO3 Der Weg führt über eine eigene Extension: Extbase als Unterbau, TCA für die Felddefinition, ein Scheduler-Task für den Abruf im festen Takt. Die Stellen landen als eigene Records in einem Ordner im Seitenbaum, das Site Handling erzeugt daraus die eigenen URLs, Fluid rendert Liste und Detailseite. Standort, Bereich und Anstellungsart liegen als eigene Felder, damit Filter und Sprachbäume mitlaufen. Mehr zum System unter [TYPO3](https://www.siteway.de/stack/typo3/). weg: eigene extension · scheduler cms-02wordpress ### LogaHR in WordPress Hier entsteht ein eigenes Plugin statt Code im Theme — damit die Anbindung einen Theme-Wechsel überlebt. Ein Custom Post Type mit Meta-Feldern nimmt die Stellen auf, Taxonomien bilden Standort und Bereich ab, ein geplanter Lauf holt die Daten. Eine eigene Permalink-Struktur gibt jeder Stelle ihre Adresse, das JobPosting-Markup setzt ein Hook im `` der Detailseite. Mehr zum System unter [WordPress](https://www.siteway.de/stack/wordpress/). weg: eigenes plugin · custom post type cms-03statamic ### LogaHR in Statamic Unter Statamic liegt ein vollständiges Laravel — der Abruf ist deshalb ein Artisan-Command im Scheduler. Ein Blueprint gibt das Datenmodell vor, die Stellen werden zu Entries in einer eigenen Collection, deren Route die eigene URL je Stelle ergibt. Antlers oder Blade rendern Liste und Detailseite, das Static Caching liefert den fertigen Stand aus. Mehr zum System unter [Statamic](https://www.siteway.de/stack/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. Genau darin liegt der Grund für die eigene Karriereseite: Das Markup entsteht erst im **CMS**. Liegen die Stellen als eigene Seiten auf deiner Domain, wird es beim Rendern aus den Feldern erzeugt, die aus dem Bewerbermanagement kommen — ein Feld, ein Attribut. Wird ein Stellenportal 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. 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](https://www.siteway.de/stack/strukturierte-daten/); was speziell für Stellenanzeigen gilt, unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). $ cat jobposting.md - ✓Titel pflicht - ✓Beschreibung pflicht - ✓Veröffentlichungsdatum pflicht - ✓Arbeitgeber pflicht - ✓Arbeitsort pflicht - ✓Ablaufdatum empfohlen - ✓Anstellungsart empfohlen - ✓Gehalt empfohlen 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 Arbeitgeber 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 LogaHR — dort greifen Rollen, Protokolle und die **Löschfristen**, die das Personalwesen ohnehin einhalten muss. Für sein HR-Cloud-Rechenzentrum nennt der Hersteller unter anderem ISO 27001, BSI C5 Typ 2 und ISAE 3402 Typ 2; diese Angaben ersetzen die eigene Prüfung nicht, geben ihr aber eine Grundlage. 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. Bei Behörden, Kommunen und anderen **öffentlichen Trägern** kommen Landesdatenschutzgesetze, ein behördlicher Datenschutzbeauftragter und interne Freigabeverfahren dazu, die früh in den Zeitplan gehören. Wie siteway das grundsätzlich hält, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - 01Übertragung **verschlüsselt** - 02Anhänge **weiterreichen, nicht lagern** - 03Zugangsdaten **nicht im Repository** - 04Löschfristen **im führenden System** - 05AV-Vertrag **vor dem Go-live** - 06Bei Behörden **Landesrecht mitdenken** ### Ein Formular, das alle absenden können Ein Bewerbungsformular ist die engste Stelle der ganzen Strecke: Wer hier scheitert, bewirbt sich nicht. Bei öffentlichen Stellen kommt hinzu, dass Barrierefreiheit dort nicht nur guter Stil, sondern Auflage ist. 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 Portal des Herstellers weiterzuleiten — dann prüfen wir vorher, wie es sich dort verhält, und halten das Ergebnis fest. Die Grundlagen dazu stehen unter [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/). am formular - ▸Labels **sichtbar & verknüpft** - ▸Fehler **am Feld, im Klartext** - ▸Upload **per Tastatur bedienbar** - ▸Bestätigung **wird angesagt** faq ## Häufige Fragen ### Was ist P&I LogaHR? P&I LogaHR ist die HR-Software der P&I Personal & Informatik AG mit Sitz in Wiesbaden. Die Wurzeln des Unternehmens reichen bis 1968 zurück, der Produktname LOGA begleitet die Software seit den frühen Abrechnungssystemen; heute nennt der Hersteller die Plattform P&I LogaHR und die Oberfläche P&I LOGA3. Die Suite bündelt Lohn- und Gehaltsabrechnung, Personalmanagement mit digitaler Personalakte, Zeitwirtschaft sowie Recruiting und Talent Management. Der Hersteller nennt als Zielbereiche den öffentlichen Sektor, das Gesundheits- und Sozialwesen sowie die Privatwirtschaft. Für eine Website zählt davon genau ein Ausschnitt: das Bewerbermanagement, das der Hersteller als P&I Bewerber3 führt. ### Wie kommen Stellen aus P&I LogaHR auf unsere Karriereseite? Über einen Weg, der die Ausschreibungen als Daten aus dem System herausträgt: einen Export beziehungsweise Feed der offenen Stellen oder eine Schnittstelle, über die sich dieselben Daten abfragen lassen. Die Website holt diese Daten in festem Takt ab, ordnet jedes Feld einem Feld im CMS zu und legt jede Stelle als eigenen Inhalt mit eigener URL an. Welcher Weg in eurer Installation tatsächlich freigeschaltet ist, klärt siteway vorab mit dem Hersteller oder eurer HR-IT — bei dieser Software ist das der erste Schritt und nicht der letzte, weil es dazu keine frei zugängliche Entwicklerdokumentation gibt. ### Gibt es eine öffentliche Entwicklerdokumentation für LogaHR? Öffentlich einsehbar ist sie nicht. Anders als bei Systemen mit offener API-Dokumentation liegen die Angaben zu Export, Schnittstelle, Feldern und Freischaltung beim Hersteller und beim betreuenden Rechenzentrum. Für ein Projekt heißt das: keine Annahmen, sondern eine Sichtung. siteway fragt vor dem Bauen ab, welcher Weg vertraglich und technisch freigeschaltet ist, welche Felder er liefert, in welchem Takt er aktualisiert wird und wie der Bewerbungsweg vorgesehen ist. Aus diesen Antworten entsteht das Feld-Mapping — und erst danach entsteht Code. Was auf dieser Seite steht, beschreibt deshalb bewusst das Muster und nicht erfundene Endpunkte. ### Lässt sich LogaHR in TYPO3, WordPress oder Statamic integrieren? Ja. In allen drei Systemen trägt derselbe Aufbau: Ein geplanter Job holt die Stellen ab, legt jede Ausschreibung als eigenen Inhalt im CMS an, und das Frontend rendert Liste, Filter und Detailseite — jede Stelle mit einer eigenen, indexierbaren URL auf deiner Domain. In TYPO3 baut siteway dafür eine eigene Extension mit Scheduler-Task, eigenen Datensätzen und Fluid-Templates. In WordPress ein eigenes Plugin mit einem Custom Post Type und Taxonomien für Standort und Bereich. In Statamic ein Artisan-Kommando im Scheduler, das Entries in eine Collection schreibt. Weil die Feldbezeichnungen je Installation abweichen, wird die Abholung als schlanker eigener Code gebaut und das Mapping vorab abgestimmt. 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. Genau dieses Markup entsteht, wenn die Stellen als eigene Seiten auf deiner Domain liegen — siteway erzeugt es beim Rendern aus den Feldern, die aus dem Bewerbermanagement kommen. Wird ein Stellenportal dagegen von einer fremden Adresse eingebunden, gehört der Inhalt technisch weiter zu dieser Adresse und wird dort erfasst, nicht unter deiner URL. ### Bewerbung im Portal von P&I oder auf unserer Website? Beides trägt. Der direkte Weg ist die Weiterleitung: Der Button auf der Stellenseite führt in das Bewerberportal des Systems, dort läuft der Upload, und die Bewerbung liegt ohne Umweg im Bewerbermanagement — auf dem Webserver entstehen dabei gar keine Bewerberdaten. Der Preis ist ein sichtbarer Wechsel in ein anderes Layout. Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über die Schnittstelle ü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 Übergabewegen. siteway klärt das vor dem Bauen, weil daran der ganze Bewerbungsweg hängt. ### Was passiert mit abgelaufenen Stellen? Fällt eine Stelle aus der Quelle, verschwindet sie beim nächsten Abgleich aus der Liste. Für die Detailseite nennt Google drei saubere Wege: das Ablaufdatum in die Vergangenheit setzen, die Seite mit Statuscode 404 oder 410 beantworten oder das JobPosting-Markup entfernen. Welcher Weg gewählt wird, legt siteway je Projekt fest — und leitet abgelaufene Stellen dorthin, wo es weitergeht: auf die Karriereübersicht statt in eine Sackgasse. Gerade bei öffentlichen Ausschreibungen lohnt der Blick auf die Frist, weil Bewerbungsschluss und Sichtbarkeit dort oft aneinanderhängen. ### Was gilt für Bewerberdaten bei öffentlichen Arbeitgebern? Für alle Arbeitgeber gilt die DSGVO, und Bewerbungsunterlagen zählen zu den empfindlichsten Daten, die eine Website berührt. Bei Behörden, Kommunen und anderen öffentlichen Trägern kommen zusätzliche Vorgaben dazu: Landesdatenschutzgesetze, behördliche Datenschutzbeauftragte, Vorgaben zur Barrierefreiheit aus dem Behindertengleichstellungsrecht und interne Freigabeverfahren, die früh eingeplant gehören. Praktisch heißt das: Datensparsamkeit am Formular, verschlüsselte Übertragung, Anhänge weiterreichen statt lagern, Zugangsdaten in der Serverkonfiguration statt im Repository, Löschfristen im führenden System und ein Auftragsverarbeitungsvertrag vor dem Go-live. Der Hersteller nennt für sein HR-Cloud-Rechenzentrum unter anderem ISO 27001, BSI C5 Typ 2 und ISAE 3402 Typ 2 — das ersetzt die eigene Prüfung nicht, gibt ihr aber eine Grundlage. womit das zusammenhängt ## Womit das zusammenhängt komponente, leistung & **nachbarn** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Der Baustein, der auf deiner Website entsteht: Stellenliste, Detailseiten, Bewerbungsformular und Karriere-Übersicht. Hier wird gebucht. zur komponente → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung hinter dieser Seite: Sichtung, Feld-Mapping, Entwicklung, Test und Monitoring — für LogaHR wie für jedes andere Fremdsystem. zur leistung → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was eine Stellenanzeige mitbringen muss, um in der Job-Box zu erscheinen — Pflichtfelder, Ablaufdatum und die häufigsten Stolpersteine. zur technik → - [rexx systems.](https://www.siteway.de/stack/rexx-systems/) — Dieselbe Frage, anderes System: wie Stellen aus dem rexx-Bewerbermanagement auf die eigene Karriereseite kommen. zur technik → - [Personio.](https://www.siteway.de/stack/personio/) — Der Gegenpol zu einer Suite ohne offene Doku: wie Stellen aus Personio auf die Karriereseite kommen — und wo sich die Wege unterscheiden. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Verschlüsselung, Header, Datensparsamkeit und der Umgang mit Zugangsdaten — die Regeln, nach denen jede Anbindung gebaut wird. zur technik → Stellen aus P&I LogaHR auf deiner eigenen Karriereseite? [Anbindung anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # PIM Ein **PIM** ist das System, in dem Produktinformationen zentral liegen — Texte, Attribute, Kategorien, Medien, Übersetzungen. Diese Seite beschreibt bewusst **keine einzelne Software**, sondern den Weg: wie Produktdaten aus einem PIM auf eine Website kommen und dort zu Katalog, Detailseite und Datenblatt werden. Denn die Muster sind systemunabhängig — siteway baut diese Anbindung immer nach derselben Logik: **spiegeln**, nicht durchreichen. stack system: pim · produktdaten weg: api · export · ereignis format: json · csv · xml seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir ein PIM anbinden](#einsatz) definition ## Was ist ein PIM? eine **quelle** statt vier **PIM steht für Product Information Management.** Gemeint ist ein System, in dem alles gepflegt wird, was ein Produkt beschreibt: Bezeichnung und Beschreibungstext, technische Attribute mit Einheiten, die Einordnung in Kategorien, Bilder und Videos, Datenblätter und Montageanleitungen, dazu die Übersetzungen. Aus dieser einen Quelle werden anschließend alle Kanäle beliefert — die Website, der Shop, der gedruckte Katalog, die Datenlieferung an Handelspartner. Der Grund, warum es solche Systeme überhaupt gibt, ist bei jedem Projekt derselbe. Ohne zentrale Pflege liegen Produkttexte in einer Tabelle beim Produktmanagement, in einer zweiten Fassung im Shop, in einer dritten in der Katalog-Datei der Grafik und in einer vierten auf der Website. Alle vier waren einmal gleich. Nach zwei Sortimentswechseln ist keine mehr wie die andere. **Das PIM ist die Antwort darauf: eine Quelle, ein Redaktionsprozess, viele Ausgabekanäle.** Der wichtigste Punkt für die Abgrenzung ist das Verhältnis zum **ERP**. Ein ERP führt die kaufmännischen Daten — Artikelnummer, Preise, Bestände, Aufträge, Lieferanten, Buchhaltung. Ein PIM führt die beschreibenden, marketingrelevanten Daten. Beide kennen dasselbe Produkt, aber über unterschiedliche Ausschnitte, und beide sind über die Artikelnummer verbunden. Für eine Website heißt das ganz praktisch: Der Text kommt aus dem PIM, Preis und Verfügbarkeit kommen aus dem Warenwirtschaftssystem — etwa aus [SAP](https://www.siteway.de/stack/sap/) oder [weclapp](https://www.siteway.de/stack/weclapp/). Wer beides braucht, baut zwei Anbindungen mit einem gemeinsamen Schlüssel. Welches PIM-Produkt im Haus steht, ändert an dieser Rolle wenig. Die Systeme unterscheiden sich in Oberfläche, Rechteverwaltung und Umfang — für die Website zählt vor allem, dass sie **nach draußen sprechen können**: über eine Schnittstelle, über einen Export oder über beides. Ab da ist es eine [Integrationsaufgabe](https://www.siteway.de/expertise/schnittstellen-integration/) wie jede andere. $ cat pim.md - ✓Zweck eine quelle für produktdaten - ✓Inhalt texte · attribute · medien - ✓Nicht enthalten bestände · aufträge → erp - ✓Schlüssel artikelnummer - ✓Übergabe api · dateiexport · ereignis - ✓Sprachen varianten am produkt praxis ## Wie wir ein PIM anbinden spiegeln · **nicht durchreichen** Am Anfang steht kein Code, sondern eine Bestandsaufnahme. Wie viele Produkte umfasst das Sortiment, gibt es Varianten, wie tief ist der Kategoriebaum, wie viele Attribute hängen an einem Produkt, in wie vielen Sprachen liegt es vor? Und vor allem: **Was kann das System herausgeben?** Eine Schnittstelle, einen Export, Ereignismeldungen — oder eine Kombination davon. Aus diesen Antworten ergibt sich der Weg, nicht aus einer Vorliebe. Dann kommt der Teil, der die meiste Zeit kostet und in Angeboten trotzdem gern in einer Zeile verschwindet: das **Feld-Mapping**. Die Struktur im PIM ist selten identisch mit dem, was die Website braucht. Dort stehen häufig mehrere hundert Attribute je Produkt, gruppiert nach Warengruppe, mit eigenen Einheiten und eigenen Wertelisten. Auf der Website braucht es davon einen bewussten Ausschnitt: die Felder für die Detailseite, die Felder für den Filter, die Felder für die Suche und die Felder für die strukturierten Daten. Wir legen fest, welches Quellfeld auf welches Zielfeld geht, welche Einheit und welches Format gelten, was Pflicht ist und was leer bleiben darf. Das Ergebnis ist ein Dokument, und es steht, bevor gebaut wird. Der wichtigste Grundsatz danach: **Produktdaten werden in das [CMS](https://www.siteway.de/stack/cms-redaktion/) gespiegelt, nicht bei jedem Seitenaufruf abgefragt.** Der Abgleich läuft im Hintergrund und schreibt die Produkte als eigene Inhaltsart mit eigenen Feldern, eigener URL und eigener Sortierung. Ausgeliefert wird aus dem eigenen Bestand. Das hält die Seite schnell, macht sie unabhängig von der Erreichbarkeit des PIM und sorgt dafür, dass eine Wartung am führenden System keinen leeren Katalog produziert. Nach dem Import nehmen wir gezielt die betroffene Detailseite und die betroffenen Listen aus dem **Cache**, statt die ganze Website zu leeren. **Bilder und Dokumente** ziehen wir beim Abgleich auf den eigenen Server, statt sie live aus dem PIM zu verlinken. Danach laufen sie durch dieselbe Bildpipeline wie der Rest der Website: skaliert, als [AVIF](https://www.siteway.de/stack/avif/) und [WebP](https://www.siteway.de/stack/webp/) ausgespielt, mit Maßen im Markup. Ein Datenblatt liegt danach auf der eigenen Domain — auffindbar, verlinkbar, unabhängig von einem fremden System. Über eine Prüfsumme oder ein Änderungsdatum erkennt der nächste Lauf, welche Datei tatsächlich neu ist, damit nicht bei jedem Durchgang das gesamte Medienarchiv erneut über die Leitung geht. Und schließlich der Fall, den niemand plant: **der Fehlerfall**. Antwortet die Schnittstelle nicht, ist die Exportdatei halb geschrieben oder fehlt ein Pflichtfeld, dann bleibt der letzte gute Stand stehen. Der Lauf wird protokolliert, mit Abstand erneut versucht und meldet sich, wenn er zweimal hintereinander scheitert. Ein abgebrochener Abgleich darf nie den Katalog leeren — das ist die Regel, an der sich jede Anbindung messen lassen muss. unsere leitplanken - 01Erst das **Feld-Mapping**, dann der Code - 02Produkte **spiegeln**, nicht durchreichen - 03Artikelnummer als **stabiler Schlüssel** - 04Zugangsdaten **serverseitig**, nie im Browser - 05Medien **lokal**, nicht fremdverlinkt - 06Fehler **protokollieren**, Bestand halten [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail muster statt **produkt** Was hier steht, gilt systemunabhängig. Die Oberflächen und Begriffe unterscheiden sich von Haus zu Haus, die Muster dahinter kaum: eine Datenstruktur aus Produkten und Attributen, ein Übergabeweg nach draußen, ein Takt für die Aktualisierung und eine Regel für alles, was verschwindet. d-01datenmodell ### Produkte & Varianten Im Zentrum steht das Produkt, darunter oft Varianten — dieselbe Baureihe in mehreren Größen, Farben oder Anschlüssen. Für die Website entscheidet sich hier, ob eine Variante eine eigene Seite bekommt oder als Auswahl auf der Seite des Elternprodukts erscheint. Das ist keine technische Frage, sondern eine der Auffindbarkeit: Wonach suchen die Kunden — nach der Baureihe oder nach der konkreten Ausführung? zweck: struktur d-02attribute ### Attribute & Gruppen Attribute sind die Eigenschaften eines Produkts, meist in Gruppen gebündelt und je nach Warengruppe unterschiedlich belegt. Wichtig ist die Sauberkeit der Werte: Ein Attribut mit fester Werteliste taugt als Filter, ein Freitextfeld mit fünf Schreibweisen desselben Materials nicht. Wo die Wertelisten im PIM noch uneinheitlich sind, ist das ein Datenthema — kein Frontend-Problem, das sich wegprogrammieren lässt. zweck: filter · vergleich d-03übergabe ### API, Export & Ereignis Drei Muster sind üblich. Eine REST-Schnittstelle liefert JSON, abgesichert über Schlüssel oder Token, und erlaubt gezielte Abrufe nach Kategorie oder Änderungsdatum. Ein Dateiexport legt CSV oder XML in einem definierten Verzeichnis ab, das die Website im Takt einliest — robust und gut prüfbar. Ereignismeldungen wie Webhooks melden nur, dass sich etwas geändert hat; die Daten holen wir danach gezielt nach. zweck: transportweg d-04takt ### Voll- & Teilabgleich Die Ersteinrichtung ist ein Vollabgleich: Das gesamte Sortiment wandert einmal in das CMS, inklusive Medien. Im Betrieb laufen danach Teilabgleiche, die nur Geänderte holen — über ein Änderungsdatum, einen Zeitstempel oder eine Ereignismeldung. Ein regelmäßiger Voll-Lauf bleibt als Grundsicherung daneben bestehen, damit ein verpasster Datensatz nicht dauerhaft im alten Stand hängen bleibt. zweck: aktualität d-05löschlogik ### Was entfällt Der unterschätzte Teil jeder Anbindung. Ein Produkt, das im PIM auf inaktiv gesetzt wird oder aus dem Export fällt, verschwindet auf der Website nicht einfach: Es wird als entfallen gekennzeichnet, seine URL bleibt bestehen und verweist auf den Nachfolger oder wird sauber umgeleitet. Ohne diese Regel produziert jeder Sortimentswechsel eine neue Ladung Fehlerseiten — und alte Links ins Leere. zweck: saubere urls d-06sprachen · kanäle ### Sprach- & Kanalvarianten Ein PIM hält Übersetzungen als Sprachvarianten am Produkt und unterscheidet oft zusätzlich nach Kanal — der Text für den Katalog ist nicht derselbe wie der für die Website. Beim Abgleich zählt die eindeutige Zuordnung: Welche Sprachkennung im PIM entspricht welcher Sprache der Website, und welcher Kanal ist der maßgebliche? Für nicht übersetzte Felder gilt eine feste Regel statt einer Zufallsentscheidung. zweck: mehrsprachigkeit ### Was auf der Website daraus entsteht Aus den gespiegelten Daten wird kein Datenbank-Dump, sondern eine Website. Der [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) filtert über genau die Attribute, die im Mapping als Filter markiert sind — Warengruppe, Maße, Material, Anschlussart — und arbeitet dabei auf dem eigenen Bestand, also ohne Wartezeit auf ein fremdes System. Die **Detailseite** bekommt eine sprechende, dauerhafte URL, die Bildergalerie, die technischen Daten als Tabelle und die Downloads: Datenblatt, Montageanleitung, Zeichnung. Wo aus der Auswahl eine Bestellung werden soll, kommt der [Shop](https://www.siteway.de/expertise/shop-e-commerce/) dazu — dieselben Daten, ein zusätzlicher Weg. Die [Suche](https://www.siteway.de/expertise/suche/) profitiert am deutlichsten von sauberen Attributen: Wer nach einer Maßangabe oder einer Norm sucht, findet das Produkt nur, wenn dieser Wert als Feld existiert und indexiert wird — nicht, wenn er irgendwo im Fließtext steht. Denselben Feldern verdanken wir die [strukturierten Daten](https://www.siteway.de/stack/strukturierte-daten/): Bezeichnung, Beschreibung, Bild, Artikelnummer und Kennzeichnungen wie GTIN oder Herstellernummer wandern aus dem Mapping direkt in das Product-Schema. Einmal gepflegt, dreifach genutzt — im Text, im Filter und in der Auszeichnung für Suchmaschinen. **Mehrsprachigkeit** ist dabei der Regelfall, nicht die Ausnahme — wer ein PIM einführt, tut das oft genau deswegen. Jede Sprache bekommt ihre eigene URL und ihre eigene Sprachfassung im CMS, verknüpft über die Sprachverwaltung des Systems; wie das im Detail aussieht, steht bei [Mehrsprachigkeit](https://www.siteway.de/expertise/mehrsprachigkeit/). Und weil Produktdaten selten personenbezogen, aber oft geschäftskritisch sind, gehören Zugangsdaten serverseitig abgelegt und Zugriffe begrenzt — mehr dazu unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Katalog mit **Attribut-Filtern** - ▸Detailseite mit **dauerhafter URL** - ▸Galerie & **Datenblatt-Download** - ▸Suche über **echte Felder** - ▸Product-Schema aus **denselben Feldern** - ▸Jede Sprache mit **eigener URL** integration ## Ein PIM in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist bewusst systemunabhängig gedacht: Die Produktdaten werden im **festen Takt in das CMS gespiegelt**, und das Frontend liest anschließend aus dem eigenen Bestand. Was dafür im CMS liegen muss, ist schnell benannt — eine eigene Inhaltsart „Produkt“ mit genau den Feldern aus dem Mapping, die Bilder und Datenblätter in der Medienverwaltung des Systems, und die Artikelnummer aus dem PIM als Schlüssel. Über diesen Schlüssel erkennt der zweite Lauf ein Produkt wieder und aktualisiert es, statt eine Dublette anzulegen. Erst dadurch werden Produkte zu echten Seiten mit dauerhafter URL statt zu einem eingebetteten Fremdinhalt. Aktualität ist danach eine Frage von **Takt, Auslöser und Cache**. Ausgeliefert wird aus dem eigenen Bestand, also aus Cache oder statisch erzeugten Seiten — schnell und unabhängig davon, ob das PIM gerade erreichbar ist. Läuft der Import durch, nehmen wir gezielt die betroffenen Detailseiten und Listen aus dem Cache, statt die ganze Website zu leeren. Meldet das führende System eine Änderung als Ereignis, holen wir genau dieses eine Produkt nach; der geplante Lauf bleibt daneben als Grundsicherung bestehen. **Live abgefragt wird nur, was live sein muss** — und das ist bei Produktdaten selten mehr als ein Bestand oder ein persönlicher Preis, der ohnehin aus dem ERP kommt. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wo die Produkte am Ende liegen und was die Redaktion damit tun kann. cms-01typo3 ### PIM in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler und Fluid alles mit, was eine PIM-Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Inhaltsart „Produkt“ mit genau den Feldern und Relationen aus dem Mapping. Der Import läuft als Scheduler-Task, die Produkte liegen als Records in einem Systemordner, Bilder und Datenblätter in FAL. Zugangsdaten stehen in der Extension-Konfiguration und nie im Repository. Sprechende URLs kommen aus dem Site Handling, gerendert wird über Fluid. Mehrsprachigkeit läuft über die Sprachverwaltung von TYPO3 — jede Sprachvariante aus dem PIM landet in der zugehörigen Sprachfassung. Die Redaktion sieht die Produkte im Backend und pflegt eigene Texte in Feldern daneben, die der Import nicht anfasst. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### PIM in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Die Produkte werden ein Custom Post Type mit eigenen Meta-Feldern für die Attribute, dazu Taxonomien für Kategorien und für die Attribute, die später als Filter dienen sollen. Ein geplanter Lauf hält den Bestand nach, eine eigene Route nimmt Ereignismeldungen entgegen und stößt den Abgleich für genau ein Produkt an. Alle Aufrufe des PIM laufen serverseitig; der Schlüssel steht als Konstante in der wp-config.php und nie im Frontend. Fürs Frontend kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion Liste, Filter und Teaser dort platziert, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### PIM in Statamic Statamic läuft auf Laravel — Inhalte sind Entries in Collections, Bilder Assets in Containern. Für einen Produktimport ist dieser Unterbau angenehm direkt: Ein Blueprint beschreibt das Datenmodell mit allen Feldern aus dem Mapping, ein Artisan-Command holt die Produkte und schreibt sie als Entries in eine eigene Collection, der Laravel-Scheduler bestimmt den Takt. Route und Controller nehmen Ereignismeldungen entgegen und aktualisieren genau ein Produkt. Der Schlüssel liegt in der .env, Bilder und Datenblätter landen als Assets im eigenen Container. Antlers oder Blade rendern Liste, Filter und Detailseite, Static Caching liefert sie aus. Im Control Panel pflegt die Redaktion Texte und Reihenfolge in Feldern, die der Import nicht überschreibt. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Spiegeln oder live abfragen? zuordnung statt **rangliste** Fast jede Diskussion über eine PIM-Anbindung endet bei dieser Frage. Sie hat keine grundsätzliche Antwort, sondern eine pro Feld: Was darf ein paar Minuten alt sein, und was muss im Moment der Anzeige stimmen? An drei Mustern lässt sich das zuordnen. e-01spiegeln ### Wenn die Seite tragen muss Bezeichnung, Beschreibung, Attribute, Kategorien, Bilder, Datenblätter: Das sind Inhalte, keine Momentaufnahmen. Sie gehören ins CMS. Die Seite wird dadurch schnell, bleibt bei einer Störung des PIM vollständig lesbar, ist für Suchmaschinen erfassbar und lässt sich redaktionell ergänzen. inhalt · fester takt e-02live ### Wenn der Wert jetzt stimmen muss Bestand, Lieferzeit, ein kundenspezifischer Preis hinter dem Login: Diese Werte altern in Minuten — und kommen meist ohnehin nicht aus dem PIM, sondern aus dem ERP. Sie werden im Moment der Anzeige serverseitig geholt, mit kurzer Zwischenspeicherung, mit Zeitlimit und mit einer klar definierten Anzeige, falls keine Antwort kommt. abruf · serverseitig e-03kombination ### Wenn beides zusammen Sinn ergibt Der Regelfall bei Produktdaten: Die Seite wird aus dem gespiegelten PIM-Bestand gebaut und im Frontend um genau einen Live-Wert aus dem ERP ergänzt. Zwei Quellen, ein gemeinsamer Schlüssel, zwei unterschiedliche Takte. Ein Weg für die Substanz, ein Weg für den Moment. substanz + moment ### API oder Dateiexport? Die zweite Frage betrifft den Transportweg — und hier entscheidet meist das führende System mit. Eine **Schnittstelle** ist der feinere Weg: gezielte Abrufe nach Kategorie oder Änderungsdatum, kleine Datenmengen, enger Takt, sofort nach dem Ereignis. Sie setzt voraus, dass das PIM erreichbar ist und der Zugang sauber verwaltet wird. Ein **Dateiexport** ist der robustere Weg: Was im Verzeichnis liegt, lässt sich prüfen, versionieren und im Zweifel noch einmal einlesen. Er ist grobkörniger, dafür unbeeindruckt von Ausfällen und Zugriffslimits — und oft der einzige Weg, wenn im Haus nur ein Export vorgesehen ist. Vier Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Wie viele Produkte umfasst das Sortiment, und wie oft ändern sich Texte und Attribute? Welche Felder müssen wirklich auf die Website — und welche Attribute sollen filterbar sein? Wie viele Sprachen sind im Spiel? Und woher kommen Preis und Verfügbarkeit, wenn sie überhaupt gezeigt werden sollen? Danach steht das Mapping als Dokument, bevor gebaut wird. Welche Anbindung ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Texte, Attribute, Medien → **spiegeln** - ▸Kategorien & Sprachen → **spiegeln** - ▸Bestand, Lieferzeit → **live aus dem ERP** - ▸Preis hinter Login → **live aus dem ERP** faq ## Häufige Fragen ### Was ist ein PIM-System? Ein PIM — Product Information Management — ist das System, in dem Produktinformationen zentral gepflegt werden: Bezeichnungen, Beschreibungstexte, technische Attribute, Kategorien, Bilder, Datenblätter und Übersetzungen. Aus dieser einen Quelle werden anschließend alle Kanäle beliefert: die Website, der Shop, der gedruckte Katalog, Datenblätter für den Vertrieb und die Datenlieferungen an Handelspartner. Der Zweck ist immer derselbe: Ein Produkttext wird an einer Stelle geschrieben und überall gleich ausgespielt, statt in Tabellen, Präsentationen und Website-Feldern nebeneinander zu altern. ### Was ist der Unterschied zwischen PIM und ERP? Das ERP führt die kaufmännischen Daten, das PIM die beschreibenden. Im ERP liegen Artikelnummer, Preise, Bestände, Aufträge, Lieferanten und Buchhaltung — alles, was gerechnet und gebucht wird. Im PIM liegt, was das Produkt erklärt und verkauft: Marketingtexte, technische Attribute, Kategorien, Bilder, Videos, Datenblätter, Übersetzungen. Beide Systeme kennen dasselbe Produkt, aber über unterschiedliche Ausschnitte, und beide sind über die Artikelnummer verbunden. Für die Website heißt das in der Praxis: Der Text kommt aus dem PIM, Preis und Verfügbarkeit kommen aus dem ERP. Wer beides braucht, baut zwei Anbindungen mit einem gemeinsamen Schlüssel. ### Wie kommen Produktdaten aus dem PIM auf die Website? Über einen von drei Wegen, oft über zwei davon gleichzeitig. Erstens eine REST-Schnittstelle, die JSON liefert und über einen Schlüssel oder ein Token abgesichert ist — der bequemste Weg, weil sich gezielt einzelne Produkte, Kategorien oder Änderungen seit einem Zeitpunkt abrufen lassen. Zweitens ein Dateiexport: Das PIM legt CSV- oder XML-Dateien mit dem Sortiment in einem definierten Verzeichnis ab, die Website liest sie im festen Takt ein — robust, gut prüfbar und oft der einzige Weg, wenn das führende System nur exportieren kann. Drittens Webhooks oder Ereignismeldungen, die melden, dass sich ein Produkt geändert hat, und den gezielten Nachlauf auslösen. Welche Wege möglich sind, entscheidet das System; welcher genutzt wird, entscheiden wir im Konzept. ### Sollen Produktdaten live abgefragt oder in das CMS gespiegelt werden? Gespiegelt, als Grundregel. Die Website fragt das PIM nicht bei jedem Seitenaufruf, sondern holt die Produktdaten im festen Takt ab und legt sie im Datenmodell des CMS ab. Ausgeliefert wird danach aus dem eigenen Bestand. Das hält die Seiten schnell, macht sie unabhängig von der Erreichbarkeit des PIM und sorgt dafür, dass eine Wartung am führenden System keinen leeren Produktkatalog produziert. Live geholt wird nur, was live sein muss — typischerweise ein Bestand oder ein kundenspezifischer Preis, und der stammt meist ohnehin aus dem ERP. Diese Abfragen laufen serverseitig, mit kurzer Zwischenspeicherung und mit einer definierten Anzeige für den Fall, dass keine Antwort kommt. ### Warum ist das Feld-Mapping die eigentliche Arbeit? Weil die Struktur im PIM fast nie identisch ist mit dem, was die Website braucht. Im PIM stehen häufig mehrere hundert Attribute je Produkt, gruppiert nach Warengruppe; auf der Website braucht es davon einen bewussten Ausschnitt — die Felder für die Detailseite, die Felder für die Filter, die Felder für die Suche und die Felder für die strukturierten Daten. Im Mapping legen wir fest, welches Quellfeld auf welches Zielfeld geht, welche Einheit und welches Format gelten, was Pflicht ist, was leer bleiben darf und welche Attribute als Filter taugen. Dazu gehört ein stabiler Schlüssel, meist die Artikelnummer: Über ihn erkennt der zweite Lauf ein Produkt wieder und aktualisiert es, statt eine Dublette anzulegen. Das Mapping steht als Dokument, bevor gebaut wird. ### Wie oft werden die Produktdaten abgeglichen und was passiert mit entfallenen Produkten? Zweigleisig. Zur Ersteinrichtung läuft ein Vollabgleich, der das gesamte Sortiment in das CMS schreibt. Im Betrieb laufen danach Teilabgleiche, die nur Produkte holen, die sich seit dem letzten Lauf geändert haben — das hält die Übertragung klein und den Takt eng. Ein regelmäßiger Vollabgleich bleibt als Grundsicherung daneben bestehen, damit verpasste Änderungen nicht dauerhaft hängen bleiben. Für entfallene Produkte gilt eine eigene Regel: Was im PIM verschwindet oder auf inaktiv gesetzt wird, wird auf der Website nicht still gelöscht, sondern als entfallen gekennzeichnet. Die URL bleibt bestehen, verweist auf den Nachfolger oder wird sauber umgeleitet — sonst entstehen mit jedem Abgleich neue Fehlerseiten. ### Lässt sich ein PIM in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien. Die Anbindung bauen wir in jedem System selbst, mit dessen eigenen Bordmitteln. In TYPO3 entsteht eine eigene Extension: Das TCA beschreibt das Datenmodell, der Import läuft als Scheduler-Task, die Produkte liegen als Records in einem Systemordner, die sprechenden URLs kommen aus dem Site Handling, gerendert wird über Fluid. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type mit Meta-Feldern für die Produktdaten, Taxonomien für Kategorien und Attribute, ein geplanter Lauf für den Abgleich, dazu Template-Dateien und Blöcke für das Frontend. In Statamic liegt Laravel darunter: ein Blueprint als Datenmodell, ein Artisan-Command im Scheduler, die Produkte als Entries in einer Collection, Bilder und Datenblätter im Assets-Container, gerendert mit Antlers oder Blade. Die Mechanik bleibt dieselbe — nur der Ort, an dem die Produkte liegen, ist ein anderer. ### Funktioniert die PIM-Anbindung auch mehrsprachig? In der Regel ja — bei PIM-Anbindungen ist Mehrsprachigkeit der Regelfall und nicht die Ausnahme. Genau dafür wird ein PIM häufig eingeführt: Übersetzungen liegen dort als Sprachvarianten am Produkt, gepflegt von Übersetzern oder Landesgesellschaften. Der Abgleich holt je Sprache die passende Variante und schreibt sie in die entsprechende Sprachfassung des CMS, sodass jede Sprache ihre eigene URL bekommt und über die Sprachverwaltung des Systems mit den anderen verknüpft ist. Wichtig ist die Zuordnung der Sprachkennungen: Was im PIM als Sprache oder Kanal geführt wird, muss eindeutig auf eine Sprache der Website zeigen. Für nicht übersetzte Felder braucht es eine festgelegte Regel — Ausgangssprache anzeigen oder Feld weglassen. womit das zusammenhängt ## Womit das zusammenhängt systeme, frontend & **leistung** - [weclapp.](https://www.siteway.de/stack/weclapp/) — Die kaufmännische Seite: Cloud-ERP mit CRM, aus dem Preise, Bestände und Aufträge kommen — der Gegenpol zum PIM. zur technik → - [SAP.](https://www.siteway.de/stack/sap/) — Das ERP in der großen Ausbaustufe: andere Größenordnung, dieselbe Frage — welche Daten gehören auf die Website und in welchem Takt? zur technik → - [CADENAS.](https://www.siteway.de/stack/cadenas/) — Der Nachbar für technische Daten: CAD-Modelle und Konfiguration zum Download, ergänzend zu den beschreibenden Daten aus dem PIM. zur technik → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Was aus den Produktdaten im Frontend wird: Liste mit Filter, Detailseite, Datenblatt — buchbar als Komponente. zur leistung → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Wenn aus der Auswahl eine Bestellung wird: Warenkorb, Checkout und der Auftrag, der zurück ins ERP läuft. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Produktdaten aus dem PIM auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Pipedrive **Pipedrive** ist ein CRM, das nicht um die Datenbank gebaut ist, sondern um die Vertriebs-Pipeline: Ein Deal wandert durch Stufen, bis er gewonnen oder verloren ist. Für siteway heißt das: Eine Anfrage von der Website ist selten nur ein Kontakt — sie wird zu **Person**, **Organisation** und **Deal** in der richtigen Stufe. Diese Seite beschreibt, wie wir das über die dokumentierte REST-API bauen. stack system: pipedrive · vertriebs-crm weg: rest-api · webhooks format: json seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Pipedrive anbinden](#einsatz) definition ## Was ist Pipedrive? **Pipedrive ist ein cloudbasiertes CRM mit einem sehr klaren Schwerpunkt: dem Vertrieb.** Die Schaltzentrale ist die Pipeline — eine Abfolge von Stufen, durch die ein Vorgang läuft, bis er gewonnen oder verloren ist. Entstanden ist das System 2010 in Estland, gegründet von Vertrieblern, denen die damaligen Werkzeuge zu sehr nach Berichtswesen und zu wenig nach Verkaufen aussahen. Diese Herkunft merkt man dem Produkt bis heute an. Die typischen Anwender sind **kleine und mittlere Vertriebsteams**: ein paar Leute, die wissen müssen, welche Chance als Nächstes Aufmerksamkeit braucht. Nicht der Konzern-Vertrieb mit dreistufiger Freigabekette, sondern das Team, das Anfragen schnell in einen Prozess bekommen will. Für eine Website ist ein Punkt entscheidend: Pipedrive **dokumentiert seine REST-API öffentlich**. JSON als Format, Authentifizierung per API-Token oder OAuth 2.0, benutzerdefinierte Felder, Webhooks. Wer eine Anbindung bauen will, muss weder raten noch verhandeln — es steht in der Entwicklerdokumentation. Genau das macht die Schnittstelle zu einer planbaren Leistung statt zu einem Versprechen. $ cat pipedrive.md - ✓Vertriebs-CRM cloud · browser - ✓Pipeline & Stufen deal bis gewonnen - ✓REST-API json · öffentlich doku. - ✓Zugang api-token · oauth 2.0 - ✓Eigene Felder schlüssel je konto - ✓Webhooks ereignis statt abfrage ### Die vier Objekte, auf die es ankommt Wer eine Anbindung plant, muss Pipedrives Datenmodell kennen — sonst landet alles in einem einzigen Feld. Eine **Person** ist der konkrete Ansprechpartner, eine **Organisation** das Unternehmen, in dem diese Person arbeitet. Ein **Deal** ist laut Dokumentation ein laufender Vorgang mit einer Person oder einer Organisation, der durch die Stufen einer Pipeline geführt wird, bis er gewonnen oder verloren ist. Eine **Aktivität** ist eine Handlung auf dem Weg dorthin: Anruf, Termin, Aufgabe. Daneben steht der **Leads-Eingang** — ein eigener Posteingang für vorqualifizierte, noch nicht in die Pipeline übernommene Anfragen. Ein Lead muss dabei laut Dokumentation immer mit einer Person oder einer Organisation verknüpft sein und lässt sich später in einen Deal überführen. Daraus folgt die wichtigste Erkenntnis für jede Formularstrecke: **Ein Website-Lead ist selten „ein Kontakt".** In der Regel entstehen mehrere verbundene Objekte auf einmal — Person, im Geschäftskundenfall zusätzlich Organisation, dazu ein Deal in einer bestimmten Stufe und häufig eine Aktivität als Wiedervorlage. Welche davon ein bestimmtes Formular erzeugt, gehört ins Konzept, nicht in den Code. ein formular → mehrere objekte - ▸**Person** — der Ansprechpartner - ▸**Organisation** — sein Unternehmen - ▸**Deal** — in Pipeline und Stufe - ▸**Aktivität** — die Wiedervorlage - ▸**Eigene Felder** — Herkunft & Kontext [formularstrecken als leistung →](https://www.siteway.de/expertise/formularstrecken/) praxis ## Wie wir Pipedrive anbinden serverseitig · **nie im browser** Die erste Entscheidung fällt vor der ersten Zeile Code, und sie ist keine Geschmacksfrage: **Das Formular gehört der Website, nicht dem CRM.** Es entsteht im eigenen Design, mit den eigenen Feldern, der eigenen Fehlerdarstellung und in derselben Barrierefreiheit wie der Rest der Seite. Eingebettete Fremdformulare bringen fremdes Layout, fremdes Ladeverhalten und fremde Datenflüsse mit — alles drei will man an genau der Stelle nicht, an der eine Anfrage entsteht. Dahinter steht ein **serverseitiger Endpunkt** auf der eigenen Domain. Er nimmt die Eingaben entgegen, prüft sie, hält das API-Token und spricht als Einziger mit Pipedrive. Damit verlässt der Schlüssel nie den Server, und die Übergabe lässt sich protokollieren, wiederholen und im Zweifel abschalten, ohne die Seite anzufassen. Ein Formular, das direkt aus dem Browser an ein CRM sendet, gibt sein Token an jeden weiter, der die Entwicklerkonsole öffnet. Dann folgt das **Mapping** — die eigentliche Arbeit. Welches Formularfeld wird zur Person, welches zur Organisation, was landet im Deal-Titel, in welche **Pipeline und Stufe** geht der Vorgang, und wer wird Eigentümer? Beim Anlegen eines Deals sind laut Dokumentation unter anderem Titel, Wert, Währung, verknüpfte Person, verknüpfte Organisation, Pipeline, Stufe und Besitzer vorgesehen — die Zuordnung steht als Dokument, bevor gebaut wird. Ein Punkt, der in Angeboten fast immer fehlt und im Betrieb sofort auffällt: die **Herkunft der Anfrage**. Welches Formular, welche Seite, welche Kampagne — als benutzerdefiniertes Feld mitgegeben, damit im CRM nachvollziehbar bleibt, woraus dieser Lead entstanden ist. Ohne dieses Feld sitzt der Vertrieb vor einer Liste gleich aussehender Anfragen und das Marketing kann nicht beantworten, was funktioniert hat. Danach die **Dublettenprüfung**. Dieselbe Person schickt ein Formular zweimal ab — das ist der Normalfall, nicht die Ausnahme. Deshalb sucht der Endpunkt vor dem Anlegen, findet die Person über ihre E-Mail-Adresse und aktualisiert sie, statt einen zweiten Datensatz zu erzeugen. Was mit dem Deal geschieht, ist eine Absprache mit dem Vertrieb: ein neuer Vorgang oder eine Notiz am bestehenden. Und zuletzt der Teil, an dem sich eine Anbindung entscheidet: **der Fehlerfall**. Die Anfrage wird zuerst auf dem eigenen Server gesichert und erst danach übergeben. Antwortet Pipedrive nicht, langsam oder mit einem Fehler, wird protokolliert und mit Abstand erneut versucht; zusätzlich geht die Anfrage per E-Mail raus. Kein Lead darf verloren gehen, nur weil ein fremdes System gerade eine schlechte Minute hat. Die buchbare Leistung dahinter steht unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Formular **im eigenen Design**, nicht eingebettet - 02Token **serverseitig**, nie im Browser - 03Erst das **Feld-Mapping**, dann der Code - 04**Herkunft** als eigenes Feld mitgeben - 05**Suchen**, bevor angelegt wird - 06Lead **zuerst sichern**, dann übergeben [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Entwicklerdokumentation von Pipedrive — Adressen, Parameter und Bezeichnungen im Original. Wo die Dokumentation Zahlen nennt, stehen sie hier; wo sie keine nennt, steht auch hier keine. d-01zugang ### API-Token & OAuth Zwei Wege sind dokumentiert. Das API-Token geht im Header x-api-token mit; es gehört zu einem Nutzer in einer Firma, es gibt nur ein aktives, und es liegt in den Unternehmenseinstellungen unter den persönlichen Einstellungen. Der zweite Weg ist OAuth 2.0 mit einem Access-Token im Authorization-Header. Für eine Website-Anbindung reicht meist ein eigenes Token — auf einem eigenen Nutzer, nicht auf dem des Vertriebsleiters. zweck: authentifizierung d-02adressen ### REST & JSON Die Basis-Adresse enthält die eigene Firmen-Subdomain und hat in Version 2 die Form https://{COMPANYDOMAIN}.pipedrive.com/api/v2; die Objekttypen stehen in der Mehrzahl dahinter, etwa /api/v2/deals. Dokumentiert sind GET, POST, PUT, PATCH und DELETE, der Content-Type ist application/json, und alle Anfragen laufen über HTTPS. Version 2 nimmt ausschließlich JSON-Rümpfe entgegen. zweck: transport d-03der deal ### Deal in Pipeline & Stufe Beim Anlegen eines Deals ist der Titel Pflicht; optional sind laut Dokumentation unter anderem Wert und Währung, die verknüpfte Person und Organisation, Pipeline und Stufe, der Besitzer, der Status, die Wahrscheinlichkeit, das erwartete Abschlussdatum, Labels und ein Objekt für benutzerdefinierte Felder. Damit landet eine Website-Anfrage nicht irgendwo, sondern genau in der Stufe, die der Vertrieb dafür vorgesehen hat. zweck: vorgang anlegen d-04eigene felder ### Benutzerdefinierte Felder Hier stolpern die meisten Anbindungen. Benutzerdefinierte Felder tragen keine sprechenden Namen, sondern zufällig erzeugte Kennungen aus 40 Zeichen — und die unterscheiden sich von Konto zu Konto. In den Datenfeld-Einstellungen lässt sich der API-Schlüssel eines Feldes über das Dreipunkt-Menü kopieren. Dokumentiert sind 16 Feldtypen, von Text über Geldbetrag und Auswahl bis Datum, Zeitraum und Adresse. zweck: kontext & herkunft d-05rückweg ### Webhooks Pipedrive kann Änderungen selbst melden, statt abgefragt zu werden: ein POST mit JSON an eine öffentlich erreichbare Adresse, gefiltert nach Aktion (added, deleted, merged, updated) und Objekt (unter anderem deal, person, organization, activity, stage). Der Endpunkt lässt sich per HTTP-Basic-Auth absichern. Erwartet wird ein 2XX; sonst wird nach 3, 30 und 150 Sekunden erneut zugestellt. zweck: crm meldet sich d-06grenzen ### Rate Limits Die API rechnet mit einem täglichen Token-Budget: 30.000 Basis-Token, multipliziert mit dem Faktor des gebuchten Tarifs und der Zahl der Sitzplätze. Dazu kommen kurzfristige Grenzen in einem rollierenden Zwei-Sekunden-Fenster je Nutzer. Ist das Budget aufgebraucht, kommt der Status 429; Kopfzeilen wie x-ratelimit-remaining zeigen den Stand. Für ein Formular ist das unkritisch — für einen Massenabgleich nicht. zweck: sparsam abfragen ### Dublettenprüfung und Fehlerbehandlung Zwei Dinge entscheiden darüber, ob eine Anbindung nach drei Monaten noch Freude macht. Das erste ist die **Dublettenprüfung**. Die Personen-Suche der API durchsucht laut Dokumentation Name, E-Mail, Telefon, Notizen und benutzerdefinierte Felder; sie ist ein Aufruf mit engerem Berechtigungsumfang auf die allgemeine Objektsuche. Mit der Einstellung für die exakte Übereinstimmung zählt nur der vollständige Treffer, unabhängig von Groß- und Kleinschreibung. In Version 2 heißt diese Einstellung nicht mehr Schalter, sondern Textwert — ein kleines Detail, das eine ältere Anbindung stillschweigend anders arbeiten lässt. Das zweite ist die **Fehlerbehandlung**. Eine Übergabe kann aus vielen Gründen scheitern: Zeitüberschreitung, Wartungsfenster, aufgebrauchtes Token-Budget, ein Feld, das im CRM umbenannt wurde. Deshalb gilt die Reihenfolge: erst sichern, dann übergeben. Fehlgeschlagene Übergaben landen in einer Warteschlange und werden mit wachsendem Abstand wiederholt; die Anfrage geht parallel per E-Mail raus, und der Absender sieht davon nichts. Auch der Rückweg gehört durchdacht — **Webhooks** melden zurück, wenn ein Deal im CRM die Stufe wechselt oder gewonnen wird, und die Website kann daraus etwas machen: eine Bestätigung, einen Status im Kundenbereich, eine Auswertung. Bleibt die **Qualität der Daten**. Ein Pflichtfeld, das niemand braucht, kostet Abschlüsse; ein fehlendes Feld kostet Zeit im Vertrieb. Deshalb entsteht das Formular gemeinsam mit denen, die später damit arbeiten — mehr dazu in [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) und bei [Lead-Magnet-Formularen](https://www.siteway.de/expertise/lead-magnet-formulare/). der weg einer anfrage - 01Formular abgeschickt, **validiert** - 02Lead **lokal gesichert** - 03Person **gesucht**, nicht doppelt angelegt - 04Deal in **Pipeline & Stufe** - 05Herkunft im **eigenen Feld** - 06Fehler → **Wiederholung** + E-Mail integration ## Pipedrive in deine Website integrieren drei systeme · **ein muster** Die Anbindung bauen wir in jedem System selbst — mit den Bordmitteln, die das CMS dafür mitbringt. Der Weg ist überall derselbe und ist bewusst systemunabhängig gedacht: Das **Formular liegt im CMS**, gepflegt von der Redaktion, gestaltet wie der Rest der Seite. Abgeschickt wird an einen **serverseitigen Endpunkt** auf derselben Domain. Dort werden die Eingaben validiert, auf die Pipedrive-Objekte abgebildet und als **Person, Organisation und Deal** in die vereinbarte Pipeline-Stufe übergeben, begleitet von den benutzerdefinierten Feldern für Herkunft und Kontext. Das Token liegt in der Konfiguration des Servers und wird nie ausgeliefert. Der letzte Schritt ist die **Rückmeldung an den Absender** — und die soll ehrlich sein. Der Endpunkt antwortet mit dem, was tatsächlich passiert ist: angenommen, angenommen und in Bearbeitung, oder mit einem konkreten Hinweis, welches Feld nicht gepasst hat. Ist Pipedrive gerade nicht erreichbar, sieht der Absender trotzdem eine Bestätigung, denn seine Anfrage ist gesichert und wird nachgeliefert. Dazu kommen die Bestätigungs-E-Mail und die Weiterleitung auf eine eigene Danke-Seite, die sich als Ziel messen lässt. Welches CMS darunter arbeitet, ändert an dieser Kette nichts — nur daran, wo Formular, Route und Token liegen. cms-01typo3 ### Pipedrive in TYPO3 In TYPO3 entsteht die Anbindung als eigene Extension. Das Formular wird zum Plugin-Element, das die Redaktion auf jeder Seite platziert und dessen Felder sich pro Einsatzort konfigurieren lassen — ein Kontaktformular und ein Rückrufwunsch dürfen unterschiedlich aussehen und trotzdem im selben Deal-Prozess landen. Die Übergabe an Pipedrive läuft über eine serverseitige Route mit eigener Middleware, die den Aufruf validiert, protokolliert und im Fehlerfall zur Wiederholung einreiht. Das API-Token liegt in der Extension-Konfiguration und damit in der Server-Umgebung, nicht im Frontend. Gerendert wird mit Fluid: Formular, Fehlerdarstellung und Bestätigung als Templates, die sich in das Design der Seite einfügen statt daneben zu stehen. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Pipedrive in WordPress In WordPress bauen wir ein eigenes Plugin statt Theme-Code — so übersteht die Anbindung einen Theme-Wechsel und einen Relaunch des Designs. Eine eigene REST-Route nimmt die Formulardaten entgegen, prüft sie serverseitig und übergibt sie an Pipedrive; dieselbe Route dient als Empfänger für eingehende Webhooks, wenn das CRM eine Änderung zurückmelden soll. Das Token liegt in der wp-config.php oder in einer Umgebungsvariablen und wird nie an den Browser ausgeliefert. Fürs Frontend kommen Template-Dateien und Blöcke für den Editor dazu, damit die Redaktion das Formular dort einsetzt, wo es hingehört, und Feldbeschriftungen ändern kann, ohne einen Entwickler zu brauchen. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Pipedrive in Statamic Unter Statamic arbeitet Laravel — und damit steht der ganze Werkzeugkasten bereit, den eine saubere Übergabe braucht. Eine Route mit zugehörigem Controller nimmt das Formular entgegen, ein Blueprint beschreibt das Formularmodell mit seinen Feldern und Pflichtangaben, sodass Redaktion und Code dieselbe Definition benutzen. Das API-Token steht in der .env und bleibt außerhalb des Repositorys. Fehlgeschlagene Übergaben wandern in eine Warteschlange und werden vom Scheduler erneut versucht. Gerendert wird mit Antlers oder Blade, Bestätigung und Fehlerdarstellung inklusive; im Control Panel sieht die Redaktion die eingegangenen Anfragen und den Zustellstatus. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Datenschutz bei der CRM-Anbindung datensparsam · **nachvollziehbar** Bei einer CRM-Anbindung fließen von der ersten Zeile an **personenbezogene Daten** — Name, E-Mail, Telefonnummer, oft dazu ein Freitext, in dem Menschen erstaunlich viel über sich erzählen. Das ist kein technisches Randthema, sondern der Kern der Aufgabe. Wer im Verhältnis wer ist, lässt sich klar benennen: Der Betreiber der Website ist Verantwortlicher, der CRM-Anbieter verarbeitet in seinem Auftrag. Pipedrive stellt dafür ein Data Processing Addendum bereit und führt eine Liste der eingesetzten Unterauftragsverarbeiter. Praktisch wird daraus **Datensparsamkeit**. Jedes Pflichtfeld muss sich begründen lassen — nicht mit „könnte man mal brauchen", sondern mit einem konkreten Schritt im Vertriebsprozess. Was nicht gebraucht wird, wird nicht abgefragt und schon gar nicht übertragen. Dieselbe Regel gilt für das, was der Server zusätzlich mitschickt: Die Herkunft einer Anfrage gehört ins CRM, ein vollständiges Bewegungsprofil des Besuchers nicht. Die **Einwilligung** steht am Formular, nicht im Kleingedruckten: verständlich formuliert, ohne Vorauswahl, mit Verweis auf die Datenschutzerklärung, in der das Zielsystem benannt ist. Und sie wird dokumentiert — Zeitpunkt und Textstand — damit später niemand raten muss, worin genau eingewilligt wurde. Technisch bleiben drei Punkte nicht verhandelbar: **Das Token liegt auf dem Server** und nie im ausgelieferten Quelltext, die Übertragung läuft ausschließlich über HTTPS, und eingehende Webhook-Aufrufe werden geprüft, bevor sie irgendetwas auslösen. Dazu kommen Löschfristen für die lokal gesicherten Anfragen: Was übergeben und verarbeitet ist, muss auf dem Webserver nicht dauerhaft liegen bleiben. Wie wir das grundsätzlich handhaben, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). nicht verhandelbar - ✓Token **serverseitig** - ✓Übertragung **nur über HTTPS** - ✓**Auftragsverarbeitung** vertraglich geregelt - ✓Einwilligung **dokumentiert** - ✓Nur Felder, die **gebraucht werden** - ✓**Löschfristen** festgelegt faq ## Häufige Fragen ### Was ist Pipedrive? Pipedrive ist ein cloudbasiertes CRM, das um die Vertriebs-Pipeline herum gebaut ist: Ein Deal wandert durch die Stufen einer Pipeline, bis er gewonnen oder verloren ist. Entstanden ist das System 2010 in Estland, gegründet von Vertrieblern für Vertriebler. Die typischen Anwender sind kleine und mittlere Vertriebsteams, die einen klaren Blick auf ihre offenen Chancen brauchen und kein Auswertungswerkzeug für die Geschäftsführung. Für die Website zählt vor allem eines: Pipedrive dokumentiert seine REST-API öffentlich, mit JSON als Format, benutzerdefinierten Feldern und Webhooks. ### Wie kommen Leads von der Website nach Pipedrive? Über ein eigenes Formular im Design der Website und einen serverseitigen Endpunkt dahinter. Der Browser schickt die Eingaben an die eigene Domain, dort werden sie validiert, gegen automatisierte Einsendungen geprüft und auf die Objekte der Pipedrive-API abgebildet. Erst der Server spricht mit Pipedrive: Er hält das Token, setzt Pipeline und Stufe und wertet die Antwort aus. Der Absender bekommt danach eine Rückmeldung, die zum Ergebnis passt. Ein Formular, das direkt aus dem Browser mit dem CRM spricht, bauen wir nicht — das Token wäre für jeden lesbar, der die Seite öffnet. ### Welche Objekte entstehen in Pipedrive aus einem Formular? Selten nur ein Kontakt. Pipedrive kennt Personen als die konkreten Ansprechpartner und Organisationen als die Unternehmen, in denen diese Personen arbeiten. Ein Deal ist laut Dokumentation ein laufender Vorgang mit einer Person oder einer Organisation, der durch die Stufen einer Pipeline läuft, bis er gewonnen oder verloren ist. Eine Aktivität ist eine Handlung auf dem Weg dorthin, etwa ein Anruf, ein Termin oder eine Aufgabe. Aus einer Anfrage wird deshalb meist eine Person, im Geschäftskundenfall zusätzlich eine Organisation, dazu ein Deal in einer festgelegten Pipeline-Stufe und oft eine Aktivität als Wiedervorlage. Alternativ nimmt der Leads-Eingang vorqualifizierte Anfragen auf, die später in einen Deal überführt werden. ### Wie funktioniert die Pipedrive-API? Sie ist eine REST-API mit JSON. Die Basis-Adresse enthält die eigene Firmen-Subdomain und hat in Version 2 die Form https://{COMPANYDOMAIN}.pipedrive.com/api/v2, die Objekttypen stehen in der Mehrzahl dahinter, etwa /api/v2/deals. Alle Anfragen laufen laut Dokumentation über HTTPS, der Content-Type ist application/json. Authentifiziert wird entweder mit einem API-Token im Header x-api-token — das Token gehört zu einem Nutzer in einer Firma und liegt in den Unternehmenseinstellungen unter den persönlichen Einstellungen — oder über OAuth 2.0 mit einem Access-Token im Authorization-Header. Benutzerdefinierte Felder tragen dabei keine sprechenden Namen, sondern zufällig erzeugte Kennungen aus 40 Zeichen, die sich von Konto zu Konto unterscheiden. ### Was passiert, wenn dieselbe Person das Formular zweimal abschickt? Dann darf im CRM kein zweiter Datensatz entstehen. Vor dem Anlegen sucht der Endpunkt deshalb erst. Die Personen-Suche der API durchsucht laut Dokumentation Name, E-Mail, Telefon, Notizen und benutzerdefinierte Felder, und mit der Einstellung für die exakte Übereinstimmung zählt nur der vollständige Treffer, unabhängig von Groß- und Kleinschreibung. Wird die Person über ihre E-Mail-Adresse gefunden, aktualisieren wir sie, statt sie neu anzulegen. Ob daneben ein zweiter Deal entsteht oder der bestehende nur eine Notiz bekommt, ist eine Absprache mit dem Vertrieb und keine technische Frage: Beides ist umsetzbar, aber nur eines passt zum Prozess. ### Was passiert, wenn Pipedrive beim Absenden nicht erreichbar ist? Dann ist der Lead trotzdem gesichert. Die Anfrage wird zuerst auf dem eigenen Server abgelegt und erst danach an Pipedrive übergeben. Scheitert die Übergabe, wird sie protokolliert und mit Abstand erneut versucht; parallel geht die Anfrage per E-Mail an das Postfach, das ohnehin gelesen wird. Denselben Umgang verlangen die Rate Limits: Pipedrive rechnet laut Dokumentation mit einem täglichen Token-Budget und zusätzlich mit kurzfristigen Grenzen in einem rollierenden Zwei-Sekunden-Fenster; ist das Budget aufgebraucht, antwortet die API mit dem Status 429. Ein Formular, das darauf mit einer Fehlermeldung an den Absender reagiert, verliert eine Anfrage. Ein Formular, das den Vorgang einreiht und später zustellt, nicht. ### Was ist bei einer Pipedrive-Anbindung datenschutzrechtlich zu beachten? Es geht um personenbezogene Daten, und zwar ab dem ersten Tastendruck im Formular. Drei Punkte sind nicht verhandelbar: Das Token liegt auf dem Server und nie im Frontend, übertragen wird ausschließlich über HTTPS, und das Formular fragt nur ab, was der Vertrieb wirklich braucht — jedes Pflichtfeld muss sich begründen lassen. Dazu kommen eine saubere Einwilligung mit Hinweis auf die Verarbeitung im CRM, eine Datenschutzerklärung, die das Zielsystem benennt, und ein Auftragsverarbeitungsvertrag mit dem Anbieter. Pipedrive stellt dafür ein Data Processing Addendum bereit und führt eine Liste der eingesetzten Unterauftragsverarbeiter. Auch Löschfristen gehören festgelegt: Eine Anfrage, aus der nie etwas wurde, muss nicht dauerhaft im System stehen bleiben. ### Lässt sich Pipedrive in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien — und zwar als eigene Entwicklung mit den Bordmitteln des jeweiligen Systems. In TYPO3 bauen wir eine eigene Extension: das Formular als Plugin-Element, eine serverseitige Route mit Middleware für die Übergabe, Fluid für die Ausgabe und das Token in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code, damit die Anbindung einen Theme-Wechsel übersteht: eine eigene REST-Route nimmt die Übergabe entgegen, das Token liegt in der wp-config.php oder in einer Umgebungsvariablen, ausgegeben wird über Template-Dateien und Blöcke für den Editor. In Statamic arbeitet Laravel darunter: Route plus Controller für die Übergabe, ein Blueprint als Modell des Formulars, das Token in der .env, gerendert mit Antlers oder Blade. Die Mechanik ist überall dieselbe, nur die Werkzeuge heißen anders. womit das zusammenhängt ## Womit das zusammenhängt systeme, formulare & **leistung** - [HubSpot.](https://www.siteway.de/stack/hubspot/) — Die Plattform aus CRM, Marketing und Service — anderes Datenmodell, dieselbe Frage: Was gehört ins CRM und was bleibt auf der Website? zur technik → - [Salesforce.](https://www.siteway.de/stack/salesforce/) — Das CRM für größere Vertriebsorganisationen: mehr Objekte, mehr Regeln, mehr Abstimmung — und deshalb ein umso wichtigeres Mapping. zur technik → - [Brevo.](https://www.siteway.de/stack/brevo/) — Wenn aus dem Lead ein Newsletter-Empfänger wird: E-Mail-Marketing neben dem CRM, mit eigener Einwilligung und eigener Liste. zur technik → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Das Formular davor: Feldlogik, Mehrschrittigkeit, Validierung, Barrierefreiheit und eine Bestätigung, die tatsächlich bestätigt. zur leistung → - [Lead-Magnet-Formulare.](https://www.siteway.de/expertise/lead-magnet-formulare/) — Der Anlass für die Anfrage: Whitepaper, Checkliste, Rechner — und der Weg vom Download in einen Vertriebsprozess. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Feld-Mapping, Umsetzung, Test auf Staging, Monitoring und Betrieb. Hier wird gebucht. zur leistung → Leads aus dem Formular direkt nach Pipedrive? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # PriceHubble **PriceHubble** ist ein Anbieter datenbasierter Immobilienbewertung: Ein statistisches Modell schätzt aus Marktdaten und Objektmerkmalen, was eine Wohnung oder ein Haus wert ist — abrufbar über eine REST-API. Auf einer Makler-Website wird daraus die Online-Wertermittlung: ein paar Felder, eine Wertspanne, ein qualifizierter Kontakt. siteway baut diese Strecke serverseitig — mit den Zugangsdaten dort, wo sie hingehören, und einem Datenschutzkonzept, das der Sache angemessen ist. stack stack: pricehubble · avm-api einsatz: online-wertermittlung · lead-strecke protokoll: rest · json · bearer seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir PriceHubble einbinden](#einsatz) definition ## Was ist PriceHubble? **PriceHubble ist ein Anbieter datenbasierter Immobilienbewertung mit Sitz in Zürich, gegründet 2016. Im Zentrum steht ein Automated Valuation Model — kurz AVM: ein statistisches Modell, das aus Marktdaten und Objektmerkmalen einen Wert schätzt, statt einen Gutachter vor Ort zu schicken.** Das Ergebnis ist kein Verkehrswertgutachten und will auch keines sein. Es ist eine Einordnung, schnell und in großer Zahl reproduzierbar. Gespeist wird das Modell aus einer eigenen Datenbank zu Wohnimmobilien. Der Anbieter beschreibt seinen Anspruch selbst so, jede Art von Daten zu sammeln und auszuwerten, die auch nur entfernt mit dem Wohnimmobilienmarkt zu tun hat — Angebots- und Transaktionsdaten, Lage- und Infrastrukturmerkmale, sozioökonomische Kennzahlen. Nach eigenen Angaben ist das Unternehmen nach ISO/IEC 27001:2022 zertifiziert und lässt das Bewertungsmodell nach dem Prüfrahmen ISAE 3000 auditieren. Zielgruppen sind Makler und Vermittler, Banken, Kreditgeber und Versicherer sowie Investoren und Verwalter. Für eine Website zählt vor allem eines: Es gibt eine **REST-API**. Bewertung, Vergleichsobjekte und Umfelddaten lassen sich abrufen und im eigenen Layout darstellen — statt eine fremde Oberfläche in die Seite zu setzen. Damit wird PriceHubble zu einer [Schnittstelle wie jede andere](https://www.siteway.de/expertise/schnittstellen-integration/): Sie hat eine Authentifizierung, ein Datenmodell, Grenzen und Fehlerfälle. Welche Märkte und Länder die Bewertung abdeckt und welche Endpunkte im eigenen Vertrag enthalten sind, klärt man vor dem Projekt beim Anbieter — das unterscheidet sich von Kunde zu Kunde. $ cat pricehubble.md - ✓AVM automated valuation model - ✓Kauf & Miete dealType: sale · rent - ✓REST-API json · bearer-token - ✓Wertspanne lower · upper - ✓Verlässlichkeit poor · medium · good - ✓Umfelddaten lage · poi · marktzahlen praxis ## Wie wir PriceHubble einbinden schlüssel auf den **server** Die Wertermittlung entsteht als **eigene Strecke über die REST-API**: vorne eine Formularstrecke im Design deiner Website, dahinter ein eigener Endpunkt auf deinem Server. Gestaltung, Feldreihenfolge und Consent-Verhalten liegen damit bei dir, und das Ergebnis fügt sich in die Seite ein, statt daneben zu stehen. Die Oberfläche gehört dir — und mit ihr der Lead, der daraus entsteht. Gebaut wird sie über einen **serverseitigen Proxy**. Die Zugangsdaten liegen in der Server-Konfiguration, nie im JavaScript-Bundle. Der Browser schickt die Formularangaben an einen eigenen Endpunkt der Website; der spricht mit PriceHubble und gibt nur das Ergebnis zurück. Die Anmeldung läuft laut Herstellerdokumentation über einen Aufruf gegen auth/login/credentials, der ein Zugriffstoken mit zwölf Stunden Gültigkeit liefert; anschließend geht jede Anfrage mit einem Authorization: Bearer-Header an die versionierte Basis-URL. Dieses Token halten wir vor, statt es bei jedem Aufruf neu zu holen — die Dokumentation warnt ausdrücklich davor, dass zu viele Anmeldungen eine zeitweilige Sperre auslösen. Genau dasselbe Muster nutzen wir bei unseren [eigenen Tools](https://www.siteway.de/tools/domain-check/): Der Browser sieht die fremde API nie. Vorne steht die **Formularstrecke**, und die halten wir kurz. Adresse, Objektart, Wohnfläche, Baujahr — mehr braucht das Modell für eine erste Einordnung nicht. Wir teilen das in wenige Schritte mit sichtbarem Fortschritt, prüfen jede Eingabe direkt am Feld und noch einmal auf dem Server, und wir fragen die **Kontaktdaten zuletzt** — wenn die Objektangaben stehen und das Ergebnis unmittelbar bevorsteht. Wer den Kontakt vor die Rechenstrecke stellt, verliert die Hälfte der Leute im ersten Schritt. Wie wir solche Strecken grundsätzlich schneiden, steht unter [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/) und [Lead-Magnet-Formulare](https://www.siteway.de/expertise/lead-magnet-formulare/). Das **Ergebnis zeigen wir sofort**, auf derselben Seite, als Spanne mit der Verlässlichkeitsangabe des Modells — nicht als Punktwert und nicht erst nach Rückruf. Parallel geht der Lead dorthin, wo er bearbeitet wird: ins [Makler-CRM](https://www.siteway.de/stack/onoffice/), mit Feld-Mapping, Fehlerbehandlung und Protokoll. Und weil eine Wertermittlung technisch eine Rechenstrecke mit Ergebnisseite ist, gilt für sie dasselbe Baumuster wie für [Konfiguratoren](https://www.siteway.de/expertise/konfiguratoren/): Zustand im Server führen, Ergebnis reproduzierbar halten, jede Annahme benennen. unsere leitplanken - 01Zugangsdaten **nur auf dem Server** - 02Token **vorhalten**, nicht pro Aufruf holen - 03Validierung **am Feld und am Server** - 04Kontaktabfrage **zuletzt** - 05Ergebnis als **Spanne**, sofort sichtbar - 06Lead-Übergabe **protokolliert** bausteine · 6 details ## Die Schnittstelle im Detail nach der **herstellerdoku** Die folgenden Punkte stehen so in der öffentlichen Entwicklerdokumentation von PriceHubble. Was im konkreten Projekt tatsächlich freigeschaltet ist, hängt am Vertrag — deshalb klären wir den Umfang, bevor wir spezifizieren. d-01zugang ### Authentifizierung Benutzername und Passwort gehen als JSON gegen den Login-Endpunkt, zurück kommt ein Zugriffstoken mit einer Gültigkeit von zwölf Stunden. Danach trägt jede Anfrage einen Authorization-Header im Bearer-Format. Das Token gehört in den Server-Cache — nicht in den Browser und nicht in jeden Request neu. zweck: zugriff absichern d-02bewertung ### Zwei Bewertungs-Endpunkte Valuation Light bewertet ein einzelnes Objekt mit wenigen Angaben — für eine Wertermittlung auf der Website meist genau richtig. Der vollständige Valuation-Endpunkt nimmt mehr Merkmale, mehrere Objekte oder mehrere Stichtage in einem Aufruf, laut Dokumentation bis zu fünfzig Bewertungen. zweck: passend dimensionieren d-03eingabe ### Objektmerkmale Pflicht sind die Lage — als Adresse oder als Koordinaten — und die Objektart, dazu das Länderkürzel und ob es um Verkauf oder Vermietung geht. Ergänzend nimmt das Modell Angaben wie Wohnfläche und Baujahr. Genau diese Felder bildet die Formularstrecke ab, keines mehr. zweck: datensparsam fragen d-04ergebnis ### Spanne & Verlässlichkeit Zurück kommt eine Wertspanne mit Unter- und Obergrenze samt Währung, dazu eine Einstufung der Verlässlichkeit in drei Stufen. Der vollständige Endpunkt ergänzt einen geschätzten Verkaufspreis und eine geschätzte Bruttomiete. Wir zeigen die Spanne — sie beschreibt ehrlicher, was ein Modell leisten kann. zweck: ehrliche darstellung d-05umfeld ### Umfelddaten & Dossier Neben der Bewertung führt die Dokumentation weitere Endpunkte auf — unter anderem sozioökonomische Daten, Punkte von Interesse in der Umgebung, Erreichbarkeiten, Bauprojekte, Preisindizes und das Dossier als teilbaren Bericht. Für eine Website nehmen wir davon nur, was die Seite wirklich trägt. zweck: kontext statt zahlenwust d-06betrieb ### Fehlerfälle im Betrieb Eine fremde API kann langsam sein, ein Token ablaufen, eine Adresse unauflösbar bleiben. Also: Zeitlimit setzen, einmal kontrolliert wiederholen, dem Menschen im Formular einen verständlichen Satz zeigen statt eines Fehlercodes — und den Kontakt trotzdem sichern, damit aus einem Ausfall kein verlorener Lead wird. zweck: robust bleiben integration ## PriceHubble in deine Website integrieren drei systeme · **ein muster** Die Wertermittlung auf der Website ist unsere Leistung, und wir bauen sie als **eigene Strecke über die REST-API**. Sie besteht aus zwei Teilen: vorne eine Formularstrecke, die das CMS ausliefert und die Redaktion pflegt — dahinter ein **serverseitiger Proxy-Endpunkt**, der die Zugangsdaten hält, die Anfrage validiert, die API aufruft, das Ergebnis aufbereitet und den Lead übergibt. Dieses Muster ist in [TYPO3](https://www.siteway.de/stack/typo3/), [WordPress](https://www.siteway.de/stack/wordpress/) und [Statamic](https://www.siteway.de/stack/statamic/) dasselbe. Was sich unterscheidet, ist der Ort, an dem der Endpunkt sitzt, und die Oberfläche, in der die Redaktion arbeitet. Diese Strecke unterscheidet sich grundlegend von einer CRM-Anbindung. Dort holt ein Job Datensätze ab und legt sie im CMS an; hier entsteht überhaupt kein Import. Der Endpunkt hält das Token vor und reicht die Anfrage an PriceHubble weiter. Im CMS liegt alles, was die Redaktion anfassen soll: die Seite selbst, die Formularfelder und ihre Beschriftungen, Hilfe- und Hinweistexte, der Einwilligungstext und der Aufbau der Ergebnisdarstellung. Serverseitiger Code ist der Rest — Anmeldung, Token-Cache, Validierung, Aufruf, Fehlerbehandlung und die Übergabe des Leads. Und quer über alle Systeme gilt derselbe Satz: Der **API-Zugang bleibt in der Server-Konfiguration**, nicht im Frontend-JavaScript, denn was der Browser lädt, kann jeder lesen. i-01typo3 ### PriceHubble in TYPO3 Hier bauen wir eine **eigene Extension**, per Composer installiert. Der Proxy-Endpunkt sitzt darin als PSR-15-Middleware oder als Controller-Action mit eigener Route — er nimmt die Formularangaben entgegen, spricht mit der API und gibt nur das Ergebnis zurück. Die Zugangsdaten liegen in der Extension-Konfiguration beziehungsweise in Umgebungsvariablen, nie im Template. Die Redaktion setzt das Plugin-Element auf eine Seite und pflegt Feldbeschriftungen, Hinweis- und Einwilligungstexte im Backend; die Ergebnisdarstellung liegt im Fluid-Template. [typo3 im stack →](https://www.siteway.de/stack/typo3/) i-02wordpress ### PriceHubble in WordPress Die Logik gehört in ein **eigenes Plugin**, nicht ins Theme — dann übersteht sie jeden Theme-Wechsel. Der Proxy-Endpunkt entsteht als eigene REST-Route unter eigenem Namespace, alternativ als Action über `admin-ajax.php`. Der Schlüssel steht in der Konfiguration, etwa als Konstante in der `wp-config.php` oder als Umgebungsvariable. Die Redaktion setzt Block oder Shortcode auf eine Seite und pflegt Texte, Feldbeschriftungen und den Einwilligungshinweis über die Einstellungen des Plugins. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) i-03statamic ### PriceHubble in Statamic Statamic läuft auf [Laravel](https://www.siteway.de/stack/laravel/), und damit ist der Weg der kürzeste von den dreien: eine **Route plus Controller** im Framework-Unterbau, dazu ein HTTP-Client für den Aufruf und der Cache für das Token. Der Schlüssel steht in der `.env` und wird über eine Config-Datei gelesen. Die Redaktion pflegt die Seite als Entry: Felder, Beschriftungen und Texte kommen aus dem Blueprint, die Ergebnisdarstellung aus dem Antlers- oder Blade-Template. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Personenbezogene Daten in der Wertermittlung kein **nebenschauplatz** Eine Online-Wertermittlung ist kein anonymer Rechner. Sie verbindet die **Adresse einer bestimmten Immobilie** mit Name, E-Mail-Adresse und oft Telefonnummer — und mit der Absicht, zu verkaufen. Das ist ein sensibler Datensatz, und er entsteht in dem Moment, in dem jemand auf „Ergebnis anzeigen“ klickt. Wer das wie ein Kontaktformular behandelt, behandelt es falsch. Deshalb klären wir vor dem Bauen fünf Dinge. **Erstens die Rechtsgrundlage:** Die Bewertung selbst ist Teil der angefragten Leistung — die spätere werbliche Ansprache ist es nicht und braucht eine eigene, aktiv erteilte Einwilligung mit klarer Beschreibung, ein vorangekreuztes Kästchen genügt nicht. **Zweitens die Zweckbindung:** Was für die Wertermittlung erhoben wurde, wandert nicht ungefragt in den Newsletter-Verteiler. **Drittens die Auftragsverarbeitung:** Die Daten gehen an einen Dienstleister, also braucht es einen Vertrag nach Artikel 28 DSGVO, dazu die Angaben zu Verarbeitungsorten und etwaigen Unterauftragnehmern. **Viertens die Datensparsamkeit:** Jedes Feld muss sich begründen lassen. Das Modell braucht Lage, Objektart, Fläche und Baujahr — die Telefonnummer braucht der Makler, nicht die API, und sie bleibt deshalb optional. **Fünftens die Transparenz:** Die Datenschutzerklärung nennt den Bewertungsanbieter, den Zweck, die Rechtsgrundlage und die Löschfrist; im Formular steht der Hinweis dort, wo entschieden wird, nicht im Fußbereich. Die Architektur hilft dabei. Beim **serverseitigen Proxy** geht die Anfrage von unserem Server aus — der Browser der Besucherin baut keine Verbindung zu einem fremden Host auf, und wir bestimmen, welche Felder überhaupt weitergereicht werden. Erhoben wird nur, was die Bewertung wirklich braucht, und die Einwilligung steht dort, wo die Kontaktdaten abgefragt werden. Wie wir Websites grundsätzlich trackingfrei und mit sauberen Security-Headern ausliefern, steht im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). checkliste vor dem go-live - ▸Einwilligung **aktiv & getrennt** vom Absenden - ▸AV-Vertrag nach **Art. 28 DSGVO** - ▸Datenschutzerklärung **ergänzt** - ▸Nur **benötigte Felder** übertragen - ▸Löschfrist **definiert** und umgesetzt - ▸Übertragung **verschlüsselt**, Zugriff protokolliert [datenschutz-audit ansehen →](https://www.siteway.de/expertise/datenschutz-audit/) entscheidung ## Wann eine Online-Wertermittlung trägt zuordnung statt **rangliste** Eine Wertermittlung auf der Website ist ein Versprechen: sofort eine Zahl, dafür deine Adresse. Das trägt dann, wenn hinter dem Kontakt ein Prozess steht, der ihn auch bearbeitet. An drei Zeichen erkennen wir, dass es passt — darunter steht, was sonst der bessere Baustein ist. e-01markt ### Wohnimmobilien im Bestandsgebiet Ein Modell braucht Vergleichsdaten. In Lagen mit vielen Transaktionen und typischen Objekten liefert es belastbare Korridore. Wer überwiegend Sonderobjekte vermittelt, bekommt breite Spannen — und sollte das Werkzeug anders zuschneiden. datendichte entscheidet e-02prozess ### Jemand bearbeitet den Lead Ein Kontakt, der drei Tage liegen bleibt, ist ein verbrannter Kontakt. Die Strecke lohnt sich, wenn eine Person zuständig ist, das CRM den Datensatz sofort bekommt und eine Nachfassroutine existiert. Sonst produziert die Website nur Datenschutz-Aufwand. technik braucht anschluss e-03haltung ### Das Ergebnis wird gezeigt Wer die Zahl hinter einem Rückruf versteckt, verkauft ein Formular als Rechner. Das spricht sich herum. Die Strecke trägt, wenn die Spanne direkt erscheint — inklusive des Hinweises, dass eine Besichtigung sie nach oben oder unten verschieben kann. offenheit wirkt ### Wann ein anderer Baustein besser passt Geht es um Gewerbe, Spezialimmobilien oder Objekte mit ungewöhnlichem Zuschnitt, ist ein Rechner das falsche Versprechen — dort führt ein gut geschnittenes [Anfrageformular](https://www.siteway.de/expertise/formularstrecken/) mit qualifizierenden Fragen schneller zum Gespräch. Wer Sichtbarkeit statt Kontaktdaten sucht, ist mit Marktberichten oder einem Ratgeber als [Lead-Magnet](https://www.siteway.de/expertise/lead-magnet-formulare/) besser bedient: weniger Datenschutzgewicht, längere Wirkung. Und wenn ohnehin ein Objektbestand auf der Website liegt, ist die Reihenfolge oft umgekehrt: Erst fließen die Objekte über [OpenImmo](https://www.siteway.de/stack/openimmo/) aus dem [Maklersystem](https://www.siteway.de/stack/flowfact/) auf die Seite, dann kommt die Wertermittlung als zweiter Schritt dazu. Was in welcher Reihenfolge gebaut wird, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Wohnen, viele Daten → **Wertermittlung** - ▸Gewerbe, Sonderfall → **Anfrageformular** - ▸Reichweite, Wissen → **Lead-Magnet** - ▸Objekte auf die Seite → **OpenImmo** faq ## Häufige Fragen ### Was ist PriceHubble? PriceHubble ist ein Anbieter datenbasierter Immobilienbewertung mit Sitz in Zürich, gegründet 2016. Kern ist ein Automated Valuation Model, kurz AVM: ein statistisches Modell, das aus Marktdaten und Objektmerkmalen einen Wert schätzt, statt einen Gutachter vor Ort zu schicken. Genutzt wird das laut Anbieter von Maklern und Vermittlern, von Banken, Kreditgebern und Versicherern sowie von Investoren und Verwaltern. Für Websites ist vor allem die REST-API interessant: Sie liefert Bewertungen und Umfelddaten an das eigene System, das die Darstellung selbst gestaltet. ### Wie bindet siteway PriceHubble in eine Website ein? Über einen serverseitigen Proxy. Die Zugangsdaten liegen in der Server-Konfiguration, nie im JavaScript. Der Browser schickt die Formularangaben an einen eigenen Endpunkt der Website, dieser holt sich bei PriceHubble ein Zugriffstoken und fragt die Bewertung ab; zurück an den Browser geht nur das Ergebnis. Die Formularstrecke davor gestalten wir im Design deiner Website, damit Eingabe, Ergebnis und Kontaktabfrage zur Seite passen. ### Lässt sich die Wertermittlung in WordPress oder TYPO3 einbauen? Ja, und in Statamic ebenso. Die Strecke ist in allen drei Systemen dieselbe: eine Formularstrecke, die das CMS ausliefert, und ein serverseitiger Proxy-Endpunkt, der die Zugangsdaten hält, die Anfrage validiert, die API aufruft, das Ergebnis aufbereitet und den Lead übergibt. In [TYPO3](https://www.siteway.de/stack/typo3/) bauen wir dafür eine eigene Extension mit Middleware oder Controller-Route, in [WordPress](https://www.siteway.de/stack/wordpress/) ein eigenes Plugin mit eigener REST-Route, in [Statamic](https://www.siteway.de/stack/statamic/) eine Route mit Controller im Laravel-Unterbau. Der API-Zugang liegt in allen drei Fällen in der Server-Konfiguration — in der Extension-Konfiguration, in der wp-config.php oder in der .env — und nie im Frontend-JavaScript. Die Redaktion pflegt Seite, Formularfelder, Hinweistexte und Ergebnisdarstellung im gewohnten Backend. ### Warum gehört der API-Zugang auf den Server und nicht ins Frontend? Weil alles, was im Browser landet, lesbar ist. Die PriceHubble-API arbeitet mit Zugangsdaten, gegen die ein Zugriffstoken ausgestellt wird; laut Herstellerdokumentation ist dieses Token zwölf Stunden gültig und wird als Authorization-Header im Bearer-Format mitgeschickt. Läge es im Frontend, könnte es jeder auslesen und auf fremde Rechnung Abfragen stellen. Deshalb spricht bei uns ausschließlich der Server mit der Schnittstelle — und er hält das Token vor, statt es bei jedem Aufruf neu zu holen, denn die Dokumentation warnt ausdrücklich vor einer zeitweiligen Sperre, wenn zu viele Anmeldungen auflaufen. ### Was liefert die Bewertung zurück — eine Zahl oder eine Spanne? Das hängt vom Endpunkt ab. Der schlanke Endpunkt Valuation Light gibt laut Dokumentation eine Wertspanne mit Unter- und Obergrenze zurück, dazu die Währung und eine Einschätzung der Verlässlichkeit in den Stufen poor, medium und good. Der vollständige Valuation-Endpunkt liefert zusätzlich einen geschätzten Verkaufspreis samt Spanne und eine geschätzte Bruttomiete. Auf einer Website zeigen wir bevorzugt die Spanne: Eine Modellschätzung ohne Innenbesichtigung ist ein Korridor und kein Gutachten — wer das offen sagt, verliert damit kein Vertrauen, sondern gewinnt es. ### Welche Angaben braucht das Modell von der Besucherin? Wenige — und mehr sollte auch nicht abgefragt werden. Für eine Bewertung genügen laut Dokumentation die Lage über Adresse oder Koordinaten und die Objektart, dazu Angaben wie Wohnfläche und Baujahr sowie die Information, ob es um Verkauf oder Vermietung geht und in welchem Land das Objekt liegt. Alles andere ist Beiwerk und kostet Abschlüsse. Die Kontaktdaten fragen wir erst ab, wenn die Objektangaben stehen und das Ergebnis unmittelbar bevorsteht. ### Ist eine Online-Wertermittlung datenschutzrechtlich unproblematisch? Nein, sie braucht Sorgfalt. Die Adresse einer Immobilie zusammen mit Name, E-Mail-Adresse und Telefonnummer ergibt einen personenbezogenen Datensatz, und der Zweck ist ein anderer als bei einem Kontaktformular. Nötig sind eine tragfähige Rechtsgrundlage samt Einwilligung für die spätere Ansprache, ein Vertrag zur Auftragsverarbeitung mit dem Bewertungsanbieter, ein Eintrag in der Datenschutzerklärung, klare Löschfristen und die Beschränkung auf die Felder, die das Modell wirklich braucht. Die Grundsätze dahinter beschreibt siteway im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). ### Geht der Lead direkt ins Makler-CRM? Ja, sofern das CRM eine Schnittstelle dafür anbietet. Im deutschsprachigen Maklermarkt sind [onOffice](https://www.siteway.de/stack/onoffice/), [FlowFact](https://www.siteway.de/stack/flowfact/) und [Propstack](https://www.siteway.de/stack/propstack/) die verbreiteten Systeme, und die Übergabe ist derselbe Handgriff wie bei jeder anderen Anbindung: Feld-Mapping, Übertragung, Fehlerbehandlung und ein Protokoll, das zeigt, ob der Datensatz angekommen ist. Wichtig ist, dass ein System führt und die anderen folgen, damit derselbe Kontakt nicht doppelt entsteht. Wie siteway solche Anbindungen baut, steht in der Expertise unter [Schnittstellen & Integration](https://www.siteway.de/expertise/schnittstellen-integration/). womit das zusammenhängt ## Womit das zusammenhängt daten, systeme & **leistung** - [OpenImmo.](https://www.siteway.de/stack/openimmo/) — Der Standard, über den Objektdaten aus dem Maklersystem auf die Website kommen. Die Wertermittlung liefert Leads herein, OpenImmo bringt Objekte heraus. zum format → - [Propstack.](https://www.siteway.de/stack/propstack/) — Eines der Systeme, in denen der Lead landen soll. Ohne Anschluss ans CRM bleibt jede Wertermittlung eine hübsche Rechenstrecke ohne Wirkung. zum system → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Scoping, Feld-Mapping, Entwicklung, Test auf Staging und Monitoring im Betrieb. Hier wird gebucht. zur leistung → Wertermittlung auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Propstack **Propstack** ist ein cloudbasiertes CRM für die Immobilienwirtschaft — und eines der wenigen Maklersysteme, die ihre REST-API öffentlich dokumentieren. Für siteway heißt das: Objektdaten kommen als JSON auf die Website statt als Kopie aus dem Exposé. Diese Seite beschreibt die zwei Wege dorthin — **API** und **OpenImmo-Export** — und wie wir sie anbinden. stack system: propstack · immobilien-crm wege: rest-api · openimmo format: json · xml seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Propstack anbinden](#einsatz) definition ## Was ist Propstack? **Propstack ist ein cloudbasiertes CRM für die Immobilienwirtschaft, entwickelt von der Propstack GmbH.** Makler, Maklerunternehmen, Franchise-Systeme und Projektvertriebe verwalten darin Kontakte, Objekte, Aufgaben, E-Mails und Termine — im Browser, ohne Installation, mit Anbindung an Microsoft 365 und Google Workspace. Interessant wird das System an der Stelle, an der viele ältere Maklerprogramme aufhören: bei der **Schnittstelle nach draußen**. Propstack veröffentlicht eine REST-Dokumentation unter docs.propstack.de, mit Endpunkten für Objekte, Kontakte, Suchprofile, Dokumente und Webhooks. Wer eine Website bauen will, muss nicht raten und nicht verhandeln — es steht da. Daneben steht der klassische Weg: der Export nach dem [OpenImmo-Standard](https://www.siteway.de/stack/openimmo/), das XML-Format, auf das sich die deutsche Immobilienbranche 2001 geeinigt hat. Beide Wege führen dieselben Objekte auf dieselbe Website. Sie unterscheiden sich in Takt, Tiefe und darin, wie viel Kontrolle die Website über die Daten bekommt. $ cat propstack.md - ✓Immobilien-CRM cloud · browser - ✓REST-API öffentlich dokumentiert - ✓API-Key x-api-key · rechte je key - ✓Webhooks ereignis statt abfrage - ✓OpenImmo-Export ftp · zip · xml - ✓Kontakte & Suchprofile lead-rückkanal praxis ## Wie wir Propstack anbinden importieren · **nicht durchreichen** Die wichtigste Entscheidung fällt vor der ersten Zeile Code: **Die Website fragt das CRM nicht bei jedem Seitenaufruf.** Wir importieren die Objekte in das Datenmodell des [CMS](https://www.siteway.de/stack/cms-redaktion/) — als eigene Inhaltsart mit eigenen Feldern, eigener URL und eigener Sortierung. Ausgeliefert wird danach aus dem eigenen Bestand. Das hält die Seite schnell, macht sie unabhängig von der Erreichbarkeit des CRM und sorgt dafür, dass eine Störung beim Anbieter kein weißes Objektportal produziert. Dann kommt das **Mapping**. Ein Objekt in Propstack hat sehr viele Felder; eine Website braucht davon einen bewussten Ausschnitt. Wir legen fest, welches CRM-Feld auf welches Website-Feld geht, was Pflicht ist, was optional bleibt und was gar nicht erst das Haus verlässt — interne Notizen, Provisionsvereinbarungen und Eigentümerdaten gehören nicht in ein öffentliches JSON. Für mehrsprachige Auftritte liefert die API übersetzte Texte über einen locale-Parameter mit. **Bilder und Exposés** ziehen wir beim Import auf den eigenen Server, statt jedes Grundrissfoto live aus dem CRM zu verlinken. Danach laufen sie durch dieselbe Bildpipeline wie der Rest der Website: skaliert, als AVIF und WebP ausgespielt, mit Maßen im Markup. Ein PDF-Exposé ist in Propstack ein Dokument mit gesetztem Exposé-Kennzeichen — es lässt sich also gezielt greifen, statt alle Anhänge zu übernehmen. **Aktualisiert** wird zweigleisig: ein regelmäßiger Abgleich als Grundsicherung plus Webhooks für den schnellen Weg. Propstack ruft dafür eine Ziel-URL auf, wenn ein Ereignis eintritt, und signiert die Anfrage per HMAC-SHA256. Wir prüfen die Signatur, bevor irgendetwas verarbeitet wird — ein offener Import-Endpunkt ohne Prüfung wäre eine Einladung. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die API nicht oder unvollständig, bleibt der letzte gute Stand stehen, der Lauf wird protokolliert und mit Abstand erneut versucht. Ein abgebrochener Import darf nie den Bestand leeren. Genauso behandeln wir den Rückkanal: Geht eine Anfrage ins CRM nicht durch, ist der Lead trotzdem gesichert und geht zusätzlich per E-Mail raus — Details dazu in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Feld-Mapping**, dann der Code - 02Daten **importieren**, nicht durchreichen - 03API-Key **serverseitig**, nie im Browser - 04Medien **lokal** und optimiert - 05Webhook-Signatur **immer prüfen** - 06Fehler **protokollieren**, Bestand halten [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Propstack — Endpunkte, Parameter und Ereignisnamen im Original. Feste Zahlen zu Rate Limits nennt sie nicht, deshalb behandeln wir die API als knappe Ressource: bündeln, cachen, nur nachladen, was sich geändert hat. d-01zugang ### API-Key & Rechte Die Basis ist api.propstack.de/v1. Authentifiziert wird über einen API-Key, entweder im Header X-API-KEY oder als Parameter. Die Schlüssel legt der Makler in der Propstack-Administration an und vergibt Rechte je Schlüssel — die Website bekommt einen eigenen, nicht den des Chefs. zweck: authentifizierung d-02objekte ### Objekte & Filter Objekte liegen unter /v1/units, einzeln unter /v1/units/:id. Gefiltert wird nach Status, Vermarktungsart, Projekt, Land und Volltext, dazu Bereiche für Preis, Miete, Fläche, Zimmer, Etage und Baujahr. Listen kommen paginiert; with_meta=1 liefert die Gesamtzahl mit. zweck: objektbestand d-03aktualität ### Webhooks Statt zu pollen, lässt sich Propstack melden: /v1/hooks nimmt target_url und event entgegen, unter anderem property_created und property_updated. Signiert wird per HMAC-SHA256 im Header X-Propstack-Signature. Bei Änderungen liefert Propstack mit, welche Attribute betroffen sind. zweck: ereignisgesteuert d-04medien ### Bilder & Exposés Dokumente liegen unter /v1/documents und lassen sich einem Objekt, Projekt oder Kontakt zuordnen; ein Kennzeichen markiert das PDF-Exposé. Fotos und Grundrisse holen wir beim Import ab, legen sie lokal ab und liefern sie als AVIF und WebP mit festen Maßen aus. zweck: medien lokal d-05rückkanal ### Kontakte & Leads Anfragen gehen serverseitig an /v1/contacts. Propstack legt einen Kontakt an oder aktualisiert einen vorhandenen, wenn er über E-Mail oder eine alte CRM-ID gefunden wird — das verhindert Dubletten. Suchprofile unter /v1/saved_queries hängen am Kontakt und tragen das Objekt-Matching. zweck: lead ins crm d-06export ### OpenImmo-Export Der zweite Weg: In Propstack wird unter Verwaltung, Portale ein Portal vom Typ FTP nach OpenImmo-Standard angelegt. Übertragen wird ein ZIP mit XML-Datei und allen referenzierten Bildern — wahlweise als Vollabgleich oder als Teilabgleich, der nur Änderungen schickt. zweck: standardformat ### Was auf der Website daraus entsteht Aus den importierten Daten wird kein Datenbank-Dump, sondern eine Website. Die **Objektliste** filtert über die Felder, die im Mapping definiert sind — Ort, Vermarktungsart, Preisspanne, Zimmer, Fläche — und arbeitet dabei auf dem eigenen Bestand, also ohne Wartezeit auf ein fremdes System. Die **Detailseite** bekommt eine sprechende, dauerhafte URL, die Bildergalerie, die Eckdaten als Tabelle, Lage und Ausstattung sowie das Exposé zum Download. Darunter steht das **Anfrageformular am Objekt** — vorbelegt mit der Objektnummer, damit im CRM sofort klar ist, worum es geht. Von dort geht der Lead als Kontakt nach Propstack. Für Suchmaschinen ergänzen wir [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) aus denselben Feldern, eine Objekt-Sitemap und Regeln für den Fall, dass ein Objekt aus dem Bestand fällt: umleiten, als Referenz behalten oder sauber als entfallen ausweisen. Beim **Datenschutz** laufen zwei Richtungen auseinander. Objektdaten sind in der Regel unkritisch — Interessentendaten sind es nie. Deshalb: Formularfelder auf das Nötige begrenzen, Einwilligung sauber einholen und dokumentieren, Übertragung ausschließlich serverseitig über TLS, Löschfristen benennen. Und weil Propstack die Daten im Auftrag verarbeitet, gehört ein Auftragsverarbeitungsvertrag dazu — genau wie beim Hoster. Mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Objektliste mit **eigenen Filtern** - ▸Detailseite mit **dauerhafter URL** - ▸Galerie & **Exposé-Download** - ▸Anfrage **mit Objektnummer** - ▸Strukturierte Daten & **Sitemap** - ▸Regel für **entfallene Objekte** integration ## Propstack in deine Website integrieren drei systeme · **ein muster** Die Propstack-Integration bauen wir in jedem System selbst — mit den Bordmitteln, die das CMS dafür mitbringt. Die Kette ist dabei überall dieselbe: Ein Abruf über die API oder ein eingehender Webhook stößt den Import an, die Objekte landen als **Inhalte im CMS**, und das Frontend rendert daraus Objektliste und Detailseite. Was dafür im CMS liegen muss, ist schnell benannt — eine eigene Inhaltsart „Objekt“ mit genau den Feldern aus dem Mapping, die Bilder in der Medienverwaltung des Systems, und die Objekt-ID aus dem CRM als Schlüssel. Über diesen Schlüssel erkennt der zweite Lauf das Objekt wieder und aktualisiert es, statt eine Dublette anzulegen. Erst dadurch werden Immobilien aus Propstack auf der Website zu echten Seiten mit dauerhafter URL statt zu einem eingebetteten Fremdinhalt. Aktualität ist danach eine Frage von **Cache und Webhook**. Ausgeliefert wird aus dem eigenen Bestand, also aus Cache oder statisch erzeugten Seiten — schnell und unabhängig davon, ob das CRM gerade erreichbar ist. Meldet Propstack per Webhook eine Änderung, holen wir gezielt dieses eine Objekt nach und nehmen nur seine Detailseite und die betroffenen Listen aus dem Cache, statt die ganze Website zu leeren. Ein geplanter Lauf im Hintergrund bleibt daneben als Grundsicherung bestehen, falls ein Webhook einmal nicht ankommt. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wo die Objekte am Ende liegen und was die Redaktion damit tun kann. cms-01typo3 ### Propstack in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler und Fluid alles mit, was eine Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Inhaltsart „Objekt“ mit genau den Feldern aus dem Mapping. Der Abruf der Propstack-API läuft als Scheduler-Task, eingehende Webhooks nimmt eine eigene Route mit passender Middleware entgegen und aktualisiert genau ein Objekt. Die Objekte liegen als Records in einem Systemordner, Bilder und Exposés in FAL. Sprechende URLs für Liste und Detailseite kommen aus dem Site Handling, gerendert wird über Fluid-Templates. Die Redaktion sieht die Objekte im Backend, pflegt eigene Texte daneben und platziert Teaser als Content-Element auf jeder Seite. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Propstack in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen. Die Objekte werden ein Custom Post Type mit eigenen Meta-Feldern für die Objektdaten und Taxonomien für die Filter, also Ort, Objektart und Vermarktungsart. Eine eigene REST-Route nimmt den Webhook entgegen und stößt den Abgleich für genau ein Objekt an; die Aufrufe der Propstack-API laufen serverseitig, der API-Key liegt in der Server-Konfiguration und nie im Frontend. Ein geplanter Lauf hält den Bestand als Grundsicherung nach. Fürs Frontend kommen Template-Dateien und Blöcke für den Editor dazu, damit die Redaktion Liste, Filter und Teaser dort platziert, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Propstack in Statamic Statamic läuft auf Laravel — Inhalte sind Entries in Collections, Bilder Assets in Containern. Weil Propstack eine dokumentierte REST-API und signierte Webhooks mitbringt, lässt sich die Anbindung hier besonders sauber bauen: Ein Blueprint beschreibt das Datenmodell, ein Artisan-Command holt die Objekte und schreibt sie als Entries in eine eigene Collection, der Laravel-Scheduler bestimmt den Takt. Route und Controller nehmen den Webhook entgegen, prüfen die Signatur und aktualisieren genau ein Objekt. Fotos und Exposés landen als Assets im eigenen Container, Antlers oder Blade rendern Liste, Filter und Detailseite, Static Caching liefert sie aus. Im Control Panel pflegt die Redaktion Beschreibungstexte und Reihenfolge in Feldern, die der Import nicht anfasst. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## API oder Export — wann welcher Weg passt zuordnung statt **rangliste** Die API ist der jüngere Weg, der Export der etabliertere. Keiner von beiden ist grundsätzlich besser — sie beantworten unterschiedliche Fragen. An drei Mustern lässt sich das zuordnen. e-01api ### Wenn die Website mehr können soll Eigene Filterlogik, gezielt gewählte Felder, mehrsprachige Objekttexte, ein Anfrageformular mit Rückkanal, Aktualisierung kurz nach der Änderung im CRM: Das ist das Terrain der REST-API. Sie gibt der Website die Kontrolle über Struktur und Takt. json · echtzeitnah e-02openimmo ### Wenn der Standard schon trägt Läuft auf der Website ohnehin eine OpenImmo-Verarbeitung, ist der Bestand überschaubar und reicht ein Abgleich im festen Takt, dann ist der Export der kürzere Weg. Er ist portalerprobt, formatstabil und unabhängig davon, ob ein Anbieter seine API weiterentwickelt. xml · abgleich im takt e-03kombination ### Wenn beides zusammen Sinn ergibt Häufig die ehrlichste Antwort: Der Export trägt die Grundlast der Objektdaten, die API ergänzt, was er nicht sauber abbildet, und übernimmt den Rückkanal für Anfragen. Ein Weg für die Menge, ein Weg für die Präzision. grundlast + präzision ### Was vorher geklärt wird Vier Fragen entscheiden die Richtung, und sie lassen sich in einem Gespräch beantworten. Wie viele Objekte sind im Bestand, und wie oft ändern sie sich? Welche Felder müssen wirklich auf die Website — und welche auf keinen Fall? Soll die Website Anfragen ins CRM zurückschreiben oder nur anzeigen? Und wer betreibt die Anbindung, wenn sich am CRM etwas ändert? Danach steht das Mapping als Dokument, bevor gebaut wird. Dieselbe Logik greift bei anderen Maklersystemen: [onOffice](https://www.siteway.de/stack/onoffice/) und [FlowFact](https://www.siteway.de/stack/flowfact/) bringen eigene Schnittstellen mit, [PriceHubble](https://www.siteway.de/stack/pricehubble/) liefert Bewertungsdaten daneben, und [OpenImmo](https://www.siteway.de/stack/openimmo/) ist der gemeinsame Nenner fast aller Systeme. Welche Anbindung ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸eigene Filter, Rückkanal → **API** - ▸Plugin, fester Takt → **OpenImmo** - ▸viele Objekte, wenig Sonderfelder → **Export** - ▸Grundlast plus Präzision → **beides** faq ## Häufige Fragen ### Was ist Propstack? Propstack ist ein cloudbasiertes CRM für die Immobilienwirtschaft, entwickelt von der Propstack GmbH. Makler, Maklerunternehmen, Franchise-Systeme und Projektvertriebe verwalten darin Kontakte, Objekte, Aufgaben, E-Mails und Termine im Browser. Für die Website zählt vor allem eines: Propstack dokumentiert seine REST-API öffentlich unter docs.propstack.de und bietet daneben den Export nach dem OpenImmo-Standard. Beide Wege führen Objektdaten aus dem CRM auf die Website, nur mit unterschiedlicher Mechanik. ### Wie kommen Objekte aus Propstack auf die Website? Über zwei Wege. Der erste ist die REST-API: Die Website fragt die Objekte als JSON ab, übernimmt sie in ihr eigenes Datenmodell und schreibt Änderungen nach, sobald im CRM etwas passiert. Der zweite ist der OpenImmo-Export: Propstack legt ein ZIP-Archiv mit XML-Datei und Bildern per FTP ab, die Website liest es ein. In Propstack wird dieser Weg unter Verwaltung, Portale, Portal hinzufügen als FTP nach OpenImmo-Standard eingerichtet. Welcher Weg trägt, entscheidet siteway im Konzept, nicht danach, welcher moderner klingt. ### Wie funktioniert die Propstack-API? Die dokumentierte Version 1 liegt unter api.propstack.de/v1. Authentifiziert wird mit einem API-Key, entweder im Header X-API-KEY oder als Parameter api_key; die Schlüssel und ihre Berechtigungen verwaltet der Makler in Propstack unter Administration und API-Keys. Objekte liegen unter /v1/units, mit Filtern für Status, Vermarktungsart, Projekt, Land und Volltextsuche sowie Bereichsfiltern für Preis, Miete, Fläche, Zimmer, Etage und Baujahr. Listen kommen paginiert, und mit with_meta=1 liefert die Antwort die Gesamtzahl mit. Eine Version 2 mit Scroll-Endpunkten für große Datenmengen ist laut Dokumentation in Arbeit. ### Wann ist die API der bessere Weg und wann der OpenImmo-Export? Die API passt, wenn die Website mehr können soll als eine Liste zeigen: eigene Filter, gezielt ausgewählte Felder, mehrsprachige Texte, schnelle Aktualisierung nach einer Änderung im CRM. Der OpenImmo-Export passt, wenn ein Bestandssystem oder ein Plugin ohnehin OpenImmo spricht, wenn der Objektbestand überschaubar ist und wenn eine Aktualisierung im Takt des Abgleichs reicht. OpenImmo kennt dafür den Vollabgleich, bei dem alle Objekte erneut übertragen werden, und den Teilabgleich, bei dem nur Änderungen laufen. Und beides lässt sich kombinieren: der Export als Grundlast, die API für das, was der Export nicht sauber abbildet. ### Wie bleibt die Website aktuell, ohne die API bei jedem Seitenaufruf zu fragen? Indem die Website nicht bei jedem Seitenaufruf fragt. Die Objektdaten werden importiert und liegen danach im Datenmodell der Website; ausgeliefert wird aus dem eigenen Bestand, nicht aus einem fremden System. Aktualisiert wird über zwei Auslöser: einen regelmäßigen Abgleich als Grundsicherung und Webhooks für den schnellen Weg. Propstack meldet Ereignisse wie property_created und property_updated an eine Ziel-URL, angelegt über /v1/hooks mit target_url und event. Die Anfragen sind per HMAC-SHA256 signiert, die Signatur steht im Header X-Propstack-Signature und wird geprüft, bevor irgendetwas verarbeitet wird. ### Was passiert mit verkauften und vermieteten Objekten? Das ist eine SEO-Frage, keine Datenfrage. Ein Objekt, das aus dem CRM verschwindet, darf keine tote URL hinterlassen. Propstack liefert den Status mit und stellt die möglichen Werte unter /v1/property_statuses bereit; das Ereignis property_updated wird laut Dokumentation auch beim Löschen ausgelöst. Daraus wird auf der Website eine feste Regel: Referenzobjekt behalten und als verkauft kennzeichnen, auf eine passende Übersicht weiterleiten oder die URL sauber als entfallen ausweisen. Was nicht passiert: dass eine Suchmaschine auf eine Seite läuft, die es nicht mehr gibt. ### Landen Anfragen von der Website wieder im CRM? Ja, das ist der Rückkanal. Das Anfrageformular am Objekt schickt seine Daten serverseitig an /v1/contacts. Propstack legt daraus einen Kontakt an oder aktualisiert einen vorhandenen, wenn er über die E-Mail-Adresse oder eine mitgegebene alte CRM-ID gefunden wird, sodass keine Dubletten entstehen. Genau hier ist Datenschutz kein Nebensatz: Es gehen nur die Felder raus, die der Makler wirklich braucht, der API-Key liegt auf dem Server statt im Browser, und für die Verarbeitung im CRM braucht es einen Auftragsverarbeitungsvertrag. Die buchbare Leistung dahinter beschreibt siteway unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/) in der Expertise. ### Lässt sich Propstack in WordPress oder TYPO3 integrieren? Ja — und in Statamic ebenso. Die Anbindung bauen wir in jedem der drei Systeme selbst, mit dessen eigenen Bordmitteln; Propstacks dokumentierte REST-API und die Webhooks machen das sauber umsetzbar. In WordPress entsteht ein eigenes Plugin: Custom Post Type mit eigenen Meta-Feldern und Taxonomien für die Filter, eine eigene REST-Route als Webhook-Endpunkt, serverseitige API-Aufrufe mit dem Schlüssel in der Server-Konfiguration und ein geplanter Lauf als Grundsicherung. In TYPO3 bauen wir eine eigene Extension mit TCA als Datenmodell, dem Abruf als Scheduler-Task, einer eigenen Route für den Webhook, den Objekten als Records in einem Systemordner und Fluid-Templates im Frontend. In Statamic liegt Laravel darunter: Blueprint als Datenmodell, Artisan-Command im Scheduler, Route mit Controller und Signaturprüfung für den Webhook, die Objekte als Entries in einer Collection. Die Integration ist damit Teil unserer Leistung — vom Datenmodell bis zum Frontend. womit das zusammenhängt ## Womit das zusammenhängt standard, systeme & **leistung** - [OpenImmo.](https://www.siteway.de/stack/openimmo/) — Der XML-Standard, den fast jedes Maklersystem spricht: ZIP mit XML und Bildern, Übertragung per FTP, Voll- oder Teilabgleich. zur technik → - [onOffice.](https://www.siteway.de/stack/onoffice/) — Das verbreitete Maklersystem mit eigener Schnittstelle — anderes Modell, dieselbe Frage: Was gehört auf die Website und was nicht? zur technik → - [FlowFact.](https://www.siteway.de/stack/flowfact/) — Der langjährige Klassiker unter den CRM-Systemen für Makler und wie seine Objektdaten den Weg auf eine Website finden. zur technik → - [PriceHubble.](https://www.siteway.de/stack/pricehubble/) — Bewertungsdaten neben dem CRM: der Immobilienrechner auf der Website als eigener Weg zu Leads. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Interessentendaten fließen, wird es ernst: Schlüssel serverseitig, TLS, Datensparsamkeit, Auftragsverarbeitung. zur technik → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Objekte aus Propstack auf deine Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # rapidmail **rapidmail** ist ein Newsletter-Dienst aus Deutschland — Server und Verarbeitung im Inland, Support auf Deutsch, dokumentierte REST-API. Für siteway heißt das: Die Newsletter-Anmeldung bleibt ein eigenes Formular auf der eigenen Domain, und der Server dahinter spricht mit der Schnittstelle. Diese Seite beschreibt, wie diese Anbindung technisch aussieht — vom **Anmeldeformular** über das **Double-Opt-in** bis zur Abmeldung. stack system: rapidmail · newsletter-dienst weg: rest-api · v3 format: json · hal seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir rapidmail anbinden](#einsatz) definition ## Was ist rapidmail? **rapidmail ist ein Newsletter-Dienst aus Deutschland, entwickelt von einem Unternehmen mit Sitz in Freiburg im Breisgau.** Im Browser werden Empfängerlisten gepflegt, Mailings gebaut und versendet, Ergebnisse ausgewertet. Die Zielgruppe sind kleine und mittlere Unternehmen, Vereine, Verbände und Redaktionen — also alle, die eine eigene Liste aufbauen wollen, ohne dafür ein Marketing-Team zu beschäftigen. Was den Dienst für deutsche Auftraggeber interessant macht, steht in der eigenen Auskunft des Anbieters: **alle Daten auf Servern in Deutschland**, keine Weitergabe an Dritte, Übertragung mit 256-Bit-SSL, ein nach ISO 27001 zertifiziertes Rechenzentrum und der Auftragsverarbeitungs-Vertrag nach EU-DSGVO online im Kundenkonto. Wer beim Thema Datenverarbeitung kurze Wege braucht, landet damit schnell hier. Für die Website zählt eine zweite Sache: rapidmail dokumentiert eine **REST-API in Version 3.0** unter apiv3.emailsys.net, mit Ressourcen für Mailings, Empfängerlisten, Empfänger, Blacklist und API-Benutzer. Damit lässt sich eine Anmeldung von der eigenen Seite aus sauber in die richtige Liste schreiben, statt Besucher auf ein fremdes Formular zu schicken. Ob rapidmail für ein Projekt der passende Dienst ist, klären wir vorher und nicht per Rangliste. [CleverReach](https://www.siteway.de/stack/cleverreach/), [Brevo](https://www.siteway.de/stack/brevo/) und [Mailchimp](https://www.siteway.de/stack/mailchimp/) beschreiben wir im Stack jeweils auf einer eigenen Seite — die Mechanik der Anbindung ähnelt sich, die Unterschiede liegen in Funktionsumfang, Preismodell und dem Ort der Verarbeitung. $ cat rapidmail.md - ✓Newsletter-Dienst cloud · browser - ✓Anbieterangabe server in deutschland - ✓REST-API version 3.0 · json - ✓Empfängerlisten anlegen · pflegen - ✓Double-Opt-in aktivierungsmail - ✓Extrafelder & Stichworte segmentierung praxis ## Wie wir rapidmail anbinden eigenes formular · **server dahinter** Die erste Entscheidung fällt beim Formular: **Es gehört auf die eigene Domain, im Design der Website.** Kein eingebettetes Fremdformular, kein Skript aus dem Rechenzentrum eines Dienstleisters im Browser der Besucher. Das Anmeldefeld ist Teil der Seite — mit derselben Typografie, denselben Fehlermeldungen, derselben Tastaturbedienung und denselben Kontrasten wie jedes andere Formular. Wie wir Formulare grundsätzlich bauen, steht bei [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Dahinter liegt ein **serverseitiger Endpunkt**. Er nimmt die Eingaben entgegen, prüft sie und ruft erst dann die API auf. Geprüft wird das Übliche und das Unbequeme: Pflichtfelder, Format der Adresse, das Häkchen für die Einwilligung, ein Schutz gegen automatisierte Eintragungen und die Frage, ob dieselbe Adresse gerade im Sekundentakt eingetragen wird. Die **Zugangsdaten für rapidmail liegen ausschließlich auf dem Server** — nie im JavaScript, nie im HTML, nie in einem öffentlichen Repository. Dann folgt der **Eintrag in die Empfängerliste**. Welche Liste das ist, hängt am Kontext: ein Newsletter für alle, eine Liste je Standort, eine je Interessengebiet. Neben der Adresse gehen nur die Felder mit, die der Newsletter wirklich braucht — Anrede und Vorname für die Ansprache, ein Extrafeld für die Segmentierung, mehr nicht. Und weil aus einer Anmeldung später eine Zuordnung werden soll, halten wir fest, über welches Formular und welche Seite sie kam. Das **Double-Opt-in trägt der Dienst**, nicht die Website. rapidmail verschickt die Bestätigungsmail und macht die Adresse erst nach dem Klick zu einem aktiven Empfänger. Die Website legt niemanden direkt als bestätigt an. Das ist keine Bequemlichkeit, sondern der Kern der Sache: Der Nachweis der Einwilligung entsteht genau in diesem Schritt. Und dann das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet die API nicht, sieht der Absender keine kryptische Meldung, sondern einen verständlichen Hinweis; der Versuch wird protokolliert und mit Abstand wiederholt, damit keine Anmeldung still verschwindet. Erfolg und Fehler bekommen jeweils eine eigene, ehrliche Rückmeldung. Die buchbare Leistung dahinter ist die Komponente [Newsletter & E-Mail](https://www.siteway.de/expertise/newsletter-e-mail/), die technische Arbeit an der Schnittstelle beschreibt [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Formular **auf der eigenen Domain** - 02Zugangsdaten **nur serverseitig** - 03Prüfen, **bevor** die API gerufen wird - 04Bestätigung **vom Dienst**, nicht von uns - 05Nur Felder, die der **Newsletter braucht** - 06Fehler **protokollieren** und wiederholen [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) ### Die Kette des Double-Opt-in Nach deutschem Recht braucht eine Newsletter-Anmeldung eine **nachweisbare Einwilligung**. Technisch bildet das Double-Opt-in genau diesen Nachweis ab, und zwar als Kette mit vier Gliedern. Erstens: Jemand trägt seine Adresse in das Formular auf der Website ein und bestätigt die Einwilligung. Zweitens: Der Server der Website legt die Adresse über die API in der Empfängerliste an — **noch nicht als bestätigten Empfänger**. Drittens: rapidmail verschickt die Bestätigungsmail an genau diese Adresse. Viertens: Erst der Klick auf den Link darin macht aus dem Eintrag einen aktiven Empfänger. Weil der Klick aus dem Postfach kommt, ist damit belegt, dass die Einwilligung tatsächlich von der Person hinter dieser Adresse stammt und nicht von jemandem, der eine fremde Adresse in ein Formular getippt hat. Für die Website folgt daraus eine klare Regel, die wir nicht verhandeln: Sie legt niemanden direkt als bestätigt an. Sie sagt nach dem Absenden ehrlich, was jetzt passiert — Bitte bestätige die Anmeldung in deinem Postfach — und die Dankeseite erklärt, was zu tun ist, wenn die Mail nicht ankommt. Alles andere wäre bequemer und würde genau den Nachweis kosten, um den es geht. double-opt-in · kette - 01Formular auf der **eigenen Seite** - 02Eintrag **noch nicht bestätigt** - 03Bestätigungsmail **vom Dienst** - 04Klick → **aktiver Empfänger** - ▸Abmeldelink in **jeder Mail** technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von rapidmail und dem Hilfecenter des Anbieters — Basis-URL, Authentifizierung, Ressourcen und Grenzwerte im Original. Die vollständige Feldliste je Ressource steht in der Entwickler-Dokumentation und wird im Projekt gegen den konkreten Zugang geprüft, statt hier geraten zu werden. d-01zugang ### Zugang & Authentifizierung Die Basis ist apiv3.emailsys.net, erreichbar ausschließlich über HTTPS. Authentifiziert wird per HTTP Basic Authentication mit einem API-Benutzer, den der Kunde in seinem rapidmail-Konto im Bereich API anlegt. Die Website bekommt einen eigenen Zugang — nicht den des Marketings. zweck: authentifizierung d-02listen ### Empfängerlisten Empfängerlisten sind eine eigene Ressource der Schnittstelle: abrufen, anlegen, aktualisieren, löschen, dazu Aktivitätsstatistiken. Auf der Website entscheidet der Kontext, in welche Liste eine Anmeldung geht — ein Newsletter für alle, eine Liste je Standort oder je Thema. zweck: zielliste d-03empfänger ### Empfänger anlegen Ein Empfänger wird über die Ressource der Empfänger angelegt, mit der Zielliste und der E-Mail-Adresse als Kern und optionalen Angaben wie Vorname, Nachname und Anrede. Dieselbe Ressource kennt Abruf, Aktualisierung, Löschung und einen Import für ganze Listen. zweck: anmeldung schreiben d-04einwilligung ### Aktivierungsmail Beim Anlegen eines Empfängers ist die Option send_activationmail dokumentiert — damit verschickt rapidmail die Bestätigungsmail. Der Anbieter beschreibt das Double-Opt-in als den Weg, der bei ihm automatisch angewendet wird. Der Klick im Postfach macht den Eintrag aktiv, nicht der Aufruf von der Website. zweck: double-opt-in d-05segmente ### Extrafelder & Stichworte Neben der Adresse kennt eine Liste laut Hilfecenter Standardfelder wie Vorname, Nachname, Geschlecht, Titel, Postleitzahl und eine eigene Referenz. Darüber hinaus stehen bis zu zehn Extrafelder bereit, dazu Stichworte für die Segmentierung. Das Formular fragt trotzdem nur ab, was gebraucht wird. zweck: segmentierung d-06format & last ### Format & Grenzen Gearbeitet wird mit JSON; Accept und Content-Type stehen laut Dokumentation auf application/json, Sammlungen antworten im HAL-Format mit Links für die Blätterung. Für die Last nennt die Dokumentation eine Grenze: maximal zehn Anfragen pro Sekunde, darüber kommt Statuscode 503 zurück. zweck: json · 10 req/s ### Was auf der Website daraus entsteht Aus der Schnittstelle wird kein Schaltplan, sondern ein **Anmeldefeld, das man gern benutzt**. Es steht dort, wo Menschen ohnehin lesen: unter dem Artikel, im Footer, auf einer eigenen Newsletter-Seite, gelegentlich als Feld neben einem Download. Beschriftung, Fehlermeldung und Bestätigungstext sind Teil des Entwurfs und nicht das, was ein fremdes System zufällig ausgibt. Dazu gehören die **Zustände**, die ein Formular kennen muss: Absenden läuft, Anmeldung angenommen, bitte im Postfach bestätigen, Adresse bereits eingetragen, technischer Fehler. Jeder dieser Fälle bekommt einen eigenen Text und eine für Screenreader nachvollziehbare Meldung. Ein Formular, das im Fehlerfall schweigt, verliert Anmeldungen — und niemand merkt es. Und schließlich die **Anschlüsse**: die Dankeseite nach dem Absenden, der Hinweis auf die Bestätigungsmail, der Verweis auf die Datenschutzerklärung direkt am Formular sowie die Möglichkeit, sich abzumelden, ohne suchen zu müssen. Wo mehrere Formulare auf dieselbe Liste zeigen, sorgt ein Extrafeld dafür, dass später nachvollziehbar bleibt, woher eine Anmeldung kam. auf der website - ▸Anmeldefeld **im Seitendesign** - ▸Eigener Text je **Zustand** - ▸Dankeseite & **Postfach-Hinweis** - ▸Datenschutz-Hinweis **am Feld** - ▸Herkunft als **Extrafeld** - ▸Abmeldung **ohne Suche** integration ## rapidmail in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist bewusst systemunabhängig gedacht. Auf der Seite steht ein **eigenes Anmeldeformular im Design der Website** — dieselbe Typografie, dieselben Abstände, dieselbe Tastaturbedienung wie überall sonst. Es sendet an einen **serverseitigen Endpunkt** der eigenen Domain. Dieser Endpunkt hält die Zugangsdaten für rapidmail, prüft die Eingaben und trägt die Adresse dann über die API in die richtige **Empfängerliste** ein. Das **Double-Opt-in** übernimmt der Dienst: Er verschickt die Bestätigungsmail, und erst der Klick darin macht den Eintrag zu einem aktiven Empfänger. Zurück an den Absender geht eine klare Rückmeldung — angenommen, bitte im Postfach bestätigen, oder ein verständlicher Hinweis, wenn etwas schiefging. Was sich zwischen den Systemen unterscheidet, sind die Bordmittel: wie das Formular in die Seite kommt, wo die Route liegt, in welcher Datei die Zugangsdaten stehen und womit gerendert wird. Deshalb bauen wir die Anbindung in jedem CMS selbst, mit dessen eigenen Mitteln, statt sie als Fremdkörper anzuflanschen. Das hat einen praktischen Grund: Was mit den Mitteln des Systems gebaut ist, überlebt Updates, lässt sich von der Redaktion an der gewohnten Stelle platzieren und bleibt nachvollziehbar, wenn Jahre später jemand anderes hineinschaut. cms-01typo3 ### rapidmail in TYPO3 In TYPO3 entsteht die Anbindung als eigene Extension. Das Anmeldeformular wird ein Plugin-Element, das die Redaktion auf jeder Seite platzieren kann — im Footer, unter dem Artikel, auf einer eigenen Newsletter-Seite. Der Endpunkt liegt als serverseitige Route mit passender Middleware in derselben Extension: Sie nimmt das Formular entgegen, prüft die Eingaben, ruft die API und gibt das Ergebnis zurück. Die Zugangsdaten stehen in der Extension-Konfiguration und damit außerhalb des Frontends. Gerendert wird mit Fluid, also mit denselben Templates wie der Rest der Seite; Beschriftungen und Meldungen kommen aus den Sprachdateien und lassen sich für mehrsprachige Auftritte übersetzen. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### rapidmail in WordPress In WordPress bauen wir die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie erhalten, wenn das Theme wechselt oder überarbeitet wird. Eine eigene REST-Route nimmt die Anmeldung entgegen, prüft sie serverseitig und ruft die API auf; die Zugangsdaten liegen in der wp-config.php oder in einer Umgebungsvariablen des Servers und nie im Frontend. Fürs Ausspielen kommen Template-Dateien und Blocks für den Editor dazu, damit die Redaktion das Anmeldefeld dort einsetzt, wo es hingehört. Rückmeldungen und Fehlertexte sind übersetzbar und folgen dem Markup der übrigen Formulare. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### rapidmail in Statamic Statamic läuft auf Laravel, und das macht diesen Weg besonders geradlinig. Eine Route plus Controller nimmt das Formular entgegen; die Prüfung der Eingaben übernimmt die Validierung des Frameworks, der Aufruf der API läuft über den HTTP-Client. Ein Blueprint beschreibt das Formularmodell, also welche Felder es gibt und welche Pflicht sind, und hält es an einer Stelle statt verteilt im Template. Die Zugangsdaten stehen in der .env-Datei und damit außerhalb des Codes. Gerendert wird mit Antlers oder Blade, ausgeliefert über das Static Caching — der Endpunkt selbst bleibt davon ausgenommen, damit jede Anmeldung wirklich am Server ankommt. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Datenschutz in der Anbindung technik, nicht **rechtsberatung** Eine Newsletter-Anmeldung ist der Punkt, an dem eine Website personenbezogene Daten annimmt und an einen Dienstleister weitergibt. Was daran technisch zu tun ist, lässt sich klar benennen — die rechtliche Bewertung im Einzelfall gehört zur Rechtsberatung und nicht auf diese Seite. Wo eine Website beim Thema Datenschutz gerade steht, prüfen wir im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). **Einwilligung dokumentieren.** Das Double-Opt-in ist der Nachweis, und zwar genau deshalb, weil die Bestätigung aus dem Postfach kommt. Am Formular steht in klarer Sprache, wofür die Adresse verwendet wird, dazu der Verweis auf die Datenschutzerklärung. Vorbelegte Häkchen gibt es nicht, und die Einwilligung wird nicht mit einer anderen Zustimmung zusammengelegt. **Datensparsamkeit.** Ein Anmeldefeld braucht die E-Mail-Adresse. Alles Weitere muss sich rechtfertigen: Vorname für die Ansprache, ein Extrafeld für die Segmentierung — mehr nur, wenn der Newsletter es wirklich verwendet. Jedes zusätzliche Pflichtfeld kostet Anmeldungen und erzeugt Daten, die jemand später schützen und löschen muss. **Kein Fremdcode im Browser.** Weil das Formular auf der eigenen Domain liegt und nur der Server mit der Schnittstelle spricht, lädt der Browser der Besucher kein Skript eines Dritten, setzt keine fremden Cookies und verrät die IP-Adresse nicht an ein weiteres System. Das ist der Unterschied zwischen einer Anbindung und einem eingebetteten Fremdformular. **Auftragsverarbeitung.** Der Newsletter-Dienst verarbeitet die Adressen im Auftrag; rapidmail stellt den Auftragsverarbeitungs-Vertrag nach EU-DSGVO nach eigener Angabe online im Kundenkonto bereit und gibt an, alle Daten auf Servern in Deutschland zu speichern. Auf unserer Seite kommen die üblichen Pflichten dazu: Übertragung nur über TLS, Zugangsdaten getrennt vom Code, Protokolle ohne unnötige Inhalte, ein benennbarer Weg für Abmeldung und Löschung. Mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). im projekt geklärt - ▸Welche Felder sind **wirklich nötig**? - ▸Wie lautet der Text der **Einwilligung**? - ▸Wer pflegt die **Listen** im Konto? - ▸Wie läuft **Abmeldung und Löschung**? - ▸Steht der **AV-Vertrag** abgeschlossen bereit? [datenschutz-audit →](https://www.siteway.de/expertise/datenschutz-audit/) faq ## Häufige Fragen ### Was ist rapidmail? rapidmail ist ein Newsletter-Dienst aus Deutschland, entwickelt von einem Unternehmen mit Sitz in Freiburg im Breisgau. Im Browser werden Empfängerlisten gepflegt, Mailings gebaut und versendet, Ergebnisse ausgewertet. Der Anbieter gibt an, alle Daten auf Servern in Deutschland zu speichern, das Rechenzentrum nach ISO 27001 zertifizieren zu lassen und den Auftragsverarbeitungs-Vertrag nach EU-DSGVO direkt im Kundenkonto bereitzustellen. Für die Website zählt vor allem eines: rapidmail dokumentiert eine REST-API in Version 3.0, über die sich Empfängerlisten und einzelne Empfänger anlegen und pflegen lassen. ### Wie kommt eine Newsletter-Anmeldung von der Website nach rapidmail? Über ein eigenes Anmeldeformular im Design der Website und einen serverseitigen Endpunkt dahinter. Das Formular schickt die Eingaben an die eigene Seite, dort werden sie geprüft: Pflichtfelder, Format der Adresse, das Häkchen für die Einwilligung, Schutz gegen automatisierte Eintragungen. Erst danach ruft der Server die rapidmail-API auf und legt die Adresse in der gewählten Empfängerliste an. Die Zugangsdaten liegen dabei ausschließlich auf dem Server. Der Browser spricht nur mit der eigenen Domain und bekommt am Ende eine klare Rückmeldung: Bitte bestätige die Anmeldung in deinem Postfach. ### Wie funktioniert die rapidmail-API? Die dokumentierte Version 3.0 liegt unter apiv3.emailsys.net und ist ausschließlich über HTTPS erreichbar. Authentifiziert wird per HTTP Basic Authentication mit einem API-Benutzer, den man im rapidmail-Konto im Bereich API anlegt. Gearbeitet wird mit JSON; Accept und Content-Type stehen laut Dokumentation auf application/json, Sammlungen antworten im HAL-Format mit Links für die Blätterung. Die Ressourcen decken Mailings, Empfängerlisten, Empfänger, Blacklist und API-Benutzer ab. Für die Last nennt die Dokumentation eine klare Grenze: maximal zehn Anfragen pro Sekunde, darüber antwortet die Schnittstelle mit Statuscode 503. ### Was bedeutet Double-Opt-in und wer verschickt die Bestätigungsmail? Double-Opt-in heißt: Eine Anmeldung gilt erst dann, wenn sie aus dem Postfach heraus bestätigt wurde. Die Kette hat vier Glieder. Das Formular schickt die Adresse an den eigenen Server. Der Server legt sie über die API in der Empfängerliste an, noch nicht als bestätigten Empfänger. rapidmail verschickt daraufhin die Bestätigungsmail; beim Anlegen eines Empfängers ist dafür die Option send_activationmail dokumentiert. Erst der Klick auf den Link darin macht die Adresse zu einem aktiven Empfänger. Die Website legt niemanden direkt als bestätigt an, denn damit wäre genau der Nachweis weg, um den es geht. ### Wo werden die Daten verarbeitet? rapidmail gibt an, alle Daten auf Servern in Deutschland zu speichern, keine Daten an Dritte weiterzugeben und die Übertragung mit 256-Bit-SSL zu verschlüsseln; das Rechenzentrum ist nach ISO 27001 zertifiziert. Den Auftragsverarbeitungs-Vertrag nach EU-DSGVO stellt der Anbieter online im Kundenkonto bereit. Wem Verarbeitung in Deutschland und deutschsprachiger Support wichtig sind, für den ist das der naheliegende Weg. Ob er im konkreten Projekt der richtige ist, ordnen wir im Konzept ein, statt eine Rangliste zu behaupten. CleverReach, Brevo und Mailchimp beschreiben wir im Stack jeweils auf einer eigenen Seite. ### Lassen sich Zusatzfelder für die Segmentierung übergeben? Ja. Eine Empfängerliste kennt neben der E-Mail-Adresse Standardfelder wie Vorname, Nachname, Geschlecht, Titel, Postleitzahl und eine eigene Referenz. Alles darüber hinaus läuft über Extrafelder, von denen laut Hilfecenter bis zu zehn zur Verfügung stehen, etwa eine Kundennummer oder ein Interessengebiet. Dazu kommen Stichworte, mit denen sich Empfänger segmentieren lassen. Für die Website heißt das: Wir übergeben nur die Felder, die der Newsletter wirklich braucht. Jedes zusätzliche Pflichtfeld im Formular kostet Anmeldungen und muss sich rechtfertigen. ### Wie funktionieren Abmeldung und Löschung? Der Abmeldelink gehört in jede versendete Mail und wird vom Dienst selbst getragen; dafür muss die Website nichts bauen. Zusätzlich lassen sich Empfänger über die API löschen, und die Blacklist ist eine eigene Ressource der Schnittstelle: Adressen, die dort stehen, werden nicht mehr angeschrieben. Kommt eine Abmelde- oder Löschanfrage über ein Formular der Website, behandeln wir sie wie jede andere Anfrage auch, nämlich serverseitig, protokolliert und mit einer Rückmeldung an die Person. Wie lange welche Daten aufbewahrt werden dürfen, gehört in die rechtliche Prüfung. Wir bauen die Technik, die beides möglich macht. ### Lässt sich rapidmail in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien, und zwar als eigene Entwicklung mit den Bordmitteln des jeweiligen Systems. In TYPO3 bauen wir eine eigene Extension: das Anmeldeformular als Plugin-Element, eine serverseitige Route mit Middleware als Endpunkt, Fluid für die Ausgabe, die Zugangsdaten in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route für die Verarbeitung, den Zugangsdaten in der wp-config.php oder einer Umgebungsvariablen und Template-Dateien beziehungsweise Blocks fürs Frontend. In Statamic liegt Laravel darunter: Route plus Controller nehmen das Formular entgegen, ein Blueprint beschreibt das Formularmodell, die Zugangsdaten stehen in der .env-Datei, gerendert wird mit Antlers oder Blade. Die Mechanik ist überall dieselbe, nur die Bordmittel heißen anders. womit das zusammenhängt ## Womit das zusammenhängt dienste, bausteine & **leistung** - [CleverReach.](https://www.siteway.de/stack/cleverreach/) — Der zweite deutsche Dienst im Stack: eigene Schnittstelle, eigene Mechanik — dieselbe Frage nach Formular, Liste und Bestätigung. zur technik → - [Brevo.](https://www.siteway.de/stack/brevo/) — Newsletter, Transaktionsmails und Kontaktverwaltung in einem Werkzeug — und wie die Anmeldung von der Website dort ankommt. zur technik → - [Mailchimp.](https://www.siteway.de/stack/mailchimp/) — Der internationale Klassiker mit großem Funktionsumfang: was die Anbindung an eine deutsche Website dabei zu klären hat. zur technik → - [Newsletter & E-Mail.](https://www.siteway.de/expertise/newsletter-e-mail/) — Die Technik hier, der Baustein dort: die Newsletter-Anmeldung mit Double-Opt-in als Komponente für deine Website. Hier wird gebucht. zur komponente → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Wie wir Formulare grundsätzlich bauen: Validierung, Zustände, Fehlermeldungen, Barrierefreiheit — die Basis unter jedem Anmeldefeld. zur komponente → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Adressdaten fließen, wird es ernst: Zugangsdaten serverseitig, TLS, Datensparsamkeit, Auftragsverarbeitung. zur technik → Newsletter-Anmeldung mit rapidmail auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # rexx systems **rexx systems** ist eine modulare HR-Software aus Hamburg — 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](https://www.siteway.de/expertise/job-karriereportal/) — und zwar so, dass sie dort wie eigene Seiten aussehen, funktionieren und gefunden werden. siteway baut diese Strecke. stack system: rexx · hr & recruiting weg: feed · api · einbettung ziel: stellen auf deiner domain seit: 2006 [Anbindung anfragen](https://www.siteway.de/kontakt/) [Wie wir rexx anbinden](#einsatz) definition ## Was ist rexx systems? **rexx systems ist eine modulare HR-Software der rexx systems GmbH aus Hamburg.** Das Unternehmen wurde im Jahr 2000 gegründet, sitzt in der Süderstraße und hat weitere Standorte in Wien und Zürich. Die rexx Suite gliedert sich in drei Bereiche: HR-Management rund um die digitale Personalakte, Bewerbermanagement mit Karriereportal, Multiposting und Online-Assessment sowie Talent Management mit Mitarbeiterentwicklung, Skill-Management und Nachfolgeplanung. Typische Nutzer sind Personalabteilungen im Mittelstand und in Konzernen, die ihre Prozesse in einem System bündeln. Für eine Website ist davon genau ein Ausschnitt relevant: das **Recruiting-Modul**. Dort legt die Personalabteilung Ausschreibungen an, dort läuft der Bewerbungsprozess, dort liegen die Unterlagen. 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 rexx als führendes System und die Website als Anzeige. $ cat rexx.md - ✓HR-Software hamburg · seit 2000 - ✓Bewerbermanagement recruiting-modul - ✓Karriereportal im modulumfang - ✓Multiposting stellenbörsen - ✓rexx Hub rest-api · openapi - ✓Betrieb cloud oder on premise praxis ## Wie wir rexx anbinden daten holen · **selbst rendern** Es gibt nicht den einen Anschluss. rexx selbst beschreibt gleich mehrere Wege, wie Stellenanzeigen aus der Recruiting-Software auf eine Unternehmens-Website kommen: eine **eigenständige Karriereseite** mit eigener URL, **Reverse Proxy beziehungsweise Server Side Includes**, eine **iFrame-Einbindung**, ein **Popup- oder Layer-Fenster**, den **XML-Export samt RSS-Feed** sowie **Widgets** für Blogs und Microsites. Daneben steht der **rexx Hub**, die Integrationsplattform des Herstellers mit einer REST-API nach OpenAPI-Standard, Berechtigungssteuerung und Protokollierung. 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](https://www.siteway.de/stack/strukturierte-daten/), [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/), Ladeverhalten und URL-Struktur — also über genau die Punkte, an denen eine Karriereseite gefunden wird oder eben nicht. Der erste Schritt ist deshalb immer eine **Sichtung**: Welche Wege sind in eurem Vertrag freigeschaltet, welche Felder liefert die Quelle, wie sind Standorte und Bereiche benannt, wie sieht der Bewerbungsweg aus. Daraus entsteht ein Feld-Mapping, und erst danach wird gebaut — dasselbe Vorgehen wie bei jeder anderen [Schnittstelle](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01rexx bleibt das **führende System** - 02Stellen liegen auf **deiner Domain** - 03Erst **Feld-Mapping**, dann Template - 04Abgleich mit **Cache**, nie live pro Aufruf - 05Bewerberdaten **nicht zwischenlagern** - 06Ausfall der Quelle **bricht nichts** ### Feed, Schnittstelle oder Einbettung? 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-Feed Die Ausschreibungen kommen als XML oder RSS aus der Recruiting-Software, die Website holt sie in festem Takt ab. Robust, sparsam mit Rechten, unabhängig von der Verfügbarkeit der Quelle im Moment des Seitenaufrufs — und ausreichend, solange die Felder im Feed alles hergeben, was die Stellenseite zeigen soll. stärke: robust · einfach w-02api ### Schnittstelle Über den rexx Hub steht eine REST-API nach OpenAPI-Standard bereit, mit feingranularen Berechtigungen und Audit-Log. Der Weg trägt mehr: mehr Felder, gezielte Abfragen — und vor allem eine Richtung zurück, wenn eine Bewerbung aus dem eigenen Formular ins System soll. stärke: beide richtungen w-03einbettung ### Einbettung iFrame, Popup-Layer, Widget oder Reverse Proxy zeigen das fertige Jobportal des Anbieters im Rahmen der Website. Das ist der schnellste Start, weil praktisch nichts gebaut wird. Gestaltung, Markup und Ladeverhalten kommen dann allerdings vom Anbieter — inklusive der Frage, unter welcher Adresse der Inhalt zählt. stärke: sofort startklar Die Zuordnung fällt meist schnell. Ein **Feed** reicht, wenn eine überschaubare Zahl Stellen mit klaren Feldern gezeigt werden soll und ein Abgleich im Minuten- oder Stundentakt genügt. Eine **Schnittstelle** braucht es, sobald Daten zurücklaufen sollen oder Felder gefragt sind, die im Feed nicht auftauchen. Eine **Einbettung** ist der richtige Griff, wenn es schnell gehen muss oder das Bewerberportal mit Login ohnehin beim Anbieter bleibt. Häufig ist die Kombination die beste Antwort: Stellenliste und Detailseiten aus dem Feed 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](https://www.siteway.de/expertise/konzept-strategie/), nicht am Ende. zuordnung - ▸klare Felder, eine Richtung → **Feed** - ▸Bewerbung zurückschreiben → **API** - ▸Login-Bereich für Bewerber → **Einbettung** - ▸eigene Stellenseiten → **Feed oder API** bausteine · 6 details ## Die Anbindung im Detail jedes teil mit **klarem zweck** Zwischen „Stelle steht in rexx" 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](https://www.siteway.de/stack/cms-redaktion/): Titel, Standort, Bereich, Anstellungsart, Beschreibung, Ablaufdatum, Bewerbungslink. Was fehlt, ergänzt die Redaktion daneben — etwa ein Teamfoto oder ein Ansprechpartner, den das HR-System gar nicht kennt. 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](https://www.siteway.de/stack/suche/) auf statt in einem abgeschotteten Rahmen. zweck: finden statt scrollen d-04detailseite ### Detailseite & URLs Jede Stelle bekommt eine eigene, stabile Adresse unter deiner Domain — teilbar per Mail, verlinkbar aus Social, sauber in der Vorschau. Das Layout ist deins: dieselbe Typografie, dieselbe Navigation, derselbe Footer wie auf dem Rest der Website. 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](https://www.siteway.de/stack/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 rexx. 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 rexx übergibt. Der Bewerber bleibt durchgehend bei dir, Felder und Fehlermeldungen sind gestaltbar, die Barrierefreiheit liegt in unserer Hand — wie bei allen [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Dafür braucht es freigeschaltete Endpunkte, ein sorgfältiges Mapping und eine ehrliche Fehlerbehandlung: Was passiert, wenn die Übergabe scheitert, nachdem der Bewerber auf „Absenden" geklickt hat? Welcher Weg gebaut wird, hängt weniger an der Technik als an der Erwartung: Soll die Bewerbung Teil der Website sein oder Teil des HR-Systems? Wir stellen diese Frage im Briefing — und beantworten sie gemeinsam, bevor eine Zeile Template entsteht. zwei wege - ▸Weiterleitung: **keine Daten bei uns** - ▸Weiterleitung: **Bruch im Design** - ▸Eigenes Formular: **ein Fluss** - ▸Eigenes Formular: **volle Kontrolle** - ▸Eigenes Formular: **mehr Aufwand** integration · 3 systeme ## rexx systems in deine Website integrieren drei systeme · **ein muster** Ein Bewerbermanagement liefert Daten, ein [CMS](https://www.siteway.de/stack/cms-redaktion/) macht daraus Seiten. Der Weg dazwischen sieht in jedem System gleich aus: Ein geplanter Job holt den Stellen-Feed in festem Takt ab, legt jede Ausschreibung als **eigenen Inhalt im CMS** an — mit einer eigenen 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](https://www.siteway.de/stack/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 rexx oder in ein eigenes auf deiner Domain. Und genau hier liegt der Unterschied, der weiter oben schon anklang: Liegen die Stellen als echte Seiten deiner Domain, entsteht eigenes Markup aus deinen Feldern und zählt zu deiner Adresse. Eine Einbettung zeigt das fertige Portal des Anbieters schneller, Gestaltung und Markup kommen dann von dort. Beide Wege haben ihren Platz — für Sichtbarkeit unter der eigenen Adresse trägt der Weg über eigene Seiten. cms-01typo3 ### rexx in TYPO3 Der übliche Weg ist eine eigene Extension: Ein Scheduler-Task holt den Feed im festen Takt und schreibt die Stellen als eigene Datensätze in einen Ordner im Seitenbaum. Das Site Handling erzeugt daraus sprechende URLs, Fluid rendert Liste und Detailseite. Standort, Bereich und Anstellungsart liegen als eigene Felder, damit Filter und Sprachbäume mitlaufen. Die Redaktion ergänzt daneben, was das HR-System nicht kennt — Teamfoto, Ansprechpartner, Einstiegstext. Mehr zum System unter [TYPO3](https://www.siteway.de/stack/typo3/). weg: eigene extension · scheduler cms-02wordpress ### rexx in WordPress Hier entsteht ein eigenes Plugin: Ein geplanter Lauf holt den Feed und legt jede Stelle als Beitrag eines Custom Post Types an, Standort, Bereich und Anstellungsart als Taxonomien daneben. Damit greifen Permalinks, Archivseiten und die Website-Suche wie bei jedem anderen Inhalt, und jede Stelle hat ihre eigene Adresse. Das eigene Theme rendert Liste und Detailseite im Layout der Website; ergänzende Bilder und Textblöcke pflegt die Redaktion im Block-Editor. Mehr zum System unter [WordPress](https://www.siteway.de/stack/wordpress/). weg: eigenes plugin · custom post type cms-03statamic ### rexx in Statamic Unter Statamic liegt ein vollständiges Laravel — der Abruf ist deshalb ein Artisan-Kommando 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 und wird beim Speichern erneuert; Ergänzungen pflegt die Redaktion im Control Panel. Mehr zum System unter [Statamic](https://www.siteway.de/stack/statamic/). weg: artisan-kommando · 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. Genau darin liegt der Mehrwert einer eigenen Karriereseite: Liegen die Stellen als eigene Seiten auf deiner Domain, entsteht das Markup beim Rendern automatisch aus den Feldern, die aus rexx 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. 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](https://www.siteway.de/stack/strukturierte-daten/); was speziell für Stellenanzeigen gilt, unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). $ cat jobposting.md - ✓Titel pflicht - ✓Beschreibung pflicht - ✓Veröffentlichungsdatum pflicht - ✓Arbeitgeber pflicht - ✓Arbeitsort pflicht - ✓Ablaufdatum empfohlen - ✓Anstellungsart empfohlen - ✓Gehalt empfohlen 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 rexx — dort greifen Rollen, Protokolle und die **Löschfristen**, die das Personalwesen ohnehin einhalten muss. Der Hersteller ist nach ISO 27001:2022 zertifiziert und betreibt die Software wahlweise in Rechenzentren in Deutschland und der Schweiz oder auf euren eigenen Servern. 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](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - 01Übertragung **verschlüsselt** - 02Anhänge **weiterreichen, nicht lagern** - 03Zugangsdaten **nicht im Repository** - 04Löschfristen **im führenden System** - 05AV-Vertrag **vor dem Go-live** - 06Hinweis **am Formular** ### 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](https://www.siteway.de/stack/barrierefreiheit/). am formular - ▸Labels **sichtbar & verknüpft** - ▸Fehler **am Feld, im Klartext** - ▸Upload **per Tastatur bedienbar** - ▸Bestätigung **wird angesagt** faq ## Häufige Fragen ### Was ist rexx systems? rexx systems ist ein Hamburger Anbieter von HR-Software. Die rexx Suite ist modular aufgebaut und deckt drei Bereiche ab: HR-Management mit digitaler Personalakte, Bewerbermanagement mit Karriereportal, Multiposting und Online-Assessment sowie Talent Management mit Mitarbeiterentwicklung, Skill-Management und Nachfolgeplanung. Das Unternehmen wurde 2000 gegründet, sitzt in der Süderstraße in Hamburg und hat weitere Standorte in Wien und Zürich. Für die Website zählt vor allem das Recruiting-Modul: Dort entstehen die Stellenausschreibungen, die auf der Karriereseite erscheinen sollen. ### Wie kommen Stellen aus rexx auf unsere Karriereseite? rexx nennt dafür mehrere Wege: eine eigenständige Karriereseite mit eigener URL, Reverse Proxy beziehungsweise Server Side Includes, eine iFrame-Einbindung, ein Popup- oder Layer-Fenster, den XML-Export samt RSS-Feed und Widgets für Blogs und Microsites. Dazu kommt der rexx Hub, die Integrationsplattform des Herstellers mit einer REST-API nach OpenAPI-Standard. siteway arbeitet bevorzugt datengetrieben: Wir holen die Stellen als Feed oder über die Schnittstelle ab und bauen Liste und Detailseite selbst — im Design deiner Website, auf deiner Domain. ### Feed, Schnittstelle oder Einbettung — was passt wann? Ein Feed reicht, wenn die Felder überschaubar sind und Stellen nicht sekundengenau stimmen müssen — er ist der robusteste Weg und braucht die wenigsten Rechte. Eine Schnittstelle lohnt sich, wenn zusätzlich Daten zurückfließen sollen, etwa eine Bewerbung aus einem eigenen Formular, oder wenn Felder gebraucht werden, die im Feed nicht stehen. Die Einbettung über iFrame oder Reverse Proxy ist der schnellste Start, weil kaum etwas gebaut werden muss — dafür liegen Gestaltung, Markup und Ladeverhalten beim Anbieter. Entschieden wird am Ziel: Wer eigene Stellenseiten mit eigenem Markup will, geht über Feed oder Schnittstelle. ### Lässt sich rexx in WordPress, TYPO3 oder Statamic integrieren? Ja. In allen drei Systemen trägt derselbe Aufbau: Ein geplanter Job holt die Stellen aus rexx, legt jede Ausschreibung als eigenen Inhalt im CMS an, und das Template rendert Liste, Filter und Detailseite — jede Stelle mit einer eigenen URL auf deiner Domain. In WordPress ist das ein eigenes Plugin mit einem Custom Post Type für Stellen und Taxonomien für Standort und Bereich. In TYPO3 eine eigene Extension mit Scheduler-Task, eigenen Datensätzen und Fluid-Templates. In Statamic ein Artisan-Kommando im Scheduler, das Entries in eine Collection schreibt. Weil die Feldnamen je rexx-Installation unterschiedlich ausfallen, baut siteway die Abholung als schlanken eigenen Code und stimmt das Feld-Mapping vorab ab. 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. Genau dieses Markup entsteht, wenn die Stellen als eigene Seiten auf deiner Domain liegen — siteway erzeugt es beim Rendern aus den Feldern, die aus rexx 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. ### Bewerbung im rexx-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 rexx, dort läuft der Upload, und die Bewerbung liegt sofort im Bewerbermanagement. Der zweite Weg ist ein eigenes Formular auf deiner Domain, das die Daten über die Schnittstelle an rexx ü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. siteway klärt das vor dem Bauen, weil daran der ganze Bewerbungsweg hängt. ### Was passiert mit abgelaufenen Stellen? Fällt eine Stelle aus dem Feed, verschwindet sie beim nächsten Abgleich aus der Liste. Für die Detailseite nennt Google drei saubere Wege: das Ablaufdatum in die Vergangenheit setzen, die Seite mit Statuscode 404 oder 410 beantworten oder das JobPosting-Markup entfernen. Welcher Weg gewählt wird, legt siteway je Projekt fest — und leitet abgelaufene Stellen dorthin, wo es weitergeht: auf die Karriereübersicht statt in eine Sackgasse. ### 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, und Anhänge werden weitergereicht statt dauerhaft abgelegt. Führendes System bleibt rexx — dort greifen Rollen, Protokollierung und Löschfristen. Der Hersteller ist nach ISO 27001:2022 zertifiziert und betreibt die Software wahlweise in Rechenzentren in Deutschland und der Schweiz oder auf euren eigenen Servern. Der Auftragsverarbeitungsvertrag gehört ins Projekt, nicht ins Nachspiel. womit das zusammenhängt ## Womit das zusammenhängt komponente, leistung & **nachbarn** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Der Baustein, der auf deiner Website entsteht: Stellenliste, Detailseiten, Bewerbungsformular und Karriere-Übersicht. Hier wird gebucht. zur komponente → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung hinter dieser Seite: Scoping, Feld-Mapping, Entwicklung, Test und Monitoring — für rexx wie für jedes andere Fremdsystem. zur leistung → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was eine Stellenanzeige mitbringen muss, um in der Job-Box zu erscheinen — Pflichtfelder, Ablaufdatum und die häufigsten Stolpersteine. zur technik → - [Personio.](https://www.siteway.de/stack/personio/) — Dieselbe Frage, anderes System: wie Stellen aus Personio auf die eigene Karriereseite kommen — und wo sich die Wege unterscheiden. zur technik → - [Strukturierte Daten.](https://www.siteway.de/stack/strukturierte-daten/) — Wie wir Schema.org grundsätzlich bauen — die Basis, auf der das JobPosting-Markup einer Stellenseite entsteht. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Verschlüsselung, Header, Datensparsamkeit und der Umgang mit Zugangsdaten — die Regeln, nach denen jede Anbindung gebaut wird. zur technik → Stellen aus rexx auf deiner eigenen Karriereseite? [Anbindung anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Salesforce **Salesforce** ist eine cloudbasierte CRM-Plattform — und in vielen Vertriebsorganisationen das System, in dem am Ende jeder Kontakt landet. Für siteway heißt das: Die Website ist keine Insel, sondern der erste Schritt einer Kette. Diese Seite beschreibt die zwei Wege von einem Formular ins CRM — **REST-API** und **Web-to-Lead** — und wie wir sie anbinden. stack system: salesforce · crm-plattform wege: rest-api · web-to-lead zugang: oauth 2.0 seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Salesforce anbinden](#einsatz) definition ## Was ist Salesforce? **Salesforce ist eine cloudbasierte CRM-Plattform.** Vertrieb, Service und Marketing arbeiten darin im Browser mit denselben Datensätzen — bekannt vor allem als **Sales Cloud** für den Vertrieb, **Service Cloud** für den Kundenservice und **Marketing Cloud** für Kampagnen. Genutzt wird das System vor allem dort, wo viele Kontakte über längere Zeiträume und mehrere Stufen begleitet werden: in größeren Vertriebsorganisationen, im B2B-Geschäft, in Konzernstrukturen mit mehreren Standorten. Datenseitig ist Salesforce ein Baukasten aus **Objekten**. Die vier, um die es bei einer Website fast immer geht, heißen Lead für den noch unqualifizierten Erstkontakt, Contact für die Person, Account für das Unternehmen dahinter und Opportunity für den laufenden Verkaufsvorgang. Wird ein Lead im Vertrieb konvertiert, entstehen daraus Account, Contact und auf Wunsch eine Opportunity. Wer versteht, an welcher Stelle dieser Kette ein Website-Formular andockt, hat die halbe Schnittstelle schon geplant. Für die Website zählt davon vor allem eines: Salesforce dokumentiert seine **REST-API** öffentlich, mit OAuth 2.0 als Zugang und /services/data/ als Basispfad. Daneben steht mit **Web-to-Lead** ein Salesforce-eigener Weg, ein Formular ohne Programmierung entgegenzunehmen. Beide Wege führen dieselben Daten in dasselbe CRM. Sie unterscheiden sich darin, wie viel die Website unterwegs erfährt und beeinflussen kann. $ cat salesforce.md - ✓CRM-Plattform cloud · browser - ✓Clouds sales · service · marketing - ✓REST-API /services/data/ - ✓Zugang oauth 2.0 · jwt · client credentials - ✓Objekte lead · contact · account · opportunity - ✓Web-to-Lead formular ohne code praxis ## Wie wir Salesforce anbinden serverseitig · **kein lead verloren** Die erste Entscheidung fällt vor der ersten Zeile Code, und sie ist immer dieselbe: **Das Formular gehört der Website, nicht dem CRM.** Wir bauen es im Design und in der Sprache des Auftritts, mit eigener Validierung, eigener Fehlermeldung und eigener Bestätigungsseite — und schicken es an einen eigenen Endpunkt auf dem Server. Erst dieser Endpunkt spricht mit Salesforce. Der Besucher merkt davon nichts, und im Browser läuft dafür kein Fremdcode. Wie ein solches Formular aufgebaut ist, beschreiben wir in der Leistung [Formularstrecken](https://www.siteway.de/expertise/formularstrecken/). Danach kommt der **Zugang**. In Salesforce wird eine App angelegt — je nach Ausbaustufe eine Connected App oder eine External Client App —, die den Zugriff erlaubt und die Rechte festlegt. Für die Verbindung von Server zu Server nutzen wir einen der beiden dokumentierten Wege ohne Nutzerinteraktion: den **JWT-Bearer-Flow** mit zertifikatssigniertem Token oder den **Client-Credentials-Flow** mit Consumer Key und Secret. Das Access Token ist kurzlebig; die Erneuerung übernimmt der Server im Hintergrund, gecacht und gemeinsam für alle Aufrufe, statt bei jedem Formular neu. Dann das **Feld-Mapping**. Ein Lead in Salesforce hat sehr viele Felder, ein gutes Website-Formular sehr wenige. Wir legen fest, welches Formularfeld auf welches CRM-Feld geht, was Pflicht ist, was optional bleibt und welches Feld die Herkunft trägt — Kampagne, Seite, Sprachversion —, damit im Vertrieb später sichtbar ist, woher ein Kontakt kam. Alles, was nicht zugeordnet ist, wird gar nicht erst erhoben. Das ist Datensparsamkeit, und nebenbei ist es der kürzeste Weg zu einer höheren Absendequote. Beim **Schreiben** gehen wir nicht blind auf „anlegen“. Über die Upsert-Ressource wird ein Datensatz über ein externes Schlüsselfeld angesprochen: Existiert er, wird er aktualisiert; existiert er nicht, wird er angelegt. Damit ist derselbe Aufruf zweimal harmlos — die Voraussetzung dafür, dass ein zweiter Versuch nach einer Störung keinen zweiten Lead erzeugt. Was Salesforce darüber hinaus an eigenen Dubletten- und Zuordnungsregeln mitbringt, bleibt dabei aktiv und macht die zweite Sicherung. Und schließlich das, was in Angeboten gern fehlt: **der Fehlerfall**. Antwortet Salesforce nicht oder mit einem Fehler, wird der Vorgang nicht verworfen, sondern in eine Warteschlange gelegt und mit wachsendem Abstand erneut versucht. Jeder Versuch wird protokolliert, der Besucher bekommt seine Bestätigung trotzdem sofort, und der Lead geht zusätzlich per E-Mail raus. Ein Aussetzer im CRM darf nie zu einem verlorenen Kontakt werden — Details dazu in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst das **Feld-Mapping**, dann der Code - 02Formular im **eigenen Design**, eigener Endpunkt - 03Zugangsdaten **serverseitig**, nie im Browser - 04Token **zentral erneuern** und cachen - 05Schreiben über **externen Schlüssel** - 06Fehler **protokollieren** und wiederholen [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation von Salesforce — Ressourcen, Flows und Kopfzeilen im Original. Die Versionsnummer der API steht immer im Pfad, deshalb schreiben wir sie hier als vXX.X: Welche Version ein Projekt nutzt, wird beim Bauen festgelegt und nicht dem Zufall überlassen. d-01zugang ### OAuth & App Der Zugriff läuft über OAuth 2.0 und eine in Salesforce angelegte App — Connected App oder External Client App. Für Server zu Server ohne Login dokumentiert Salesforce den JWT-Bearer-Flow, bei dem ein per Zertifikat nach RSA SHA256 signiertes JWT gegen ein Access Token getauscht wird, sowie den Client-Credentials-Flow mit Consumer Key und Secret und einem festgelegten Integrationsnutzer. zweck: authentifizierung d-02objekte ### sObject-Ressourcen Datensätze liegen unter /services/data/vXX.X/sobjects/{Objekt}/. Ein POST auf diese Ressource legt einen Datensatz an; die Antwort enthält die ID, ein Feld für Fehler und ein Erfolgskennzeichen. Für die Website relevant sind vor allem Lead, Contact, Account und Opportunity — welches Objekt ein Formular bedient, klärt das Mapping. zweck: datensatz anlegen d-03dubletten ### Upsert & externer Schlüssel Ein PATCH auf /services/data/vXX.X/sobjects/{Objekt}/{Schlüsselfeld}/{Wert} legt den Datensatz an oder aktualisiert ihn — die Antwort sagt über ein Kennzeichen, welcher Fall eingetreten ist. Passen mehrere Datensätze auf den Schlüssel, kommt ein Fehler statt einer Vermutung zurück. Daneben greifen die Duplicate Rules und Matching Rules von Salesforce. zweck: eindeutig schreiben d-04limits ### Das Kontingent Salesforce rechnet Aufrufe organisationsweit ab: gegen die Summe aller API-Aufrufe einer Organisation in 24 Stunden, über REST-API, SOAP-API, Bulk API und die meisten Connect-REST-APIs hinweg. Der Stand steht im Antwort-Header Sforce-Limit-Info und unter /services/data/vXX.X/limits/ im Wert DailyApiRequests. Die Website darf davon nur einen kleinen Teil brauchen. zweck: geteilte ressource d-05web-to-lead ### Web-to-Lead Der Salesforce-eigene Weg ohne Programmierung: Im Setup wird ein HTML-Formular erzeugt, das seine Daten an Salesforce schickt und danach auf eine selbst gewählte Seite weiterleitet. Wählbar sind Standard- und eigene Lead-Felder, dazu Kampagne, Datensatztyp und ein reCAPTCHA-Feld. Salesforce nennt ein Kontingent von bis zu 500 Leads in 24 Stunden; darüber hinausgehende Anfragen kommen in eine Warteschlange. zweck: formular ohne code d-06zustellung ### Warteschlange & Wiederholung Kein Formular wartet auf das CRM. Der Eingang wird bestätigt, sobald die Daten auf dem Server liegen; die Übergabe an Salesforce läuft dahinter. Scheitert sie, wird der Vorgang mit wachsendem Abstand wiederholt, jeder Versuch protokolliert. Weil über den externen Schlüssel geschrieben wird, bleibt auch der dritte Versuch derselbe Datensatz. zweck: kein lead verloren ### API oder Web-to-Lead — wann welcher Weg passt Beide Wege sind von Salesforce vorgesehen, und beide führen ans Ziel. Sie beantworten nur unterschiedliche Fragen. **Web-to-Lead** ist ein Formular-POST mit anschließender Weiterleitung: schnell eingerichtet, ohne Programmierung, im Setup mit Zuordnungsregeln und Auto-Antwort kombinierbar. Es passt, wenn ein überschaubares Kontaktformular gebraucht wird, die Standardfelder reichen und das Tagesvolumen im dokumentierten Rahmen liegt. Die **REST-API** passt, wenn die Website mehr wissen und mehr können soll: Sie bekommt eine strukturierte Antwort mit der ID des angelegten Datensatzes, kann vorher validieren, Felder gezielt zuordnen, mehrstufige Strecken abbilden, auf Fehler reagieren und die Übergabe wiederholen. Genau das braucht eine [Lead-Magnet-Strecke](https://www.siteway.de/expertise/lead-magnet-formulare/) mit Download, Double-Opt-in und Herkunftsdaten — und jede Anbindung, die neben Leads auch Kontakte oder Vorgänge berührt. Häufig ist die ehrlichste Antwort eine Kombination: Web-to-Lead für das einfache Kontaktformular, die API für die Strecken, an denen Umsatz hängt. Welche Variante ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung und mit dem Mapping als Dokument. zuordnung - ▸schlankes Kontaktformular → **Web-to-Lead** - ▸Rückmeldung & Datensatz-ID → **API** - ▸mehrstufige Strecke → **API** - ▸hohes Tagesvolumen → **API** - ▸einfach starten, später ausbauen → **beides** integration ## Salesforce in deine Website integrieren drei systeme · **ein muster** Die Salesforce-Anbindung bauen wir in jedem System selbst — mit den Bordmitteln, die das CMS dafür mitbringt. Die Kette ist überall dieselbe, und sie hat eine klare Trennlinie. **Im CMS liegt, was die Redaktion sieht und pflegt:** das Formular als Inhalt oder Baustein, seine Felder und Beschriftungen, die Texte für Fehlermeldung und Bestätigung, die Zielseite nach dem Absenden, dazu die Zuordnung, welches Formular auf welches Salesforce-Objekt schreibt. **Serverseitig läuft, was der Besucher nie zu sehen bekommt:** die Anmeldung per OAuth, das gecachte Access Token und seine Erneuerung, die Prüfung der Eingaben, der Aufruf der API, die Warteschlange für gescheiterte Übergaben und das Protokoll. Die Zugangsdaten liegen dabei nie im Repository und nie im Frontend, sondern in der Konfiguration der jeweiligen Umgebung. Weil die Website nichts aus Salesforce anzeigen muss, um Leads zu übergeben, bleibt sie in ihrer Geschwindigkeit unabhängig: Ausgeliefert wird aus Cache oder statisch erzeugten Seiten, das CRM wird erst beim Absenden angesprochen. Muss doch einmal etwas aus dem CRM auf die Seite — eine Liste, ein Status im Kundenbereich —, holen wir es gebündelt in einem Hintergrundlauf und halten es im eigenen Bestand, statt pro Seitenaufruf zu fragen. Das schont das organisationsweite Kontingent und macht die Website unabhängig davon, ob Salesforce gerade antwortet. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts — nur daran, wo der Code liegt und wie die Redaktion ihn bedient. cms-01typo3 ### Salesforce in TYPO3 TYPO3 bringt mit Extbase, TCA, dem Scheduler und Fluid alles mit, was eine Anbindung braucht. Wir bauen sie als eigene Extension: Das TCA beschreibt das Datenmodell, also die Formularfelder und ihre Zuordnung auf die Salesforce-Objekte. Das Absenden läuft über eine serverseitige Route mit eigener Middleware — dort werden die Eingaben geprüft, das Access Token geholt und der Aufruf an Salesforce abgesetzt. Gescheiterte Übergaben nimmt ein Scheduler-Task noch einmal auf, damit kein Vorgang liegen bleibt. Die Zugangsdaten stehen in der Konfiguration der Extension und nie im Template. Gerendert wird über Fluid, sodass Formular, Fehlermeldung und Bestätigung im Layout der Website liegen; die Redaktion platziert das Formular als Content-Element auf jeder Seite. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Salesforce in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie jeden Theme-Wechsel und jedes Redesign. Eine eigene REST-Route nimmt das Formular entgegen, prüft die Eingaben serverseitig und übergibt sie an Salesforce; die Schlüssel liegen in der wp-config.php oder in einer Umgebungsvariablen, nicht in der Datenbank und nicht im Frontend. Ein geplanter Lauf im Hintergrund arbeitet die Warteschlange ab, wenn eine Übergabe nicht durchgegangen ist. Fürs Frontend kommen Template-Dateien und eigene Blocks für den Editor dazu, damit die Redaktion Formular, Bestätigungstext und Zielseite dort setzt, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Salesforce in Statamic Statamic läuft auf Laravel — und für eine API-Anbindung ist das der bequemste Unterbau der drei. Eine Route plus Controller nimmt das Formular entgegen, die Validierung kommt aus dem Framework, der Aufruf an Salesforce läuft als Job in der Queue, sodass der Besucher nicht auf das CRM wartet. Ein Artisan-Command im Laravel-Scheduler nimmt gescheiterte Übergaben erneut auf. Ein Blueprint beschreibt Formularfelder und Zuordnung im Control Panel, die Schlüssel stehen in der .env, Antlers oder Blade rendern Formular, Fehlermeldung und Bestätigung, Static Caching liefert die Seiten drumherum aus. [statamic im stack →](https://www.siteway.de/stack/statamic/) datenschutz ## Wenn Kontaktdaten das Haus verlassen datensparsam · **serverseitig** Ein CRM verarbeitet **personenbezogene Daten** — Name, E-Mail-Adresse, Telefon, Unternehmen, dazu oft Notizen und Verlauf. Damit ist die Anbindung keine reine Technikfrage. Es braucht eine Rechtsgrundlage für die Verarbeitung, eine [Datenschutzerklärung](https://www.siteway.de/datenschutz/), die das Formular und den Empfänger benennt, und einen Vertrag zur Auftragsverarbeitung mit dem Anbieter der Plattform — genauso wie beim Hoster. Wer die Daten außerhalb der EU verarbeitet, braucht zusätzlich eine tragfähige Grundlage für die Übermittlung. Technisch hat das drei Konsequenzen, die wir in jedem Projekt gleich behandeln. **Erstens: kein Fremdcode im Browser des Besuchers.** Das Formular gehört der Website, die Übergabe läuft serverseitig über TLS. So verlässt kein Datensatz die Seite, bevor der Besucher abgeschickt hat, und die Zugangsdaten bleiben da, wo sie hingehören. **Zweitens: Datensparsamkeit als Voreinstellung.** Übertragen wird, was im Mapping steht — nicht das, was ein Formular technisch abgreifen könnte. Kein Tracking-Profil im versteckten Feld, keine IP-Adresse ohne Zweck, kein Freitext für Daten, die niemand braucht. **Drittens: Einwilligung sauber und nachweisbar.** Wo eine Einwilligung nötig ist — etwa für einen Newsletter neben der eigentlichen Anfrage —, steht sie als eigene Auswahl im Formular, unvorbelegt und getrennt vom Absenden. Was der Besucher zugestimmt hat, wird mit Zeitpunkt und Textstand protokolliert und wandert als Feld mit ins CRM, damit der Nachweis dort liegt, wo später damit gearbeitet wird. Dazu gehören Löschfristen und die Frage, wer im Vertrieb welche Felder überhaupt sehen darf. Wie wir das im Stack grundsätzlich handhaben, steht unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). feste regeln - ▸Übergabe **serverseitig** über TLS - ▸Kein **Fremdcode** im Browser - ▸Nur Felder **aus dem Mapping** - ▸Einwilligung **unvorbelegt** und protokolliert - ▸**Auftragsverarbeitung** vertraglich geregelt - ▸**Löschfristen** benannt statt vergessen faq ## Häufige Fragen ### Was ist Salesforce? Salesforce ist eine cloudbasierte CRM-Plattform. Vertrieb, Service und Marketing arbeiten darin im Browser mit denselben Datensätzen — bekannt sind vor allem Sales Cloud für den Vertrieb, Service Cloud für den Kundenservice und Marketing Cloud für Kampagnen. Genutzt wird das System vor allem von größeren Vertriebsorganisationen, die viele Kontakte über längere Zeiträume und mehrere Stufen begleiten. Für die Website zählt davon vor allem eines: Salesforce dokumentiert seine REST-API öffentlich und bietet daneben mit Web-to-Lead einen eigenen Weg, um Formulardaten als Lead entgegenzunehmen. ### Wie kommen Leads von der Website nach Salesforce? Über zwei Wege, die Salesforce selbst vorsieht. Der eine ist die REST-API: Ein eigener Endpunkt auf dem Server der Website nimmt das Formular entgegen, meldet sich per OAuth an und legt den Datensatz über die sObject-Ressource an, also mit einem POST auf /services/data/vXX.X/sobjects/Lead/. Die Antwort enthält die ID des angelegten Datensatzes, ein Feld für Fehler und ein Erfolgskennzeichen. Der andere ist Web-to-Lead: Salesforce erzeugt im Setup ein HTML-Formular, das seine Daten direkt an Salesforce schickt und den Besucher danach auf eine Seite weiterleitet, die du selbst festlegst. Welcher Weg trägt, entscheiden wir im Konzept — nach Aufgabe, nicht nach Modernität. ### Was ist der Unterschied zwischen Web-to-Lead und der Salesforce-API? Es sind zwei Bauarten für dieselbe Aufgabe. Web-to-Lead ist ein Formular-POST an Salesforce mit anschließender Weiterleitung auf eine Zielseite. Es ist ohne Programmierung eingerichtet, lässt sich im Setup mit Zuordnungsregeln, Auto-Antwort-Vorlagen und einem reCAPTCHA-Feld kombinieren, und Salesforce nennt dafür ein Kontingent von bis zu 500 Leads in 24 Stunden; was darüber hinausgeht, landet in einer Warteschlange und wird nachgereicht. Über die REST-API bekommt die Website dagegen eine strukturierte Antwort zurück: Sie sieht, ob der Datensatz angelegt wurde, kennt seine ID, kann vorher validieren, Felder gezielt zuordnen und im Fehlerfall gezielt reagieren. Wer ein schlankes Kontaktformular braucht, ist mit Web-to-Lead schnell am Ziel. Wer Bestätigung, Zuordnung und Fehlerbehandlung im eigenen Ablauf haben will, nimmt die API. ### Wie meldet sich die Website bei Salesforce an? Über OAuth 2.0. Dafür wird in Salesforce eine App angelegt — je nach Ausbaustufe eine Connected App oder eine External Client App —, die den Zugriff erlaubt und die Rechte festlegt. Für die Verbindung von Server zu Server, bei der niemand interaktiv einen Login bestätigen kann, dokumentiert Salesforce zwei Wege. Beim JWT-Bearer-Flow schickt der Server ein JWT an den Token-Endpunkt, signiert mit einem Zertifikat nach RSA SHA256, und bekommt dafür ein Access Token; die App muss vorher freigegeben sein, Scopes lassen sich im JWT nicht mitgeben. Beim Client-Credentials-Flow werden Consumer Key und Consumer Secret gegen ein Token getauscht, wobei ein festgelegter Integrationsnutzer die Verarbeitung trägt. Beides läuft ohne Nutzerinteraktion — und beides gehört auf den Server, nie in den Browser des Besuchers. ### Was hat es mit den API-Limits von Salesforce auf sich? Salesforce rechnet API-Aufrufe nicht pro Formular ab, sondern organisationsweit. Die Dokumentation beschreibt ein Kontingent, das gegen die Summe aller API-Aufrufe einer Organisation in einem Zeitraum von 24 Stunden gerechnet wird; dazu zählen unter anderem die REST-API, die SOAP-API, die Bulk API und die meisten Connect-REST-APIs. Die Website teilt sich dieses Kontingent also mit jedem anderen System, das an derselben Salesforce-Organisation hängt. Deshalb fragt bei uns keine Seite das CRM bei jedem Aufruf. Wir bündeln Anfragen serverseitig, halten Daten im eigenen Bestand vor und schreiben nur, was geschrieben werden muss. Wie viel vom Kontingent übrig ist, meldet Salesforce im Antwort-Header Sforce-Limit-Info und über die Ressource /services/data/vXX.X/limits/ im Wert DailyApiRequests. ### Wie werden Dubletten in Salesforce vermieden? An zwei Stellen. Salesforce selbst bringt Dubletten- und Zuordnungsregeln mit, die sogenannten Duplicate Rules und Matching Rules; für Leads, Kontakte und Geschäftskunden sind Standardregeln von Haus aus aktiv und greifen beim Anlegen. Und die Website kann von sich aus eindeutig schreiben: Über die Upsert-Ressource wird ein Datensatz nicht blind angelegt, sondern über ein externes Schlüsselfeld angesprochen. Ein PATCH auf /services/data/vXX.X/sobjects/Lead/Schluesselfeld/Wert legt den Datensatz an, wenn es ihn noch nicht gibt, und aktualisiert ihn, wenn es ihn schon gibt; die Antwort sagt über ein Kennzeichen, welcher der beiden Fälle eingetreten ist. Passen mehrere Datensätze auf denselben Schlüssel, antwortet Salesforce mit einem Fehler, statt zu raten. ### Was passiert, wenn Salesforce gerade nicht erreichbar ist? Dann darf der Lead trotzdem nicht verloren gehen. Der serverseitige Endpunkt nimmt das Formular entgegen und bestätigt dem Besucher den Eingang, sobald die Daten sicher liegen — nicht erst, wenn das CRM geantwortet hat. Bleibt die Antwort aus oder kommt ein Fehler zurück, wandert der Vorgang in eine Warteschlange und wird mit wachsendem Abstand erneut versucht. Jeder Versuch wird protokolliert. Und weil über die Upsert-Ressource mit einem eigenen Schlüssel geschrieben wird, entsteht auch beim dritten Anlauf kein dritter Datensatz. Zusätzlich geht der Lead per E-Mail an ein Postfach, damit jemand ihn auch dann sieht, wenn die Technik noch arbeitet. Ein Aussetzer wird so zur Verzögerung statt zum Datenverlust. ### Lässt sich Salesforce in TYPO3, WordPress oder Statamic integrieren? Ja, in allen dreien. Die Anbindung bauen wir in jedem System selbst, mit dessen eigenen Bordmitteln. In TYPO3 entsteht eine eigene Extension: Extbase als Unterbau, TCA für das Datenmodell, eine serverseitige Route mit Middleware für den Formularversand, ein Scheduler-Task für wiederholte Läufe, Fluid für das Frontend; die Zugangsdaten liegen in der Konfiguration der Extension. In WordPress entsteht ein eigenes Plugin statt Theme-Code, damit die Anbindung einen Theme-Wechsel überlebt: eine eigene REST-Route nimmt das Formular entgegen, die Schlüssel liegen in der wp-config.php oder in einer Umgebungsvariablen, Template-Dateien und Blocks bringen Formular und Bestätigung ins Frontend. In Statamic liegt Laravel darunter: Route plus Controller für den Versand, ein Artisan-Command im Scheduler für Wiederholungen, ein Blueprint als Datenmodell, die Schlüssel in der .env, Antlers oder Blade für die Ausgabe. In allen drei Fällen liegt der Zugang auf dem Server — im Browser des Besuchers läuft dafür kein Fremdcode. womit das zusammenhängt ## Womit das zusammenhängt systeme, formulare & **leistung** - [HubSpot.](https://www.siteway.de/stack/hubspot/) — Das CRM mit starkem Marketing-Teil — anderes Modell, dieselbe Frage: Welche Felder gehen von der Website ins System und welche nicht? zur technik → - [Pipedrive.](https://www.siteway.de/stack/pipedrive/) — Das schlanke Vertriebs-CRM für kleinere Teams und wie ein Website-Formular seine Deals und Personen befüllt. zur technik → - [SAP.](https://www.siteway.de/stack/sap/) — Wenn hinter der Website nicht nur ein CRM steht, sondern das ERP: Stammdaten, Preise und Vorgänge aus dem Kernsystem. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Kontaktdaten fließen, wird es ernst: Zugangsdaten serverseitig, TLS, Datensparsamkeit, Auftragsverarbeitung. zur technik → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Das Formular als eigene Disziplin: Schritte, Validierung, Fehlermeldungen und die Bestätigung, die wirklich ankommt. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Leads von deiner Website direkt nach Salesforce? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # SAP **SAP** ist in vielen Unternehmen das führende System für Artikel, Preise, Kunden und Aufträge — und damit die Quelle für genau die Daten, die auf der Website erscheinen sollen. Für siteway ist die Anbindung deshalb keine Frage von „irgendwie exportieren“, sondern eine Frage der Architektur: Die Website spricht nie direkt mit dem ERP-Kern, sondern über eine definierte Schnittstelle — **OData** oder eine **Integrationsschicht**. Diese Seite beschreibt beide Wege und wie wir sie anbinden. stack system: sap · erp wege: odata · integrationsschicht format: json · xml seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir SAP anbinden](#einsatz) definition ## Was ist SAP? **SAP ist die ERP-Software der SAP SE aus Walldorf** — ein System, in dem Unternehmen ihre Geschäftsprozesse führen und, für eine Website entscheidend, ihre Stammdaten: Artikel, Preise, Kunden, Aufträge, Bestände. Neben dem seit Jahrzehnten verbreiteten klassischen ERP steht die neuere Produktlinie S/4HANA. Welche davon im Haus läuft, ändert an der Architektur einer Anbindung erstaunlich wenig — an der Frage, welcher Weg nach draußen freigeschaltet ist, dagegen viel. SAP ist ein weites Feld, und diese Seite versucht nicht, es zu vermessen. Sie beschreibt den Ausschnitt, der für eine Website zählt: **Wie kommen Daten heraus?** Dafür gibt es zwei etablierte Wege. Der erste sind **OData-Services** — SAP Gateway ist die REST-Schnittstelle der ABAP-Plattform und stellt Geschäftsdaten über HTTPS bereit, wahlweise als JSON oder XML. Die aufrufende Seite braucht dafür kein SAP-Spezialwissen. Der zweite Weg ist eine **Integrationsschicht** beziehungsweise Middleware, die das ERP kapselt und nach außen eine eigene, schlankere Schnittstelle anbietet. SAP bündelt solche Bausteine unter der Integration Suite; genauso kann es eine Middleware sein, die im Unternehmen ohnehin schon steht. Welcher Weg es wird, entscheidet in der Praxis die IT-Abteilung des Kunden — sie gibt frei, was das System nach außen zeigen darf. Unsere Aufgabe beginnt dahinter. $ cat sap.md - ✓ERP-System führendes system - ✓Stammdaten artikel · preise · kunden - ✓OData-Services rest über https - ✓SAP Gateway schnittstelle der abap-plattform - ✓Integrationsschicht middleware kapselt das erp - ✓Freigabe kommt aus der it des kunden praxis ## Wie wir SAP anbinden spiegeln · **nicht durchreichen** Der erste Schritt ist kein technischer, sondern ein organisatorischer: **Wir klären mit der IT des Kunden, welcher Weg freigeschaltet wird.** Ein OData-Service, den das Gateway bereitstellt, oder eine Integrationsschicht, die vor dem ERP steht — beides trägt, aber nur eines davon ist im konkreten Haus vorgesehen. Diese Entscheidung fällt vor dem Angebot, nicht im Projekt. Danach steht fest, mit wem die Website spricht, wer die Schnittstelle betreibt und wen wir fragen, wenn sich etwas ändert. Dann kommt das **Feld-Mapping**, und es kommt vor der ersten Zeile Code. Ein Artikel im ERP hat sehr viele Felder; eine Website braucht davon einen bewussten Ausschnitt. Wir halten schriftlich fest, welches ERP-Feld auf welches Website-Feld geht, was Pflicht ist, was optional bleibt und was das Haus gar nicht erst verlässt — Einkaufskonditionen, Margen, Lieferantendaten und interne Bemerkungen gehören nicht in ein öffentliches JSON. Für [mehrsprachige Auftritte](https://www.siteway.de/expertise/mehrsprachigkeit/) gehört dazu die Frage, welche Sprachfassungen das System überhaupt führt. Der wichtigste Punkt danach ist eine Architekturentscheidung, und sie ist nicht verhandelbar: **Ein ERP ist kein Frontend-Backend.** Es ist nicht dafür gebaut, jeden Seitenaufruf zu beantworten. Produktdaten, Preise und Verfügbarkeiten werden deshalb im festen Takt **in das [CMS](https://www.siteway.de/stack/cms-redaktion/) gespiegelt**, und das Frontend liest aus dem eigenen Bestand. Das hält die Seite schnell, macht sie unabhängig von der Erreichbarkeit des ERP und sorgt dafür, dass ein Wartungsfenster im System keinen leeren Produktkatalog produziert. **Live abgefragt wird nur, was live sein muss.** Der Auftragsstatus im Kundenzugang gehört dazu, der Produktname nicht. Und selbst die Live-Abfrage bekommt ein Zeitlimit und eine Rückfallebene: Antwortet das System nicht rechtzeitig, zeigt die Seite den zuletzt bekannten Stand mit Hinweis, statt den Besucher in einen Ladebalken laufen zu lassen. Ein langsames ERP darf nie eine langsame Website ergeben. Bleibt der **Fehlerfall**, der in Angeboten gern fehlt. Läuft ein Abgleich ins Leere oder kommt er unvollständig zurück, bleibt der letzte gute Stand stehen, der Lauf wird protokolliert und mit Abstand erneut versucht. Ein abgebrochener Import darf nie den Bestand leeren. Dasselbe gilt für den Rückkanal: Geht eine Anfrage nicht durch, ist sie trotzdem gesichert und geht zusätzlich per E-Mail raus. Die buchbare Leistung dahinter beschreiben wir unter [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Erst die **Freigabe der IT**, dann der Code - 02Das **Feld-Mapping** steht als Dokument - 03Daten **spiegeln**, nicht durchreichen - 04Live nur, **wo es live sein muss** - 05Zugangsdaten **serverseitig**, nie im Browser - 06Fehler **protokollieren**, Bestand halten [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail generisch statt **geraten** SAP-Landschaften unterscheiden sich stark von Haus zu Haus — welche Module laufen, was angepasst wurde, was nach außen freigegeben ist. Deshalb steht hier bewusst das, was systemunabhängig gilt, statt Konkretes, das im nächsten Projekt schon nicht mehr stimmt. Die verbindlichen Details liefert die IT des Kunden zum Projektstart. d-01weg a ### OData-Services OData ist ein offener Standard nach REST-Prinzipien, heute bei OASIS angesiedelt: Zugriff über HTTPS, Daten als JSON oder XML. SAP Gateway stellt Geschäftsdaten auf diesem Weg bereit — die aufrufende Seite braucht kein SAP-Spezialwissen, sondern spricht mit einer Web-Schnittstelle. zweck: daten lesen d-02weg b ### Integrationsschicht Statt das ERP direkt anzusprechen, spricht die Website mit einer Middleware davor. Sie kapselt das System, bietet nach außen eine schlankere Schnittstelle und entkoppelt beide Seiten. Ob dafür Bausteine aus der SAP Integration Suite dienen oder eine vorhandene Middleware, entscheidet die IT. zweck: erp kapseln d-03datenmodell ### Feld-Mapping Welches ERP-Feld wird welches Website-Feld? Das Mapping steht als Dokument, bevor gebaut wird: Pflichtfelder, optionale Felder, Einheiten, Sprachen — und die Liste dessen, was das Haus nicht verlässt. Die Artikelnummer aus dem ERP bleibt dabei der Schlüssel, über den ein zweiter Lauf den Datensatz wiedererkennt. zweck: klarheit vor code d-04takt ### Spiegeln in das CMS Der Import läuft in festem Takt und schreibt die Daten als eigene Inhaltsart in das CMS. Ausgeliefert wird danach aus dem eigenen Bestand — aus Cache oder statisch erzeugten Seiten. Das entkoppelt die Website vom Systemzustand und macht Filter und Suche schnell, weil sie auf lokalen Daten arbeiten. zweck: tempo & unabhängigkeit d-05live ### Live mit Rückfallebene Manches muss aktuell sein: Auftragsstatus, Lieferdatum, ein kundenindividueller Preis. Diese Abfragen laufen serverseitig und gezielt — mit Zeitlimit, mit kurzer Zwischenspeicherung und mit einer Rückfallebene, die den zuletzt bekannten Stand zeigt, wenn das System nicht rechtzeitig antwortet. zweck: aktualität ohne risiko d-06sicherheit ### Zugang & Protokoll Zugangsdaten liegen serverseitig, nie im Browser und nie im Repository. Der Zugang wird auf das Nötigste beschränkt: lesend, wo lesend reicht, und nur auf die freigegebenen Daten. Jeder Lauf und jeder Fehler wird protokolliert, damit im Zweifel nachvollziehbar ist, was wann gelaufen ist. zweck: trennung & nachweis ### Was auf der Website daraus entsteht Aus den gespiegelten Daten wird kein Datenbankauszug, sondern eine Website. Der [Produktkatalog](https://www.siteway.de/expertise/produktkatalog/) filtert über die Felder, die im Mapping definiert sind — Kategorie, Merkmale, Maße, Ausführung — und arbeitet auf dem eigenen Bestand, also ohne Wartezeit auf ein fremdes System. Die Produktseite bekommt eine sprechende, dauerhafte URL, die Merkmale als Tabelle, zugehörige Dokumente und, wo es passt, Preis und Verfügbarkeit. **Datenblätter** entstehen aus denselben Feldern, statt als PDF gepflegt zu werden. Für angemeldete Kunden kommt der [Kundenzugang](https://www.siteway.de/expertise/kundenportal-self-service/) dazu: Aufträge, Lieferungen, Belege, wiederkehrende Bestellungen. Hier wird gezielt live abgefragt, weil ein Auftragsstatus von gestern wertlos wäre — mit Zeitlimit und Rückfallebene, wie oben beschrieben. Und darunter steht die **Anfrage- oder Bestellstrecke**, die einen Warenkorb oder eine Anfrage in Richtung ERP zurückgibt, statt sie in einem Postfach zu parken. Beim **Datenschutz** laufen zwei Richtungen auseinander. Artikeldaten sind in der Regel unkritisch — Kundendaten sind es nie. Deshalb: Felder auf das Nötige begrenzen, Übertragung ausschließlich serverseitig über TLS, Zugriffe protokollieren, Löschfristen benennen und die Website sauber vom ERP getrennt halten. Was in den Kundenzugang darf und was nicht, ist eine Freigabefrage, keine Programmierfrage. Mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). auf der website - ▸Produktkatalog mit **Filter & Suche** - ▸Produktseite mit **dauerhafter URL** - ▸Datenblätter **aus den Feldern** - ▸Kundenzugang mit **Auftragsdaten** - ▸Anfrage- oder **Bestellstrecke** - ▸Zugriffe **protokolliert** integration ## SAP in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem CMS derselbe, und er ist bewusst systemunabhängig: **Die Website spricht nie direkt mit dem ERP-Kern**, sondern immer mit einer definierten Schnittstelle davor — einem freigegebenen OData-Service oder einer Integrationsschicht. Dahinter bleibt SAP unberührt, davor kann sich die Website weiterentwickeln, ohne dass jemand am führenden System schraubt. Was das CMS dafür mitbringen muss, ist schnell benannt: eine eigene Inhaltsart mit genau den Feldern aus dem Mapping, ein Platz für Bilder und Dokumente, und die Artikelnummer aus dem ERP als Schlüssel. Über diesen Schlüssel erkennt der zweite Lauf den Datensatz wieder und aktualisiert ihn, statt eine Dublette anzulegen. Der zweite Teil ist die Frage nach dem Takt: **Die Daten werden in das CMS gespiegelt**, damit die Seite schnell bleibt und auch dann verfügbar ist, wenn das ERP gerade in einem Wartungsfenster steht. Ein geplanter Lauf holt die Änderungen, das Frontend liest aus dem eigenen Bestand, und nur die Detailseiten und Listen, die sich wirklich geändert haben, werden aus dem Cache genommen. Erst dadurch werden Artikel aus SAP auf der Website zu echten Seiten mit dauerhafter URL — auffindbar, verlinkbar, indexierbar — statt zu einem eingebetteten Fremdinhalt. Welches CMS darunter arbeitet, ändert an dieser Mechanik nichts; nur die Werkzeuge heißen anders. cms-01typo3 ### SAP in TYPO3 Im Konzernumfeld ist TYPO3 oft ohnehin gesetzt — und es bringt alles mit, was eine ERP-Anbindung braucht. Wir bauen sie als eigene Extension auf Basis von Extbase: Das TCA beschreibt das Datenmodell, also die Inhaltsart mit genau den Feldern aus dem Mapping. Der Import läuft als Scheduler-Task in festem Takt, die Datensätze liegen als Records in einem Systemordner, Bilder und Dokumente in FAL. Gerendert wird über Fluid-Templates, sprechende URLs für Liste und Detailseite kommen aus dem Site Handling. Die Zugangsdaten zur Schnittstelle liegen in der Extension-Konfiguration und damit serverseitig. Die Redaktion sieht die Datensätze im Backend, pflegt eigene Texte in Feldern daneben, die der Import nicht anfasst, und platziert Teaser als Content-Element auf jeder Seite. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### SAP in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so bleibt sie beim Theme-Wechsel bestehen und lässt sich unabhängig vom Design weiterentwickeln. Die Artikel werden ein Custom Post Type mit eigenen Meta-Feldern für die Produktdaten und Taxonomien für die Filter, also Kategorie, Serie und Ausführung. Ein geplanter Lauf holt die Änderungen aus der Schnittstelle und schreibt sie über die Artikelnummer als Schlüssel nach. Eine eigene REST-Route nimmt serverseitige Aufrufe entgegen, etwa wenn ein vorgelagertes System eine Aktualisierung anstoßen soll; die Zugangsdaten liegen in der Server-Konfiguration und nie im Frontend. Fürs Ausspielen kommen Template-Dateien und Blöcke für den Editor dazu, damit die Redaktion Liste, Filter und Teaser dort platziert, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### SAP in Statamic Statamic läuft auf Laravel — und dieser Unterbau macht eine ERP-Anbindung besonders geradlinig. Ein Blueprint beschreibt das Datenmodell mit den Feldern aus dem Mapping. Ein Artisan-Command holt die Daten von der Schnittstelle und schreibt sie als Entries in eine eigene Collection; den Takt bestimmt der Laravel-Scheduler. Bilder und Datenblätter landen als Assets im eigenen Container. Die Zugangsdaten stehen in der .env und bleiben damit außerhalb des Codes. Antlers oder Blade rendern Liste, Filter und Detailseite, Static Caching liefert sie aus, sodass eine Anfrage an das ERP im Normalbetrieb gar nicht erst nötig ist. Im Control Panel pflegt die Redaktion Beschreibungstexte und Reihenfolge in Feldern, die der Import nicht überschreibt. [statamic im stack →](https://www.siteway.de/stack/statamic/) entscheidung ## Spiegeln oder live abfragen? zuordnung statt **rangliste** Das ist die Frage, die über Tempo, Stabilität und Aufwand einer SAP-Anbindung entscheidet — und sie wird nicht pauschal beantwortet, sondern je Datenart. An drei Mustern lässt sich das zuordnen. e-01spiegeln ### Wenn Stunden Genauigkeit reichen Artikelbezeichnungen, Beschreibungen, technische Merkmale, Kategorien, Datenblätter: Diese Daten ändern sich selten und müssen nicht sekundengenau stimmen. Sie werden im festen Takt gespiegelt und aus dem eigenen Bestand ausgeliefert — der Normalfall, und der Grund, warum die Seite schnell ist. import im takt e-02live ### Wenn es wirklich aktuell sein muss Auftragsstatus, Lieferdatum, ein kundenindividueller Preis im angemeldeten Bereich: Hier wäre der Stand von gestern wertlos. Diese Abfragen laufen gezielt und serverseitig — mit Zeitlimit, kurzer Zwischenspeicherung und einer Rückfallebene, die den letzten bekannten Stand zeigt. abfrage mit timeout e-03kombination ### Wenn beides zusammenspielt Meist die richtige Antwort: Der gespiegelte Bestand trägt Katalog, Filter und Suche, die Live-Abfrage ergänzt an den wenigen Stellen, an denen Aktualität zählt. Ein Weg für die Menge, ein Weg für den Moment — und die Website bleibt schnell, weil der zweite Weg die Ausnahme ist. bestand + moment ### Was vorher geklärt wird Fünf Fragen entscheiden die Richtung, und sie lassen sich in einem Termin mit der IT beantworten. Welcher Weg nach draußen ist freigegeben — ein OData-Service oder eine Integrationsschicht? Welche Felder dürfen die Schnittstelle passieren, und welche auf keinen Fall? Wie viele Datensätze sind es, und wie oft ändern sie sich? Soll die Website nur lesen oder auch etwas zurückgeben? Und wer ist auf Kundenseite Ansprechpartner, wenn sich an der Schnittstelle etwas ändert? Danach steht das Mapping als Dokument, bevor gebaut wird. Dieselbe Logik greift bei anderen Systemen dieser Klasse: [weclapp](https://www.siteway.de/stack/weclapp/) und [Dynamics 365 Business Central](https://www.siteway.de/stack/dynamics-365-business-central/) bringen eigene Schnittstellen mit, [Salesforce](https://www.siteway.de/stack/salesforce/) sitzt auf der Kundenseite desselben Datenflusses. Welche Anbindung ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸Katalog, Merkmale, Doku → **spiegeln** - ▸Auftragsstatus, Beleg → **live** - ▸Listenpreis → **spiegeln** - ▸Kundenpreis im Login → **live** - ▸Bestand plus Moment → **beides** faq ## Häufige Fragen ### Was ist SAP — und was bedeutet das für eine Website? SAP ist die ERP-Software der SAP SE aus Walldorf. Unternehmen führen darin ihre Geschäftsprozesse und vor allem ihre Stammdaten: Artikel, Preise, Kunden, Aufträge, Bestände. Neben dem seit Jahrzehnten verbreiteten klassischen ERP steht die neuere Produktlinie S/4HANA; für die Website ist die Unterscheidung selten entscheidend, für den Weg nach draußen dagegen schon. Denn für eine Website heißt SAP vor allem eines: Das ERP ist das führende System für die Daten, die auf der Seite erscheinen sollen. Gepflegt wird im ERP, angezeigt wird auf der Website — und dazwischen liegt eine Schnittstelle, keine zweite Pflegestelle. ### Wie kommen Daten aus SAP auf die Website? Über zwei Wege. Der erste sind OData-Services: SAP Gateway stellt Geschäftsdaten als REST-Schnittstelle über HTTPS bereit, in JSON oder XML, sodass ein externes System sie lesen kann, ohne SAP-Interna zu kennen. Der zweite ist eine Integrationsschicht beziehungsweise Middleware, die das ERP kapselt und nach außen eine eigene, schlankere Schnittstelle anbietet; SAP bündelt solche Bausteine unter der Integration Suite, es kann aber genauso eine bestehende Middleware des Unternehmens sein. Welcher Weg es wird, entscheidet in der Praxis nicht die Agentur, sondern die IT-Abteilung des Kunden: Sie gibt frei, was aus dem System heraus erreichbar sein darf. ### Was ist OData im SAP-Umfeld? OData ist ein offener Standard für den Zugriff auf Daten über das Web, ursprünglich von Microsoft entwickelt und heute bei der OASIS-Organisation angesiedelt. Er folgt REST-Prinzipien, läuft über HTTP beziehungsweise HTTPS und liefert Daten wahlweise als JSON oder als XML. Im SAP-Umfeld ist OData der Standardweg nach draußen: SAP Gateway ist die REST-Schnittstelle der ABAP-Plattform und stellt Geschäftsdaten als OData-Services bereit. Der Vorteil für uns ist, dass die aufrufende Seite kein SAP-Spezialwissen braucht — sie spricht mit einer dokumentierten Web-Schnittstelle wie mit jeder anderen auch. ### Spricht die Website direkt mit dem SAP-System? Nein, und das ist Absicht. Die Website spricht nie direkt mit dem ERP-Kern, sondern immer mit einer definierten Schnittstelle davor — einem freigegebenen OData-Service oder einer Integrationsschicht. Dahinter bleibt das ERP unberührt, davor kann sich die Website weiterentwickeln, ohne dass jemand am führenden System schraubt. Das trennt sauber, wer wofür verantwortlich ist: Die IT verantwortet, was die Schnittstelle herausgibt, wir verantworten, was die Website daraus macht. Und es hält den Zugriff klein, denn eine Schnittstelle lässt sich auf genau die Felder beschränken, die nach draußen dürfen. ### Was passiert, wenn SAP gerade nicht erreichbar ist? Nichts, was der Besucher merkt — wenn die Anbindung richtig gebaut ist. Ein ERP ist kein Frontend-Backend: Es ist nicht dafür gedacht, jeden Seitenaufruf zu beantworten, und es hat Wartungsfenster. Deshalb werden Produktdaten, Preise und Verfügbarkeiten im festen Takt in das CMS gespiegelt, und das Frontend liest aus dem eigenen Bestand. Fällt ein Abgleich aus, bleibt der letzte gute Stand stehen, der Lauf wird protokolliert und mit Abstand erneut versucht. Ein abgebrochener Import darf nie den Bestand leeren. Live abgefragt wird nur, was wirklich live sein muss — und selbst das mit Timeout und Rückfallebene, damit ein Wartungsfenster im ERP nicht die Website ausbremst. ### Welche Daten aus SAP gehören auf die Website — und welche nicht? Ein Artikel im ERP hat sehr viele Felder; eine Website braucht davon einen bewussten Ausschnitt. Nach draußen gehen die Felder, die ein Besucher sehen soll: Bezeichnung, Beschreibung, technische Merkmale, Zuordnung zu Kategorien, Dokumente, gegebenenfalls Preis und Verfügbarkeit. Im System bleibt alles, was intern ist — Einkaufskonditionen, Margen, Lieferantendaten, Kalkulationen, interne Bemerkungen. Deshalb steht bei uns das Feld-Mapping als Dokument, bevor gebaut wird: Es hält fest, welches ERP-Feld auf welches Website-Feld geht, was Pflicht ist, was optional bleibt und was das Haus gar nicht erst verlässt. ### Was lässt sich mit SAP-Daten auf der Website bauen? Vier Dinge kommen immer wieder vor. Ein Produktkatalog mit Filter und Suche, der auf den gespiegelten Artikeldaten arbeitet und damit ohne Wartezeit auf ein fremdes System auskommt. Datenblätter und Downloads, die aus denselben Feldern erzeugt werden, statt als PDF gepflegt zu werden. Ein Kundenzugang, in dem angemeldete Kunden ihre Aufträge, Lieferungen und Belege sehen — hier wird gezielt live abgefragt, weil ein Auftragsstatus von gestern wertlos wäre. Und eine Anfrage- oder Bestellstrecke, die den Warenkorb oder die Anfrage in Richtung ERP zurückgibt. Was davon sinnvoll ist, hängt am Geschäftsmodell, nicht an der Technik. ### Lässt sich SAP in TYPO3, WordPress oder Statamic integrieren? Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst, mit den Bordmitteln, die das CMS dafür mitbringt. In TYPO3 entsteht eine eigene Extension: Extbase als Unterbau, TCA als Datenmodell, der Import als Scheduler-Task, die Datensätze als Records, das Frontend über Fluid, die Zugangsdaten in der Extension-Konfiguration. Im Konzernumfeld ist TYPO3 damit oft gesetzt. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type mit Meta-Feldern, ein geplanter Lauf für den Abgleich und eine eigene REST-Route für serverseitige Aufrufe. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler, ein Blueprint als Datenmodell, die Datensätze als Entries in einer Collection, die Zugangsdaten in der .env. Die Mechanik bleibt in allen drei Fällen dieselbe — nur die Werkzeuge heißen anders. womit das zusammenhängt ## Womit das zusammenhängt systeme, frontend & **leistung** - [weclapp.](https://www.siteway.de/stack/weclapp/) — ERP aus der Cloud, gedacht für den Mittelstand — anderes System, dieselbe Frage: Was gehört auf die Website und in welchem Takt? zur technik → - [Dynamics 365 Business Central.](https://www.siteway.de/stack/dynamics-365-business-central/) — Die ERP-Linie aus dem Microsoft-Umfeld und wie ihre Artikel- und Auftragsdaten den Weg auf eine Website finden. zur technik → - [Salesforce.](https://www.siteway.de/stack/salesforce/) — Die Kundenseite desselben Datenflusses: Wo das ERP Artikel führt, führt das CRM Kontakte — und die Website spielt Anfragen zurück. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Kundendaten und Zugangsdaten im Spiel sind, wird es ernst: serverseitige Schlüssel, TLS, minimale Rechte, Protokollierung. zur technik → - [Produktkatalog.](https://www.siteway.de/expertise/produktkatalog/) — Was aus den gespiegelten Artikeldaten wird: Katalog mit Filter und Suche, Produktseiten mit dauerhafter URL, Datenblätter aus den Feldern. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Mapping, Umsetzung, Monitoring und Betrieb der Anbindung. Hier wird gebucht. zur leistung → Produktdaten aus SAP auf deine Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · security # Sicherheit & Datenschutz siteway liefert jede Seite über TLS aus und setzt einen festen Satz **HTTP Security Header** — Content-Security-Policy, HSTS, X-Content-Type-Options. Dazu bauen wir trackingfrei: lokale Schriften, lokale Assets, kein Fremd-CDN beim Seitenaufruf. So entsteht Absicherung, die zugleich **Datenschutz** ist. Die Prüfung liegt daneben — als [Security-Audit](https://www.siteway.de/expertise/security-audit/) und [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/). stack layer: tls · csp · hsts einsatz: jede seite · alle assets seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir absichern](#praxis) definition ## Was sind HTTP Security Header? **HTTP Security Header sind Anweisungen, die der Webserver bei jedem Seitenaufruf im Antwort-Header an den Browser mitschickt. Sie schalten Schutzfunktionen scharf, die der Browser von sich aus nicht nutzt.** Eine Content-Security-Policy legt fest, welche Quellen laden dürfen, HSTS erzwingt HTTPS, `X-Content-Type-Options: nosniff` stoppt das MIME-Raten. Der Punkt ist die Richtung: Nicht der Server wird geschützt, sondern der Browser des Besuchers wird angewiesen, sich defensiv zu verhalten. Fehlt der Header, bleibt die Funktion aus — mit ihm wehrt der Browser Cross-Site-Scripting, Clickjacking oder eine erschlichene HTTP-Verbindung selbst ab. Header kosten kein Kilobyte Ladezeit und sind trotzdem eine der wirksamsten Zeilen, die eine Seite ausliefern kann. $ cat security-header.md - ✓TLS / HTTPS tls 1.3 - ✓Content-Security-Policy csp - ✓Strict-Transport-Security hsts - ✓X-Content-Type-Options nosniff - ✓Referrer-Policy sparsam - ✓Lokale Fonts & Assets kein fremd-cdn praxis ## Wie wir absichern default an, nicht **nachgerüstet** Absicherung ist bei uns kein Punkt auf einer Checkliste am Ende, sondern eine Weichenstellung am Anfang. Jedes Projekt startet mit demselben Grundstock: TLS erzwungen, ein fester Satz Security Header, und eine Auslieferung, die keine fremden Hosts kennt. Das ist kein Extra, das man dazubucht — es ist die Standardeinstellung, von der wir nur mit gutem Grund abweichen. Die entscheidende Architektur-Entscheidung fällt bei den Assets. Weil wir **ohne Fremd-CDN** bauen — Schriften, Icons, Skripte und Bilder liegen lokal auf deiner Domain —, bleibt die **Content-Security-Policy** eng. Statt einer offenen Regel, die halb offene Türen lässt, reicht oft `default-src 'self'` als Basis. Eine enge CSP ist nicht nur sicherer, sie ist auch wartbar: Es gibt keine wandernde Liste externer Dienste, die man pflegen und im Blick behalten müsste. Ausgerollt werden die Header über die [Deployment-Pipeline](https://www.siteway.de/stack/deployment-betrieb/), versioniert im Git — nicht von Hand am Server nachgezogen. So ist dokumentiert, welche Regel warum gilt, und Staging und Live tragen denselben Schutz. Bei TYPO3, WordPress und Statamic setzen wir die Header auf Server- und Anwendungsebene, damit auch dynamische Antworten sie tragen. unser default-set - 01HTTPS **erzwungen**, HTTP → HTTPS - 02CSP eng, **default-src 'self'** - 03Assets **lokal**, kein Fremd-CDN - 04Header **im Git**, per Pipeline - 05Getrennte **Staging-/Live**-Umgebung header · 6 bausteine ## Die Header im Detail jeder wehrt einen **angriff** Sechs Zeilen, sechs Schutzwirkungen. Jeder Header adressiert eine konkrete Angriffsfläche — und greift nur, weil die Seite ohnehin schlank und ohne fremde Hosts gebaut ist. h-01verschlüsselung ### TLS / HTTPS Jede Verbindung verschlüsselt, TLS 1.3 als Ziel. HTTP-Aufrufe werden umgeleitet, damit nichts unverschlüsselt über die Leitung geht — die Grundlage, auf der alle anderen Header überhaupt Sinn ergeben. gegen: mitlesen · mitm h-02quellen-whitelist ### Content-Security-Policy Die Whitelist erlaubter Quellen für Skripte, Styles, Bilder und Schriften. Was nicht auf der Liste steht, blockiert der Browser. Bei uns bleibt sie eng, weil keine Fremd-Hosts nötig sind. gegen: xss · injection h-03https-zwang ### Strict-Transport-Security HSTS weist den Browser an, die Domain nur noch über HTTPS aufzurufen — auch bei getipptem http:// oder altem Link. Auf Wunsch mit Anmeldung zur Preload-Liste, damit der Schutz schon vor dem ersten Kontakt greift. gegen: ssl-stripping h-04mime-raten ### X-Content-Type-Options Mit `nosniff` hört der Browser auf, den Dateityp selbst zu erraten. Eine als Bild getarnte Skript-Datei wird dann nicht doch als Code ausgeführt — eine Zeile, die eine ganze Angriffsklasse schließt. gegen: mime-sniffing h-05einbettung ### Frame-Ancestors Wer die Seite in einen fremden iFrame laden darf, regelt `frame-ancestors` in der CSP — der moderne Nachfolger von X-Frame-Options. Standardmäßig verbieten wir Fremd-Einbettung ganz. gegen: clickjacking h-06datensparsamkeit ### Referrer-Policy Legt fest, wie viel über die Herkunft eines Klicks nach außen geht. Wir setzen sie sparsam, damit keine vollen URLs mit womöglich sensiblen Parametern an Ziel-Server weitergereicht werden — Datenschutz per Header. gegen: daten-leak haltung ## Absichern ist Datenschutz eine entscheidung, **zwei ziele** Die meisten Ratgeber behandeln Sicherheit und Datenschutz als zwei Baustellen. In der Umsetzung sind es oft dieselben Handgriffe. Wer **ohne Fremd-CDN** baut, härtet die Seite ab *und* hält Besucherdaten im Haus — zwei Ziele aus einer Entscheidung. Das klassische Beispiel sind Schriften. Bindet eine Seite **Google Fonts** direkt vom Google-Server ein, lädt der Browser des Besuchers die Datei dort — und überträgt dabei dessen IP-Adresse an einen Dritten, ohne Einwilligung. Genau das hat 2022 eine Abmahnwelle ausgelöst. Wir hosten Schriften und alle Assets deshalb **lokal** auf deiner Domain. Beim Seitenaufruf fließt kein Byte an Fremd-Hosts, und es gibt nichts, wofür ein Cookie-Banner um Einwilligung bitten müsste. Das ist gelebte **Datensparsamkeit**: Was nicht erhoben wird, kann nicht abfließen und nicht abgemahnt werden. Wo Tracking, Consent oder Analyse gewünscht sind, bauen wir sie bewusst und datenschutzkonform ein — als Entscheidung, nicht als eingeschleppte Standard-Last eines fremden Skripts. trackingfrei by design - 01Schriften **lokal**, kein Google Fonts - 02Kein Fremd-CDN **beim Aufruf** - 03Keine IP an **Dritte** - 04Erst Einwilligung, **dann** Tracking Details zum Umgang mit Daten stehen in der [Datenschutzerklärung](https://www.siteway.de/datenschutz/). beleg ## Belegt an der eigenen Seite was wir bauen, **fahren wir selbst** Diese Seite ist das Muster: ausgeliefert über TLS, mit gesetzten Security Headern, ohne Fremd-CDN und ohne Tracker beim Aufruf. Die Schriften, die du gerade liest, kommen von unserer Domain — nicht von Google. Dass das nicht zulasten der Geschwindigkeit geht, zeigt der PageSpeed-Wert der Startseite: mobil **100/100/100/100**. Schlanke, fremdfreie Auslieferung ist kein Kompromiss, sondern Voraussetzung für beides — Tempo und Datenschutz. live auf dieser seite transport: tls · hsts fonts: lokal tracker: 0 faq ## Häufige Fragen ### Was sind HTTP Security Header? HTTP Security Header sind Anweisungen, die der Webserver bei jedem Seitenaufruf im Antwort-Header an den Browser mitschickt. Sie schalten Schutzfunktionen scharf, die der Browser sonst nicht nutzt: Eine Content-Security-Policy legt fest, welche Quellen laden dürfen, HSTS erzwingt HTTPS, `X-Content-Type-Options: nosniff` stoppt das MIME-Raten. Ohne die Header bleiben diese Funktionen aus — mit ihnen wehrt der Browser Angriffe wie Cross-Site-Scripting oder Clickjacking selbst ab. ### Welche Security-Header setzt siteway ein? siteway liefert jede Seite über TLS aus und setzt einen festen Grundstock: Content-Security-Policy, Strict-Transport-Security (HSTS), `X-Content-Type-Options: nosniff`, X-Frame-Options beziehungsweise `frame-ancestors` in der CSP und eine sparsame Referrer-Policy. Die CSP schneiden wir auf das jeweilige Projekt zu, statt eine offene Blanko-Regel zu setzen — geprüft wird das Ergebnis danach im Security-Audit. ### Was bringt eine Content Security Policy (CSP)? Die Content-Security-Policy ist eine Whitelist: Sie sagt dem Browser, aus welchen Quellen Skripte, Styles, Bilder und Schriften geladen werden dürfen. Alles, was nicht auf der Liste steht, blockiert der Browser. Damit läuft eingeschleustes Fremd-Skript aus einer Cross-Site-Scripting-Lücke gar nicht erst an. Weil siteway ohne Fremd-CDN und ohne Tracker baut, bleibt die Policy eng — meist reicht die eigene Domain als erlaubte Quelle. ### Was bedeutet HSTS? HSTS steht für HTTP Strict Transport Security. Der Header weist den Browser an, die Seite ausschließlich über HTTPS aufzurufen — auch dann, wenn jemand `http://` tippt oder einem alten Link folgt. Das schließt die Lücke zwischen erstem Klick und Weiterleitung, über die ein Angreifer sonst mitlesen könnte. Auf Wunsch melden wir die Domain für die HSTS-Preload-Liste an, damit der Schutz schon vor dem ersten Kontakt greift. ### Warum sind lokale Schriften ein Datenschutz-Thema? Bindet eine Seite Google Fonts oder ein anderes Fremd-CDN direkt ein, lädt der Browser des Besuchers die Datei beim Drittanbieter — und überträgt dabei dessen IP-Adresse, ohne Einwilligung. Genau das hat 2022 zu einer Abmahnwelle geführt. siteway hostet Schriften und Assets deshalb lokal auf der eigenen Domain. Beim Seitenaufruf fließen keine Besucherdaten an Dritte, und die CSP kann eng bleiben. Sicherheit und Datenschutz fallen so in einer Entscheidung zusammen. ### Verbessern Security-Header das Google-Ranking? Direkt sind Security-Header kein Ranking-Faktor. Indirekt zahlen sie ein: HTTPS ist ein bestätigtes Signal, und eine trackingfreie, ohne Fremd-CDN gebaute Seite lädt schneller — was auf die Core Web Vitals einzahlt. Wichtiger ist der Vertrauens- und Rechtssicherheits-Gewinn: keine Mixed-Content-Warnung, keine Third-Party-Requests, die ein Cookie-Banner erzwingen. Das ist saubere Technik, die nebenbei die Sichtbarkeit stützt. ### Prüft ihr die Header auch nachträglich? Ja. Das Setzen der Header ist Teil jedes Projekts, die Prüfung eine eigene Leistung. Im [Security-Audit](https://www.siteway.de/expertise/security-audit/) testen wir die Header gegen den Ist-Stand und decken Konfigurationslücken auf, im [Datenschutz-Audit](https://www.siteway.de/expertise/datenschutz-audit/) prüfen wir Tracking, Third-Party-Requests und Consent. Wer nur wissen will, wie die eigene Seite dasteht, bucht das Audit einzeln — der Umbau folgt daraus, ist aber getrennt. womit das zusammenhängt ## Womit das zusammenhängt prüfen & **ausrollen** - [Security-Audit.](https://www.siteway.de/expertise/security-audit/) — Die Header und die Absicherung deiner bestehenden Seite prüfen lassen — mit Befund und Prioritätenliste. Der buchbare Gegenpart zu dieser Technik. zur leistung → - [Datenschutz-Audit.](https://www.siteway.de/expertise/datenschutz-audit/) — Tracking, Third-Party-Requests und Consent auf den Prüfstand: Wo fließen Daten ab, wo fehlt eine Einwilligung? Einzeln buchbar. zur leistung → - [Deployment & Betrieb.](https://www.siteway.de/stack/deployment-betrieb/) — Wie die Header ausgerollt werden: versioniert im Git, über eine Pipeline mit GitHub Actions, mit getrennter Staging- und Live-Umgebung. zur technologie → Deine Seite sicher und trackingfrei bauen? [Projekt anfragen](https://www.siteway.de/kontakt/) --- 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](https://www.siteway.de/expertise/job-karriereportal/) — 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 [Anbindung anfragen](https://www.siteway.de/kontakt/) [Wie wir sopea anbinden](#einsatz) 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. $ cat sopea.md - ✓HR-Cloud sopea gmbh · fellbach - ✓Recruiting bewerbermanagement - ✓Karriereportal im modulumfang - ✓Multiposting jobportale · social - ✓Onboarding workflows · checklisten - ✓Betrieb server in deutschland 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](https://www.siteway.de/stack/strukturierte-daten/), [Barrierefreiheit](https://www.siteway.de/stack/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](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01sopea bleibt das **führende System** - 02Stellen liegen auf **deiner Domain** - 03Erst **Feld-Mapping**, dann Template - 04Abgleich mit **Cache**, nie live pro Aufruf - 05Bewerberdaten **nicht zwischenlagern** - 06Ausfall der Quelle **bricht nichts** ### 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](https://www.siteway.de/expertise/konzept-strategie/), nicht am Ende. zuordnung - ▸eigene Stellenseiten → **Datenweg** - ▸Bewerbung zurückschreiben → **Schnittstelle** - ▸schnell startklar → **Einbettung** - ▸Pflege bleibt im HR → **Karriereportal** 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](https://www.siteway.de/stack/cms-redaktion/): 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](https://www.siteway.de/stack/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](https://www.siteway.de/stack/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](https://www.siteway.de/expertise/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. zwei wege - ▸Weiterleitung: **keine Daten bei uns** - ▸Weiterleitung: **Bruch im Design** - ▸Eigenes Formular: **ein Fluss** - ▸Eigenes Formular: **volle Kontrolle** - ▸Eigenes Formular: **mehr Aufwand** integration · 3 systeme ## sopea in deine Website integrieren drei systeme · **ein muster** Ein Bewerbermanagement liefert Daten, ein [CMS](https://www.siteway.de/stack/cms-redaktion/) 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](https://www.siteway.de/stack/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](https://www.siteway.de/stack/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 ``. Mehr zum System unter [WordPress](https://www.siteway.de/stack/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](https://www.siteway.de/stack/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](https://www.siteway.de/stack/strukturierte-daten/); was speziell für Stellenanzeigen gilt, unter [Google for Jobs](https://www.siteway.de/stack/google-for-jobs/). $ cat jobposting.md - ✓Titel pflicht - ✓Beschreibung pflicht - ✓Veröffentlichungsdatum pflicht - ✓Arbeitgeber pflicht - ✓Arbeitsort pflicht - ✓Ablaufdatum empfohlen - ✓Anstellungsart empfohlen - ✓Gehalt empfohlen ### 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. wem gehört was - ▸Jobbörse: **Reichweite auf Zeit** - ▸Social: **Aufmerksamkeit im Moment** - ▸Eigene Domain: **bleibt** - ▸Ziel aller Kanäle: **deine Stellenseite** 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](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - 01Übertragung **verschlüsselt** - 02Anhänge **weiterreichen, nicht lagern** - 03Zugangsdaten **nicht im Repository** - 04Löschfristen **im führenden System** - 05AV-Vertrag **vor dem Go-live** - 06Hinweis **am Formular** ### 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](https://www.siteway.de/stack/barrierefreiheit/). am formular - ▸Labels **sichtbar & verknüpft** - ▸Fehler **am Feld, im Klartext** - ▸Upload **per Tastatur bedienbar** - ▸Bestätigung **wird angesagt** 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. womit das zusammenhängt ## Womit das zusammenhängt komponente, leistung & **nachbarn** - [Job- & Karriereportal.](https://www.siteway.de/expertise/job-karriereportal/) — Der Baustein, der auf deiner Website entsteht: Stellenliste, Detailseiten, Bewerbungsformular und Karriere-Übersicht. Hier wird gebucht. zur komponente → - [Schnittstellen & Integration.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Leistung hinter dieser Seite: Scoping, Feld-Mapping, Entwicklung, Test und Monitoring — für sopea wie für jedes andere Fremdsystem. zur leistung → - [Google for Jobs.](https://www.siteway.de/stack/google-for-jobs/) — Was eine Stellenanzeige mitbringen muss, um in der Job-Box zu erscheinen — Pflichtfelder, Ablaufdatum und die häufigsten Stolpersteine. zur technik → - [Personio.](https://www.siteway.de/stack/personio/) — Dieselbe Frage, anderes System: wie Stellen aus Personio auf die eigene Karriereseite kommen — und wo sich die Wege unterscheiden. zur technik → - [rexx systems.](https://www.siteway.de/stack/rexx-systems/) — HR-Software mit Bewerbermanagement — und die Wege, auf denen die Stellen daraus zur eigenen Karriereseite finden. zur technik → - [P&I LogaHR.](https://www.siteway.de/stack/pi-loga/) — Noch ein HR-System mit Recruiting-Modul — und die Frage, wie die Stellen daraus als eigene Seiten auf der eigenen Domain landen. zur technik → Stellen aus sopea auf deiner eigenen Karriereseite? [Anbindung anfragen](https://www.siteway.de/kontakt/) --- stack · cms # Statamic **Statamic** ist ein Flat-File-CMS auf Laravel-Basis: Inhalte liegen als Markdown und YAML im Dateisystem — versioniert in Git statt in einer Datenbank. Für siteway ist das die erste Wahl, wenn eine Website schlank, schnell und wartungsarm sein soll. Läuft unter anderem bei [garbe.world](https://www.siteway.de/cases/garbe/) und [MietOK](https://www.siteway.de/cases/mietok/). stack stack: statamic · flat-file einsatz: schlanke sites · git-workflow basis: laravel seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Statamic einsetzen](#einsatz) definition ## Was ist Statamic? **Statamic ist ein Flat-File-Content-Management-System auf Basis des PHP-Frameworks Laravel: Seiten, Beiträge und Einstellungen liegen als Markdown- und YAML-Dateien im Dateisystem statt in einer Datenbank.** Gepflegt werden sie über das Control Panel — eine Backend-Oberfläche im Browser mit Formularen, Medienverwaltung und Live-Preview. Jack McDade hat Statamic 2012 gestartet; seit Version 3 aus dem Jahr 2020 ist es ein [Laravel](https://www.siteway.de/stack/laravel/)-Paket und steht inzwischen bei Version 6. Der Unterschied zu einem datenbankgestützten [CMS wie TYPO3 oder WordPress](https://www.siteway.de/stack/cms-redaktion/) ist keine Geschmacksfrage, sondern eine Architektur-Entscheidung: Der Redaktionsstand wird zum Teil des Repositories — mit Historie, Branches und demselben Deployment wie der Code. $ cat statamic.md - ✓Flat-File markdown + yaml - ✓Keine Datenbank kleine angriffsfläche - ✓Inhalte in Git versioniert - ✓Control Panel redaktion - ✓Antlers & Blade templating - ✓Static Caching html vom webserver praxis ## Wie wir Statamic einsetzen modell zuerst · **template danach** Wir fangen bei Statamic nie beim Layout an, sondern beim **Inhaltsmodell**. Collections bilden die Inhaltsarten ab — Seiten, Beiträge, Standorte, Objekte — und Blueprints legen fest, welche Felder eine Redakteurin tatsächlich sieht. Wer das sauber schneidet, spart sich später jede Diskussion über verrutschte Layouts: Das Formular lässt schlicht nur zu, was vorgesehen ist. Für Fließtext nutzen wir den Block-Editor **Bard** mit fest definierten Bausteinen statt freiem HTML. Getemplatet wird nah am Standard — **Antlers** für die klassischen Views, Blade dort, wo Laravel-Logik danebensteht. Kein Page-Builder, der Markup aufbläht: Das Ergebnis ist semantisches HTML, auf dem [Barrierefreiheit](https://www.siteway.de/stack/barrierefreiheit/) und [strukturierte Daten](https://www.siteway.de/stack/strukturierte-daten/) überhaupt erst funktionieren. Bilder liefern wir als AVIF und WebP aus, die Suche läuft über [Pagefind](https://www.siteway.de/stack/suche/) — ein Index als Datei passt zur Flat-File-Logik, es braucht keinen Suchserver daneben. Der größte Hebel liegt im Betrieb. Weil Inhalte Dateien sind, liegt der komplette Redaktionsstand im Repository und geht über [Git und GitHub Actions](https://www.siteway.de/stack/deployment-betrieb/) live — nachvollziehbar und rückrollbar, ohne Datenbank-Dump und ohne Drift zwischen Staging und Produktion. Ausgeliefert wird über **Static Caching**: In der vollen Ausbaustufe legt Statamic fertige HTML-Dateien ab, die der Webserver ausgibt, bevor PHP überhaupt startet. Genau so läuft garbe.world. unsere leitplanken - 01Erst **Blueprints**, dann Templates - 02Bard mit **definierten Sets**, kein freies HTML - 03Antlers & Blade **nah am Standard** - 04Addons nur mit **Begründung** - 05Inhalte & Code über **Git** - 06Auslieferung über **Static Caching** bausteine · 6 details ## Die Bausteine im Detail jeder mit **klarem zweck** Statamic bringt viel mit. Das sind die Teile, die in unseren Projekten tatsächlich tragen — und wofür wir sie einsetzen. d-01modell ### Collections & Blueprints Collections sind die Inhaltsarten, Blueprints die Feldsätze dahinter — vom Textfeld über Bilder und Datumsangaben bis zu verschachtelten Blöcken. Wir schneiden sie eng: Was nicht im Blueprint steht, kann auch nicht kaputtgehen. zweck: inhaltsmodell d-02redaktion ### Control Panel & Bard Die Redaktionsoberfläche im Browser: Formulare aus dem Blueprint, Medienverwaltung, Live-Preview neben dem Feld. Bard ist der Block-Editor für Fließtext — bei uns immer mit fest definierten Bausteinen. zweck: pflege ohne code d-03templating ### Antlers & Blade Antlers ist die Template-Sprache von Statamic, Blade die von Laravel — beide stehen zur Wahl, oft nebeneinander. Wir bleiben nah am Standard, damit das Markup schlank bleibt und ein Nachfolger es lesen kann. zweck: semantisches markup d-04versionierung ### Git-Integration Statamic kann Änderungen aus dem Control Panel automatisch committen. Damit ist jede redaktionelle Änderung ein Commit mit Autor und Zeitstempel — und jeder Fehlgriff eine Zeile in der Historie statt ein Backup-Fall. zweck: content mit historie d-05tempo ### Static Caching Zwei Stufen: die schlanke cacht auf Anwendungsebene, die volle legt fertige HTML-Dateien ab, die der Webserver direkt ausgibt. Die Invalidierung läuft über Regeln beim Speichern — schnell, ohne dass Inhalte veralten. zweck: auslieferung ohne php d-06erweiterung ### Laravel-Unterbau & APIs Unter Statamic liegt ein vollständiges Laravel. Eigene Routen, Jobs, Kommandos oder eine Anbindung ans Fremdsystem entstehen daneben, ohne das CMS zu verlassen. REST- und GraphQL-API machen bei Bedarf auch einen Headless-Betrieb möglich. zweck: logik daneben beleg · cases ## Statamic in echten Projekten nicht aus der **doku** **garbe.world** zeigt, dass Flat-File nicht klein bedeuten muss: rund 300 redaktionell gepflegte Einträge — Objekte, Standorte, Storys — die zugleich die Pins auf einer Mapbox-Karte setzen. Die Redaktion pflegt Inhalte und Kartendaten im Control Panel, die Auslieferung läuft über statisches Caching. Ein Jubiläums-Portal, das jahrelang wächst, ohne dass jemand eine Datenbank betreuen muss. [Zum Case GARBE](https://www.siteway.de/cases/garbe/). Bei **MietOK** teilen wir die Last: Die Marketingseite läuft auf Statamic, das eigentliche Portal mit Accounts, Bewerberprozessen und Dashboards auf [Laravel](https://www.siteway.de/stack/laravel/). Beide teilen sich den Unterbau, bleiben aber sauber getrennt — Inhalt bleibt Inhalt, Anwendung bleibt Anwendung. Genau dieses Nebeneinander ist der Grund, warum Statamic bei uns so oft die erste Wahl ist. [Zum Case MietOK](https://www.siteway.de/cases/mietok/). zwei projekte - ▸garbe.world: **~300 Einträge** redaktionell - ▸Karte über **Mapbox / OpenStreetMap** - ▸Auslieferung mit **statischem Caching** - ▸MietOK: Statamic **+ Laravel-Portal** [alle cases ansehen →](https://www.siteway.de/cases/) entscheidung ## Wann Statamic passt — und wann nicht zuordnung statt **rangliste** Statamic ist ein Werkzeug, kein Bekenntnis. Es spielt seine Stärke bei überschaubaren Redaktionen, klar strukturierten Inhalten und einem Team aus, das Deployments über Git will. An drei Zeichen erkennen wir, dass es passt — darunter steht, wohin wir sonst greifen. e-01wartung ### Wenig Wartung gewünscht Keine Datenbank heißt: kein Datenbank-Betrieb, kein Dump im Backup, eine Baustelle weniger bei jedem Update. Wer eine Website will, die läuft statt gepflegt zu werden, ist hier richtig. weniger bewegliche teile e-02workflow ### Git-Workflow im Team Wenn Inhalte denselben Weg gehen sollen wie Code — Branch, Review, Deployment, Rollback — spielt Statamic seine Trumpfkarte aus. Der Redaktionsstand ist Teil des Repositories, nicht ein separater Zustand daneben. content im repo e-03tempo ### Tempo & eigene Logik Static Caching liefert HTML aus, bevor PHP startet — und weil Laravel darunterliegt, lässt sich echte Anwendungslogik danebenstellen. Karte, Rechner, Anbindung: alles im selben Projekt. schnell + erweiterbar ### Wann ein anderes System besser trägt Bei sehr großen Redaktionen kippt die Rechnung. Viele Autoren, feingranulare Rollen, Freigabe-Workflows und parallele Sprachbäume sind das Terrain von [TYPO3](https://www.siteway.de/stack/typo3/) — der Case Spelsberg läuft dort in 13 Sprachen, und das aus gutem Grund. Auch bei sehr großen Inhaltsmengen mit komplexen Filtern und Sortierungen spielt eine Datenbank ihre Stärke aus; Statamic bietet dafür zwar einen Eloquent-Treiber, aber dann ist die Frage erlaubt, ob das noch der richtige Weg ist. Und wenn die Redaktion seit Jahren mit einer bestimmten Oberfläche arbeitet oder ein großes Plugin-Ökosystem gebraucht wird, ist [WordPress](https://www.siteway.de/stack/wordpress/) der pragmatischere Weg. Statamic richtet sich außerdem an Entwickler: Installation und Setup laufen über die Kommandozeile, nicht über einen Klick-Installer. Welches System ein Projekt bekommt, klären wir im [Konzept](https://www.siteway.de/expertise/konzept-strategie/) — vor dem Bauen, mit Begründung. zuordnung - ▸schlank, schnell, Git → **Statamic** - ▸Rollen, Sprachen, Umfang → **TYPO3** - ▸vertraute Redaktion, Blog → **WordPress** - ▸Prozesse statt Seiten → **Laravel** faq ## Häufige Fragen ### Was ist Statamic? Statamic ist ein Flat-File-CMS auf Basis des PHP-Frameworks Laravel. Inhalte liegen als Markdown- und YAML-Dateien im Dateisystem statt in einer Datenbank, gepflegt wird über ein eigenes Control Panel im Browser. Jack McDade hat Statamic 2012 gestartet; seit Version 3 aus dem Jahr 2020 ist es ein Laravel-Paket, inzwischen steht es bei Version 6. siteway setzt Statamic für schlanke, wartungsarme Websites ein — unter anderem bei [garbe.world](https://www.siteway.de/cases/garbe/) und bei der Marketingseite von [MietOK](https://www.siteway.de/cases/mietok/). ### Was heißt Flat-File — und was ändert sich ohne Datenbank? Flat-File heißt: Jeder Beitrag, jede Seite und jede Konfiguration ist eine Datei. Text steht als Markdown darin, die Felder als YAML. Drei Dinge ändern sich dadurch. Erstens fällt die Datenbank als Angriffsfläche und als Wartungslast weg. Zweitens ist der Redaktionsstand Teil des Git-Repositories: Er wird mit dem Code deployt, ist versioniert und rückrollbar. Drittens fällt der Datenbank-Zugriff pro Seitenaufruf weg, was die Auslieferung schneller macht. Der Preis dafür: Ohne Datenbank fehlen bei sehr großen Inhaltsmengen die schnellen Abfragen — dann ist ein anderes System die bessere Wahl. ### Wie pflegt die Redaktion Inhalte in Statamic? Im Control Panel, der Backend-Oberfläche von Statamic im Browser. Welche Felder eine Seite hat, legen Blueprints fest — von einfachen Textfeldern über Bilder und Datumsangaben bis zu verschachtelten Blöcken. Für redaktionelle Texte nutzt siteway den Block-Editor Bard mit fest definierten Bausteinen statt freiem HTML, sodass Layout und Markup sauber bleiben. Die Live-Preview zeigt Änderungen direkt neben dem Formular, bevor sie veröffentlicht werden. Redaktion und Dateiablage schließen sich nicht aus: Was im Control Panel gespeichert wird, landet als Datei im Repository. ### Wann ist Statamic die richtige Wahl — und wann TYPO3 oder WordPress? Statamic passt bei überschaubaren Redaktionen, klar strukturierten Inhalten, hohem Tempo-Anspruch und einem Team, das Git-Deployments will — von der Unternehmenswebsite bis zum Content-Portal mit einigen hundert Einträgen. [TYPO3](https://www.siteway.de/stack/typo3/) ist die bessere Wahl bei großen Redaktionen mit vielen Rollen, Freigaben und Sprachbäumen, wie beim Case Spelsberg mit 13 Sprachen. [WordPress](https://www.siteway.de/stack/wordpress/) passt, wenn die Redaktion genau diese Oberfläche kennt und ein großes Plugin-Ökosystem gefragt ist. siteway entscheidet das im Konzept, bevor gebaut wird. ### Ist Statamic sicher und schnell? Beides hängt an derselben Eigenschaft. Ohne Datenbank entfällt eines der häufigsten Einfallstore für Angriffe, und der Kern bleibt klein, weil weniger Fremdcode nötig ist. Beim Tempo hilft das Static Caching von Statamic: In der vollen Ausbaustufe legt es fertige HTML-Dateien ab, die der Webserver ausliefert, ohne dass PHP überhaupt startet — die schlankere Variante cacht auf Anwendungsebene. Ergänzt wird das bei siteway um Security-Header, HTTPS mit HSTS, lokale Fonts und eine trackingfreie Umsetzung — Details im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). ### Was kostet Statamic und braucht es eine Lizenz? Statamic ist quelloffen und in der Solo-Variante kostenlos nutzbar — sie deckt einen einzelnen Benutzer ab. Für den professionellen Einsatz mit mehreren Redakteuren, Rollen und Multi-Site gibt es eine kostenpflichtige Pro-Lizenz pro Live-Website; die aktuellen Konditionen stehen beim Hersteller. Für dich als Kunde ist die Lizenz ein Posten im Angebot, den siteway vorher benennt statt ihn später aufzuschlagen. Dem stehen niedrigere laufende Kosten gegenüber, weil kein Datenbank-Betrieb und weniger Plugin-Pflege anfällt. ### Baut siteway Websites mit Statamic? Ja. Statamic ist seit Jahren produktiv im Einsatz: [garbe.world](https://www.siteway.de/cases/garbe/) ist ein Karten-Portal mit rund 300 redaktionellen Einträgen auf Statamic mit Mapbox und OpenStreetMap, bei [MietOK](https://www.siteway.de/cases/mietok/) trägt Statamic die Marketingseite neben dem Laravel-Portal. Diese Seite beschreibt die Technik dahinter. Die buchbare Leistung mit Inhaltsmodell, Templating, Redaktionsschulung und laufender Pflege beschreibt siteway unter [CMS & Redaktion](https://www.siteway.de/expertise/cms-redaktion/) in der Expertise. womit das zusammenhängt ## Womit das zusammenhängt kategorie, unterbau & **leistung** - [CMS & Redaktion.](https://www.siteway.de/stack/cms-redaktion/) — Die Übersicht über alle drei Systeme: TYPO3, WordPress und Statamic — und nach welchen Kriterien wir zwischen ihnen wählen. zum hub → - [Laravel.](https://www.siteway.de/stack/laravel/) — Das Framework unter Statamic. Wo ein CMS an seine Grenzen kommt, stellen wir echte Anwendungslogik daneben — wie beim MietOK-Portal. zur technik → - [CMS & Redaktion als Leistung.](https://www.siteway.de/expertise/cms-redaktion/) — Die Technik hier, das Angebot dort: Inhaltsmodell, Templating, Redaktionsschulung und laufende Pflege. Hier wird gebucht. zur leistung → Website ohne Datenbank-Ballast? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schnittstelle # Stripe **Stripe** ist der Zahlungsdienstleister, über den auf einer Website Geld fließt — und technisch vor allem eine API mit zwei Schlüsseln. Für siteway ist das eine klare Arbeitsteilung: Der Browser zeigt die Bezahlstrecke, entschieden wird auf dem Server. Diese Seite beschreibt die Anbindung — **Zahlungsabsicht**, **Bezahlstrecke**, **Webhook** — und die Zahlungsarten, die darüber laufen. stack system: stripe · zahlungsabwicklung frontend: elements · gehostete seite server: paymentintent · webhook seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir Stripe anbinden](#einsatz) definition ## Was ist Stripe? **Stripe ist ein Zahlungsdienstleister.** Er nimmt die Zahlung entgegen, führt sie über Kartennetze, Banken und Wallet-Anbieter und zahlt das Geld an dich aus. Für Unternehmen im Europäischen Wirtschaftsraum ist Stripe Payments Europe, Limited die vertragschließende Gesellschaft. Verwaltet wird das Konto im Dashboard — Zahlungen, Auszahlungen, Rückerstattungen und die Frage, welche Zahlungsarten überhaupt angeboten werden. Für eine Website ist Stripe vor allem ein **Schlüsselpaar und ein Ablauf**. Der veröffentlichbare Schlüssel beginnt mit pk_ und darf laut Dokumentation offen im Frontend liegen. Der geheime Schlüssel beginnt mit sk_, hat uneingeschränkte Berechtigungen für alle Stripe-APIs und gehört ausschließlich auf den Server. Daneben stehen eingeschränkte Schlüssel mit dem Präfix rk_, deren Berechtigungen du selbst festlegst — Stripe empfiehlt sie für neue Integrationen, weil ein abhandengekommener Schlüssel dann nur einen Ausschnitt öffnet. Gebaut und getestet wird in einer **Sandbox** mit eigenen Test-Schlüsseln, scharf geschaltet im Live-Modus mit einem zweiten Satz. Beide Welten sind getrennt: Was in der einen entsteht, ist in der anderen nicht sichtbar. Das klingt nach einer Kleinigkeit, ist aber der Grund, warum eine Bezahlstrecke sich vollständig durchspielen lässt, bevor der erste echte Betrag fließt. $ cat stripe.md - ✓Zahlungsdienstleister api · dashboard - ✓Publishable Key pk_ · frontend erlaubt - ✓Secret Key sk_ · nur serverseitig - ✓Restricted Key rk_ · rechte je schlüssel - ✓PaymentIntent zahlungsabsicht - ✓Webhook signiert · hmac-sha256 - ✓Sandbox & Live getrennte schlüssel praxis ## Wie wir Stripe anbinden server entscheidet · **nicht der browser** Die wichtigste Regel steht vor der ersten Zeile Code: **Der Zahlungsstatus wird nie im Browser entschieden.** Der Browser zeigt eine Oberfläche, mehr nicht. Betrag, Währung und die Absicht, diesen Betrag einzuziehen, entstehen auf dem Server — dort, wo niemand mit den Entwicklerwerkzeugen dazwischengeht. Der Ablauf beginnt deshalb mit einem **serverseitigen Endpunkt**, der eine Zahlungsabsicht erzeugt — bei Stripe ein PaymentIntent. Die Dokumentation empfiehlt, ihn anzulegen, sobald der Betrag feststeht, damit auch abgebrochene Versuche erfasst werden. Zurück ins Frontend geht nur das Client-Secret dieser einen Zahlungsabsicht. Der geheime Schlüssel bleibt, wo er hingehört. Im Frontend steht danach die **Bezahlstrecke**: entweder Stripe Elements, in das eigene Layout eingebaut, oder die von Stripe gehostete Bezahlseite. Beide Wege haben denselben Vorteil, und der ist kein Detail — die Zahlungsdaten gehen direkt an Stripe und laufen nicht über deinen Server. Stripe beschreibt genau das als risikoarme Integration; die **PCI-Reichweite** bleibt damit klein, statt eine dreistellige Zahl an Sicherheitsanforderungen ins eigene Haus zu holen. Bestätigt wird über den **Webhook**. Stripe meldet Ereignisse wie payment_intent.succeeded und payment_intent.payment_failed an einen zweiten serverseitigen Endpunkt — und erst dieses Ereignis schaltet Bestellung, Zugang oder Rechnung frei. Die Doku rät ausdrücklich davon ab, die Abwicklung clientseitig zu behandeln: Kundinnen und Kunden können die Seite nach der Zahlung verlassen, bevor der Prozess überhaupt beginnt. Wiederholtes Abfragen ist möglich, laut Doku aber weitaus weniger zuverlässig. Und dann das, was in Angeboten gern fehlt: **der Fehlerfall**. Jeder schreibende Aufruf an Stripe bekommt einen Idempotenz-Schlüssel, damit ein Netzwerkabbruch keine zweite Buchung erzeugt. Der Webhook-Endpunkt antwortet sofort mit einem 2xx-Status und arbeitet danach im Hintergrund weiter, weil Stripe im Live-Modus bis zu drei Tage lang erneut zustellt. Ereignis-IDs werden protokolliert, weil dieselbe Meldung mehrfach und in beliebiger Reihenfolge ankommen kann. Wie wir solche Anbindungen abnehmen und betreiben, steht in der Leistung [Schnittstellenentwicklung](https://www.siteway.de/expertise/schnittstellen-integration/). unsere leitplanken - 01Secret Key **nur serverseitig** - 02Zahlungsabsicht **auf dem Server** - 03Zahlungsdaten **direkt an Stripe** - 04Status aus dem **Webhook** - 05Signatur **immer prüfen** - 06Idempotenz gegen **Doppelbuchung** [sicherheit & datenschutz im stack →](https://www.siteway.de/stack/sicherheit-datenschutz/) technik · 6 details ## Die Technik im Detail belegt aus der **doku** Was hier steht, stammt aus der öffentlichen Dokumentation unter docs.stripe.com — Schlüsselpräfixe, Statusnamen, Header und Ereignisnamen im Original. Was hier bewusst nicht steht: Gebühren und Konditionen. Die ändern sich, und die verbindliche Auskunft dazu gibt Stripe selbst. d-01zugang ### Schlüssel & Zugriff Drei Schlüsselarten: pk_ fürs Frontend, sk_ mit uneingeschränkten Rechten nur serverseitig, rk_ mit selbst gesetzten Berechtigungen — für neue Integrationen empfohlen. Sandbox und Live-Modus haben getrennte Sätze. Die Doku verlangt einen Secrets-Tresor statt Quellcode in der Versionsverwaltung. zweck: authentifizierung d-02ablauf ### Die Zahlungsabsicht Ein PaymentIntent durchläuft requires_payment_method, requires_confirmation, requires_action, processing und endet in succeeded oder canceled. Scheitert eine Zahlung, fällt der Status zurück auf requires_payment_method — ein zweiter Versuch ist damit vorgesehen, kein Sonderfall. zweck: zustand serverseitig d-03frontend ### Bezahlstrecke im Frontend Stripe Elements sind vorgefertigte Eingabebausteine von Stripe.js; das Payment Element bündelt mehrere Zahlungsarten in einer Oberfläche. Alternative ist die von Stripe gehostete Bezahlseite. In beiden Fällen werden die Zahlungsdaten direkt an Stripe übermittelt, ohne den eigenen Server zu berühren. zweck: eingabe ohne pci-last d-04bestätigung ### Webhook & Signatur Jedes Ereignis kommt mit dem Header Stripe-Signature: ein Zeitstempel t und eine Signatur v1, gebildet per HMAC-SHA256 mit dem Endpoint-Secret. Verglichen wird in konstanter Zeit, der Zeitstempel nur innerhalb einer Toleranz von standardmäßig fünf Minuten akzeptiert — sonst ließen sich Ereignisse erfinden oder erneut einspielen. zweck: verlässliche statusquelle d-05robustheit ### Idempotenz & Wiederholung Der Header Idempotency-Key macht einen POST wiederholbar: Der zweite Aufruf mit demselben Schlüssel liefert das gespeicherte Ergebnis des ersten. Die Schlüssel werden mindestens 24 Stunden vorgehalten. In der Gegenrichtung garantiert Stripe weder Reihenfolge noch einmalige Zustellung — die Ereignis-ID ist der Schutz davor. zweck: keine doppelbuchung d-06wiederkehrend ### Abo & Rechnung Wiederkehrende Zahlungen setzen auf Customer, Product, Price, Subscription und Invoice auf. Das Abo trägt Zustände wie trialing, active, past_due und canceled; die Ereignisse invoice.paid, invoice.payment_failed und invoice.payment_action_required sagen der Website, ob ein Zugang bestehen bleibt. [abo & payment als komponente →](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) ### Was daraus auf der Website entsteht Aus dem Ablauf wird eine Strecke, die jemand tatsächlich durchläuft. Vorne steht das, was den Betrag festlegt — ein [Warenkorb](https://www.siteway.de/expertise/shop-e-commerce/), ein Spendenbetrag, eine [Formularstrecke](https://www.siteway.de/expertise/formularstrecken/) mit Buchung am Ende. Dann die **Bezahlseite**, die nichts anderes tut, als die Zahlung entgegenzunehmen: keine Ablenkung, keine Nebenwege, klare Fehlermeldungen, wenn eine Karte abgelehnt wird. Danach die **Bestätigungsseite** — und die entscheidet nichts. Sie zeigt an, was der Server bereits weiß, und sie hält den Fall aus, dass das Webhook-Ereignis eine Sekunde später eintrifft als die Rückkehr aus der Bezahlstrecke. Erst am bestätigten Status hängen Freischaltung, Bestätigungsmail und Beleg. Wer diesen Schritt an den Browser hängt, baut sich eine Bestellung, die bezahlt aussieht, ohne bezahlt zu sein. Und schließlich das Unauffällige: der **Bestellstatus in der eigenen Datenbank**. Er ist die Grundlage für Support, Buchhaltung und Auswertung — und dafür, dass niemand für eine simple Frage ins Stripe-Dashboard klettern muss. Rückerstattungen, Teilzahlungen und Zahlungsabbrüche bekommen dort ihren Platz, statt als Sonderfall im Postfach zu landen. auf der website - ▸Betrag **serverseitig gesetzt** - ▸Bezahlseite **ohne Ablenkung** - ▸Bestätigung **zeigt nur an** - ▸Freischaltung **am Webhook** - ▸Beleg & **Bestätigungsmail** - ▸Bestellstatus **in der Datenbank** zahlungsarten ## Die Zahlungsarten dahinter im konto aktiviert · **nicht einzeln gebaut** Kreditkarte, PayPal, Klarna, Apple Pay, Google Pay, WeChat Pay, Alipay: Das sind keine sieben Projekte. **Sie werden nicht einzeln angebunden.** Sie werden im Stripe-Konto aktiviert — in den Einstellungen unter Zahlungsmethoden — und erscheinen danach in derselben Bezahlstrecke, die schon steht. Die Dokumentation beschreibt das als dynamische Zahlungsmethoden: Die feste Liste im Code entfällt, Stripe wählt aus, was passt. Was passt, entscheidet nicht die Website. Maßgeblich sind **Land, Währung, Betrag** und das eingesetzte Stripe-Produkt: Manche Verfahren gibt es nur in bestimmten Ländern, andere nur für bestimmte Währungen, wieder andere fallen unterhalb oder oberhalb bestimmter Beträge weg. Für die Umsetzung folgt daraus zweierlei — die Bezahlstrecke muss damit umgehen, dass die Auswahl für zwei Personen unterschiedlich aussieht, und sie muss den zusätzlichen Bestätigungsschritt aushalten, den manche Methoden auslösen. Beides ist Arbeit an der Strecke, nicht an sieben Integrationen. m-01karte ### Kreditkarte & Debitkarte Der Standardweg, bei Stripe die Kategorie „Karten“. Die Daten werden in Elements oder auf der gehosteten Bezahlseite erfasst und gehen direkt an Stripe. Im europäischen Raum kommt bei Kartenzahlungen der zusätzliche Bestätigungsschritt über 3-D-Secure dazu. kategorie: karten m-02wallet ### PayPal Stripe führt PayPal als Wallet und nennt in der Dokumentation die europäischen Länder, in denen es für Stripe-Konten verfügbar ist — Deutschland gehört dazu. Aktiviert wird es im Dashboard, ohne Änderung am Code. [paypal im stack →](https://www.siteway.de/stack/paypal/) m-03später bezahlen ### Klarna In Stripes Systematik gehört Klarna zur Kategorie „Später bezahlen“. Für die Bezahlstrecke bedeutet das einen Umweg über die Oberfläche des Anbieters und eine Rückkehr auf die eigene Seite — der Status kommt trotzdem aus dem Webhook. [klarna im stack →](https://www.siteway.de/stack/klarna/) m-04wallet ### Apple Pay Ein Wallet: Bezahlt wird mit der im Gerät hinterlegten Karte, bestätigt per Gerätesperre. Der Knopf erscheint nur dort, wo Gerät und Browser ihn anbieten — die Bezahlstrecke braucht deshalb ohnehin einen zweiten, immer sichtbaren Weg. [apple pay im stack →](https://www.siteway.de/stack/apple-pay/) m-05wallet ### Google Pay Das Gegenstück auf der anderen Plattform, ebenfalls ein Wallet. Auch hier hängt die Anzeige an Gerät und Browser der Besucherin, nicht an einer Einstellung im CMS. Aktiviert wird es wie die übrigen Methoden im Stripe-Konto. [google pay im stack →](https://www.siteway.de/stack/google-pay/) m-06wallet ### WeChat Pay & Alipay Beide führt Stripe als Wallets für den asiatischen Raum. Relevant, wenn ein Teil der Kundschaft von dort kommt — etwa im Tourismus oder im internationalen Vertrieb. Auch sie werden im Konto aktiviert, nicht im Code eingebaut. kategorie: wallets integration ## Stripe in deine Website integrieren drei systeme · **ein muster** Der Weg ist in jedem System derselbe, und er ist erfreulich kurz zu beschreiben. Die **Bezahlstrecke liegt im CMS** — als eigene Seite oder als letzter Schritt einer Formularstrecke, mit den Texten, dem Layout und den Rechtstexten, die dort ohnehin gepflegt werden. Ein **serverseitiger Endpunkt** erzeugt die Zahlungsabsicht, hält den geheimen Schlüssel und gibt nur das Client-Secret ins Frontend. Ein zweiter Endpunkt nimmt den **Webhook** entgegen, prüft die Signatur und bestätigt den Zahlungseingang. Erst dieser bestätigte Status schaltet frei, versendet und stellt in Rechnung. **Der Zahlungsstatus wird nie im Browser entschieden** — die Bestätigungsseite zeigt nur an, was der Server bereits weiß. Was sich je System unterscheidet, ist nicht diese Logik, sondern ihr Ort: wie eine eigene Route entsteht, wo der Schlüssel abgelegt wird und womit das Frontend rendert. Deshalb bauen wir die Anbindung in jedem der drei Systeme selbst, mit dessen eigenen Bordmitteln — als eigene Extension, als eigenes Plugin oder als eigene Route samt Controller. Der Bestellstatus liegt danach in der Datenbank der Website und nicht nur im Stripe-Dashboard; daran hängen Freischaltung, Beleg und Support. Und weil der Webhook-Endpunkt von außen erreichbar sein muss, gilt für ihn dieselbe Sorgfalt wie für jede andere offene Route: HTTPS, Signaturprüfung, keine Ausnahme. cms-01typo3 ### Stripe in TYPO3 Wir bauen die Anbindung als eigene Extension. Zwei Controller-Routen tragen die Sache: eine erzeugt die Zahlungsabsicht und gibt das Client-Secret zurück, die zweite nimmt den Webhook entgegen und prüft die Signatur, bevor irgendetwas verarbeitet wird. Der geheime Schlüssel liegt in der Extension-Konfiguration oder — sauberer, weil je Umgebung anders — in einer Umgebungsvariable. Bestellungen und Zahlungsstatus werden als Records geführt, die Ausgabe übernehmen Fluid-Templates: Bezahlseite, Bestätigung, Beleg. Die Redaktion pflegt Texte und Rechtshinweise im Backend, ohne die Strecke anzufassen. [typo3 im stack →](https://www.siteway.de/stack/typo3/) cms-02wordpress ### Stripe in WordPress In WordPress entsteht die Anbindung als eigenes Plugin und nicht als Theme-Code — so überlebt sie einen Theme-Wechsel. Zwei eigene REST-Routen bilden den Ablauf ab: eine für die Zahlungsabsicht, eine für den Webhook samt Signaturprüfung. Die Schlüssel liegen in der wp-config.php oder in Umgebungsvariablen, nie im Beitragstext und nie im Frontend. Bestellungen und Zahlungsstatus bekommen eine eigene Ablage statt eines Sammelfelds. Fürs Frontend kommen Template-Dateien und Blöcke dazu, damit die Redaktion Bezahlstrecke und Bestätigung dort platziert, wo sie hingehören. [wordpress im stack →](https://www.siteway.de/stack/wordpress/) cms-03statamic ### Stripe in Statamic Statamic läuft auf Laravel, und das macht die Sache hier besonders geradlinig: Route plus Controller für die Zahlungsabsicht, Route plus Controller für den Webhook, die Signaturprüfung als Middleware davor. Die Schlüssel stehen in der .env und damit außerhalb der Versionsverwaltung. Bestellungen liegen in der Datenbank, nicht im Dateibaum der Inhalte. Antlers oder Blade rendern Bezahlseite, Bestätigung und Beleg — und beim Static Caching bleiben genau diese Seiten außen vor, weil sie personenbezogen sind. [statamic im stack →](https://www.siteway.de/stack/statamic/) sicherheit ## Sicherheit & Datenschutz schlüssel · transport · **daten** ### Schlüssel und Transport Die Dokumentation ist an dieser Stelle unmissverständlich: Vertrauliche Schlüssel gehören in einen **Secrets-Tresor** der Hosting-Plattform, nicht in Quellcode oder Konfigurationsdateien, die in die Versionsverwaltung eingecheckt werden — und nicht per E-Mail oder Chat über den Tisch. Wir vergeben je Aufgabe einen eigenen, eingeschränkten Schlüssel und tauschen ihn aus, wenn Personen oder Systeme wechseln. Bezahlseiten und der Webhook-Endpunkt laufen über **TLS 1.2 oder höher**; für den Endpunkt nennt die Doku zusätzlich die Beschränkung auf Stripes veröffentlichte IP-Adressen und die Zeitstempel-Toleranz, die ein erneutes Einspielen alter Ereignisse verhindert. ### SCA und 3-D-Secure Im europäischen Raum ist die **starke Kundenauthentifizierung** vorgeschrieben — als Teil der PSD2-Regulierung, in Kraft seit September 2019. Bei Kartenzahlungen wird die Anforderung über **3-D-Secure** erfüllt: Die Bank verlangt einen zusätzlichen Bestätigungsschritt. Für die Umsetzung ist das kein Nebensatz, sondern eine Anforderung an die Strecke. Der PaymentIntent geht dafür in den Status requires_action, das Ergebnis steht erst danach fest, und getestet wird beides — die erfolgreiche und die gescheiterte Authentifizierung. Ob im Einzelfall eine Ausnahme greift, entscheiden Bank und Regelwerk, nicht die Website. ### Welche Daten anfallen Die Zahlungsdaten selbst laufen bei Elements und gehosteter Bezahlseite nicht über deinen Server; zurück kommen unkritische Angaben wie Kartenmarke, letzte vier Ziffern und Ablaufdatum, die sich laut Doku speichern lassen. Alles andere ist **Datensparsamkeit**: Für Zahlung, Rechnung und Support braucht es bestimmte Felder — und keins mehr. Wo Stripe personenbezogene Daten im Auftrag verarbeitet, gehören Verträge und ein Abschnitt in der Datenschutzerklärung dazu; die rechtliche Einordnung trifft deine Rechtsberatung, wir liefern die technische Grundlage und die Dokumentation der Datenflüsse. Mehr dazu im Stack unter [Sicherheit & Datenschutz](https://www.siteway.de/stack/sicherheit-datenschutz/). pflichtprogramm - ▸Schlüssel im **Secrets-Tresor** - ▸Nie in die **Versionsverwaltung** - ▸**TLS 1.2+** auf Bezahlseite und Webhook - ▸Signatur- und **Zeitstempelprüfung** - ▸Zusätzlicher Schritt bei **3-D-Secure** - ▸Nur die **nötigen Felder** speichern faq ## Häufige Fragen ### Was ist Stripe? Stripe ist ein Zahlungsdienstleister: Über eine dokumentierte API wickelt er Zahlungen für Websites und Anwendungen ab. Für Unternehmen im Europäischen Wirtschaftsraum ist Stripe Payments Europe, Limited die vertragschließende Gesellschaft. Technisch besteht die Anbindung aus zwei Teilen — einem veröffentlichbaren Schlüssel, der im Frontend liegen darf, und einem geheimen Schlüssel, der ausschließlich auf dem Server arbeitet. Alles, was Geld bewegt, passiert auf der Serverseite. ### Wie läuft eine Zahlung über Stripe technisch ab? In vier Schritten. Erstens erzeugt ein serverseitiger Endpunkt eine Zahlungsabsicht, sobald der Betrag feststeht — Stripe nennt das einen PaymentIntent. Zweitens bekommt das Frontend nur das dazugehörige Client-Secret und zeigt die Bezahlstrecke, entweder mit Stripe Elements im eigenen Layout oder auf der von Stripe gehosteten Bezahlseite. Drittens bestätigt die Kundin oder der Kunde die Zahlung; bei Bedarf schiebt sich ein zusätzlicher Bestätigungsschritt der Bank dazwischen. Viertens meldet Stripe das Ergebnis per Webhook an einen zweiten serverseitigen Endpunkt — und erst dieses Ereignis schaltet Bestellung, Zugang oder Rechnung frei. ### Was ist der Unterschied zwischen Publishable Key und Secret Key? Der veröffentlichbare Schlüssel beginnt mit pk_ und darf laut Dokumentation offen im Frontend liegen. Der geheime Schlüssel beginnt mit sk_ und hat uneingeschränkte Berechtigungen für alle Stripe-APIs; er gehört in einen Secrets-Tresor der Hosting-Plattform und niemals in Quellcode oder Konfigurationsdateien, die in die Versionsverwaltung eingecheckt werden. Daneben gibt es eingeschränkte Schlüssel mit dem Präfix rk_, deren Berechtigungen du selbst festlegst; Stripe empfiehlt sie für neue Integrationen. Sandbox und Live-Modus haben jeweils eigene Schlüsselsätze. ### Wozu braucht es einen Webhook, wenn der Browser den Erfolg doch schon anzeigt? Weil der Browser nicht verlässlich ist. Die Dokumentation rät ausdrücklich davon ab, die Abwicklung clientseitig zu behandeln, weil Kundinnen und Kunden die Seite nach Abschluss der Zahlung verlassen können, bevor der Abwicklungsprozess beginnt. Stattdessen empfiehlt Stripe, auf das Ereignis payment_intent.succeeded zu hören und den Abschluss asynchron zu verarbeiten. Wiederholtes Abfragen des Status ist zwar möglich, laut Dokumentation aber weitaus weniger zuverlässig. Der Webhook ist damit die verlässliche Statusquelle — und er wird nur angenommen, wenn die Signatur im Header Stripe-Signature stimmt. ### Welche Zahlungsarten laufen über Stripe? Kreditkarte und Debitkarte, PayPal, Klarna, Apple Pay, Google Pay, WeChat Pay und Alipay gehören dazu; Stripe ordnet sie den Kategorien Karten, Wallets und Später bezahlen zu. Wichtig für die Umsetzung ist, dass diese Methoden nicht einzeln angebunden werden. Sie werden im Stripe-Konto aktiviert und erscheinen danach in derselben Bezahlstrecke — sofern sie zu Land, Währung, Betrag und dem eingesetzten Stripe-Produkt passen. Die Auswahl kann deshalb für zwei Personen unterschiedlich aussehen, ohne dass am Code etwas geändert wurde. ### Was bedeutet SCA oder 3-D-Secure für die Bezahlstrecke? SCA steht für starke Kundenauthentifizierung und ist im europäischen Raum als Teil der PSD2-Regulierung vorgeschrieben, in Kraft seit September 2019. Bei Kartenzahlungen wird die Anforderung über 3-D-Secure erfüllt: Die Bank verlangt einen zusätzlichen Bestätigungsschritt, bevor die Zahlung durchgeht. Für die Umsetzung heißt das, dass die Bezahlstrecke diesen Zwischenschritt aushalten muss — der PaymentIntent geht dafür in den Status requires_action, und erst danach steht das Ergebnis fest. Getestet wird deshalb beides: die erfolgreiche und die gescheiterte Authentifizierung. ### Lässt sich Stripe in TYPO3, WordPress oder Statamic einbinden? Ja, und die Logik ist in allen drei Systemen dieselbe: Bezahlstrecke im CMS, ein serverseitiger Endpunkt für die Zahlungsabsicht, ein zweiter für den Webhook. Unterschiedlich ist nur, wo das liegt. In TYPO3 bauen wir eine eigene Extension mit Controller-Routen für Zahlungsabsicht und Webhook, dem geheimen Schlüssel in der Extension-Konfiguration oder einer Umgebungsvariable und Fluid im Frontend. In WordPress entsteht ein eigenes Plugin statt Theme-Code, mit eigenen REST-Routen und den Schlüsseln in der wp-config.php oder in Umgebungsvariablen. In Statamic liegt Laravel darunter: Route plus Controller, Schlüssel in der .env, Ausgabe über Antlers oder Blade. ### Wie verhindert ihr Doppelbuchungen? Auf zwei Ebenen. Beim Aufruf an Stripe setzen wir einen Idempotency-Key: Bricht eine Anfrage durch einen Netzwerkfehler ab und wird wiederholt, liefert Stripe das gespeicherte Ergebnis des ersten Aufrufs zurück, statt einen zweiten Vorgang anzulegen — die Schlüssel werden laut Dokumentation mindestens 24 Stunden vorgehalten. In die andere Richtung gilt dasselbe für eingehende Webhooks: Stripe garantiert weder eine Reihenfolge noch eine einmalige Zustellung, deshalb protokollieren wir die Ereignis-ID und verarbeiten jedes Ereignis nur einmal. Der Endpunkt bestätigt sofort mit einem 2xx-Status, die eigentliche Arbeit läuft danach im Hintergrund. womit das zusammenhängt ## Womit das zusammenhängt methoden, systeme & **leistung** - [PayPal.](https://www.siteway.de/stack/paypal/) — Das bekannteste Wallet im deutschsprachigen Raum — über Stripe oder direkt, mit eigenen Voraussetzungen. zur technik → - [Klarna.](https://www.siteway.de/stack/klarna/) — Später bezahlen als eigene Kategorie: Was das für Bezahlstrecke, Rückkehr und Statusprüfung bedeutet. zur technik → - [Apple Pay.](https://www.siteway.de/stack/apple-pay/) — Ein Wallet, das nur auf passenden Geräten erscheint — und eine Bezahlstrecke, die das einplanen muss. zur technik → - [Google Pay.](https://www.siteway.de/stack/google-pay/) — Das Gegenstück auf Android und im Browser: Anzeige, Bestätigung und Status im selben Ablauf. zur technik → - [Sicherheit & Datenschutz.](https://www.siteway.de/stack/sicherheit-datenschutz/) — Wo Zahlungen fließen, wird es ernst: Schlüssel serverseitig, TLS, Datensparsamkeit, Auftragsverarbeitung. zur technik → - [Shop & E-Commerce.](https://www.siteway.de/expertise/shop-e-commerce/) — Der Baustein, der den Betrag erzeugt: Produktkatalog, Warenkorb und Kasse — hier wird gebucht. zur leistung → - [Digitale Produkte, Abo & Payment.](https://www.siteway.de/expertise/digitale-produkte-abo-payment/) — Downloads, Zugänge und wiederkehrende Zahlung als Komponente — inklusive Freischaltung und Rechnung. zur leistung → - [Formularstrecken.](https://www.siteway.de/expertise/formularstrecken/) — Mehrstufige Strecken mit Zahlung am Ende: Anmeldung, Buchung, Spende — geführt statt geraten. zur leistung → - [Schnittstellen als Leistung.](https://www.siteway.de/expertise/schnittstellen-integration/) — Die Technik hier, das Angebot dort: Analyse, Umsetzung, Monitoring und Betrieb der Anbindung. zur leistung → Zahlungen über Stripe auf deiner Website? [Projekt anfragen](https://www.siteway.de/kontakt/) --- stack · schema # Strukturierte Daten Strukturierte Daten sind bei siteway keine nachträgliche SEO-Zutat, sondern eine Ebene im Code. Wir zeichnen jede Seite mit Schema.org als **JSON-LD** aus — gebündelt in einem **@graph** je Seite, generiert aus den Feldern deines CMS. Aus derselben Quelle leiten wir Meta, Open Graph und Twitter ab. Wie das hier funktioniert, steht auf dieser Seite; buchen kannst du es als [Leistung Strukturierte Daten](https://www.siteway.de/expertise/strukturierte-daten/). stack stack: schema.org · json-ld einsatz: @graph je seite seit: 2006 [Projekt anfragen](https://www.siteway.de/kontakt/) [Wie wir es einsetzen](#einsatz) definition ## Was ist JSON-LD? **JSON-LD (JavaScript Object Notation for Linked Data) ist ein Datenformat, das strukturierte Daten als maschinenlesbares Objekt in einem `
Aufgaben, Qualifikation, Arbeitszeiten …