ما الذي يجعل سلسلة إعادة التوجيه سليمة؟
سلسلة إعادة التوجيه هي تتابع الاستجابات من فئة 3xx التي يتبعها العميل، وكل ترويسة Location فيها تشير إلى العنوان التالي، حتى تجيب صفحة فعلية. والسلسلة السليمة قصيرة — خطوة واحدة في الحالة المثالية — وتستخدم رمزاً دائماً (301 أو 308) حين يكون النقل دائماً، وتحافظ على مسار العنوان القديم واستعلامه، ولا تنزل أبداً من HTTPS إلى HTTP ولا تدور في حلقة. فكل خطوة زائدة تكلّف رحلة ذهاب وإياب، وزواحف Google تتوقف بعد 10 خطوات.
كيفية استخدام تدقيق إعادة التوجيه في الموقع
- أدخل العنوان الذي تريد تدقيق إعادة توجيهه — عنواناً قديماً بعد نقل الموقع، أو رابط حملة، أو صيغة http:// من نطاقك.
- اختر الصفة التي تُرسَل بها الطلبات: الفاحص الافتراضي أو متصفح جوال أو Googlebot.
- اضغط «دقّق إعادة التوجيه». يعرض جدول الملاحظات المشكلات أولاً، ثم التحذيرات والملاحظات وما هو سليم أصلاً.
- استعن بجدول «كل استجابة» لرؤية رمز كل خطوة وترويسة Location وزمنها، ثم أصلح قواعد إعادة التوجيه على الخادم وأعد التدقيق.
مزايا تدقيق إعادة التوجيه في الموقع
- يطلب عنوان البداية وكل وجهة إعادة توجيه على حدة عبر خادم متقن — حتى ست استجابات — فتُظهر كل خطوة رمز حالتها وترويسة Location وزمنها وقيمتَي Server وCache-Control
- يصنّف كل خطوة: إعادة توجيه دائمة (301 و308) أو مؤقتة (302 و303 و307) أو رمز 3xx غير معتاد، أو الصفحة النهائية، أو خطأ
- يكشف المشكلات التي تكلّف ترتيب البحث والسرعة: حلقات إعادة التوجيه، والسلاسل التي تستمر بعد خمس خطوات، والنزول من HTTPS إلى HTTP، والتوجيه المؤقت، والسلاسل المنتهية بخطأ، والخطوات البطيئة، وإعادة التوجيه بلا ترويسة Location
- يفحص عملية النقل نفسها: هل يبقى المسار وسلسلة الاستعلام، وهل تُرسَل صفحة قديمة إلى الصفحة الرئيسية (soft 404)، وهل تقتصر خطوة على إضافة شرطة مائلة أخيرة أو تغيير حالة الأحرف
- يدقّق الترقية إلى HTTPS حين تبدأ بـ http://: أين تحدث، وهل تبقى أول إعادة توجيه على المضيف نفسه كما يشترط التحميل المسبق لـ HSTS، وهل ترسل الصفحة النهائية Strict-Transport-Security
- يقرأ صفحة HTML النهائية بحثاً عن meta refresh — وهي إعادة توجيه من جهة المتصفح — ويذكر مهلتها ووجهتها دون أن يتبعها
- يجلب بصفة فاحص متقن أو متصفح جوال أو User-Agent الخاص بـ Googlebot، ليكشف إعادة التوجيه التي تتغير بحسب العميل
المدخلات والمخرجات
المدخلات
- عنوان البداية — أي عنوان عام يبدأ بـ http:// أو https://؛ ويُضاف http:// إلى اسم المضيف المجرد، فتدخل الترقية إلى HTTPS في التدقيق.
- الجلب بصفة — ملف الطلب المستخدم في كل خطوة: فاحص متقن، أو User-Agent متصفح جوال، أو User-Agent الخاص بـ Googlebot (معلَن ذاتياً).
المخرجات
- الملخص — عدد عمليات إعادة التوجيه، وآخر رمز حالة، والزمن الإجمالي، والمضيفون الذين مرّت بهم السلسلة، وهل تنتهي على HTTPS، وعدد المشكلات.
- الملاحظات — كل مشكلة وتحذير وملاحظة وممارسة سليمة رُصدت، الأسوأ أولاً؛ ويمكن تنزيلها بصيغة CSV.
- كل استجابة — عنوان كل خطوة ورمزها ونوعها وترويسة Location كما أُرسلت وزمنها وServer وCache-Control؛ ويمكن تنزيلها بصيغة CSV.
- آخر استجابة — العنوان الذي تنتهي عنده السلسلة، ورمز حالته وContent-Type، وترويسة Strict-Transport-Security، وأي meta refresh.
مثال على تدقيق إعادة التوجيه في الموقع
صفحة عروض تُحوَّل إلى الصفحة الرئيسية بإعادة توجيه مؤقتة
الإدخال:
عنوان البداية: http://shop.example.com/sale?ref=mail · الجلب بصفة: فاحص متقن (الافتراضي)النتيجة:
Redirects 2 · Last status 200 (Final page) · Total time 640 ms · Hosts 1 · Ends on HTTPS Yes · Problems 0
1 http://shop.example.com/sale?ref=mail → 301 Permanent redirect → https://shop.example.com/sale?ref=mail (140 ms)
2 https://shop.example.com/sale?ref=mail → 302 Temporary redirect → / (180 ms)
3 https://shop.example.com/ → 200 Final page (320 ms)
Warning: Hop 2 is a temporary redirect (302); if the move is permanent, use 301 or 308.
Warning: The path /sale is not kept: the chain ends on the home page https://shop.example.com/.
Note: The query string of the start URL is dropped along the way.
Good: The plain-HTTP address is upgraded to HTTPS at hop 1.كيف تقرأ نتائج تدقيق إعادة التوجيه في الموقع
صفوف «مشكلة» تكسر السلسلة على الزوار أو الزواحف: حلقة، أو سلسلة لا تنتهي، أو نزول من HTTPS، أو إعادة توجيه بلا Location، أو سلسلة تنتهي برمز 4xx أو 5xx. أصلح هذه أولاً.
صفوف «تحذير» تعمل لكنها مكلفة: توجيه مؤقت حيث النقل دائم، أو ثلاث خطوات فأكثر، أو خطوة بطيئة، أو صفحة قديمة تُرسَل إلى الرئيسية، أو سلسلة تنتهي على HTTP غير مشفّر، أو meta refresh يؤدي عمل الخادم.
صفوف «ملاحظة» تصف خيارات قد تكون مقصودة — خطوتان، أو Location نسبية، أو تغيّر المضيف، أو خطوة للشرطة المائلة الأخيرة، أو غياب Strict-Transport-Security. وصفوف «سليم» تؤكد ما هو صحيح أصلاً.
تُقاس الأزمنة من خادم متقن وتشمل حلّ اسم المضيف، ويُبلَّغ عن كل خطوة تتجاوز ثانية واحدة. الزائر البعيد عن الموقع يرى أزمنة مختلفة، لكن كل خطوة تكلّف كل زائر رحلة ذهاب وإياب.
ملاحظة «التدقيق غير مكتمل» تعني أن الفاحص لم يستطع إرسال الطلب التالي، بسبب حد الطلبات أو عنوان مرفوض أو انتهاء المهلة أو خطأ في الشبكة. ولا تُحسب بين المشكلات، ويبقى ما بعد تلك الخطوة من السلسلة مجهولاً، ويعرض الملخص «—» في «آخر رمز حالة» و«ينتهي على HTTPS».
متى تستخدم تدقيق إعادة التوجيه في الموقع
- بعد نقل الموقع، شغّل العناوين القديمة من خريطة إعادة التوجيه وتأكد أن كلاً منها يصل إلى بديله بإعادة توجيه دائمة واحدة مع بقاء المسار.
- افحص صيغة http:// من النطاق قبل طلب إدراجه في قائمة HSTS للتحميل المسبق: يجب أن تبقى أول إعادة توجيه على المضيف نفسه وتنتقل إلى HTTPS.
- اعرف لماذا يُبقي Search Console عنواناً قديماً أو يبلّغ عن خطأ في إعادة التوجيه: ابحث عن الرموز المؤقتة والحلقات والسلاسل الطويلة وmeta refresh.
- دقّق روابط التسويق ورموز QR: تأكد أن معاملات الحملة تبقى بعد إعادة التوجيه وأن السلسلة لا تقف عند صفحة خطأ.
استكشاف الأخطاء وإصلاحها
- ينتهي التدقيق بملاحظة «التدقيق غير مكتمل» تحمل رسالة بلوغ حد الطلبات: كل خطوة جلبُ صفحة واحد على خادم متقن، وجلب الصفحات محدود بـ 10 في الدقيقة دون تسجيل الدخول (30 بعد تسجيل الدخول)، تتقاسمها كل الأدوات التي تجلب الصفحات؛ كما تسمح أدوات الإنترنت مجتمعةً بـ 120 طلباً في الدقيقة من العنوان الواحد. والتدقيق ذو الخطوات الست يستهلك ستاً من العشر، فانتظر دقيقة ثم أعد التشغيل.
- حلقة بين المضيف مع www ودونه، أو بين http وhttps: قاعدتان (إحداهما في التطبيق غالباً والأخرى في CDN) تختلفان على العنوان الأساسي. اجعلهما تشيران إلى الصيغة النهائية نفسها.
- تنتهي السلسلة بالرمز 403 أو بصفحة تحقّق: قد يجيب جدار حماية أو نظام لمكافحة الروبوتات العملاءَ الآليين بشكل مختلف. جرّب ملف الجوال؛ فإن رأى الزوار صفحة عادية فالسبب هو الحماية لا إعادة التوجيه.
- تنتهي خطوة بملاحظة «التدقيق غير مكتمل» لأن وجهتها رُفضت: لا يتصل خادم متقن بالعناوين الخاصة أو المحجوزة، ولا بالأسماء الداخلية (المضيف ذو المقطع الواحد، و.local و.internal و.corp وما يشبهها)، ولا بعنوان هذا الموقع نفسه، ولا بمضيفات workers.dev، ولا بالمنافذ خارج 80 و443 و8080 و8443 ومعظم النطاقات 3000–3999 و5000–5999 و8000–8999. وبعض هذه الوجهات يبلغها الزوار العاديون، فالرفض حدّ من حدود الفاحص وليس دليلاً على عطل في إعادة التوجيه، والملاحظة تذكر السبب بعينه.
الأسئلة الشائعة حول تدقيق إعادة التوجيه في الموقع
ما الفرق بين هذه الأداة وفاحص إعادة التوجيه وفاحص إعادة توجيه النطاق؟
فاحص إعادة التوجيه يتتبّع سلسلة واحدة بسرعة، وفاحص إعادة توجيه النطاق يقارن مداخل النطاق الأربعة (http وhttps، مع www ودونها). أما هذا التدقيق فيطلب كل خطوة من عنوان واحد على حدة، فيعرض ترويسات كل خطوة وزمنها، ويتحقق من بقاء المسار بعد النقل، ويقرأ الصفحة النهائية بحثاً عن meta refresh.
هل أستخدم 301 أم 302؟
استخدم 301 أو 308 حين يزول العنوان القديم نهائياً: فالمتصفحات تتذكر النقل، ومحركات البحث تعدّ الوجهة هي الصفحة التي تُفهرَس. واستخدم 302 أو 303 أو 307 فقط حين سيعود العنوان القديم. ويحافظ 308 و307 كذلك على طريقة الطلب ومحتواه، وهذا مهم للنماذج وواجهات API، بينما يسمح 301 و302 للعميل بتحويل POST إلى GET.
كم خطوة إعادة توجيه تُعدّ كثيرة؟
خطوة واحدة هي المثالية، وخطوتان شائعتان (من http إلى https ثم إلى www). كل خطوة تكلّف رحلة ذهاب وإياب قبل أن تبدأ الصفحة بالتحميل، وزواحف Google لا تتبع أكثر من 10 خطوات. يطلب التدقيق ست استجابات على الأكثر، ويبلّغ عن السلسلة التي ما زالت تعيد التوجيه بعد خمس خطوات.
لماذا يُعدّ تحويل الصفحات القديمة إلى الصفحة الرئيسية مشكلة؟
حين تُحوَّل صفحة محذوفة إلى الصفحة الرئيسية بدلاً من أقرب بديل لها، تعاملها محركات البحث غالباً كخطأ 404 مقنَّع (soft 404) وتُسقطها، ويفقد الزائر المحتوى الذي يبحث عنه. لذلك ينبّه التدقيق إلى كل سلسلة تبدأ من مسار عميق وتنتهي عند جذر الموقع.
هل يتبع التدقيق إعادة التوجيه عبر JavaScript؟
لا. يقرأ إعادة التوجيه في HTTP، ويقرأ في الصفحة النهائية وسم meta refresh ويبلّغ عنه دون أن يتبعه. أما إعادة التوجيه عبر JavaScript فلا تحدث إلا في متصفح يشغّل سكربتات الصفحة، فلا يمكن رؤيتها هنا.
كم مرة أستطيع تشغيل التدقيق في الدقيقة؟
كل خطوة جلبُ صفحة واحد على خادم متقن. ودون تسجيل الدخول يمكنك جلب 10 صفحات في الدقيقة (30 بعد تسجيل الدخول)، وهذا الرصيد مشترك بين كل الأدوات التي تجلب الصفحات؛ كما تسمح أدوات الإنترنت مجتمعةً بـ 120 طلباً في الدقيقة من العنوان الواحد. فالسلسلة ذات إعادتَي التوجيه تكلّف ثلاث عمليات جلب، وأطول تدقيق يكلّف ستاً. وإذا نفد الرصيد في منتصف السلسلة، انتهى التدقيق بملاحظة «التدقيق غير مكتمل» عند الخطوة التي تعذّر طلبها، بدلاً من الإبلاغ عن مشكلة في الموقع.
ملاحظات تقنية
كل خطوة طلبٌ واحد إلى POST /api/v1/internet/http/fetch مع followRedirects بقيمة false: يحلّ خادم متقن اسم المضيف عبر DNS over HTTPS، ويرفض العناوين الخاصة والمحجوزة، ويرسل مجموعة الترويسات الثابتة المختارة، ويعيد تلك الاستجابة وحدها بما فيها ترويسة Location كما أُرسلت. ثم يحلّ المتصفح قيمة Location نسبةً إلى عنوان الخطوة (كما ينص RFC 9110 في القسم 10.2.2)، ويحذف أي جزء بعد #، ويطلب الخطوة التالية، حتى ست استجابات إجمالاً.
يعرّف القسم 15.4 من RFC 9110 رموز إعادة التوجيه: 301 و308 دائمان، و302 و303 و307 مؤقتة، ولا يجيز 307 و308 تغيير طريقة الطلب. ويعدّ Google الرموز 301 و308 وmeta refresh الفوري إشارات دائمة عند اختيار الرابط الأساسي، والرموز 302 و303 و307 وmeta refresh المؤجَّل إشارات مؤقتة، ولا تتبع زواحفه أكثر من 10 خطوات.
يُبلَّغ عن الحلقة فور أن تشير Location إلى عنوان سبق طلبه في السلسلة؛ أما Location التي ليست عنواناً صالحاً، أو التي تشير إلى بروتوكول غير http وhttps، فتُنهي التدقيق بملاحظة بدلاً من طلب جديد.
الحدود ومنهجية القياس
تأتي الطلبات من خادم متقن على شبكة Cloudflare. فالمواقع التي تعيد التوجيه بحسب البلد أو اللغة أو الجهاز أو ملفات تعريف الارتباط قد ترسل الزوار الحقيقيين إلى مكان آخر.
إعادة التوجيه عبر JavaScript لا تُرى: يُبلَّغ فقط عن إعادة التوجيه في HTTP وعن meta refresh في صفحة HTML النهائية، دون اتباع meta refresh.
لا تُطلب أكثر من ست استجابات في التدقيق الواحد، ولا يُقرأ من الصفحة الأخيرة إلا أول 64 كيلوبايت عند البحث عن meta refresh.
الأمان والخصوصية
يتسلّم خادم متقن عنوان البداية وكل وجهة إعادة توجيه، ويطلب كلاً منها مرة واحدة بمجموعة ترويسات ثابتة دون أي من ملفات تعريف الارتباط الخاصة بك، ولا يحتفظ بشيء. وتُقرأ محتويات الصفحات كنص في متصفحك ولا تُعرض أبداً.
المراجع
- RFC 9110: HTTP Semanticsمعاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.
- Redirections in HTTP — MDNإعادة التوجيه في HTTP: رموز الحالة 3xx مع ترويسة Location، والدائمة (301 و308) مقابل المؤقتة (302 و303 و307)، وكيف تنشأ حلقات إعادة التوجيه.
- Redirects and Google Searchكيف يتعامل Google مع عمليات إعادة التوجيه الدائمة (301 و308) والمؤقتة (302 و303 و307) من جهة الخادم عند اختيار العنوان الأساسي لصفحة أو موقع انتقل.