يشرح هذا المرجع كيفية إعادة توجيه الروابط الدائمة (Permalinks) لمسارات عناوين URL القديمة إلى وجهات جديدة، وكيفية عمل تطبيع الروابط الدائمة، وكيفية اختبار إعادة التوجيه واستكشاف أخطاءه بعد إجراء ترحيل أو تغيير في هيكل عناوين URL.
مستوى المستخدم المطلوب: مسؤول
لا يتطلب الوصول إلى وحدة التحكم إلا عند إنشاء الروابط الدائمة من أداة استيراد أو نص برمجي أو وحدة تحكم Rails
عندما ترحل من منتدى آخر أو تغير هيكل عناوين URL لموقعك، قد لا تشير الروابط القديمة من محركات البحث أو العلامات المرجعية (Bookmarks) أو رسائل البريد الإلكتروني أو المواقع الأخرى إلى الصفحة الصحيحة.
تتيح لك الروابط الدائمة إعادة توجيه مسارات عناوين URL القديمة إلى وجهاتها الجديدة باستخدام إعادة توجيه 301 Moved Permanently (تم النقل بشكل دائم).
الروابط الدائمة هي تطابقات دقيقة للمسار. على سبيل المثال، إذا لم يعد عنوان URL القديم هذا يعمل:
https://discourse.example.com/forum/topic/123
فيمكنك إنشاء رابط دائم بحيث يتم إعادة توجيهه إلى الموضوع الجديد:
https://discourse.example.com/t/welcome-to-our-community/456
ما هي الروابط الدائمة
الرابط الدائم هو تطابق دقيق من مسار عنوان URL قديم واحد إلى وجهة جديدة واحدة.
على سبيل المثال:
forum/topic/123 → /t/welcome-to-our-community/456
تكون الروابط الدائمة مفيدة عندما:
- قمت بالترحيل من منصة منتدى أخرى
- تم فهرسة الروابط القديمة بواسطة محركات البحث
- يتم استخدام الروابط القديمة في رسائل البريد الإلكتروني أو التوثيق أو مواقع الويب الأخرى
- قمت بتغيير هيكل عناوين URL لموقعك
- تريد إعادة توجيه مسار قديم إلى موضوع أو مشاركة أو فئة أو وسم أو مستخدم أو عنوان URL خارجي
يرتبط كل رابط دائم بعنوان URL واحد بوجهة واحدة.
الروابط الدائمة هي تطابقات دقيقة. حقل عنوان URL للرابط الدائم لا يدعم الرموز البدوية (Wildcards) أو التعبيرات النمطية (Regular Expressions). إذا اتبعت العديد من عناوين URL القديمة نمطًا متوقعًا، فاستخدم تطبيع الروابط الدائمة لتحويل عناوين URL الواردة قبل البحث عن الرابط الدائم المطابق.
الروابط الدائمة والتطبيع
تنفذ الروابط الدائمة والتطبيع وظائف مختلفة:
| الميزة | ما تفعله | مثال |
|---|---|---|
| رابط دائم | يعيد توجيه مسار قديم محفوظ واحد إلى وجهة واحدة | old/topic/123 → Topic 456 |
| تطبيع | يغير المسار الوارد قبل البحث عن الرابط الدائم | old/topic/123-title → old/topic/123 |
لا يقوم التطبيع بإعادة التوجيه بحد ذاته. إنه يغير فقط المسار المستخدم للبحث عن رابط دائم محفوظ.
لا تزال بحاجة إلى رابط دائم مطابق بعد تطبيق التطبيع.
أمثلة سريعة
إعادة توجيه عنوان URL لموضوع قديم
عنوان URL القديم:
https://discourse.example.com/forum/topic/123
عنوان URL للرابط الدائم:
forum/topic/123
نوع الوجهة:
موضوع (Topic)
الوجهة:
456
النتيجة:
/forum/topic/123 → /t/welcome-to-our-community/456
إعادة توجيه عنوان URL قديم يحتوي على سلسلة استعلام
عنوان URL القديم:
https://discourse.example.com/viewtopic.php?t=123
عنوان URL للرابط الدائم:
viewtopic.php?t=123
نوع الوجهة:
موضوع (Topic)
الوجهة:
456
النتيجة:
/viewtopic.php?t=123 → /t/welcome-to-our-community/456
إعادة توجيه العديد من عناوين URL القديمة ذات النمط نفسه
عناوين URL القديمة:
/forum/support/123-how-do-i-reset-my-password.html
/forum/general/456-how-do-i-change-my-email.html
يمكنك استخدام تطبيع لتبسيطها قبل البحث:
/forum/support/123-how-do-i-reset-my-password.html → forum/123
/forum/general/456-how-do-i-change-my-email.html → forum/456
ثم أنشئ روابط دائمة دقيقة:
forum/123 → Topic 1001
forum/456 → Topic 1002
ما الذي يجب إدخاله كعنوان URL للرابط الدائم
أدخل المسار القديم، وليس عنوان URL الكامل.
على سبيل المثال، استخدم:
forum/topic/123
أو:
/forum/topic/123
لا تستخدم عنوان URL القديم الكامل:
https://discourse.example.com/forum/topic/123
يتم قبول الشرائط المائلة الأمامية (Leading slashes)، لكنها تُزال عند حفظ الرابط الدائم. هذان الإدخالان متكافئان:
/forum/topic/123
forum/topic/123
يتم تخزين كلاهما كـ:
forum/topic/123
يتم إزالة المسافات البيضاء الرائدة واللاحقة عند حفظ الرابط الدائم.
سلاسل الاستعلام جزء من المطابقة
تطابق الروابط الدائمة مسار الطلب الكامل، بما في ذلك سلسلة الاستعلام.
هذا يعني أن هذين العنوانين URL هما تطابقان مختلفان للروابط الدائمة:
/old/topic/123
/old/topic/123?utm_source=example
إذا كان عنوان URL القديم يحتوي على سلسلة استعلام، فإما:
- إنشاء رابط دائم يتضمن سلسلة الاستعلام، أو
- استخدام تطبيع للرابط الدائم لإزالة أو تبسيط سلسلة الاستعلام قبل المطابقة
بالنسبة لمعلمات التحليل أو التتبع، عادةً ما يكون استخدام التطبيع أفضل من إنشاء العديد من الروابط الدائمة المنفصلة.
على سبيل المثال، هذا الرابط الدائم المحفوظ:
docs/123
لا يتطابق بالضرورة مع عنوان URL المطلوب هذا:
/docs/123?utm_source=newsletter
ما لم يقم تطبيع بإزالة سلسلة الاستعلام قبل البحث.
عند نسخ عناوين URL القديمة من أدوات التحليل أو تقارير وحدة تحكم البحث أو المتصفحات أو حملات البريد الإلكتروني، تحقق مما إذا كانت معلمات التتبع قد تمت إضافتها.
أجزاء عنوان URL ليست جزءًا من المطابقة
لا يتم إرسال أجزاء عنوان URL (URL fragments) إلى الخادم.
على سبيل المثال، هذا العنوان URL:
/old/topic#post-12
يصل إلى الخادم كـ:
/old/topic
لا يمكن للرابط الدائم أو التطبيع المطابقة مع:
#post-12
ما لم يتم ترميز # في الطلب الفعلي كـ %23.
وجهات الروابط الدائمة المدعومة
يمكن أن يعيد الرابط الدائم التوجيه إلى أحد أنواع الوجهات التالية:
- موضوع (Topic)
- مشاركة (Post)
- فئة (Category)
- وسم (Tag)
- مستخدم (User)
- عنوان URL خارجي أو نسبي
يمكن استخدام وجهات عناوين URL الخارجية أو النسبية لإعادة التوجيه مثل:
old/privacy-policy → https://archive.discourse.example.com/privacy
أو:
old/preferences → /my/preferences
استخدم وجهات عناوين URL الخارجية بحذر. فهي تعيد توجيه الزوار بعيدًا عن موقعك ولا تتحقق مما إذا كان عنوان URL المستهدف موجودًا.
فضل أنواع الوجهات الداخلية عند إعادة التوجيه إلى مواضيع أو مشاركات أو فئات أو وسوم أو مستخدمين تم ترحيلهم. استخدم وجهة عنوان URL خارجي عندما لا يتم تمثيل صفحة الهدف بواسطة كائن داخلي.
إضافة رابط دائم يدويًا
لإضافة رابط دائم يدويًا:
- انتقل إلى
/admin/config/permalinks. - حدد علامة التبويب الروابط الدائمة (Permalinks).
- انقر فوق إضافة رابط دائم (Add permalink).
- أدخل المسار القديم في حقل عنوان URL (URL).
- حدد نوع الرابط الدائم (Permalink type).
- أدخل أو حدد الوجهة.
- احفظ الرابط الدائم.
- اختبر عنوان URL القديم في متصفح أو باستخدام
curl.
مثال:
URL:
forum/topic/123
نوع الرابط الدائم:
موضوع (Topic)
الوجهة:
456
سيؤدي الطلب إلى:
https://discourse.example.com/forum/topic/123
إعادة التوجيه إلى الموضوع 456.
قيم الوجهة
تعتمد قيمة الوجهة على نوع الرابط الدائم.
| نوع الرابط الدائم | الوجهة |
|---|---|
| موضوع (Topic) | موضوع |
| مشاركة (Post) | مشاركة |
| فئة (Category) | فئة |
| وسم (Tag) | وسم |
| مستخدم (User) | مستخدم |
| عنوان URL خارجي أو نسبي | عنوان URL خارجي كامل أو مسار نسبي |
أمثلة:
forum/topic/123 → Topic 456
forum/post/789 → Post 789
forum/category/support → Category support
forum/tag/example → Tag example
forum/user/alice → User alice
old/privacy → https://archive.discourse.example.com/privacy
old/preferences → /my/preferences
إنشاء الروابط الدائمة أثناء الترحيل
تقوم العديد من أدوات الاستيراد الرسمية بإنشاء الروابط الدائمة تلقائيًا للفئات أو المواضيع أو المشاركات أو المستخدمين التي تم ترحيلها.
بالنسبة للترحيلات الكبيرة، عادةً ما يتم إنشاء الروابط الدائمة بواسطة أداة الاستيراد أو نص الترحيل بدلاً من إدخالها يدويًا واحدة تلو الأخرى.
إذا كنت تكتب أداة استيراد مخصصة، فأنشئ سجلات روابط دائمة لعناوين URL القديمة التي يجب أن تستمر في العمل بعد الترحيل.
على سبيل المثال:
Permalink.create!(url: "discussion/12345", topic_id: 987)
في هذا المثال، discussion/12345 هو المسار القديم، و 987 هو معرف موضوع Discourse.
يتم قبول الشريط المائل الأمامي أيضًا:
Permalink.create!(url: "/discussion/12345", topic_id: 987)
يخزن كلا المثالين عنوان URL للرابط الدائم كـ:
discussion/12345
لإعادة التوجيه إلى عنوان URL خارجي:
Permalink.create!(
url: "discussion/12345",
external_url: "https://archive.discourse.example.com/discussion/12345"
)
عند إنشاء الروابط الدائمة في أداة استيراد:
- احفظ المسار القديم، وليس النطاق القديم الكامل
- أضف سلسلة الاستعلام فقط إذا كانت مطلوبة للمطابقة
- تأكد من أن كل مسار قديم يتوافق مع وجهة واحدة
- تحقق من وجود تكرارات قبل إدراج السجلات
- تذكر أن عناوين URL للروابط الدائمة يجب أن تكون فريدة
إذا قمت بتشغيل ترحيلات تجريبية متعددة، فقد تتغير معرفات المواضيع والمشاركات النهائية بين الجولات. قم بتوليد أو التحقق من تطابقات الروابط الدائمة النهائية عندما تكون بيانات الترحيل في بيئة الإنتاج مستقرة.
ما هي تطبيع الروابط الدائمة
يغير تطبيع الرابط الدائم مسارًا قديمًا واردًا قبل البحث عن رابط دائم مطابق.
تكون التطبيعات مفيدة عندما تتبع العديد من عناوين URL القديمة النمط نفسه المتوقع.
على سبيل المثال، افترض أن منتدىك القديم استخدم عناوين URL مثل هذا:
/forum/support/123-how-do-i-reset-my-password.html
لكن الرابط الدائم المحفوظ لديك أبسط:
forum/123
يمكن للتطبيع تحويل الطلب الوارد إلى مسار الرابط الدائم المحفوظ:
/forum/support/123-how-do-i-reset-my-password.html
↓
forum/123
ثم يمكن للرابط الدائم إعادة التوجيه:
forum/123 → /t/how-do-i-reset-my-password/456
لا يقوم التطبيع بإعادة التوجيه بحد ذاته. إنه يغير فقط المسار المستخدم للبحث عن الرابط الدائم.
لا تزال بحاجة إلى رابط دائم مطابق للمسار المطبع.
معظم المواقع لا تحتاج إلى تطبيع الروابط الدائمة. استخدمها فقط عندما تتبع العديد من عناوين URL القديمة نمطًا متوقعًا وإنشاء رابط دائم واحد لكل عنوان URL قديم سيكون غير عملي.
كيف تعمل الروابط الدائمة والتطبيع معًا
عند طلب عنوان URL قديم، تكون العملية كالتالي:
الزائر يطلب عنوان URL قديم
↓
يتم تطبيق تطبيع الروابط الدائمة، إذا تم تكوينه
↓
يتم إجراء بحث عن رابط دائم باستخدام المسار الناتج
↓
إذا وجد رابط دائم مطابق، يتم إعادة توجيه الزائر
على سبيل المثال:
عنوان URL المطلوب:
/old/topic/123?utm_source=newsletter
يغيره التطبيع إلى:
old/topic/123
يعيد الرابط الدائم توجيهه إلى:
/t/new-topic-title/456
إضافة تطبيع للرابط الدائم
يتم تكوين تطبيع الروابط الدائمة من إعدادات الرابط الدائم.
لإضافة واحد:
- انتقل إلى
/admin/config/permalinks. - حدد علامة التبويب الإعدادات (Settings).
- أضف قاعدة إلى إعداد
permalink normalizations. - احفظ الإعداد.
- اختبر عنوان URL قديم يجب تطبيعه.
- تأكد من أن المسار المطبع يتطابق مع رابط دائم موجود.
التركيب هو:
/<regex>/<replacement>
تُفصل القواعد المتعددة بـ |.
على سبيل المثال:
/old\/topic\/(\d+).*/topic/\1
يمكن هذا تحويل:
old/topic/123-my-old-title
إلى:
topic/123
يستخدم الاستبدال تركيب استبدال Ruby، لذا تُكتب مجموعات الالتقاط كـ:
\1
\2
\3
قواعد التطبيع المهمة
اجعل قواعد التطبيع بسيطة.
- تستخدم التطبيعات التعبيرات النمطية (Regex) الخاصة بـ Ruby.
- يجب هروب الأحرف
/الحرفية في جزء التعبير النمطي كـ\/. - لا يلزم هروب الأحرف
/الحرفية في جزء الاستبدال. - تُفصل قواعد التطبيع المتعددة بـ
|. - نظرًا لأن
|تفصل القواعد، تجنب استخدام تبديل التعبير النمطي مع|. - تستخدم كل قاعدة استبدالًا واحدًا، وليس استبدالًا عالميًا.
- يتم تطبيق القواعد بالترتيب.
- يتم تطبيق القواعد المطابقة تسلسليًا.
- يتم تطبيق التطبيعات قبل البحث عن الرابط الدائم.
- يتم تطبيق التطبيعات أيضًا عند حفظ سجلات الروابط الدائمة.
- يلتقط مدقق الإعداد التعبيرات النمطية غير الصالحة، لكنه قد لا يلتقط كل قاعدة تتصرف بشكل مختلف عما هو مقصود.
تحذير: يتم تطبيق التطبيعات عند حفظ سجلات الروابط الدائمة. إذا أدخلت عنوان URL غير مطبع في واجهة المستخدم الإدارية، فقد يتم تخزينه كناتج التطبيع. إذا أضفت أو غيرت التطبيعات بعد إنشاء الروابط الدائمة، فاختبر بعناية وتحقق من كيفية تخزين عناوين URL للروابط الدائمة الجديدة المحفوظة.
أمثلة على التطبيع
إعادة توجيه عنوان URL قديم يحتوي على نص عنوان إضافي
عناوين URL القديمة:
/forum/support/123-how-do-i-reset-my-password.html
/forum/general/456-how-do-i-change-my-email.html
يمكنك تطبيعها إلى مسارات روابط دائمة أبسط:
forum/123
forum/456
مثال للتطبيع:
/forum\/[^\/]+\/(\d+).*/forum/\1
ثم أنشئ الروابط الدائمة:
forum/123 → Topic 1001
forum/456 → Topic 1002
تجاهل سلاسل استعلام التتبع
عنوان URL المطلوب القديم:
/docs/123?utm_source=newsletter
الرابط الدائم المحفوظ:
docs/123
التطبيع:
/(docs\/\d+)\?.*/\1
هذا يزيل سلسلة الاستعلام قبل البحث عن الرابط الدائم.
الحفاظ على معلمة استعلام مهمة
تستخدم بعض المنتديات القديمة معلمات الاستعلام كمعرف موضوع مستقر.
على سبيل المثال:
viewtopic.php?f=10&t=123
viewtopic.php?t=123
قد ترغب في تطبيع هذه إلى:
viewtopic.php?t=123
مثال للتطبيع:
/(viewtopic\.php\?)(?:.*&)?(t=\d+).*/\1\2
ثم أنشئ رابطًا دائمًا:
viewtopic.php?t=123 → Topic 456
إعادة التوجيه بالتعبيرات النمطية والرموز البدوية
لا يدعم حقل عنوان URL للرابط الدائم التعبيرات النمطية أو الرموز البدوية.
هذا لن يعمل كعنوان URL للرابط الدائم:
forum/topic/*
هذا لن يعمل كعنوان URL للرابط الدائم أيضًا:
forum/topic/(\d+)
إذا كنت بحاجة إلى معالجة قائمة على النمط، فاستخدم تطبيع الرابط الدائم لإعادة كتابة عنوان URL الوارد إلى شكل يمكن أن يتطابق مع رابط دائم محفوظ دقيق.
على سبيل المثال:
/forum/topic/123-title → forum/topic/123
ثم أنشئ رابطًا دائمًا دقيقًا عاديًا:
forum/topic/123 → Topic 456
أولوية المسار والمسارات المدمجة
يتم التحقق من توجيه الروابط الدائمة بعد مسارات التطبيقات العادية.
هذا يعني أن مسارًا صالحًا موجودًا قد يتم حله بشكل طبيعي قبل التحقق من الرابط الدائم.
كن حذرًا مع عناوين URL القديمة التي تبدأ بمسارات مدمجة مثل:
/t
/c
/u
/tag
/tags
على سبيل المثال، قد يبدو عنوان URL لمنتدى قديم مثل هذا كمسار فئة مدمج:
/c/blog/old-platform-url/ba-p/12345
إذا تعارض عنوان URL قديم مع مسار صالح موجود، فقد يأخذ المسار الصالح الأولوية على الرابط الدائم.
وبالمثل، إذا أنشأت رابطًا دائمًا لمسار يبدو كمسار موضوع موجود، مثل:
t/123
قد يتم التعامل مع مسار الموضوع العادي قبل البحث عن الرابط الدائم.
بعض مسارات “غير موجود” (not-found) المدمجة لها سلوك احتياطي إضافي، لكنك لا يجب أن تعتمد على ذلك. اختبر دائمًا عناوين URL القديمة التي تتداخل مع المسارات المدمجة.
إذا كنت بحاجة إلى إعادة توجيه عنوان URL لموضوع قديم إلى مكان آخر، يجب ألا يستمر الموضوع القديم عمومًا في الحل كمسار موضوع صالح.
الأذونات والمحتوى الخاص
تحترم الروابط الدائمة للوجهات الداخلية الأذونات العادية.
إذا كان الرابط الدائم يشير إلى موضوع أو مشاركة أو فئة أو وسم أو مستخدم خاص أو مقيد، فسيحصل الزوار الذين لا يمكنهم الوصول إلى تلك الوجهة على 404 بدلاً من إعادة التوجيه.
لا تتحقق الروابط الدائمة لعناوين URL الخارجية من أذونات المحتوى الداخلي.
الأحرف الخاصة وعناوين URL المشفرة
اختبر عناوين URL التي تحتوي على أحرف خاصة بعناية.
يشمل ذلك عناوين URL التي تحتوي على:
- مسافات
+%&':- أقواس
- أحرف غير لاتينية
يستخدم مطابقة الروابط الدائمة مسار الطلب المشفر بعد إزالة الشريط المائل الأمامي وتطبيق التطبيعات المكونة. يمكن أن تمنع اختلافات التشفير عنوان URL من التطابق مع الرابط الدائم الذي تتوقعه.
على سبيل المثال، قد لا تكون هذه متكافئة اعتمادًا على كيفية طلب عنوان URL القديم وتخزينه:
old/topic/hello%20world
old/topic/hello+world
استخدم %20 للمسافات في أمثلة عناوين URL. في مسار عنوان URL، + ليست نفسها المسافة.
لأحرف مثل & و ? و # معنى خاص في عناوين URL. إذا كان المقصود بها أن تكون أحرف مسار حرفية، فيجب تشفيرها كنسبة مئوية.
في حالة الشك، اختبر عنوان URL القديم الدقيق الذي سيطلبه المستخدمون أو محركات البحث.
القيود
صُممت الروابط الدائمة لإعادة توجيه المسارات القديمة إلى وجهات جديدة. إنها ليست محرك إعادة توجيه أو إعادة كتابة لأغراض عامة.
القيود المهمة:
- يتم تخزين عناوين URL للروابط الدائمة كمسارات وسلاسل استعلام، وليس عناوين URL كاملة.
- لا يتم تحويل عناوين URL الكاملة تلقائيًا إلى مسارات.
- يجب أن تكون عناوين URL للروابط الدائمة فريدة بعد التطبيع.
- يمكن أن يكون لرابط دائم واحد وجهة واحدة فقط.
- الوجهات المدعومة محدودة بالمواضيع والمشاركات والفئات والوسوم والمستخدمين وعناوين URL الخارجية أو النسبية.
- تستخدم الروابط الدائمة
301 Moved Permanently؛ لا توجد خيار لكل رابط دائم لـ302. - لا يدعم حقل عنوان URL للرابط الدائم الرموز البدوية أو التعبيرات النمطية.
- سلاسل الاستعلام جزء من مفتاح البحث.
- أجزاء عنوان URL، مثل
#post-12، لا تُرسل إلى الخادم ولا يمكن مطابقتها. - لا يستخدم المطابقة مخطط الطلب أو المضيف.
- يتم التحقق من المسارات الأصلية قبل مسار التقاط الرابط الدائم الشامل.
- الوجهات الداخلية تخضع لفحص الأذونات.
- تتجاوز وجهات عناوين URL الخارجية فحوصات أذونات المحتوى الداخلي.
- تستخدم تطبيع الروابط الدائمة التعبيرات النمطية لـ Ruby.
- تُفصل قواعد التطبيع بـ
|، لذا تجنب استخدام|كتبديل للتعبير النمطي. - تستخدم قواعد التطبيع استبدالًا واحدًا لكل قاعدة، وليس استبدالًا عالميًا.
- يتم تطبيق التطبيعات قبل البحث وقبل حفظ سجلات الروابط الدائمة.
- يلتقط مدقق الإعداد التعبيرات النمطية غير الصالحة، لكنه قد لا يلتقط كل قاعدة تتصرف بشكل مختلف عما هو مقصود.
بالنسبة لمعظم المواقع، تكون الروابط الدائمة البسيطة ذات الاتجاه الواحد أسهل في الصيانة من قواعد التطبيع المعقدة. استخدم التطبيعات فقط عندما تتبع عناوين URL القديمة نمطًا متوقعًا.
تجنب إعادة توجيه كل عنوان URL قديم إلى الصفحة الرئيسية
لا تعيد توجيه جميع عناوين URL القديمة إلى صفحتك الرئيسية.
أعد توجيه كل عنوان URL قديم إلى الصفحة الجديدة الأكثر صلة. إذا لم يكن هناك محتوى مكافئ، فقد يكون 404 أفضل من إرسال المستخدمين ومحركات البحث إلى صفحة غير ذات صلة.
إعادة التوجيه الجيدة محددة:
old/topic/123 → موضوع جديد حول نفس الموضوع
إعادة التوجيه السيئة عامة:
old/topic/123 → الصفحة الرئيسية
old/topic/456 → الصفحة الرئيسية
old/topic/789 → الصفحة الرئيسية
اختبار إعادة التوجيه
بعد إنشاء الروابط الدائمة أو التطبيعات، اختبر عينة من عناوين URL القديمة.
يمكنك الاختبار في متصفح، أو استخدم:
curl -I https://discourse.example.com/forum/topic/123
يجب أن تعيد إعادة توجيه الرابط الدائم العاملة توجيهًا دائمًا مشابهًا لـ:
HTTP/2 301
location: https://discourse.example.com/t/welcome-to-our-community/456
اختبر الأمثلة من كل نمط عنوان URL قديم، بما في ذلك:
- عناوين URL للمواضيع القديمة
- عناوين URL للفئات القديمة
- عناوين URL للمشاركات القديمة
- عناوين URL تحتوي على سلاسل استعلام
- عناوين URL تحتوي على أحرف خاصة
- عناوين URL من نتائج البحث
- عناوين URL من رسائل البريد الإلكتروني أو التوثيق القديم
- عناوين URL تبدأ بمسارات مدمجة مثل
/tأو/cأو/u - إعادة التوجيه إلى عناوين URL خارجية
استكشاف الأخطاء وإصلاحها
إذا لم يتم إعادة توجيه عنوان URL قديم، فافحص هذه الأسباب الشائعة:
- تأكد من وجود الرابط الدائم.
- تأكد من أن عنوان URL للرابط الدائم هو المسار القديم، وليس النطاق القديم الكامل.
- تحقق مما إذا كان عنوان URL القديم يحتوي على سلسلة استعلام.
- إذا كنت تستخدم تطبيعًا، تأكد من أن المسار المطبع يتطابق مع رابط دائم محفوظ.
- تحقق مما إذا كان مسار مدمج يأخذ الأولوية.
- تحقق مما إذا كانت الوجهة خاصة أو مقيدة.
- تحقق من اختلافات التشفير، مثل
%20مقابل+. - تحقق مما إذا كان التطبيع قد غير عنوان URL عند حفظ الرابط الدائم.
- تأكد من ترحيل المحتوى.
- اختبر باستخدام عنوان URL القديم الدقيق من متصفح أو باستخدام
curl -I.
المشاكل الأكثر شيوعًا هي:
- إدخال عنوان URL القديم الكامل بدلاً من المسار القديم
- سلاسل الاستعلام المفقودة أو غير المتوقعة
- توقع عمل الرموز البدوية أو التعبيرات النمطية في حقل عنوان URL للرابط الدائم
- عناوين URL القديمة التي تتداخل مع المسارات المدمجة
- الوجهات الخاصة أو المقيدة
- اختلافات التشفير
- التطبيعات التي تغير المسار بشكل غير متوقع
ملاحظات حول تحسين محركات البحث (SEO)
بعد الترحيل، قد تبلغ محركات البحث عن عناوين URL قديمة على أنها معاد توجيهها. هذا متوقع إذا كانت تلك عناوين URL القديمة تعيد التوجيه الآن إلى الصفحات الجديدة الصحيحة.
للحصول على أفضل النتائج:
- أعد توجيه عناوين URL القديمة إلى صفحات جديدة ذات صلة
- تجنب سلاسل إعادة التوجيه غير الضرورية
- تجنب إعادة توجيه العديد من عناوين URL غير ذات صلة إلى الصفحة الرئيسية
- احتفظ بإعادة التوجيه لفترة كافية لتحديث المستخدمين ومحركات البحث
- اختبر عناوين URL المهمة من خريطة الموقع القديمة أو بيانات التحليل أو وحدة تحكم البحث