WordPress Notes WPTicket

Как закрыть от индексации технические страницы WordPress

Технические страницы в WordPress часто попадают в индекс не потому, что сайт «плохой», а из-за стандартного поведения ядра, темы или плагинов. Поисковику не нужны страницы поиска, архивы с пустым содержимым, служебные URL, страницы вложений и дубли с параметрами. Если их не контролировать, в индексе появляется шум, а краулинговый бюджет уходит не туда.

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

Какие страницы обычно нужно закрывать

Не стоит закрывать всё подряд. Сначала проверьте, какие URL реально создают дубли или не несут ценности для поиска. В типичном WordPress это:

  • страницы внутреннего поиска вида ?s=;
  • архивы автора на небольших проектах, где один автор и нет смысла в отдельной посадочной;
  • страницы вложений, если медиафайлы открываются как отдельные страницы без контента;
  • технические страницы пагинации и фильтрации, если они дублируют основной контент;
  • служебные URL с параметрами сортировки, UTM и прочими хвостами, если они индексируются;
  • черновые разделы, тестовые таксономии и временные шаблоны.

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

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

Сначала нужно понять, что именно уже попало в индекс и откуда берутся дубли. Самый быстрый способ — посмотреть отчёт в Google Search Console и сделать выборку по сайту через поиск.

Что проверить вручную

  • site:example.com inurl:?s= — есть ли в индексе страницы поиска;
  • site:example.com inurl:/author/ — индексируются ли архивы авторов;
  • site:example.com inurl:/attachment/ — есть ли страницы вложений;
  • site:example.com inurl:?replytocom= — старые комментарные параметры;
  • site:example.com inurl:page/ — не размножились ли пагинированные архивы без необходимости.

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

Когда robots.txt недостаточно

robots.txt помогает ограничить обход, но не гарантирует удаление URL из индекса. Если страница уже известна поисковику, одного запрета в robots.txt обычно мало. Для таких случаев нужен noindex в HTML-ответе или заголовке, а иногда и каноникал на основную страницу.

ПодходЧто делаетКогда использоватьОграничение
robots.txtЗапрещает обходДля служебных URL, которые не должны сканироватьсяНе убирает уже известные URL из индекса
noindexПросит не индексировать страницуДля страниц, которые доступны, но не нужны в выдачеСтраница должна быть доступна для обхода
canonicalУказывает основную версиюДля дублей и параметровНе заменяет noindex в спорных случаях

Пошаговое решение: закрываем технические страницы правильно

Шаг 1. Добавьте базовые правила в robots.txt

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

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /search/
Disallow: /?s=
Disallow: /*?s=
Disallow: /*replytocom=
Disallow: /author/
Disallow: /attachment/

Важно: правило Disallow: /author/ подходит не всем. Если архивы авторов у вас полезны и содержат уникальные описания, не закрывайте их.

Шаг 2. Добавьте noindex для страниц поиска и вложений

Для страниц, которые должны открываться пользователю, но не попадать в индекс, лучше использовать noindex. В WordPress это можно сделать через фильтр wp_robots.

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_search() || is_attachment() ) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

Этот вариант предпочтительнее, чем пытаться закрыть всё через robots.txt. Поисковик увидит директиву на самой странице и быстрее снимет её из индекса, если она уже там есть.

Шаг 3. Для архивов автора используйте условную логику

Если сайт корпоративный или у вас один редактор, архив автора часто дублирует страницу «О нас» или ленту записей. Тогда можно закрыть его от индексации, но только если это действительно не нужно для поиска.

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_author() ) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

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

Шаг 4. Уберите индексацию страниц вложений

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

<?php
add_action( 'template_redirect', function() {
    if ( is_attachment() ) {
        $parent = wp_get_post_parent_id( get_the_ID() );

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

        $file = wp_get_attachment_url( get_the_ID() );
        if ( $file ) {
            wp_safe_redirect( $file, 301 );
            exit;
        }
    }
} );

Этот вариант лучше, чем оставлять пустую attachment-страницу с noindex, потому что он убирает лишний URL из цепочки обхода.

Шаг 5. Проверьте каноникал на страницах с параметрами

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

Если каноникал указывает на саму параметризованную страницу, а не на основную, поисковик может считать такие URL отдельными документами.

Если нужен быстрый способ без кода

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

Для проверки и чистки дублей полезен Clearfy Pro: он помогает управлять техническими настройками, которые часто приводят к мусору в индексе. Но даже с плагином всё равно нужно смотреть, какие URL реально закрываются и не ломается ли навигация.

Как проверить, что решение сработало

После внедрения не ограничивайтесь визуальной проверкой. Нужны минимум три шага:

  • откройте проблемный URL и проверьте наличие <meta name="robots" content="noindex,nofollow"> или эквивалентного заголовка;
  • посмотрите исходный код и убедитесь, что canonical ведёт на правильную страницу;
  • в Google Search Console отправьте URL на повторную проверку и отслеживайте статус исключения из индекса;
  • через несколько дней повторите поиск site: и проверьте, уменьшилось ли число технических URL.

Если страница закрыта в robots.txt, но уже есть в индексе, она может ещё какое-то время отображаться в выдаче. Это нормально: поисковику нужно переобойти или переоценить URL.

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

Закрыли robots.txt, но URL всё равно в индексе

Это ожидаемо. Robots.txt запрещает обход, а не удаляет уже известные страницы. Решение: вернуть доступ к странице и добавить noindex, либо дождаться переобхода, если URL уже не нужен.

Поставили noindex на страницу, но забыли убрать внутренние ссылки

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

Закрыли архивы авторов, а потом потеряли полезный трафик

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

Сделали редирект с attachment на главную

Это плохая практика: пользователь и робот теряют контекст. Лучше редиректить на родительскую запись или на сам файл, если это медиа-страница с реальной ценностью.

Использовали noindex и Disallow одновременно на одной странице

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

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

Техническая чистка влияет не только на SEO, но и на нагрузку. Чем меньше мусорных URL, тем меньше лишних обходов и запросов к шаблонам. Но не стоит превращать robots.txt в свалку правил: слишком агрессивные запреты иногда ломают доступ к ресурсам темы и плагинов.

  • не закрывайте CSS и JS, если они нужны для рендеринга страниц;
  • не блокируйте /wp-admin/admin-ajax.php, если фронтенд использует AJAX;
  • проверяйте правила на staging-копии перед выкладкой;
  • после изменений очистите кеш страницы и объектный кеш, если он есть;
  • если используете CDN, убедитесь, что он не отдаёт старую версию robots.txt или HTML с устаревшим meta robots.

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

Когда лучше не править вручную

Если сайт большой, с множеством типов записей, таксономий и фильтров, ручные правки в functions.php быстро становятся хрупкими. В таком случае лучше вынести логику в небольшой mu-plugin или отдельный мини-плагин, чтобы не потерять настройки при смене темы.

Для сложных проектов также полезно заранее описать список URL, которые должны быть:

  • закрыты от обхода;
  • закрыты от индексации;
  • оставлены открытыми, но с canonical;
  • перенаправлены на основную версию.

Так проще поддерживать сайт и не ловить случайные дубли после обновления темы или SEO-плагина.

×
Прокачай свой сайт WordPress!

WordPress

-20% на премиум темы и плагины

Создай сайт своей мечты ⋙