Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Аудит

Дубли страниц из-за URL: слэш, регистр, index.php и параметры

Дубль — это одна и та же страница, доступная по нескольким адресам. Она не наказывается штрафом, но размывает сигналы и тратит бюджет обхода на пустую работу.

Откуда берутся адресные дубли

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

ИсточникПример пары адресов
Слэш в конце/catalog/divany и /catalog/divany/
wwwsite.ru и www.site.ru
Протоколhttp:// и https://
Регистр/Catalog/ и /catalog/
Индексный файл/ и /index.php
Параметры/catalog/ и /catalog/?utm_source=vk
Пагинация/catalog/ и /catalog/page-1/
Товар в разных категориях/divany/milano/ и /rasprodazha/milano/

Чем это мешает

  • Внешние и внутренние ссылки распределяются между копиями вместо одной страницы.
  • Робот тратит бюджет обхода на повторное скачивание одного и того же.
  • В выдаче может закрепиться неудачная версия — с параметром или без слэша.
  • Отчёты аналитики дробятся: трафик одной страницы разносится по нескольким строкам.

Как найти дубли

  1. Откройте главную страницу в четырёх вариантах: с www и без, по http и https. Три из четырёх должны отдавать 301.
  2. Добавьте и уберите слэш в конце произвольного адреса — один из вариантов обязан перенаправлять на другой.
  3. Наберите адрес с заглавной буквы — должен быть редирект или 404, но не рабочая копия.
  4. Допишите к адресу произвольный параметр ?test=1. Если страница открывается как обычная и не имеет canonical — это открытая дверь для бесконечных дублей.
  5. Прогоните сайт краулером и отсортируйте страницы по совпадению заголовков и объёма текста.
  6. Проверьте отчёт «Страницы в поиске» в панели вебмастера — исключённые дубли там перечислены явно.

Быстрый тест на параметры. Откройте site.ru/catalog/?abc=123. Страница открылась, в коде нет тега canonical на чистый адрес — значит, любой рекламный или партнёрский хвост создаёт новую страницу для индексации.

Чем склеивать: три инструмента

301-редирект — когда одна версия адреса заведомо лишняя: www, http, лишний слэш, index.php, заглавные буквы. Настройка разобрана в отдельной инструкции по 301.

Канонический адрес — когда обе версии должны открываться: страница с параметрами сортировки, товар в нескольких категориях, версия для печати.

<link rel="canonical" href="https://site.ru/catalog/divany/">

Правила индексации — для служебных разделов, которые не нужны в поиске: корзина, сравнение, результаты внутреннего поиска, личный кабинет.

Что настроить один раз и забыть

  • Одна версия домена: выберите с www или без и склейте вторую редиректом.
  • Только https, http отдаёт 301.
  • Единый формат слэша в конце адресов по всему сайту.
  • Приведение адресов к нижнему регистру.
  • Canonical на всех страницах, где возможны параметры.
  • Внутренние ссылки ведут на канонический вариант напрямую, без цепочки редиректов.

Эти шесть пунктов закрывают подавляющее большинство адресных дублей. Оставшиеся почти всегда связаны со структурой каталога — о ней в материале про структуру URL интернет-магазина.

Готовые правила для типовых склеек

Большинство адресных дублей закрывается несколькими строками в .htaccess. Правила добавляются после RewriteEngine On и применяются сверху вниз.

# Только https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Без www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Убираем index.php из адреса
RewriteCond %{THE_REQUEST} /index\.php[\s?] [NC]
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

# Всегда слэш в конце
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

Правила для регистра сложнее и зависят от сервера — надёжнее решать задачу на стороне приложения, приводя путь к нижнему регистру до маршрутизации. Общий разбор перенаправлений — в инструкции по 301-редиректу.

Как правильно ставить canonical

Канонический адрес — не универсальное лекарство, и ошибок с ним не меньше, чем с редиректами.

  • Абсолютный адрес. Относительный путь в canonical работает не везде — пишите полный, с протоколом и доменом.
  • Один тег на странице. Два разных canonical означают, что система проигнорирует оба.
  • Каноническая страница отдаёт 200. Ссылка на редирект или на ошибку обесценивает тег.
  • Canonical на самого себя. Для обычных страниц это нормальная практика, а не избыточность.
  • Не путать с редиректом. Если вторая версия адреса не нужна пользователю вообще — нужен 301, а не canonical.

Что проверять регулярно

Адресные дубли появляются не только при запуске: их приносят новые модули, рекламные кампании и правки шаблона. Раз в квартал имеет смысл повторить короткий аудит:

  1. Четыре варианта главной страницы — три из них отдают 301.
  2. Произвольный адрес со слэшем и без — один перенаправляет на другой.
  3. Адрес с произвольным параметром — canonical указывает на чистый вариант.
  4. Отчёт «Страницы в поиске» — исключённых дублей не прибавилось.
  5. Внутренние ссылки не ведут через цепочки редиректов.

Пять проверок занимают меньше получаса и ловят почти все регрессии.

Частые вопросы

Слэш в конце адреса — нужен или нет?

Технически безразлично. Важно другое: выберите один формат для всего сайта, а второй перенаправляйте на него постоянным редиректом.

Штрафуют ли поисковые системы за дубли?

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

Достаточно ли только canonical без редиректов?

Канонический адрес — рекомендация, а не команда. Там, где вторая версия адреса заведомо лишняя, надёжнее поставить 301-редирект.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также