wp3.ru wordpress wp3.ru

Как настроить robots.txt в WordPress для закрытия технических страниц

На WordPress robots.txt часто правят «на глаз»: закрывают всё подряд, а потом удивляются, почему в индексе остаются дубли, а в Search Console появляются странные URL. На практике задача обычно проще: убрать из обхода технические страницы, не трогая полезный контент и не ломая доступ ботов к CSS, JS и изображениям.

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

Когда robots.txt действительно нужен

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

Если страница уже попала в индекс, одной директивы Disallow может быть недостаточно. В таком случае обычно нужен другой набор действий: noindex, редирект, каноникал или удаление дубля на уровне шаблона. Robots.txt — это только часть решения.

Диагностика: что именно закрывать, а что не трогать

Перед правкой файла проверьте, какие URL реально создают шум. В WordPress чаще всего проблема возникает в таких местах:

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

Отдельно проверьте, не закрываете ли вы ресурсы, нужные для рендеринга. Google и другие поисковики должны видеть CSS и JS, иначе могут неверно оценить страницу. Поэтому не стоит бездумно запрещать весь /wp-content/ или /wp-includes/.

Чек-лист перед изменением robots.txt

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

Какой вариант настройки выбрать: плагин, код или вручную

СпособКогда подходитПлюсыМинусы
Вручную через файл robots.txtНужны точечные правки и есть доступ к корню сайтаПросто, прозрачно, без лишних зависимостейЛегко ошибиться в синтаксисе
Через SEO-плагинНужно управлять robots.txt из админкиУдобно для редактора или менеджераНе всегда видно, что именно генерируется
Через кодНужна динамическая генерация правилМожно централизовать логикуИзбыточно для обычного сайта

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

Пошаговое решение: как настроить robots.txt в WordPress

1. Откройте текущий robots.txt

Сначала посмотрите, что уже отдаёт сайт. В WordPress файл может быть физическим /robots.txt в корне или виртуальным, который генерируется системой. Откройте https://example.com/robots.txt и проверьте содержимое.

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

2. Добавьте только нужные директивы

Для типового сайта можно начать с аккуратного набора правил:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /tag/
Disallow: /feed/
Sitemap: https://example.com/sitemap_index.xml

Это не универсальный шаблон на все случаи. Например, /author/ и /tag/ стоит закрывать только если они действительно создают дубли и не дают полезного трафика. На контентных проектах архивы таксономий могут быть важной точкой входа.

3. Если нужен robots.txt через код, используйте фильтр

Когда файл должен собираться программно, в WordPress можно использовать фильтр robots_txt. Это полезно, если правила зависят от среды, языка или типа сайта.

<?php
add_filter('robots_txt', function ($output, $public) {
    $lines = array(
        'User-agent: *',
        'Disallow: /wp-admin/',
        'Allow: /wp-admin/admin-ajax.php',
        'Disallow: /wp-login.php',
        'Disallow: /?s=',
        'Sitemap: ' . home_url('/sitemap_index.xml'),
    );

    return implode("\n", $lines) . "\n";
}, 10, 2);

Такой подход имеет смысл только если вы уверены, что никакой другой код не перезапишет результат. Иначе можно получить конфликт между темой, SEO-плагином и кастомной функцией.

4. Не закрывайте ресурсы, нужные для рендеринга

Если вы используете правила для /wp-content/uploads/ или целых каталогов темы, проверьте, не ломается ли загрузка стилей, скриптов и изображений. Поисковик должен видеть страницу так же, как пользователь. Закрывать медиафайлы имеет смысл только в редких сценариях, когда это действительно технически оправдано.

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

После правки не ограничивайтесь открытием файла в браузере. Проверьте несколько вещей:

  • robots.txt отдаётся без ошибки 404 и без лишних редиректов;
  • нужные директивы присутствуют в финальной версии файла;
  • страницы, которые вы закрывали, больше не обходятся ботом;
  • CSS и JS доступны для сканирования;
  • в Search Console нет всплеска ошибок, связанных с блокировкой ресурсов.

Для быстрой проверки можно использовать обычный curl:

curl -I https://example.com/robots.txt
curl https://example.com/robots.txt

Если вы меняли правила для конкретного URL, проверьте его в инструменте проверки URL в Google Search Console. Там видно, разрешён ли обход и не блокируется ли страница robots.txt.

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

Закрыли страницу, которую нужно удалить из индекса

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

Случайно закрыли CSS и JS

Это происходит, когда в robots.txt добавляют слишком широкие правила вроде Disallow: /wp-content/. Итог — поисковик видит «сломанную» страницу и может ухудшить её оценку. Исправление простое: убрать широкую директиву и оставить только точечные пути, если они вообще нужны.

Ожидали мгновенного эффекта

Robots.txt не обновляет индекс в реальном времени. После изменения файла поисковые системы должны заново обойти сайт. Если проблема была в дублях, иногда быстрее и надёжнее решить её на уровне шаблона или мета-тегов, а не ждать, пока бот переосмыслит старые URL.

Смешали robots.txt и noindex

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

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

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

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

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

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

×

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

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

пишет статьи

готовит SEO

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

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