# 308 Permanent Redirect: تحويل 301 آمن للطرق

> 308 Permanent Redirect ينقل المورد إلى رابط جديد نهائيًا، ويلزم العملاء بتكرار طريقة الطلب نفسها هناك.

URL: https://yes-seo.com/ar/http-status-codes/308

**308 Permanent Redirect** يعني أن المورد انتقل نهائيًا وأن على العميل تكرار الطلب نفسه، بالطريقة والجسم نفسيهما، عند الرابط الجديد. تخيّله 301 صارمًا في أمر الطرق.

## التعريف والتاريخ

حُدّد 308 أول مرة عام 2014 (RFC 7238، ثم RFC 7538)، وهو الآن جزء من [RFC 9110، القسم 15.4.9](https://www.rfc-editor.org/rfc/rfc9110#section-15.4.9). للهدف URI دائم جديد، وعلى العملاء استخدامه مستقبلًا، ولا يجوز لوكيل المستخدم الذي يتبع التحويل أن يغيّر طريقة الطلب. وكما هو الحال مع 301، فإن 308 قابل للتخزين المؤقت افتراضيًا.

الفرق الوحيد عن [301](https://yes-seo.com/ar/http-status-codes/301) هو التعامل مع الطريقة: مع 301 قد يحوّل العملاء طلب POST إلى GET لأسباب تاريخية، أما مع 308 فيبقى POST كما هو. ونظيره المؤقت هو [307](https://yes-seo.com/ar/http-status-codes/307).

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

تُدرج [وثائق Google عن رموز حالة HTTP](https://developers.google.com/search/docs/crawling-indexing/http-network-errors?hl=ar) الرمز 308 معادلًا لـ 301: يتبعه Googlebot ويعدّه إشارة قوية إلى أن الهدف هو الرابط الأساسي. تتوحد الإشارات على العنوان الجديد، ويخرج الرابط القديم من النتائج مع الوقت. وتبقى نصائح Google العامة للتحويل سارية: قفزة واحدة بدل [سلسلة](https://yes-seo.com/ar/glossary/redirect-chain)، ووجهة ذات صلة، وإبقاء التحويلات سنة على الأقل بعد نقل الموقع.

وتشير Google أيضًا إلى أنها وإن عاملت عدة رموز تحويل بالطريقة نفسها، فإنها تعني أشياء مختلفة، فاختر الرمز الذي يصف ما يحدث لمصلحة العملاء الآخرين. وفي نقل الصفحات نقلًا دائمًا يصح كل من 301 و308.

## من أين تأتي تحويلات 308

- **Next.js**: التحويلات ذات `permanent: true` والتوحيد التلقائي للشرطة المائلة في النهاية تستخدم 308.

- **واجهات API** التي نقلت نقطة وتحتاج أن يواصل العملاء إرسال POST أو PUT.

- **قواعد مكتوبة يدويًا** اختار فيها المطوّر 308 عن قصد.

لم تتعرف قلة من العملاء القدامى جدًا على 308. نادرًا ما يشكل ذلك مشكلة اليوم، لكن إذا كان لا بد من دعم أجهزة قديمة فإن 301 أسلم لنقل الصفحات العادية.

## كيف ترسل 308

```
# Nginx: احتفظ بباقي المسار وسلسلة الاستعلام
location ~ ^/api/v1/(.*)$ {
    return 308 https://api.example.com/v1/$1$is_args$args;
}

# Apache mod_alias (يقبل أي رمز 3xx)
Redirect 308 /api/v1/ https://api.example.com/v1/

# Apache mod_rewrite
RewriteRule ^docs/(.*)$ https://docs.example.com/$1 [R=308,L]
```

## كيف تتحقق

تتبّع القفزات بـ [أداة فحص التحويلات](https://yes-seo.com/ar/redirect-checker) وتأكد أن السلسلة تنتهي بصفحة 200 في خطوة واحدة. وإذا كانت لديك دفعة روابط منقولة، فتسرد [أداة فحص حالة HTTP](https://yes-seo.com/ar/http-status-checker) كل رمز وهدف. ثم تأكد أن الوجهة تشير إلى نفسها كرابط أساسي بـ [أداة فحص canonical](https://yes-seo.com/ar/canonical-checker). وهذا رد 308:

```
HTTP/2 308
location: https://www.example.com/docs/
content-type: text/plain
content-length: 0
```

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

### هل تحويل 308 بجودة 301 للسيو؟

نعم. تُدرج وثائق Google الرمز 308 معادلًا لـ 301: كلاهما إشارة قوية إلى أن الهدف ينبغي أن يكون الرابط الأساسي.

### لماذا يعيد موقعي الرمز 308 بدل 301؟

غالبًا اختاره إطار العمل أو الاستضافة. فـ Next.js مثلًا يستخدم 308 للتحويلات الدائمة وتوحيد الشرطة المائلة في النهاية. وهذا لا يشكل مشكلة للسيو.

### هل تخزّن المتصفحات تحويلات 308 مؤقتًا؟

نعم، فهي كتحويلات 301 قابلة للتخزين المؤقت افتراضيًا، لذلك قد يعلق الخطأ في متصفحات الزوار. وأثناء اختبار تحويل جديد، أرسل مدة قصيرة في Cache-Control.

