Проблема со слешем в конце адреса сайта: как это исправить

Если один и тот же адрес сайта открывается и со слешем на конце (example.ru/page/), и без него (example.ru/page), а сервер отдаёт для обоих вариантов код 200 без редиректа — это дублирование страниц. Поисковик видит два разных URL с одинаковым содержимым, и один из них может выпасть из индекса или конкурировать со вторым в выдаче.

Как понять, что это ваш случай

Откройте страницу с завершающим слешем и без него в двух вкладках браузера. Если оба варианта загружаются без перенаправления в адресной строке — проблема есть. Ещё один способ: посмотреть в панели вебмастера (Яндекс.Вебмастер или Google Search Console) раздел «Индексирование» — там часто видны обе версии URL как отдельные страницы.

Что делать: настроить 301-редирект

Нужно выбрать один канонический вариант — со слешем или без — и настроить постоянный редирект (301) со второго варианта на первый. На Apache это делается в .htaccess через mod_rewrite, на nginx — правилом в блоке server. Пример для nginx, если канонический вариант без слеша:

  • rewrite ^/(.*)/$ /$1 permanent;

Для Apache в .htaccess подойдёт похожее правило через RewriteRule с флагом [R=301,L]. После правки обязательно проверьте, что редирект действительно отдаёт код 301, а не 302 — это важно для сохранения веса страницы при передаче.

Что ещё стоит проверить

Если движок сайта (WordPress, Bitrix, Tilda и т.п.) сам генерирует ссылки в обоих форматах — редиректа на уровне сервера может быть недостаточно. Проверьте настройки постоянных ссылок (Permalinks) в самой CMS и приведите внутренние ссылки к единому виду, чтобы не создавать новые дубли после каждого клика по меню сайта.

Дополнительно можно указать canonical-тег на странице, но это не заменяет редирект — робот может проигнорировать тег, если сервер продолжает отдавать оба URL как рабочие.

Понравилась статья? Поделиться с друзьями: