Case Study · E-Commerce · Juli 2026

Fünf Landingpages neben einem JTL-Shop —
ohne den Shop anzufassen.

ImkerPur verkauft Honig und Bienenprodukte über einen JTL-Shop 5 auf Strato-Shared-Hosting. Gesucht war Sichtbarkeit für Produktgruppen, die im Shop selbst nur als Artikelliste existierten — ohne ein Plugin zu installieren und ohne das Update-Risiko des Shops zu erhöhen.

Kunde
ImkerPur · imkerpur.de
System
JTL-Shop 5 · Strato Shared Hosting
Umfang
5 Landingpages · 27 FAQ-Einträge
Live seit
14. Juli 2026
? ? ?
Gefragt wurde in der Search Console — geantwortet hat der Shop nirgends.
Ausgangslage

Ein funktionierender Shop ohne Antwortseiten.

Der Shop lief. Produkte, Preise, Bestellprozess — alles vorhanden. Was fehlte, waren Seiten, die die Fragen vor dem Kauf beantworten: Was ist roher Honig überhaupt? Warum kristallisiert er schneller? Dürfen Kinder ihn essen? Diese Fragen wurden nachweislich gestellt — sie stehen in der Google Search Console des Shops. Beantwortet wurden sie dort nirgends.

Die naheliegende Lösung — ein SEO-Plugin im Shop — schied bewusst aus. Sie hätte in Templates und Datenbank eingegriffen und bei jedem JTL-Update erneut zur Diskussion gestanden. Stattdessen entstand ein zweites, unabhängiges System neben dem Shop, unter derselben Domain.

Ergebnis

Fünf Seiten, live und öffentlich prüfbar.

Jede Seite entsteht aus einer JSON-Datei — eine neue Landingpage ist eine neue Datei, kein neuer Code. Bewertungen und Preise sind die echten Werte aus dem Shop, keine Platzhalter.

5 / 5 Live & Indiziert
27 FAQ Antworten auf echte Fragen
100% Statisch & schnell
0 Shop-Plugins erforderlich
ImkerPur Landingpages E-Commerce Showcase
Visualisierung: 100/100 PageSpeed Landingpages für ImkerPur Rohhonig & Bienenprodukte

Die Bewertungen stammen aus dem ImkerPur-Shop und werden im AggregateRating-Schema unverändert übernommen. Sie sind Kundenbewertungen des Shops — kein Ergebnis dieses Projekts.

Umsetzung

Was gebaut wurde.

Architektur, strukturierte Daten, KI-Lesbarkeit und rechtliche Leitplanken — maßgeschneidert für schnelles Hosting und 0-Plugin-Betrieb.

Statisch in eigenem Unterordner

Astro erzeugt reines HTML. Der Build landet per SFTP unter /jtlshop/lp/ und ist damit unter imkerpur.de/lp/ erreichbar. Keine Datei des Shops wird verändert, keine Datenbank berührt, kein Plugin installiert.

Auffindbar für KI-Systeme (GEO)

Eine llms.txt beschreibt Shop und Seiten für LLM-Crawler. Zusätzlich beginnt jede Seite nach dem Hero mit einem Direkt-Antwort-Block: eine präzise, ohne Kontext verständliche Antwort auf die Kernfrage der Seite. Genau dieses Format übernehmen KI-Suchen bevorzugt, weil es sich ohne Umformulierung zitieren lässt.

FAQ aus echten Suchanfragen

Die 27 FAQ-Einträge über alle fünf Seiten sind aus den Suchanfragen der Google Search Console des Shops abgeleitet — aus dem, was Menschen tatsächlich eingegeben haben. Sie sind nicht geraten und nicht von Wettbewerbern abgeschrieben.

Auto-Deploy per GitHub Actions

Push auf main → GitHub Actions baut → lftp lädt per SFTP hoch. Bewusst ohne Lösch-Flag: der Workflow kann im Zielordner hinzufügen und aktualisieren, aber nichts beim Shop entfernen.

ImkerPur High-Performance Mobile UI & PageSpeed 100 Mockup
Mobile High-Performance UI mit 100/100 PageSpeed, Barrierefreiheit & optimierter Conversion-Funnel

Strukturierte Daten auf jeder Seite

JSON-LD / Schema.org
  • Organization
    Verankert den Shop als Entität — Name, URL, Logo. Liegt auf jeder Seite.
  • Product
    Produktgruppe mit Brand, AggregateOffer (Preisspanne aus den echten Shop-Preisen) und AggregateRating.
  • FAQPage
    Alle Fragen und Antworten der Seite maschinenlesbar — Grundlage für Rich Results und KI-Zitate.

Die Preisspanne im AggregateOffer wird zur Build-Zeit aus den tatsächlich hinterlegten Produktpreisen berechnet — sie kann dadurch nicht von den angezeigten Preisen abweichen.

GEO AI Optimization & Schema.org Structured Data Dashboard
GEO & AI Search Engine Optimization: Automatisierte Schema.org JSON-LD Verknüpfung mit Search Console Anfragen

Barrierefreiheit: gerechnet, nicht geschätzt

WCAG 2.1 AA & AAA

Der Kunde wünschte die Button-Optik des Shops — Orange mit weißer Schrift. Das Marken-Orange #EF8D06 trägt weiße Schrift aber nicht AA-konform. Statt den Wunsch abzulehnen oder die Regel zu ignorieren, wurde ein eigener, vertiefter Button-Ton eingeführt:

  • #B55E08
    Button-Orange, weiße Schrift
    Ratio 4,60:1
    AA ✓
  • #3A2508
    Dunkler Text auf Marken-Orange
    Ratio 5,86:1
    AA ✓
  • #9E5700
    Honig-Braun für Fließtext
    Ratio ≥ 4,9:1
    AA ✓
  • #FFD733
    Footer-Gelb, dunkler Text
    Ratio 12,5:1
    AAA ✓

Die Werte stehen als Kommentar direkt neben den Farbvariablen im Code — nachvollziehbar für jeden, der das Projekt später übernimmt.

Übergabe an den Kunden

Einfache Redaktionsmaske ohne GitHub-Konto

Über eine Redaktionsmaske bearbeitet der Inhaber die Inhalte selbst. Die Maske zeigt sprechende deutsche Feldnamen statt JSON — „Überschrift (H1)", „Vorteils-Karten", „Häufige Fragen". Technische Felder wie Shop-Links und Bilddateien sind mit einem Zahnrad-Symbol als „nicht ändern" markiert; das Anlegen und Löschen von Seiten ist gesperrt.

Wichtig für die Praxis: Der Login läuft über eine E-Mail-Einladung. Der Inhaber braucht kein GitHub-Konto und muss nichts über das darunterliegende Repository wissen — eine Hürde, an der Self-Service-Übergaben sonst regelmäßig scheitern. Der Zugang ist auf dieses eine Projekt beschränkt und jederzeit entziehbar, es entstehen keine laufenden Kosten, und nach dem Speichern ist die Änderung rund zwei Minuten später live.

Bewusst nicht freigegeben wurden Bilder und Bewertungen. Bewertungen müssen mit den echten Shop-Ratings übereinstimmen, sonst wird das Schema falsch — dieses Risiko gehört nicht in eine Redaktionsmaske. Jede Änderung ist versioniert und rücknehmbar.

KI-Texter mit Rechts-Guardrails

Custom GPT mit Lebensmittelrecht-Schutz

Die Redaktionsmaske löst nur das Bedienproblem, nicht das Formulierungsproblem. Deshalb kam ein Custom GPT dazu, in dem die Grenzen des Lebensmittelrechts als feste Regeln hinterlegt sind: Health-Claims-Verordnung (EG) 1924/2006, § 11 LMIV und § 5 UWG — konkret ausformuliert als Liste unzulässiger Formulierungen wie „stärkt das Immunsystem" oder „entzündungshemmend". Ebenso festgeschrieben: keine erfundenen Zahlen, Zertifikate oder Auszeichnungen.

Entscheidend ist das Verhalten im Konfliktfall. Ein unzulässiger Wunsch wird nicht still abgelehnt und nicht umgesetzt, sondern kurz erklärt — und sofort durch eine zulässige, werblich trotzdem starke Alternative ersetzt. Aus „Schreib, dass der Honig das Immunsystem stärkt" wird der Hinweis auf das rechtliche Problem plus der Vorschlag: „Roh, ungefiltert und nicht über 40 °C erhitzt — so bleibt der volle Charakter erhalten."

Hürden

Was unterwegs auffiel.

Der interessante Teil eines Projekts steht selten im Angebot. Diese fünf Punkte haben den Ablauf tatsächlich beeinflusst:

01

Das Docroot lag nicht dort, wo der SFTP-Zugang startet

Der Strato-Zugang landet auf „/", ausgeliefert wird aber aus „/jtlshop/". Ein Upload nach „/lp/" wäre unsichtbar geblieben. Das Deploy-Ziel ist deshalb „/jtlshop/lp/" — ermittelt vor dem ersten Upload, nicht nach dem ersten Fehlschlag.

02

Greift die Rewrite-Regel des Shops in den neuen Ordner?

Die .htaccess des JTL-Shops wurde vor dem ersten Upload gelesen: Der Rewrite greift nur bei nicht existierenden Dateien. Da unter /lp/ echte HTML-Dateien liegen, bleibt der Ordner unberührt — geprüft statt gehofft.

03

Der Host spricht kein FTP

Die verbreitete FTP-Deploy-Action war unbrauchbar, weil der Strato-Host nur SFTP auf Port 22 anbietet. Der Workflow nutzt deshalb lftp — dieselbe Methode, die vorher manuell verifiziert wurde.

04

Ein Deploy darf den Shop nicht beschädigen können

Der Upload läuft bewusst ohne Lösch-Flag. Der Workflow kann dadurch Dateien im Zielordner hinzufügen und aktualisieren, aber nichts im Shop entfernen — auch nicht bei einem fehlerhaften Build.

05

Vor dem Eingriff in Shop-Dateien: sichern

Bevor die robots.txt des Shops um die Sitemap ergänzt wurde, ist das Original versioniert abgelegt worden. Rückweg vorhanden, bevor der Hinweg gegangen wird.

Messbar

Was sich belegen lässt — und was nicht.

Echte Messergebnisse aus Google PageSpeed Insights — sauber getrennt zwischen Labor- und Felddaten.

100 /100
Performance Google PageSpeed
100 /100
Barrierefreiheit WCAG 2.1 AA Kontraste
100 /100
Best Practices Web Standards & Sec
100 /100
SEO Technisch & Schema

PageSpeed Insights, Modus Mobil, für eine ausgelieferte Landingpage unter imkerpur.de/lp/, gemessen im Juli 2026. Mobil ist der strengere der beiden Messmodi. Die 100 bei Barrierefreiheit ist das Ergebnis der oben beschriebenen Kontrast-Nachrechnung — sie kam nicht von selbst.

Zur Einordnung der Core Web Vitals

Die Google-Search-Console meldet für imkerpur.de „Core Web Vitals: Failed". Dieser Wert stammt aus CrUX-Felddaten der gesamten Domain über 28 Tage und wird vom JTL-Shop dominiert (TTFB rund 2,8 Sekunden). Er beschreibt nicht die statischen Landingpages, deren Laborwerte oben stehen.

Wir könnten hier bequem nur die vier Hundertwerte zeigen. Wir zeigen beides, weil die Unterscheidung zwischen Labor- und Felddaten für die Bewertung entscheidend ist — und weil ein Kunde, der später selbst in die Search Console schaut, sonst zu Recht irritiert wäre. Ein perfekter Laborwert bedeutet nicht, dass die Domain insgesamt schnell ist; er bedeutet, dass der ausgelieferte Teil es ist.

Wozu hier bewusst nichts steht

Es stehen auf dieser Seite keine Angaben zu Traffic-Zuwachs, Ranking-Verbesserungen, Conversion-Rate oder Umsatz. Der Grund ist schlicht: Diese Werte wurden nicht erhoben, und die Seiten sind zum Zeitpunkt dieser Case Study wenige Wochen alt — für belastbare SEO-Aussagen ein zu kurzer Zeitraum. Sobald verwertbare Daten vorliegen und der Kunde ihrer Veröffentlichung zustimmt, wird diese Case Study ergänzt. Erfundene Zahlen wären einfacher und wären wertlos.

Und Ihr Shop?

Dasselbe Verfahren, anderes Sortiment.

Das Vorgehen ist nicht an Honig gebunden und nicht an JTL. Gebraucht werden eine eigene Domain, ein Webspace-Zugang und Produktgruppen, zu denen Menschen Fragen stellen.

Alexander Ohl

Alexander Ohl

Pragma-Code Support (AI) • Online

Hallo! Ich bin der Pragma-Code Assistent. Wie kann ich Ihnen heute helfen? Sie können mich zu unseren Dienstleistungen befragen oder direkt ein Thema auswählen.