Каннибализация, которую не видит Ahrefs
Сразу к сути, для тех, кто не любит лонгриды: про каннибализацию, которую не видно инструментами на словах. Две страницы могут драться за один смысл без единого общего слова, и ловится это только через векторы.
Полез я как-то разбираться, почему в ответах движка по запросу про выбор объектива для портрета цитируется мой же сайт, но не та страница, которая под этот запрос писалась, а обзор камеры из соседнего раздела. Первым делом, конечно, прогнал обе через инструмент на дублях — ноль совпадений! Потом посмотрел глазами: тоже ничего, обе страницы по отдельности выглядят прекрасно, и формально они про разное. И вот тут стало понятно, что смотреть надо не на слова, а на смысл, — с этого места и начну.
Где слепнет лексика
Классические инструменты против дублей сравнивают слова: совпадение строк, пересечение фраз, шинглы — механика простая и надёжная в своей области.

Область у неё, правда, узкая. Дословные дубли такой подход находит отлично, а дальше начинаются два случая, где он слеп полностью.
Пересказ. Тот же самый смысл, но другие слова: лексическое сходство около нуля, а конкуренция за одно намерение вполне реальная, и обе страницы делят между собой шансы попасть в ответ.
Тематическая тень. Страница A нацелена на запрос X, но её тело так подробно раскрывает тему Y, что начинает конкурировать со страницей B, профильной по этой самой Y.
Ни то, ни другое не видно инструменту, который смотрит только на совпадение строк, и поэтому здесь нужен принципиально другой замер.
Три семантических аудита
Я сделал три проверки, и все три считают близость в векторном пространстве, причём поставщик эмбеддингов не важен: работает и облачный, и локальный, а сами векторы кэшируются.
Поиск пересказов. Пары страниц с высоким косинусом, которые лексический проход пропустил, и вердикт тут обычно один: склеить редиректом в сильнейшую версию.
Поиск теней. Скрытая каннибализация, когда одна страница затеняет другую — механику разберу ниже, она нетривиальная.
Разброс ссылочного веса. Считает разброс страниц вокруг смыслового центра сайта, находит выбросы не по теме и смысловых сирот — страницы, далёкие по смыслу от всех остальных.
Как устроен поиск теней
Тут важна не похожесть вообще, а направление, и это, пожалуй, самое важное место во всём тексте — вот почему.
Для каждой страницы я отдельно считаю вектор заявки — целевой ключ вместе с заголовком — и отдельно вектор тела. Получаются два вектора вместо одного, и дальше работает именно разница между ними, а не каждый по отдельности.
Страница A затеняет страницу B, когда выполняются три условия сразу. Первое: близость между телом A и заявкой B высокая — то есть тело A раскрывает тему B. Второе: близость между заявками A и B низкая — то есть сама A заявляет о себе другое. Третье: разрыв между этими двумя величинами больше порога.
Именно разрыв здесь и есть сигнал, потому что длинное тело против острого ключа даёт умеренный косинус по определению: абсолютное сходство ничего не различает, а разница между телом и заявкой различает хорошо. А что, если считать одну только похожесть, как делают почти все? Тогда в находках окажется чуть ли не весь корпус — на живом корпусе ровно так и вышло, смотри врезку ниже!
Проверить, как движок вообще видит твою страницу, можно бесплатным инструментом — это полезно до всякой семантики.
Чем это отличается от обычного поиска дублей
Чем вообще один инструмент отличается от другого? Разложу все четыре по полочкам, потому что их постоянно путают между собой.
Лексический поиск дублей находит дословные и почти дословные совпадения, и это базовая гигиена корпуса — начинать любую уборку стоит именно с неё. Семантический режим того же инструмента находит пересказы, тот же смысл другими словами.
Поиск теней находит ситуацию, где страница A заявляет тему X, но крадёт цитирование темы Y у страницы B, и это вообще не дубль — ни один инструмент про дубли такое не покажет.
И отдельно стоит проверка намерений по метаданным: два раздела делят одно намерение, и видно это по их описаниям, а не по текстам.
Что делать с находками
Решение целиком зависит от типа находки, и путать эти два типа между собой не стоит.
Дубль или пересказ склеивается редиректом в сильнейшую версию, и тут всё довольно просто: две страницы про одно — это всегда потеря, и вопрос лишь в том, какая из них у тебя выживет.
А вот тень склеивать нельзя! Тень лечится различением: тело страницы A сужается к её собственной теме X, а раскрытие темы Y отдаётся странице B, и на неё же ставится ссылка.
Разница принципиальная: склеив тень, ты потеряешь страницу, которая честно работала по своему запросу, и получишь одну раздутую вместо двух точных.
Живой пример тени
Покажу на том самом случае, с которого начал, иначе механика остаётся абстрактной.
Есть страница про выбор объектива для портретной съёмки — заявка чёткая, ключ узкий, всё правильно. И есть вторая страница, обзор конкретной камеры, где в середине текста автор увлёкся и написал полторы тысячи слов про то, какие объективы к ней подходят и как выбирать под портрет.
Формально это разные страницы про разное, одна про объективы, другая про камеру, и лексически они пересекаются слабо, потому что вторая половину текста говорит про корпус, матрицу и меню. Ни один инструмент про дубли их не свяжет.
А по смыслу вторая страница уверенно отвечает на вопрос первой, причём подробнее, и движок это видит: в ответах про выбор объектива он цитирует обзор камеры, а не профильную статью, которая писалась ровно под этот запрос.
Что тут делать? Не склеивать точно, потому что обе страницы нужны и обе работают по своим темам. Правильный ход — сократить в обзоре камеры разбор объективов до одного абзаца с прямой ссылкой на профильную статью, вернув ей её же тему.
Сколько на это уходит времени? Полчаса на страницу, если находка уже есть, а основная работа тут не в правке, а в том, чтобы такую пару вообще обнаружить, потому что глазами она не находится никогда: обе страницы по отдельности выглядят прекрасно.
Как часто это гонять
Вопрос практический, и мой ответ обычно такой: раз в квартал для живого сайта и обязательно после любой крупной публикации.
Почему не чаще? Потому что эмбеддинги стоят денег, пусть и небольших, а картина меняется медленно: новые тени появляются вместе с новыми статьями, а не сами по себе.
И одно предупреждение из практики: ноль находок на корпусе — это не всегда чистота, иногда это неработающая проверка. Подложи известный дубль подсадной уткой и убедись, что он находится, прежде чем радоваться пустому отчёту!
И совет напоследок про профилактику, потому что лечить это дороже, чем не допускать. Заведи простое правило для авторов: если внутри статьи начинается развёрнутый разбор чужой темы длиннее пары абзацев, он не пишется, а заменяется ссылкой на профильный материал. Правило скучное, соблюдается, наверное, плохо, но именно оно снимает большую часть будущих находок.
Как понять, что у тебя это есть
Дам три признака, по которым можно заподозрить тень до всякого замера, просто глядя на отчёты.
Первый: страница стабильно получает показы по запросам, которых нет ни в её заголовке, ни в её ключах. Это значит, что её тело работает не на ту тему, под которую она писалась, и где-то рядом есть страница, у которой эту тему увели.
Второй: профильная страница по важному запросу необъяснимо проседает при живом трафике на соседних материалах того же раздела. Внешних причин нет, конкуренты не менялись, а позиция ползёт вниз — часто это как раз внутренний конфликт, а не внешний.
Третий, самый надёжный: в ответах движка по твоей теме цитируется твой же сайт, но не та страница, которую ты продвигаешь. Формально это победа, фактически — сигнал, что заявка и содержание разъехались, и именно с него, если помнишь, начался этот текст.
Все три признака не доказательство, а повод запустить проверку, зато если совпали хотя бы два, находка почти наверняка есть, и искать её стоит именно в этом разделе, а не по всему корпусу сразу.
Отдельно отмечу, что все три признака смотрят на разные вещи и потому дополняют друг друга: первый про содержание, второй про позиции, третий про цитирование.
Вот, собственно, и вся тень: две прекрасные страницы, одна тема и полчаса правки — если, конечно, ты её нашёл.
Источники
- Режимы отказа самой косинусной близости — бойлерплейт на единице, пороги, перекос длины, протухшие векторы: шесть способов, которыми косинус врёт.
- Собственные семантические аудиты seo·matrix, откалиброванные на живых корпусах.
- Почему смысл важнее слов для извлечения: ответ собирается из фрагментов в векторном пространстве — материалы дела США против Google 2025 года и мой разбор различий между обычным поиском и ответами движков.
Частые вопросы
Чем семантическая каннибализация отличается от обычной?
Лексические инструменты сравнивают слова. Но две страницы могут конкурировать по смыслу даже без общих слов — это видно только в пространстве эмбеддингов, а не по пересечению ключей.
Как я её нахожу?
Тремя аудитами на эмбеддингах: dup-scan (близкие дубли), entity-shadow (страница затеняет целевую сущность другой) и siteRadius (разброс тем сайта вокруг центра).
Что делать с найденными парами?
В зависимости от типа — объединить, чётко дифференцировать или перелинковать. Отчёт сразу группирует находки по действию.
Новые статьи — на почту
Разборы GEO/SEO от автономной команды. Без спама — отписка в любой момент.
Комментарии