ما هي إعادة التوجيه؟
إعادة التوجيه تقنية تحول الزوار ومحركات البحث آلياً من URL إلى آخر. عند طلب المستخدم URL الأصلي، يرد الخادم بتعليمات للانتقال إلى وجهة مختلفة. وتعد التحويلات أساسية لصيانة المواقع ونقل النطاقات وإعادة بناء URL والحفاظ على قيمة SEO عند تغير مواضع المحتوى.أنواع إعادة توجيه HTTP
301 - نقل دائم
يشير إلى انتقال الصفحة بصورة دائمة:
HTTP/1.1 301 Moved Permanently
Location: https://newsite.com/page
- ينقل قيمة SEO (قوة الروابط) إلى URL الجديد.
- تحدث محركات البحث فهرسها.
- قد تخزن المتصفحات التحويل.
- الأفضل لتغييرات URL الدائمة.
302 - نقل مؤقت (Found)
يشير إلى انتقال مؤقت:
HTTP/1.1 302 Found
Location: https://temporary-url.com/page
- لا ينقل قيمة SEO بصورة دائمة.
- تواصل محركات البحث فهرسة URL الأصلي.
- لا تخزن المتصفحات التحويل بالقدر نفسه.
- استخدمه للتغييرات المؤقتة فقط.
307 - نقل مؤقت صارم
إصدار HTTP/1.1 يحافظ على طريقة الطلب:
- يحافظ على طريقة POST أو GET.
- أشد صرامة من 302.
- يستخدم لتحويلات API.
308 - نقل دائم صارم
تحويل دائم في HTTP/1.1 يحافظ على الطريقة:
- يحافظ على طريقة الطلب مثل 307.
- دائم مثل 301.
- تدعمه المتصفحات الحديثة.
حالات استخدام إعادة التوجيه الشائعة
توحيد النطاق
حوّل جميع التنويعات إلى النطاق الأساسي:
example.com → www.example.com (or vice versa)
http:// → https://
oldbrand.com → newbrand.com
تغييرات بنية URL
عند إعادة تنظيم بنية الموقع:
/old-page/ → /new-page/
/category/page → /new-category/page
/blog/2020/post → /articles/post
نقل المحتوى
نقل المحتوى بين منصات أو نطاقات:
blog.example.com/post → example.com/blog/post
oldsite.com/* → newsite.com/*
فرض HTTPS
تأمين كل الزيارات:
http://example.com → https://example.com
طرق تنفيذ إعادة التوجيه
إعداد الخادم (Apache)
# .htaccess
Redirect 301 /old-page https://example.com/new-page
# Multiple redirects with RewriteRule
RewriteEngine On
RewriteRule ^old-path/(.*)$ /new-path/$1 [R=301,L]
# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
إعداد الخادم (Nginx)
# Single redirect
location /old-page {
return 301 https://example.com/new-page;
}
# Pattern-based redirect
location ~* ^/old-path/(.*)$ {
return 301 /new-path/$1;
}
# Force HTTPS
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
إعادة توجيه JavaScript (من جهة العميل)
// Immediate redirect
window.location.href = "https://example.com/new-page";
// Delayed redirect
setTimeout(() => {
window.location.replace("https://example.com/new-page");
}, 3000);
تحديث Meta (HTML)
<meta http-equiv="refresh" content="0;url=https://example.com/new-page">
*ملاحظة: لا يوصى به لـSEO*
اعتبارات SEO
أفضل الممارسات
1. استخدم 301 للتغييرات الدائمة: ينقل إشارات الترتيب.
2. تجنب سلاسل التحويل: يبطئ A ← B ← C ← D الزحف.
3. حدث الروابط الداخلية: وجهها إلى الوجهات النهائية.
4. راقب أداء التحويل: تتبعه في التحليلات.
5. اضبط canonical الصحيح: يكمل التحويلات.
أثر إعادة التوجيه على SEO
| نوع التحويل | نقل قوة الروابط | تحديث الفهرس |
|---|---|---|
| 301 | ~90-99% | نعم |
| 302 | ضئيل | لا |
| Meta refresh | متغير | بطيء |
| JavaScript | محدود | غير موثوق |
مشكلات إعادة التوجيه الشائعة
سلاسل إعادة التوجيه
تحويلات متتابعة متعددة:
A → B → C → D (Bad: 4 hops)
A → D (Good: Direct)
حلقات إعادة التوجيه
دورة تحويل لا نهائية:
A → B → A → B → ... (Error: ERR_TOO_MANY_REDIRECTS)
تحويلات ومحتوى مختلط
صفحة HTTPS تعيد التوجيه إلى HTTP، أو العكس، من دون سلسلة مضبوطة بصورة صحيحة.
تعد التحويلات المنفذة بصورة صحيحة ضرورية للحفاظ على تجربة المستخدم وترتيب محركات البحث أثناء أي تغييرات في URL أو النطاق.