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

  1. Dashboard β†’ + Mandant
  2. Name β€” Kundenname (z.B. "MERKUR ASSEKURANZ")
  3. Quell-URL β€” Original-WordPress-URL (z.B. https://www.merkur-assekuranz.de)
  4. DB-Prefix β€” Standard wp_, abweichend wenn der WP-Export anderen Prefix hat
  5. β†’ Anlegen

Der Slug wird automatisch aus dem Namen generiert (z.B. merkur).


2. SQL-Dump exportieren (WordPress-Seite)

Empfohlenes Tool: UpdraftPlus

  1. WP-Admin β†’ UpdraftPlus β†’ Backup jetzt
  2. Nur Datenbank auswΓ€hlen
  3. 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 als content.json gesichert
  • 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}.html pro 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
E-Mail 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)

  1. KAS β†’ Domains β†’ Subdomain hinzufΓΌgen
  2. Name: ozm (fΓΌr ozm.wptransformer.org)
  3. Zielverzeichnis: tenants/ozm/public
  4. DNS wird automatisch gesetzt (Propagation 5–60 Min.)
  5. FTP-User optional: KAS β†’ FTP β†’ Neuer Benutzer β†’ Pfad auf tenants/ozm/public beschrΓ€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.php enthΓ€lt DB-Zugangsdaten β€” nie committen, nie per Browser abrufbar
  • FTP-PasswΓΆrter werden nicht in der Datenbank gespeichert
  • Standard-Passwort admin/password nach Erstinstallation sofort Γ€ndern
  • FTP-Zugangsdaten nach Nutzung im Chat rotieren
  • Verzeichnisschutz (.htaccess) schΓΌtzt tenants/ außer /public/
  • Alle POST-Formulare sind CSRF-geschΓΌtzt (hash_equals + random_bytes(32))
  • Logout ist POST-only β€” GET-Requests auf /logout.php werden ignoriert