Удаление дубликатов URL при использовании красивых URL -адресов

StackOverflow https://stackoverflow.com/questions/4121222

  •  29-09-2019
  •  | 
  •  

Вопрос

Я использую симпатичные URL -адреса в своем веб -приложении, одним из примеров является «Forum/post/1», который вызывает PostController в модуле форума, который загружает сообщение с id = 1. Это то, что мне нужно, но этот пост также доступен из 'Forum/post/view/id/1'. Это плохо, потому что поисковые сканеры не нравятся, когда та же страница доступна из нескольких URL -адресов, верно?

Я использую yii framework, которая поддерживает опцию «UsestrictParsing», которая сообщает, что входящий запрос должен Совместите хотя бы один «симпатичный» маршрут, в противном случае запрос не сбои с 404. Однако это не идеальное решение, потому что у меня нет красивых URL -адресов для каждого контроллера/действия.

В идеале, Framework должна перенаправить «Forum/post/view/id/1» на «Forum/post/1» с кодом состояния 301. Как вы решили эту проблему? Это не конкретный вопрос YII/PHP, как с ним дело с ним структуру/инструмент?

Это было полезно?

Решение

Лучший способ убедиться, что поисковые системы оценивают только одну страницу симпатичным URL -адресом, если есть несколько способов просмотра контента, - это ваш канонический тег в заголовке вашего документа

<link rel="canonical" href="http://www.mydomain.com/nice-url/" />

Это очень полезно с системой на основе Windows, так как IIS не является чувствительным к случаям с его веб -страницами, но веб -стандарт чувствителен к корпусу.

Так

  • www.maydomain.com/newpage.aspx
  • www.maydomain.com/newpage.aspx
  • www.maydomain.com/newpage.aspx

Все они рассматриваются как Google как разные страницы, и вы затем отмечены за наличие сайта с дублированным содержанием, но не настолько с канонической, поскольку каждая страница в приведенном выше случае будет иметь одинаковую каноническую метатеку, а URL - это URL Только один, который будет использоваться поисковыми системами.

Другие советы

При условии, что никто не ссылается на ваши непревзойденные URL-адреса, поисковые системы никогда не узнают, что они существуют.

Если вы хотите их устранить, вы можете обойти свою веб -структуру, добавив псевдоним в файл конфигурации вашего веб -сервера; URL будет перенаправлен до того, как он достигнет рамки.

Такие фреймворки, как Джанго, которые не обеспечивают «магическую» маршрутизацию, не сталкиваются с этой проблемой, единственные маршруты, которые существуют, - это те, которые вы определяете вручную. В его случае вы можете определить представление о непревзойденном URL, которое возвращает соответствующий перенаправление.

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