В теперь перенесенном вопросе о читаемых человеком 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. Ходят слухи, что эта глубина влияет на рейтинг в поисковых системах. По крайней мере, так мне сказали. (Теперь очевидно, что SEO - это , а не то, о чем я знаю больше всего.) Верно ли это (все еще?): влияет ли иерархическая глубина (количество каталогов) на рейтинг поиска?
Итак , технически ли моя "догадка" верна, или я должен тратить свое время на что-нибудь еще?
Пример: Делаю (почти) правильно
Старый добрый SO понимает это почти правильно. Показательный пример: профили, например, 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) Несет полную информацию, не зависящую от «глубже» элементы.