wordpressa.ru wordpress wordpressa.ru

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

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

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

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

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

Типовые кандидаты на закрытие

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

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

Диагностика: почему robots.txt работает не так, как ожидается

Перед правкой откройте текущий файл по адресу /robots.txt и проверьте, кто его формирует. В WordPress это может быть:

  • виртуальный robots.txt, который отдаёт сам WordPress;
  • физический файл в корне сайта;
  • robots.txt, который переопределяет SEO-плагин или хостинг.

Если вы меняете файл, а в браузере видите старое содержимое, значит редактируете не тот источник или мешает кэш. Это частая причина, почему правки «не работают».

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

Пошаговая настройка robots.txt без лишнего риска

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

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Allow: /wp-admin/admin-ajax.php

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

Здесь важно две вещи. Во-первых, Allow: /wp-admin/admin-ajax.php нужен, если тема или плагины используют AJAX-запросы на фронтенде. Во-вторых, строку Sitemap лучше указывать явно, чтобы поисковик быстрее находил карту сайта.

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

User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /wp-admin/
Disallow: /wp-login.php
Allow: /wp-admin/admin-ajax.php

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

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

Когда лучше править не robots.txt, а мета-robots

Если страница должна быть доступна пользователю, но не должна попадать в индекс, robots.txt — не лучший инструмент. В этом случае нужен noindex на самой странице. Так поисковик сможет зайти на URL, увидеть директиву и убрать страницу из индекса корректнее.

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

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

Пример: как задать robots.txt через код темы или плагина

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

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

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

Такой вариант подходит, если вы ведёте сайт как проект с контролем изменений в Git и не хотите править корневые файлы вручную. Но если на сервере уже лежит физический robots.txt, он может иметь приоритет в зависимости от конфигурации. Это нужно проверить отдельно.

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

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

  • robots.txt отдаётся с нужным содержимым именно в рабочем домене;
  • в нём нет случайных запретов на важные разделы и ресурсы;
  • поисковик видит sitemap и не сообщает о критических ошибках обхода.

Минимальный чек-лист проверки:

  • открыть https://ваш-домен.ru/robots.txt и убедиться, что файл доступен без редирект-цепочек;
  • проверить, не закрыт ли /wp-content/uploads/, если изображения должны индексироваться;
  • сравнить список заблокированных URL с тем, что реально есть в Search Console или Яндекс Вебмастере;
  • посмотреть серверные логи или отчёты краулера, если нужно понять, продолжает ли бот ходить в закрытые разделы.

Если у вас есть доступ к Google Search Console, используйте проверку robots.txt и инспекцию конкретного URL. Для уже проиндексированных страниц полезно отдельно проверить, не нужен ли noindex или 301-редирект.

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

Закрыли слишком много

Самая неприятная ошибка — запретить доступ к CSS, JS, изображениям или важным публичным разделам. В результате поисковик видит страницу не так, как пользователь, и может ухудшить оценку качества. Исправление простое: уберите лишние Disallow и проверьте, что ресурсы фронтенда доступны.

Путают robots.txt и noindex

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

Редактируют не тот robots.txt

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

Забывают про sitemap

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

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

robots.txt не защищает сайт от атак. Он не скрывает админку от злоумышленников и не заменяет ограничение доступа на уровне сервера. Поэтому не рассчитывайте, что Disallow: /wp-login.php решит вопрос безопасности.

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

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

Главный принцип простой: robots.txt должен быть коротким, понятным и проверяемым. Если правило нельзя объяснить одной конкретной проблемой, скорее всего, оно лишнее.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее