html2wp / توثيق 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 plugin list في Codex. وفي 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، والخدمة تحدّث نفسها، فيعمل التحويل التالي بالإصدار الجديد مباشرة. عليك أن تحدّث فقط الجزء الذي يعمل على جهازك: الفحوص والسكربتات ومرشّح البيانات الصادرة. ما تغيّر في كل إصدار تجده في سجل الـ commits على 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أي نموذج تستخدم
خلال التحويل يتخذ الذكاء الاصطناعي قرارات كثيرة. مثلًا: أي صفحة هي الرئيسية، ولماذا فشل فحص ما، أو هل سيلاحظ العميل أصلًا الفرق بين لقطتي شاشة. لذلك يؤثر اختيار النموذج في النتيجة أكثر من أي إعداد آخر.
| الأداة | النموذج الموصى به |
|---|---|
| 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 تتحوّل بالطريقة نفسها. يمكنك أيضًا أن تكتب /html2wp:html2wp فقط في Claude Code، أو أن تطلب من 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 عبر «المظهر ← قوالب ← أضف جديد ← رفع قالب» (Appearance → Themes → Add New → Upload Theme). لا تبني الإضافة قالبًا معطوبًا أصلًا: مثلًا إذا كان في 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. الخطوات موجودة في صفحة الأمان.