فشل طلب Loopback في ووردبريس؟ تجربة تربطه بـ WP-Cron
فحص صحة الموقع بحكيلك ان موقعك لا يستطيع اكمال طلب loopback، وبنفس الوقت المقالات المجدولة والمهام الخلفية ما بتشتغل؟ loopback يعني ان خادم ووردبريس يطلب عنوان موقعه بنفسه. ممكن الصفحة تفتح عندك بشكل طبيعي، لكن الطلب الداخلي ينحظر من جدار حماية او Basic Auth او DNS او SSL.
عملنا تجربة مضبوطة: إضافة مؤقتة اعترضت طلبات HTTP التي يرسلها ووردبريس إلى نطاقه، وجدولنا حدثا يزيد عدادا مرة واحدة. شغلنا فحص loopback الرسمي وطلب wp-cron، ثم رفعنا المنع واعدنا القياس وشغلنا الحدث.
المشكلة ظهرت حديثا في دعم ووردبريس مع 403 وتعطل الاحداث، وظهرت كمان في نقاش ريديت حديث عن REST وloopback 403. الارقام والصور التالية من مختبرنا.
النتيجة باختصار
- مع قاعدة المنع صار فحص صحة الموقع
critical. - طلب wp-cron رجع خطا
smsm_loopback_blocked. - الحدث المستحق بقي مجدولا وعدد تشغيله صفر.
- بعد رفع المنع صار فحص loopback
goodوطلب wp-cron رجع 200. - شغل Cron الحدث مرة واحدة، ثم اختفى الموعد من القائمة.
قبل الاصلاح: الموقع يفتح لكن ما يقدر يطلب نفسه
قاعدة المختبر ما منعت الزائر من فتح الصفحة. هي عملت داخل WordPress HTTP API فقط، ورجعت WP_Error لكل طلب داخلي إلى نفس المضيف. استدعينا WP_Site_Health::get_test_loopback_requests() وسجلنا النتيجة.

هذا يشرح ليش اختبار الموقع من جوالك او جهازك مش كافي. مسار الخادم إلى نفسه ممكن يمر عبر Cloudflare او موازن حمل او شهادة مختلفة عن المسار الذي تستخدمه انت.
بعد رفع المنع
غيرنا خيار المختبر من محظور إلى مسموح من غير حذف الحدث. اعدنا فحص صحة الموقع فرجع Your site can perform loopback requests، وطلب POST إلى wp-cron رجع HTTP 200.

رمز 200 يثبت الوصول، لكنه لا يثبت وحده ان كل مهمة اكتملت. لذلك شغلنا Cron من الخادم وسجلنا عداد callback والموعد.
تنفيذ الحدث الفعلي
كان الحدث مستحقا قبل الاختبار. بعد اصلاح المسار شغل ووردبريس callback مرة واحدة، تغير العداد من صفر إلى 1، ولم يعد wp_next_scheduled() يجد موعدا له.

فيديو توثيق التجربة الفعلية
هذا تسجيل شاشة صامت ومتواصل للاختبار وهو يحدث داخل بيئة محلية معزولة. تظهر الخطوات والنتائج الفعلية لحظة التنفيذ، من غير تركيب صور ثابتة.
اسباب loopback الشائعة
- جدار حماية يرجع 403 لعنوان IP الخاص بالخادم.
- Basic Auth على staging من غير تمرير بيانات الدخول للطلب الداخلي.
- النطاق يرجع من داخل الخادم إلى عنوان خاطئ او لا يحل DNS.
- شهادة SSL غير موثوقة داخل نظام الخادم.
- تحويلات HTTPS او www تعمل حلقة.
- منع
wp-cron.phpاوadmin-ajax.phpبقاعدة حماية واسعة. - اتصال داخلي بطيء ينتهي بـ timeout.
تشخيص مرتب
- افتح ادوات ثم صحة الموقع وسجل نص loopback الكامل والرمز.
- من الخادم نفسه اطلب نطاق الموقع، مش localhost فقط.
- افحص DNS وSSL والتحويلات وHTTP status.
- راجع سجل WAF في نفس ثانية الفحص وابحث عن IP الخادم.
- اختبر wp-cron.php وadmin-ajax.php كل واحد لحاله.
- اذا في Basic Auth مرر بياناته للطلب الداخلي او استثن مسار الفحص على staging.
- بعد الاصلاح نفذ حدثا محدودا وتأكد من اثره، مش من 200 فقط.
هل نوقف التحقق من SSL؟
استخدام sslverify=false يخفي مشكلة الثقة ويضعف الحماية، وما يصلح DNS او 403. ثبت سلسلة الشهادة الصحيحة وحديث حزمة CA في الخادم. استخدم تعطيل التحقق فقط في مختبر مغلق لتأكيد الفرضية ثم ارجعه.
Cloudflare وWAF
اذا الطلب من المتصفح 200 ومن الخادم 403، قارن IP وUser-Agent والرؤوس. اعمل استثناء ضيقا لمسار wp-cron او IP الخادم بعد مراجعة القاعدة. لا تطفئ الحماية لكل الموقع.
هل Cron النظام يلغي الحاجة إلى loopback؟
تشغيل wp-cron.php مباشرة من Cron النظام يقلل اعتماد النشر على loopback والزيارات، لكنه ما يصلح ميزات اخرى تستخدم طلبات ذاتية مثل فحص صحة القوالب والإضافات. افصل المشكلتين: ثبت Cron نظام للموثوقية، واصلح loopback اذا تحتاجه بقية الادوات.
فرق loopback عن REST
الاثنان قد يفشلان معا بسبب DNS او WAF، لكنهما مش نفس الاختبار. REST هو API، اما loopback فهو اتجاه الاتصال من الخادم إلى موقعه. متصفحك ممكن يفتح REST بينما الخادم نفسه محظور.
ماذا ترسل للاستضافة؟
ارسل الوقت الدقيق، النطاق والمسار، IP الخادم، رمز HTTP او كود cURL، ونتيجة الطلب من داخل الخادم. عبارة صحة الموقع فيها خطا ما بتكفي لتحديد قاعدة ModSecurity او مشكلة DNS.
تنظيف المختبر
بعد القياس حذفنا الحدث والعداد وخيار المنع، وعطلنا إضافة المختبر وحذفنا ملفها. ما تركنا استثناء حماية او Cron اضافيا على الموقع.
الخلاصة
قاعدة واحدة جعلت فحص loopback critical ومنعت wp-cron وتركت الحدث معلقا رغم ان الموقع نفسه يفتح. بعد رفعها عاد الفحص good ورجع الطلب 200، ثم نفذ الحدث مرة واحدة واختفى. التشخيص الصحيح يحتاج اختبارا من الخادم إلى نطاقه ثم اثبات اثر المهمة.