html2wp / Dokumentacja html2wp / Wtyczka
Wtyczka dla Claude Code i Codex
Jak zainstalować wtyczkę html2wp w Claude Code albo Codex i użyć jej do przeniesienia strony do motywu WordPress, krok po kroku, aż do przeglądu gotowych stron. Konwertujesz zamiast tego w aplikacji desktopowej? Kroki dla aplikacji są w jej własnej dokumentacji.
Kiedy potrzebujesz klucza licencyjnego
Do wypróbowania nie potrzebujesz. Wersja darmowa jest dostępna dla każdego i daje trzy konwersje po maksymalnie pięć stron oraz pięć ponownych uruchomień. Obie liczby liczą się na adres IP. Licencja jest potrzebna do pracy dla klientów, do stron z więcej niż pięcioma podstronami i do sklepów WooCommerce. Kupujesz ją na stronie z cennikiem, a klucz przychodzi e-mailem. Jak działa zakup.
Instalacja
Wtyczka jest w dwóch repozytoriach na GitHubie, jednym dla Claude Code i jednym dla Codex. Oba mają tę samą zawartość i ten sam numer wersji. Różnią się tylko tym, jak każde narzędzie je wczytuje. Zainstaluj to, które należy do twojego narzędzia, bo drugie by się nie wczytało.
| Narzędzie | Repozytorium |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Przełącz na swoje narzędzie i uruchom oba polecenia, jedno po drugim:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpPierwsze polecenie dodaje z GitHuba katalog wtyczek (marketplace). Drugie instaluje z niego html2wp. Codex potrzebuje własnego repozytorium, bo wtyczki znajduje przez plik .agents/plugins/marketplace.json, a repozytorium dla Claude Code tego pliku nie ma.
Aktualizacje
Polecenie aktualizacji nazywa się w każdym narzędziu inaczej. W Codex to upgrade, w Claude Code update:
/plugin marketplace update html2wpWłącz automatyczne aktualizacje w Claude Code
Claude Code nie włącza automatycznych aktualizacji dla katalogów zewnętrznych. Bez nich nową wersję wtyczki dostajesz tylko wtedy, gdy o nią poprosisz, a niektóre wersje naprawiają błędy bezpieczeństwa. Żeby je włączyć, otwórz /plugin, wybierz html2wp w Marketplaces i włącz auto-update.
Żeby zobaczyć zainstalowaną wersję, uruchom w Codex codex plugin list. W Claude Code przejdź do /plugin → Marketplaces → html2wp.
Jeśli wersja w Codex po aktualizacji się nie zmieniła, Codex trzyma starą kopię. Usuń ją i zainstaluj wtyczkę ponownie:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpJeśli i to nie pomoże, Codex może mieć jeszcze inną, starszą kopię z ręcznej instalacji. Polecenie codex plugin marketplace list wypisuje wszystkie katalogi. Jeśli widzisz tam html2wp@<other-name>, usuń go poleceniem codex plugin remove html2wp@<that-name>.
Większość pracy dzieje się w usłudze html2wp, a usługa aktualizuje się sama, więc twoja następna konwersja działa już na nowej wersji. Aktualizujesz tylko część, która działa na twoim komputerze: kontrole, skrypty i filtr danych wychodzących. Co zmieniło się w każdej wersji, widać w historii commitów na GitHubie.
Wymagania
| Node.js | wersja 20 lub nowsza |
|---|---|
| Python 3 | z pakietami Playwright (chromium) i Pillow |
| Docker | razem z docker compose, który uruchamia testowy WordPress |
| Inne narzędzia | php-cli, jq, curl, bash, tar |
| Strona docelowa | WordPress 6.6 lub nowszy |
Nie musisz tego sprawdzać samodzielnie. Kiedy uruchamiasz konwersję, wtyczka najpierw sprawdza twój komputer i wypisuje, czego brakuje:
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
Pakiety, które instalują się tylko do twojego folderu użytkownika, takie jak Playwright albo przeglądarka chromium, wtyczka proponuje zainstalować za ciebie. Pyta przed każdym poleceniem. Rzeczy, które zmieniają cały system, takie jak Docker Desktop albo nowszy Node.js, tylko zgłasza, a potem czeka, aż zainstalujesz je samodzielnie.
Jeśli chcesz zainstalować pakiety Pythona ręcznie:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumJakiego modelu użyć
W trakcie konwersji AI musi podjąć wiele decyzji. Na przykład: która strona jest stroną główną, dlaczego kontrola nie przeszła albo czy klient w ogóle zauważyłby różnicę między dwoma zrzutami ekranu. Dlatego wybór modelu wpływa na wynik bardziej niż jakiekolwiek inne ustawienie.
| Narzędzie | Zalecany model |
|---|---|
| Claude Code | Opus 5, z Fable 5 jako doradcą. |
| Codex | Luna z poziomem rozumowania xhigh. |
Tańsza opcja
Codex z Luną na xhigh kosztuje mniej, a jego wyniki są ponadprzeciętne. Jeśli liczy się dla ciebie koszt konwersji, wybierz to połączenie.
W Claude Code pracę wykonuje Opus 5, a Fable 5 jest pytany o ważne decyzje, czyli tam, gdzie konwersja najczęściej idzie źle.
Klucz licencyjny
W wersji darmowej nie potrzebujesz klucza, więc pomiń tę sekcję. Jeśli masz licencję, zapisz klucz na komputerze przed pierwszą konwersją. Robisz to tylko raz, z dowolnego folderu:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licenceKlucz możesz też przekazać w zmiennej środowiskowej H2WP_KEY, która ma pierwszeństwo przed plikiem. Plik jest bezpieczniejszy, bo wtedy klucz nie trafia do historii terminala.
Do pliku trafia klucz licencyjny html2wp, który dostajesz przy zakupie Pro. Klucz Visual Edit Pro tam nie trafia. Ten wpisujesz we wtyczce Visual Edit na edytowanej stronie i nie działa on do konwersji.
Zapisz klucz przed startem konwersji
Na samym początku wtyczka ustala, ile stron wolno ci przekonwertować. Jeśli nie ma jeszcze klucza, planuje konwersję pod darmowy limit pięciu stron. Klucz dodany w trakcie konwersji tego nie zmienia.
Żeby sprawdzić, czy klucz jest ważny, do czego służy i do kiedy, uruchom npx html2wp-license YOUR-KEY. Sprawdzenie klucza na stronie licencji wyjaśnia, co oznacza wynik. Co obejmuje licencja i jak ją kupić, opisuje strona o licencjach.
Konwersja projektu
Otwórz terminal w folderze projektu, który chcesz przekonwertować, i uruchom tam swojego agenta:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexJeśli używasz Claude Code, w ostatniej linii wpisz claude zamiast codex.
Potem wydaj agentowi jedno polecenie:
/html2wp:html2wp convert this projectTo wszystko. Nie uruchamiasz npm install ani npm run build i niczego nie konfigurujesz. Projekty z Bolt, v0, shadcn albo eksport Next.js konwertują się tak samo. W Claude Code możesz też wpisać samo /html2wp:html2wp albo poprosić Codex o użycie html2wp. Wtyczka zapyta cię wtedy, co przekonwertować.
Pierwsze minuty konwersji
> 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.
W ostatnich liniach wtyczka zapisała, jak posortowała strony: /blog to lista artykułów, /blog/launch to artykuł, a reszta to zwykłe strony. Sprawdź tę decyzję na gotowej stronie na końcu.
Inne wejście
Polecenie convert this project konwertuje folder, w którym jesteś. Jeśli pliki są gdzie indziej, wpisz ścieżkę do nich, na przykład convert ./dist.
| Co masz | Co wpisujesz |
|---|---|
| Projekt, z którego budowana jest strona: Lovable, Bolt, v0, Vite, Astro, eksport Next.js | convert this project |
Folder z gotowymi plikami .html, obrazami i stylami | convert ./folder-name |
Wejście zawsze musi być na twoim dysku. Wtyczka nie konwertuje adresu działającej strony. Potrzebuje plików, z których strona jest zbudowana, a nie tego, co pokazuje przeglądarka.
Jak konwertuje się projekt Lovable
Aplikacja Lovable jest zbudowana w React. Jej index.html zawiera tylko pusty element i skrypt, a strona ożywa dopiero w przeglądarce. Dlatego wtyczka najpierw buduje projekt, otwiera go w prawdziwej przeglądarce i zapisuje każdą stronę jako gotowy HTML. Przechwytuje też treść, która pojawia się dopiero po uruchomieniu skryptów, na przykład otwarte akordeony albo rozwijane menu. Potem robi z tych stron motyw. Szczegóły są w poradniku o konwersji z Lovable do WordPressa.
Co decyduje za ciebie
Która strona jest którą
Jedna decyzja ma największy wpływ na wynik: która strona jest stroną główną, która listą artykułów, które są artykułami, a które produktami. Wtyczka ustala to z kodu stron, zapisuje i działa dalej bez pytania. Zatrzymuje się tylko wtedy, gdy nie potrafi zdecydować. Na przykład gdy strona ma więcej podstron, niż pozwala twój limit, albo gdy dwie strony wyglądają na tę samą.
Jeśli się pomyli, poprawka jest tania. Poprawiasz sortowanie i uruchamiasz konwersję jeszcze raz. To jest ponowne uruchomienie i nie liczy się do twojego limitu konwersji.
Potem działa głównie sama
Flash trwa około pół godziny, Full około godziny, zależnie od liczby stron i szybkości twojego komputera. W tym czasie wtyczka buduje stronę, porównuje ją z oryginałem i wysyła do usługi html2wp do konwersji. Potem instaluje gotowy motyw w tymczasowym WordPressie w Dockerze na twoim komputerze i tam go testuje.
Przegląd, którego nie pominiesz
Na końcu wtyczka pokazuje ci każdą stronę obok oryginału na jednym obrazie. Obejrzyj każdy obraz i powiedz, co widzisz.
Dlaczego strony musi sprawdzić człowiek
Automatyczne kontrole porównują liczby, więc przepuszczają też błędy, które człowiek zauważyłby od razu. W jednej konwersji brakowało całej sekcji niżej na stronie, ale porównanie pokazało różnicę tylko 0,4%, więc kontrola przeszła. W tym momencie ZIP z motywem jest już gotowy. Ten przegląd to moment, w którym decydujesz, czy możesz go przekazać.
Co dostajesz
- Motyw jako plik ZIP. Wgrywasz go do WordPressa w Wygląd → Motywy → Dodaj nowy → Wyślij motyw na serwer. Wtyczka w ogóle nie zbuduje zepsutego motywu: na przykład gdy PHP ma błąd składni, brakuje treści, zrzut ekranu motywu ma zły rozmiar albo w sklepie nie da się niczego kupić.
- Raport
CONVERSION-REPORT.mdw tym samym folderze co ZIP. Wymienia przekonwertowane strony, podłączone menu, wszystko, co znajdziesz w przeglądzie, każde ostrzeżenie z konwersji i to, co jeszcze zostało do zrobienia. - Link do Visual Edit Lite, darmowego edytora do zmian kliknięciem. Edytor nie jest częścią motywu, a motyw działa bez niego. Visual Edit Pro to osobna płatna licencja.
Motyw jest samodzielny. Strony, blog, formularze, menu, SEO i przekierowania są częścią jego kodu i działają bez wtyczek. Kod to czytelny PHP, CSS i JavaScript. Należy do ciebie i nie jest z nami związany. Motyw nigdzie się nie łączy. Jak edytować go kliknięciem, opisuje część o Visual Edit w dokumentacji aplikacji.
Co opuszcza twój komputer
Twój komputer wykonuje pracę w przeglądarce: budowanie stron, porównywanie zrzutów ekranu i uruchamianie tymczasowego WordPressa w Dockerze do końcowych kontroli. Sam motyw tworzy usługa html2wp. Dlatego wtyczka wysyła jej zbudowaną stronę i dostaje z powrotem motyw.
Kontrole motywu działają po twojej stronie, więc usługa nie widzi ich wyników. Na końcu wtyczka wysyła jej je więc. To jest wymagane: usługa nie zacznie następnej konwersji, dopóki poprzednia nie wyśle wyników.
- Co jest wysyłane: nazwy kontroli, czy przeszły, liczby stron, najgorszy procent zgodności i krótkie nazwy stron, które nie przeszły, takie jak
aboutalbopricing. - Co nie jest wysyłane: adres ani domena strony, kod, tekst, zrzuty ekranu, ścieżki plików, klucz licencyjny ani nazwa strony. Wtyczka wysyła tylko z góry określone pola, nic więcej.
- Sprawdź to samodzielnie: polecenie
send-verdicts.sh <workspace> --dry-runwypisuje dokładnie to, co zostałoby wysłane, ale niczego nie wysyła. To jeden krótki skrypt, który możesz przeczytać.
Wtyczka nie wysyła żadnych innych danych, a gotowy motyw nie wysyła niczego. Pełny opis, łącznie z tym, jak długo przechowujemy dane, jest na stronie o prywatności.
Zgłoszenie błędu
Jeśli pomyli się sam konwerter, zgłoś to tym poleceniem:
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"}'Każde zgłoszenie czyta człowiek. Poprawka trafia potem do usługi, więc pomaga każdemu użytkownikowi.
Błędy bezpieczeństwa zgłaszaj inaczej
Nie tym poleceniem i nie jako issue na GitHubie. Kroki są na stronie o bezpieczeństwie.