html2wp / Dokumentation von html2wp / Plugin
Plugin für Claude Code und Codex
So installierst du das html2wp-Plugin in Claude Code oder Codex und wandelst damit eine Website in ein WordPress-Theme um, Schritt für Schritt bis zur Durchsicht der fertigen Seiten. Du konvertierst lieber in der Desktop-App? Die Schritte für die App stehen in ihrer eigenen Dokumentation.
Wann du einen Lizenzschlüssel brauchst
Zum Ausprobieren brauchst du keinen. Die Gratis-Version steht allen offen und gibt dir drei Konvertierungen mit je bis zu fünf Seiten, dazu fünf erneute Läufe. Beide Zahlen werden pro IP-Adresse gezählt. Eine Lizenz brauchst du für Arbeit für Kunden, für Websites mit mehr als fünf Seiten und für WooCommerce-Shops. Du kaufst sie auf der Preisseite, und der Schlüssel kommt per E-Mail. So funktioniert der Kauf.
Installation
Das Plugin liegt in zwei GitHub-Repositories, eins für Claude Code und eins für Codex. Beide haben denselben Inhalt und dieselbe Versionsnummer. Sie unterscheiden sich nur darin, wie das jeweilige Tool sie lädt. Installiere das Repository, das zu deinem Tool gehört, denn das andere würde nicht laden.
| Tool | Repository |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Wechsle zu deinem Tool und führe beide Befehle nacheinander aus:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpDer erste Befehl fügt den Plugin-Katalog (den Marketplace) von GitHub hinzu. Der zweite installiert daraus html2wp. Codex braucht ein eigenes Repository, weil es Plugins über die Datei .agents/plugins/marketplace.json findet, und die hat das Repository für Claude Code nicht.
Updates
Der Befehl für Updates heißt in jedem Tool anders. In Codex ist es upgrade, in Claude Code update:
/plugin marketplace update html2wpAutomatische Updates in Claude Code einschalten
Claude Code schaltet automatische Updates für Kataloge von Drittanbietern nicht ein. Ohne sie bekommst du eine neue Version des Plugins nur, wenn du danach fragst, und manche Versionen beheben Sicherheitslücken. Zum Einschalten öffnest du /plugin, wählst html2wp unter Marketplaces und schaltest Auto-Update ein.
Die installierte Version zeigt in Codex der Befehl codex plugin list. In Claude Code gehst du zu /plugin → Marketplaces → html2wp.
Hat sich die Version in Codex nach einem Update nicht geändert, hat Codex eine alte Kopie gespeichert. Lösche sie und installiere das Plugin neu:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpHilft auch das nicht, hat Codex vielleicht noch eine andere, ältere Kopie aus einer manuellen Installation. Der Befehl codex plugin marketplace list gibt jeden Katalog aus. Siehst du dort html2wp@<other-name>, entferne es mit codex plugin remove html2wp@<that-name>.
Der Großteil der Arbeit passiert im Dienst von html2wp, und der Dienst aktualisiert sich selbst. Deine nächste Konvertierung läuft also schon mit der neuen Version. Aktualisieren musst du nur den Teil, der auf deinem Computer läuft: die Prüfungen, die Skripte und den Filter für ausgehende Daten. Was sich in jeder Version geändert hat, steht in der Commit-Historie auf GitHub.
Voraussetzungen
| Node.js | Version 20 oder neuer |
|---|---|
| Python 3 | mit den Paketen Playwright (chromium) und Pillow |
| Docker | einschließlich docker compose, das das Test-WordPress ausführt |
| Weitere Tools | php-cli, jq, curl, bash, tar |
| Zielwebsite | WordPress 6.6 oder neuer |
Prüfen musst du das nicht selbst. Wenn du eine Konvertierung startest, prüft das Plugin zuerst deinen Computer und listet auf, was fehlt:
Node.js ok v22.14.0 Python ok 3.12.4 Playwright MISSING mirroring, prerendering and every screenshot Docker NOT RUNNING installed, but the daemon is not up
Pakete, die sich nur in deinen Benutzerordner installieren, wie Playwright oder den Browser chromium, bietet das Plugin an, für dich zu installieren. Vor jedem Befehl fragt es nach. Dinge, die das ganze System ändern, wie Docker Desktop oder ein neueres Node.js, meldet es nur. Dann wartet es, bis du sie selbst installiert hast.
Wenn du die Python-Pakete von Hand installieren willst:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumWelches Modell du nutzen solltest
Während einer Konvertierung muss die KI viele Entscheidungen treffen. Zum Beispiel: welche Seite die Startseite ist, warum eine Prüfung fehlgeschlagen ist oder ob ein Kunde den Unterschied zwischen zwei Screenshots überhaupt bemerken würde. Die Wahl des Modells beeinflusst das Ergebnis deshalb stärker als jede andere Einstellung.
| Tool | Empfohlenes Modell |
|---|---|
| Claude Code | Opus 5, mit Fable 5 als Berater. |
| Codex | Luna mit Reasoning-Stufe xhigh. |
Die günstigere Option
Codex mit Luna auf xhigh kostet weniger, und die Ergebnisse sind überdurchschnittlich. Wenn dir die Kosten einer Konvertierung wichtig sind, nimm diese Kombination.
In Claude Code macht Opus 5 die Arbeit, und Fable 5 wird bei den wichtigen Entscheidungen hinzugezogen. Genau dort geht eine Konvertierung am häufigsten schief.
Lizenzschlüssel
In der Gratis-Version brauchst du keinen Schlüssel, überspring diesen Abschnitt also. Hast du eine Lizenz, speichere den Schlüssel vor deiner ersten Konvertierung auf deinem Computer. Das machst du nur einmal, aus jedem beliebigen Ordner:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licenceDu kannst den Schlüssel auch in der Umgebungsvariable H2WP_KEY übergeben, die Vorrang vor der Datei hat. Die Datei ist sicherer, weil der Schlüssel dann nicht in deiner Terminal-Historie landet.
In die Datei gehört der Lizenzschlüssel von html2wp, den du beim Kauf von Pro bekommst. Ein Schlüssel für Visual Edit Pro gehört nicht hinein. Den gibst du im Plugin Visual Edit auf der Website ein, die du bearbeitest, und für Konvertierungen funktioniert er nicht.
Speichere den Schlüssel, bevor du eine Konvertierung startest
Gleich zu Beginn ermittelt das Plugin, wie viele Seiten du konvertieren darfst. Hat es noch keinen Schlüssel, plant es die Konvertierung mit dem Gratis-Limit von fünf Seiten. Ein Schlüssel, den du während der laufenden Konvertierung hinzufügst, ändert daran nichts.
Ob ein Schlüssel gültig ist, wofür du ihn nutzen kannst und bis wann, zeigt npx html2wp-license YOUR-KEY. Was das Ergebnis bedeutet, erklärt die Schlüsselprüfung auf der Seite über Lizenzen. Was eine Lizenz umfasst und wie du eine kaufst, steht auf der Seite über Lizenzen.
Ein Projekt konvertieren
Öffne ein Terminal im Ordner des Projekts, das du konvertieren willst, und starte dort deinen Agenten:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexNutzt du Claude Code, tippe in der letzten Zeile claude statt codex.
Dann gib dem Agenten einen einzigen Befehl:
/html2wp:html2wp convert this projectDas ist alles. Du führst kein npm install und kein npm run build aus und konfigurierst nichts. Projekte aus Bolt, v0, shadcn oder ein Next.js-Export werden genauso konvertiert. In Claude Code kannst du auch nur /html2wp:html2wp tippen oder Codex bitten, html2wp zu nutzen. Das Plugin fragt dich dann, was es konvertieren soll.
Die ersten Minuten einer Konvertierung
> convert this project
Checking this machine first…
Node.js ok v22.14.0
Playwright MISSING
Two Python packages are missing. Shall I install them? (they go in your
user directory, no root)
> yes
… installed. Building the project, then prerendering it.
7 routes found: /, /about, /pricing, /blog, /blog/launch, /contact, /faq
Decided: /blog is the listing, /blog/launch an article, the rest are pages.
Written to the manifest; carrying on.
In den letzten Zeilen hat das Plugin festgehalten, wie es die Seiten eingeordnet hat: /blog ist die Übersicht der Artikel, /blog/launch ist ein Artikel, und der Rest sind normale Seiten. Prüfe diese Entscheidung am Ende auf der fertigen Website.
Anderer Input
Der Befehl convert this project konvertiert den Ordner, in dem du bist. Liegen die Dateien woanders, tippe den Pfad dorthin, zum Beispiel convert ./dist.
| Was du hast | Was du tippst |
|---|---|
| Ein Projekt, aus dem die Website gebaut wird: Lovable, Bolt, v0, Vite, Astro, ein Next.js-Export | convert this project |
Ein Ordner mit fertigen .html-Dateien, Bildern und Styles | convert ./folder-name |
Der Input muss immer auf deiner Festplatte liegen. Die Adresse einer Live-Website konvertiert das Plugin nicht. Es braucht die Dateien, aus denen die Website gebaut ist, nicht das, was der Browser anzeigt.
So wird ein Lovable-Projekt konvertiert
Eine Lovable-App ist in React gebaut. Ihre index.html enthält nur ein leeres Element und ein Skript, und die Seite entsteht erst im Browser. Deshalb baut das Plugin das Projekt zuerst, öffnet es in einem echten Browser und speichert jede Seite als fertiges HTML. Es erfasst auch Inhalte, die erst nach dem Ausführen der Skripte erscheinen, etwa geöffnete Akkordeons oder Dropdown-Menüs. Aus diesen Seiten macht es dann das Theme. Die Details stehen in der Anleitung Lovable in WordPress.
Was es für dich entscheidet
Welche Seite welche ist
Eine Entscheidung wirkt sich am stärksten auf das Ergebnis aus: welche Seite die Startseite ist, welche die Übersicht der Artikel, welche Artikel und welche Produkte sind. Das Plugin ermittelt das aus dem Code der Seiten, schreibt es auf und macht weiter, ohne zu fragen. Es hält nur an, wenn es nicht entscheiden kann. Zum Beispiel, wenn die Website mehr Seiten hat, als dein Limit erlaubt, oder wenn zwei Seiten wie dieselbe aussehen.
Liegt es daneben, ist die Korrektur billig. Du korrigierst die Einordnung und startest die Konvertierung noch einmal. Das ist ein erneuter Lauf, und er zählt nicht gegen dein Limit an Konvertierungen.
Danach läuft es meist von selbst
Flash dauert etwa eine halbe Stunde, Full etwa eine Stunde, je nach Anzahl der Seiten und Tempo deines Computers. In der Zeit baut das Plugin die Website, vergleicht sie mit dem Original und schickt sie zur Konvertierung an den Dienst von html2wp. Danach installiert es das fertige Theme in ein temporäres WordPress in Docker auf deinem Computer und testet es dort.
Die Durchsicht, die du nicht auslassen darfst
Am Ende zeigt dir das Plugin jede Seite neben dem Original in einem Bild. Sieh dir jedes Bild an und sag, was du siehst.
Warum ein Mensch die Seiten prüfen muss
Automatische Prüfungen vergleichen Zahlen und lassen deshalb auch Fehler durch, die ein Mensch sofort sehen würde. In einer Konvertierung fehlte ein ganzer Abschnitt weiter unten auf der Seite, aber der Vergleich zeigte nur 0,4 % Abweichung. Die Prüfung war also bestanden. Zu diesem Zeitpunkt ist die Theme-ZIP schon fertig. Mit dieser Durchsicht entscheidest du, ob du sie übergeben kannst.
Was du bekommst
- Das Theme als ZIP-Datei. Du lädst es in WordPress unter Design → Themes → Theme hinzufügen → Theme hochladen hoch. Ein kaputtes Theme baut das Plugin gar nicht erst. Das wäre etwa eins mit einem Syntaxfehler im PHP, mit fehlenden Inhalten, mit einem Theme-Screenshot in falscher Größe oder mit einem Shop, in dem man nichts kaufen kann.
- Der Bericht
CONVERSION-REPORT.mdim selben Ordner wie die ZIP. Er listet die konvertierten Seiten, die verknüpften Menüs, alles, was du bei der Durchsicht gefunden hast, jede Warnung aus der Konvertierung und was noch zu tun ist. - Ein Link zu Visual Edit Lite, dem kostenlosen Editor für Änderungen per Klick. Der Editor ist kein Teil des Themes, und das Theme funktioniert ohne ihn. Visual Edit Pro ist eine eigene bezahlte Lizenz.
Das Theme ist eigenständig. Seiten, Blog, Formulare, Menüs, SEO und Weiterleitungen sind Teil seines Codes und funktionieren ohne Plugins. Der Code ist lesbares PHP, CSS und JavaScript. Er gehört dir und ist nicht an uns gebunden. Das Theme verbindet sich nirgendwohin. Wie du es per Klick bearbeitest, steht im Teil zu Visual Edit in der Dokumentation zur App.
Was deinen Computer verlässt
Dein Computer erledigt die Arbeit im Browser: die Seiten bauen, Screenshots vergleichen und für die letzten Prüfungen ein temporäres WordPress in Docker betreiben. Das Theme selbst erstellt der Dienst von html2wp. Deshalb sendet ihm das Plugin die gebaute Website und bekommt das Theme zurück.
Die Prüfungen des Themes laufen bei dir, also sieht der Dienst ihre Ergebnisse nicht. Am Ende sendet das Plugin sie ihm deshalb. Das ist Pflicht: Der Dienst startet die nächste Konvertierung erst, wenn die vorherige ihre Ergebnisse gesendet hat.
- Was gesendet wird: die Namen der Prüfungen, ob sie bestanden wurden, Seitenzahlen, der schlechteste Prozentwert der Übereinstimmung und die kurzen Namen der Seiten, die durchgefallen sind, etwa
aboutoderpricing. - Was nicht gesendet wird: die Adresse oder Domain der Website, Code, Text, Screenshots, Dateipfade, der Lizenzschlüssel und der Name der Website. Das Plugin sendet nur vorher festgelegte Felder, sonst nichts.
- Prüf es selbst: Der Befehl
send-verdicts.sh <workspace> --dry-rungibt genau aus, was gesendet würde, sendet aber nichts. Es ist ein kurzes Skript, das du lesen kannst.
Andere Daten sendet das Plugin nicht, und das fertige Theme sendet überhaupt nichts. Die vollständige Beschreibung, auch wie lange wir die Daten aufbewahren, steht auf der Seite zum Datenschutz.
Einen Fehler melden
Macht der Konverter selbst einen Fehler, melde ihn mit diesem Befehl:
curl -sS -X POST https://api.html2wp.dev/v1/report \
-H 'content-type: application/json' \
-d '{"subject":"what went wrong","body":"what you saw","evidence":"page keys, warnings"}'Ein Mensch liest jeden Bericht. Die Korrektur fließt dann in den Dienst ein und hilft so allen Nutzern.
Sicherheitslücken meldest du anders
Nicht mit diesem Befehl und nicht als Issue auf GitHub. Die Schritte stehen auf der Seite zur Sicherheit.