html2wp / Documentația html2wp / Plugin
Pluginul pentru Claude Code și Codex
Cum instalezi pluginul html2wp în Claude Code sau Codex și cum îl folosești ca să convertești un site într-o temă WordPress, pas cu pas, până la revizuirea paginilor terminate. Convertești în schimb în aplicația desktop? Pașii pentru aplicație sunt în documentația ei separată.
Când ai nevoie de o cheie de licență
Pentru încercare nu ai nevoie de una. Planul gratuit e deschis tuturor și îți dă trei conversii de până la cinci pagini fiecare, plus cinci rerulări. Ambele cifre se numără per adresă IP. Ai nevoie de o licență pentru munca pentru clienți, pentru site-uri cu mai mult de cinci pagini și pentru magazine WooCommerce. O cumperi pe pagina de prețuri, iar cheia vine pe email. Cum funcționează cumpărarea.
Instalare
Pluginul stă în două depozite GitHub, unul pentru Claude Code și unul pentru Codex. Ambele au același conținut și același număr de versiune. Diferă doar prin felul în care le încarcă fiecare unealtă. Instalează-l pe cel care ține de unealta ta, pentru că celălalt nu s-ar încărca.
| Unealtă | Depozit |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Comută pe unealta ta și rulează ambele comenzi, una după alta:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpPrima comandă adaugă catalogul de pluginuri (marketplace-ul) de pe GitHub. Apoi a doua instalează html2wp din el. Codex are nevoie de propriul depozit pentru că găsește pluginurile prin fișierul .agents/plugins/marketplace.json, iar depozitul pentru Claude Code nu are acest fișier.
Actualizări
Comanda de actualizare are alt nume în fiecare unealtă. În Codex e upgrade, în Claude Code e update:
/plugin marketplace update html2wpPornește actualizările automate în Claude Code
Claude Code nu pornește actualizările automate pentru cataloagele terțe. Fără ele primești o versiune nouă a pluginului doar când o ceri, iar unele versiuni repară bug-uri de securitate. Ca să le pornești, deschide /plugin, alege html2wp la Marketplaces și activează auto-update.
Ca să vezi versiunea instalată, rulează codex plugin list în Codex. În Claude Code mergi la /plugin → Marketplaces → html2wp.
Dacă versiunea din Codex nu s-a schimbat după o actualizare, Codex are stocată o copie veche. Șterge-o și instalează din nou pluginul:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpDacă nici asta nu ajută, Codex poate avea și o altă copie, mai veche, dintr-o instalare manuală. Comanda codex plugin marketplace list afișează toate cataloagele. Dacă vezi acolo html2wp@<other-name>, elimină-l cu codex plugin remove html2wp@<that-name>.
Cea mai mare parte a muncii se face în serviciul html2wp, iar serviciul se actualizează singur, deci următoarea ta conversie rulează deja versiunea nouă. Trebuie să actualizezi doar partea care rulează pe calculatorul tău: verificările, scripturile și filtrul pentru datele care pleacă. Ce s-a schimbat în fiecare versiune găsești în istoricul commit-urilor de pe GitHub.
Cerințe
| Node.js | versiunea 20 sau mai nouă |
|---|---|
| Python 3 | cu pachetele Playwright (chromium) și Pillow |
| Docker | inclusiv docker compose, care rulează WordPress-ul de test |
| Alte unelte | php-cli, jq, curl, bash, tar |
| Site-ul țintă | WordPress 6.6 sau mai nou |
Nu trebuie să verifici asta singur. Când pornești o conversie, pluginul îți verifică întâi calculatorul și listează ce lipsește:
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
Pachetele care se instalează doar în folderul tău de utilizator, ca Playwright sau browserul chromium, pluginul se oferă să le instaleze în locul tău. Te întreabă înainte de fiecare comandă. Lucrurile care schimbă tot sistemul, ca Docker Desktop sau un Node.js mai nou, doar le raportează și apoi așteaptă să le instalezi tu.
Dacă vrei să instalezi manual pachetele Python:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumCe model să folosești
În timpul unei conversii, AI-ul trebuie să ia multe decizii. De exemplu: care pagină e pagina principală, de ce a picat o verificare sau dacă un client ar observa măcar diferența dintre două capturi de ecran. Alegerea modelului influențează deci rezultatul mai mult decât orice altă setare.
| Unealtă | Model recomandat |
|---|---|
| Claude Code | Opus 5, cu Fable 5 drept consilier. |
| Codex | Luna cu nivelul de raționament xhigh. |
Varianta mai ieftină
Codex cu Luna pe xhigh costă mai puțin, iar rezultatele lui sunt peste medie. Dacă te interesează costul unei conversii, alege această combinație.
În Claude Code, Opus 5 face munca, iar Fable 5 e consultat la deciziile importante, adică acolo unde o conversie greșește cel mai des.
Cheia de licență
Pe planul gratuit nu ai nevoie de cheie, deci sari peste această secțiune. Dacă ai o licență, salvează cheia pe calculator înainte de prima conversie. Faci asta o singură dată, din orice folder:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licencePoți da cheia și prin variabila de mediu H2WP_KEY, care are prioritate față de fișier. Fișierul e mai sigur, pentru că așa cheia nu ajunge în istoricul terminalului.
În fișier intră cheia de licență html2wp pe care o primești când cumperi Pro. O cheie Visual Edit Pro nu intră acolo. Pe aceea o introduci în pluginul Visual Edit de pe site-ul pe care îl editezi, iar pentru conversii nu funcționează.
Salvează cheia înainte să pornești o conversie
Chiar la început, pluginul calculează câte pagini ai voie să convertești. Dacă nu are încă o cheie, planifică conversia după limita gratuită de cinci pagini. O cheie adăugată în timp ce conversia rulează nu schimbă asta.
Ca să afli dacă o cheie e validă, la ce o poți folosi și până când, rulează npx html2wp-license YOUR-KEY. Verificarea cheii de pe pagina licențelor explică ce înseamnă rezultatul. Ce include o licență și cum o cumperi găsești pe pagina licențelor.
Conversia unui proiect
Deschide un terminal în folderul proiectului pe care vrei să îl convertești și pornește agentul acolo:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexDacă folosești Claude Code, scrie claude în loc de codex pe ultimul rând.
Apoi dă-i agentului o singură comandă:
/html2wp:html2wp convert this projectAsta e tot. Nu rulezi npm install sau npm run build și nu configurezi nimic. Proiectele din Bolt, v0, shadcn sau un export Next.js se convertesc la fel. Poți scrie și doar /html2wp:html2wp în Claude Code sau îi poți cere lui Codex să folosească html2wp. Pluginul te întreabă atunci ce să convertească.
Primele minute ale unei conversii
> 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.
În ultimele rânduri, pluginul a notat cum a sortat paginile: /blog e lista de articole, /blog/launch e un articol, iar restul sunt pagini obișnuite. Verifică această decizie pe site-ul terminat, la final.
Alte surse
Comanda convert this project convertește folderul în care te afli. Dacă fișierele sunt în altă parte, scrie calea spre ele, de exemplu convert ./dist.
| Ce ai | Ce scrii |
|---|---|
| Un proiect din care se construiește site-ul: Lovable, Bolt, v0, Vite, Astro, un export Next.js | convert this project |
Un folder cu fișiere .html finite, imagini și stiluri | convert ./folder-name |
Sursa trebuie să fie mereu pe discul tău. Pluginul nu convertește adresa unui site live. Are nevoie de fișierele din care e construit site-ul, nu de ce arată browserul.
Cum se convertește un proiect Lovable
O aplicație Lovable e construită în React. index.html-ul ei conține doar un element gol și un script, iar pagina prinde viață abia în browser. De aceea pluginul compilează întâi proiectul, îl deschide într-un browser real și salvează fiecare pagină ca HTML finit. Capturează și conținutul care apare abia după rularea scripturilor, ca acordeoanele deschise sau meniurile derulante. Apoi face tema din aceste pagini. Detaliile sunt în ghidul despre conversia din Lovable în WordPress.
Ce decide în locul tău
Care pagină ce este
O decizie are cel mai mare efect asupra rezultatului: care pagină e pagina principală, care e lista de articole, care sunt articole și care sunt produse. Pluginul deduce asta din codul paginilor, o notează și merge mai departe fără să întrebe. Se oprește doar când nu poate decide. De exemplu, când site-ul are mai multe pagini decât permite limita ta sau când două pagini par a fi aceeași.
Dacă greșește aici, corectura e ieftină. Corectezi sortarea și rulezi din nou conversia. Asta e o rerulare și nu se socotește în limita ta de conversii.
Apoi merge mai mult singur
Flash durează cam o jumătate de oră, Full cam o oră, în funcție de numărul de pagini și de cât de rapid e calculatorul tău. Între timp, pluginul compilează site-ul, îl compară cu originalul și îl trimite la serviciul html2wp pentru conversie. După aceea instalează tema terminată într-un WordPress temporar în Docker pe calculatorul tău și o testează acolo.
Revizuirea pe care nu o poți sări
La final, pluginul îți arată fiecare pagină lângă original, într-o singură imagine. Uită-te la fiecare imagine și spune ce vezi.
De ce trebuie ca un om să verifice paginile
Verificările automate compară cifre, așa că lasă să treacă și erori pe care un om le-ar vedea imediat. Într-o conversie lipsea o secțiune întreagă mai jos pe pagină, dar comparația a arătat o diferență de doar 0,4%, așa că verificarea a trecut. În acel moment ZIP-ul temei e deja gata. Prin această revizuire decizi dacă îl poți preda.
Ce primești
- Tema ca fișier ZIP. O încarci în WordPress la Aspect → Teme → Adaugă temă nouă → Încarcă tema. Pluginul nu construiește deloc o temă stricată: de exemplu, dacă PHP-ul avea o eroare de sintaxă, lipsea conținut, captura temei avea dimensiunea greșită sau nu se putea cumpăra nimic în magazin.
- Raportul
CONVERSION-REPORT.mdîn același folder cu ZIP-ul. El listează paginile convertite, meniurile conectate, tot ce ai găsit la revizuire, fiecare avertisment din conversie și ce mai e de făcut. - Un link către Visual Edit Lite, editorul gratuit pentru modificări prin clic. Editorul nu face parte din temă, iar tema funcționează fără el. Visual Edit Pro e o licență plătită separată.
Tema e de sine stătătoare. Paginile, blogul, formularele, meniurile, SEO și redirecționările fac parte din codul ei și funcționează fără pluginuri. Codul e PHP, CSS și JavaScript lizibil. Îți aparține și nu e legat de noi. Tema nu se conectează nicăieri. Cum o editezi prin clic e descris în partea despre Visual Edit din documentația aplicației.
Ce pleacă de pe calculatorul tău
Calculatorul tău face munca de browser: construiește paginile, compară capturile de ecran și rulează un WordPress temporar în Docker pentru verificările finale. Tema propriu-zisă o face serviciul html2wp. De aceea pluginul îi trimite site-ul compilat și primește tema înapoi.
Verificările temei rulează la tine, deci serviciul nu le vede rezultatele. La final, pluginul i le trimite. Asta e obligatoriu: serviciul nu pornește următoarea conversie până când cea anterioară nu și-a trimis rezultatele.
- Ce se trimite: numele verificărilor, dacă au trecut, numărul de pagini, cel mai slab procent de potrivire și numele scurte ale paginilor care au picat, ca
aboutsaupricing. - Ce nu se trimite: adresa sau domeniul site-ului, codul, textele, capturile de ecran, căile fișierelor, cheia de licență sau numele site-ului. Pluginul trimite doar câmpuri predefinite, nimic altceva.
- Verifică singur: comanda
send-verdicts.sh <workspace> --dry-runafișează exact ce s-ar trimite, dar nu trimite nimic. E un singur script scurt pe care îl poți citi.
Pluginul nu trimite alte date, iar tema terminată nu trimite absolut nimic. Descrierea completă, inclusiv cât timp păstrăm datele, e pe pagina de confidențialitate.
Raportarea unui bug
Dacă greșește convertorul însuși, raportează cu această comandă:
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"}'Un om citește fiecare raport. Corectura intră apoi în serviciu, deci ajută fiecare utilizator.
Bug-urile de securitate le raportezi altfel
Nu cu această comandă și nu ca issue pe GitHub. Pașii sunt pe pagina de securitate.