الدليل الشامل لإعادة التوجيه HTTP
المحتويات
ما هي إعادة التوجيه HTTP؟
إعادة التوجيه HTTP (إعادة توجيه URL) هي آلية تنقل المستخدم تلقائياً من رابط إلى آخر. عندما تطلب صفحة، قد يستجيب الخادم برمز حالة 3xx وترويسة Location تشير إلى العنوان الجديد — يتبع المتصفح ذلك العنوان تلقائياً.
تُستخدم إعادة التوجيه في سيناريوهات شائعة عديدة:
- نقل الموقع إلى نطاق جديد
- إعادة هيكلة مسارات URL
- الترقية من HTTP إلى HTTPS
- تقديم روابط مختلفة للجوال وسطح المكتب
- خدمات اختصار الروابط (bit.ly، t.co، إلخ)
- اختبارات A/B وتقسيم حركة المرور
كيف تعمل إعادة التوجيه
طلب العميل:
GET /old-page HTTP/1.1
Host: example.com
استجابة الخادم:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page
أنواع إعادة التوجيه
301 Moved Permanently
301 هو أكثر أنواع إعادة التوجيه شيوعاً. يخبر العملاء ومحركات البحث أن المورد انتقل بشكل دائم إلى رابط جديد.
✅ متى تستخدم 301
- نقل النطاق الدائم
- إعادة هيكلة URL الدائمة
- ترقية HTTP → HTTPS
- دمج المحتوى المكرر
SEO: تنقل محركات البحث قوة الروابط (PageRank) إلى الرابط الجديد وتحدث الفهرس. يكمل Google هذه العملية عادةً خلال أسابيع قليلة.
302 Found (مؤقت)
302 يشير إلى انتقال مؤقت. يبقى الرابط الأصلي صالحاً ومفهرساً.
303 See Other
303 يجبر العميل على استخدام GET للطلب المُعاد توجيهه. يُستخدم بشكل أساسي بعد POST لمنع إعادة إرسال النموذج (نمط Post/Redirect/Get).
307 Temporary Redirect
307 مشابه لـ 302 لكنه يحافظ بصرامة على طريقة الطلب الأصلية.
308 Permanent Redirect
308 هو نظير 301 مع الحفاظ على طريقة الطلب. للطلبات GET، يتصرف 301 و308 بشكل متطابق.
إعادة التوجيه من جانب العميل
Meta refresh
<meta http-equiv="refresh" content="0; url=https://example.com/new-page">
لا يُنصح به لـ SEO — قد لا تتعامل معه محركات البحث بشكل صحيح.
إعادة توجيه JavaScript
window.location.href = "https://example.com/new-page";
⚠️ قيود إعادة التوجيه من جانب العميل
لا تحمل إعادات التوجيه من جانب العميل رموز حالة HTTP، لذا لا تستطيع محركات البحث تحديد ما إذا كان الانتقال دائماً أم مؤقتاً. فضّل دائماً إعادة التوجيه من جانب الخادم.
متى تستخدم أي نوع
- تغيير النطاق الدائم → 301
- صيانة مؤقتة → 302
- HTTP → HTTPS → 301
- توحيد www / بدون www → 301
- بعد إرسال نموذج → 303
- اختبار A/B → 302
- إعادة توجيه دائمة مع الحفاظ على الطريقة → 308
- إعادة توجيه مؤقتة مع الحفاظ على الطريقة → 307
التأثير على SEO
نقل قوة الروابط
إعادة التوجيه 301 تنقل تقريباً كل قوة الروابط إلى الرابط الجديد. صرح Google أن 301 ينقل قريباً من 100% من PageRank. 302 لا ينقل القوة — يحتفظ الرابط الأصلي بإشارات الترتيب.
تأثير سلسلة إعادة التوجيه
كل قفزة إضافية في السلسلة (A → B → C) تزيد التأخير وقد تُضعف القوة. يتبع Google حتى ~10 قفزات، لكن السلاسل الأطول من 3 هي علامة تحذير. أعد التوجيه دائماً مباشرة من الرابط الأصلي إلى الوجهة النهائية.
🎯 أفضل ممارسة
استخدم إعادة التوجيه المباشرة (A → C). راجع سلاسلك بانتظام واختصرها كلما أمكن.
المشاكل الشائعة والحلول
1. حلقات إعادة التوجيه
العرض: المتصفح يعرض "عدد كبير جداً من إعادات التوجيه".
الأسباب الشائعة: تعارض إعدادات HTTPS بين CDN والخادم الأصلي، إعدادات siteurl خاطئة في WordPress، قواعد إعادة كتابة متعارضة في Nginx/Apache.
# التشخيص باستخدام curl
curl -I -L https://example.com
أو استخدم 301check.com لتصور السلسلة الكاملة.
2. فقدان سلسلة الاستعلام
تأكد من أن قواعد إعادة التوجيه تحافظ على معاملات الاستعلام. في Nginx، استخدم $request_uri أو $is_args$args.
3. إعادات التوجيه 301 المخزنة مؤقتاً
تخزن المتصفحات إعادات التوجيه 301 مؤقتاً. إذا غيرت إعادة التوجيه، قد يرى المستخدمون الوجهة القديمة. اختبر في نافذة خاصة أو امسح الذاكرة المؤقتة.
أفضل الممارسات
- استخدم 301 للتغييرات الدائمة، 302 للمؤقتة
- إذا لم تكن متأكداً، ابدأ بـ 302 — يمكنك الترقية إلى 301 لاحقاً
- تجنب سلاسل إعادة التوجيه؛ أعد التوجيه مباشرة إلى الرابط النهائي
- حافظ على سلاسل الاستعلام في قواعد إعادة التوجيه
- راقب عبر Google Search Console بعد عمليات النقل الكبيرة
- وثّق جميع قواعد إعادة التوجيه ليعرف الفريق ما هو مُعد
- اختبر باستخدام 301check.com قبل وبعد أي تغيير