401 Unauthorized: المصادقة المطلوبة

ما يعنيه رمز 401 Unauthorized، ولماذا يختلف عن 403، وكيف تؤثر المصادقة في Googlebot والفهرسة، وكيف تشخّص ترويسة WWW-Authenticate وتحمي المحتوى الخاص.

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

تعني 401 Unauthorized أن الطلب يفتقد بيانات اعتماد صالحة للمصادقة — فالخادم يريدك أن تسجل الدخول. وهي تختلف عن 403 Forbidden (أُرسلت بيانات اعتماد لكن الوصول رُفض)، لكن Google تعاملهما بالطريقة نفسها بالنسبة إلى الفهرسة: لا يرسل Googlebot بيانات اعتماد، لذلك لا يكون محتوى الصفحة التي تعيد 401 موجودًا فعليًا بالنسبة إلى Google، ولن تُفهرس، وتسقط من الفهرس مع الوقت إذا كانت مفهرسة من قبل. وليست 401 سيئة تلقائيًا — فهي الطريقة الصحيحة لحماية مواقع التجربة ومناطق الأعضاء — ولا تصبح مشكلة إلا عندما تصيب صفحة تريد ترتيبها. ولا تؤثر في معدل الزحف، خلافًا لخرافة شائعة.

TL;DR — 401 Unauthorized هو خطأ من جهة العميل (RFC 9110 §15.5.2، الذي حل محل RFC 7235) ويعني أن الطلب يفتقد بيانات اعتماد صالحة للمصادقة — بما فيها بيانات أُرسلت ثم رُفضت، لا البيانات التي لم تُرسل فقط؛ كما ترسل 401 المتوافقة مع المواصفة ترويسة WWW-Authenticate التي تسمي المخطط المتوقع. وتختلف عن 403 (رفض لا يتطلب ذلك التحدي وقد لا يتعلق ببيانات الاعتماد أصلاً)، لكن Google يعامل كل 4xx باستثناء 429 بالطريقة نفسها بالنسبة إلى الفهرسة: المحتوى «غير موجود»، لذلك لا يُفهرس، وتسقط عناوين URL المفهرسة سابقاً مع الوقت. وبما أن Googlebot العادي لا يرسل بيانات اعتماد، فإن 403 إلى Googlebot هو — وفق كلمات Google نفسها — عادةً إعداد خاطئ للخادم. ولا يؤثر 401/403 في معدل الزحف على مستوى الموقع (خرافة متكررة على نطاق واسع)، رغم أن عنوان URL الفردي الذي يستمر في إعادة 4xx يُعاد زحفه بوتيرة أقل مع الوقت. إن 401 هي الطريقة الصحيحة التي يقرها Google لحجب المحتوى الخاص فعلاً؛ ولا تصبح مشكلة إلا عندما تصيب صفحة تريد فهرستها. أما المحتوى المدفوع فله مسار معتمد لا يتطلب 401 شاملة.

ما هي 401 فعلياً

401 Unauthorized استجابة خطأ من جهة العميل. وتعريف MDN هو الأنظف تقنياً:

“The HTTP 401 Unauthorized client error response status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource. This status code is sent with an HTTP WWW-Authenticate response header that contains information on the authentication scheme the server expects the client to include to make the request successfully.” (ترجمة) «تشير استجابة 401 إلى أن الطلب لم ينجح لأنه يفتقد بيانات اعتماد صالحة للمصادقة، وتأتي مع ترويسة WWW-Authenticate التي تشرح مخطط المصادقة المتوقع.»

Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized

هناك نقطتان تستحقان الاستخلاص. الأولى هي «authentication» — فلم يثبت الطالب هويته. وهذا يعني عادةً بيانات اعتماد مفقودة أو غير صالحة أو منتهية — لكن 401 قد تأتي أيضاً بعد إرسال بيانات اعتماد ورفضها، فلا تفترض «عدم وجود ترويسة مصادقة مطلقاً» من دون فحص الطلب فعلياً. والثانية أن 401 المطابقة للمواصفة يجب أن تحمل ترويسة WWW-Authenticate — وفق RFC 9110 §15.5.2، الذي حل محل RFC 7235 الأقدم — لتخبر العميل بالمخطط (أو المخططات) التي يتوقعها (مصادقة HTTP الأساسية، أو رمز Bearer، أو تدفق ملف تعريف جلسة، وهكذا). إذا كنت تصحح 401، فهذه الترويسة أول ما ينبغي فحصه: هل هي موجودة أصلاً، وما المخطط الذي تسميه. Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized

ألخص 401 في دليل رموز الحالة الخاص بي بهذه العبارة: «the client hasn’t identified or verified itself when needed.» هذه هي الفكرة كلها — لم يقل أحد من يكون بعد.

401 مقابل 403 Forbidden — التمييز المهم

هنا يختلط الأمر على معظم الناس، لذا سأجعله واضحاً. في سطر واحد:

  • 401 = «من أنت؟» — بيانات الاعتماد مفقودة أو غير صالحة؛ صادق هويتك وحاول مرة أخرى.
  • 403 = «أعرف من أنت، لكن لا.» — فُهم الطلب، لكن الوصول مرفوض بغض النظر عن بيانات الاعتماد.

تصوغ MDN الفرق بالطريقة نفسها:

“A 401 Unauthorized is similar to the 403 Forbidden response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.” (ترجمة) «تشبه 401 استجابة 403، لكن 403 تُعاد عندما تكون بيانات الاعتماد صالحة ولا يملك العميل صلاحية تنفيذ الإجراء.»

أعرض التباين نفسه في دليلي: 401 هي «the client hasn’t identified or verified itself when needed,» بينما 403 هي «the client is known but doesn’t have access rights.» مصادقة مقابل تفويض.

هذا الاختصار موثوق، لكن إليك اختبار البروتوكول الأدق إذا احتجت إلى اختيار أحدهما في الكود أو قاعدة WAF: تتطلب 401 تحدي WWW-Authenticate — وتجعله RFC 9110 إلزامياً — بينما لا تتطلب 403 واحداً، لأن رفض 403 قد يكون لأسباب لا علاقة لها ببيانات الاعتماد إطلاقاً (حظر IP، أو قاعدة صلاحيات، أو سياسة تحديد معدل). لذلك فإن السؤال «هل كانت بيانات الاعتماد موجودة؟» ليس طريقة موثوقة للتمييز وحده — فقد تأتي 401 بعد بيانات اعتماد مرفوضة، لا بعد بيانات مفقودة فقط. إذا كنت تقرر رمز الإرجاع، فاسأل بدلاً من ذلك: هل أصدر تحدي مصادقة (401)، أم رفضاً قاطعاً (403)؟

إليك التحول غير البديهي في SEO، ونقطة Google الخاصة بـ403. Googlebot العادي لا يرسل بيانات اعتماد أبداً. لذلك فإن تقديم 403 إلى Googlebot تحديداً يعني، بحسب كلمات Google نفسها، أن الخادم أخطأ:

“HTTP 403 means that the user agent provided credentials, but was not granted access. However, Googlebot never provides credentials, so your server is returning this error incorrectly. The page will not be indexed.” (ترجمة) «تعني 403 أن وكيل المستخدم قدم بيانات اعتماد ولم يُمنح الوصول؛ وبما أن Googlebot لا يقدم بيانات اعتماد، فإعادتها إليه إعداد غير صحيح ولن تُفهرس الصفحة.»

هذا تشخيص مفيد. قد تكون 401 إلى Googlebot مقصودة (فالصفحة محجوبة حسب التصميم). أما 403 إلى Googlebot فعادةً تشير إلى إعداد خاطئ — فلم يرسل Googlebot بيانات اعتماد، لذلك لا ينبغي أن يطلق أي شيء استجابة «رُفضت بيانات الاعتماد» له. إذا كنت ترى 403 في صفحات ينبغي أن يصل إليها Googlebot، فاشتبِه أولاً في CDN أو WAF أو إعداد الخادم. (هذا يصف زواحف Google الشائعة. وتوثق Google زواحف خاصة وعمليات جلب بدأها المستخدم كفئات منفصلة ذات سلوكها الخاص، فلا تفترض أن قاعدة «لا يرسل بيانات اعتماد أبداً» تنطبق على كل تكامل مع منتجات Google من دون تحقق.)

401 Unauthorized403 Forbidden
المعنىبيانات اعتماد مفقودة/غير صالحة — «من أنت؟»فُهم الطلب، لكن الوصول مرفوض — «أعرفك، لا»
الترويسة المطلوبةWWW-Authenticate (RFC 9110)لا شيء مطلوب
المحفز المعتادحاجز تسجيل الدخول، رمز منتهٍ، Basic Auth، انتهاء الجلسةقواعد الصلاحيات، حظر IP/الموقع الجغرافي، قواعد WAF، قيود الدليل
بالنسبة إلى Googlebotقد تكون مقصودة (الصفحة محجوبة)عادةً إعداد خاطئ للخادم (Googlebot لا يرسل بيانات اعتماد)
نتيجة الفهرسةلا تُفهرس؛ تسقط مع الوقتلا تُفهرس؛ تسقط مع الوقت

السطر الأخير هو الخلاصة: بالنسبة إلى الفهرسة، يعامل Google الحالتين بطريقة متطابقة.

كيف يعامل Google صفحات 401

تتحدث وثيقة Google عن رموز حالة HTTP بوضوح عن عائلة 4xx:

“Google doesn’t use the content from URLs that return 4xx status codes. If a URL was previously used but is now returning 4xx status code, Google systems will stop using the URL over time. In the case of Google Search, Google doesn’t index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.” (ترجمة) «لا تستخدم Google محتوى عناوين URL التي تعيد 4xx؛ ولا تفهرس هذه العناوين وتزيل المفهرس منها مع الوقت.»

Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the Search indexing outcome for 401 responses; it does not address access decisions for private users. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers

وليست 401 حالة خاصة داخل هذه العائلة. ففي جدول الوثيقة، تُدرج 401 (unauthorized) and 403 (forbidden) كسطرين منفصلين يشتركان في شرح واحد:

“All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (ترجمة) «تُعامل أخطاء 4xx كلها، باستثناء 429، بالطريقة نفسها؛ إذ تُبلغ زواحف Google النظام التالي بأن المحتوى غير موجود.»

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

هناك فارق دقيق في التوقيت: تحدث الإزالة «over time»، لا عند أول جلب سيئ. تصف وثائق Google عملية تدريجية، وقد وُصف نظام الزحف تاريخياً بأنه يتحمل الأخطاء قصيرة الأجل قبل أن يعامل عنوان URL كأنه اختفى فعلاً.

خرافة معدل الزحف — 401 لا تبطئ الزحف

تربك هذه النقطة كثيراً من المقالات الجيدة في بقية جوانبها، لذا أريد أن أكون دقيقاً. لا تبطئ 401 (أو 403) معدل زحف Google. تقول Google ذلك مباشرة:

“Don’t use 401 and 403 status codes for limiting the crawl rate. The 4xx status codes, except 429, have no effect on crawl rate.” (ترجمة) «لا تستخدم 401 و403 للحد من معدل الزحف؛ فأخطاء 4xx، باستثناء 429، لا تؤثر في معدل الزحف.»

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

ملاحظة عن النطاق، لأن هذين الادعاءين يسهل الخلط بينهما: «لا تأثير في معدل الزحف» يتعلق بمعدل الزحف الإجمالي لموقعك. وبشكل منفصل، تقول Google إن عنوان URL الفردي الذي يستمر في إعادة 4xx يُعاد زحفه بوتيرة أقل مع الوقت — إذ تنخفض وتيرة إعادة المحاولة الخاصة به تدريجياً. هذان نطاقان مختلفان: لا تُخنق ميزانية زحف موقعك بأكمله، لكن عنوان URL الذي يستمر في إعادة 401 تحديداً يُفحص بوتيرة أقل عندما تقلل Google من أولويته.

هناك حالة خاصة تستحق المعرفة أيضاً: لا تُعامل 401 على صفحة عادية و401 على /robots.txt نفسها بالطريقة نفسها. فإذا أعاد ملف robots.txt خطأ من الفئة الرابعة غير 429 (ومن ذلك 401)، تتعامل Google معه كما لو لم توجد robots.txt إطلاقاً — فتفترض عدم وجود قيود زحف من الملف، لا أن موقعك بأكمله أصبح غير قابل للوصول. لا تضع /robots.txt خلف جدار المصادقة نفسه الذي يحمي صفحاتك الخاصة.

هل 401 مشكلة دائماً؟ لا.

لا تكون 401 خطأً إلا عندما تكون غير مقصودة في صفحة تريد جعلها عامة. وعندما تكون الصفحة خاصة فعلاً، فإن 401 هي الطريقة الصحيحة لإبقائها خارج البحث — وهي الطريقة التي توصي بها Google. وقد أوضح John Mueller الأمر (كما نقلته Search Engine Journal): المصادقة من جهة الخادم التي تمنع المستخدمين العاديين من رؤية المحتوى — «that would include GoogleBot.» (نقلته Search Engine Journal من لقاء Google في 2019؛ تعامل معه كتصريح ممثل منقول بدقة، لا كاقتباس تحقق مقطعي منه.)

مصادقة الخادم (وهي ما ينتج 401) هي آليته الموصى بها لإخفاء المحتوى غير العام — قبل robots.txt — لأنها تحجب الوصول فعلياً بدلاً من مجرد طلب بقاء الروبوتات خارجاً.

لذلك فإن إطار القرار بسيط:

  • ينبغي أن يبقى 401: بيئات التجربة، ومناطق الأعضاء، والأدوات الداخلية، وكل ما هو خاص فعلاً. يعمل حسب التصميم. لا «تصلحه».
  • يحتاج إلى إصلاح: صفحة عامة قابلة للفهرسة تعيد 401 عن طريق الخطأ — نتيجة إيجابية كاذبة من CDN/WAF، أو Basic Auth متروكة، أو رمز منتهٍ، أو تعارض في إضافة/وسيط.

آثار SEO وفخ «تعمل لدي»

حالات الفشل العملية:

  • تبقى الصفحات التي تريد فهرستها غير مرئية حتى إزالة البوابة.
  • تختفي الصفحات التي كانت تحتل ترتيبًا إذا بدأت بإعادة 401.
  • فخ «تعمل لدي»: الشخص الذي يختبر مصادق عليه أو سجل الدخول أو يستخدم IP مسموحًا به — أما الزاحف فلا. إرشاد Google نفسه لحالة 401 هو: “You can verify this error by visiting the page in incognito mode.” (ترجمة) «يمكنك التحقق من هذا الخطأ بزيارة الصفحة في وضع التصفح الخفي.» والأفضل من ذلك، اختبر بلا مصادقة باستخدام curl -I https://example.com/page, أو استخدم فحص عناوين URL/الاختبار المباشر في Search Console.

عندما تحتاج إلى السماح لزاحف حقيقي بالمرور، فتحقق منه عبر IP / DNS عكسي، ولا تثق أبداً في سلسلة وكيل المستخدم وحدها — فسلاسل وكيل المستخدم يسهل انتحالها، ولذلك فإن السماح بـ«Googlebot» بالاسم ثغرة أمنية لا إصلاح.

ماذا عن المحتوى المدفوع أو المخصص للمشتركين؟

ليست 401 الشاملة للجميع (بما في ذلك Googlebot) خيارك الوحيد إذا أردت أن يحتل المحتوى المحجوب ترتيباً. تدعم Google فهرسة المحتوى المدفوع عبر البيانات المنظمة isAccessibleForFree، مع منح هويات زواحف Google المخصصة وصولاً إلى محتوى المشتركين/المستخدمين المسجلين. وفكرة الترميز هي:

“This structured data helps Google differentiate paywalled content from the practice of cloaking, which violates spam policies.” (ترجمة) «تساعد هذه البيانات المنظمة Google على تمييز المحتوى المدفوع عن ممارسة التمويه المخالفة لسياسات الرسائل المزعجة.»

والتحذير المتضمن في ذلك هو أن تقديم المحتوى الكامل بصمت إلى Googlebot وحده، من دون الإفصاح بالبيانات المنظمة، يُعد إخفاءً — ومخاطرة بسياسة مكافحة الرسائل المزعجة. إذا أردت فهرسة المحتوى المحجوب، فافعل ذلك بالطريقة المعتمدة (ترميز + وصول الزاحف)، لا بتجاوز صامت.

كيف تصلح 401 غير مرغوبة

  1. أكد أنها غير مرغوبة فعلاً. هل يفترض أن تكون الصفحة عامة؟ إذا كانت صفحة تجربة أو للأعضاء فقط، فلا شيء لإصلاحه.
  2. أزل متطلب المصادقة من الصفحات العامة — أزل Basic Auth المتروكة (.htaccess/nginx)، وأصلح الرموز المنتهية، وحل تعارضات الإضافات/الوسائط.
  3. افحص CDN/WAF — ولا تفترض أنك تعرف مسبقاً أي طبقة أصدرت 401. تخبرك الاستجابة (وترويسة WWW-Authenticate) بأن تحدياً حدث؛ لكنها لا تخبرك من أين أتى — فقد ينشئه تطبيقك أو وكيل الهوية/المصادقة أو قواعد إدارة الروبوتات في CDN أو WAF أو الخادم الأصلي. تُعد الإيجابيات الكاذبة من قواعد إدارة روبوتات الحافة سبباً شائعاً؛ افحص السجلات في كل طبقة وتحقق من Googlebot عبر DNS عكسي قبل السماح بأي شيء.
  4. اسمح للزواحف المتحققة بالمرور عبر IP/DNS عكسي، لا عبر وكيل المستخدم.
  5. لا تلجأ إلى 401 لإلغاء فهرسة صفحة يمكنك جعلها عامة — استخدم noindex (مع السماح بالزحف) بدلاً من ذلك. فجدار تسجيل الدخول للمحتوى الذي يجب أن يكون خاصاً فعلاً.
  6. تحقق من الإصلاح باستخدام الاختبار المباشر في فحص عناوين URL — لكن اعتبر النجاح تأكيداً للجلب الحالي، لا ضماناً. لا تلتزم Google بجدول ثابت لإعادة الزحف أو إعادة الفهرسة أو استرداد الترتيب بعد إصلاح 401؛ فالاختبار المباشر الناجح يدل على أن جلب Google المباشر مرّ، لا أن الزحف المجدول أو الفهرسة لحقا به. امنحه وقتاً وأعد فحص تقرير فهرسة الصفحات بدلاً من توقع تراجع فوري.

للاطلاع على سير عمل التشخيص والإصلاح والتحقق الكامل في Google Search Console لحالة فهرسة الصفحات «Blocked due to unauthorized request (401)» تحديداً، راجع المقالة المصاحبة المتخصصة — تظل هذه القطعة على مستوى البروتوكول والمفهوم.

Bing

يتصرف Bing بالطريقة نفسها وظيفياً: عنوان URL الذي يعيد 401 (أو 403) إلى Bingbot غير قابل للوصول ولن يُفهرس. يحتاج Bingbot إلى وصول غير مصادق عليه مثل Googlebot، وتتحقق منه عبر نطاقات IP المنشورة للسماح له، لا عبر وكيل المستخدم.

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.