Параметры в адресах: сессии, метки, сортировка

пошаговая инструкция · Около часа

← Все инструкции

1. Что произошло

В адресах страниц есть служебные параметры: идентификатор сессии, метки отслеживания, сортировка.

2. Почему это важно

Одна страница получает десятки адресов, в индекс попадают копии, а сессии в адресе ещё и раскрывают данные посетителя. После исправления: Чистые адреса в индексе, меньше дублей, лучше сбор сигналов страницы.

3. На каких страницах обнаружено

Адреса с параметрами (sid, PHPSESSID, utm_*, yclid, gclid, sort, order, filter), доступные для индексации без canonical. Список — в глубоком обходе и аудите страниц.

Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/url_params/ваш-сайт.ru.

4. Как исправить

Для phpBB

  1. Адреса с ?sid= появляются, когда у посетителя (в том числе робота) не принимаются cookie. В админке откройте раздел с ботами (Общие → Боты/Поисковые роботы), добавьте поисковых роботов: для них sid в ссылках не выводится. В robots.txt закройте Disallow: /*?sid=.

Общее для любого сайта

  1. Идентификаторы сессии не должны попадать в адрес: отключите передачу сессии в URL (настройки PHP ниже), хранить её нужно в cookie.
  2. Для меток отслеживания (utm_*, yclid, gclid, fbclid) задайте canonical на чистый адрес. Яндексу ещё можно указать директиву Clean-param в robots.txt.
  3. Для страниц сортировки и фильтров поставьте canonical на основную страницу списка или закройте их noindex, а ссылки на сортировку сделайте nofollow.

5. Готовый код

Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.

Любой сайт

php.ini: сессия только через cookie
session.use_trans_sid = 0
session.use_only_cookies = 1
robots.txt: параметры для Яндекса
User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign&utm_term&utm_content&yclid&gclid&fbclid /
Clean-param: sid /
canonical на чистый адрес
<link rel="canonical" href="https://example.com/catalog/">

6. Как проверить результат

  1. canonical ведёт на адрес без параметров.
  2. Запустите глубокий обход повторно: проблемы с параметрами должны исчезнуть.
Есть ли canonical на странице с параметрами
curl -s 'https://example.com/catalog/?utm_source=x&sort=price' | grep -i 'rel="canonical"'

Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».