Как отловить и удалить слабые ссылки в WordPress перед индексацией

На WordPress часто проблема не в том, что страниц мало, а в том, что поисковик тратит обход на мусорные URL: архивы с пустым содержимым, служебные страницы, дубли пагинации, параметры фильтров, старые вложения и ссылки, которые ведут в никуда. Если такие URL уже попали в обход, их лучше не просто закрыть, а сначала понять, откуда они берутся и почему продолжают появляться.

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

Какие URL обычно мешают индексации

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

  • архивы тегов и рубрик с 1–2 записями;
  • страницы вложений WordPress, если они доступны как отдельные URL;
  • поиск по сайту с индексируемыми результатами;
  • страницы пагинации, которые не несут самостоятельной ценности;
  • URL с параметрами сортировки, фильтров, UTM и внутренних трекинговых хвостов;
  • старые ссылки из меню, виджетов и контента, которые ведут на удалённые страницы;
  • служебные архивы автора и даты, если они не нужны как посадочные.

Диагностика: где искать источник слабых ссылок

Начинать лучше не с правки robots.txt, а с поиска источника. Иначе вы закроете симптом, но не уберёте причину. Для диагностики удобно смотреть сайт с трёх сторон: краулер, серверные логи и сам WordPress.

1. Прогоните сайт краулером

Подойдёт любой нормальный краулер: Screaming Frog, Sitebulb или аналог. Важно не название, а список URL с кодами ответа, canonical и количеством внутренних ссылок. Ищите:

  • страницы с кодом 200, но без полезного контента;
  • URL, которые получают внутренние ссылки, хотя должны быть закрыты;
  • дубли с параметрами;
  • страницы, где canonical указывает не туда или отсутствует.

2. Посмотрите, что реально ходит по серверу

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

# Пример поиска частых 404 в access.log
# Формат зависит от сервера, это только идея фильтрации
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -nr | head

3. Проверьте WordPress-источники

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

Пошаговое решение: как убрать слабые ссылки без лишнего риска

Ниже порядок, который обычно работает без лишних сюрпризов. Сначала убираем источник, потом — только при необходимости — ставим технические ограничения.

Шаг 1. Удалите ссылки из шаблонов и контента

Если ссылка есть в меню, футере, сайдбаре или в тексте записи, её нужно убрать там, где она создана. Это лучше, чем закрывать URL через noindex, потому что поисковик перестанет находить адрес естественным образом.

Для меню и виджетов достаточно пройтись по админке. Для шаблонов темы — проверить файлы, где выводятся навигация, хлебные крошки и блоки «похожие материалы».

Шаг 2. Отключите индексирование служебных архивов

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

Пример для темы или плагина, который добавляет noindex на архивы автора и даты:

add_action('wp_head', function () {
    if (is_author() || is_date()) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
}, 1);

Это простой вариант, но он не заменяет нормальную настройку SEO-плагина, если он уже управляет robots meta и canonical. Если у вас стоит плагин, который умеет это делать штатно, лучше использовать его интерфейс, а не дублировать логику в коде.

Шаг 3. Уберите вложения как отдельные страницы

WordPress по умолчанию создаёт страницы вложений, и на небольших сайтах это часто лишний слой индексации. Если медиафайл не должен жить отдельной страницей, перенаправляйте attachment URL на сам файл или на родительскую запись.

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_queried_object_id());

        if ($parent) {
            wp_redirect(get_permalink($parent), 301);
            exit;
        }

        $url = wp_get_attachment_url(get_queried_object_id());
        if ($url) {
            wp_redirect($url, 301);
            exit;
        }
    }
});

Такой подход полезен, если у вас накопились пустые attachment-страницы с тонким контентом. Но если на сайте есть осознанная медиатека с описаниями, не рубите всё подряд.

Шаг 4. Срежьте параметры, которые создают дубли

Параметры сортировки, фильтров и трекинга часто порождают десятки URL с одинаковым содержимым. Если они не нужны для поиска, их нужно либо не генерировать в ссылках, либо отдавать canonical на чистую версию.

Пример: если у вас есть внутренний фильтр, не добавляйте параметры в ссылки без необходимости. Для уже существующих URL можно нормализовать canonical через фильтр WordPress:

add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_string($canonical)) {
        $canonical = remove_query_arg(array('utm_source', 'utm_medium', 'utm_campaign', 'sort', 'filter'), $canonical);
    }
    return $canonical;
}, 10, 2);

Это не универсальная панацея. Если параметры реально меняют контент страницы, canonical должен отражать вашу SEO-логику, а не просто «очищать всё подряд».

Шаг 5. Настройте редиректы для удалённых страниц

Если страница удалена, не оставляйте её в 404 без плана. Для старых материалов и служебных URL лучше сделать 301 на ближайший релевантный раздел. Для совсем нерелевантных адресов иногда корректнее оставить 410, но это уже зависит от истории URL и ссылочного профиля.

Если редиректов много, удобнее вести их через сервер или через проверенный плагин редиректов, а не размазывать логику по functions.php.

Сравнение подходов: плагин, код или ручная правка

ПодходКогда подходитПлюсыМинусы
Ручная правка в админкеМеню, виджеты, ссылки в контентеБыстро, без кодаНе решает системные дубли
SEO-плагинАрхивы, canonical, robots metaУдобно централизовать правилаНужно проверить, не конфликтует ли с темой
Код в теме или мини-плагинеТочечные редиректы, attachment, кастомные URLГибко и прозрачноТребует тестирования после обновлений

Если нужен более широкий набор инструментов для чистки сайта и управления дублями, иногда проще опереться на Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=indexnow.su&utm_medium=article&utm_campaign=kak-otlovit-i-udalit-slabye-ssylki-v-wordpress-pered-indeksaciej. Но даже в этом случае логику сайта всё равно нужно проверить руками.

Проверка результата после внедрения

После правок важно не гадать, а проверить факты. Минимальный набор проверок выглядит так:

  • краулер больше не находит внутренние ссылки на удалённые или служебные URL;
  • страницы вложений отдают 301 или исчезают из обхода;
  • параметризованные адреса не появляются в новых внутренних ссылках;
  • canonical указывает на чистую версию страницы;
  • в Search Console уменьшается число странных URL в отчётах по страницам и обходу.

Для быстрой проверки конкретной страницы удобно смотреть заголовки ответа:

curl -I https://example.com/old-page/

В ответе смотрите на код, Location при редиректе и наличие noindex или canonical в HTML. Если URL должен исчезнуть из индекса, но продолжает отдавать 200 и содержит внутренние ссылки, проблема ещё не решена.

Частые ошибки и как их исправить

Закрыли URL в robots.txt, но ссылка осталась в шаблоне

Это частая ошибка. Robots.txt не убирает ссылку из HTML и не мешает поисковику видеть адрес через внутренние переходы. Сначала удалите источник ссылки, потом уже решайте вопрос с обходом.

Поставили noindex на всё подряд

Если закрыть архивы, страницы поиска и вложения без разбора, можно случайно убрать полезные посадочные. Проверяйте, есть ли у страницы самостоятельный трафик, внешние ссылки и смысл для пользователя.

Сделали 301 на нерелевантную страницу

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

Дублируете canonical и редиректы в нескольких местах

Когда canonical меняет SEO-плагин, тема и кастомный код одновременно, легко получить конфликт. В итоге одна страница может отдавать один canonical в HTML, а другой — через плагин. Оставьте один источник правды.

Что стоит учесть по безопасности и производительности

Если вы добавляете код в functions.php, лучше вынести его в мини-плагин. Тогда он не исчезнет при смене темы и его проще отключить при отладке. Для редиректов и правил индексации это особенно важно.

Не ставьте тяжёлые проверки на каждый запрос без необходимости. Например, если условие можно ограничить архивами или attachment-страницами, не запускайте лишнюю логику на всём фронтенде. Это мелочь, но на нагруженном сайте она заметна.

Если у вас уже есть SEO-плагин и плагин для редиректов, не дублируйте их задачи в коде. Сначала проверьте, можно ли решить проблему штатной настройкой. Код нужен там, где стандартных опций не хватает или где нужна точечная логика для конкретного URL-случая.

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как убрать старые URL из индексации в WordPress после смены структуры постоянных ссылок
18.09.2026
Как убрать дубли страниц в WordPress через canonical и noindex
05.09.2026
Как настроить IndexNow в WordPress через robots.txt, sitemap и webhook
11.09.2026
Как запретить индексацию параметров фильтров и сортировки в WordPress
14.09.2026
Как отловить и удалить слабые ссылки в WordPress перед индексацией
08.09.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше