500 خطأ داخلي في الخادم

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

نُشر أول مرة: 28 يونيو 2026 · آخر تحديث: 8 أغسطس 2026 · Advanced
اللغات

خطأ 500 Internal Server Error هو رمز فشل عام من جهة الخادم — يعرّفه RFC 9110 بأنه حالة غير متوقعة منعت الخادم من تنفيذ الطلب، ولا يضيف شيئًا آخر؛ فهو لا يقول ما الذي فشل، أو إلى متى، أو ما إذا كانت إعادة المحاولة ستنجح. تعيد Google عادةً محاولة خطأ 500 المنفرد، لكن أخطاء 500 المستمرة على مستوى الموقع تؤدي وفق استجابة Google الموثقة إلى زحف أبطأ، ثم إزالة من الفهرس إذا لم تختفِ الأخطاء. وقد عرض John Mueller قاعدة تقريبية وشخصية — أن معدل الأخطاء فوق نحو 1% يمثل على الأرجح مشكلة حقيقية — لكن Google نفسها لا تنشر عتبة صلبة. شخّص من سجلات الخادم أولًا، ثم افحص تقرير «خطأ الخادم (5xx)» في GSC؛ فأسباب مثل تعارض الإضافات واستنفاد الموارد شائعة في مكدسات محددة (وخاصة WordPress)، وليست قائمة عالمية.

الخلاصة — يعرّف RFC 9110 الرمز 500 بأنه حالة غير متوقعة منعت الخادم من تنفيذ الطلب؛ وهذا هو كامل الحد الدلالي لرمز الحالة نفسه، أما السبب والمدة وصلاحية إعادة المحاولة فهي موضوع تشخيص لا دلالة بروتوكولية. استجابة Google الموثقة تدريجية: تعاد محاولة أخطاء 500 المنفردة عادةً؛ أما أخطاء 500 المستمرة على مستوى الموقع فتؤدي إلى زحف أبطأ، ثم إلى إزالة من الفهرس إذا لم تُحل. عرض Mueller قاعدة تقريبية وشخصية — أن معدل الأخطاء الأعلى من نحو 1% يعني على الأرجح أن شيئاً ما معطل — لكنها ليست عتبة موثقة من Google، كما أن تسلسل إعادة المحاولة ثم إبطاء الزحف ثم الإسقاط يصف سلوكيات موثقة لا مؤقتاً ثابتاً متتابعاً. شخّص من سجلات الخادم أولاً، ثم من تقرير «خطأ الخادم (5xx)» في GSC ومن إحصاءات الزحف «حسب الاستجابة». الفرق بين 500 و503 مهم: 503 هو رمز «عد لاحقاً» المصرح به مع مهلة سماح تقارب يومين؛ أما 500 غير المنضبط فلا يملك هذه المهلة. Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

ما هو 500 فعلياً

ابدأ بالمواصفة، لا بالاختصار العملي. يعرّف RFC 9110 — معيار دلالات HTTP — خطأ 500 Internal Server Error بأنه حالة غير متوقعة منعت الخادم من تنفيذ الطلب. هذا هو كل ما يخبرك به رمز الحالة نفسه. فهو لا يحدد السبب الجذري، أو المكوّن المتعطل، أو مدة المشكلة، أو ما إذا كان الطلب نفسه سينجح عند إعادة المحاولة، أو ما إذا كان التعافي مرجحاً. كل ما يتجاوز «واجه الخادم شيئاً لم يستطع التعامل معه» هو تشخيص لا دلالة رمز الحالة؛ والتشخيص موجود في سجلات أخطاء الخادم، لا في المواصفة أو المتصفح. Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

أحافظ في دليل Ahrefs لرموز حالة HTTP على تعريف عملي مباشر عمداً: الخادم «يواجه نوعاً من المشكلات ولا يملك رمز خطأ أفضل أو أكثر تحديداً». هذه صياغة مبسطة لحد RFC نفسه؛ فهو رمز شامل، وعَرَض لا تشخيص.

يقع 500 ضمن عائلة 5xx إلى جانب 502 (بوابة سيئة)، و503 (الخدمة غير متاحة)، و504 (انتهاء مهلة البوابة) — وكلها من جهة الخادم، لكن 500 هو الرمز الذي يعني «لا ينطبق رمز أفضل». وبما أن رمز الحالة نفسه لا يحمل تفاصيل التشخيص، فلن يخبرك تحديث المتصفح بسبب حدوثه؛ سجلات أخطاء الخادم هي مصدر الحقيقة.

كيف يتعامل Googlebot مع 500

زاحف Google مصمم ليكون مهذباً؛ فهو يضبط سرعته وفق صحة الخادم، وتعد استجابات 5xx إحدى الإشارات التي يقرأها بمعنى «أبطئ». وتؤكد وثائق Google الحالية شكل هذه الاستجابة: تؤدي استجابات 5xx و429 إلى خفض مؤقت لمعدل الزحف (يتناسب مع عدد عناوين URL المتأثرة)، ويمكن إزالة عناوين URL التي تستمر في الفشل من الفهرس في النهاية، بينما يُحافَظ مؤقتاً على المحتوى المفهرس إلى أن تنجح عملية تحديث. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers وقد وصف John Mueller التسلسل نفسه بكلماته في جلسة Google SEO Office Hours نقلتها Search Engine Journal:

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (ترجمة) «لا توجد عتبات قوية؛ تعيد Google محاولة أخطاء 500، ثم تبطئ الزحف، ثم تزيل العناوين من الفهرس إذا استمرت الأخطاء.»

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

لماذا تكون أخطاء الخادم على مستوى الموقع أسوأ من الأخطاء المنفردة

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

“But if a large part of a site consistently has 500 errors and we might assume that maybe we’re causing the problem and we’ll slow down crawling of the whole site and at some point we’ll say well, it looks like these pages are really gone, we’re going to drop them.” (ترجمة) «إذا كانت نسبة كبيرة من الموقع تعيد أخطاء 500 باستمرار، فقد تفترض Google أن زحفها يسبب المشكلة، فتبطئ زحف الموقع كله، ثم تسقط الصفحات إذا بدا أنها زالت.»

تعامل مع صياغة «نفترض أننا نسبب المشكلة» بوصفها توصيف Mueller الشخصي، لا نصاً منقولاً حرفياً من وثائق Google الحالية؛ فالآلية الأساسية موثقة (كلما زادت عناوين URL الفاشلة زاد خفض معدل الزحف)، حتى لو كان التفسير السببي الدقيق أسهل تحققاً من تصريحه هو. وفي كل الأحوال، تستحق حلقة التغذية الراجعة العملية أن تترسخ: قد يؤدي الزحف المكثف أثناء استنفاد الموارد إلى مزيد من أخطاء 500 → تتراجع Google عن زحف الموقع كله → وإذا استمرت الأخطاء تهبط الصفحات. وهذا يعني أيضاً أن مشكلة 500 ليست دائماً خللاً في الشيفرة؛ فقد يكون الخادم ينهار أحياناً تحت حمل متزامن لا يظهر إلا أثناء ارتفاعات الزحف أو حركة المرور.

ما مقدار الخطأ «الكبير جداً»؟

لا توجد حدود صلبة؛ فوثائق استكشاف أخطاء Google نفسها لا تنشر عتبة لمعدل الأخطاء. وقد قدم Mueller قاعدة تقريبية شخصية في SEO Office Hours (نقلتها Search Engine Journal مرة أخرى، لا منشور رسمي من Google):

“My feeling is if you’re seeing something more than one percent then that sounds like something is kind of broken.” (ترجمة) «أشعر بأن رؤية معدل يتجاوز واحدًا بالمئة تعني على الأرجح أن شيئًا ما معطل.»

تعامل مع ~1% بوصفها اختبار رائحة غير رسمي منسوباً إلى Mueller، لا حداً موثقاً أو مفروضاً من Google. غالباً لا مشكلة تحتها؛ وفوقها يستحق الأمر التحقيق، لكن لا تتعامل مع تجاوز 1% كمشغل تلقائي، ولا مع البقاء تحتها كضمان. الرقم الوحيد الذي تلتزم به Google علناً هو غياب الرقم: «لا توجد لدينا عتبات قوية».

500 مقابل 503: الفرق المهم

هنا يخطئ كثير من الناس. 503 Service Unavailable هو الطريقة المصرح بها لإخبار الزاحف «أنا متوقف مؤقتاً، عد لاحقاً». تتعامل Google معه بوصفه مقصوداً وتمنحه مهلة سماح. وتوضح وثيقة استكشاف أخطاء الزحف لدى Google ذلك صراحةً:

“Return 503 or 429 HTTP response status codes temporarily for Googlebot requests when your server is overloaded. Googlebot will retry these URLs for about 2 days. Note that returning ‘no availability’ codes for more than a few days will cause Google to permanently slow or stop crawling URLs on your site.” (ترجمة) «أعد رمزي استجابة HTTP 503 أو 429 مؤقتًا لطلبات Googlebot عند زيادة حمل الخادم؛ وستعيد Google المحاولة نحو يومين، لكن استمرار رموز عدم التوفر أكثر من بضعة أيام يبطئ الزحف أو يوقفه نهائيًا.»

الخلاصة: 503 مقصود ويحصل على مهلة إعادة محاولة تقارب يومين؛ أما 500 غير المنضبط فغير مقصود ولا يحصل على هذه المهلة — بل يعاد طلبه فقط إلى أن تستسلم Google. عملياً: في الصيانة المخطط لها أو الدفاع المقصود ضد حمل زائد، أعد 503 (ويفضل مع ترويسة Retry-After) لا 500 ولا صفحة خطأ برمز 200. لا تكسُ انقطاعاً حقيقياً برد 200.

كيف تشخّص خطأ 500

اعمل عبر هذه الطبقات — التطبيق/الشيفرة، ثم المنصة أو CMS، ثم البنية التحتية والموارد، ثم الإعداد — وابدأ بالأرخص والأكثر احتمالاً لإعطاء نتيجة. الخطوات الموسومة (خاصة بـWordPress) ممارسة شائعة في WordPress وليست إصلاحات عامة؛ عدّلها وفق المكدس الفعلي لديك.

  1. سجلات أخطاء الخادم. افحص error.log / access.log (أو عارض سجلات منصتك). طابق التوقيت مع الطلبات الفاشلة. هنا يظهر تتبع الاستدعاءات الحقيقي، أو خطأ PHP القاتل، أو فشل اتصال قاعدة البيانات. وكل ما يأتي بعد ذلك تخمين حتى تقرأ هذه السجلات.
  2. GSC — تقرير خطأ الخادم (5xx). يحدد تقرير فهرسة الصفحات في Google Search Console عناوين URL التي ترى Google نفسها أنها تعيد 500. ثم افتح إحصاءات الزحف واقرأ تفصيل «حسب الاستجابة» عبر الزمن؛ هكذا تميز العارض المؤقت من مشكلة التوفر الحقيقية والمستمرة.
  3. Bing Webmaster Tools. تجمع تنبيهات أخطاء الزحف لديها أخطاء الخادم (5xx) وتوجهك إلى عناوين URL المحددة وأداة معلومات الزحف.
  4. أعد إنتاج المشكلة كروبوت، لا كمتصفح فقط. قد تعيد الصفحة 500 لـGooglebot بينما تعمل لديك؛ بسبب حمل سببه الزحف، أو إعداد خاطئ لاكتشاف الروبوت/جدار الحماية، أو حدود لا تظهر إلا مع حركة روبوتات متزامنة. استخدم فحص عنوان URL (GSC)، أو Fetch as Bingbot، أو curl مع user-agent لروبوت كي تلتقط الأعطال الخاصة بالروبوت. عبارة «يعمل في متصفحي» ليست تصريح سلامة.
  5. تعارض الإضافات / السمات / الوحدات (نمط خاص بـWordPress؛ عدّله لغيره). خذ نسخة احتياطية أولاً؛ يجب أن تملك دائماً طريقاً للعودة قبل تعطيل الأشياء. ثم عطّل الإضافات وأعد تفعيلها واحدة تلو الأخرى لعزل المتسبب، مع فحص أذونات/ملكية الملفات التي تلمسها. توثق أدلة استكشاف أخطاء WordPress لدى شركات الاستضافة هذا النمط كثيراً، لكنه ملاحظة خاصة بمكدس معين لا دليل على أنه السبب الأول في كل مكان؛ وفي CMS مختلف أو تطبيق مخصص يكون المقابل تعارض وحدة أو حزمة أو وسيط تابع لجهة خارجية.
  6. استنفاد الموارد. حدود ذاكرة PHP، وحدود اتصالات قاعدة البيانات، وسعة الاستضافة المشتركة، وارتفاعات حركة المرور أو الزحف. يستطيع المضيف غالباً تأكيد ذلك من جهته.
  7. الإعداد والتغييرات الحديثة. ملف .htaccess مكسور، أو تعديل سيئ في إعداد الخادم، أو عملية نشر حديثة، أو بيانات اعتماد قاعدة بيانات خاطئة. التغييرات الحديثة أعلى الأماكن مردوداً للفحص.

كيف تصلحه (طابق الإصلاح مع السبب)

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

  • تسبب الإعداد/النشر في المشكلة → أعد التغيير، وأصلح .htaccess أو الإعداد أو بيانات الاعتماد.
  • استنفاد الموارد → ارفع الحدود (ذاكرة PHP واتصالات قاعدة البيانات) أو رقِّ فئة الاستضافة؛ وإذا كان الزحف يطلق الحمل الزائد فهذه أيضاً مسألة معدل زحف.
  • تعارض إضافة/وحدة → أزل الإضافة المتسببة أو استبدلها.
  • خلل في الشيفرة → أصلح الشيفرة وأضف معالجة الخطأ المفقودة.
  • لا تستطيع معرفة السبب → صعّد الأمر إلى مضيفك مع التوقيتات الدقيقة وأسطر السجل. لا تخمّن في الإنتاج.

منع تكراره

مراقبة معدلات 5xx والتنبيه عليها، وتجهيز التغييرات في بيئة مرحلية قبل وصولها إلى الإنتاج، واختبار الحمل قبل ارتفاعات المرور المعروفة، وإذا كان زحف Googlebot نفسه هو المحفز — إدارة حمل الزحف (وإعادة 503/429 عمداً أثناء الحمل الزائد الحقيقي، بدلاً من ترك الخادم يصدر أخطاء الخادم غير منضبطة).

الأسئلة الشائعة

هل يضر خطأ 500 بتحسين محركات البحث؟ الخطر الموثق يتعلق أساساً بالاستمرار وعلى نطاق واسع. عادةً تعاد محاولة أخطاء 500 المنفردة، ولا توجد عقوبة موثقة لعارض واحد؛ أما أخطاء 500 المستمرة على مستوى الموقع فتبطيء الزحف وقد تؤدي إلى إزالة الفهرسة.

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

لماذا يعيد موقعي 500 لـGooglebot بينما يعمل جيداً في متصفحي؟ تعني أخطاء 500 الخاصة بالروبوت عادةً مشكلات في السعة أو معالجة الروبوت — حمل يسببه الزحف، أو قواعد جدار حماية/روبوت، أو حدود لا تظهر إلا مع حركة روبوتات متزامنة. ثق بالسجلات، لا بفحص متصفح يدوي.

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

ما الذي يسبب 500 في WordPress؟ في WordPress تحديداً، تذكر شركات الاستضافة ومجتمع WordPress غالباً تعارض الإضافات/السمات، أو ملف .htaccess تالفاً، أو بلوغ حد ذاكرة PHP؛ وهذا ما تذكره تلك المنصة، وليس ادعاءً بأنها الأسباب الأولى الشاملة لكل خطأ 500. ترتيب التشخيص أعلاه (السجلات أولاً ثم ما تغير) نفسه مهما كان CMS.

هل من الآمن إعادة محاولة الطلب تلقائياً بعد 500؟ فقط بعد فحص الطريقة وكون الطلب idempotent أولاً؛ فرمز 500 نفسه لا يمنح سياسة إعادة المحاولة. تكون GET وHEAD وPUT وDELETE آمنة عموماً لإعادة المحاولة لأنها idempotent (تكرارها لا ينبغي أن يسبب آثاراً جانبية إضافية)؛ أما POST المجرد فعادةً ليس كذلك، إلا إذا ضمن API صراحةً idempotency (مثلاً عبر مفتاح idempotency)، وإلا فإن إعادة محاولته عشوائياً قد تكرر طلباً أو بريداً إلكترونياً أو خصماً مالياً. عند إعادة المحاولة استخدم exponential backoff مع jitter، وحدد عدد المحاولات، وضع ميزانية لإعادة المحاولة حتى لا يضرب خادم متعثر بعاصفة محاولات فوق كل ما يفشل أصلاً.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.