Как я находила конкурирующие страницы
На двух проектах — start2talk.ru и print71.biz — мне пришлось разбирать внутреннюю конкуренцию между страницами. В обоих случаях проблема выглядела по-разному.
На start2talk.ru часть поисковых кластеров распределялась между несколькими посадочными, менялся релевантный адрес, а дополнительную путаницу создавали правила canonical.
На print71.biz сначала нужно было найти семантически близкие документы, затем проверить их по поисковым данным, старой структуре URL, редиректам и истории ранжирования.
Этот кейс хорошо показывает, почему каннибализацию нельзя определять только по одинаковым ключевым словам или похожим Title.
Что я считаю конкуренцией страниц
Проблема возникает, когда несколько документов пересекаются по одному поисковому интенту, а поисковая система:
- выбирает страницу, которая не соответствует задуманной структуре сайта;
- регулярно переключается между несколькими адресами;
- распределяет один кластер между несколькими слишком похожими посадочными.
При этом ни один из этих признаков сам по себе не является окончательным доказательством.
Например, если вместо назначенного SEO-специалистом адреса ранжируется другой, это ещё не означает каннибализацию. Возможно, именно второй документ лучше отвечает интенту.
Поэтому я проверяю одновременно поисковые данные, назначение страниц, историю ранжирования и технические сигналы.
С чего началась проверка start2talk.ru
На start2talk.ru было много близких направлений:
- общий английский;
- английский для взрослых;
- английский с нуля;
- программы для детей;
- деловой английский;
- корпоративное обучение;
- разговорный клуб.
У каждой такой группы были основные, старые и вспомогательные посадочные.
Например, внутри одного направления могли одновременно существовать:
/english/
/adults/
/kursy-online/anglijskij/
а для английского с нуля:
/english-start/
и старый адрес:
/kursy-online/anglijskij/anglijskij-s-nulya-online/.
На уровне структуры это ещё не доказывало проблему. Нужно было понять, какие страницы действительно имеют самостоятельный интент, а какие поисковая система воспринимает как альтернативы друг другу.
Как я искала переключения в Топвизоре
Первым источником был Топвизор.
Для каждого кластера я смотрела не только позицию запроса, но и релевантную страницу.
Один из наиболее сильных сигналов возможной каннибализации — регулярная смена релевантного URL внутри одного кластера.
Например:
| Дата | Позиция | Релевантная страница |
|---|---|---|
| 13 февраля | 3 | /english-start/ |
| 30 марта | 2 | /english-start/ |
| 15 июня | 22 | старый URL /kursy-online/.../anglijskij-s-nulya-online/ |
Здесь интересна не только просадка с 2-й до 22-й позиции.
Важнее, что одновременно Google заменил целевую посадочную старой версией.
Такой случай уже имеет смысл разбирать как возможную внутреннюю конкуренцию.
Что показала общая выгрузка
По данным моего внутреннего анализа Топвизора на 15 июня 2026 года, смена релевантного адреса между проверками была зафиксирована:
- у 462 отслеживаемых запросов в Google;
- у 477 запросов в Яндексе.
Это не означает, что я нашла 939 подтверждённых случаев каннибализации.
Это был именно первичный список для проверки.
Часть смен могла быть нормальной, поэтому дальше я разбирала кластеры отдельно.
Что происходило с общим кластером английского
В Google запросы общего английского на момент проверки распределялись между несколькими документами.
Среди них были:
/adults/;/kursy-online/anglijskij/;/english-fast/;- главная.
В Яндексе распределение тоже оказалось неоднородным.
Это заставило проверить не только контент, но и canonical.
И здесь обнаружилась важная техническая проблема.
Как canonical вмешался в распределение интентов
У /english/ был установлен canonical на /adults/.
Но логика этих документов разная:
/english/ — общий английский;
/adults/ — английский для взрослых.
То есть более общий документ передавал canonical на более узкий.
Дополнительно существовало правило:
/kursy-online/anglijskij/ → /english/
а /english/, в свою очередь, указывал на /adults/.
Фактически получалась цепочка сигналов между страницами с разным назначением.
В техническом задании я поэтому вынесла отдельное правило: для самостоятельных индексируемых посадочных оставить собственный canonical, а старые полные дубли рассматривать отдельно.
Для /english/ рекомендация была вернуть self canonical, а /adults/ закрепить именно за интентом «английский для взрослых».
Почему canonical нельзя использовать как универсальное средство от каннибализации
На проекте были и другие похожие ситуации.
Например:
/boostup/ → /adults/;
/professional-english/ → /adults/.
Если это самостоятельные курсы с собственным спросом и содержанием, механически канонизировать их на родительский раздел не стоит.
То же самое относилось к возрастным программам:
/small-star/;/young-star/;/school-star/.
У них может быть близкая тематика, но разные возрастные группы и разные посадочные задачи.
Поэтому решение принималось не по принципу:
страницы похожи → ставим canonical.
Сначала я определяла, является ли второй адрес настоящим дублем.
Если нет — разделяла интенты.
Пример реального переключения: английский с нуля
Особенно показательной оказалась группа «английский с нуля».
Основной посадочной была:
/english-start/.
Но существовал старый адрес:
/kursy-online/anglijskij/anglijskij-s-nulya-online/.
По запросу «английский с нуля онлайн» Google сначала показывал /english-start/, а к проверке 15 июня релевантным стал старый адрес.
Здесь уже совпало сразу несколько сигналов:
- один интент;
- старая и новая посадочные;
- смена релевантного документа;
- заметное изменение позиции.
Поэтому для старого полного дубля я рекомендовала не ограничиваться canonical, а рассмотреть 301 на основную страницу.
Для start2talk.ru это был один из случаев, где техническое устранение дубля было логичнее дальнейшего разведения контента.
Не все похожие страницы пришлось объединять
Хороший обратный пример — детские программы.
В Google часть детского кластера распределялась между:
/small-star/
и
/children/anglijskij/.
В Яндексе встречались также:
/young-star/;/children/;/school-star/.
Если смотреть только на количество разных адресов, можно решить, что все они конкурируют.
Но это было бы слишком грубым выводом.
/children/ может отвечать за весь детский раздел, /children/anglijskij/ — за английский для детей, а Small Star, Young Star и School Star — за отдельные возрастные программы.
Поэтому здесь задача состояла не в том, чтобы склеить всё в одну страницу, а в том, чтобы сделать границы между ними понятнее.
Статья и коммерческая страница тоже могут пересекаться
Ещё один показательный случай — деловой английский.
На сайте была коммерческая посадочная:
/business-partner/
и информационная статья о деловом английском.
По данным проверки статья могла забирать запрос, по которому ожидалась коммерческая страница.
Но это не повод ставить статье canonical на услугу.
Информационный материал и курс имеют разные задачи.
В таком случае я смотрю:
- какие запросы должны остаться у статьи;
- какие относятся к коммерческой посадочной;
- насколько отличаются Title и H1;
- что находится на первом экране;
- как настроена внутренняя перелинковка.
То есть решение — развести информационный и коммерческий интент, а не пытаться технически склеить разные документы.
Почему я дополнительно смотрела трафик
Одновременно с Топвизором я сравнила посещаемость групп до и после периода изменений.
Это не использовалось как доказательство того, что просадку вызвал canonical. Совпадение по времени показывает только направление для проверки.
Например, по внутреннему анализу группы english-start визиты за январь–февраль и апрель–май снизились с 478 до 129.
При этом отдельная группа small-star, наоборот, выросла с 11 до 36 визитов.
Такая разная динамика как раз показывает, почему нельзя делать вывод:
изменили canonical — весь сайт просел из-за canonical.
Каждый кластер нужно проверять отдельно.
Второй проект: как я искала проблему на print71.biz
На print71.biz подход был другим.
Сайт содержал много товарных и категорийных страниц:
- наружная реклама;
- вывески;
- полиграфия;
- листовки;
- сувенирная продукция;
- флаги;
- флажки;
- печать на одежде;
- деловая полиграфия.
Просматривать вручную каждую возможную пару было неэффективно.
Поэтому сначала я использовала Screaming Frog с embeddings и Semantic Similarity, чтобы найти документы с высокой смысловой близостью. В результате для страниц можно было получить ближайший семантически похожий адрес, коэффициент сходства и количество похожих документов.
Рабочие красная и жёлтая зоны
Здесь важно уточнение.
В этом конкретном аудите я использовала собственную рабочую шкалу, а не норматив Screaming Frog:
- от примерно 0,97 — высокий приоритет ручной проверки;
- 0,94–0,97 — дополнительная проверка.
Сам Screaming Frog использует настраиваемый порог Semantic Similarity; высокая близость не означает автоматически наличие SEO-проблемы.
Мои зоны были нужны только для сортировки большого списка.
В аудите таким способом было выделено 14 наиболее заметных узлов потенциального пересечения.
Что нашлось на print71.biz
Один из характерных примеров:
/naruzhnaya-reklama
и страницы вывесок внутри этого раздела.
На общей странице наружной рекламы оказалось слишком много содержания именно про вывески. Это затрагивало не только обычный текст, но и подзаголовки.
В результате граница получалась размытой:
категория должна была отвечать на общий запрос по наружной рекламе;
подкатегория — на конкретный спрос по вывескам.
Но общий раздел начинал слишком подробно отвечать на интент дочерней услуги.
Это уже не ситуация «два одинаковых ключа в тексте», а архитектурная проблема.
Ещё один тип пересечения — почти одинаковые продукты
В список кандидатов также попала пара:
/brendirovannaya-produkciya/flazhki
и
/brendirovannaya-produkciya/flagi.
В аудите было отмечено, что в описаниях использовались одинаковые интенты.
Но и здесь Semantic Similarity был только первым фильтром.
После обнаружения пары нужно решить:
- это действительно разные продукты;
- существует ли для каждого отдельный поисковый спрос;
- можно ли развести назначение;
- или две посадочные фактически повторяют друг друга.
Если самостоятельной роли нет, рассматривается объединение.
Если продукты различаются — лучше развести содержание.
Перелинковка тоже оказалась частью проблемы
При анализе print71.biz выяснилось, что некоторые семантически связанные страницы плохо связывались между собой, зато ссылались на документы из других кластеров.
Это важно, потому что поисковик получает сигналы не только из текста страницы.
Внутренняя структура тоже помогает понять:
- какая страница является общей;
- какая дочерней;
- какая является основной посадочной;
- какие документы только поддерживают выбор.
Поэтому после поиска семантически близких пар я проверяю и анкоры внутренних ссылок.
Какие запросы в зоне 11–30 я дополнительно проверяю
Я отдельно смотрю кластеры, которые долго остаются примерно на позициях 11–30.
Сам диапазон не является признаком каннибализации.
Страница может находиться там из-за конкуренции в выдаче, слабого контента, ссылок, коммерческих факторов или множества других причин.
Но если запрос долго не растёт, я дополнительно смотрю историю релевантного адреса.
Например:
| Дата | Позиция | URL |
|---|---|---|
| 1 июня | 12 | /page-a/ |
| 8 июня | 25 | /page-b/ |
| 15 июня | 14 | /page-a/ |
| 22 июня | 29 | /page-b/ |
Здесь проблема уже не в самом диапазоне 11–30.
Интерес вызывает связь:
сменился документ → заметно изменилась позиция → затем вернулся прежний документ.
Такую группу я беру в ручной анализ.
Практическая схема проверки через Топвизор
После работы с обоими проектами у меня сложился простой алгоритм.
Сначала для кластеров задаю целевые посадочные.
Например:
| Кластер | Целевой URL |
|---|---|
| печать листовок | /poligrafiya/listovki/ |
| вывески | /naruzhnaya-reklama/vyveski/ |
| английский для взрослых | /adults/ |
После этого в Топвизоре сравниваю целевую и фактически релевантную страницу.
В первую выборку попадают случаи, где:
- релевантный адрес не совпадает с выбранным;
- он регулярно меняется;
- при переключениях заметно изменяются позиции;
- один кластер распределяется между несколькими посадочными.
Несовпадение само по себе я не считаю доказательством. Это сильный повод проверить возможную каннибализацию.
Как подключаю Яндекс Вебмастер
Следующий этап — данные Яндекса.
Здесь мне важно понять, что происходит не в мониторинге позиций, а с реальными показами и кликами.
Проверяю:
- какую страницу Яндекс показывает;
- какие запросы получает каждый из подозрительных адресов;
- меняется ли распределение показов;
- когда страница была переобойдена;
- когда поисковик увидел технические изменения.
Последний пункт оказался особенно важен на print71.biz.
Почему дата переобхода важнее предположений
На print71.biz проводился отдельный тест со старыми страницами и noindex.
По двум отслеживаемым адресам Яндекс Вебмастер позже действительно зафиксировал запрет индексации.
Но история Топвизора показала, что старые страницы перестали подменять новые раньше, чем Вебмастер обработал noindex.
По журналам старый /pechat-zhurnalov ещё ранжировался 3 июня, а 12 и 18 июня уже показывался новый адрес. Сам noindex был распознан только 30 июня.
По кружкам старый адрес последний раз появился 26 мая, а новый закрепился с 29 мая. Запрет индексации был обработан 27 июня.
Поэтому я не стала приписывать стабилизацию noindex.
Изменение произошло раньше.
Что показал эксперимент с noindex
Результат этого теста оказался полезным именно потому, что он не подтвердил исходную гипотезу.
По 147 отслеживаемым запросам доля случаев, где показывался именно целевой новый адрес, снизилась со 136 до 128. Старые тестовые страницы уже не появлялись, но их место иногда занимали другие документы сайта.
Особенно проблемы сохранялись в группах:
- визиток;
- баннеров;
- табличек;
- журналов.
То есть убрать старый документ из индекса ещё не означает устранить внутреннюю конкуренцию.
Если структура остаётся размытой, поисковая система может выбрать третью страницу.
Почему эксперимент нельзя было оценивать как чистый
Была и ещё одна проблема: техническая реализация тестовой группы оказалась неодинаковой.
На момент проверки:
- часть старых адресов открывалась самостоятельно;
- часть продолжала редиректить;
- несколько редиректов вели не на согласованные целевые страницы;
- использовались разные сценарии:
200 + noindex, прямой 301, промежуточные переходы.
Поэтому сравнивать всё это как единый эксперимент нельзя.
Это стало ещё одним практическим выводом:
если проверяется влияние конкретного SEO-изменения, тестовые URL должны быть приведены к одному техническому сценарию.
Как проверяю Google Search Console
После Топвизора ту же группу полезно проверить в GSC.
Я иду от запроса и смотрю, какие страницы Google показывал по нему.
Например:
| Страница | Показы | Клики | Средняя позиция |
|---|---|---|---|
/page-a/ |
1 500 | 90 | 8,4 |
/page-b/ |
800 | 14 | 19,2 |
Если обе посадочные получают один коммерческий кластер, сравниваю их назначение.
Если первая — услуга, а вторая — информационная статья, само присутствие двух адресов может быть нормальным.
Если это две практически одинаковые коммерческие страницы, риск уже выше.
Особенно полезно сравнивать периоды до и после изменения структуры.
Как я принимаю решение по каждой паре
После всех проверок у меня обычно получается четыре сценария.
Один интент и фактический дубль
Например, старая и новая версия одной услуги.
Тогда выбираю основной адрес и рассматриваю:
- перенос полезного содержания;
- 301;
- удаление старого адреса из sitemap;
- замену внутренних ссылок.
Страницы похожи, но задачи разные
Например:
наружная реклама → вывески
или:
английский для детей → отдельная возрастная программа.
Тогда обе страницы остаются.
Но развожу:
- Title;
- H1;
- структуру H2;
- первый экран;
- цены;
- примеры;
- FAQ;
- анкоры;
- внутреннюю перелинковку.
В аудите print71.biz именно жёлтая рабочая зона содержала много случаев, где страницы были похожи, но могли иметь самостоятельные интенты. Для них предполагалось прежде всего разведение содержания, а не жёсткая склейка.
Информационная и коммерческая страницы
Не объединяю их автоматически.
Информационный материал оставляю отвечать на вопросы, а коммерческий — на запросы заказа услуги или продукта.
При необходимости корректирую перелинковку между ними.
Технический старый дубль
Если старый URL не имеет собственной задачи, но продолжает появляться в поиске, проверяю 301, canonical, sitemap и внутренние ссылки.
Здесь техническое решение может быть правильнее переписывания текста.
Как выглядит моя итоговая таблица
В работе удобно свести всё в один документ:
| Кластер | Целевой URL | Яндекс | Смена URL | Интент пересекается | Действие | |
|---|---|---|---|---|---|---|
| группа 1 | /page-a/ |
/page-a/ |
/page-a/ |
нет | нет | оставить |
| группа 2 | /page-a/ |
/page-b/ |
/page-a/ |
да | частично | развести |
| группа 3 | /page-c/ |
старый URL | /page-c/ |
да | да | проверить 301 |
| группа 4 | /page-d/ |
статья | /page-d/ |
да | разные интенты | развести контент |
Такая таблица намного полезнее списка «похожих страниц».
Она сразу показывает, почему именно пара попала в аудит и что с ней делать.
Что эти два проекта изменили в моём подходе к каннибализации
После start2talk.ru и print71.biz я перестала рассматривать каннибализацию как простую проверку совпадений ключевых слов.
Сейчас мой порядок такой:
- Определить поисковый интент и целевую посадочную.
- Посмотреть историю релевантных адресов в Топвизоре.
- Проверить реальные показы в Яндекс Вебмастере и Google Search Console.
- Сопоставить даты SEO-изменений и переобхода.
- Проверить canonical, 301, sitemap и внутренние ссылки.
- Для большого сайта найти семантически близкие пары через краулер и embeddings.
- Только после этого выбирать между объединением и разведением страниц.
Так удаётся не закрыть или не перенаправить URL, который на самом деле нужен сайту.
Итог кейса
На start2talk.ru основная сложность была в распределении одного поискового спроса между старыми и новыми посадочными, а также в конфликтующих правилах canonical.
На print71.biz сначала требовалось найти потенциально близкие документы, затем отделить нормальные связи «категория — подкатегория» от настоящих дублей и проверить влияние старой структуры URL.
Самый полезный вывод для меня оказался простым:
каннибализация — это не наличие одинаковых слов на двух страницах. Это ситуация, которую нужно подтверждать сочетанием интента, поведения страниц в выдаче и технических сигналов.
Регулярная смена релевантного адреса — сильный сигнал, но не диагноз.
Нецелевая страница в выдаче — повод для проверки, но не доказательство.
Высокий Semantic Similarity — способ быстро найти кандидатов, а не команда объединить их.
И даже исключение старого URL из индекса не гарантирует, что вместо него поисковик не выберет другую неподходящую страницу.
Поэтому в работе я сначала выясняю почему поисковая система выбирает конкретный документ, а уже потом меняю canonical, ставлю 301, переписываю контент или развожу интенты.
Не растут позиции?
Пришлите адрес сайта.