300 Multiple Choices: رابط واحد وعدة نسخ

300 Multiple Choices يعني أن للمورد عدة تمثيلات وعلى العميل اختيار أحدها، وهو نادر الاستخدام في الويب اليوم.

افحص رمز حالة رابط

300 Multiple Choices يعني أن المورد المطلوب موجود بعدة نسخ (صيغ أو لغات أو متغيّرات مختلفة) وأن على العميل أن يختار إحداها. هو من أقل رموز الحالة استخدامًا على الويب، ولمعظم المواقع أداة أفضل لهذه المهمة.

التعريف

يصف RFC 9110، القسم 15.4.1 الرمز 300 بأنه يعرض على المستخدم أو وكيل المستخدم (user agent) الاختيار بين عدة تمثيلات، لكل منها رابطه الأكثر تحديدًا. ويسمى هذا التفاوض التفاعلي (reactive negotiation). وإذا كان للخادم خيار مفضّل فينبغي أن يذكره في ترويسة Location، وقد يتبعها المتصفح تلقائيًا. ومن المفترض أن يسرد الجسم البدائل، لكن HTTP لا يحدد صيغة قياسية لهذه القائمة، ولذلك تتعامل العملاء مع 300 بطرق متفاوتة. والرد 300 قابل للتخزين المؤقت افتراضيًا.

أين يظهر

  • بعض إعدادات التفاوض على المحتوى (content negotiation) التي لا تستطيع اختيار نسخة بنفسها.
  • واجهات وأرشيفات متخصصة تعرض عدة صيغ للمستند الواحد.
  • خوادم أو إضافات مضبوطة بشكل خاطئ، وهذا أرجح سبب لأن تجده في فحص موقعك.

التأثير على السيو

تشرح وثائق Google كيف يتعامل Googlebot مع الرموز 301 و302 و303 و304 و307 و308، لكنها لا تقول شيئًا محددًا عن 300. ولا يمكنك التنبؤ بأي رابط سيُفهرس، إن فُهرس أي رابط أصلًا، وهذا وحده سبب كافٍ لتجنبه في الصفحات العامة.

وفي الاستخدام المعتاد، أي النسخ اللغوية أو الإقليمية، توصي Google برابط مستقل لكل نسخة تربط بينها بـ hreflang، وتنصح بعدم تحويل الزوار تلقائيًا بحسب اللغة التي تظن أنهم يتحدثونها. ويمكن لصفحة اختيار اللغة أن تعيد 200 وتُعلَّم بالقيمة x-default. وللصفحة التي انتقلت استخدم 301، وللتحويل المؤقت 302.

كيف تتحقق

تتبّع الرابط بـ أداة فحص التحويلات لترى حالته وأي ترويسة Location، وتحقق من إعداد اللغات بـ أداة فحص hreflang. وهكذا يبدو الرد 300:

HTTP/1.1 300 Multiple Choices
Location: https://www.example.com/report.html
Content-Type: text/html; charset=utf-8

<ul>
  <li><a href="/report.html">HTML version</a></li>
  <li><a href="/report.pdf">PDF version</a></li>
</ul>

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

هل تتبع المتصفحات التحويل 300 تلقائيًا؟

قد تفعل ذلك إذا تضمن الرد ترويسة Location بالخيار المفضّل. وبدونها يرى الزائر قائمة الخيارات التي أرسلها الخادم في الجسم.

هل أستخدم 300 للنسخ اللغوية لموقعي؟

لا. امنح كل لغة رابطها الخاص، واربطها بـ hreflang، واترك الزوار يبدّلون اللغة بأنفسهم. وتنصح Google بعدم التحويل التلقائي حسب اللغة.

كيف تتعامل Google مع رمز الحالة 300؟

لا تصف وثائق Google لرموز الحالة الرمز 300، فمعاملته غير متوقعة. استخدم 301 أو 308 للنقل الدائم، و302 أو 307 للنقل المؤقت.