301 مقابل 308: إعادة التوجيه الدائمة والحفاظ على الطريقة
إعادة التوجيه 301 و308 دائمة؛ والفرق الجوهري أن 308 يضمن بقاء طريقة HTTP والجسم عبر القفزة. يشرح هذا المقال سبب وجود 308، وكيف تعالجه Google وBing مثل 301، ومتى يكون اختياره صحيحًا تقنيًا.
اللغات
دليل واحد في هذه الصفحة
- أداة مباشرة ذات صلةHTTP Status & Redirect Checker
إعادة التوجيه 301 و308 دائمة، وتعامل Google وBing 308 مثل 301 في الزحف والفهرسة والإشارات؛ وتصف وثائق Google 308 بأنها «مكافئة لـ301»، ويقول Gary Illyes إنهما «مُدمجان مع 301»، ويؤكد Bing المعاملة نفسها. على مستوى البروتوكول، يضمن 308 إعادة إرسال طريقة الطلب نفسها (يبقى POST هو POST وتنتقل الحمولة)، بينما يظل 301 — من عصر HTTP/1.0 — ملتبسًا بشأن تحويل POST إلى GET، ولا تتناول RFC PUT/DELETE في أي من الاتجاهين. لذلك يظل 301 الافتراضي العملي لنقل الصفحات أو المواقع؛ والجأ إلى 308 عندما يجب الحفاظ على طلب غير GET، مثل نقطة API أو webhook أو نموذج أو تدفق POST للمصادقة. وحتى حينها لا يضمن الرمز وحده بقاء بيانات الاعتماد أو ملفات تعريف الارتباط أو قابلية التكرار؛ اختبر العميل الحقيقي. لا توجد أفضلية SEO لأي منهما، ومن يخبرك بنقل 301 جماعيًا إلى 308 يبيع خرافة دحضتها المحركات صراحة.
الخلاصة — إعادة التوجيه 301 و308 دائمة، وتعامل Google وBing مع 308 بالطريقة نفسها التي يتعاملان بها مع 301. والفرق التقني الأساسي هو ضمان الطريقة: إذ يَعِد 308 بأن يعيد المتصفح إرسال الطلب بالطريقة نفسها التي وصل بها (فتظل عملية إرسال النموذج عملية إرسال)، بينما لا يضمن 301 ذلك تمامًا مع POST. في إعادة توجيه عادية من صفحة إلى أخرى، استخدم 301. واستخدم 308 عندما لا يكون ما تعيد توجيهه صفحة عادية — مثل واجهة API أو نموذج — وتحتاج إلى وصول طريقة الطلب الأصلية سليمة (مع أن رمز الحالة وحده لا يضمن بقاء ملفات تعريف الارتباط أو بيانات الاعتماد أيضًا؛ اختبر العميل الحقيقي).
ما معنى هذين الرمزين
عندما يرسل الخادم طلبك من عنوان URL إلى آخر، يختم الاستجابة برمز حالة. ويعني رمزان منهما «انتقلت هذه الصفحة بشكل دائم»:
- 301 — «منقول بشكل دائم». أقدم رمز لإعادة التوجيه الدائم؛ وهو موجود منذ بدايات الويب.
- 308 — «إعادة توجيه دائمة». رمز أحدث (أُضيف عام 2015) يؤدي المهمة نفسها، مع ضمان إضافي واحد.
ذلك الضمان الإضافي هو القصة كلها. فكّر فيما يحدث عند إرسال نموذج: يرسل المتصفح طلب POST يحمل بياناتك. مع 301 التقليدي، يُسمح للمتصفح بأن يحوّل POST بهدوء إلى GET عادي عند اتباع إعادة التوجيه، فتضيع البيانات في الطريق. أما 308 فيمنع ذلك؛ فهو يقول: أعد إرسال الطلب نفسه تمامًا، بالطريقة والبيانات وكل شيء، إلى العنوان الجديد.
هل يهم ذلك لتحسين محركات البحث؟ لا.
هذا هو الجزء الذي يخطئ فيه الناس، لذا سأكون واضحًا: بالنسبة إلى البحث، 301 و308 متماثلان. تصف وثائق Google الخاصة بها 308 حرفيًا بأنها «مكافئة لـ 301». وقال Gary Illyes من Google الأمر بصراحة أكبر: «نحن ندمجها مع 301، لذلك لا نهتم حقًا.» وأكد Fabrice Canel من Bing الأمر نفسه: «يتعامل Bing مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301.» وقال Illyes بالنص: “we just merge that with 301 so we really don’t care.” (ترجمة) «نحن ندمجها مع 301، لذلك لا نهتم حقًا.»
لذلك تجاهل من يخبرك بأن 308 «أفضل لتحسين محركات البحث» أو بأن عليك تبديل كل عمليات 301 إلى 308 لتحصل على دفعة في الترتيب. لا توجد دفعة. محركات البحث قالت ذلك صراحة. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
إذن أيهما أستخدم؟
- إعادة توجيه صفحة عادية (نقلت عنوانًا، أو انتقلت إلى HTTPS، أو غيّرت النطاق)؟ → استخدم 301. فهو الافتراضي الذي تفهمه معظم الأدوات وشبكات CDN والإضافات مباشرة.
- إعادة توجيه شيء يحمل بيانات (نقطة نهاية API، أو عنوان إرسال نموذج، أو POST لتسجيل الدخول)؟ → استخدم 308 كي تبقى طريقة الطلب الأصلية بعد القفزة؛ ومع ذلك من المفيد التأكد من وصول بيانات الاعتماد وملفات تعريف الارتباط كما تتوقع، لأن رمز الحالة وحده لا يضمن ذلك.
إذا لم تكن تعيد توجيه واجهة API أو نموذج، فأنت على الأرجح تريد 301. هذه هي الخلاصة القصيرة.
هل تريد الصورة الكاملة — لماذا اختُرع 308، وما قالته Google وBing تحديدًا، وكيف تنفذ كل رمز؟ انتقل إلى تبويب Advanced.
الخلاصة — إعادة التوجيه 301 و308 دائمة، وتعالج Google وBing 308 بالطريقة نفسها التي تعالج بها 301؛ تقول وثائق Google إن 308 «مكافئة لـ
301»، ويقول Illyes «نحن ندمجها مع 301»، ويؤكد Canel أن Bing يعاملهما بالطريقة نفسها. ويورد المصدر قول Illyes: “we just merge that with 301,” (ترجمة) «نحن ندمجها مع 301». على مستوى البروتوكول، الفرق الأساسي هو الحفاظ على الطريقة: يضمن 308 (وفق RFC 7538 لعام 2015) أن يعيد العميل استخدام الطريقة نفسها على العنوان الجديد (وتنتقل الحمولة معه)، بينما ينتمي 301 إلى عصر HTTP/1.0 وهو ملتبس تحديدًا بشأن تحويل POST إلى GET — ولا تتناول المواصفة PUT أو DELETE في أي من الاتجاهين، فلا تعمم تحفظ POST عليهما. وُجد 308 ليكون الشقيق الدائم لـ307؛ فقد عرّف RFC 7231 رمزًا مؤقتًا يحفظ الطريقة (307) من دون رمز دائم، فجاء 308 لسد الفجوة. اجعل 301 افتراضيًا لنقل الصفحات أو المواقع أو HTTPS العادي (فهو أقدم وأوسع تعرفًا وأفضل دعمًا لدى CDN وCMS والإضافات). والجأ إلى 308 فقط عندما يجب أن تحافظ على طلب غير GET — نقاط API، وعناوين webhook، وأهداف النماذج، وتدفقات POST للمصادقة — وحتى حينها تحقق من بيانات الاعتماد وملفات تعريف الارتباط وقابلية التكرار لدى العميل الحقيقي بدل افتراض أن رمز الحالة يغطيها. لا يملك أي منهما أفضلية SEO؛ فهذه خرافة دحضتها المحركات صراحة.
يبدأ الفرق الدلالي أولًا
تخبر 301 و308 محركات البحث بالشيء نفسه عن الديمومة: انتقل المورد نهائيًا، وينبغي أن تصبح الوجهة canonical. أما الاختلاف فمحدد ميكانيكي واحد يتعلق بكيفية إعادة العميل إصدار الطلب.
- 301 (منقول بشكل دائم) هو رمز إعادة التوجيه الدائم الأصلي، ويعود إلى عصر HTTP/1.0. وكان، على نحو جوهري، ملتبسًا دائمًا بشأن وجوب الحفاظ على طريقة الطلب. عمليًا حوّلت المتصفحات والعملاء الآخرون تاريخيًا POST إلى GET عند اتباع 301؛ وهذا لا يضر صفحة عادية، لكنه يكسر بصمت كل ما يعتمد على الطريقة أو جسم الطلب.
- 308 (إعادة توجيه دائمة) هو النسخة الصارمة. فهو يضمن أن يعيد العميل استخدام الطريقة والجسم نفسيهما تمامًا على العنوان الجديد. يبقى POST طلب POST، وتنتقل الحمولة معه.
الجملة التي أشرح بها الأمر: 308 هو 301 مع ضمان إضافي بأن المتصفح لن يستبدل POST بـGET بهدوء. Evidence for this claim RFC 9110 defines both 301 and 308 as permanent redirects; 308 forbids changing the request method, while 301 permits POST-to-GET rewriting for historical reasons. Scope: HTTP semantics for 301 and 308 responses. Confidence: high · Verified: IETF: RFC 9110 §§15.4.2, 15.4.9 IETF: RFC 7538 §3 — 308 Permanent Redirect
لماذا وُجد 308 أصلًا: «307 الدائم» المفقود
هذا هو الجزء الذي يكاد لا يشرحه أحد، وهو أوضح طريقة لفهم المقارنة كلها. المسألة فجوة في المواصفة.
تأتي رموز إعادة التوجيه الحديثة في شبكة مؤقت/دائم، ومرن/صارم:
| مؤقت | دائم | |
|---|---|---|
| قد تتغير الطريقة (مرن) | 302 | 301 |
| الطريقة محفوظة (صارم) | 307 | 308 |
عرّف RFC 7231 الرمز 307 — إعادة توجيه مؤقتة تحفظ الطريقة — بوصفه النظير الصارم للرمز 302 المرن والملتبس. لكنه لم يعرّف نظيرًا دائمًا يحفظ الطريقة. كان هناك رمز مؤقت صارم بلا رمز دائم صارم. لذلك أضاف RFC 7538 (أبريل 2015) الرمز 308 لسد الفجوة تحديدًا: فهو بالنسبة إلى 301 مثلما يكون 307 بالنسبة إلى 302. وإذا قرأت مقارنة 302-vs-307 في هذه المجموعة، فهذه المقارنة 301-vs-308 هي العلاقة نفسها في الصف الأعلى — دائم مرن مقابل دائم صارم.
سبق 301 هذا الإطار كله. فقد جاء من HTTP/1.0، قبل أن تُصاغ فكرة «الحفاظ على الطريقة» رسميًا؛ وهذا بالضبط سبب التباسه وسبب اختراع 308 بدل الاكتفاء بتوضيحه.
ماذا يعني الحفاظ على «الطريقة والجسم» عمليًا
في الغالبية الساحقة من عمليات إعادة التوجيه — ينقر شخص على رابط، فيرسل المتصفح GET، ثم يرسله الخادم إلى مكان آخر — لا يوجد فرق عملي. فالمتصفحات الحديثة تحفظ GET مع 301 بلا مشكلة. ولا يظهر الفرق إلا عندما لا يكون الطلب GET عاديًا:
| نوع الطلب | خلف 301 | خلف 308 |
|---|---|---|
GET (صفحة عادية) | يُتبع كـGET (عمليًا لا مشكلة) | يُتبع كـGET |
POST (نموذج أو API) | قد يتحول بصمت إلى GET وتضيع الحمولة | يُعاد كـPOST مع بقاء الحمولة |
PUT / DELETE (API) | غير موثق في RFC — السماح التاريخي هو POST→GET فقط، لذا السلوك خاص بالعميل وغير متحقق منه | تُحفظ الطريقة (قاعدة الاتباع الآلي في 308 ليست خاصة بـPOST) |
لذلك يتركز خطر 301 في POST وأجسام الطلبات — النماذج وواجهات API وعناوين webhook وتدفقات المصادقة. والقول إن «301 سيكسر نموذجي دائمًا» مبالغة؛ فـGET العادي آمن. والاستثناء التاريخي الذي تذكره المواصفة لـ301 هو POST→GET تحديدًا؛ ولا توثق سلوك PUT أو DELETE، فلا تفترض طريقة تعامل أي رمز معهما من دون اختبار العميل الفعلي. والواضح في المواصفة هو أن 308 يمنع العميل من تغيير أي طريقة يعيدها — والقاعدة ليست مقصورة على POST. ما يُضمن هنا هو الحفاظ على الطريقة؛ ولا يعني ذلك ضمان بقاء الترويسات أو ملفات تعريف الارتباط أو بيانات الاعتماد أو المعاملة الأوسع بلا تغيير — فهذه أمور خاصة بالعميل والتكامل وتستحق الاختبار في كل ما يهم (انظر قائمة التحقق أدناه).
هل تعامل Google 301 و308 بشكل مختلف في SEO؟ لا.
هذا من أسئلة إعادة التوجيه النادرة التي تتفق فيها الوثائق وموظفو Google وBing جميعًا — وقد اتفقوا باستمرار لسنوات.
تضع وثائق رموز حالة HTTP لدى Google 301 و308 في المجموعة نفسها. يقول صف 301: “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (ترجمة) «يتبع Google إعادة التوجيه، وتستخدم أنظمة Google إعادة التوجيه إشارة قوية إلى أن وجهة إعادة التوجيه ينبغي معالجتها». أما صف 308 فعبارة واحدة: “Equivalent to 301.” (ترجمة) «مكافئة لـ301». وهذه أقوى عبارة قابلة للاستشهاد في الإجابة — إذ تساوي وثائق Google نفسها بين الرمزين حرفيًا. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
وتعزز دليل إعادة التوجيه ذلك؛ فهو يفتتح بالقول: “The 301 and 308 status codes mean that a page has permanently moved to a new location” (ترجمة) «تعني رموز الحالة 301 و308 أن الصفحة انتقلت بشكل دائم إلى موقع جديد»، ثم لا يرسم أي فرق آخر بينهما في أي موضع.
وقال موظفو Google الأمر نفسه، خارج الوثائق، لسنوات وقبل أن يُكتب فيها:
- Gary Illyes (2021): في نقاش حول معاملة Google لـ308 مثل 301، قال إن Google “just merge[s] that with 301 so we really don’t care.” (ترجمة) «نحن ندمجها مع 301، لذلك لا نهتم حقًا». وصاغ Barry Schwartz في تقريره الأمر باعتباره اللحظة التي أصبح فيها الموقف رسميًا: “Three years later it was added to the official Google documents that Google treats 308 redirects like 301 redirects — so now it is official.” (ترجمة) «بعد ثلاث سنوات أُضيف إلى وثائق Google الرسمية أن Google تعامل إعادة توجيه 308 مثل 301 — فأصبح الأمر رسميًا الآن».
- John Mueller (2018): قبل ذلك بثلاث سنوات — “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (ترجمة) «إذا استخدمته (إعادة توجيه 308) مثل 301 فسنُعامله كذلك». وهذا هو موقف Google غير الرسمي منذ زمن طويل قبل أن تلحق به الوثائق.
هناك تفصيل مهم في وثائق Google، وهو أطروحة المقال كله. فبعد مساواة الرمزين مباشرة تضيف Google: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (ترجمة) «تتعامل Google مع هذه الرموز بالطريقة نفسها، لكن تذكّر اختلافها الدلالي؛ واختر رمز الحالة الملائم لإعادة التوجيه كي تستفيد منه العملاء الأخرى، مثل قارئات الكتب الإلكترونية ومحركات البحث.» أي: اختر الرمز للصحة وقابلية التشغيل البيني، لا لـSEO — لأن SEO لا يهتم.
هل يعامل Bing 301 و308 بشكل مختلف؟ أيضًا لا.
تتناول معظم الكتابات هذا الموضوع من زاوية Google فقط، فتترك فجوة. وقد أجاب Fabrice Canel من Bing مباشرة في سبتمبر 2024، ردًا على سؤال حول معاملة Bing لإعادة التوجيه الدائمة 308 مثل 301: “Bing treats 308 redirects the same as 301 redirects.” (ترجمة) «يتعامل Bing مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301.» ولاحظ Schwartz أن ذلك يطابق ما قالته Google عام 2021.
إذن يسجل محركا البحث الكبيران الموقف بوضوح: 308 مطابق وظيفيًا لـ301 في الزحف والفهرسة وتجميع الإشارات. ولا يوجد محرك يعامل 308 على أنه أفضل لـSEO.
الخرافة التي ينبغي هدمها: «308 أفضل لـSEO / انقل كل عمليات 301»
سأكون مباشرًا لأن الصفحات الأقل جودة ما زالت توحي بذلك. لا توجد فائدة SEO لاختيار 308 بدل 301 في إعادة التوجيه المعتادة، ولا سبب لنقل عمليات 301 الموجودة جماعيًا إلى 308. هذا ليس رأيي؛ بل هو موقف محركات البحث المعلن:
- تقول وثائق Google إن 308 “equivalent to
301.” (ترجمة) «مكافئة لـ301». - Illyes: “we just merge that with 301.” (ترجمة) «نحن ندمجها مع 301».
- Canel: Bing “treats 308 redirects the same as 301 redirects.” (ترجمة) «يتعامل مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301».
لا يمنح تبديل 301→308 أي مكسب في الترتيب، ويضيف خطرًا على الأدوات القديمة أو أدوات الحافة التي لا تتعرف بصورة سليمة إلا على 301/302 (سأعود إلى ذلك أدناه). إنه تغيير شكلي بلا فائدة.
يجدر مقارنة ذلك بخرافة متنازع عليها حقًا: ادعاء أن عمليات 301 «تفقد أو تخفف PageRank». ما زالت هذه الدعوى تعود إلى الظهور وقد دحضتها Google مرارًا. لكن لاحظ الفرق: خرافة تخفيف PageRank هي مفهوم خاطئ تصححه Google، أما تكافؤ 301 و308 فـGoogle وBing والوثائق تقول الشيء نفسه عنه باستمرار منذ 2018. هذه مسألة محسومة لا خلافية. (القصة الكاملة لـPageRank موجودة في مقارنة 301-vs-302 في هذه المجموعة.)
متى يكون 308 هو الاختيار الصحيح تقنيًا
الجأ إلى 308 عندما يؤدي فقدان طريقة الطلب أو جسمه إلى كسر الوظيفة (لا الترتيب):
- نقاط نهاية API التي تنقلها، حيث يرسل العملاء
POST/PUT/DELETE. - عناوين webhook — يرسل الطرف الآخر حمولة POST لا يمكنك تحمل إسقاطها.
- أهداف إرسال النماذج — يرسل
<form>بيانات يجب أن تصل إلى العنوان الجديد سليمة. - تدفقات POST للمصادقة أو تسجيل الدخول حيث تكون بيانات الاعتماد أو الرموز داخل الجسم.
في POST تحديدًا، يخاطر 301 بتحويل العميل الطلب إلى GET وترك الجسم خلفه؛ أما 308 فيمنع هذا التحويل. وبالنسبة إلى PUT/DELETE لا تشرح RFC سلوك 301 في أي من الاتجاهين، فلا تفترض — فقاعدة 308 الخاصة بالحفاظ على الطريقة تظل سارية مهما كانت الطريقة.
قبل نقل واجهة API أو webhook أو تدفق مصادقة، لا يضمن رمز الحالة وحده بقاء كل شيء بعد القفزة؛ ومن المفيد فحص الأمور التالية ضمن التغيير نفسه:
- بيانات الاعتماد وملفات تعريف الارتباط وترويسات المصادقة. لا يقدم أي من الرمزين وعدًا هنا؛ اختبر العميل الفعلي (المتصفح أو SDK أو مرسل webhook) بدل افتراض أنها ستنتقل.
- السلوك عبر الأصول المختلفة. قد تغيّر إعادة التوجيه التي تعبر أصلًا ما يرسله المتصفح أو عميل fetch؛ تحقق من المستدعي الحقيقي، لا من
curlاليدوي فقط. - قابلية التكرار والآثار الجانبية المكررة. إذا لم يكن الطلب المتكرر idempotent (مثل webhook ينشئ سجلًا أو POST للدفع)، فقد يؤدي تكرار العميل للطلب بعد إعادة التوجيه إلى إطلاقه مرتين. تأكد من أن الوجهة تتعامل مع التكرار بأمان قبل الاعتماد على 308 كي «يعمل فحسب».
- اختبر النقل وجهّز التراجع مع مراعاة التخزين المؤقت. كل من استجابتي 301 و308 قابل للتخزين مؤقتًا بالاستدلال، ولذلك قد يستمر عميل أو وسيط خزّن الاستجابة القديمة في استخدامها بعد تغيير الرمز. اختبر بعميل جديد وآخر زار العنوان قبل التغيير، وضع خطة تراجع تراعي الحالة المخزنة بدل افتراض أن التبديل فوري.
متى يبقى 301 هو الافتراضي العملي
في كل ما هو GET عادي — وهو معظم ما يعيد متخصصو SEO توجيهه — يظل 301 هو الافتراضي المعقول:
- تغييرات الصفحات والعناوين العادية ونقل المحتوى.
- تغييرات النطاق ودمج المواقع.
- الانتقال من HTTP إلى HTTPS.
- توحيد نسخ
www/non-wwwأو أشكال الشرطة المائلة النهائية.
لماذا نستخدم الرمز الأقدم إذا كان 308 «أكثر صرامة»؟ لثلاثة أسباب عملية:
- تعرف أوسع. يسبق 301 الرمز 308 بعقدين، وتتعرف عليه الغالبية الساحقة من المتصفحات والوكلاء الوسيطين وشبكات CDN والزواحف وأدوات التحليلات الحالية والقديمة. أصبح 308 مدعومًا على نطاق واسع بعد أكثر من عقد، لكن ذيل العملاء القديمة وأدوات الحافة أقل يقينًا — فلا تفترض أن كل أداة في مكدسك تتعرف عليه قبل التحقق.
- واقع الأدوات. تضبط أدوات كثيرة افتراضيًا 301/302 أو تعرضهما بوضوح فقط. وتميل إضافات إعادة التوجيه في WordPress وبناة قواعد Cloudflare وبعض منصات serverless/CDN إلى 301/302، وقد تصدر بعض الأدوات 302/307 مهما ظننت أنك ضبطت. لمالك الموقع غير التقني، غالبًا ما يكون «ما تدعمه منصتي فعليًا» هو العامل الحاسم.
- لا شيء تكسبه. بما أن Google وBing تعالجان الرمزين بالطريقة نفسها في الزحف والفهرسة، فلا فائدة من اختيار الرمز الأقل دعمًا لنقل صفحة عادية.
القاعدة العملية: GET عادي → 301؛ طلب غير GET يجب الحفاظ عليه → 308.
كيفية تنفيذ كل واحد
الصياغة متشابهة تقريبًا — أنت تغيّر الرقم فقط.
Apache (.htaccess)
# 301 — permanent, for a normal page move
Redirect 301 /old-page /new-page
# 308 — permanent + method-preserving, for an API/form endpoint
RewriteEngine On
RewriteRule ^old-api/(.*)$ /new-api/$1 [R=308,L]nginx
# 301
location = /old-page {
return 301 /new-page;
}
# 308 — preserves POST body to the API
location = /old-api {
return 308 /new-api;
}تنطبق ملاحظة على كليهما: بعض شبكات CDN ومنصات الحافة وإضافات CMS لا تلتزم بـ308 الذي تضبطه، فتصدر 301/302/307 بدلًا منه. إذا كان الحفاظ على الطريقة مهمًا فعلًا، تحقق من الاستجابة التي ترسلها حقًا (نفّذ curl على العنوان واقرأ سطر الحالة) بدل الثقة بالإعداد. كما تختلف صياغة التوجيهات بين إصدارات الخادم والأطر؛ راجع وثائق إصدار Apache/nginx الحالي لديك (أو إطارك إذا كان هو الذي ينشئ إعادة التوجيه) ولا تفترض أن المقتطفات أعلاه مطابقة حرفيًا لإعدادك الحالي.
رافعة تتفوق على اختيار 301 مقابل 308: طول السلسلة
أيًا كان الرمز الذي تختاره، فإن الرافعة الأكبر للأداء هي إبقاء عمليات إعادة التوجيه قصيرة. تتبع Google نحو 10 قفزات لإعادة التوجيه قبل الاستسلام، وكل قفزة إضافية تعني زمنًا إضافيًا وفرصة لتسرب الإشارات. قفزة واحدة نظيفة بالرمز الصحيح أفضل من سلسلة من الرموز «الصحيحة تقنيًا». وجّه مباشرة إلى الوجهة النهائية.
أين يقع هذا الموضوع
301 و308 هما رمزا إعادة التوجيه الدائمان، ولكل منهما تعمق خاص في هذه المجموعة إلى جانب نظيريهما المؤقتين (302 وشقيقه الصارم 307) والعضو الآخر من عائلة 3xx وهو 303. وترتبط المقارنات بشبكة: 301-vs-302 زوج دائم مقابل مؤقت، و302-vs-307 زوج مؤقت مرن مقابل صارم، وهذه المقالة — 301-vs-308 — زوج دائم مرن مقابل صارم. وانتبه أيضًا إلى المخاطر التشغيلية: سلاسل إعادة التوجيه وحلقاتها. ولعائلة استجابات الخادم كاملة، راجع محور رموز حالة HTTP؛ فنوع إعادة التوجيه إحدى إشارات canonicalization التي يغطيها canonicalization.
خلاصة الذكاء الاصطناعي
خلاصة مكثفة لنسخة Advanced:
- كلاهما إعادة توجيه دائمة، وتعالج Google وBing 308 بالطريقة نفسها التي تعالج بها 301. تقول وثائق Google إن 308 «مكافئة لـ
301»، ويقول Illyes «نحن ندمجها مع 301»، ويؤكد Canel أن Bing «يتعامل مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301». ويورد المصدر قول Illyes: “we just merge that with 301,” (ترجمة) «نضم ذلك إلى 301». وفي النص الإنجليزي يقول أيضًا: “we just merge that with 301 so we really don’t care.” (ترجمة) «نضم ذلك إلى 301، فلا نرى داعيًا للاهتمام به.» ويؤكد Canel: “Bing treats 308 redirects the same as 301 redirects.” (ترجمة) «يتعامل Bing مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301.» - على مستوى البروتوكول، الفرق الأساسي هو الحفاظ على الطريقة. يضمن 308 (RFC 7538، 2015) أن يعيد العميل الطريقة نفسها إلى العنوان الجديد (وتنتقل الحمولة معه). أما 301 فمن عصر HTTP/1.0 وملتبس تحديدًا بشأن POST→GET — ولا تتناول RFC PUT أو DELETE، فلا تعمم التحفظ عليهما.
- سبب وجود 308: عرّف RFC 7231 رمزًا مؤقتًا يحفظ الطريقة (307) ولم يعرّف رمزًا دائمًا. يسد 308 الفجوة — فهو بالنسبة إلى 301 مثلما يكون 307 بالنسبة إلى 302.
- عمليًا لا يهم إلا للطلبات غير GET. طلبات GET العادية آمنة مع 301. والخطر تحديدًا في POST/PUT/DELETE وأجسام الطلبات — النماذج وواجهات API وعناوين webhook وتدفقات المصادقة.
- استخدم 308 عندما يجب الحفاظ على طريقة غير GET: نقاط API، وعناوين webhook، وأهداف النماذج، وتدفقات POST لتسجيل الدخول.
- استخدم 301 في كل ما عدا ذلك: نقل الصفحات وتغيير النطاق والانتقال إلى HTTPS وتوحيد www/non-www — فهو أقدم ومتعرف عليه عالميًا وأفضل دعمًا لدى CDN/CMS والإضافات.
- الخرافة التي يجب قتلها: 308 ليس «أفضل لـSEO»، ولا سبب لنقل عمليات 301 جماعيًا إلى 308. قالت المحركات ذلك باستمرار منذ 2018. اختر الرمز للصحة وقابلية التشغيل البيني، لا للترتيب (مع تحفظ Google نفسه على أنهما «مختلفان دلاليًا»).
- الرافعة الأكبر من اختيار الرمز: أبقِ سلاسل إعادة التوجيه قصيرة (تتبع Google نحو 10 قفزات)؛ ووجّه مباشرة إلى العنوان النهائي.
الوثائق الرسمية
وثائق من المصادر الأولية لمحركات البحث والمواصفة.
- رموز حالة HTTP وأخطاء الشبكة وGoogle Search — المرجع الذي يدرج 308 بوصفها «مكافئة لـ
301» ويشرح تحفظ «مختلفان دلاليًا، ومع ذلك يُعاملان بالطريقة نفسها». - إعادة التوجيه وGoogle Search — «تعني رموز الحالة
301و308أن الصفحة انتقلت بشكل دائم إلى موقع جديد»، مع تنفيذ الخادم وتحفظ إعادة توجيه JavaScript. - نقل المواقع مع تغيير العناوين — موضع إعادة التوجيه الدائم في النقل (أبقها سنة على الأقل).
- Search Off the Record — «لنتحدث عن إعادة التوجيه» (John Mueller وMartin Splitt) — الحلقة التي تغطي صراحةً «أي نوع من إعادة التوجيه هو 308 و307».
Bing / Microsoft
- نقل الموقع مع Bing — إرشادات Bing لنقل المواقع، وتقديم 301 بوصفه كافيًا للإشارة إلى النقل الدائم.
المواصفة / المرجع
- RFC 7538 — رمز حالة HTTP 308 (إعادة توجيه دائمة) — مواصفة 2015 التي أنشأت 308 بوصفها إعادة التوجيه الدائمة الحافظة للطريقة.
- MDN — إعادة التوجيه الدائمة 308 — لغة الحفاظ على الطريقة والجسم والمقارنة مع 301.
اقتباسات من المصدر
تصريحات مسجلة من Google وBing. وحيث تدعم الصفحة المصدر ذلك، يقفز كل رابط عميق إلى المقطع المقتبس.
وثائق Google — 308 مكافئة لـ301
- “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (ترجمة) «تتبع Google إعادة التوجيه، وتستخدم أنظمتها إعادة التوجيه إشارة قوية إلى ضرورة معالجة وجهة إعادة التوجيه.» (صف 301) — Google Search Central. الانتقال إلى الاقتباس
- “Equivalent to
301.” (ترجمة) «مكافئة لـ301». (صف 308 كاملًا) الانتقال إلى الاقتباس - “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (ترجمة) «مع أن Google تتعامل مع رموز الحالة هذه بالطريقة نفسها، تذكر أنها مختلفة دلاليًا. استخدم رمز الحالة المناسب لإعادة التوجيه كي تستفيد منه العملاء الآخرون، مثل قارئات الكتب الإلكترونية ومحركات البحث الأخرى.» الانتقال إلى الاقتباس
وثائق Google — كلا الرمزين يعنيان «انتقلت بشكل دائم»
- “The
301and308status codes mean that a page has permanently moved to a new location.” (ترجمة) «تعني رموز الحالة301و308أن الصفحة انتقلت بشكل دائم إلى موقع جديد.» الانتقال إلى الاقتباس
Gary Illyes من Google (2021) (عبر Search Engine Roundtable) — دمج 308 مع 301
- “we just merge that with 301 so we really don’t care iirc.” (ترجمة) «نحن ندمجها مع 301، لذلك لا نهتم حقًا، على ما أذكر.» التغطية
John Mueller من Google (2018) (عبر Search Engine Roundtable) — الموقف غير الرسمي السابق
- “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (ترجمة) «إذا استخدمته (إعادة توجيه 308) مثل 301 فسنُعامله كذلك.» التغطية
Fabrice Canel من Microsoft Bing (2024) — تكافؤ Bing
- “Bing treats 308 redirects the same as 301 redirects.” (ترجمة) «يتعامل Bing مع عمليات إعادة التوجيه 308 بالطريقة نفسها التي يتعامل بها مع عمليات إعادة التوجيه 301.» التغطية
#:~:text= مقابل الوثائق الحية. أما تصريحات Illyes لعام 2021 وMueller لعام 2018 وCanel لعام 2024 فنُشرت أصلًا على X/Twitter وأعيد عرضها هنا عبر تغطية Search Engine Roundtable المعاصرة؛ فتحقق منها مقابل الأصول قبل اعتمادها نهائيًا. تناقش حلقة Search Off the Record من Google «لنتحدث عن إعادة التوجيه» 307/308، لكن لم تُسترجع نسختها الرسمية، لذلك لا يُقتبس منها شيء مباشرة في هذه القطعة. أي إعادة توجيه دائمة أستخدم: 301 أم 308؟
بما أن Google وBing تعالجان 301 و308 بالطريقة نفسها في الزحف والفهرسة، فهذه الشجرة لا تتعلق بالترتيب أصلًا؛ بل بسؤال واحد: هل يحمل الطلب طريقة أو جسمًا يجب الحفاظ عليه؟ أجب عن ذلك وينتهي الأمر.
301 or 308 — which permanent redirect should I use?
الخلاصة القصيرة: GET عادي → 301؛ طلب غير GET يجب الحفاظ عليه → 308. بالنسبة إلى SEO الرمزان متبادلان، لذا فإن سؤال الطريقة هو القرار الوحيد.
شبكة الديمومة × الطريقة
اختر بين رموز إعادة التوجيه الأربعة الشائعة على محورين. يتبع علاج SEO المحور الأول؛ أما سلوك التطبيق فيتبّع الثاني.
| قد تتغير الطريقة | يجب الحفاظ على الطريقة | |
|---|---|---|
| مؤقت | 302 | 307 |
| دائم | 301 | 308 |
نفّذ القرار بهذا الترتيب:
- هل النقل دائم؟ إن لم يكن، ابقَ في الصف المؤقت. وإن كان نعم، استخدم الصف الدائم كي تكون الوجهة هي canonical المقصودة.
- هل يمكن أن يحمل الطلب طريقة أو جسمًا يجب أن يبقيا؟ لا يحتاج
GETالعادي في صفحة إلى الضمان الصارم. وقد يحتاجهPOSTأوPUTأوDELETEأو webhook أو نموذج أو استدعاء API. - اختر الخلية. نقل صفحة دائم عادي →
301. نقل نقطة نهاية دائمة غير GET →308. - تحقق من الاستجابة الصادرة. قد تختلف افتراضات المنصة عن الرمز الذي اخترته في واجهة أو إطار. اختبر الاستجابة والطلب بعد إعادة التوجيه، لا الإعداد فقط.
تجعل الشبكة سؤال SEO مملًا عمدًا: تعامل Google وBing مع 301 و308 بالطريقة نفسها. اختر بينهما من أجل صحة HTTP. وتلخّصها العبارة المصدرية: “we just merge that with 301 so we really don’t care.” (ترجمة) «نحن ندمجها مع 301، لذلك لا نهتم حقًا.»
301 مقابل 308 في لمحة
| السؤال | 301 Moved Permanently | 308 Permanent Redirect |
|---|---|---|
| الديمومة | دائم | دائم |
| معاملة Google/Bing لـSEO | الإشارة الدائمة نفسها | الإشارة الدائمة نفسها |
| طريقة الطلب/جسمه | قد تتغير، ولا سيما POST → GET | يجب الحفاظ عليهما |
| الأنسب | الصفحات العادية والنطاقات وHTTPS وتوحيد العناوين | واجهات API وعناوين webhook ونقاط النماذج/المصادقة ذات الطلب غير GET |
| الميزة الرئيسية | أدوات شاملة ودعم راسخ | ضمان صارم للطريقة والجسم |
| سبب سيئ للاختيار | «301 تمرر قيمة SEO أكبر» | «308 تمنح دفعة في الترتيب» |
القاعدة العملية: صفحة دائمة عادية بطلب GET → 301؛ نقل نقطة نهاية دائمة يجب أن يصل فيها طلب غير GET سليمًا → 308.
أدوات التحقق من إعادة التوجيه الدائمة
أدوات Patrick المجانية
- Redirect Checker — افحص الحالة الأولى الفعلية وكل قفزة والوجهة النهائية. استخدمه لاكتشاف منصة أصدرت
301أو302أو307حين ضبطت308. - Bulk HTTP Status Code Checker — افحص ما يصل إلى 500 عنوان صفحة وصدّر الرموز أو السلاسل المختلطة أثناء النقل.
تحقق من الحفاظ على الطريقة عندما يهم الأمر
curlبالطريقة الفعلية وحمولة اختبار آمنة — تأكد من بقاء الطلب المعاد توجيههPOST/PUT/DELETEومن وصول الجسم إلى الوجهة. استخدم نقطة نهاية تجريبية أو غير مدمرة.- سجلات التطبيق والبوابة — قارن معالجة الطريقة والجسم في المصدر والوجهة. يستطيع فاحص الحالة التحقق من
308؛ لكن النظام المستقبِل وحده يثبت وصول الطلب سليمًا. - لوحة Network في أدوات مطوري المتصفح — مفيدة لتدفقات النماذج، لكن اختبر عملاء API وwebhook غير المتصفح بصورة منفصلة، لأن سلوك العميل هو سبب أهمية الفرق.
اختبر نفسك: 301 مقابل 308
خمسة أسئلة عن الفرق بين عمليتي إعادة التوجيه الدائمتين وكيف تعالجهما محركات البحث. اختر إجابة لكل سؤال ثم تحقق منها.
مصادر تستحق وقتك
كتاباتي ذات الصلة
- 11 نوعًا من إعادة التوجيه وتأثيرها في SEO (Ahrefs، مع Joshua Hardwick) — عرضي الكامل لكل نوع من إعادة التوجيه. وتقول فقرة 308 إنه «مثل إعادة توجيه 301، باستثناء أنه يحتفظ بطريقة HTTP للطلب الأصلي، GET أو POST». وحكمي في هذه المقارنة تحديدًا: «هما متماثلان لأغراض SEO، لكن إذا كانت لديك بيانات تُرسل عبر النماذج فلا تريد التبديل بين GET وPOST». كما تعرض ترتيب التنفيذ الذي أفضله لإعادة التوجيه الدائمة: 308/301 أولًا، ثم تحديث meta/HTTP، ثم JavaScript.
- رموز حالة HTTP وتأثيرها في SEO (Ahrefs) — أذكر فيها أن 308 “has the same functionality as a 301 redirect, except you can’t switch between POST and GET,” (ترجمة) «تملك الوظيفة نفسها التي يملكها 301، باستثناء أنه لا يمكنك التبديل بين POST وGET»، وأن “308s are treated the same as 301s and consolidate forward.” (ترجمة) «عمليات 308 تُعامل مثل 301 وتجمع الإشارات إلى الأمام».
- دليل المبتدئين إلى SEO التقني — موضع إعادة التوجيه ضمن الصورة الأكبر.
محادثاتي
- Patrick Stox على SlideShare وSpeaker Deck — محادثات SEO التقنية، ويغطي بعضها إعادة التوجيه وcanonicalization. (تنبيهي الدائم: «هذا فهمي للأنظمة… ولن يكون كاملًا أو دقيقًا بنسبة 100%».)
رسمي
- Google — رموز حالة HTTP وGoogle Search (308 = «مكافئة لـ301») ودليل إعادة التوجيه.
- RFC 7538 — رمز حالة HTTP 308 (إعادة توجيه دائمة) — سبب وجود 308.
- MDN — إعادة التوجيه الدائمة 308 — مرجع الحفاظ على الطريقة والجسم.
من أرجاء الصناعة
- Google تعامل رسميًا مع إعادة توجيه 308 مثل 301 (Search Engine Roundtable، 2021) — اقتباس Gary Illyes «نحن ندمجها مع 301».
- قد تعامل Google عمليات 308 مثل 301 (Search Engine Roundtable، 2018) — موقف John Mueller السابق «سنعاملها كذلك».
- Bing يعامل إعادة توجيه 308 مثل 301 (Search Engine Roundtable، 2024) — تأكيد Fabrice Canel.
- Google تدحض خرافات أنواع إعادة التوجيه (Search Engine Journal) — «استخدم نوع إعادة التوجيه الصحيح تقنيًا».
- إعادة التوجيه الدائمة 308: معناها ومتى تستخدمها (Semrush) — عرض متين للمقارنة.
- r/TechSEO — مجتمع إصلاح مشكلات إعادة التوجيه وcanonicalization.
سجل التغييرات
تم التحديث في 22 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 6 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 6 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 17 يوليو 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
Try it live
These are real endpoints on this site — not a simulation.
Hit them from the button, open them in a new tab, or
curl -i them from your terminal, and the server answers with the actual status code this article is about.