html2wp / Documentazione html2wp / Plugin
Plugin per Claude Code e Codex
Come installare il plugin html2wp in Claude Code o Codex e usarlo per convertire un sito in un tema WordPress, passo dopo passo, fino al controllo delle pagine finite. Converti invece nell'app desktop? I passaggi per l'app sono nella sua documentazione dedicata.
Quando ti serve una chiave di licenza
Per provarlo non ne hai bisogno. Il piano gratuito è aperto a tutti e ti dà tre conversioni fino a cinque pagine ciascuna, più cinque riesecuzioni. Entrambi i numeri si contano per indirizzo IP. La licenza ti serve per i lavori per clienti, per i siti con più di cinque pagine e per i negozi WooCommerce. La compri nella pagina dei prezzi e la chiave arriva via email. Come funziona l'acquisto.
Installazione
Il plugin si trova in due repository GitHub, uno per Claude Code e uno per Codex. Hanno lo stesso contenuto e lo stesso numero di versione. Cambia solo il modo in cui ciascuno strumento li carica. Installa quello del tuo strumento, perché l'altro non verrebbe caricato.
| Strumento | Repository |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Seleziona il tuo strumento ed esegui entrambi i comandi, uno dopo l'altro:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpIl primo comando aggiunge da GitHub il catalogo dei plugin (il marketplace). Il secondo installa html2wp da lì. Codex ha bisogno di un repository suo perché trova i plugin tramite il file .agents/plugins/marketplace.json, che nel repository per Claude Code non c'è.
Aggiornamenti
Il comando di aggiornamento ha un nome diverso in ciascuno strumento. In Codex è upgrade, in Claude Code è update:
/plugin marketplace update html2wpAttiva gli aggiornamenti automatici in Claude Code
Claude Code non attiva gli aggiornamenti automatici per i cataloghi di terze parti. Senza, ricevi una nuova versione del plugin solo quando la chiedi, e alcune versioni correggono bug di sicurezza. Per attivarli apri /plugin, scegli html2wp sotto "Marketplaces" e accendi "auto-update".
Per vedere la versione installata, in Codex esegui codex plugin list. In Claude Code vai su /plugin → Marketplaces → html2wp.
Se dopo un aggiornamento la versione in Codex non è cambiata, Codex ha in memoria una copia vecchia. Cancellala e installa di nuovo il plugin:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpSe neanche questo basta, Codex potrebbe avere anche un'altra copia più vecchia, da un'installazione manuale. Il comando codex plugin marketplace list stampa tutti i cataloghi. Se lì vedi html2wp@<other-name>, rimuovilo con codex plugin remove html2wp@<that-name>.
Gran parte del lavoro avviene nel servizio html2wp, che si aggiorna da solo: la tua prossima conversione usa già la nuova versione. Devi aggiornare solo la parte che gira sul tuo computer, cioè i controlli, gli script e il filtro dei dati in uscita. Cosa è cambiato in ogni versione lo trovi nella cronologia dei commit su GitHub.
Requisiti
| Node.js | versione 20 o successiva |
|---|---|
| Python 3 | con i pacchetti Playwright (chromium) e Pillow |
| Docker | compreso docker compose, che fa girare il WordPress di prova |
| Altri strumenti | php-cli, jq, curl, bash, tar |
| Sito di destinazione | WordPress 6.6 o successivo |
Non devi controllarlo tu. Quando avvii una conversione, il plugin controlla prima il tuo computer ed elenca cosa manca:
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
I pacchetti che si installano solo nella tua cartella utente, come Playwright o il browser chromium, il plugin si offre di installarli per te. Chiede conferma prima di ogni comando. Quello che cambia l'intero sistema, come Docker Desktop o un Node.js più recente, si limita a segnalarlo. Poi aspetta che lo installi tu.
Se vuoi installare a mano i pacchetti Python:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumQuale modello usare
Durante una conversione l'AI deve prendere molte decisioni. Per esempio quale pagina è la home, perché un controllo è fallito, o se un cliente noterebbe davvero la differenza tra due screenshot. Per questo la scelta del modello incide sul risultato più di qualsiasi altra impostazione.
| Strumento | Modello consigliato |
|---|---|
| Claude Code | Opus 5, con Fable 5 come advisor (consulente). |
| Codex | Luna con reasoning effort xhigh. |
L'opzione più economica
Codex con Luna a xhigh costa meno e dà risultati sopra la media. Se il costo di una conversione conta per te, scegli questa combinazione.
In Claude Code, Opus 5 fa il lavoro e Fable 5 viene consultato sulle decisioni importanti, che sono il punto in cui una conversione va storta più spesso.
Chiave di licenza
Con il piano gratuito la chiave non ti serve, quindi salta questa sezione. Se hai una licenza, salva la chiave sul tuo computer prima della prima conversione. Lo fai una volta sola, da qualsiasi cartella:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licencePuoi anche passare la chiave nella variabile d'ambiente H2WP_KEY, che ha la precedenza sul file. Il file è più sicuro, perché così la chiave non finisce nella cronologia del terminale.
Nel file va la chiave di licenza html2wp che ricevi quando compri Pro. Una chiave Visual Edit Pro non va lì. Quella la inserisci nel plugin Visual Edit sul sito che modifichi, e per le conversioni non funziona.
Salva la chiave prima di avviare una conversione
Proprio all'inizio il plugin calcola quante pagine puoi convertire. Se non ha ancora una chiave, pianifica la conversione con il limite gratuito di cinque pagine. Una chiave aggiunta a conversione in corso non cambia questo calcolo.
Per sapere se una chiave è valida, per cosa puoi usarla e fino a quando, esegui npx html2wp-license YOUR-KEY. Il controllo della chiave nella pagina delle licenze spiega cosa significa il risultato. Cosa include una licenza e come comprarla lo trovi nella pagina delle licenze.
Convertire un progetto
Apri un terminale nella cartella del progetto che vuoi convertire e avvia lì il tuo agente:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexSe usi Claude Code, nell'ultima riga scrivi claude al posto di codex.
Poi dai all'agente un solo comando:
/html2wp:html2wp convert this projectTutto qui. Non esegui npm install né npm run build, e non configuri niente. I progetti da Bolt, v0, shadcn o un export Next.js si convertono allo stesso modo. In Claude Code puoi anche scrivere solo /html2wp:html2wp, oppure chiedere a Codex di usare html2wp. Il plugin ti chiede allora cosa convertire.
I primi minuti di una conversione
> 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.
Nelle ultime righe il plugin ha registrato come ha classificato le pagine: /blog è l'elenco degli articoli, /blog/launch è un articolo e il resto sono pagine normali. Controlla questa decisione sul sito finito, alla fine.
Altri input
Il comando convert this project converte la cartella in cui ti trovi. Se i file sono altrove, scrivi il loro percorso, per esempio convert ./dist.
| Cosa hai | Cosa scrivi |
|---|---|
| Un progetto da cui si costruisce il sito: Lovable, Bolt, v0, Vite, Astro, un export Next.js | convert this project |
Una cartella di file .html finiti, immagini e stili | convert ./folder-name |
L'input deve sempre stare sul tuo disco. Il plugin non converte l'indirizzo di un sito online. Gli servono i file da cui il sito è costruito, non quello che mostra il browser.
Come si converte un progetto Lovable
Un'app Lovable è fatta in React. Il suo index.html contiene solo un elemento vuoto e uno script, e la pagina prende vita solo nel browser. Per questo il plugin prima compila il progetto, lo apre in un browser vero e salva ogni pagina come HTML finito. Cattura anche i contenuti che compaiono solo dopo l'esecuzione degli script, come accordion aperti o menu a tendina. Poi crea il tema da queste pagine. I dettagli sono nella guida Lovable in WordPress.
Cosa decide al posto tuo
Quale pagina è quale
Una decisione pesa più di tutte sul risultato: quale pagina è la home, quale l'elenco degli articoli, quali sono articoli e quali prodotti. Il plugin lo ricava dal codice delle pagine, lo annota e prosegue senza chiedere. Si ferma solo quando non riesce a decidere. Per esempio quando il sito ha più pagine di quante ne consenta il tuo limite, o quando due pagine sembrano la stessa.
Se sbaglia, correggere costa poco. Sistemi la classificazione e lanci di nuovo la conversione. Questa è una riesecuzione e non conta nel tuo limite di conversioni.
Poi va avanti quasi da solo
Flash richiede circa mezz'ora, Full circa un'ora, a seconda del numero di pagine e della velocità del tuo computer. Nel frattempo il plugin costruisce il sito, lo confronta con l'originale e lo invia al servizio html2wp per la conversione. Dopo installa il tema finito in un WordPress temporaneo in Docker sul tuo computer e lo testa lì.
Il controllo da non saltare
Alla fine il plugin ti mostra ogni pagina accanto all'originale in un'unica immagine. Guarda ogni immagine e di' cosa vedi.
Perché le pagine deve controllarle una persona
I controlli automatici confrontano numeri, quindi lasciano passare anche errori che una persona noterebbe subito. In una conversione mancava un'intera sezione più in basso nella pagina, ma il confronto mostrava una differenza di appena lo 0,4%, e il controllo è passato. A quel punto lo ZIP del tema è già pronto. È con questo controllo che decidi se puoi consegnarlo.
Cosa ottieni
- Il tema come file ZIP. Lo carichi in WordPress da Aspetto → Temi → Aggiungi nuovo → Carica tema. Il plugin non crea proprio un tema rotto: per esempio se il PHP avesse un errore di sintassi, se mancassero contenuti, se lo screenshot del tema avesse le dimensioni sbagliate o se nel negozio non si potesse comprare nulla.
- Il report
CONVERSION-REPORT.mdnella stessa cartella dello ZIP. Elenca le pagine convertite, i menu collegati, tutto quello che hai trovato nel controllo, ogni avviso della conversione e cosa resta da fare. - Un link a Visual Edit Lite, l'editor gratuito per modifiche con clic. L'editor non fa parte del tema, e il tema funziona anche senza. Visual Edit Pro è una licenza a pagamento separata.
Il tema è autonomo. Pagine, blog, moduli, menu, SEO e reindirizzamenti fanno parte del suo codice e funzionano senza plugin. Il codice è PHP, CSS e JavaScript leggibile. È tuo e non è legato a noi. Il tema non si collega da nessuna parte. Come modificarlo con i clic lo trovi nella parte su Visual Edit della documentazione dell'app.
Cosa esce dal tuo computer
Il tuo computer fa il lavoro del browser: costruisce le pagine, confronta gli screenshot e fa girare un WordPress temporaneo in Docker per i controlli finali. Il tema vero e proprio lo crea il servizio html2wp. Per questo il plugin gli invia il sito compilato e riceve indietro il tema.
I controlli del tema girano dalla tua parte, quindi il servizio non ne vede i risultati. Così alla fine il plugin glieli invia. È un passaggio obbligatorio: il servizio non avvia la conversione successiva finché la precedente non ha inviato i suoi risultati.
- Cosa viene inviato: i nomi dei controlli, se sono passati, il numero di pagine, la percentuale di corrispondenza peggiore e i nomi brevi delle pagine fallite, come
aboutopricing. - Cosa non viene inviato: l'indirizzo o il dominio del sito, il codice, i testi, gli screenshot, i percorsi dei file, la chiave di licenza o il nome del sito. Il plugin invia solo campi predefiniti, nient'altro.
- Verificalo tu: il comando
send-verdicts.sh <workspace> --dry-runstampa esattamente cosa verrebbe inviato, ma non invia nulla. È un solo script breve che puoi leggere.
Il plugin non invia altri dati, e il tema finito non invia proprio nulla. La descrizione completa, compreso per quanto tempo conserviamo i dati, è nella pagina sulla privacy.
Segnalare un bug
Se è il convertitore stesso a sbagliare, segnalalo con questo comando:
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"}'Una persona legge ogni segnalazione. La correzione finisce poi nel servizio, quindi aiuta tutti gli utenti.
I bug di sicurezza segnalali in un altro modo
Non con questo comando e non come issue su GitHub. I passaggi sono nella pagina sulla sicurezza.