Удаление дубликатов URL при использовании красивых URL -адресов
-
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, которое возвращает соответствующий перенаправление.