html2wp / Документація html2wp / Плагін
Плагін для Claude Code і Codex
Як установити плагін html2wp у Claude Code або Codex і сконвертувати з ним сайт у тему WordPress, крок за кроком, аж до перегляду готових сторінок. Конвертуєте натомість у настільному застосунку? Кроки для застосунку описані в його власній документації.
Коли потрібен ліцензійний ключ
Щоб спробувати, він не потрібен. Безкоштовна версія відкрита для всіх і дає три конвертації до п’яти сторінок кожна, плюс п’ять повторних запусків. Обидва числа рахуються за IP-адресою. Ліцензія потрібна для роботи на клієнтів, для сайтів із понад п’ятьма сторінками і для магазинів на WooCommerce. Ви купуєте її на сторінці з цінами, а ключ приходить на пошту. Як відбувається покупка.
Встановлення
Плагін живе у двох репозиторіях на GitHub, один для Claude Code, другий для Codex. Обидва мають однаковий вміст і однаковий номер версії. Відрізняються вони лише тим, як кожен інструмент їх завантажує. Встановіть той, що належить вашому інструменту, бо інший не завантажиться.
| Інструмент | Репозиторій |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Перемкніться на свій інструмент і виконайте обидві команди, одну за одною:
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpПерша команда додає каталог плагінів (marketplace) з GitHub. Потім друга встановлює з нього html2wp. Codex потрібен власний репозиторій, бо він знаходить плагіни через файл .agents/plugins/marketplace.json, а в репозиторії для Claude Code цього файлу немає.
Оновлення
Команда оновлення в кожному інструменті називається по-різному. У Codex це upgrade, у Claude Code це update:
/plugin marketplace update html2wpУвімкніть автоматичні оновлення в Claude Code
Claude Code не вмикає автоматичні оновлення для сторонніх каталогів. Без них нову версію плагіна ви отримуєте лише тоді, коли самі про це попросите, а деякі версії виправляють помилки безпеки. Щоб їх увімкнути, відкрийте /plugin, виберіть html2wp у розділі Marketplaces і ввімкніть auto-update.
Щоб побачити встановлену версію, у Codex виконайте codex plugin list. У Claude Code перейдіть у /plugin → Marketplaces → html2wp.
Якщо після оновлення версія в Codex не змінилася, у Codex збережена стара копія. Видаліть її і встановіть плагін знову:
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpЯкщо й це не допомогло, у Codex може бути ще й інша, старіша копія після ручного встановлення. Команда codex plugin marketplace list виводить усі каталоги. Якщо бачите там html2wp@<other-name>, приберіть його командою codex plugin remove html2wp@<that-name>.
Більша частина роботи відбувається в сервісі html2wp, а сервіс оновлюється сам, тож ваша наступна конвертація вже працює на новій версії. Оновлювати треба лише частину, яка працює на вашому комп’ютері: перевірки, скрипти й фільтр вихідних даних. Що змінилося в кожній версії, видно в історії комітів на GitHub.
Вимоги
| Node.js | версія 20 або новіша |
|---|---|
| Python 3 | з пакетами Playwright (chromium) і Pillow |
| Docker | разом із docker compose, який запускає тестовий WordPress |
| Інші інструменти | php-cli, jq, curl, bash, tar |
| Цільовий сайт | WordPress 6.6 або новіший |
Перевіряти це самостійно не треба. Коли ви запускаєте конвертацію, плагін спершу перевіряє ваш комп’ютер і показує, чого бракує:
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
Пакети, які ставляться лише у вашу папку користувача, як-от Playwright чи браузер chromium, плагін пропонує встановити за вас. Перед кожною командою він питає. Те, що змінює всю систему, як-от Docker Desktop чи новіший Node.js, він лише повідомляє, а потім чекає, поки ви встановите це самі.
Якщо хочете встановити пакети Python вручну:
python3 -m pip install playwright pillow && python3 -m playwright install chromiumЯку модель вибрати
Під час конвертації AI має ухвалити багато рішень. Наприклад, яка сторінка головна, чому перевірка не пройшла або чи помітить клієнт різницю між двома скриншотами взагалі. Тому вибір моделі впливає на результат сильніше, ніж будь-яке інше налаштування.
| Інструмент | Рекомендована модель |
|---|---|
| Claude Code | Opus 5, з Fable 5 як порадником. |
| Codex | Luna з рівнем міркування xhigh. |
Дешевший варіант
Codex із Luna на xhigh коштує менше, а результати в нього вищі за середні. Якщо вартість конвертації для вас важлива, вибирайте цю комбінацію.
У Claude Code роботу виконує Opus 5, а з Fable 5 він радиться щодо важливих рішень, бо саме на них конвертація найчастіше помиляється.
Ліцензійний ключ
На безкоштовній версії ключ не потрібен, тож цей розділ можна пропустити. Якщо у вас є ліцензія, збережіть ключ на комп’ютері перед першою конвертацією. Це робиться один раз, з будь-якої папки:
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licenceКлюч можна також передати у змінній середовища H2WP_KEY, яка має пріоритет над файлом. Файл безпечніший, бо тоді ключ не потрапляє в історію термінала.
У файл іде ліцензійний ключ html2wp, який ви отримуєте, купивши Pro. Ключ Visual Edit Pro туди не йде. Його ви вводите в плагіні Visual Edit на сайті, який редагуєте, і для конвертацій він не працює.
Збережіть ключ до запуску конвертації
На самому початку плагін визначає, скільки сторінок вам дозволено конвертувати. Якщо ключа ще немає, він планує конвертацію за безкоштовним лімітом у п’ять сторінок. Ключ, доданий під час конвертації, цього не змінить.
Щоб дізнатися, чи дійсний ключ, для чого його можна використовувати і до якої дати, виконайте npx html2wp-license YOUR-KEY. Перевірка ключа на сторінці ліцензій пояснює, що означає результат. Що входить у ліцензію і як її купити, описано на сторінці про ліцензії.
Конвертація проєкту
Відкрийте термінал у папці проєкту, який хочете сконвертувати, і запустіть там свого агента:
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexЯкщо ви працюєте в Claude Code, в останньому рядку введіть claude замість codex.
Потім дайте агенту одну команду:
/html2wp:html2wp convert this projectЦе все. Ви не запускаєте npm install чи npm run build і нічого не налаштовуєте. Проєкти з Bolt, v0, shadcn або експорт Next.js конвертуються так само. У Claude Code можна також ввести лише /html2wp:html2wp або попросити Codex скористатися html2wp. Тоді плагін сам спитає, що конвертувати.
Перші хвилини конвертації
> 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.
В останніх рядках плагін записав, як розсортував сторінки: /blog є списком статей, /blog/launch є статтею, а решта є звичайними сторінками. Перевірте це рішення на готовому сайті наприкінці.
Інші вхідні дані
Команда convert this project конвертує папку, у якій ви перебуваєте. Якщо файли лежать деінде, введіть шлях до них, наприклад convert ./dist.
| Що у вас є | Що ввести |
|---|---|
| Проєкт, з якого збирається сайт: Lovable, Bolt, v0, Vite, Astro, експорт Next.js | convert this project |
Папка з готовими файлами .html, зображеннями і стилями | convert ./folder-name |
Вхідні дані завжди мають бути на вашому диску. Адресу живого сайту плагін не конвертує. Йому потрібні файли, з яких зібрано сайт, а не те, що показує браузер.
Як конвертується проєкт Lovable
Застосунок Lovable зроблено на React. Його index.html містить лише порожній елемент і скрипт, а сторінка оживає тільки в браузері. Тому плагін спершу збирає проєкт, відкриває його в справжньому браузері й зберігає кожну сторінку як готовий HTML. Він також фіксує вміст, що з’являється лише після виконання скриптів, як-от відкриті акордеони чи випадні меню. Потім із цих сторінок він робить тему. Подробиці в посібнику про перенесення з Lovable у WordPress.
Що плагін вирішує за вас
Яка сторінка є якою
Одне рішення найбільше впливає на результат: яка сторінка головна, яка є списком статей, які є статтями, а які товарами. Плагін визначає це з коду сторінок, записує і продовжує, нічого не питаючи. Зупиняється він лише тоді, коли не може вирішити. Наприклад, коли на сайті більше сторінок, ніж дозволяє ваш ліміт, або коли дві сторінки схожі на одну й ту саму.
Якщо він помилиться, виправити це дешево. Ви коригуєте сортування й запускаєте конвертацію знову. Це повторний запуск, і він не рахується у ваш ліміт конвертацій.
Далі він здебільшого працює сам
Flash триває близько пів години, Full близько години, залежно від кількості сторінок і швидкості вашого комп’ютера. Тим часом плагін збирає сайт, порівнює його з оригіналом і надсилає в сервіс html2wp на конвертацію. Після цього він встановлює готову тему в тимчасовий WordPress у Docker на вашому комп’ютері й тестує її там.
Перегляд, який не можна пропустити
Наприкінці плагін показує вам кожну сторінку поруч з оригіналом на одному зображенні. Подивіться на кожне зображення і скажіть, що бачите.
Чому сторінки має перевірити людина
Автоматичні перевірки порівнюють числа, тож пропускають і помилки, які людина помітила б одразу. В одній конвертації бракувало цілого розділу нижче на сторінці, але порівняння показало різницю лише 0,4%, тож перевірка пройшла. На цей момент ZIP із темою вже готовий. Саме цей перегляд вирішує, чи можна його передавати.
Що ви отримуєте
- Тему як ZIP-файл. Ви завантажуєте її у WordPress через Зовнішній вигляд → Теми → Додати нову → Завантажити тему. Зламану тему плагін не збирає взагалі: наприклад, якщо в PHP була синтаксична помилка, бракувало вмісту, скриншот теми мав неправильний розмір або в магазині не можна було нічого купити.
- Звіт
CONVERSION-REPORT.mdу тій самій папці, що й ZIP. Він перелічує сконвертовані сторінки, підключені меню, усе, що ви знайшли під час перегляду, кожне попередження з конвертації і те, що ще лишилося зробити. - Посилання на Visual Edit Lite, безкоштовний редактор для правок кліком. Редактор не є частиною теми, і тема працює без нього. Visual Edit Pro є окремою платною ліцензією.
Тема самостійна. Сторінки, блог, форми, меню, SEO і перенаправлення є частиною її коду й працюють без плагінів. Код складається з читабельних PHP, CSS і JavaScript. Він належить вам і не прив’язаний до нас. Тема нікуди не підключається. Як редагувати її кліком, описано в розділі про Visual Edit у документації застосунку.
Що залишає ваш комп’ютер
Ваш комп’ютер виконує роботу браузера: збирає сторінки, порівнює скриншоти й запускає тимчасовий WordPress у Docker для фінальних перевірок. Саму тему робить сервіс html2wp. Тому плагін надсилає йому зібраний сайт і отримує назад тему.
Перевірки теми працюють на вашому боці, тож сервіс їхніх результатів не бачить. Тому наприкінці плагін надсилає їх йому. Це обов’язково: сервіс не починає наступну конвертацію, доки попередня не надіслала свої результати.
- Що надсилається: назви перевірок, чи пройшли вони, кількість сторінок, найгірший відсоток збігу й короткі назви сторінок, що не пройшли, як-от
aboutабоpricing. - Що не надсилається: адреса чи домен сайту, код, текст, скриншоти, шляхи до файлів, ліцензійний ключ або назва сайту. Плагін надсилає лише наперед визначені поля, нічого більше.
- Перевірте самі: команда
send-verdicts.sh <workspace> --dry-runвиводить точно те, що було б надіслано, але нічого не надсилає. Це один короткий скрипт, який можна прочитати.
Інших даних плагін не надсилає, а готова тема не надсилає взагалі нічого. Повний опис, зокрема як довго ми зберігаємо дані, є на сторінці про конфіденційність.
Як повідомити про помилку
Якщо помиляється сам конвертер, повідомте про це цією командою:
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"}'Кожен звіт читає людина. Виправлення потім іде в сервіс, тож допомагає кожному користувачу.
Про помилки безпеки повідомляйте інакше
Не цією командою і не як issue на GitHub. Порядок дій описано на сторінці про безпеку.