إصلاح WP-Cron: دليل بسيط يعمل

نشرت: 2025-11-02

يعد WordPress نظامًا قويًا لإدارة المحتوى يستخدمه الملايين حول العالم. أحد محركاتها المخفية، WP-Cron، مسؤول عن التعامل مع المهام المجدولة مثل نشر المنشورات المجدولة، والتحقق من تحديثات المكونات الإضافية، وتشغيل مهام الصيانة. ومع ذلك، يواجه العديد من مستخدمي WordPress مشكلات في الأداء بسبب كيفية عمل WP-Cron. إذا لم يتم نشر منشوراتك المجدولة أو فشلت النسخ الاحتياطية التلقائية، فقد يكون نظام WP-Cron الخاص بك يعمل بشكل غير صحيح. يوفر هذا الدليل طريقة موثوقة وسهلة المتابعة لإصلاح WP-Cron والتأكد من تشغيل موقع الويب الخاص بك بكفاءة.

ما هو WP-Cron؟

WP-Cron (اختصار لـ WordPress Cron) هو نظام جدولة المهام الافتراضي في WordPress. على عكس وظائف cron التقليدية المستندة إلى Unix/Linux والتي تعمل في أوقات محددة مسبقًا، يتم تشغيل WP-Cron فقط عندما يزور شخص ما موقع الويب الخاص بك. ونتيجة لذلك، قد تواجه المواقع ذات حركة المرور المنخفضة مهام مفقودة، بينما قد تعاني المواقع ذات حركة المرور العالية من حمل الأداء.

المشكلات الشائعة التي يسببها WP-Cron

  • غاب عن المشاركات أو المهام المجدولة
  • تأخر إشعارات البريد الإلكتروني
  • بطء أداء موقع الويب عند تحميل الصفحة
  • فشل تشغيل النسخ الاحتياطية أو عمليات المسح

تنبع كل هذه المشكلات من اعتماد WP-Cron على الزائرين لتشغيلها. لحسن الحظ، الحل بسيط وفعال: استبدل سلوك WP-Cron الافتراضي بمهمة cron حقيقية تعمل مباشرة على الخادم الخاص بك.

دليل خطوة بخطوة لإصلاح WP-Cron

لتحقيق الاستقرار وتحسين أداء موقع WordPress الخاص بك، ستحتاج إلى تعطيل تنفيذ WP-Cron المدمج وإعداد وظيفة cron حقيقية للنظام بدلاً من ذلك. وإليك كيفية القيام بذلك:

1. قم بتعطيل WP-Cron داخل wp-config.php

قم بتسجيل الدخول إلى حساب الاستضافة الخاص بك أو استخدم FTP/SFTP للوصول إلى دليل جذر WordPress الخاص بك. ثم ابحث عن ملف wp-config.php وافتحه. أدخل السطر التالي من التعليمات البرمجية أعلى السطر الذي يقول /* That's all, stop editing! Happy publishing. */ :

 define('DISABLE_WP_CRON', true);

يعمل هذا الأمر على تعطيل تشغيل WP-Cron تلقائيًا عند كل تحميل للصفحة.

2. قم بتعيين مهمة Cron حقيقية على الخادم الخاص بك

الآن بعد أن قمت بتعطيل WP-Cron، فقد حان الوقت لتعيين مهمة cron حقيقية لتشغيل wp-cron.php على فترات زمنية منتظمة. تعتمد كيفية القيام بذلك على بيئة الاستضافة الخاصة بك.

لاستضافة cPanel

  1. قم بتسجيل الدخول إلى لوحة تحكم cPanel الخاصة بك.
  2. قم بالتمرير إلى قسم "خيارات متقدمة" وانقر على Cron Jobs .
  3. ضمن "إضافة وظيفة Cron جديدة"، قم بتعيين وقت التنفيذ. بالنسبة لمعظم المواقع، يعد ضبطه للتشغيل كل 15 دقيقة كافيًا. يختار:
    • الدقيقة: */15
    • ساعة: *
    • يوم: *
    • شهر: *
    • أيام الأسبوع: *
  4. في مربع إدخال الأوامر، أضف هذا السطر (استبدل yourdomain.com ):
     wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
  5. انقر فوق إضافة وظيفة Cron جديدة لحفظ التغييرات.
واجهة المستخدم الخاصة بلوحة التحكم بسيطة وسهلة للغاية.

بالنسبة لـ VPS أو الخادم المخصص (عبر SSH)

إذا كنت تعمل من سطر الأوامر، فقم بإدخال SSH إلى خادمك وقم بتحرير crontab للمستخدم الخاص بك:

 crontab -e

أضف السطر التالي (مرة أخرى، اضبط المجال):

 */15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

يؤدي هذا إلى توجيه الخادم لتشغيل WP-Cron كل 15 دقيقة بشكل موثوق، بغض النظر عن زوار الموقع.

3. اختبار للتأكد من عمل WP-Cron

للتحقق من أن مهمة cron الخاصة بك تعمل بشكل صحيح:

  • جدولة منشور في المستقبل القريب (على سبيل المثال، قبل 5 دقائق).
  • انتظر بعد الوقت المحدد وتحقق من نشره.
  • قم بمراجعة سجلات الاستضافة أو إشعارات البريد الإلكتروني لمهمة cron (إذا كانت ممكّنة) بحثًا عن أي أخطاء في التنفيذ.

يمكنك أيضًا استخدام المكونات الإضافية مثل WP Crontrol لمراجعة وإدارة الأحداث المجدولة عند تثبيت WordPress الخاص بك. يتيح لك هذا البرنامج المساعد رؤية المهام الفائتة أو المتأخرة.

كيفية تسريع لوحة تحكم WP-Admin في WordPress؟

نصائح متقدمة لإدارة WP-Cron

1. اضبط تردد Cron بناءً على نشاط الموقع

على الرغم من أن ضبط cron ليتم تشغيله كل 15 دقيقة أمر شائع، إلا أن المواقع ذات حركة المرور المنخفضة للغاية قد تستفيد من التنفيذ المتكرر. على العكس من ذلك، يمكن للمواقع ذات حركة المرور العالية تشغيل cron بشكل أقل تكرارًا (كل 30 دقيقة أو كل ساعة) إذا كانت المهام لا تتطلب التنفيذ في الوقت الفعلي.

2. مراقبة المهام طويلة الأمد

تضيف بعض المكونات الإضافية مهام خلفية ثقيلة مثل النسخ الاحتياطية أو التقارير أو عمليات الفحص. إذا توقفت هذه المهام أثناء التنفيذ، فيمكنها منع تشغيل مهام cron الأخرى. استخدم المكونات الإضافية مثل Query Monitor أو WP Crontrol لتحديد الأحداث التي بها مشكلات.

3. مهام مكثفة منفصلة

إذا كان موقعك يقوم بتشغيل عمليات خلفية مهمة مثل المزامنة كل ساعة مع واجهات برمجة التطبيقات الخارجية أو وضع رسائل البريد الإلكتروني في قائمة الانتظار، ففكر في تشغيل هذه المهام عبر وظائف cron منفصلة بدلاً من التحميل الزائد على WP-Cron. يمكنك كتابة نصوص برمجية مخصصة لهذه العمليات وجدولتها بشكل منفصل.

الأخطاء الشائعة التي يجب تجنبها

  • استخدام WP-Cron على المواقع ذات حركة المرور العالية: يمكن أن يؤدي إلى مشكلات في الأداء حيث يتم تشغيله بشكل متكرر.
  • تعطيل WP-Cron دون تعيين مهمة cron حقيقية: يؤدي ذلك إلى عدم تشغيل المهام المجدولة على الإطلاق.
  • بناء جملة أمر خاطئ في cron: اختبر دائمًا أمر cron يدويًا في الجهاز للتحقق من أنه يعمل قبل الاعتماد عليه.

الأوامر البديلة (إذا كان wget غير متوفر)

إذا لم يكن wget متاحًا على خادمك، فيمكنك استخدام curl أو php مباشرةً بدلاً من ذلك:

باستخدام الضفيرة

 */15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

باستخدام PHP CLI

 */15 * * * * php /path/to/your/site/wp-cron.php >/dev/null 2>&1

تأكد من استبدال /path/to/your/site/ بالمسار الفعلي لتثبيت WordPress الخاص بك.

خاتمة

يعد إصلاح WP-Cron أحد أكثر الطرق فعالية لضمان بقاء موقع WordPress الخاص بك موثوقًا وعالي الأداء. يعد نظام cron المدمج فعالاً ولكنه غير موثوق به للعديد من مواقع الويب الواقعية. من خلال تعطيل تنفيذ WP-Cron الافتراضي واستبداله بمهمة cron على مستوى الخادم، فإنك تتخذ خطوة مهمة لإضفاء طابع احترافي على إدارة موقعك.

سواء كنت تدير مدونة، أو متجرًا للتجارة الإلكترونية، أو موقعًا لشركة، فإن جدولة المهام الموثوقة أمر مهم. يضمن WP-Cron الثابت تشغيل التحديثات والنسخ الاحتياطية والمهام الآلية في الوقت المناسب تمامًا، مما يمنحك راحة البال ونظامًا أكثر استقرارًا.

اتبع الخطوات الموضحة أعلاه وراقب أداء موقعك والمهام الحرجة بشكل أكثر ثقة. تبدأ الموثوقية بالتكوين الاستباقي.