قبل أي تعديل

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

لماذا الصفحة بيضاء؟

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

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

١. بريد وضع الاسترداد

منذ الإصدار ٥٫٢، يُطلق الخطأ الفادح رسالة تلقائية إلى بريد المدير تحتوي رابط دخول سري، والأهم: اسم الإضافة أو القالب المتسبب في الانهيار. ابحث في بريدك — وفي مجلد الرسائل غير المرغوبة — عن رسالة بعنوان «موقعك يواجه مشكلة تقنية».

إن وجدت هذه الرسالة فقد انتهى التشخيص. لهذا السبب تأتي هذه الخطوة أولًا.

٢. تفعيل سجل التصحيح

في ملف wp-config.php، فوق سطر التوقف عن التحرير:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

أعِد تحميل الصفحة المعطوبة، ثم افتح wp-content/debug.log. ابحث عن السطر الذي يبدأ بـ PHP Fatal error: — فهو يحدّد الملف ورقم السطر بدقة. وفي تسع حالات من عشر يحتوي مسار الملف على اسم الإضافة المتسبّبة.

أبقِ DEBUG_DISPLAY معطّلًا

عرض الأخطاء على موقع مباشر يكشف مسارات ملفاتك وبيانات قاعدتك لأي زائر. سجّلها في ملف بدلًا من ذلك، وأعِد تعطيل WP_DEBUG بعد الانتهاء.

٣. استبعاد المتصفح والتخزين المؤقت

قبل لمس الملفات: افتح الموقع في نافذة خاصة وفي متصفح آخر، وامسح ذاكرة إضافة التخزين المؤقت وشبكة التوصيل (CDN). من الشائع جدًا أن يُصلح أحدهم الموقع ثم يظل يحدّق في نسخة مخزّنة من العطل عشرين دقيقة إضافية.

٤. تعطيل كل الإضافات دفعة واحدة

عبر SFTP، ادخل إلى wp-content/ وأعد تسمية مجلد plugins إلى plugins-off. لن يجدها ووردبريس، فيعطّلها جميعًا.

  • عاد الموقع؟ السبب إضافة. أعِد الاسم الأصلي، ثم أعد تسمية مجلدات الإضافات واحدًا تلو الآخر حتى تعود الشاشة البيضاء: آخر ما أعدت تسميته هو المتسبب.
  • ما زالت بيضاء؟ الإضافات بريئة. انتقل إلى القالب.

٥. التحوّل إلى قالب افتراضي

الأسلوب نفسه: أعد تسمية مجلد القالب النشط داخل wp-content/themes/، فيعود ووردبريس إلى قالب افتراضي. إن عاد الموقع فالخلل في قالبك — غالبًا في functions.php، وغالبًا دالة لم تعد موجودة في إصدار PHP الحالي.

٦. رفع حد ذاكرة PHP

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

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

٧. الصلاحيات وسلامة النواة

المجلدات 755 والملفات 644. نقل فاشل للموقع أو «تشديد أمني» مبالغ فيه قد يضبط ملفًا على 000 ويُنتج هذا العَرَض بالضبط.

ثم قارن wp-admin/ وwp-includes/ بنسخة نظيفة من نفس إصدار ووردبريس. ملف نواة واحد مبتور — غالبًا بعد تحديث انقطع — يكفي لإنتاج صفحة بيضاء لا يفسّرها شيء آخر.

ما زلت أمام صفحة بيضاء؟

أرسل لي رابط الموقع وما جرّبته. رد خلال ساعة — وإن لم أُصلح، فلا تدفع.

أسئلة شائعة

لماذا يعرض موقعي صفحة بيضاء؟

توقّفت PHP قبل إرسال أي مخرجات — غالبًا خطأ فادح في إضافة أو قالب، أو نفاد الذاكرة. ولأن عرض الأخطاء معطّل في الإنتاج، يصل المتصفح ردٌ فارغ.

كيف أتصرّف إذا تعذّر الدخول إلى لوحة التحكم؟

استخدم SFTP. أعد تسمية wp-content/plugins إلى plugins-off لتعطيل الجميع، ثم أعِد التفعيل واحدة تلو الأخرى.

هل يعني ذلك أنني اختُرقت؟

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

لوحة التحكم فقط بيضاء والموقع يعمل.

هذا يشير إلى إضافة تعمل في جهة الإدارة، أو مربّع في لوحة المعلومات، أو جلسة تالفة. ابدأ بإعادة تسمية الإضافات.