JTL Shop 5SEO Texte mit KI generieren
Einleitung
Guter Content ist heutzutage unerlässlich, wenn man in Suchmaschinen oben ranken will. Bei wenigen Kategorien kann man die Beschreibungen noch selber erstellen, aber wenn man einen großen Shop mit mehreren hundert oder sogar tausend Kategorien hat, wird das schnell sehr aufwendig bis unmöglich. In diesem Tutorial zeige ich Ihnen, wie Sie mit Python und ChatGPT qualitativ hochwertige SEO-Texte für Ihre Kategorien automatisiert erstellen können.
Datenbankabfrage
Zunächst müssen wir alle Kategorien ohne Beschreibung aus der JTL WAWI Datenbank abrufen. JTL WAWI ist die zentrale Verwaltung für den JTL Shop content, daher sollten die Daten dort geändert werden. Die folgende SQL-Abfrage holt alle relevanten Informationen inkl. Ober- und Großeltern-Kategorien:
-- Common Table Expression für Kategorienamen WITH CategoryNames AS ( SELECT k.kKategorie, k.kOberKategorie, ks.cName FROM dbo.tkategorie k LEFT JOIN dbo.tKategorieSprache ks ON k.kKategorie = ks.kKategorie AND ks.kSprache = 1 AND ks.kPlattform = 1 ) -- Hauptabfrage mit Kategoriehierarchie SELECT k.kKategorie, k.kOberKategorie, k.cName AS CategoryName, parent.cName AS ParentCategoryName, grandparent.cName AS GrandparentCategoryName FROM CategoryNames k LEFT JOIN CategoryNames parent ON k.kOberKategorie = parent.kKategorie LEFT JOIN CategoryNames grandparent ON parent.kOberKategorie = grandparent.kKategorie LEFT JOIN dbo.tKategorieSprache ks2 ON k.kKategorie = ks2.kKategorie AND ks2.kSprache = 2 AND ks2.kPlattform = 2 WHERE k.cName != 'Ohne Kategorie' AND (ks2.cBeschreibung IS NULL OR ks2.cBeschreibung = '') ORDER BY k.kKategorie;
Python Script Grundstruktur
Hier ist ein Beispiel für die grundlegende Struktur des Python Scripts:
import pymssql import openai from typing import List, Dict # Konfiguration DB_CONFIG = { "server": "your_server", "database": "eazybusiness", "user": "your_user", "password": "your_password" } openai.api_key = "your_api_key" def get_db_connection(): return pymssql.connect( server=DB_CONFIG["server"], database=DB_CONFIG["database"], user=DB_CONFIG["user"], password=DB_CONFIG["password"] ) def get_categories() -> List[Dict]: with get_db_connection() as conn: with conn.cursor(as_dict=True) as cursor: cursor.execute("""[Ihre SQL-Abfrage hier]""") return cursor.fetchall() def generate_description(category: Dict) -> str: # Prompt mit Kategorieinformationen anreichern prompt = f""" Erstelle einen SEO-optimierten Produkttext für die Kategorie {category['CategoryName']}. Kategorie-Information: - Hauptkategorie: {category['ParentCategoryName']} - Oberkategorie: {category['GrandparentCategoryName']} [Weitere verfügbare Attribute hier einfügen] [Ihr Prompt-Template hier] """ response = openai.chat.completions.create( model="gpt-4", messages=[ {"role": "system", "content": "Sie sind ein SEO-Experte."}, {"role": "user", "content": prompt} ] ) return response.choices[0].message.content def main(): categories = get_categories() for category in categories: description = generate_description(category) # Hier Logik zum Speichern in der Datenbank
Prompt-Optimierung
Optimal ist es, wenn man der KI zusätzliche Kontextinformationen bereitstellen kann, wie zum Beispiel:
- Merkmale und Attribute aus JTL (falls gepflegt)
- Namen der Ober- und Großeltern-Kategorien für besseren Kontext
- Verfügbare Hersteller in der Kategorie
- Preissegment und Zielgruppe
- Besondere Shop-Features oder Services
Beispiel 1: Schlechter Prompt
"Schreibe einen SEO-Text für die Kategorie Espressomaschinen."
Dieser Prompt ist zu unspezifisch und führt zu generischen Texten. Es fehlen wichtige Informationen wie:
- Art der Espressomaschinen (Siebträger, Vollautomaten, etc.)
- Preissegment und Zielgruppe
- Besondere Marken oder Spezialisierungen
- Alleinstellungsmerkmale des Shops
Beispiel 2: Guter Prompt
Erstelle einen SEO-optimierten Produkttext für die Kategorie Siebträger-Espressomaschinen in unserem Kaffeespezialitäten-Shop. Kategorie-Information: - Produktart: Siebträger-Espressomaschinen - Preissegment: Premium (800€ - 3000€) - Hauptmarken: ECM, Rocket, Profitec, Lelit - Zielgruppe: Enthusiasten und Home-Baristas Fokuspunkte: 1. E61 Brühgruppen und PID-Steuerung 2. Unterschiede zwischen Einkreiser und Zweikreiser 3. Verarbeitung (Edelstahl, Messingkessel) 4. Dampf- und Heißwasserfunktionen 5. Besondere Services (Beratung, Einstellung, Wartung) Stilrichtlinien: - Technisch präzise, aber verständlich - Fokus auf Qualitätsmerkmale - Einbindung von Fachbegriffen - Erwähnung der Beratungskompetenz - Hervorhebung der Premium-Positionierung - Integration relevanter Keywords Länge: 200-300 Wörter
Implementation
Das bereitgestellte Python-Script automatisiert den gesamten Prozess:
- Verbindung zur JTL-WAWI Datenbank
- Abruf aller Kategorien ohne Beschreibung
- Generierung der Texte mit ChatGPT
- Automatisches Einfügen in die Datenbank
Wichtig: Die generierten Texte müssen in der Tabelle tKategorieSprache gespeichert werden. Dabei müssen die korrekten Werte für kPlattform, kShop und kSprache hinterlegt werden. Nach dem Einfügen oder Aktualisieren der Texte muss ein Komplettabgleich der Kategorien durchgeführt werden, da JTL Änderungen in der Datenbank nicht automatisch erkennt.
Fazit
Das Wichtigste ist sich Zeit für die Prompterstellung zu nehmen und hier der KI möglichst spezifische Prompts mit Einbeziehung vo Oberkategorien, Tags, Merkmalen oder Attributen zu geben. Je genauer der Input, desto besser ist letztendlich der Output. Der Schlüssel zum Erfolg liegt in der detaillierten Ausarbeitung der Prompts und der Berücksichtigung aller relevanten Produktinformationen.
Keine Zeit für die KI-Textgenerierung?Lassen Sie mich die SEO-Texte für Sie erstellen
Mit meiner Expertise in JTL Shop und KI-gestützter Texterstellung generiere ich für Sie hochwertige, SEO-optimierte Kategorietexte - maßgeschneidert für Ihren Shop.