Действительно ли безопасно зависеть от запаздывающей наклонной черты в URL для целей маршрутизации?

Я создаю сайт, который имеет продукты, каждый из которых принадлежит одной или нескольким категориям, которые могут быть вложены в родительских категориях. Я хотел бы иметь благоприятные для SEO URL, которые похожи на это:

  1. mysite.com/category/
  2. mysite.com/category/product
  3. mysite.com/category/sub-category/
  4. mysite.com/category/sub-category/product

Мой вопрос: действительно ли безопасно зависеть от присутствие запаздывающей наклонной черты для дифференциации между случаями 2 и 3? Я могу всегда предполагать, что пользователь хочет индекс категории, когда запаздывающая наклонная черта обнаруживается, по сравнению со страницей определенного продукта без запаздывающей наклонной черты?

Я не волнуюсь по поводу реализации этой схемы URI; я уже сделал столько же с PHP и mod_rewrite. Я просто задаюсь вопросом, знает ли кто-либо о каких-либо возражениях на этот вид маршрутизации URL. Там кто-либо известен проблемы с разделением/добавлением браузеров, запаздывающим URL от строки поиска, или с поисковыми системами, проверяющими такой сайт? Какая-либо SEO выходит или другие камни преткновения, с которыми я, вероятно, столкнусь?

5
задан meagar 4 March 2010 в 19:08
поделиться

4 ответа

В дополнение к другим ошибкам, которые вы упомянули, пользователь может сам изменить URL-адрес (введя продукт или категорию) и добавить / удалить завершающий " / ".

Чтобы решить вашу проблему, почему бы не создать специальную подкатегорию « все » и вместо «mysite.com/category/product» использовать «mysite.com/category/» all / product "?

5
ответ дан 18 December 2019 в 13:13
поделиться

Никогда не предполагайте, что пользователь будет делать что-либо, кроме худшего сценария, в чем-либо, связанном с URL.

, если вы не готовы выполнять переадресацию в своем коде, предположите, что у вас есть равные шансы, что URI оканчивается косой чертой или без косой черты. Единственный способ убедиться, что ваш код является надежным и, следовательно, вам не придется беспокоиться о подобных проблемах.

1
ответ дан 18 December 2019 в 13:13
поделиться

Мне кажется очень неестественным, что http://product/ и http://product представляют два совершенно разных ресурса. Это запутывает и делает ваши URL менее взламываемыми, поскольку трудно определить, когда должен присутствовать или отсутствовать косой слэш в конце.

Также в RFC 3986, Унифицированный идентификатор ресурса (URI): Generic Syntax, есть заметка о Protocol-Based Normalization в главе 6.2.4, где говорится об этой конкретной ситуации в отношении нечеловеческих посетителей вашего сайта, таких как поисковые системы и веб-пауки:

Значительные усилия по снижению частоты ложноотрицательных ответов являются часто экономически выгодны для веб-пауков. Поэтому они применяют еще более агрессивные методы сравнения URI. Например, если они наблюдают, что URI, такой как

http://example.com/data

перенаправляет на URI, отличающийся только косой чертой

http://example.com/data/

то в будущем они, вероятно, будут считать их эквивалентными. (...)

5
ответ дан 18 December 2019 в 13:13
поделиться

Один из способов дифференциации - убедиться, что страницы продуктов имеют расширение, а страницы категорий или подкатегорий - нет. То есть:

  1. mysite.com/category/
  2. mysite.com/category/product.html
  3. mysite.com/category/sub-category/
  4. mysite.com/category/sub-category/ product.html

Это однозначно.

3
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: