Для поисковых систем важно, чтобы сайт не имел дублей страниц, так как это плохо сказывается на ранжировании контента и восприятию страниц со стороны поисковых ботов. При размещении сайта необходимо проверить варианты ссылок при которых одна и та же страница будет доступна по разным адресам, что необходимо исправить с помощью переадресации с кодом 301 (перемещено навсегда). Рассмотрим наиболее популярные примеры.
1. Настройка переадресации при заходе на страницу с www префиксом, например https://www.domain.tld сделаем переадресацию без www т.е. https://domain.tld
if ($host ~* ^www.domain.tld$) {
rewrite ^(.*)$ https://<mark>domain.tld$1 permanent;
}
2. Настройка переадресации без / на конце url адреса, например https://domain.tld/ сделаем переадресацию без / т.е. https://domain.tld и всех остальных страниц, например https://domain.tld/my-page/ в https://domain.tld/my-page
location ~ ^(.+)/$ {
return 301 $1$is_args$args;
}
3. Зачастую одна и та же страница доступна по адресам https://domain.tld/ и https://domain.tld/index.php, а также все остальные страницы https://domain.tld/my-page и https://domain.tld/index.php/my-page. Уберем index.php из всех url адресов
if ($request_uri ~* "^(.*/)index\.php(/?)(.*)") {
return 301 $1$3;
}
Данные настройки необходимо применять в блоке server {}. После внесения изменений перезапустите службу nginx командой:
service nginx restart