В теперь перенесенном вопросе о понятных человеку 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/products/123/456.html
Где:
Моя основная мотивация для этого подхода заключается в том, что если каждый «элемент пути» (ограниченный /
) является самодостаточным 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. По слухам, эта глубина влияет на ранжирование в поисковых системах. По крайней мере, так мне сказали. (Сейчас очевидно, что SEO - это , а не , о чем я знаю больше всего.) Верно ли это (все еще?): влияет ли иерархическая глубина (количество каталогов) на рейтинг в поиске?
Итак, мой "догадка" технически обоснована или я должен тратить свое время на что-то еще?
Пример: все (почти) правильно
Добрый старик понимает это почти правильно. Показательный пример: профили, например, http://stackoverflow.com/users/52162
:
Тем не менее, канонический URL для профиля на самом деле http://stackoverflow.com/users/52162/jensgram
, который кажется избыточным (одна и та же конечная точка представлена на двух иерархических уровнях). Альтернатива: http://stackoverflow.com/users/52162-jensgram
(или любой другой последовательно используемый разделитель).
1) Содержит полную информацию, не зависящую от «более глубоких» элементов.