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

Как понять, что дело именно в каннибализации
Симптомов несколько, и они хорошо заметны, если смотреть не на общий трафик, а на конкретные запросы.
- По одному запросу в отчёте «запросы — страницы» видно два и больше URL, причём они меняются день ото дня.
- Позиция колеблется в широком диапазоне: сегодня второй результат, завтра двенадцатый, послезавтра пятый.
- Новая статья перетягивает показы на себя, но клики не растут — общий трафик по теме стоит на месте.
- Страница, которая раньше была главной по теме, понемногу теряет и показы, и переходы.
Простая проверка: выпишите топ-30 запросов сайта и напротив каждого — URL, который показывался вчера и сегодня. Если адреса не совпадают, у вас есть пересечение, даже когда общая видимость выглядит стабильной.
Откуда берётся конкуренция страниц
Чаще всего виноваты не ошибки, а естественный рост блога. Четыре самых частых сценария.
Дубль по смыслу. Вы писали статью про сбор ядра два года назад, а теперь сделали новую, подробнее. Обе живут в индексе и держатся за одни и те же запросы.
Блог забирает коммерческий запрос. Статья «как выбрать подрядчика» начинает показываться по запросу «seo-продвижение цена», где нужна страница услуги. Пользователь уходит ни с чем, а коммерческая страница теряет показы.
Служебные страницы лезут в выдачу. Архивы тегов, страницы авторов, пагинация и результаты внутреннего поиска иногда ранжируются наравне со статьями и размывают сигналы.
Интент изменился. Запрос был информационным, потом стал коммерческим. Страница осталась той же, и теперь она не подходит спросу, но продолжает тянуть показы.
Как найти пересечения: рабочий порядок
Начинать стоит с бесплатных отчётов, их хватает в большинстве случаев.
- Откройте в Яндекс Вебмастере отчёт по запросам и выгрузите связку «запрос — страница — показы — клики» за последние 28 дней. В Google Search Console то же самое лежит в разделе «Эффективность».
- Отфильтруйте запросы, где на одну строку приходится больше одного URL. В выгрузке это видно по повторяющемуся запросу с разными адресами.
- Отдельно посмотрите запросы, которые «гуляют»: соберите два среза с разницей в неделю и сравните, у каких страниц поменялся адрес.
- Добавьте в таблицу колонку с типом страницы: статья, услуга, категория, тег. Так сразу видно, где пересекаются разные шаблоны.
Дальше решение принимается по интенту запроса, а не по цифрам. Если человек ищет сравнение и цены, победить должна коммерческая страница, а статья — отдать показы и перелинковаться на неё.
Что делать: пять приёмов
Объединить. Две статьи на одну тему склеиваются в одну: сильные абзацы переносятся, вторую страницу закрывают редиректом на первую. Так делают чаще всего, и это самый честный способ — вместо двух средних текстов получается один полный.
Развести по интенту. Если тексты действительно разные, им нужно разное назначение: одна отвечает на вопрос, вторая продаёт. В каждой нужно убрать фразы из чужого кластера и поставить ссылку на соседнюю с пояснением, зачем она нужна.
Закрыть служебное. Архивы тегов и авторов, страницы фильтров и внутреннего поиска обычно не нужны в выдаче: для них подходит noindex. Это заодно освобождает краулинговый бюджет — о том, как он тратится, мы разбирали в материале про обход сайта роботами.
Поставить rel=canonical. Когда дублировать приходится вынужденно — например, товар доступен по нескольким адресам, — канонический адрес указывает поиску главную версию.
Перелинковать. Страницы внутри одного смыслового блока должны ссылаться друг на друга с разными анкорами. Тогда поиск видит структуру, а не набор текстов на близкие темы. Подробнее — в разборе внутренней структуры сайта.
Пример из практики
Инфосайт по недвижимости три месяца не мог выйти в топ по запросу «как проверить квартиру перед покупкой». В отчёте по запросу крутились четыре адреса: старая статья 2022 года, свежая статья с чек-листом, страница рубрики и архив тега. Показы были хорошие, клики — в три раза ниже ожидаемых.
Что сделали: перенесли актуальные блоки из старой статьи в новую, старую закрыли редиректом, рубрику и тег убрали из индекса. Через шесть недель по этому запросу остался один адрес, позиция поднялась с одиннадцатой на четвёртую, а CTR вырос почти вдвое при тех же показах — людям стало понятнее, куда они попадут.
Как не создать проблему заново
- Перед публикацией новой статьи проверьте, нет ли уже материала на эту тему. Дешевле дополнить старый текст, чем потом разбираться с дублем.
- Держите правило: один кластер запросов — одна страница. Сколько кластеров, столько и адресов.
- Следите за пересечениями хотя бы раз в квартал: рост блога сам по себе создаёт новые пары.
- После каждой крупной правки структуры проверяйте пару типовых запросов вручную — так вы поймаете проблему на старте.
Как убедиться, что правки сработали
После разведения страниц не ждите мгновенных изменений: поиску нужно время, чтобы пересобрать выдачу и пересмотреть, какой адрес отвечает за тему. Реалистичный срок — от трёх до восьми недель, при условии, что вы не просто поставили редирект, а привели содержимое в порядок.
Что отслеживать в этот период: количество URL по проблемному запросу (должно остаться один-два), стабильность позиции без скачков, рост CTR при том же числе показов. Если через два месяца адрес по-прежнему «гуляет», вернитесь к интенту: скорее всего, две страницы всё ещё отвечают на один и тот же вопрос, просто разными словами.
Каннибализация — не приговор и не признак плохого SEO. Это нормальный побочный эффект того, что сайт растёт. Задача не в том, чтобы её избежать любой ценой, а в том, чтобы вовремя замечать и разводить страницы до того, как они начнут тянуть друг друга вниз.
