Настройки

Конфиденциальность важна для нас, поэтому вы можете отключить отдельные виды хранения данных, которые не нужны для базовой работы сайта. Блокировка некоторых категорий может повлиять на ваше впечатление от сайта. Подробнее (Политика использования cookie)

Автоматическая внутренняя перелинковка: методы, настройка и правила безопасности

Узнайте, как работает автоматическая внутренняя перелинковка, сравните 6 методов, настройте её пошагово и избегайте ошибок, превращающих автоссылки в спам.

Опубликовано
14/11/2026
Обновлено
14/11/2026
Время чтения
22 мин
Автоматическая внутренняя перелинковка: методы, настройка и правила безопасности

Инструменты

На этой странице

Коротко

автоматическая внутренняя перелинковка означает, что программа находит, предлагает или вставляет ссылки между вашими страницами, вместо того чтобы вы расставляли каждую вручную. Она хорошо работает, когда машина берёт на себя рутину (обход сайта, сопоставление тем, поиск страниц-сирот, журнал каждой ссылки), а вы сохраняете контроль над правилами: какие страницы продвигать, какие анкоры допустимы, сколько ссылок ставить на страницу. Выстраивайте процесс как «предложить, одобрить, опубликовать, измерить», а не как плагин, который превращает в ссылку каждое найденное ключевое слово.

Хотите узнать больше? Спросите

Короткий тест

Какой способ находить клиентов онлайн подходит вам лучше всего?

Вопрос 1 из 425%
Как ваши клиенты находят такие компании, как ваша?

Что такое автоматическая внутренняя перелинковка (и чем она не является)

Внутренняя ссылка ведёт с одной страницы вашего сайта на другую страницу того же сайта. Она выполняет три задачи: помогает роботам находить страницы, сообщает поисковым системам и ИИ-системам, о чём целевая страница (через анкор и окружающие слова), и передаёт вес от сильных страниц к более слабым. Если основы для вас новы, начните с нашего определения внутренней перелинковки.

Автоматизировать её значит поручить программе одну или несколько из этих задач:

  • Инвентаризация: обход сайта, список всех страниц, всех существующих ссылок и всех анкоров.
  • Сопоставление: решение, какая страница должна ссылаться на какую, на основе ключевых слов, смысла или сущностей.
  • Выбор анкора: поиск фразы, которая уже есть в исходном тексте и описывает цель.
  • Вставка: запись ссылки в HTML, в базу данных CMS или в момент рендеринга.
  • Поддержка: исправление ссылок, когда меняется URL, удаляется страница или выходит новая статья.

Чем она не является: способом впихнуть одну и ту же ссылку по ключевому слову на 500 страниц, заменой архитектуры сайта или виджетом «похожие записи» внизу каждой статьи. Всё это может входить в автоматизированную систему, но само по себе создаёт в основном шум.

Почему ручная перелинковка перестаёт работать

Ручная перелинковка работает на сайте из 30 страниц. На сайте, который публикует материалы каждую неделю, она ломается по простой причине: каждая новая статья создаёт две задачи. Ей нужны исходящие ссылки на существующие страницы, а старым страницам нужны ссылки на неё. Вторую задачу забывают все. Через два года публикаций у вас есть свежие статьи, на которые никто не ссылается, и старые статьи, которые всё ещё ведут на страницы, давно вами заменённые.

Внутренняя перелинковка до и после автоматизации

До (вручную)
  • Новые статьи получают исходящие ссылки, входящие редко
  • Страницы-сироты незаметно накапливаются
  • Ссылки ведут на редиректы и удалённые URL
  • Анкоры зависят от того, кто писал статью
После (автоматически, с проверкой)
  • Каждая новая страница получает входящие ссылки с близких по теме страниц
  • Страницы-сироты отмечаются при каждом обходе
  • Битые и перенаправленные цели обновляются
  • Анкоры следуют записанным правилам и попадают в журнал

Эта статья посвящена механике: методам, настройкам, рабочему скрипту и типичным сбоям. Стратегическую часть (какие страницы приоритизировать, как планировать ссылки на многоязычном сайте) сначала разберите в нашем экспертном руководстве по стратегии внутренней перелинковки. Эти два материала задуманы для совместного использования.

Почему это важно: что говорят данные о внутренних ссылках

Google чётко обозначает минимум. Его документация о рекомендациях по ссылкам говорит, что «на каждую важную для вас страницу должна вести ссылка хотя бы с одной другой страницы вашего сайта», и что Google, как правило, может просканировать ссылку, только если это элемент <a> с атрибутом href. Страница-сирота не запрещена, но в этом случае вы ставите на то, что одна лишь карта сайта поможет её найти и понять.

Помимо минимума, лучший открытый набор данных по теме это корреляционное исследование Сайруса Шепарда (Cyrus Shepard) из Zyppy, «23 Million Internal Links: SEO Case Study» (обновлено в феврале 2026 года). В нём данные о внутренних ссылках примерно 1800 сайтов сопоставлены с кликами из Search Console.

Что показывают 23 миллиона внутренних ссылок

23 млнвнутренних ссылок проанализировано примерно на 520000 URL
1800сайтов в наборе данных, сопоставленных с кликами в Google Search Console
5xкак минимум в пять раз больше трафика у страниц хотя бы с одним внутренним анкором с точным вхождением
6%более 6% всех внутренних ссылок не имели анкора вовсе

Источник: Cyrus Shepard, Zyppy, 23 Million Internal Links SEO Case Study, обновлено в феврале 2026 года

Самый полезный для автоматизации вывод касается количества. URL с 0 до 4 внутренних ссылок получали в среднем 2 клика из Google, а URL с 40 до 44 внутренних ссылок получали в четыре раза больше. Примерно после 45 или 50 ссылок эффект разворачивается. Автор объясняет значительную часть спада сквозными навигационными ссылками и аккуратно называет исследование корреляционным: оно полезно как ориентир, но не доказательство.

Среднее число кликов из Google на URL в зависимости от количества ведущих на него внутренних ссылок

От 0 до 4 внутренних ссылок2 клика
От 40 до 44 внутренних ссылок8 кликов (4x)

Источник: Cyrus Shepard, Zyppy, 23 Million Internal Links SEO Case Study, обновлено в феврале 2026 года

Отсюда два практических урока. Во-первых, больше всего выигрывают страницы, которым не хватает ссылок, а именно их автоматизация находит лучше всего. Во-вторых, исследование показало, что разнообразие анкоров коррелирует с кликами и что страницы с URL-анкорами и анкорами с точным вхождением показывали лучшие результаты. Система, которая ставит на каждую страницу ссылку с одними и теми же тремя словами, это разнообразие уничтожает.

Взгляд со стороны GEO

ИИ-краулеры вроде GPTBot, ClaudeBot и PerplexityBot находят страницы так же, как Googlebot: переходя по ссылкам <a href>. Многие из них не выполняют JavaScript, поэтому ссылка, добавленная на стороне клиента, для них может просто не существовать. Наше руководство по ИИ-краулерам объясняет, что загружает каждый бот. Чистые внутренние ссылки, отрисованные на сервере, помогают и поисковым системам, и ИИ-системам, которые цитируют ваши страницы.

Изометрическая иллюстрация веб-страниц, связанных светящимися синими линиями: роботизированная рука добавляет новые внутренние ссылки, а лупа их проверяет
Автоматическая внутренняя перелинковка: машина находит и расставляет ссылки, человек задаёт правила и проверяет результат.

Как устроен движок автоматической внутренней перелинковки

Любой серьёзный инструмент, будь то плагин, SaaS-сервис или ваш собственный скрипт, работает по одному и тому же конвейеру. Зная его, вы оцените инструмент за пять минут: спросите, как он выполняет каждый шаг.

6 шагов движка внутренней перелинковки

  1. ИнвентаризацияОбойти сайт или прочитать CMS, чтобы получить список всех индексируемых страниц, их основной контент, title, H1 и существующие исходящие ссылки.
  2. ПредставлениеПревратить каждую страницу во что-то сравнимое: список ключевых слов, набор сущностей или вектор эмбеддинга.
  3. СопоставлениеОценить релевантность каждой пары «источник и цель» и оставить лучших кандидатов для каждой страницы.
  4. Выбор анкораНайти фразу, которая уже есть в исходном тексте и описывает цель.
  5. Применение правилСоблюдать лимиты, исключения, приоритеты и запретные зоны (заголовки, существующие ссылки, навигация).
  6. Вставка и журналЗаписать ссылку, сохранить источник, цель, анкор, правило и дату, затем повторно обойти сайт для проверки.

Шаг 1: инвентаризация и почему важен «основной контент»

Инвентаризация должна отделять основной контент от шаблона. Ссылка в меню шапки есть на каждой странице и мало что говорит Google о цели. Ссылка в третьем абзаце релевантной статьи говорит многое. Хорошие движки перед анализом удаляют nav, header, footer и aside и вставляют ссылки только в тело статьи. Они также исключают неиндексируемые URL: всё, что отдаёт редирект, 404, noindex или canonical, указывающий на другую страницу.

Шаг 2: представление страниц

Есть три распространённых способа представления, от грубого к точному:

  • Ключевые слова: у каждой целевой страницы есть список фраз («стратегия внутренней перелинковки», «структура ссылок»). Быстро и предсказуемо, но слепо к смыслу.
  • Сущности: библиотека обработки естественного языка извлекает именованные объекты (товары, места, понятия) и сопоставляет их со страницами, которые их описывают. Лучше справляется с многозначностью.
  • Эмбеддинги: языковая модель превращает каждую страницу в вектор из нескольких сотен чисел. Страницы на близкие темы оказываются рядом, даже если у них нет ни одного общего слова. Именно это сегодня использует большинство «ИИ»-инструментов перелинковки.

Шаг 3: сопоставление

С эмбеддингами сопоставление это косинусное сходство векторов, значение от -1 до 1 (для текста на практике от 0 до 1). Вы оставляете пары выше порога и N лучших для каждой страницы. Порог это самая важная настройка: слишком низкий, и вы свяжете страницу о змее питоне со страницей о языке Python; слишком высокий, и вы найдёте только почти дубли. Начните примерно с 0,5 или 0,6 на универсальной модели, затем скорректируйте, вручную проверив 50 предложений.

Шаг 4: выбор анкора

Анкор должен быть фразой, которая уже есть в исходном предложении. Вставка новых слов означает переписывание контента, а это другая задача. Движок ищет в исходном тексте фразы, которые описывают цель: её основной запрос, H1, близкие вариации или запросы, по которым цель уже ранжируется в Search Console. Последний источник лучший, потому что отражает, как реальные люди описывают страницу.

Шаги 5 и 6: правила, вставка, журнал

Именно в правилах выигрывается или теряется качество (см. отдельный раздел ниже). Вставка происходит в одном из трёх мест: в сохранённом контенте (ссылка становится частью статьи, постоянной и видимой в редакторе), при рендеринге на сервере (фильтр добавляет ссылки при генерации страницы, легко откатить) или в браузере через JavaScript (самый слабый вариант для SEO). Какой бы метод вы ни выбрали, журнал всех автоматических ссылок обязателен: без него нельзя ни проверить, ни измерить, ни откатить.

6 методов автоматической внутренней перелинковки: сравнение

За словами «автоматическая внутренняя перелинковка» стоят очень разные техники. Большинство сайтов в итоге сочетают две или три.

1. Автоперелинковка по ключевым словам на основе правил

Принцип: вы ведёте таблицу «фраза ведёт на URL», и система превращает фразу в ссылку везде, где она встречается. Когда использовать: глоссарии, названия товаров, небольшой набор денежных страниц. Преимущества: предсказуемо, прозрачно, дёшево. Ограничения: нет понимания контекста, одинаковые анкоры повсюду, таблица устаревает. Пример: каждое первое упоминание «краулингового бюджета» ведёт на страницу глоссария о краулинговом бюджете, не больше одной ссылки на статью.

2. Структурные и шаблонные модули

Принцип: CMS генерирует ссылки из структуры сайта: хлебные крошки, списки категорий, «похожие статьи», предыдущая и следующая, хаб-страницы со списком дочерних. Когда использовать: всегда, это базовый слой. Преимущества: нулевое обслуживание, гарантия того, что ни одна страница категории не станет сиротой. Ограничения: шаблонные ссылки несут мало контекста, а модули «похожих записей» часто выбирают по дате или тегу, а не по смыслу. Пример: хлебные крошки «Блог > SEO > Внутренняя перелинковка» в каждой статье.

3. Семантические предложения с одобрением человеком

Принцип: эмбеддинги находят близкие страницы и возможные анкоры; редактор одобряет или отклоняет каждое предложение. Когда использовать: контентные сайты примерно от 50 до нескольких тысяч статей. Преимущества: учитывает контекст, человек остаётся в контуре, анкоры естественно разнообразны. Ограничения: время на проверку, качество зависит от порога. Пример: при публикации статьи о «каннибализации ключевых слов» инструмент предлагает пять старых статей, где в предложении уже упоминается каннибализация.

4. Перелинковка на основе сущностей

Принцип: из каждой страницы извлекаются сущности и связываются со страницей, которая является эталонной для этой сущности на вашем сайте. Когда использовать: сайты с множеством именованных объектов: бренды, места, люди, ингредиенты, программы. Преимущества: хорошо снимает многозначность, строит чистую карту «одна сущность, одна страница». Ограничения: нужна карта соответствия сущностей и страниц, слабее на абстрактных темах. Пример: туристический сайт ссылается при каждом упоминании «Киото» на свой путеводитель по Киото и никогда на страницу отелей Киото.

5. Перелинковка на основе графа (внутренний PageRank)

Принцип: сайт рассматривается как граф. Инструмент рассчитывает для каждой страницы внутреннюю оценку (метрику вроде PageRank), её глубину кликов от главной и входящие ссылки, а затем предлагает ссылки, которые передают вес приоритетным страницам и поднимают глубокие страницы ближе к поверхности. Когда использовать: крупные сайты, интернет-магазины, любой сайт, где коммерческие страницы закопаны глубоко. Преимущества: оптимизирует под цель, а не только под релевантность. Ограничения: модель лишь приближение того, как Google взвешивает ссылки, а чистая логика графа может создавать нерелевантные ссылки без фильтра релевантности. Пример: страница категории на глубине 5 получает ссылки из трёх сильных руководств, которые ранжируются по близким запросам, и поднимается на глубину 2.

6. Перелинковка в момент написания

Принцип: ссылки расставляются во время подготовки текста автором или ИИ-инструментом для написания, у которого перед глазами инвентаризация сайта. Когда использовать: любой сайт, который регулярно публикует материалы. Преимущества: ссылка является частью предложения, написанного под неё, поэтому анкоры читаются естественно. Ограничения: метод покрывает исходящие ссылки из новой страницы, но не входящие на неё со старых страниц, поэтому его нужно дополнять методом обратной перелинковки. Пример: ИИ-генератор статей для блога от Sorank пишет каждую статью с уже расставленными внутренними ссылками на ваши страницы услуг, товаров или категорий.

МетодРелевантностьТрудозатратыКачество анкоровРиск при неверной настройкеЛучше всего подходит
Автоперелинковка по ключевым словам на основе правилНизкаяНизкиеОднообразныеВысокий (переспам)Глоссарии, названия товаров
Структурные и шаблонные модулиСредняяОчень низкиеОбщиеНизкийЛюбой сайт, как базовый слой
Семантические предложения с одобрениемВысокаяСредние (проверка)Естественные и разнообразныеНизкийБлоги и контентные хабы
Перелинковка на основе сущностейВысокая для именованных объектовСредниеТочныеСреднийТуризм, интернет-магазины, каталоги
На основе графа (внутренний PageRank)РазнаяВысокие (анализ)Зависит от фильтраСреднийКрупные сайты, закопанные коммерческие страницы
Перелинковка в момент написанияВысокаяНизкиеСамые естественныеНизкийСайты с частыми публикациями

Автоматизация служит архитектуре, а не заменяет её

Прежде чем что-либо настраивать, решите, какую фигуру должны нарисовать ссылки. Сеть в стиле Википедии связывает любую страницу с любой близкой по теме; это результат по умолчанию у семантических инструментов, и он хорошо подходит для энциклопедического контента. Семантический кокон ограничивает ссылки страницами одного тематического дерева: материнские страницы ссылаются вниз, дочерние вверх и в стороны; ваши правила должны запрещать ссылки между коконами, кроме верхнего уровня. Силос по URL следует структуре папок (/guides/seo/...); простое правило «ссылаться только внутри той же папки плюс на хаб» обеспечивает его соблюдение. Тематические кластеры, описанные в нашем руководстве о тематических кластерах и опорных страницах, находятся между коконом и сетью. Наша статья об архитектуре сайта для SEO помогает сделать выбор.

Правила, которые делают автоматические ссылки безопасными

Движок перелинковки без правил это генератор спама. Вот настройки, которые нужно записать до первого запуска, со значениями, подходящими для старта.

Полностью автоматическая вставка или «предложить и одобрить»

Полностью автоматически
  • Мгновенно масштабируется на любой объём
  • Не требует времени редакции
  • Ошибки публикуются массово
  • Странные анкоры и неверный контекст проскальзывают
  • Трудно объяснить, зачем существует ссылка
Предложить и одобрить
  • Машина находит, человек решает
  • У каждой ссылки есть ответственный и причина
  • Правила улучшаются на основе отклонённых предложений
  • Для проверенных правил можно включить автоматический режим
  • Требует времени на проверку каждую неделю

Лимиты и плотность

  • Автоматических ссылок на страницу: от 3 до 5 в статье на 1500 слов, сверх ссылок, расставленных автором. Google говорит, что идеального числа нет, но предостерегает от чрезмерного количества ссылок; ваши собственные данные скажут больше любого эмпирического правила.
  • Одна ссылка на цель на странице. Три ссылки на один и тот же URL в одной статье ничего не дают читателю и запутывают отчётность.
  • Минимальное расстояние: не меньше 50 или 80 слов между двумя автоматическими ссылками, чтобы абзацы не стали синими.
  • Максимум на анкорную фразу по всему сайту: ограничьте, сколько страниц может использовать один и тот же анкор для одной и той же цели, затем заставьте систему брать вариации.

Запретные зоны

Никогда не вставляйте ссылки в заголовки, оглавление, подписи к изображениям, цитаты, кнопки призыва к действию, блоки об авторе или внутрь существующего <a> (вложенные ссылки это невалидный HTML). Никогда не ссылайтесь со страницы на саму себя, на URL с редиректом или на страницу с noindex либо с canonical на другой URL.

Правила для анкоров

Документация Google просит анкор, который будет «описательным, достаточно кратким и релевантным странице, на которой он находится», и называет «нажмите здесь» и «подробнее» слишком общими. Переведите это в правила: анкоры длиной от 2 до 6 слов, взятые из существующего предложения, не меньше двух или трёх разных вариантов на цель по всему сайту и одно намерение на анкор. Если «инструмент внутренней перелинковки» на одной странице ведёт на бесплатный анализатор, а на другой на платную функцию, вы рассказываете поисковым системам две разные истории. Наше руководство по анкорам подробно описывает типы анкоров.

Страница документации Google Search Central о рекомендациях по ссылкам с примерами сканируемых ссылок и анкоров
Рекомендации Google по ссылкам: сканируемые ссылки и описательные анкоры это основа, которую должен соблюдать любой инструмент автоматической перелинковки.

Конфигурация, которую можно скопировать

Пользуетесь ли вы плагином с экранами настроек или скриптом, записывайте правила в файл. Он станет вашей документацией и журналом аудита.

{
  "global": {
    "max_auto_links_per_page": 5,
    "max_links_per_target_per_page": 1,
    "min_words_between_links": 60,
    "similarity_threshold": 0.55,
    "insert_only_in": ["article .content"],
    "skip_selectors": ["h1", "h2", "h3", "h4", "a", "figcaption", "blockquote", ".toc", ".cta", "nav", "footer"],
    "skip_targets_if": ["redirect", "noindex", "canonical_elsewhere", "status_not_200"],
    "mode": "suggest"
  },
  "priority_targets": [
    {"url": "/pricing", "boost": 1.5},
    {"url": "/guides/internal-linking-strategy", "boost": 1.3}
  ],
  "rules": [
    {"phrase": "crawl budget", "target": "/glossary/crawl-budget", "max_site_uses": 40, "mode": "auto"},
    {"phrase": "topic cluster", "target": "/glossary/topic-cluster", "max_site_uses": 40, "mode": "auto"}
  ],
  "never_link": ["/legal", "/login", "/cart"]
}

Совет

Запускайте каждое новое правило в режиме "suggest". Переключайте его на "auto" только после того, как одобрите 20 его предложений подряд без единой правки.

Пошагово: настройка автоматической внутренней перелинковки на сайте

Метод работает с любым инструментом. На сайт из нескольких сотен страниц заложите один день на настройку, затем примерно час в неделю.

Шаг 1: обход сайта и исходная точка

Обойдите весь сайт десктопным краулером, например Screaming Frog (наше руководство по настройке Screaming Frog подробно разбирает конфигурацию). Выгрузите для каждого индексируемого URL: входящие внутренние ссылки (уникальные), глубину кликов, исходящие ссылки и внутренний ссылочный показатель краулера. Сравните обход с XML-картой сайта: URL, которые есть в карте, но не найдены при обходе, это ваши страницы-сироты. Сохраните выгрузку с датой. Это ваше состояние «до».

Шаг 2: список страниц, которым нужны ссылки

Не каждая страница заслуживает больше ссылок. Составьте короткий список приоритетных целей: страницы, которые приносят деньги, страницы на позициях с 5 по 20 по ценным запросам (Search Console, отчёт «Эффективность», фильтр по позиции) и ваш краеугольный контент. Добавьте все страницы-сироты и все страницы глубже 3 кликов. Этот список наполняет "priority_targets" в ваших правилах.

Шаг 3: соберите банк анкоров

Для каждой приоритетной цели соберите от 3 до 10 анкорных фраз. Лучший источник это Search Console: откройте страницу в отчёте «Эффективность», перейдите на вкладку «Запросы» и выгрузите запросы, по которым она уже получает показы. Добавьте H1, основной запрос и естественные вариации. Уберите всё неоднозначное или общее с другой страницей.

Шаг 4: сгенерируйте кандидатов и отфильтруйте их

Запустите инструмент или скрипт. Для каждой цели он должен вернуть страницы-источники, где анкор встречается в основном тексте и тема достаточно близка. Воронка будет сильно сужаться: это признак того, что фильтры работают.

Как фильтруются кандидаты в ссылки

Все пары «источник и цель» на сайтеВсе пары
Пары выше порога сходстваТоп 20 на страницу
Пары, где в тексте есть естественный анкорАнкор найден
Пары, прошедшие лимиты и запретные зоныПравила пройдены
Одобренные и опубликованные ссылкиОт 3 до 5 на страницу

Шаг 5: проверяйте пакетами

Проверяйте предложения в таблице с пятью столбцами: источник, цель, анкор, предложение, оценка. Читайте предложение, а не только анкор. Отклоняйте всё, что вы не написали бы сами. Записывайте причину отказа (не тот смысл, слишком рекламно, рядом уже есть ссылка): эти причины станут новыми правилами.

Шаг 6: публикуйте волнами, а не всё сразу

Публикуйте от 50 до 200 ссылок за волну на наборе страниц, который можно отслеживать. Оставьте контрольную группу похожих страниц без новых ссылок. Тогда у изменений в кликах будет точка отсчёта, а это важно, потому что позиции меняются по множеству причин.

Шаг 7: повторный обход и проверка отрисованного HTML

Обойдите сайт повторно. Убедитесь, что новые ссылки видны как <a href> в исходном HTML, а не только после выполнения JavaScript. Для нескольких URL воспользуйтесь инструментом проверки URL в Search Console и посмотрите отрисованный HTML, который видит Google.

Шаг 8: встройте в процесс публикации

Настоящая выгода в непрерывности. При каждой публикации статьи система должна делать две вещи: ставить исходящие ссылки из новой статьи (в момент написания) и предлагать входящие ссылки на неё со старых страниц (обратная перелинковка). При каждом изменении URL она должна обновлять или удалять ссылки, которые на него ведут.

Совет

Чтобы быстро проверить одну страницу, вставьте её URL в наш бесплатный анализатор внутренних ссылок: он покажет все внутренние ссылки на странице, их анкоры и атрибуты, и вы убедитесь, что волна автоматических ссылок вышла так, как планировалось.

Сделайте сами: скрипт семантической внутренней перелинковки на Python

Если в вашей CMS нет хорошего инструмента или вы хотите точно понять, что делает поставщик, рабочий прототип занимает около 60 строк. Эта версия читает карту сайта, извлекает основной контент, вычисляет эмбеддинги открытой моделью и выдаёт CSV с предложениями для ручной проверки. Она никогда не трогает ваш сайт.

Установка и обход

pip install requests beautifulsoup4 sentence-transformers
import csv, re
from urllib.parse import urljoin
import requests
from bs4 import BeautifulSoup
from sentence_transformers import SentenceTransformer, util

SITEMAP = "https://example.com/sitemap.xml"
urls = re.findall(r"<loc>(.*?)</loc>", requests.get(SITEMAP, timeout=20).text)

pages = {}
for url in urls:
    r = requests.get(url, timeout=20)
    if r.status_code != 200 or r.url != url:
        continue  # skip errors and redirects
    soup = BeautifulSoup(r.text, "html.parser")
    robots = soup.find("meta", attrs={"name": "robots"})
    if robots and "noindex" in robots.get("content", ""):
        continue
    main = soup.find("article") or soup.find("main") or soup.body
    for tag in main.find_all(["nav", "header", "footer", "aside", "script", "style"]):
        tag.decompose()
    pages[url] = {
        "h1": soup.h1.get_text(" ", strip=True) if soup.h1 else "",
        "text": main.get_text(" ", strip=True),
        "links": {urljoin(url, a["href"]).split("#")[0] for a in main.find_all("a", href=True)},
    }

Эмбеддинги, сопоставление и поиск анкоров

model = SentenceTransformer("all-MiniLM-L6-v2")
keys = list(pages)
docs = [pages[u]["h1"] + ". " + pages[u]["text"][:2000] for u in keys]
emb = model.encode(docs, normalize_embeddings=True)
sim = util.cos_sim(emb, emb)

# Anchor bank: target URL -> phrases (H1 + queries exported from Search Console)
anchors = {u: [pages[u]["h1"].lower()] for u in keys}
# anchors["https://example.com/crawl-budget"] += ["crawl budget", "crawl budget optimization"]

THRESHOLD, MAX_PER_PAGE = 0.55, 5

def find_anchor(text, phrases):
    for phrase in sorted(phrases, key=len, reverse=True):
        if len(phrase.split()) < 2:
            continue
        m = re.search(r"\b" + re.escape(phrase) + r"\b", text, re.IGNORECASE)
        if m:
            start = max(0, m.start() - 120)
            return m.group(0), text[start:m.end() + 120]
    return None, None

rows = []
for i, src in enumerate(keys):
    added = 0
    for j in sorted(range(len(keys)), key=lambda k: -float(sim[i][k])):
        score = float(sim[i][j])
        if score < THRESHOLD or added == MAX_PER_PAGE:
            break
        tgt = keys[j]
        if tgt == src or tgt in pages[src]["links"]:
            continue
        anchor, context = find_anchor(pages[src]["text"], anchors[tgt])
        if anchor:
            rows.append([src, tgt, anchor, round(score, 2), context])
            added += 1

with open("link_suggestions.csv", "w", newline="", encoding="utf-8") as f:
    csv.writer(f).writerows([["source", "target", "anchor", "score", "context"]] + rows)

Как довести его до продакшена

  • Берегите сервер: добавьте паузу между запросами и понятный User-Agent или читайте контент напрямую из базы данных или API вашей CMS вместо обхода.
  • Используйте лучший текст для эмбеддингов: title плюс H1 плюс первые 300 слов обычно работают лучше, чем вся страница, которая размывает тему.
  • Масштабируйте сопоставление: матрица сходства растёт пропорционально квадрату числа страниц. Начиная с 20000 страниц используйте индекс приближённого поиска ближайших соседей (например, FAISS) и сравнивайте каждую страницу только с её 50 ближайшими соседями.
  • Добавьте приоритеты: умножайте оценку на коэффициент усиления для приоритетных целей и на штраф для целей, у которых уже много входящих ссылок.
  • Соблюдайте архитектуру: для силоса или кокона отбрасывайте пары, чьи URL не принадлежат разрешённой папке или тематическому дереву.
  • Вставляйте на стороне сервера: записывайте одобренные ссылки в сохранённый контент через API CMS, никогда через фронтенд-скрипт.

Поиск упоминаний без ссылок с помощью краулера

Без написания кода краулер может выполнить часть работы. В Screaming Frog функция Custom Search находит все страницы, содержащие фразу, а Custom Extraction с XPath считает ссылки на заданную цель. Страницы, которые содержат фразу, но не имеют ни одной ссылки на цель, и есть ваши кандидаты. Руководство пользователя SEO Spider также описывает Link Score, «метрику от 0 до 100, которая рассчитывает относительную ценность страницы на основе её внутренних ссылок», для неё после обхода нужно запустить анализ сканирования.

count(//article//a[contains(@href, "/guides/internal-linking-strategy")])
Страница продукта Screaming Frog SEO Spider
Screaming Frog SEO Spider: обойдите сайт, выгрузите внутренние ссылки и анкоры и найдите страницы, которые упоминают тему, но не ссылаются на неё.

Типичные ошибки автоматической внутренней перелинковки (и как их исправить)

Большинство проблем автоматической перелинковки это не санкции. Это потраченные впустую ссылки, путаные сигналы и страницы, которые читаются так, будто их написала машина. Вот как обнаружить и исправить каждую из них.

1. Ссылка на каждое вхождение ключевого слова

Что это: плагин на основе правил без лимитов ставит ссылку «SEO-аудит» на 400 страницах с одним и тем же анкором на одну и ту же страницу. Как обнаружить: в выгрузке анкоров из краулера отсортируйте внутренние анкоры по частоте; одна фраза с сотнями одинаковых употреблений на один URL и есть сигнал. Как исправить: ограничьте число использований каждого правила по всему сайту, требуйте не меньше двух вариаций на цель и уберите ссылки со страниц, где тема упоминается лишь мимоходом.

2. Ссылка не в том значении

Что это: слово совпадает, смысл нет («Apple» как фрукт ведёт на статью об iPhone, «Java» как остров ведёт на учебник по программированию). Как обнаружить: ежемесячно проверяйте случайную выборку из 30 автоматических ссылок и читайте предложение целиком. Как исправить: поднимите порог сходства, требуйте совпадения и фразы, и темы, добавьте минус-слова к неоднозначным правилам.

3. Слишком много ссылок в абзаце

Что это: движок ставит четыре ссылки в абзаце из 60 слов. Читатели перестают кликать, текст становится трудно читать. Как обнаружить: посчитайте число ссылок на 100 слов основного контента; всё, что выше 3, стоит проверить. Как исправить: задайте минимальное расстояние в словах между автоматическими ссылками и лимит на страницу, который учитывает ссылки, уже поставленные автором.

4. Ссылки в заголовках, кнопках или внутри других ссылок

Что это: совпадение внутри H2, оглавления или существующего анкора оборачивается новой ссылкой, что даёт вложенные теги <a> или синие заголовки. Как обнаружить: прогоните несколько страниц через HTML-валидатор или найдите в данных обхода заголовки со ссылками. Как исправить: явно пропишите запрещённые селекторы и тестируйте их на тестовой копии перед каждым новым правилом.

5. Ссылки, существующие только в JavaScript

Что это: фронтенд-виджет вставляет ссылки после загрузки страницы, иногда без href, иногда только после прокрутки или клика. Как обнаружить: сравните исходный HTML (просмотр кода страницы) с отрисованным DOM и проверьте отрисованный HTML в инструменте проверки URL в Search Console. Как исправить: перенесите вставку на сервер или в сохранённый контент. Наше руководство по SEO для JavaScript подробно объясняет рендеринг.

Внимание

Многие ИИ-краулеры вообще не выполняют JavaScript. Ссылка, которая появляется только после выполнения скриптов, может быть видна Googlebot после рендеринга, но невидима для ботов, которые снабжают данными ChatGPT, Claude или Perplexity.

6. Ссылки на редиректы, страницы с noindex и 404

Что это: автоматические ссылки, построенные по старой инвентаризации, продолжают вести на перемещённые или удалённые URL. Как обнаружить: в данных обхода отфильтруйте внутренние ссылки по коду ответа (3xx, 4xx) и по неиндексируемой цели; наш бесплатный инструмент проверки битых ссылок делает это для отдельной страницы. Как исправить: обновляйте инвентаризацию перед каждым запуском, принимайте только цели с ответом 200, индексируемые и с canonical на самих себя, и обновляйте ссылки на месте при создании 301.

7. Расчёт только на виджеты «похожих записей»

Что это: сайт считает себя перелинкованным, потому что каждая статья заканчивается тремя похожими записями. Эти блоки часто выбирают по тегу или дате, меняются и полностью обходят старый контент. Как обнаружить: ваш список страниц-сирот (URL из карты сайта, до которых обход не доходит или доходит только через пагинацию) остаётся длинным. Как исправить: оставьте виджет, но добавьте контекстные ссылки в тексте и постоянные ссылки с хаб-страниц.

8. Один анкор ведёт на две страницы

Что это: «инструмент внутренней перелинковки» в одних статьях ведёт на страницу A, в других на страницу B. Вы дробите сигналы релевантности и можете спровоцировать каннибализацию ключевых слов. Как обнаружить: постройте по данным обхода карту «анкор и цель» и отметьте каждый анкор с более чем одной целью. Как исправить: одно поисковое намерение, одна целевая страница; перенаправьте анкоры более слабой страницы.

9. Нет журнала, нет отката

Что это: ссылки вставлены в контент плагином, который потом удалили, или никто не знает, какие ссылки автоматические. Как обнаружить: вы не можете ответить на вопрос «сколько ссылок инструмент добавил в прошлом месяце?». Как исправить: храните каждую автоматическую ссылку в таблице (источник, цель, анкор, правило, дата, статус), помечайте их в HTML data-атрибутом, если позволяет ваш стек, и проверьте, что можете удалить все ссылки одного правила одной операцией.

ОшибкаНа какой сигнал смотретьИсправление
Ссылка на каждое вхождениеОдин анкор использован сотни раз для одного URLЛимиты по сайту, вариации анкоров
Не то значениеСтранные предложения в ручной выборкеВыше порог, минус-слова
Плотность ссылокБольше 3 ссылок на 100 словРасстояние в словах, лимит на страницу
Запретные зоныСсылки в заголовках, вложенные анкорыЯвные селекторы-исключения
Ссылки только в JavaScriptСсылок нет в исходном кодеВставка на стороне сервера
Мёртвые целиВнутренние ссылки 3xx и 4xx в данных обходаОбновить инвентаризацию, только цели с 200
Только виджетыДлинный список страниц-сиротКонтекстные ссылки и ссылки с хабов
Один анкор, две целиДубли в карте анкоровОдно намерение, одна страница
Нет журналаНевозможно посчитать автоматические ссылкиТаблица ссылок, data-атрибут, откат

Как измерить эффект автоматических внутренних ссылок

Внутренние ссылки редко дают скачок за одну ночь. Измеряйте на страницах, получивших ссылки, в сравнении с контрольной группой, на отрезке от 4 до 12 недель.

Что отслеживать после каждой волны ссылок

  • Число страниц-сирот (карта сайта в сравнении с обходом)
  • Страницы глубже 3 кликов от главной
  • Уникальные входящие внутренние ссылки на каждую приоритетную страницу
  • Показы и средняя позиция целевых страниц в Search Console
  • Клики по целевым страницам в сравнении с контрольной группой
  • Частота сканирования целевых страниц в логах сервера
  • Доля автоматических ссылок, отклонённых при проверке (качество правил)

Отчёт «Ссылки» в Search Console

Отчёт «Ссылки» в Search Console показывает ваши «страницы с наибольшим числом внутренних ссылок» и для каждой из них страницы, которые на неё ссылаются. Он полезен для проверки здравым смыслом (находятся ли ваши приоритетные страницы вверху?), но справочная страница Google предупреждает, что таблицы ограничены 1000 строками и что отчёт «не является исчерпывающим списком всех ссылок на вашем сайте». Используйте собственный обход как источник истины, а Search Console чтобы видеть, что Google на самом деле учёл.

Справочная страница Google Search Console с описанием отчёта «Ссылки»
Отчёт «Ссылки» в Search Console показывает страницы с наибольшим числом внутренних ссылок, но ограничен 1000 строками: используйте его для проверки, а не как источник истины.

Логи сервера

Если у вас есть к ним доступ, логи сервера показывают, стали ли Googlebot и ИИ-краулеры чаще посещать недавно перелинкованные страницы после волны. Это самый прямой сигнал того, что обнаружение улучшилось. Наше руководство по анализу лог-файлов для SEO объясняет, как фильтровать ботов и читать частоту сканирования и почему это важно для краулингового бюджета крупных сайтов.

Честная интерпретация результатов

Если показы растут на целевых страницах, но не в контрольной группе, ссылки, скорее всего, помогли. Если растут обе группы, это, вероятно, сезонный или алгоритмический эффект. Если целевые страницы получают больше показов, но не кликов, следующий рычаг это title и контент, а не новые ссылки. А если за 12 недель ничего не сдвинулось, проверьте основы: есть ли ссылки в исходном HTML и действительно ли цели проиндексированы?

С чего начать сегодня

Чтобы начать, большой инструмент не нужен. Выберите один кластер, в котором от 20 до 50 страниц, обойдите его, составьте список страниц-сирот и приоритетных страниц, соберите банк анкоров из Search Console и добавьте ссылки одной проверенной волной. Измеряйте шесть недель, запишите выводы в виде правил, затем переходите к следующему кластеру.

Если вы публикуете часто, самый дешёвый выигрыш даёт перелинковка в момент написания: каждая новая статья должна покидать редактор со ссылками на нужные страницы. Именно это делает Sorank, когда пишет и публикует статьи за вас, а его генератор тематических кластеров планирует кластеры, по которым идут эти ссылки, со встроенной защитой от каннибализации. Для старых страниц сочетайте это с проверенной обратной перелинковкой по методу, описанному выше.

Часто задаваемые вопросы

Безопасна ли автоматическая внутренняя перелинковка для SEO?

Да, если ссылки релевантны, используют описательные анкоры и не выходят за разумные лимиты. Документация Google требует сканируемых ссылок с описательным анкором и предостерегает от чрезмерного количества ссылок, а не от автоматизации как таковой. Риск исходит от инструментов, которые превращают в ссылку каждое вхождение ключевого слова с одним и тем же анкором, поэтому сохраняйте этап проверки и записывайте каждую автоматическую ссылку в журнал.

Сколько внутренних ссылок должно быть в статье?

Google говорит, что идеального числа нет. Практическая отправная точка: от 3 до 5 автоматических контекстных ссылок в статье на 1500 слов сверх ссылок, расставленных автором, по одной ссылке на цель и с расстоянием между ссылками. Измеряйте на своих страницах и корректируйте: корреляционное исследование Zyppy фиксировало рост примерно до 40 входящих внутренних ссылок на URL и спад примерно после 45 или 50.

Заменяет ли автоматическая внутренняя перелинковка стратегию перелинковки?

Нет. Автоматизация исполняет стратегию: находит кандидатов, вставляет ссылки и поддерживает их в актуальном состоянии. Вам всё равно нужно решить, какие страницы приоритетны, какой архитектуре следуют ссылки (сеть, семантический кокон или силос) и какие анкоры принадлежат какой странице.

Получите бесплатный контент-план на 30 дней

Мы бесплатно анализируем ваших конкурентов, ваш сайт и вашу видимость в ИИ и составляем персональный контент-план.

Наши бесплатные SEO-инструменты

Все наши бесплатные инструменты

Получите бесплатный контент-план на 30 дней

Мы бесплатно анализируем ваших конкурентов, ваш сайт и вашу видимость в ИИ и составляем персональный контент-план.

Темноволосый мужчина с бородой в светло-коричневой рубашке говорит перед микрофоном в студии подкаста или записи.Портрет мужчины с короткими тёмными волосами в белой рубашке и тёмном пиджаке: он смотрит прямо в камеру с нейтральным выражением лица.Мужчина с короткими тёмными волосами, бородой и прозрачными очками в чёрной футболке с белым круглым логотипом стоит перед каменной стеной.Celio fabianoУлыбающаяся молодая женщина с длинными каштановыми волосами в красной кофте и ожерелье на фоне деревьев на улице.Фото профиля Xavier Breull, клиента Sorank
Google
Сплошная жёлтая пятиконечная звезда на прозрачном фоне.Сплошная жёлтая пятиконечная звезда на прозрачном фоне.Сплошная жёлтая пятиконечная звезда на прозрачном фоне.Сплошная жёлтая пятиконечная звезда на прозрачном фоне.Сплошная жёлтая пятиконечная звезда на прозрачном фоне.
5/5
+5,000
пользователей

Отзывы амбициозных основателей

5/5 по 5 отзывам

От 0 до 10000 посетителей за 5 месяцев

Celio Fabianomonrobotlavevitre.frGoogleЭлектронная коммерция

От 0 до 5000 визитов за 8 месяцев

Thibault BMsorank.comGoogleПрограммное обеспечение

от 0 до 1104 кликов за 4 месяца

Dominiqueflight-sensations-idf.comGoogleДосуг и авиация

С 0 до 163 кликов за 6 месяцев

Coworking Pariscoworking-paris.frGoogleOffice broker

x92 клика за 7 месяцев

Guide Zanzibarguidezanzibar.comGoogleПутешествия