إعادة توجيه عناوين URL القديمة للمنتدى إلى عناوين URL الجديدة في Discourse باستخدام الروابط الدائمة

:bookmark: يشرح هذا المرجع كيفية إعادة توجيه الروابط الدائمة (Permalinks) لمسارات عناوين URL القديمة إلى وجهات جديدة، وكيفية عمل تطبيع الروابط الدائمة، وكيفية اختبار إعادة التوجيه واستكشاف أخطاءه بعد إجراء ترحيل أو تغيير في هيكل عناوين URL.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

:computer: لا يتطلب الوصول إلى وحدة التحكم إلا عند إنشاء الروابط الدائمة من أداة استيراد أو نص برمجي أو وحدة تحكم 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 القديم يحتوي على سلسلة استعلام، فإما:

  1. إنشاء رابط دائم يتضمن سلسلة الاستعلام، أو
  2. استخدام تطبيع للرابط الدائم لإزالة أو تبسيط سلسلة الاستعلام قبل المطابقة

بالنسبة لمعلمات التحليل أو التتبع، عادةً ما يكون استخدام التطبيع أفضل من إنشاء العديد من الروابط الدائمة المنفصلة.

على سبيل المثال، هذا الرابط الدائم المحفوظ:

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 خارجي عندما لا يتم تمثيل صفحة الهدف بواسطة كائن داخلي.

إضافة رابط دائم يدويًا

لإضافة رابط دائم يدويًا:

  1. انتقل إلى /admin/config/permalinks.
  2. حدد علامة التبويب الروابط الدائمة (Permalinks).
  3. انقر فوق إضافة رابط دائم (Add permalink).
  4. أدخل المسار القديم في حقل عنوان URL (URL).
  5. حدد نوع الرابط الدائم (Permalink type).
  6. أدخل أو حدد الوجهة.
  7. احفظ الرابط الدائم.
  8. اختبر عنوان 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

إضافة تطبيع للرابط الدائم

يتم تكوين تطبيع الروابط الدائمة من إعدادات الرابط الدائم.

لإضافة واحد:

  1. انتقل إلى /admin/config/permalinks.
  2. حدد علامة التبويب الإعدادات (Settings).
  3. أضف قاعدة إلى إعداد permalink normalizations.
  4. احفظ الإعداد.
  5. اختبر عنوان URL قديم يجب تطبيعه.
  6. تأكد من أن المسار المطبع يتطابق مع رابط دائم موجود.

التركيب هو:

/<regex>/<replacement>

تُفصل القواعد المتعددة بـ |.

على سبيل المثال:

/old\/topic\/(\d+).*/topic/\1

يمكن هذا تحويل:

old/topic/123-my-old-title

إلى:

topic/123

يستخدم الاستبدال تركيب استبدال Ruby، لذا تُكتب مجموعات الالتقاط كـ:

\1
\2
\3

قواعد التطبيع المهمة

اجعل قواعد التطبيع بسيطة.

  • تستخدم التطبيعات التعبيرات النمطية (Regex) الخاصة بـ Ruby.
  • يجب هروب الأحرف / الحرفية في جزء التعبير النمطي كـ \/.
  • لا يلزم هروب الأحرف / الحرفية في جزء الاستبدال.
  • تُفصل قواعد التطبيع المتعددة بـ |.
  • نظرًا لأن | تفصل القواعد، تجنب استخدام تبديل التعبير النمطي مع |.
  • تستخدم كل قاعدة استبدالًا واحدًا، وليس استبدالًا عالميًا.
  • يتم تطبيق القواعد بالترتيب.
  • يتم تطبيق القواعد المطابقة تسلسليًا.
  • يتم تطبيق التطبيعات قبل البحث عن الرابط الدائم.
  • يتم تطبيق التطبيعات أيضًا عند حفظ سجلات الروابط الدائمة.
  • يلتقط مدقق الإعداد التعبيرات النمطية غير الصالحة، لكنه قد لا يلتقط كل قاعدة تتصرف بشكل مختلف عما هو مقصود.

:warning: تحذير: يتم تطبيق التطبيعات عند حفظ سجلات الروابط الدائمة. إذا أدخلت عنوان 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 قديم، فافحص هذه الأسباب الشائعة:

  1. تأكد من وجود الرابط الدائم.
  2. تأكد من أن عنوان URL للرابط الدائم هو المسار القديم، وليس النطاق القديم الكامل.
  3. تحقق مما إذا كان عنوان URL القديم يحتوي على سلسلة استعلام.
  4. إذا كنت تستخدم تطبيعًا، تأكد من أن المسار المطبع يتطابق مع رابط دائم محفوظ.
  5. تحقق مما إذا كان مسار مدمج يأخذ الأولوية.
  6. تحقق مما إذا كانت الوجهة خاصة أو مقيدة.
  7. تحقق من اختلافات التشفير، مثل %20 مقابل +.
  8. تحقق مما إذا كان التطبيع قد غير عنوان URL عند حفظ الرابط الدائم.
  9. تأكد من ترحيل المحتوى.
  10. اختبر باستخدام عنوان URL القديم الدقيق من متصفح أو باستخدام curl -I.

المشاكل الأكثر شيوعًا هي:

  • إدخال عنوان URL القديم الكامل بدلاً من المسار القديم
  • سلاسل الاستعلام المفقودة أو غير المتوقعة
  • توقع عمل الرموز البدوية أو التعبيرات النمطية في حقل عنوان URL للرابط الدائم
  • عناوين URL القديمة التي تتداخل مع المسارات المدمجة
  • الوجهات الخاصة أو المقيدة
  • اختلافات التشفير
  • التطبيعات التي تغير المسار بشكل غير متوقع

ملاحظات حول تحسين محركات البحث (SEO)

بعد الترحيل، قد تبلغ محركات البحث عن عناوين URL قديمة على أنها معاد توجيهها. هذا متوقع إذا كانت تلك عناوين URL القديمة تعيد التوجيه الآن إلى الصفحات الجديدة الصحيحة.

للحصول على أفضل النتائج:

  • أعد توجيه عناوين URL القديمة إلى صفحات جديدة ذات صلة
  • تجنب سلاسل إعادة التوجيه غير الضرورية
  • تجنب إعادة توجيه العديد من عناوين URL غير ذات صلة إلى الصفحة الرئيسية
  • احتفظ بإعادة التوجيه لفترة كافية لتحديث المستخدمين ومحركات البحث
  • اختبر عناوين URL المهمة من خريطة الموقع القديمة أو بيانات التحليل أو وحدة تحكم البحث
37 إعجابًا