html2wp / Документація html2wp / Плагін

Плагін для Claude Code і Codex

Як установити плагін html2wp у Claude Code або Codex і сконвертувати з ним сайт у тему WordPress, крок за кроком, аж до перегляду готових сторінок. Конвертуєте натомість у настільному застосунку? Кроки для застосунку описані в його власній документації.

Коли потрібен ліцензійний ключ

Щоб спробувати, він не потрібен. Безкоштовна версія відкрита для всіх і дає три конвертації до п’яти сторінок кожна, плюс п’ять повторних запусків. Обидва числа рахуються за IP-адресою. Ліцензія потрібна для роботи на клієнтів, для сайтів із понад п’ятьма сторінками і для магазинів на WooCommerce. Ви купуєте її на сторінці з цінами, а ключ приходить на пошту. Як відбувається покупка.

Частина першаНалаштування плагіна

Встановлення

Плагін живе у двох репозиторіях на GitHub, один для Claude Code, другий для Codex. Обидва мають однаковий вміст і однаковий номер версії. Відрізняються вони лише тим, як кожен інструмент їх завантажує. Встановіть той, що належить вашому інструменту, бо інший не завантажиться.

ІнструментРепозиторій
Claude CodeiOSDevSK/html2wp-cc-plugin
CodexiOSDevSK/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 збережена стара копія. Видаліть її і встановіть плагін знову:

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 CodeOpus 5, з Fable 5 як порадником.
CodexLuna з рівнем міркування 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.jsconvert 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. Порядок дій описано на сторінці про безпеку.