WP Transformer β Betriebshandbuch
Γbersicht
WP Transformer wandelt WordPress SQL-Dumps in statische HTML-Seiten um.
Jeder Mandant (Kunde) durchlΓ€uft eine vierstufige Pipeline mit manuellem Kontrollpunkt.
1. Neuen Mandanten anlegen
- Dashboard β + Mandant
- Name β Kundenname (z.B. "MERKUR ASSEKURANZ")
- Quell-URL β Original-WordPress-URL (z.B.
https://www.merkur-assekuranz.de) - DB-Prefix β Standard
wp_, abweichend wenn der WP-Export anderen Prefix hat - β Anlegen
Der Slug wird automatisch aus dem Namen generiert (z.B. merkur).
2. SQL-Dump exportieren (WordPress-Seite)
Empfohlenes Tool: UpdraftPlus
- WP-Admin β UpdraftPlus β Backup jetzt
- Nur Datenbank auswΓ€hlen
- Download β
.sql-Datei
Alternativ: phpMyAdmin β Datenbank β Export β SQL
3. Pipeline ausfΓΌhren
Schritt 1 β SQL hochladen
- Mandant ΓΆffnen β SQL-Dump hochladen
- Datei auswΓ€hlen (
.sql, max. 64 MB) - Prefix wird automatisch erkannt
Schritt 2a β Parsen
- Button Parsen β
- Liest Artikel, Seiten und Kategorien aus dem Dump
- Prefix wird automatisch erkannt (UpdraftPlus-Header + Scan bis 10.000 Zeilen)
- Ergebnis wird in
wpt_posts-Tabelle gespeichert und alscontent.jsongesichert - Human Review: Anzahl geparster Inhalte prΓΌfen
Schritt 2b β Inhalte bearbeiten
- Button Inhalte bearbeiten β ΓΆffnet den Post-Editor
- Titel, Typ (Seite/Beitrag), Slug, Kategorien, Excerpt und Content (HTML) bearbeitbar
- Kategorien als Komma-getrennte Liste eingeben
- Nach Γnderungen: βΊ Neu bauen direkt im Editor oder zurΓΌck zu Schritt 3
Schritt 3 β Static Build
- Button Build β
- Liest aktuelle Daten aus
wpt_posts-DB (nicht aus content.json) - Generiert HTML-Dateien in
tenants/{slug}/public/ - Erzeugt:
index.html,{slug}.htmlpro Post,feed.json,.htaccess - Theme: Standard (inline HTML) oder
corporate(Tailwind, navy/signal-green) - Human Review: Vorschau ΓΌber Subdomain prΓΌfen
Schritt 4a β ZIP Download
- Fertiges Paket fΓΌr manuelle Γbergabe
- EnthΓ€lt komplettes
public/-Verzeichnis
Schritt 4b β FTP Deploy
- FTP-Zugangsdaten des Kunden-Servers eintragen
- Host, User, Passwort, Zielpfad (z.B.
/public_html/) - Host und User werden gespeichert, Passwort nie
4. Mandanten-Einstellungen
| Feld | Beschreibung |
|---|---|
| Name | Anzeigename im Dashboard |
| URL | Original-WordPress-URL |
| Theme | corporate fΓΌr Tailwind-Design (navy/signal-green), leer = Standard |
| Nav-Hintergrund | HEX-Farbe (#000033) β auch navy-Farbe im corporate Theme |
| Nav-Text | HEX-Farbe fΓΌr Navigationstext |
| Akzentfarbe | HEX-Farbe (#15D169) β auch signal-Farbe im corporate Theme |
| Beschreibung | Intro-Text fΓΌr die Startseite |
| Meta-Description | SEO-Beschreibung (falls leer: Beschreibung wird verwendet) |
| Telefon | Wird in Topbar und Footer angezeigt |
| Kontakt-Link in Topbar, Kontakt-Section und Footer | |
| Logo-URL | Relativer Pfad zum Logo (z.B. assets/logo.png) |
| Adresse | Mehrzeilig, wird im Footer angezeigt |
| Karten-Bild | Relativer Pfad zum Lageplan-Bild |
| Schema JSON | JSON-LD fΓΌr strukturierte Daten (Organization, LocalBusiness β¦) |
| FTP Host | Ziel-Server fΓΌr automatisches Deployment |
| FTP User | FTP-Benutzername (wird gespeichert) |
| FTP Pfad | Zielpfad auf dem Server |
Corporate Theme
Das corporate-Theme erzeugt eine einseitige Tailwind-Site:
- WP-Seiten (type=page) β Nav-Links + Content-Sections + Slider (erste 3)
- WP-BeitrΓ€ge (type=post) β "Aktuelles"-Kacheln am Seitenende
- Einzelseiten ({slug}.html) mit Corporate-Chrome (Topbar, Header, Footer)
- Social-Links (LinkedIn, XING, Instagram, YouTube) ΓΌber brand.social JSON-Feld in DB
5. Subdomain einrichten (ALL-INKL KAS)
- KAS β Domains β Subdomain hinzufΓΌgen
- Name:
ozm(fΓΌrozm.wptransformer.org) - Zielverzeichnis:
tenants/ozm/public - DNS wird automatisch gesetzt (Propagation 5β60 Min.)
- FTP-User optional: KAS β FTP β Neuer Benutzer β Pfad auf
tenants/ozm/publicbeschrΓ€nken
6. Erstinstallation auf neuem Server
1. Alle Dateien per FTP hochladen
2. phpMyAdmin β init.sql importieren
3. config.local.php per FTP hochladen (DB-Zugangsdaten)
4. https://domain.tld/login.php aufrufen
5. Login: admin / (gesetztes Passwort)
6. Passwort sofort in phpMyAdmin Γ€ndern:
UPDATE wpt_users SET pass_hash="..." WHERE username="admin";
(Hash per PHP generieren: password_hash('neues_pw', PASSWORD_BCRYPT))
7. Gesamte Pipeline im Kontext
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β RetroPWD + Ollama (RZ, root, feste IP) β
β AI generiert JSON/HTML-Strukturen β
β β Human Review β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β WP Transformer (ALL-INKL, PHP/MySQL) β
β SQL Upload β Parse β Build β Deploy β
β β Human Review an jedem Schritt β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Kunden-Server (Static HTML) β
β ozm.wptransformer.org β onezeromore.com β
β merkur.wptransformer.org β merkur-assekuranz.deβ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
8. Troubleshooting
| Problem | Ursache | LΓΆsung |
|---|---|---|
| Login schlΓ€gt fehl | config.local.php fehlt |
Datei per FTP hochladen |
| Parsen schlΓ€gt fehl | Falscher DB-Prefix | Prefix in Einstellungen korrigieren |
| Build leer | Keine publizierten Posts | WP-Export prΓΌfen (nur publish-Status wird verarbeitet) |
| Kategorien nicht im HTML | Build nicht neu ausgefΓΌhrt | βΊ Neu bauen im Post-Editor klicken |
| Theme greift nicht | theme-Feld nicht gesetzt |
In Einstellungen corporate eintragen, dann neu bauen |
| Slider zeigt keine Slides | Keine Seiten (type=page) geparst |
Posts auf Typ page setzen im Editor |
| FTP Deploy schlΓ€gt fehl | Falsches Passwort / Pfad | Zugangsdaten prΓΌfen, Pfad mit / enden lassen |
| Subdomain nicht erreichbar | DNS-Propagation | 5β60 Minuten warten |
| Upload fehlgeschlagen | Datei > 64 MB | Dump komprimieren oder Tabellen einzeln exportieren |
9. Sicherheitshinweise
config.local.phpenthΓ€lt DB-Zugangsdaten β nie committen, nie per Browser abrufbar- FTP-PasswΓΆrter werden nicht in der Datenbank gespeichert
- Standard-Passwort
admin/passwordnach Erstinstallation sofort Γ€ndern - FTP-Zugangsdaten nach Nutzung im Chat rotieren
- Verzeichnisschutz (
.htaccess) schΓΌtzttenants/auΓer/public/ - Alle POST-Formulare sind CSRF-geschΓΌtzt (
hash_equals+random_bytes(32)) - Logout ist POST-only β GET-Requests auf
/logout.phpwerden ignoriert