html2wp / Dokumentation för html2wp / Plugin
Plugin för Claude Code och Codex
Så installerar du html2wp-pluginet i Claude Code eller Codex och använder det för att konvertera en sajt till ett WordPress-tema, steg för steg, ända fram till granskningen av de färdiga sidorna. Konverterar du i skrivbordsappen i stället? Stegen för appen finns i dess egen dokumentation.
När du behöver en licensnyckel
För att testa behöver du ingen. Gratisnivån är öppen för alla och ger dig tre konverteringar med upp till fem sidor vardera, plus fem omkörningar. Båda siffrorna räknas per IP-adress. Du behöver en licens för kunduppdrag, för sajter med fler än fem sidor och för WooCommerce-butiker. Du köper den på prissidan, och nyckeln kommer via e-post. Så fungerar köpet.
Installera
Pluginet finns i två GitHub-repositorier, ett för Claude Code och ett för Codex. Båda har samma innehåll och samma versionsnummer. De skiljer sig bara i hur respektive verktyg läser in dem. Installera det som hör till ditt verktyg, eftersom det andra inte skulle läsas in.
| Verktyg | Repositorium |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Växla till ditt verktyg och kör båda kommandona, det ena efter det andra:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpDet första kommandot lägger till pluginkatalogen (marketplace) från GitHub. Sedan installerar det andra html2wp därifrån. Codex behöver ett eget repositorium eftersom det hittar plugins via filen .agents/plugins/marketplace.json, och repositoriet för Claude Code har inte den filen.
Uppdateringar
Uppdateringskommandot heter olika i de två verktygen. I Codex heter det upgrade, i Claude Code heter det update:
/plugin marketplace update html2wpSlå på automatiska uppdateringar i Claude Code
Claude Code slår inte på automatiska uppdateringar för kataloger från tredje part. Utan dem får du en ny version av pluginet bara när du ber om den, och vissa versioner rättar säkerhetsfel. För att slå på dem öppnar du /plugin, väljer html2wp under Marketplaces och slår på auto-update.
För att se den installerade versionen kör du codex plugin list i Codex. I Claude Code går du till /plugin → Marketplaces → html2wp.
Om versionen i Codex inte ändrades efter en uppdatering har Codex en gammal kopia sparad. Ta bort den och installera pluginet igen:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpOm inte heller det hjälper kan Codex också ha en annan, äldre kopia från en manuell installation. Kommandot codex plugin marketplace list skriver ut alla kataloger. Om du ser html2wp@<other-name> där tar du bort den med codex plugin remove html2wp@<that-name>.
Det mesta av arbetet sker i tjänsten html2wp, och tjänsten uppdaterar sig själv, så din nästa konvertering körs redan på den nya versionen. Du behöver bara uppdatera den del som körs på din dator: kontrollerna, skripten och filtret för utgående data. Vad som ändrades i varje version står i commit-historiken på GitHub.
Krav
| Node.js | version 20 eller nyare |
|---|---|
| Python 3 | med paketen Playwright (chromium) och Pillow |
| Docker | inklusive docker compose, som kör test-WordPress |
| Andra verktyg | php-cli, jq, curl, bash, tar |
| Målsajt | WordPress 6.6 eller nyare |
Du behöver inte kontrollera detta själv. När du startar en konvertering kontrollerar pluginet först din dator och listar vad som saknas:
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
Paket som bara installeras i din användarmapp, som Playwright eller webbläsaren chromium, erbjuder sig pluginet att installera åt dig. Det frågar före varje kommando. Det som ändrar hela systemet, som Docker Desktop eller en nyare Node.js, rapporterar det bara, och sedan väntar det tills du har installerat det själv.
Om du vill installera Python-paketen för hand:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumVilken modell du ska använda
Under en konvertering måste AI:n fatta många beslut. Till exempel: vilken sida som är startsidan, varför en kontroll fallerade, eller om en kund ens skulle märka skillnaden mellan två skärmbilder. Därför påverkar valet av modell resultatet mer än någon annan inställning.
| Verktyg | Rekommenderad modell |
|---|---|
| Claude Code | Opus 5, med Fable 5 som rådgivare. |
| Codex | Luna med reasoning effort xhigh. |
Det billigare alternativet
Codex med Luna på xhigh kostar mindre, och resultaten ligger över genomsnittet. Om kostnaden för en konvertering spelar roll för dig, välj den kombinationen.
I Claude Code gör Opus 5 arbetet och Fable 5 tillfrågas om de viktiga besluten, där en konvertering oftast går fel.
Licensnyckel
På gratisnivån behöver du ingen nyckel, så hoppa över det här avsnittet. Har du en licens sparar du nyckeln på din dator före din första konvertering. Det gör du bara en gång, från vilken mapp som helst:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licenceDu kan också ange nyckeln i miljövariabeln H2WP_KEY, som går före filen. Filen är säkrare, eftersom nyckeln då inte hamnar i terminalhistoriken.
I filen hör licensnyckeln för html2wp hemma, den som du får när du köper Pro. En nyckel till Visual Edit Pro ska inte dit. Den anger du i pluginet Visual Edit på sajten du redigerar, och den fungerar inte för konverteringar.
Spara nyckeln innan du startar en konvertering
Redan i början räknar pluginet ut hur många sidor du får konvertera. Om det inte har någon nyckel än planerar det konverteringen efter gratisgränsen på fem sidor. En nyckel som läggs till medan konverteringen körs ändrar inte det.
För att ta reda på om en nyckel är giltig, vad du kan använda den till och till när, kör du npx html2wp-license YOUR-KEY. Nyckelkontrollen på licenssidan förklarar vad resultatet betyder. Vad en licens omfattar och hur du köper en står på licenssidan.
Konvertera ett projekt
Öppna en terminal i mappen med projektet du vill konvertera och starta din agent där:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexOm du använder Claude Code skriver du claude i stället för codex på sista raden.
Ge sedan agenten ett enda kommando:
/html2wp:html2wp convert this projectDet är allt. Du kör inte npm install eller npm run build, och du konfigurerar ingenting. Projekt från Bolt, v0, shadcn eller en Next.js-export konverteras på samma sätt. Du kan också skriva bara /html2wp:html2wp i Claude Code, eller be Codex att använda html2wp. Pluginet frågar dig då vad som ska konverteras.
De första minuterna av en konvertering
> 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.
På de sista raderna noterade pluginet hur det sorterade sidorna: /blog är artikellistan, /blog/launch är en artikel och resten är vanliga sidor. Kontrollera det beslutet på den färdiga sajten i slutet.
Annat underlag
Kommandot convert this project konverterar mappen du står i. Om filerna ligger någon annanstans skriver du sökvägen till dem, till exempel convert ./dist.
| Vad du har | Vad du skriver |
|---|---|
| Ett projekt som sajten byggs av: Lovable, Bolt, v0, Vite, Astro, en Next.js-export | convert this project |
En mapp med färdiga .html-filer, bilder och stilar | convert ./folder-name |
Underlaget måste alltid finnas på din disk. Pluginet konverterar inte adressen till en publicerad sajt. Det behöver filerna som sajten är byggd av, inte det som webbläsaren visar.
Så konverteras ett Lovable-projekt
En Lovable-app är byggd i React. Dess index.html innehåller bara ett tomt element och ett skript, och sidan vaknar till liv först i webbläsaren. Därför bygger pluginet först projektet, öppnar det i en riktig webbläsare och sparar varje sida som färdig HTML. Det fångar också innehåll som visas först när skripten har körts, som öppna dragspelsmenyer eller rullgardinsmenyer. Sedan gör det temat av de här sidorna. Detaljerna finns i guiden om Lovable till WordPress.
Vad den bestämmer åt dig
Vilken sida som är vilken
Ett beslut påverkar resultatet mest: vilken sida som är startsidan, vilken som är artikellistan, vilka som är artiklar och vilka som är produkter. Pluginet räknar ut det från sidornas kod, skriver ner det och fortsätter utan att fråga. Det stannar bara när det inte kan avgöra. Till exempel när sajten har fler sidor än din gräns tillåter, eller när två sidor ser ut att vara samma sida.
Om det blir fel är rättningen billig. Du rättar sorteringen och kör konverteringen igen. Det är en omkörning, och den räknas inte mot din gräns för konverteringar.
Sedan körs den mestadels på egen hand
Flash tar ungefär en halvtimme, Full ungefär en timme, beroende på antalet sidor och hur snabb din dator är. Under tiden bygger pluginet sajten, jämför den med originalet och skickar den till tjänsten html2wp för konvertering. Därefter installerar det det färdiga temat i ett tillfälligt WordPress i Docker på din dator och testar det där.
Granskningen du inte kan hoppa över
I slutet visar pluginet varje sida bredvid originalet i en bild. Titta på varje bild och säg vad du ser.
Varför en människa måste kontrollera sidorna
Automatiska kontroller jämför siffror, så de släpper också igenom fel som en människa skulle se direkt. I en konvertering saknades en hel sektion längre ner på sidan, men jämförelsen visade en skillnad på bara 0,4 %, så kontrollen godkändes. Då är tema-ZIP:en redan färdig. Den här granskningen är hur du avgör om du kan lämna över den.
Vad du får
- Temat som ZIP-fil. Du laddar upp det i WordPress under Utseende → Teman → Lägg till nytt → Ladda upp tema. Pluginet bygger inte alls ett trasigt tema: till exempel om PHP-koden hade ett syntaxfel, innehåll saknades, temats skärmbild hade fel storlek eller det inte gick att köpa något i butiken.
- Rapporten
CONVERSION-REPORT.mdi samma mapp som ZIP-filen. Den listar de konverterade sidorna, de kopplade menyerna, allt du hittade i granskningen, varje varning från konverteringen och vad som återstår att göra. - En länk till Visual Edit Lite, den kostnadsfria redigeraren för ändringar med peka och klicka. Redigeraren ingår inte i temat, och temat fungerar utan den. Visual Edit Pro är en separat betald licens.
Temat är fristående. Sidor, blogg, formulär, menyer, SEO och omdirigeringar ingår i dess kod och fungerar utan plugins. Koden är läsbar PHP, CSS och JavaScript. Den tillhör dig och är inte bunden till oss. Temat ansluter ingenstans. Hur du redigerar det med klick beskrivs i delen om Visual Edit i appens dokumentation.
Vad som lämnar din dator
Din dator gör webbläsararbetet: bygger sidorna, jämför skärmbilder och kör ett tillfälligt WordPress i Docker för de sista kontrollerna. Själva temat görs av tjänsten html2wp. Därför skickar pluginet den byggda sajten till tjänsten och får tillbaka temat.
Temakontrollerna körs hos dig, så tjänsten ser inte deras resultat. I slutet skickar pluginet därför resultaten till tjänsten. Detta är obligatoriskt: tjänsten startar inte nästa konvertering förrän den föregående har skickat sina resultat.
- Det här skickas: kontrollernas namn, om de klarades, antal sidor, den sämsta procentsatsen för matchningen och de korta namnen på sidorna som inte klarade sig, som
aboutellerpricing. - Det här skickas inte: sajtens adress eller domän, kod, text, skärmbilder, filsökvägar, licensnyckeln eller sajtnamnet. Pluginet skickar bara fördefinierade fält, inget annat.
- Kontrollera själv: kommandot
send-verdicts.sh <workspace> --dry-runskriver ut exakt vad som skulle skickas, men skickar ingenting. Det är ett kort skript som du kan läsa.
Pluginet skickar inga andra data, och det färdiga temat skickar ingenting alls. Den fullständiga beskrivningen, inklusive hur länge vi sparar uppgifterna, finns på integritetssidan.
Rapportera ett fel
Om själva konverteraren gör ett misstag rapporterar du det med det här kommandot:
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"}'En person läser varje rapport. Rättningen hamnar sedan i tjänsten, så den hjälper alla användare.
Rapportera säkerhetsfel på ett annat sätt
Inte med det här kommandot, och inte som ett ärende på GitHub. Stegen finns på säkerhetssidan.