عناوين URL القابلة للقراءة البشرية: ويفضل أن يكون التسلسل الهرمي أيضًا؟
-
26-09-2019 - |
سؤال
في تم ترحيل السؤال الآن حول عناوين URL القابلة للقراءة البشرية ، سمحت لنفسي بتوضيح القليل من الهواية:
عندما أواجه عناوين URL مثل
http://www.example.com/product/123/subpage/456.html
أعتقد دائمًا أن هذه محاولة لإنشاء عناوين URL هرمية ذات معنى والتي ، مع ذلك ، ليست هرمية تمامًا. ما أعنيه هو ، يجب أن تكون قادرًا على الانقطاع مستوى واحد في وقت واحد. في ما سبق ، عنوان URL له انتهاكان حول هذا المبدأ:
/product/123
هو واحد جزء من المعلومات ممثلة كمستويين. سيتم تمثيله بشكل أكثر صوابًا باسم/product:123
(أو أي شيء تحبه)/subpage
من المحتمل جدًا أنه ليس كيانًا في حد ذاته (أي ، لا يمكنك الصعود واحد المستوى من456.html
مثلhttp://www.example.com/product/123/subpage
لاشيء").لذلك ، أجد ما يلي أكثر صحة:
http://www.example.com/product:123/456.html
هنا ، يمكنك دائمًا التنقل في مستوى واحد في وقت واحد:
http://www.example.com/product:123/456.html
- الصفحة الفرعيةhttp://www.example.com/product:123
- صفحة المنتجhttp://www.example.com/
- الجذربعد نفس الفلسفة ، من المنطقي ما يلي [وتوفير رابط إضافي لإدراج المنتجات]:
http://www.example.com/products/123/456.html
أين:
http://www.example.com/products/123/456.html
- الصفحة الفرعيةhttp://www.example.com/products/123
- صفحة المنتجhttp://www.example.com/products
- قائمة المنتجاتhttp://www.example.com/
- الجذر
دافعي الأساسي لهذا النهج هو أنه إذا تم تحديد كل "عنصر مسار" (محدد بواسطة /
) هو ذاتي1, ، ستتمكن دائمًا من الانتقال إلى "الوالد" عن طريق إزالة العنصر الأخير من عنوان URL. هذا ما أفعله (أحيانًا) في مستكشف الملف عندما أريد الذهاب إلى دليل الوالدين. باتباع نفس السطر المنطقي ، يمكن للمستخدم (أو محرك البحث / الزاحف) أن يفعل الشيء نفسه. أعتقد أن ذكيا جدا.
على الجانب الآخر (وهذا هو الشيء المهم من السؤال): على الرغم من أنني لا يمكنني أبدًا منع المستخدم الذي يحاول الوصول إلى عنوان URL الذي قام ببلاه ، هل أنا أؤكد (وتكريم) أن محرك البحث قد يفعل الشيء نفسه؟ أي ، هل من المعقول أن نتوقع ألا يحاول أي محرك بحث (أو: Google) الوصول إليه http://www.example.com/product/123/subpage
(النقطة 2 ، أعلاه)؟ (أو هل أنا حقًا أخذ العامل البشري فقط في الاعتبار هنا؟)
هذا ليس سؤالا حول التفضيل الشخصي. إنه سؤال تقني حول ما يمكن أن أتوقعه من زاحف / فهرس وإلى ما الذي يجب أن أحمله في الاعتبار معالجة URL غير البشرية عند تصميم عناوين URL.
أيضا ، "العمق" الهيكلي لـ http://www.example.com/product/123/subpage/456.html
هو 4 ، أين http://www.example.com/products/123/456.html
هو فقط 3. شائعات لديها أن هذا العمق يؤثر على تصنيف محرك البحث. على الأقل ، لذلك قيل لي. (من الواضح الآن أن كبار المسئولين الاقتصاديين ليس ما أعرفه أكثر.) هل هذا (لا يزال؟) صحيح: هل يؤثر العمق الهرمي (عدد الدلائل) على تصنيف البحث؟
لذا ، هل "حدس" سليم من الناحية الفنية أم يجب أن أقضي وقتي على شيء آخر؟
مثال: القيام بذلك (تقريبًا)
جيد ol 'لذلك يحصل على هذا الصحيح تقريبا. مثال على ذلك: ملفات تعريف ، على سبيل المثال ، http://stackoverflow.com/users/52162
:
http://stackoverflow.com/users/52162
- ملف تعريف واحدhttp://stackoverflow.com/users
- قائمة المستخدمينhttp://stackoverflow.com/
- جذر
ومع ذلك ، فإن عنوان URL الكنسي لملف التعريف هو في الواقع http://stackoverflow.com/users/52162/jensgram
والتي تبدو زائدة عن الحاجة (نفس نقطة النهاية ممثلة على مستويين هرميين). بديل: http://stackoverflow.com/users/52162-jensgram
(أو أي محدد آخر يستخدم باستمرار).
1) يحمل جزءًا كاملاً من المعلومات لا يعتمد على العناصر "الأعمق".
المحلول
عناوين URL الهرمية من هذا النوع "http://www.example.com/product:123/456.html" غير مجدية مثل "http://www.example.com/product/123/subpage" ، لأنه عندما يرى المستخدمون عناوين URL الخاصة بك ، لا يهتمون بمعرفات قاعدة البيانات الخاصة بك ، فهم يريدون مسارات ذات معنى. هذا هو السبب في أن Stackoverflow يضع عناوين الأسئلة في عناوين URL: "http://stackoverflow.com/questions/4017365/human-readable-urls--hierarchical-too".
تقدم Google مقابلات ضد ممارسة استبدال الاستفسارات المعتادة مثل "http://www.example.com/؟product=123&page=456" ، لأنه عندما يطور كل موقع مخططه الخاص ، لا يعرف الزاحف ما يعنيه كل جزء ، إذا كان ذلك مهمًا ، إذا كان ذلك مهمًا ، إذا كان ذلك أمرًا مهمًا أم لا. اخترع Google آليات متطورة للعثور على حجج مهمة وتجاهل غير مهم ، مما يعني أنك ستحصل على المزيد من الصفحات في الفهرس وستكون هناك تكرارات أقل. لكن هذه الخوارزميات غالباً ما تفشل عندما يخترع مطورو الويب مخططهم الخاص.
إذا كنت تهتم بكل من المستخدمين والزحف ، فيجب عليك استخدام عناوين URL مثل هذا بدلاً من ذلك:
- http://www.example.com/products/greatest-keyboard/benefits - الصفحة الفرعية
- http://www.example.com/products/greatest-keyboard - صفحة المنتج
- http://www.example.com/products - قائمة المنتجات
- http://www.example.com/ - الجذر
أيضًا ، تقدم محركات البحث تصنيفًا أعلى للصفحات ذات الكلمات الرئيسية في عنوان URL.