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

Технические страницы в WordPress часто попадают в индекс не потому, что сайт «плохой», а потому что их никто отдельно не ограничил. Архивы автора, даты, служебные страницы поиска, вложения медиафайлов, страницы пагинации с пустым или дублирующимся контентом — всё это может создавать шум в индексации и размывать сигналы для поисковиков.

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

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

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

Чаще всего закрывают

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

Что не стоит закрывать автоматически

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

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

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

  1. Откройте site:вашдомен в поиске и посмотрите, какие служебные URL видны публично.
  2. Проверьте архивы автора и дат вручную: если там почти тот же список записей, что и на главной, это кандидат на закрытие.
  3. Посмотрите исходный код страницы: есть ли <meta name="robots" с noindex или только правила в robots.txt.
  4. Проверьте, не закрыт ли нужный URL в robots.txt слишком грубо.

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

Что лучше: robots.txt, noindex или плагин

Для WordPress есть три практических подхода. Они не взаимозаменяемы на 100%, поэтому полезно понимать компромиссы.

ПодходКогда подходитПлюсыМинусы
robots.txtНужно ограничить обход служебных разделовПросто, быстро, без кода на страницеНе гарантирует удаление уже проиндексированных URL
noindexНужно убрать страницу из индексаРаботает точнее для поисковиковНужно внедрять на саму страницу или через SEO-плагин
ПлагинНужно управлять настройками без кодаУдобно для редактора и админаЗависимость от плагина и его логики

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

Пошаговое решение через код

Ниже пример для functions.php дочерней темы или собственного небольшого плагина. Он добавляет noindex, follow для архивов автора, дат, поиска и вложений. Это не блокирует обход полностью, но сигнализирует поисковику не включать такие страницы в индекс.

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

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

Как закрыть архивы автора только для сайтов с одним автором

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

<?php
add_action('wp_head', function () {
    if (is_author() && count_users()['total_users'] === 1) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1);

Этот вариант рабочий, но не идеальный: count_users() может быть лишним вызовом на фронте. Если сайт большой, лучше один раз определить логику в настройках темы или плагина, а не считать пользователей на каждом запросе.

Как закрыть страницы поиска и вложений через фильтр

Для более чистой реализации можно использовать фильтр wp_robots, который появился в ядре WordPress и позволяет менять robots-правила без прямой печати HTML в шаблоне.

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

    return $robots;
});

Это удобнее, чем вставлять мета-тег вручную: WordPress сам соберёт корректный <meta name="robots" ...>. Но если SEO-плагин уже управляет robots-правилами, сначала проверьте его настройки, чтобы не дублировать логику.

Как настроить robots.txt без ошибок

robots.txt полезен, когда нужно ограничить обход служебных разделов, но его часто используют слишком грубо. Например, закрывают целые каталоги темы или плагинов, а потом удивляются, что поисковик не видит CSS и JS.

Базовый безопасный пример для служебных URL может выглядеть так:

User-agent: *
Disallow: /search/
Disallow: /author/
Disallow: /date/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap_index.xml

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

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

После правок важно не просто «посмотреть, что всё работает», а проверить конкретные сигналы.

  • Откройте страницу в браузере и убедитесь, что в исходном коде есть noindex для нужного типа страниц.
  • Проверьте, что важные страницы не получили случайный noindex.
  • Посмотрите robots.txt и убедитесь, что там нет лишних Disallow на CSS, JS или изображения.
  • В Search Console отправьте на переобход несколько URL, которые были закрыты недавно.
  • Через несколько дней проверьте статус URL: он должен начать выпадать из индекса или помечаться как исключённый.

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

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

Закрыли в robots.txt, но не поставили noindex

Это самая распространённая ситуация. Страница перестаёт обходиться, но уже проиндексированный URL может продолжать висеть в поиске. Исправление: добавьте noindex на саму страницу и дождитесь переобхода.

Случайно закрыли важные архивы

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

Два SEO-плагина или плагин плюс код

Если один инструмент ставит index,follow, а другой — noindex, результат может быть непредсказуемым. Исправление: оставьте один источник управления robots-логикой.

Закрыли вложения, но не настроили редирект

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

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

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

  • не отключайте индексацию через массовую правку шаблонов, если не понимаете, какие типы страниц затронете;
  • не закрывайте каталоги с CSS и JS в robots.txt;
  • после изменений очистите кэш страницы и, если есть, объектный кэш;
  • если используете плагин для SEO, проверьте, не дублирует ли он мета-теги в head;
  • для крупных сайтов ведите список закрытых шаблонов отдельно, чтобы не потерять контроль при обновлениях темы.

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

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

⭐⭐⭐⭐⭐