Каждый URL может нести в себе скрытые инструкции для сервера. GET-параметры — те самые части адреса после знака вопроса — передают данные от браузера на сайт: какой товар искать, по какой цене фильтровать, с какой рекламы пришёл пользователь.
Без них невозможна работа поиска, каталогов и рекламной аналитики. Но если за ними не следить, те же параметры создают тысячи дублей страниц, распыляют краулинговый бюджет и размывают сигналы, которые поисковики собирают о вашем контенте.
Разберём, как устроены GET-параметры, где их использовать и как грамотно настроить индексацию.
Как устроен URL с GET-параметрами
Стандартный URL с параметрами выглядит так:
https://site.com/page?key1=value1&key2=value2&key3=value3
Значения параметров кодируются: пробелы — %20, спецсимволы (%, ?, #, &, =) — принудительно. Кириллица в URL также преобразуется в процентные последовательности.
Где используются GET-параметры
Четыре типовых сценария покрывают 90 % всех случаев использования GET-параметров на реальных сайтах.
Поиск. Пользователь вводит запрос — он передаётся как параметр q (или query, s, search). Сервер возвращает релевантные результаты. Самый частый и безопасный для SEO кейс.
Фильтрация. Каталог интернет-магазина. Категория, бренд, диапазон цен — каждый фильтр добавляет свой параметр. Комбинации создают десятки и сотни URL, и здесь начинаются проблемы с дублями.
Пагинация. Страницы списка: ?page=2, ?page=3. Каждая страница пагинации — самостоятельный URL с self-canonical.
UTM-метки. Инструмент маркетолога: ?utm_source=vk&utm_campaign=sale. Не меняют контент страницы, но без настройки canonical создают дубли.
GET vs POST: когда что выбирать
Это два базовых метода HTTP. Выбор между ними влияет и на SEO, и на безопасность, и на пользовательский опыт.
Простое правило: если операция читает данные — используйте GET. Если создаёт, изменяет или удаляет — POST (или PUT/PATCH/DELETE).
GET для изменения состояния — частая ошибка начинающих разработчиков. Нажатие на ссылку с GET-параметром может случайно удалить запись, оформить заказ или подписать пользователя на рассылку. Браузер кэширует такие запросы, а злоумышленник может встроить ссылку на сторонний сайт и выполнить действие от лица жертвы (CSRF-атака).
GET-параметры и SEO: главная проблема
Одна страница, доступная по нескольким десяткам URL — вот что такое неконтролируемые GET-параметры для поисковой оптимизации.
Представьте: товар в каталоге открывается по адресу /catalog/item. Но он также доступен через /catalog/item?color=red, /catalog/item?color=red&size=m, /catalog/item?sort=price, /catalog/item?utm_source=vk&utm_campaign=sale. Все эти адреса ведут на один и тот же контент, но поисковик видит их как разные страницы.
Последствия:
- Краулинговый бюджет тратится впустую — робот перебирает комбинации параметров вместо новых страниц
- Ссылочный вес распыляется — внешние ссылки могут вести на разные версии одного контента
- Замедление индексации — важные страницы индексируются медленнее из-за шума в краулинге
Порядок действий: от приоритетного к опциональному
1. Canonical — самый надёжный способ указать поисковику основную версию страницы. Google явно рекомендует canonical как основной инструмент консолидации дублей, а robots.txt для этих целей — нет.
Для страниц, которые не меняют содержание от параметров (UTM, сессия):
<link rel="canonical" href="https://site.com/page">
Для страниц, где параметры меняют содержание (фильтр + категория), используйте self-canonical:
<link rel="canonical" href="https://site.com/catalog?category=electronics&brand=x">
2. Чистые внутренние ссылки — ссылайтесь на канонические версии внутри сайта. UTM-метки, gclid и fbclid не должны появляться в меню, футере и хлебных крошках.
3. Яндекс Clean-param — позволяет игнорировать параметры при индексации, не блокируя обход страницы:
Clean-Param: utm_source utm_medium utm_campaign utm_term utm_content fbclid gclid
4. Robots.txt — избирательно. Блокируйте только те параметры, которые создают бесконечные пространства URL: служебные параметры сортировки, представления, календари. Для трекинговых меток robots.txt — опционально.
# Блокируем только бесконечные пространства
Disallow: /*?*sort=
Disallow: /*?*view=
Disallow: /*?*print=
Важно: Disallow в robots.txt блокирует краулинг, но не гарантирует отсутствие URL в индексе. Если на страницу ведут внешние ссылки, Google может проиндексировать её без краулинга. Подробнее — в документации Google Search Central.
UTM-метки без вреда для SEO
UTM — частый источник дублей. Они не меняют контент, но генерируют множество URL. Вот безопасный подход:
- Canonical — на чистый URL без меток (обязательно)
- Чистые внутренние ссылки — UTM только в рекламных ссылках, никогда в навигации сайта
- Очистка на клиенте — считывайте UTM в аналитику и чистите адрес через History API (опционально, для пользовательского опыта)
- Robots.txt — по необходимости. Если UTM-параметры создают проблемы с краулингом, добавьте
Disallow: /*?*utm_
Пример очистки на JavaScript:
const params = new URLSearchParams(window.location.search);
const utmData = {};
['utm_source','utm_medium','utm_campaign','utm_content','utm_term'].forEach(p => {
if (params.has(p)) utmData[p] = params.get(p);
});
const cleanUrl = window.location.origin + window.location.pathname;
window.history.replaceState({}, document.title, cleanUrl);
// utmData готов для отправки в аналитику
Безопасность
GET-параметры открыты — их видит каждый, кто смотрит в адресную строку. Этим пользуются злоумышленники.
Не передавайте секреты через GET, не меняйте состояние базы через URL, валидируйте входные данные, ограничивайте длину адреса. Подробнее о безопасности веб-приложений — в статье про алгоритм Google Penguin.
Коротко о главном
- GET-параметры — основной способ передачи данных от браузера к серверу через URL. Используются для поиска, фильтрации, пагинации и рекламной аналитики
- Главная SEO-проблема — дубли страниц. Приоритет решения: canonical → чистые внутренние ссылки → Clean-param → robots.txt избирательно
- UTM-метки не должны влиять на индексацию — canonical на чистый URL и чистые внутренние ссылки обязательны, robots.txt — опционально
- Не используйте GET для передачи паролей, токенов и изменения состояния — это вопрос безопасности
- Количество параметров не регламентируется поисковиками, но на практике лучше ограничиваться несколькими ключевыми
Если вы не уверены, что ваш сайт правильно обрабатывает параметризованные URL и не теряет краулинговый бюджет, — проведите аудит. Мы поможем найти и устранить проблемы с дублями, canonical и robots.txt. Запишитесь на SEO-аудит сайта — проверим техническое состояние и покажем точки роста.