إنترنت ومواقعووردبريس

حل مشكلة خطأ 403 Forbidden في ووردبريس بعد تعطل لوحة التحكم أو اختفاء زر النشر

يواجه بعض مستخدمي ووردبريس مشكلة مزعجة تتمثل في عدم القدرة على الدخول إلى لوحة التحكم، أو ظهور رسالة:

403 Forbidden
Access to this resource on the server is denied!

وفي حالات أخرى قد تتمكن من الدخول إلى لوحة التحكم، ولكن تلاحظ مشاكل مثل:

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

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

اقرأ أيضا: إصلاح مشكلة عدم ظهور زر النشر في ووردبريس بعد استيراد قاعدة البيانات


كيف تعرف أن المشكلة من قاعدة البيانات؟

إذا قمت بتجربة جميع الحلول التالية ولم تنجح:

  • تعطيل جميع الإضافات.
  • تغيير القالب.
  • إعادة إنشاء ملف .htaccess.
  • إصلاح صلاحيات الملفات.
  • تعطيل جدار الحماية.
  • استعادة إعدادات PHP.

وما زالت المشكلة موجودة، فمن المحتمل أن تكون الجداول الأساسية في قاعدة البيانات تعرضت للتلف أو التعديل.


الحل الأفضل

بدلاً من محاولة إصلاح قاعدة البيانات الحالية والتي قد تحتوي على تلف كبير، فإن الحل الأسرع والأكثر أماناً هو:

إنشاء قاعدة بيانات جديدة ثم نقل الجداول الأساسية فقط من القاعدة القديمة.

هذه الطريقة تعيد بناء ووردبريس بالكامل مع الاحتفاظ بجميع:

  • المقالات
  • الصفحات
  • التصنيفات
  • الوسوم
  • الصور
  • الروابط بين المقالات

الجداول الأساسية التي يجب نقلها

قم بتصدير هذه الجداول فقط من قاعدة البيانات القديمة:

wp_posts
wp_postmeta
wp_terms
wp_termmeta
wp_term_taxonomy
wp_term_relationships

ثم استوردها داخل قاعدة البيانات الجديدة.


لماذا هذه الجداول فقط؟

لأنها تحتوي على جميع محتوى الموقع، وتشمل:

wp_posts

يحتوي على:

  • المقالات
  • الصفحات
  • المرفقات
  • القوالب
  • عناصر Elementor
  • المنتجات (WooCommerce)

wp_postmeta

يحتوي على جميع بيانات المقالات مثل:

  • الصور البارزة
  • إعدادات Elementor
  • إعدادات WooCommerce
  • بيانات SEO
  • البيانات الإضافية

wp_terms

يحتوي على:

  • التصنيفات
  • الوسوم

wp_termmeta

بيانات إضافية خاصة بالتصنيفات.


wp_term_taxonomy

العلاقة بين التصنيفات والوسوم.


wp_term_relationships

يربط المقالات بالتصنيفات والوسوم.


خطوات الإصلاح

1- إنشاء قاعدة بيانات جديدة

أنشئ قاعدة جديدة من لوحة الاستضافة.


2- تثبيت ووردبريس جديد

قم بتثبيت نسخة ووردبريس نظيفة على نفس الموقع أو على موقع تجريبي.


3- حذف الجداول السابقة

بعد تثبيت ووردبريس الجديد احذف الجداول التالية:

wp_posts
wp_postmeta
wp_terms
wp_termmeta
wp_term_taxonomy
wp_term_relationships

4- استيراد الجداول القديمة

استورد الجداول الستة التي قمت بتصديرها من القاعدة القديمة.


5- تسجيل الدخول

في أغلب الحالات ستجد أن:

  • جميع المقالات عادت.
  • الصفحات عادت.
  • الصور ظهرت.
  • زر النشر عاد للعمل.
  • صفحة التخصيص أصبحت تعمل.
  • اختفى خطأ 403.

ماذا لو استمرت المشكلة؟

إذا كانت المشكلة ما زالت موجودة بعد نقل الجداول، فمن المحتمل أن السبب موجود داخل أحد الجداول التالية:

wp_options

أو

wp_users

أو

wp_usermeta

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


مشكلة تكرار ID داخل جدول wp_posts

في بعض المواقع التالفة قد تجد جميع السجلات أو جزءاً منها يحمل:

ID = 0

وهذه مشكلة خطيرة لأنها تؤدي إلى:

  • اختفاء زر النشر.
  • عدم إمكانية حفظ المقالات.
  • تعطل Elementor.
  • توقف إنشاء الصفحات.
  • أخطاء داخل REST API.
  • مشاكل في ربط المقالات بالتصنيفات والوسائط.

قد يحاول البعض إصلاحها بإعطاء معرفات جديدة للسجلات.

مثال:

SET @newid = (SELECT MAX(ID) FROM wp_posts);

UPDATE wp_posts
SET ID = (@newid := @newid + 1)
WHERE ID = 0
ORDER BY post_type, post_date;

ثم إعادة إنشاء المفتاح الأساسي والفهارس:

ALTER TABLE wp_posts
MODIFY ID BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY (ID),
ADD KEY post_name (post_name(191)),
ADD KEY type_status_date (post_type, post_status, post_date, ID),
ADD KEY post_parent (post_parent),
ADD KEY post_author (post_author);

لكن يجب الانتباه إلى أن هذا الحل ليس مضموناً، لأن الجداول الأخرى مثل:

  • wp_postmeta
  • wp_term_relationships

قد تظل تشير إلى المعرف القديم (ID = 0)، مما يؤدي إلى فقدان الارتباطات بين البيانات.

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


نصائح قبل البدء

  • خذ نسخة احتياطية كاملة من قاعدة البيانات.
  • لا تعدل الجداول مباشرة دون نسخة احتياطية.
  • جرّب الإصلاح أولاً على نسخة تجريبية إن أمكن.
  • لا تستورد جدول wp_options إلا إذا كنت متأكداً من سلامته.

الخلاصة

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

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


اكتشاف المزيد من إشراق العالم

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

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

زر الذهاب إلى الأعلى