حل مشكلة: شاشة الموت البيضاء -White screen of death error in WordPress

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

سنوضح لك في هذه المقالة الشاملة ما المقصود بشاشة الموت البيضاء بالضبط، كما سنعرفك على أهم أسبابها، ونشرح لك أيضًا حلول المشكلة التي يمكنك عبر تنفيذها إعادة الموقع الإلكتروني ليعمل بشكل طبيعي.

ما هي مشكلة شاشة الموت البيضاء؟

مشكلة شاشة الموت البيضاء في الووردبريس هي ظهور شاشة بيضاء عند محاولة زيارة الموقع الإلكتروني بدلًا من المحتوى الفعلي الذي يجب أن يظهر، وذلك نتيجة خطأ متعلق بقاعدة البيانات أو ملفات PHP.

مشكلة شاشة الموت البيضاء التي تظهر في الووردبريس
مشكلة شاشة الموت البيضاء التي تظهر في الووردبريس

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

كذلك يمكن أن يتم مواجهة هذه المشكلة في صفحة معينة من صفحات الموقع، بينما تعمل بقية الصفحات بشكل طبيعي، إذ يعتمد مكان ظهور المشكلة على السبب الكامن وراءها.

وفي بعض الأحيان قد تظهر بعض المتصفحات رسالة الخطأ 500 التي تعني أن الصفحة التي تحاول زيارتها لا تعمل، لكن دون تزويدك بأي معلومات توضح سبب المشكلة.

في الإصدارات الحديثة من الووردبريس (الإصدار 5.2.4 والأعلى) قد لا تظهر شاشة بيضاء عند مواجهة مشكلة شاشة الموت البيضاء، إذ بدلًا من ذلك، تظهر رسالة تفيد بأن بالموقع يواجه مشكلات تقنية.

رسالة الخطأ التي يمكن أن تظهر في إصدارات ووردبريس الحديثة بدلًا من شاشة الموت البيضاء
رسالة الخطأ التي يمكن أن تظهر في إصدارات ووردبريس الحديثة بدلًا من شاشة الموت البيضاء

وبالتزامن مع رؤية هذه الرسالة قد يتم أو لا يتم إرسال رسالة بريد إلكتروني تعرف بالسبب الذي أدى إلى ظهور المشكلة، وذلك بفضل ميزة الحماية من الأخطاء الفادحة (Fatal Error Protection).

اقرأ أيضًا: ما هو الخطأ الفادح (Fetal Error)؟ وأسبابه؟ والحلول الأمثل له

أسباب مشكلة شاشة الموت البيضاء

هناك أسباب عديدة يمكن أن تؤدي إلى ظهور مشكلة شاشة الموت البيضاء في الووردبريس، وقد يصعب في بعض الأحيان معرفة السبب الكامن وراء المشكلة بشكل دقيق.

في معظم الأحيان يعود سبب المشكلة الأساسي إلى انتهاء مهلة كود برمجي (سكريبت) غير مستجيب أو مقاطعة عمل هذا الكود بواسطة الخادم الذي يستضيف موقع الووردبريس.

كذلك يمكن أن يؤدي أحد الأسباب التالية إلى ظهور مشكلة شاشة الموت البيضاء أيضًا:

1. استهلاك كامل حد الذاكرة المسموح به

إذا استخدمتْ إضافة منصبة على موقع الووردبريس أو كود برمجي مضاف إليه، أو أحد وظائف القالب المنشط كامل حد الذاكرة المسموح باستخدامه في نظام الووردبريس والمحدد في PHP، فيمكن أن يؤدي ذلك إلى ظهور مشكلة شاشة الموت البيضاء، ويمكن أن يحل المشكلة في هذه الحالة رفع الحد المسموح استخدامه من الذاكرة.

2. مشكلة في إحدى الإضافات المفعلة أو في القالب المنشط

في بعض الأحيان يحدث هذا الخطأ نتيجة عدم عمل إحدى الإضافات (Plugin) المثبتة على الموقع بشكل صحيح أو بسبب عدم عمل القالب (Theme) المستخدم كما يجب، كما يمكن أن تحدث أيضًا نتيجة وجود تعارض بين برمجيات الموقع (إضافات - قوالب - أكواد برمجية).

3. عدم عمل كود برمجي بشكل صحيح

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

4. وجود مشكلة في خادم الاستضافة

يمكن أن تتسبب العديد من مشاكل خادم الاستضافة التي تشغل موقع الووردبريس بظهور مشكلة شاشة الموت البيضاء، وقد تشير هذه المشكلة إلى تعطل الخادم وتوقفه عن العمل في بعض الأحيان.

كذلك يمكن أن تؤدي أسباب أخرى إلى ظهور مشكلة شاشة الموت البيضاء، مثل التخزين المؤقت أو وجود ملف تالف، لكن في الغالب سيكون أحد الأسباب التي أوردناها في القائمة هو ما يسبب المشكلة لديك.


حلول مشكلة شاشة الموت البيضاء

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

في حال كنت تعرف سبب المشكلة، فجرب الحل التي تعتقد أنه موافق لهذا السبب، وإذا لم تتمكن من معرفة السبب، فيمكنك تجريب جميع الحلول الواردة بدءًا بالحل الذي تعتقد أنه أنسب في حالتك.

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

الحل #1: التحقق من المواقع الأخرى

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

في حال لم تظهر شاشة الموت على مواقعك الأخرى، فهذا يعني أن المشكلة متعلقة بموقعك المحدد وعليك تجربة الحل التالي.

الحل #2: محاولة استرداد الووردبريس

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

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

رسالة بريد إلكتروني توضح الإضافة التي سببت مشكلة شاشة الموت البيضاء
رسالة بريد إلكتروني توضح الإضافة التي سببت مشكلة شاشة الموت البيضاء

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

هناك طريقتان للدخول وضع الاسترداد في الووردبريس، الأولى  هي من خلال الرابط الذي قد يكون موجودًا في رسالة البريد الإلكتروني التي تعلمك بالإضافة أو القالب الذي سبب المشكلة، والثانية عن طريق زيارة الرابط التالي مع استبدال example.com بدومين موقعك الإلكتروني:

  • example.com/wp-login.php?action=entered_recovery_mode

بعد زيارة الرابط ستظهر صفحة تطلب إدخال معلومات تسجيل الدخول إلى الووردبريس، وعليك إدخال بيانات الحساب المسؤول للوصول إلى لوحة تحكم الووردبريس بوضع الاسترداد.

تم الدخول إلى وضع الاسترداد في الووردبريس
تم الدخول إلى وضع الاسترداد في الووردبريس

يمكنك الآن أن تقوم بإلغاء تفعيل الإضافات التي تريدها من صفحة الإضافات في الواجهة الخلفية، كما يمكنك أيضًا إعادة تفعيل القالب الافتراضي إذا أردت ذلك.

الحل #3: زيادة حد الذاكرة المسموح

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

عند قيامك بزيادة الذاكرة سوف تُمكِّن الاسكريبت من إنهاء المهمة التي كان من المفترض القيام بها، وبالتالي تختفي الشاشة البيضاء.

خطوات زيادة حد الذاكرة:

  1. عليك الذهاب إلى لوحة التحكم ومن ثم مدير الملفات أو استخدام FTP والوصول إلى ملف (wp-config.php).
  2. الخطوة التالية، هي كتابة هذا الكود ضمن ملف wp-config.php
define( 'WP_MEMORY_LIMIT', '256M');

3. ستكتب هذا الكود قبل قبل السطر That’s all, stop editing! Happy publishing.

إضافة كود زيادة الذاكرة في ملف wp-config.php
إضافة كود زيادة الذاكرة في ملف wp-config.php

هذا الكود يعني أنك تقوم بزيادة حجم حد الذاكرة في الووردبريس إلى 256 ميجابايت.
4. ثم ستقوم بحفظ التغييرات التي أجريتها على ملف wp-config.php

يمكنك الآن زيارة موقعك، وفي حال كان حد الذاكرة هو المشكلة، ستختفي الشاشة البيضاء.

ملاحظة: إذا لم ينجح هذا الحل لزيادة حد الذاكرة، فهذا يعني أن مزود خدمة استضافة الويب التي تعتمد عليها لا تسمح للووردبريس بزيادة حد ذاكرة PHP، وستحتاجُ إلى مطالبة مزود خدمة استضافة الويب بزيادة حد ذاكرة PHP يدويًا.

الحل #4: التحقق من الإضافات (plugin) والقوالب (themes)

إذا لم تنجح الحلول السابقة عليك التحقق من الإضافات والسمات، ففي بعض الأحيان يكون السبب من أحدهما.

ماعليك فعله هو تعطيل جميع الإضافات الموجودة على موقعك.

الطريقة الأولى:

إذا كنت تستطيع الوصول إلى لوحة التحكم الخاصة بك، فعليك الذهاب إلى تبويبة (إضافات) على يمين الشاشة أو (plugins) على يسار الشاشة.

بعد ذلك عليك تحديد كل الإضافات واختيار ( تعطيل)

تعطيل كل إضافات الووردبريس من لوحة تحكم الووردبريس
تعطيل كل إضافات الووردبريس من لوحة تحكم الووردبريس

الطريقة الثانية:

إذا كنت لا تستطيع الوصول إلى لوحة التحكم الخاصة بالووردبريس، فعليك الدخول إلى ملفات الموقع من خلال FTP أو من خلال cPanel ثم إلغاء تنشيط الإضافات، بالشكل التالي:

  1. انتقل بمجرد الاتصال إلى مجلد (wp-content) حيث سترى مجلد "plugins"
تعطيل إضافات ووردبريس من خلال لوحة تحكم الاستضافة
تعطيل إضافات ووردبريس من خلال لوحة تحكم الاستضافة

الآن؛ تحتاج إلى النقر بزر الماوس الأيمن على مجلد Plugins ثم إعادة تسمية الملف، ويمكنك إعادة تسمية مجلد المكونات الإضافية إلى (plugins-deactivated) أو (Plugins-old).

بعد ذلك؛ عندما يبحث الووردبريس عن مجلد (Plugins) لتحميل جميع المكونات الإضافية الخاصة بموقعك، فإنه لن يتمكن من  العثور عليه، وبالتالي سوف يقوم ببساطة بإلغاء تنشيط جميع الإضافات بشكل تلقائي.

بعد ذلك؛ حاول الدخول إلى موقعك، وفي حال اختفت الشاشة البيضاء وكان السبب هو الإضافات، فعليك البدء بتفعيل الإضافات واحدة واحدة حتى تعرف ما هي الإضافة التي تسببت بالمشكلة.

الحل #5: التحقق من القوالب (themes)

في هذا الحل عليك تجربة استبدال القالب أو المظهر الخاص بموقعك بالمظهر الافتراضي للتأكد من سبب المشكلة.

الخطوات:

إذا كنت تستطيع الوصول إلى لوحة تحكم الووردبريس، فيمكنك الذهاب إلى المظهر ثم القوالب وتحديد القالب الافتراضي،

تنشيط قالب الووردبريس الاستضافة لحل مشكلة شاشة الموت البيضاء
تنشيط قالب الووردبريس الاستضافة لحل مشكلة شاشة الموت البيضاء

وإذا لم تكن قادراً على ذلك، فيمكنك القيام بالخطوات التالية:

  1. عليك الوصول إلى المجلد الذي يحتوي على كل القوالب الخاصة بموقعك (من خلال FTP أو من خلال cPanel) وتتبع المسار  / wp-content / theme / folder.
  2. بعد ذلك؛ عليك حذف أو تغيير اسم القالب المنشط في موقعك (زر الماوس الأيمن ثم Delete أو Rename).
إعادة تفعيل القالب الافتراضي من خلال cPanel لحل مشكلة شاشة الموت البيضاء
إعادة تفعيل القالب الافتراضي من خلال cPanel لحل مشكلة شاشة الموت البيضاء

3. سيقوم الووردبريس بتفعيل القالب الافتراضي غالبًا مثل Twenty Eighteen)؛ وإذا لم تكن تملك قالب افتراضي لموقعك فعليك تحميله بشكل يدوي

بعد ذلك؛ عليك تجربة الدخول إلى موقعك، وإذا اختفت المشكلة فهذا يعني أن قالبك يحتوي على بعض الأكواد الخاطئة (Bugs)، أو أنه يتعارض مع بعض المكونات الأخرى لموقعك.

نصيحة:

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

الانتقال إلى محرر ملفات القوالب للتأكد من عدم وجود أخطاء فيها
الانتقال إلى محرر ملفات القوالب للتأكد من عدم وجود أخطاء فيها

الحل #6: تفعيل وضع التصحيح لاكتشاف الأخطاء في الووردبريس - Debug Mode

في حال لم تنفع الحلول السابقة؛ يمكنك محاولة تشغيل (Debug Mode) لمعرفة سبب الخطأ.

الخطوات:

  1. بدايةً؛ عليك تفعيل Debug mode من خلال تعديل الكود التالي في ملف wp-config.php.
define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true);

2. بمجرد إضافة هذا الكود؛ ستحتوي الشاشة الفارغة الآن على أخطاء وتحذيرات وإشعارات؛ قد تكون هذه التحذيرات قادرة على مساعدتك في تحديد السبب الحقيقي للخطأ.

إذا لم تشاهد أي أخطاء فعليك التحقق من سجل تصحيح الأخطاء (debug log).

ملحوظة: بعد الإنتهاء من هذه المهمة قم باستعادة الكود الأصلي بالشكل التالي

define( 'WP_DEBUG', false);

الحل #7: استعادة نسخة احتياطية للموقع قبل حدوث مشكلة شاشة الموت البيضاء

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

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

يمكنك إنشاء نسخة احتياطية واستعادتها وجدولة النسخ الاحتياطي التلقائي كل يوم أو أسبوع أو غير ذلك عبر استخدام إضافة ووردبريس مخصصة مثل UpdraftPlus، أو من خلال خيارات الاستضافة إذا كانت توفر ذلك،  وتستطيع تعلم كيفية عبر مراجعة مقالتنا الشاملة حول هذا الموضوع (شرح عمل نسخة احتياطية لموقعك لتأمينه من أي ضرر).


مسح ذاكرة التخزين المؤقت

بعد هذه الخطوات؛ ربما يكون قد تم حل المشكلة بالفعل ولكن لا زالت المشكلة تظهر لك عند محاولة تصفح الموقع، ويكون ذلك بسبب احتفاظ المتصفح أو احتفاظ موقعك بملفات التخزين المؤقت، ولذلك عليك ببساطة تفريغ ذاكرة التخزين المؤقت لموقعك ونفس الأمر لمتصفح الويب الخاص بك.

1- مسح ذاكرة التخزين المؤقت للمتصفح

أولاً، تحتاج إلى مسح ذاكرة التخزين المؤقت في متصفح الويب؛ حيث أن معظم متصفحات الويب تقوم بتخزين محتوى ثابت من الموقع لجعل زيارتك اللاحقة أسرع مثل أوراق الأنماط (CSS) وجافا سكريبت والصور.

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

إذا كنت تستخدم متصفح جوجل كروم: اذهب إلى الإعدادات ومسح البيانات كما في الصورة

النقر على خيار مسح بيانات التصفح في جوجل كروم
النقر على خيار مسح بيانات التصفح في جوجل كروم

2. ستفتح لك نافذة جديدة تستطيع من خلالها اختيار المحتوى الذي تريد إزالته.

تحديد خيارات ذاكرة التخزين المؤقت ومسحها
تحديد خيارات ذاكرة التخزين المؤقت ومسحها

لقد انتهيت الآن من مسح ذاكرة التخزين المؤقت للمتصفح، ويمكنك الآن محاولة زيارة موقعك الإلكتروني للتأكد من أنه تم حل مشكلة شاشة الموت البيضاء (White screen of death error).

وإذا كنت تستخدم متصفح آخر مثل (فايرفوكس، أوبيرا، سافاري)، فيمكنك حذف الملفات المؤقتة بطرقة مشابهة.

2- حذف ملفات التخزين المؤقت لموقعك الووردبريس

ستحتاج أيضًا إلى حذف ملفات التخزين المؤقتة لموقعك الووردبريس من خلال إحدى إضافات الكاش أي ذاكرة التخزين المؤقت (مثل:WP Super Cache)، أو من خلال مزود خدمة الاستضافة.

ثم حاول الدخول مرة أخرى لموقعك، وستكون المشكلة قد حلت ويعمل موقعك بدون مشاكل بالغالب.

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

اقرأ أيضًا: مشاكل الووردبريس الأكثر شيوعًا، وطرق حلها