Короткий ответ
Каннибализация запросов — это когда несколько страниц вашего сайта претендуют на один и тот же запрос, и Google каждый раз заново решает, какую из них показать. Итог: вместо одной страницы в топ-5 у вас две страницы в районе восьмой-пятнадцатой позиции, каждая с половиной сигналов.
Диагноз ставится не по совпадению слов в заголовках, а по данным: если по одному запросу в Search Console чередуются разные URL и средняя позиция скачет от месяца к месяцу, каннибализация есть. Если один URL стабильно держит запрос, а второй иногда мелькает с единичными показами, это норма, лечить нечего.
Почему это вообще вредит
Механика простая: сигналы, по которым Google ранжирует страницу, делятся между конкурентами.
Делятся внешние ссылки. Кто-то сослался на статью, а кто-то на страницу услуги. Вместо одного URL с десятью ссылками получается два по пять.
Делятся внутренние ссылки и анкоры. Это самая частая внутренняя причина: одинаковый анкор из меню и из статей ведёт то на одну страницу, то на другую, и Google получает два кандидата на одну фразу. Как это распутывается, я разбирал в статье про внутреннюю перелинковку. Там же типовая ошибка «анкоры одной фразой ведут на обе страницы».
Делятся поведенческие сигналы. Клики и возвраты в выдачу размазываются по двум URL, и ни один не накапливает историю по запросу.
Google тратит обход впустую. Две страницы под один интент — это две страницы, которые нужно краулить, рендерить и переоценивать. На небольшом сайте это неважно, на каталоге в десятки тысяч URL это уже заметная часть краулингового бюджета.
Отдельный неприятный эффект — нестабильность. Даже если суммарный трафик держится, вы не можете внятно отчитаться о позициях: они прыгают не потому, что что-то менялось, а потому что Google переключается между вашими же страницами.
Как отличить каннибализацию от нормы
Две страницы про одно и то же не всегда проблема: Google спокойно держит в выдаче обе, когда они отвечают на разные интенты.
| Ситуация | Каннибализация? | Что с этим делать |
|---|---|---|
| «Что такое X» в блоге и «Услуга X» в разделе услуг | Нет, если тексты не пересекаются | Развести формулировки, поставить ссылку из статьи на услугу |
| Две статьи в блоге под один вопрос разными словами | Да | Объединить в одну, вторую под 301 |
| Страница категории и страница фильтра по той же категории | Да | Canonical на категорию или закрыть фильтр от индексации |
| Русская и эстонская версии одной страницы | Нет | Проверить hreflang |
| Страница услуги и страница «услуга + город» | Зависит | Если города различаются только названием в заголовке, это дубли |
| Статья и её же версия для печати / AMP | Да | Canonical на основную версию |
Проверочный вопрос, который я задаю себе перед тем, как что-то менять: если бы обе страницы существовали у конкурента, какую я бы открыл в выдаче Google по этому запросу? Если ответ «любую, разницы нет», их надо объединять. Если «зависит от того, что мне нужно», интенты разные, и правильная работа здесь не слияние, а более чёткое разведение.
Как найти каннибализацию в Search Console
Search Console бесплатна и точнее любого стороннего сервиса, потому что показывает реальную выдачу для вашего сайта, а не догадки.
- Откройте отчёт «Эффективность» и поставьте период 3–6 месяцев. На двух неделях чередование URL просто не наберёт статистики.
- Перейдите на вкладку «Запросы» и выберите запрос, который вас интересует. Обычно начинают с тех, где много показов и мало кликов.
- Не снимая фильтр по запросу, переключитесь на вкладку «Страницы». Здесь и виден диагноз: сколько URL показывалось по этому запросу.
- Посмотрите распределение. Один URL с 95% показов это норма. Два URL по 40–50% — каннибализация.
- Проверьте динамику. Сравните два соседних периода: если ведущий URL по запросу сменился, Google до сих пор не определился.
- Повторите в обратную сторону: возьмите страницу, отфильтруйте по ней и посмотрите её запросы. Если страница собирает показы по запросам, под которые она вообще не писалась, она перетягивает чужой кластер.
Вспомогательный приём: поиск оператором site: по ключевой фразе: site:вашсайт.ee фраза. Он показывает, какие страницы Google вообще считает релевантными теме. Это грубая проверка и не замена Search Console, но за минуту даёт список кандидатов.
Что не является методом диагностики: сравнение заголовков глазами и плагины, которые ищут пересечение ключей в текстах. Они находят совпадение слов, а конкуренцию за запрос видно только в Search Console.
Откуда каннибализация берётся
По моим наблюдениям, в большинстве случаев её создаёт не автор текстов, а сама CMS.
Движок и шаблоны. Теги в WordPress, страницы архивов по датам и авторам, пагинация категорий, версии для печати. Всё это генерируется автоматически и попадает в индекс, если никто не сказал обратного.
Фильтры и параметры в магазине. Категория «диваны» и она же с параметром «сортировка по цене»: для Google это две страницы с почти одинаковым содержимым.
Рост блога без плана. Три статьи, написанные в разные годы под один и тот же вопрос разными словами. Это следствие того, что материалы пишутся по темам, а не по кластерам запросов: без кластеризации новая статья почти неизбежно перекрывает старую, и Google начинает выбирать между ними.
Отсутствие структуры под ядро. Если страницы не разложены по интентам заранее, перекрытия появляются сами собой, и Google получает на один запрос несколько кандидатов. Это чинится на уровне структуры сайта, выведенной из семантического ядра, а не правкой отдельных текстов.
Страницы «услуга + город». Пять страниц, различающихся названием города в заголовке, — классический источник каннибализации на локальных рынках. Если на странице нет ничего локального, кроме подстановки, Google справедливо считает их одной страницей.
Что делать: четыре сценария
Универсального «удалите лишнюю» не существует. Выбор зависит от того, что несёт слабая страница: трафик в Search Console, внешние ссылки или собственный интент.
1. Объединить. Подходит, когда обе страницы про одно и то же и обе слабые. Берёте лучшую как основу, переносите в неё те куски второй, которых в первой нет, ставите с неё 301 на первую и переписываете внутренние ссылки на новый адрес. Редирект без переноса содержимого — половина работы: вы сохраните ссылочный вес, но потеряете текст, за который страница что-то собирала.
2. Развести интенты. Подходит, когда страницы всё-таки разные, но написаны нечётко. Из информационной статьи убираются коммерческие формулировки («заказать», «цена», «стоимость»), а из коммерческой убирается попытка объяснить теорию на три экрана. После этого статья ссылается на услугу, а не конкурирует с ней.
3. Свести техническими средствами. Для фильтров, пагинации, параметров и служебных страниц: rel="canonical" на основную версию либо noindex, если страница вообще не нужна в выдаче. Здесь важно не перепутать: canonical — подсказка, и Google её иногда игнорирует; noindex — команда.
4. Удалить. Последний вариант, и только для страниц без трафика, без ссылок и без смысла. Всё остальное лучше перенаправить.
После любой из операций пройдите сайт краулером вроде Screaming Frog и проверьте, что на изменённые страницы не осталось ссылок со старыми анкорами: иначе вы восстановите конкуренцию своими руками через месяц.
Что я вижу на своих проектах
Каннибализация почти никогда не бывает единственной проблемой сайта, и я не встречал случая, когда её устранение само по себе меняло картину трафика в разы. Она работает иначе: снимает потолок там, где страница уже близка к топ-10 и не может через него пройти.
Первое: чаще всего пары находятся не там, где их ждёшь. Владелец сайта подозревает две похожие статьи, а по данным конкурируют страница услуги и страница тега, о существовании которой он не знал. Поэтому диагностика начинается с отчёта Search Console, а не с гипотезы.
Второе: на многоязычных сайтах в Эстонии я регулярно вижу мнимую каннибализацию: эстонская и русская версии одной страницы, у которых не размечен hreflang. Выглядит как конкуренция, лечится не слиянием, а разметкой. Ошибка дорогая: пользователь получает в выдаче Google версию на языке, которым не пользуется, и уходит.
Третье, про границы применимости: на сайте до 30–40 страниц каннибализацию проще предотвратить структурой, чем искать. На каталоге в десятки тысяч URL ручной разбор по запросам невозможен, и работа идёт с шаблонами: правилами индексации фильтров, canonical и пагинации, а не с отдельными страницами. Метод из этой статьи рассчитан на первый случай.
Если после объединения страниц позиции просели на пару недель — это нормально: Google переоценивает объединённый URL. Тревожиться стоит, если через месяц ситуация не выправилась.
Чек-лист: разобрать каннибализацию за один заход
- Выпишите 15–20 главных запросов сайта: из семантического ядра или из отчёта по показам.
- По каждому посмотрите в Search Console, сколько URL по нему показывалось за 3–6 месяцев.
- Отметьте запросы, где два и более URL делят показы, а позиция нестабильна.
- Для каждой пары ответьте, разный ли у страниц интент.
- Выберите победителя по трафику, ссылкам и соответствию интенту, а не по дате публикации.
- Примените сценарий: объединить, развести, свести canonical или удалить.
- Перепишите внутренние ссылки и анкоры так, чтобы ключевая фраза вела на одну страницу.
- Проверьте языковые версии: не считает ли Google их дублями.
- Вернитесь к отчёту через месяц и убедитесь, что по запросу остался один URL.
Если по ходу выяснится, что перекрытия идут не от текстов, а от шаблонов (плодятся страницы фильтров, тегов и пагинации), правкой контента это не закрывается: нужны правила индексации на уровне движка, то есть веб-разработка. А когда таких перекрытий десятки и они завязаны на структуру каталога, разбирать их поштучно бессмысленно — это работа по SEO-продвижению с пересборки структуры.
