Wiki · Техническая оптимизация
Идентификатор сессии
Идентификатор сессии (session ID) – это уникальная строка, которую сервер выдаёт посетителю, чтобы узнавать его на следующих запросах: помнить корзину, вход в личный кабинет, выбранный город. Обычно он хранится в cookie, реже передаётся прямо в адресе страницы.
Протокол HTTP ничего не помнит: каждый запрос для сервера новый. Человек положил товар в корзину, перешёл на другую страницу, и без идентификатора сервер не узнал бы его. Пока ID живёт в cookie, его никто не видит. Проблемы для SEO начинаются, когда он попадает в URL.
Как сервер узнаёт посетителя по идентификатору
- При первом заходе сервер создаёт сессию: запись, где будут храниться данные посетителя.
- Сервер отправляет браузеру её номер. В PHP cookie по умолчанию называется PHPSESSID, в Java JSESSIONID, в ASP.NET ASP.NET_SessionId.
- Браузер прикладывает этот номер к каждому следующему запросу, и сервер находит по нему корзину и авторизацию.

Не путайте с сессией в веб-аналитике. Там так называют визит, серию просмотров одного человека, которую считает Метрика или Google Analytics, и к серверному идентификатору она отношения не имеет.
Как PHPSESSID в адресе плодит дубли
Если cookie отключены или сайт настроен по старинке, сервер дописывает ID к каждой ссылке. Адреса выглядят так (условный пример):
/catalog/smesiteli/?PHPSESSID=8f3a1c07d2 /catalog/smesiteli/?PHPSESSID=b72e90a4f1 /catalog/smesiteli/;jsessionid=5C1F0A9E
Поисковый робот обычно не хранит cookie между визитами, поэтому при каждом обходе получает новый идентификатор и новый набор адресов с тем же содержимым.
Чаще всего такое встречается на старых магазинах и форумах на самописных движках, на Java-платформах с хвостом ;jsessionid и в корзине, сравнении и личном кабинете. Похожим образом адреса размножают метки UTM и сортировки, и лечатся они теми же способами.
Чем это оборачивается для SEO:
- Появляется дублированный контент: одна страница под множеством адресов.
- Робот тратит краулинговый бюджет на копии и позже доходит до новых страниц.
- Ссылки, которыми делятся люди, ведут на разные адреса, и сигналы распыляются.
- В выдачу попадает адрес с чужим идентификатором.
Google в рекомендациях по структуре URL прямо называет такие идентификаторы источником лишних дублей и советует держать их в cookie.

Как найти адреса с сессией и убрать её из URL
Прогоните сайт краулером и отфильтруйте URL с параметрами sid, sessid, PHPSESSID, jsessionid. В Яндекс Вебмастере посмотрите исключённые страницы и дубли, в Search Console отчёт об индексировании с причинами вроде «Страница является копией». По логам сервера, если они доступны, видно, сколько обходов робота уходит на такие адреса впустую.
Вручную это видно так: отключите cookie в браузере и пройдите по цепочке каталог, товар, корзина. Появился в адресной строке параметр с длинной случайной строкой, значит, идентификатор идёт через URL. Заодно посмотрите исходный код: иногда ID вшит прямо в ссылки меню и виден только там.
Когда адреса найдены, порядок такой:
- Хранить идентификатор только в cookie. В PHP за это отвечают настройки session.use_only_cookies и session.use_trans_sid: первая должна быть включена, вторая выключена. В современных версиях это значения по умолчанию, но старые конфигурации их иногда меняют.
- Для адресов с ID, которые уже попали в индекс, настроить 301 редирект на адрес без параметра или указать canonical на чистую версию.
- Для Яндекса добавить в robots.txt директиву Clean-param: робот будет считать адреса с разными значениями параметра одной страницей.

User-agent: Yandex Clean-param: PHPSESSID&sid
Google директиву Clean-param не поддерживает, а инструмент параметров URL в Search Console он отключил в 2022 году. Для Google опора на редиректы и canonical. Закрывать такие адреса через Disallow хуже: робот не сможет зайти на страницу и не увидит canonical.
Чем идентификатор в ссылке опасен для аккаунтов
ID в адресе легко утекает: через пересланную ссылку, скриншот, заголовок Referer при переходе на другой сайт. Тот, кто получил идентификатор, может оказаться в чужой сессии. Поэтому сессию защищают: передают ID только в cookie с флагами HttpOnly, Secure и SameSite, выдают новый идентификатор после входа в аккаунт и не принимают ID, которые сервер не создавал. Чинит это разработчик, а замечает проблему часто SEO-специалист по выгрузке адресов.
jsessionid, срок жизни сессии и Clean-param
Что за ;jsessionid в конце адреса и как от него избавиться?
Так Java-серверы вроде Tomcat передают номер сессии, пока не знают, примет ли браузер cookie: в первом ответе они дописывают его ко всем ссылкам. Робот cookie не хранит и видит этот хвост постоянно. Лечится настройкой приложения: в конфигурации сессий оставляют только отслеживание через cookie (tracking-mode COOKIE), а старые адреса с хвостом склеивают редиректом.
Почему истекает срок действия идентификатора сессии?
Сервер не хранит сессии вечно: если посетитель долго ничего не делает, данные удаляются, и старый номер становится недействительным. В PHP по умолчанию это около 24 минут бездействия (session.gc_maxlifetime равен 1440 секундам), а сама cookie живёт до закрытия браузера. Поэтому после перерыва вход и корзина слетают, если сайт не хранит их отдельно.
Чем идентификатор сессии отличается от обычной cookie?
Cookie только контейнер: небольшая запись, которую браузер хранит и отправляет сайту с каждым запросом. Идентификатор сессии лишь одно из значений в ней, сам по себе он ничего не содержит, а корзина и данные входа лежат на сервере.
Зачем после входа в аккаунт сайт выдаёт новый идентификатор?
Чтобы номер, который посторонний мог узнать до входа, не стал ключом от аккаунта. Если злоумышленник подсунул ссылку со своим ID, а сервер сохранил этот номер после авторизации, он окажется внутри чужой сессии. Новый номер после входа обрывает такую схему.
Как узнать имя параметра сессии, чтобы прописать его в Clean-param?
Оно стоит в самих адресах перед знаком «=»: PHPSESSID, sid, sessid и похожие. Соберите такие имена из выгрузки краулера или исключённых страниц в Вебмастере и перечислите в robots.txt через «&» в том же написании, что и в URL. Хвосту ;jsessionid это не поможет: он часть пути, а не параметр после «?».
Параметры сессий, дубли и обход сайта роботами проверяем при техническом аудите сайта. Если проблема связана с защитой сессий, подключаем информационную безопасность сайтов.
Документация Яндекса, Google и PHP о параметрах сессий
- Справка Яндекс Вебмастера: директива Clean-param
- Google Search Central: рекомендации по структуре URL
- Документация PHP: настройки сессий session.use_only_cookies и session.use_trans_sid
См. также: Robots.txt, Дублированный контент, Динамический URL, Файлы cookies.
Остались вопросы по теме «Идентификатор сессии»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ПимкинВедущий SEO-специалистНад статьёй работали
Услуги
Услуги по теме
Кейсы
Кейсы по теме
Маркетинг · Медицина, центр репродуктивной медицины
SEO-продвижение клиники «Три Сердца»
Посетителей в 5,5 раза большеНа январь 2025 года: 5 500 посетителей в неделю вместо 1 000, обращение стоит 60–70 ₽
Маркетинг · Медицина
SEO-продвижение медцентра «Медюнион»
10 000 обращений в месяц из интернета3 года работы, ноябрь 2018 – октябрь 2021: больше 1 000 фраз в ТОП-10 при цели 800
Тарифы
Тарифы по теме
Стартовый тариф для небольшого бизнеса: наводим порядок на сайте и получаем первые заявки из Яндекса и Google.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Тариф для растущего бизнеса. Работаем на количество заявок: считаем звонки через коллтрекинг и дорабатываем сайт под конверсию.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Для масштабирования бизнеса: SEO, A/B-тесты, карточки в Яндекс.Бизнесе и 2ГИС, техподдержка сайта. Нейросети берут на себя рутину, итог проверяют специалисты.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Проверим ваш сайт бесплатно
Экспресс-аудит за 24 часа: скорость, индексация, мета-теги, коммерческие факторы и цели Метрики.


