Under Construction Thumbnail

كيفية تعطيل موقع ووردبريس أو تفعيله في وضع الصيانة

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

مهم: لا يوفّر نواة ووردبريس ثابتًا باسم WP_MAINTENANCE_MODE في wp-config.php. إضافة define( 'WP_MAINTENANCE_MODE', true ); لا تفعل شيئًا بمفردها ولن تعرض صفحة صيانة. إذا أضفت ذلك السطر بناءً على إرشاد سابق، يمكنك حذفه بأمان.

كيفية وضع موقع ووردبريس في وضع الصيانة

لدى ووردبريس فعلًا وضع صيانة حقيقي وتلقائي أثناء التحديثات، لكن هذا الوضع مؤقت فقط. للعمل المخطط الذي يستمر أكثر من دقائق معدودة، استخدم إضافة محفوظة من ووردبريس.org، أو — إن لم تستطع استخدام إضافة — مقتطفًا قصيرًا قابلًا للإزالة في قالب فرعي.

1. موصى به: استخدام إضافة وضع الصيانة

أبسط أسلوب للمبتدئين هو إضافة من دليل إضافات ووردبريس الرسمي. خياران راسخان هما Maintenance من WebFactory وLightStart من Themeisle (كانت هذه الإضافة تُسمى WP Maintenance Mode). راجع القائمة الحالية قبل التثبيت، واتبع شاشة إعدادات الإضافة نفسها؛ فقد تتغير أسماء الأزرار بين الإصدارات.

خطوات معتادة، استنادًا إلى ملاحظات التثبيت لتلك الإضافات على ووردبريس.org:

  1. أنشئ نسخة احتياطية للموقع، واختبر على نسخة تجريبية إن أمكن.
  2. ابقَ مسجّل الدخول كمسؤول. في wp-admin انتقل إلى الإضافات ← أضف جديدًا، وابحث عن الإضافة بالاسم، ثم ثبّتها وفعّلها.
  3. افتح صفحة إعدادات الإضافة. تضيف Maintenance عنصرًا في قائمة الإدارة الرئيسية؛ بينما يستخدم LightStart صفحة Settings. خصّص الرسالة العامة باستخدام عناصر التحكم التي توفّرها الإضافة.
  4. فعّل وضع الصيانة فقط عندما تكون جاهزًا. تذكر قائمة LightStart أن تفعيل الإضافة قد يضع الموقع فورًا في وضع الصيانة، بينما يستمر المستخدمون ذوو الصلاحيات الكافية في رؤية الواجهة الأمامية.
  5. عندما ينتهي العمل، أوقف الصيانة من إعدادات الإضافة، امسح أي ذاكرة تخزين مؤقت للصفحات، ثم اعرض الموقع في نافذة خاصة أو للتصفح المتخفي وأنت غير مسجّل الدخول للتأكد من عودة الصفحات العامة. وعندئذ فقط عطّل الإضافة إن لم تعد بحاجة إليها.

تحذّر أسئلة LightStart الشائعة من أن إضافات التخزين المؤقت قد تقدّم صفحات قديمة أثناء الصيانة. إذا بقيت إضافة تخزين مؤقت نشطة، احذف ذاكرتها بعد تفعيل وضع الصيانة أو إيقافه.

يمكن لإضافة Maintenance إرسال استجابة HTTP 503 («Service temporarily unavailable») حتى تعامل محركات البحث الانقطاع على أنه مؤقت. أبقِ تلك النافذة قصيرة. يمكن لـ 503 الممتد أن يؤثر مع ذلك في كيفية زحف الموقع.

2. ما يفعله ووردبريس نفسه أثناء التحديثات

عندما يحدّث ووردبريس النواة أو قالبًا أو إضافة، ينشئ مؤقتًا ملف .maintenance في جذر ووردبريس. يخزّن ذلك الملف طابعًا زمنيًا في متغير $upgrading. تعتبر النواة الموقع في وضع الصيانة فقط ما دام ذلك الطابع أحدث من نحو 10 دقائق. بعد نحو 10 دقائق يعتبر ووردبريس الصيانة منتهية حتى إن بقي الملف موجودًا.

خلال تلك النافذة القصيرة يرسل ووردبريس HTTP 503 مع ترويسة Retry-After: 600 ويعرض الرسالة “Briefly unavailable for scheduled maintenance. Check back in a minute.” يمكنك استبدال تلك الشاشة القصيرة بملف اختياري باسم maintenance.php داخل wp-content، لكن الملف ينطبق فقط بينما يكون وضع صيانة النواة نشطًا فعلًا.

لا تنشئ بنفسك ملف .maintenance ثابتًا كمفتاح دائم لـ«مغلق للصيانة». فهو ليس تحكمًا يدويًا دائمًا: بعد نحو 10 دقائق يرى الزوار الموقع الحي مجددًا، وقد يترك ملف متبقٍّ بعد تحديث فاشل رسالة مربكة إلى أن تحذفه. إذا تجمّدت شاشة الصيانة بعد تحديث، اتصل عبر FTP أو مدير ملفات الاستضافة واحذف .maintenance من جذر ووردبريس.

يوثّق ووردبريس ذلك في wp_is_maintenance_mode() وwp_maintenance()، وفي الملاحظات حول شاشة صيانة متوقفة ضمن أخطاء ووردبريس الشائعة، وفي Updating WordPress.

3. اختياري: مقتطف مؤقت في قالب فرعي

إذا لم تستطع استخدام إضافة، أضف ما يلي إلى functions.php في قالب فرعي، لا في قالب أب ستكتب التحديثات فوقه. يعمل الخطاف template_redirect على الموقع العام فقط، لذا يظل wp-admin وشاشة تسجيل الدخول متاحين. يرى المستخدمون المسجّلون الذين يمكنهم إدارة الخيارات الموقع. ويتلقى الآخرون HTTP 503 وترويسة Retry-After، وهو النمط نفسه الذي تستخدمه نواة ووردبريس أثناء التحديثات. أزل المقتطف لاستعادة الموقع العام.

add_action( 'template_redirect', function () {
    if ( is_user_logged_in() && current_user_can( 'manage_options' ) ) {
        return;
    }

    header( 'Retry-After: 3600' );
    wp_die(
        'This site is temporarily unavailable for scheduled maintenance. Please check back soon.',
        'Maintenance',
        array( 'response' => 503 )
    );
} );

استخدم هذا فقط كإجراء قصير ومؤقت، وجرّبه أولاً على نسخة تجريبية. بعد إزالة الشيفرة، امسح ذاكرات التخزين المؤقت وتأكد من أن الموقع العام يُحمَّل مجددًا وأنت غير مسجّل الدخول. لا تترك استجابة 503 أكثر مما يلزم.

الخلاصة

لإخفاء موقع ووردبريس أثناء عمل مخطط، استخدم إضافة صيانة محفوظة، وأوقفها عند الانتهاء، وتحقق من الصفحات العامة. ملف .maintenance في ووردبريس درع تلقائي قصير أثناء التحديثات فقط — نحو 10 دقائق — وليس مفتاحًا يدويًا دائمًا، ولا يوجد سطر WP_MAINTENANCE_MODE لإضافته في wp-config.php. انسخ احتياطيًا أولاً، واختصر وقت التوقف، ثم استعد الموقع الحي وتحقق منه.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *