Вопрос

В теперь перенесен вопрос Что касается удобочитаемых URL-адресов, я позволил себе доработать свою маленькую лошадку:

Когда я сталкиваюсь с такими URL-адресами, как http://www.example.com/product/123/subpage/456.html Я всегда думаю, что это попытка создать осмысленные иерархические URL-адреса, которые, однако, не являются полностью иерархическими.Я имею в виду, что вы должны уметь отрезать один уровень за раз.В приведенном выше URL-адресе есть два нарушения этого принципа:

  1. /product/123 является один часть информации, представленная в виде двух уровней.Правильнее было бы представить это как /product:123 (или любой другой разделитель, который вам нравится)
  2. /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.Ходят слухи, что эта глубина влияет на рейтинг в поисковых системах.По крайней мере, мне так сказали.(Теперь очевидно, что SEO нет то, о чем я знаю больше всего.) Это (все еще?) правда: влияет ли глубина иерархии (количество каталогов) на рейтинг поиска?

Итак, обоснована ли моя «догадка» с технической точки зрения или мне следует потратить время на что-то другое?


Пример:Делаю это (почти) правильно
Старый добрый ТАК понимает это почти правильно.Дело в точке:профили, например, 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-preferably-hierarchical-too».

Google не советует заменять обычные запросы типа «http://www.example.com/?product=123&page=456», потому что, когда каждый сайт разрабатывает свою собственную схему, сканер не знает, что означает каждая часть, если это важно. или нет.Google изобрел сложные механизмы для поиска важных аргументов и игнорирования неважных, что означает, что вы попадете в индекс больше страниц и будет меньше дубликатов.Но эти алгоритмы часто терпят неудачу, когда веб-разработчики изобретают собственную схему.

Если вы заботитесь как о пользователях, так и о сканерах, вам следует использовать такие URL-адреса:

Кроме того, поисковые системы дают более высокий рейтинг страницам с ключевыми словами в URL-адресе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top