وصفة خريطة التوجيه: ترتيب عناوين URL القديمة حسب الروابط التي تحتفظ بها
خريطة التوجيه هي قائمة أولويات، وليست جدول بيانات يحتوي على كل عنوان URL. ابدأ بالصفحات التي تربط إليها المواقع الأخرى، وستصبح بقية الخريطة أسهل.
فريق أبحاث ArchiLinks ·

لماذا الترتيب حسب الروابط
تبني الفرق خرائط التوجيه من بيانات الزحف. إنها شاملة. لكنها تعامل أيضًا صفحة أخبار من عام 2014 منسية كما لو كانت الصفحة الرئيسية.
عندما تتحقق من الروابط الخلفية لموقعك وترتب الصفحات حسب عدد النطاقات التي تربط إليها، يظهر نمط في معظم عمليات الترحيل: بضع عشرات من عناوين URL تحتفظ بمعظم القيمة الخارجية. يتم مطابقة هذه العناوين يدويًا، ومراجعتها مرتين، واختبارها أولاً.
يتبع كل شيء القواعد. يتم مطابقة المجلدات حسب النمط، وإزالة معلمات التتبع، ويمكن لعناوين URL اليتيمة التي لا تحتوي على روابط أو حركة مرور أن تُرجع رمز 410 إذا قررت ذلك. اربط المخرجات مع قائمة التحقق من الترحيل بحيث تخضع الخريطة للاختبار قبل الإطلاق وإعادة الفحص في اليوم 45، ومع سكربتات API لجدولة السحب الشهري.
الخطوة 1: استخرج الصفحات المرتبطة
مكالمة واحدة تُرجع ما يصل إلى 1000 صف وتكلف 2 رصيد، بغض النظر عن عدد الصفوف. أسماء الحقول أدناه هي مثال؛ انظر إلى استجابة حقيقية واحدة وعدل المفاتيح.
import csv, requests
BASE = "https://archilinks.com/api.php"
KEY = "sk_live_..."
def call(action, **params):
r = requests.get(BASE, params={"action": action, "key": KEY, **params}, timeout=30)
r.raise_for_status()
return r.json()
data = call("toppages", q="old-shop.com", per=1000)
rows = next(v for v in data.values() if isinstance(v, list))
with open("linked-pages.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["old_url", "links", "new_url"])
for row in rows:
w.writerow([row.get("url"), row.get("backlinks"), ""])الخطوة 2: املأ العمود الثالث
المطابقة بالمعنى
تذهب صفحة المنتج إلى نفس المنتج، أو إلى فئته إذا كان المنتج قد زال. لا تذهب إلى الصفحة الرئيسية إلا إذا كانت الصفحة هي الصفحة الرئيسية.
دع شخصًا ثانيًا يتحقق من أفضل 50
الشخص المتعب في الساعة 6 مساءً يربط دليلًا حول canonicals بفهرس المدونة. المراجع يلاحظ ذلك.
قواعد الذيل الطويل
اكتب أنماطًا للمجلدات وأزل معلمات التتبع. احتفظ بكل قاعدة في التحكم بالإصدارات مع تعليق يشرح السبب.
الخطوة 3: أخرج قواعد الخادم
يقرأ nginx ملف الخريطة جيدًا، ويتوسع لآلاف الأسطر.
# /etc/nginx/redirects.map (generated from the csv)
/old/guide-canonicals /guides/canonical-tags;
/products/blue-widget /shop/widgets/blue;
# in nginx.conf, http context
map $request_uri $new_uri {
default "";
include /etc/nginx/redirects.map;
}
# in the server block of the old host
if ($new_uri) {
return 301 https://new-shop.com$new_uri;
}
الخطوة 4: اختبر كل خطوة
أفشل خط الأنابيب في أي شيء ليس توجيه 301 واحد إلى حالة 200.
while IFS=, read -r old new; do
out=$(curl -s -o /dev/null -w "%{http_code} %{num_redirects} %{url_effective}" -L "https://old-shop.com$old")
echo "$old -> $out"
done < redirect-pairs.csv | grep -v "^.* -> 200 1 " && echo "FIX ABOVE"الأخطاء التي سنبحث عنها أولاً
| العرض | السبب المحتمل | الحل |
|---|---|---|
| سلاسل من خطوتين أو ثلاث خطوات | قواعد قديمة مكدسة فوق قواعد جديدة | وجّه القاعدة القديمة مباشرة إلى عنوان URL النهائي |
| كل شيء يسقط في الصفحة الرئيسية | قاعدة التقاط شاملة كسولة | طابق حسب الموضوع؛ قد تعامل جوجل التوجيهات الجماعية إلى الصفحة الرئيسية على أنها أخطاء 404 ناعمة |
| فقدان سلاسل الاستعلام | القاعدة تتجاهل الحجج | انقل المعلمات التي تغير المحتوى؛ أزل الباقي |
| أعلى عنوان URL يُرجع 404 بعد الإطلاق | تم استبعاده من ملف CSV | أعد تشغيل السحب وقارن الفرق مع الخريطة الحية |

أي عناوين URL تستحق صفًا تم مطابقته يدويًا
ليس كل عنوان URL يستحق شخصًا. الانقسام المفيد هو حسب النطاقات المرجعة: أي عنوان URL لديه عدة مواقع خارجية تربط إليه يتم مطابقته يدويًا، ويتبع الباقي مجموعة قواعد. لنفترض أن لديك 4000 عنوان URL قديم و60 منها تحتفظ بمعظم الروابط الخارجية. تأخذ تلك الستون بعد ظهر من المراجعة، بينما تأخذ الـ 3940 الأخرى نمطًا واختبارًا.
احتفظ بالحد في السكربت، وليس في رأس شخص ما. خمسة نطاقات مرجعية هي بداية معقولة لموقع متوسط. ابدأ من هناك. انخفض الرقم عندما يكون للموقع بأكمله روابط قليلة، وارفعه عندما يصبح القائمة اليدوية طويلة جدًا لمراجع واحد.
فصل الصفوف المطابقة يدويًا عن الصفوف المطابقة بالقواعد
تحتوي الصفوف المطابقة يدويًا على مراجع مسمى وملاحظة حول سبب اختيار الهدف. الصفوف المطابقة بالقواعد تحصل على نمط يتم اختباره ضد المجلد بأكمله، بحيث يظهر الاستثناء في تقرير الاختبار قبل الإطلاق بدلاً من مخطط الحركة بعد ذلك.
تسبب الحالات المختلطة معظم الارتباك. المنتج الذي تم إيقافه واستبداله بمنتج آخر يذهب إلى المنتج الجديد. منتج منتهي لا يوجد له بديل ينتمي إلى فئته، وليس إلى الصفحة الرئيسية.
استخدام سحب ثانٍ لمعرفة ما الذي تغير
شغل refdomains للمضيف القديم قبل أن تكون الخريطة نهائية، ثم مرة أخرى بعد الإطلاق، وطابق القوائمتين حسب النطاق. النطاق المرجع المفقود من السحب الثاني هو سؤال لمالك الرابط، وليس سببًا للذعر، لأن الرابط المزال قد يستغرق وقتًا ليظهر في الفهرس.
احتفظ بكلا الملفين جنبًا إلى جنب في مجلد الترحيل، مع التاريخ في كل اسم. يخبرك الفرق أين تبحث، والخريطة تخبرك ماذا فعلت حيال ذلك.
القرار بشأن عناوين URL التي لا تحتوي على روابط
عناوين URL اليتيمة التي لا تحتوي على روابط أو حركة مرور هي الجزء السهل. ارجع 404 واضح أو 410 عندما يكون المحتوى قد زال للأبد، وقم بالتوجيه فقط عندما يكون هناك بديل قريب، بحيث يهبط الزوار ومحركات البحث في مكان مفيد.
عندما تكون غير متأكد، اترك ملاحظة قصيرة في الخريطة وارجع بعد أسبوع واحد من السجلات. يظهر سجل الخادم أي العناوين القديمة لا تزال تتلقى طلبات، وهو أفضل دليل ستحصل عليه.
كيف تتناسب الخريطة مع الإصدار
تتغير خريطة التوجيه مع الموقع. ضع ذلك في الاعتبار. تظهر صفحات جديدة، ويتم إعادة تسمية صفحات قديمة، ويمكن أن يؤدي تغيير القالب إلى كسر قاعدة بدت آمنة الشهر الماضي. تعامل مع الخريطة ككود، مع ملف واحد في التحكم بالإصدارات، ومراجعة قبل كل نشر، وتشغيل اختبار على كل تغيير.
احتفظ بالخريطة في طبقة واحدة قدر الإمكان. التوجيهات المنتشرة عبر التطبيق وCDN وCMS هي كيف تظهر السلاسل، والسلاسل صعبة الاكتشاف بدون زحف كامل.
أين يجب أن تعيش القواعد
خريطة الخادم سريعة وسهلة الاختبار. إضافة CMS مفيدة لعدد قليل من الصفحات، لكن من الصعب تدقيقها على نطاق واسع. أياً كنت ستختار، يجب أن يقرأ اختبار الخطوة الواحدة من نفس المكان.
إذا وجهت طبقتان نفس عنوان URL، فإن التقرير يشير إلى سلسلة. أزل التكرار من الطبقة التي تخطط للتقاعد منها.
الاختبار على المضيف الحقيقي بعد كل تغيير
شغل اختبار الخطوة في بيئة الاختبار، ثم في الإنتاج، بعد كل تغيير في ملف القاعدة. القاعدة التي تمر في بيئة الاختبار قد تفشل بعد ذلك بمجرد أن يحتفظ التخزين المؤقت باستجابة قديمة، لذا فإن التشغيل الثاني مهم.
احفظ المخرجات مع التاريخ. عندما ينكسر عنوان URL رئيسي بعد أشهر، تظهر النتيجة القديمة ما إذا كانت القاعدة قد تغيرت أم الموقع. قائمة التحقق من الترحيل توضح متى ينتمي هذا الاختبار، وتشغيله أولاً يجعل الفحص التالي قابلاً للمقارنة مع هذا.
مراجعة تغيير في ملف القاعدة
سمِّ مراجعًا واحدًا لتغييرات الخريطة، واطلب من هذا الشخص التحقق من ثلاثة أشياء: ما إذا كان كل هدف لا يزال يطابق الموضوع، وعدد الخطوات التي ينشئها القاعدة، وما إذا كان النمط ضيقًا بما يكفي ليلامس فقط عناوين URL التي كُتبت من أجلها. التغيير الذي لم يراجعه أحد هو الأكثر احتمالاً لبدء سلسلة.
اطلب نفس المراجعة عندما يتغير الموقع نفسه. فئة جديدة تمتص مجلدًا قديمًا يمكن أن تجعل قاعدة صحيحة تشير إلى مكان خاطئ دون أن يعدل أحد الخريطة.
احفظ ملاحظة المراجع بجانب التغيير. بعد ستة أشهر، تشرح الملاحظة قاعدة تبدو عشوائية بخلاف ذلك، وتوفر تحقيقًا ثانٍ في نفس السؤال.
اختبار عينة قبل التشغيل الكامل
قبل تشغيل القائمة بأكملها، اختر عينة من خمسين صفًا تخلط بين الصفحات الأعلى ارتباطًا وبعض الصفحات العادية. شغل اختبار الخطوة على هذه العينة أولاً. العينة سريعة القراءة، ويظهر خطأ القاعدة فيها قبل أن يظهر في الملف الكامل.
تضمين صف واحد على الأقل من كل نمط قاعدة، وصف واحد من كل مجموعة مطابقة يدويًا. النمط الذي يغطي مجلدًا يحتوي على مئتي عنوان URL يتم اختباره فقط بالصفوف التي تقع بالصدفة في العينة، لذا اخترها عن قصد.
الحفاظ على ملفات القواعد صغيرة
ملف القاعدة الذي ينمو ليحتوي على أكثر من بضع مئات من الأنماط يصبح صعب المراجعة. قسمه حسب قسم الموقع، واحتفظ بكل ملف قصيرًا بما يكفي ليقرأه المراجع في جلسة واحدة.
أزل القاعدة في اليوم الذي يختفي فيه مجلدها. القواعد القديمة التي تُترك وراءها هي التي ترسل الحركة لاحقًا إلى سلسلة.
قبل أن تصبح الخريطة حية
- كل صف يحتوي على عنوان URL جديد، أو 404 أو 410 متعمد.
- لا يكون الهدف نفسه توجيهًا.
- تمت مراجعة أفضل 50 عنوان URL من حيث النطاقات المرجعة من قبل شخص ثانٍ.
- يتم نقل معلمات الاستعلام التي تغير المحتوى.
- ملف القاعدة موجود في التحكم بالإصدارات، مع تعليق على كل نمط.
- يتم حفظ خط أساس للنطاق المرجع لمقارنة ما بعد الإطلاق.
أسئلة التوجيه التي تتكرر باستمرار
- هل يجب أن أزيل التوجيهات القديمة بعد عام؟
- تحافظ العديد من فرق الترحيل عليها لمدة عام على الأقل. بعد ذلك، احتفظ بها طالما أن عناوين URL القديمة لا تزال تتلقى روابط خارجية أو حركة مرور. التوجيهات تكلف تقريبًا شيئًا لتقديمها، لذا نادراً ما يكون هناك سبب جيد لحذفها مبكرًا.
- هل من المقبول توجيه الصفحات المفهرسة فقط؟
- لا إذا كانت غير المفهرجة تحمل روابط. حالة الفهرسة تقول القليل عن القيمة الخارجية. قم بتوجيه كل عنوان URL لديه نطاق مرجع، ثم قرر بشأن الباقي بناءً على الحركة.
- ماذا عن 302 أو 307 للانتقال الدائم؟
- استخدم 301 أو 308 للانتقالات الدائمة. قد يتم التعامل مع 302 المتروكة في مكانها لسنوات على أنها دائمة، لكن هذه النتيجة تُترك للصدفة، وقد لا تخمن عملاء التوجيه الآخرون بنفس الطريقة.
- هل يمكنني توجيه أخطاء 404 من الموقع القديم إلى الجديد؟
- فقط عندما يكون هناك تطابق قريب. التوجيه إلى صفحة غير ذات صلة هو خطأ 404 ناعم في نظر جوجل. ارجع 404 أو 410 حقيقي عندما يكون المحتوى قد زال.