خطأ 500 في الخادم الداخلي: الأسباب والحل خطوة بخطوة

ما معنى خطأ 500 Internal Server Error؟ تعرف على أشهر أسبابه وطريقة حله خطوة بخطوة في ووردبريس وأي موقع، من سجل الأخطاء وملف .htaccess إلى الإضافات وذاكرة PHP.

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

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

ما هو خطأ 500 في الخادم الداخلي؟

خطأ 500 (Internal Server Error) هو رمز حالة HTTP يعني أن الخادم واجه مشكلة غير متوقعة منعته من تنفيذ الطلب. المشكلة إذن في جهة الموقع والخادم، وليست في جهاز الزائر أو اتصاله بالإنترنت.

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

أشكال رسالة خطأ 500 في الخادم الداخلي في المتصفح وووردبريس

قد يظهر الخطأ بأشكال مختلفة حسب الخادم والمتصفح: 500 Internal Server Error أو HTTP ERROR 500 أو “This page isn’t working” في كروم. وفي ووردبريس 5.2 وما بعده قد ترى بدلًا منه رسالة There has been a critical error on this website، وهي الطريقة التي يعرض بها ووردبريس الأخطاء الفادحة في PHP.

إذا كنت زائرًا: ماذا تفعل؟

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

  • حدّث الصفحة بعد دقيقة أو دقيقتين، فكثير من حالات الخطأ 500 مؤقتة وتنتهي وحدها.
  • امسح ذاكرة التخزين المؤقت في المتصفح، أو افتح الصفحة في نافذة خاصة (Incognito).
  • جرّب من جهاز أو شبكة أخرى للتأكد من أن المشكلة ليست عندك.
  • إن استمر الخطأ، فأخبر صاحب الموقع، فقد لا يعرف بوجود المشكلة.

أشهر أسباب خطأ 500

أشهر 6 أسباب لخطأ 500 في الخادم الداخلي
  • إضافة أو قالب فيه خطأ برمجي: السبب الأكثر شيوعًا في مواقع ووردبريس، خاصة بعد تحديث، أو عند تعارض إضافتين.
  • ملف .htaccess تالف: سطر واحد خاطئ في هذا الملف يكفي لإيقاف الموقع كله على خوادم Apache و LiteSpeed.
  • نفاد ذاكرة PHP: عندما يحتاج الموقع ذاكرة أكثر من الحد المسموح، يتوقف تنفيذ PHP فجأة.
  • إصدار PHP غير متوافق: إضافة قديمة لا تعمل على إصدار PHP حديث، أو إضافة حديثة تحتاج إصدارًا أحدث من الموجود على خادمك.
  • صلاحيات ملفات خاطئة: بعض الخوادم ترفض تشغيل ملفات صلاحياتها مفتوحة أكثر من اللازم مثل 777.
  • تجاوز موارد الاستضافة: في الاستضافة المشتركة، قد يتوقف الموقع عند ضغط الزيارات أو العمليات الثقيلة لأنه تجاوز حدود خطتك.

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

قبل أن تبدأ: خذ نسخة احتياطية

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

ستحتاج أيضًا طريقة للوصول إلى ملفات الموقع: إما مدير الملفات (File Manager) في لوحة التحكم مثل cPanel أو hPanel، أو برنامج FTP مثل FileZilla. وتأكد من إظهار الملفات المخفية، لأن ملف .htaccess يبدأ بنقطة ويكون مخفيًا افتراضيًا.

طريقة حل خطأ 500 خطوة بخطوة

خطوات حل خطأ 500 في الخادم الداخلي بالترتيب

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

1. اقرأ سجل الأخطاء لتعرف السبب الحقيقي

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

  • في cPanel: افتح قسم Metrics ثم Errors، وستجد آخر الأخطاء المسجلة على الخادم.
  • في مجلد الموقع: ابحث عن ملف اسمه error_log في المجلد الرئيسي للموقع أو داخل wp-admin.
  • في لوحات التحكم الأخرى: ابحث عن قسم باسم Error Logs أو سجلات الأخطاء، وإن لم تجده فاطلبه من الدعم الفني.

وفي ووردبريس، يمكنك تفعيل سجل خاص به. افتح ملف wp-config.php في المجلد الرئيسي، وأضف هذه الأسطر قبل السطر الذي يقول That's all, stop editing!:

wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

افتح الموقع مرة أخرى ليتكرر الخطأ، ثم افتح الملف wp-content/debug.log. ابحث عن آخر سطر يبدأ بـ PHP Fatal error، وغالبًا ستجد فيه مسارًا مثل wp-content/plugins/اسم-الإضافة/ يكشف الإضافة أو القالب المسؤول مباشرة.

مهم: بعد حل المشكلة، أعد قيمة WP_DEBUG إلى false واحذف ملف debug.log، لأنه قد يحتوي معلومات عن موقعك لا يجب أن تبقى متاحة.

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

2. أعد إنشاء ملف ‎.htaccess‎

افتح مدير الملفات، وفي المجلد الرئيسي للموقع غيّر اسم الملف .htaccess إلى .htaccess_old. ثم افتح الموقع. إن عاد للعمل، فالمشكلة كانت في هذا الملف.

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

.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

إن كانت لديك قواعد إضافية مهمة في الملف القديم، كتحويلات أو قواعد حماية، فانقلها من .htaccess_old واحدة واحدة، واختبر الموقع بعد كل واحدة. ولاحظ أن هذه الخطوة تخص خوادم Apache و LiteSpeed فقط، أما خوادم Nginx فلا تقرأ ملف .htaccess أصلًا.

3. عطّل كل الإضافات ثم فعّلها واحدة واحدة

إن كنت تستطيع الدخول إلى لوحة التحكم، فعطّل كل الإضافات من صفحة الإضافات. وإن لم تستطع، فادخل بمدير الملفات إلى wp-content وغيّر اسم مجلد plugins إلى plugins_old. سيعطّل ووردبريس كل الإضافات تلقائيًا لأنه لن يجدها.

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

وإن كان لديك وصول SSH و WP-CLI، فهذا الأمر يعطّل كل الإضافات بخطوة واحدة:

WP-CLI
wp plugin deactivate --all

4. جرّب قالبًا افتراضيًا

إن لم تكن الإضافات هي السبب، فقد يكون القالب. ادخل إلى wp-content/themes وغيّر اسم مجلد قالبك الحالي. سيتحول ووردبريس تلقائيًا إلى قالب افتراضي مثل Twenty Twenty-Five، بشرط أن يكون مثبتًا على موقعك. وإن لم يكن موجودًا، فارفعه من موقع ووردبريس الرسمي.

إن عاد الموقع، فالمشكلة في القالب. وغالبًا تكون في ملف functions.php بعد تعديل يدوي، أو في تحديث للقالب لم يكتمل.

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

إن رأيت في سجل الأخطاء عبارة مثل Allowed memory size of ... bytes exhausted، فالموقع يحتاج ذاكرة أكبر. أضف هذا السطر إلى wp-config.php قبل سطر That's all, stop editing!:

wp-config.php
define( 'WP_MEMORY_LIMIT', '256M' );

هذا يرفع الحد داخل ووردبريس، لكنه لا يتجاوز الحد الذي يسمح به الخادم. لرفع حد الخادم، غيّر قيمة memory_limit من إعدادات PHP في لوحة التحكم، أو أضفها إلى ملف .user.ini أو php.ini إن كانت استضافتك تسمح بذلك:

.user.ini
memory_limit = 256M

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

6. غيّر إصدار PHP

إن ظهر الخطأ بعد أن غيّرت شركة الاستضافة إصدار PHP، أو بعد تحديث إضافة، فقد تكون المشكلة في التوافق. ستجد خيار تغيير الإصدار في لوحة التحكم: في cPanel باسم MultiPHP Manager أو Select PHP Version، وفي لوحات أخرى ضمن إعدادات PHP.

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

7. صحّح صلاحيات الملفات وأعد رفع ملفات ووردبريس

الصلاحيات الموصى بها في ووردبريس: 755 للمجلدات و644 للملفات، ويمكن جعل wp-config.php أكثر تشددًا (440 أو 400). لا تستخدم 777 أبدًا، فهي خطر أمني، وبعض الخوادم ترفض تشغيل الملفات بها وتعرض خطأ 500.

وإن كنت تشك في أن ملفات ووردبريس الأساسية تلفت، مثلًا بعد تحديث انقطع في منتصفه، فنزّل نسخة ووردبريس جديدة من الموقع الرسمي، وارفع منها مجلدي wp-admin وwp-includes فقط فوق الموجودين. لا ترفع مجلد wp-content ولا تستبدل ملف wp-config.php، لأنهما يحتويان محتوى موقعك وإعداداته.

ولمعرفة أخطاء أخرى تعرض موقعك للخطر، اقرأ أخطاء أمنية شائعة في المواقع.

8. تواصل مع الدعم الفني للاستضافة

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

  • رابط الصفحة التي يظهر فيها الخطأ، ووقت ظهوره تقريبًا.
  • آخر سطر خطأ وجدته في سجل الأخطاء.
  • ما جربته من خطوات، حتى لا يكرروه.
  • أي تغيير قمت به قبل ظهور الخطأ.

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

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

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

موقعك يعمل خلف Cloudflare؟ إن ظهرت صفحة خطأ عليها شعار Cloudflare برمز مثل 520 أو 521 أو 522، فالمشكلة في الاتصال بين Cloudflare وخادمك. أما خطأ 500 العادي فيأتي غالبًا من خادمك نفسه. لتتأكد، أوقف Cloudflare مؤقتًا (Pause) وافتح الموقع مباشرة.

الفرق بين خطأ 500 و 502 و 503 و 504

الرمزالاسمالمعنىأسباب شائعة
500Internal Server Errorالخادم واجه مشكلة غير متوقعة ولا يعرف كيف يكمل الطلب.خطأ PHP، إضافة، ملف .htaccess، ذاكرة.
502Bad Gatewayخادم وسيط تلقى ردًا غير صالح من الخادم الأصلي.توقف PHP-FPM، أو مشكلة بين Nginx أو Cloudflare والخادم.
503Service Unavailableالخادم غير متاح مؤقتًا، عادة بسبب الصيانة أو الضغط.وضع الصيانة، تجاوز الموارد، تحديث جارٍ.
504Gateway Timeoutالخادم الوسيط انتظر ردًا ولم يصله في الوقت المحدد.عمليات بطيئة جدًا، قاعدة بيانات مثقلة.

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

هل يؤثر خطأ 500 على ترتيب موقعك في جوجل؟

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

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

  • راقب تقرير الصفحات (Pages) في Google Search Console، وابحث فيه عن Server error (5xx).
  • إن كنت ستوقف الموقع للصيانة عمدًا، فاجعله يرد بخطأ 503 وليس 500، لأن 503 يخبر محركات البحث بأن التوقف مؤقت.
  • استخدم أداة مراقبة مجانية مثل UptimeRobot لتصلك رسالة فور توقف الموقع، بدل أن تعرف من زوارك.

كيف تمنع ظهور خطأ 500 مرة أخرى؟

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

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

أسئلة شائعة عن خطأ 500

هل خطأ 500 مشكلة في جهازي أم في الموقع؟

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

كيف أعرف سبب خطأ 500 بالضبط؟

من سجل الأخطاء. ابحث عن ملف error_log في مجلد الموقع أو قسم Errors في لوحة التحكم، أو فعّل سجل ووردبريس عبر WP_DEBUG_LOG. ستجد غالبًا اسم الملف ورقم السطر الذي سبب الخطأ.

ظهر خطأ 500 بعد تحديث إضافة، ماذا أفعل؟

عطّل هذه الإضافة. إن لم تستطع الدخول إلى لوحة التحكم، فغيّر اسم مجلدها داخل wp-content/plugins، أو استخدم رابط وضع الاسترداد الذي يرسله ووردبريس إلى بريدك. ثم ثبّت الإصدار السابق منها أو انتظر إصلاحًا من المطور.

خطأ 500 يظهر في لوحة التحكم فقط، لماذا؟

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

هل يمكن أن تكون شركة الاستضافة هي السبب؟

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

ما الفرق بين خطأ 500 وخطأ 503؟

خطأ 500 يعني أن شيئًا ما انكسر بشكل غير متوقع. أما 503 فيعني أن الخادم غير متاح مؤقتًا، بسبب صيانة أو ضغط زائد. ولهذا يُفضل 503 عند الصيانة المقصودة، لأنه يخبر محركات البحث بأن التوقف مؤقت.

كم من الوقت يستمر خطأ 500؟

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

الخلاصة

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

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

أواب ميرغني
أواب ميرغني

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

المقالات: 52

اترك ردّاً

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