Как должен выглядеть корректный файл robots.txt для сайта на WordPress с учётом приведённого вами примера структуры?

Здравствуйте. Находил ответы в поиске, но они несколько лет старые и содержат устаревшие рекомендации (например, host). Структура корневой папки сайта следующая: <br/> <br/> cgi-bin <br/> wp-admin <br/> wp-content <br/> wp-includes <br/> .htaccess <br/> index.php <br/> license.txt <br/> readme.html <br/> wp-activate.php <br/> wp-blog-header.php <br/> wp-comments-post.php <br/> wp-config-sample.php <br/> wp-config.php <br/> wp-cron.php <br/> wp-links-opml.php <br/> wp-load.php <br/> wp-login.php <br/> wp-mail.php <br/> wp-settings.php <br/> wp-signup.php <br/> wp-trackback.php <br/> xmlrpc.php <br/> <br/> Подойдет ли для этого сайта следующий файл robots.txt (и нужно ли дублировать такие же правила отдельно для User-Agent: Yandex — для Google, как я понимаю, дублировать необязательно): <br/> <br/> User-agent: * <br/> Disallow: /cgi-bin              # Стандартная папка на хостинге. <br/> Disallow: /wp-admin/            # Закрываем админку. <br/> Allow: /wp-admin/admin-ajax.php # Откроем аякс. <br/> Disallow: /?                    # Все параметры запроса на главной. <br/> Disallow: *?s=                  # Поиск. <br/> Disallow: *&s=                  # Поиск. <br/> Disallow: /search               # Поиск. <br/> Disallow: /author/              # Архив автора. <br/> Disallow: */embed$              # Все встраивания. <br/> Disallow: */xmlrpc.php          # Файл WordPress API <br/> Disallow: *utm*=                # Ссылки с utm-метками <br/> Disallow: *openstat=            # Ссылки с метками openstat <br/> <br/> Sitemap: <a href="http://example.com/sitemap.xml" rel="nofollow">example.com/sitemap.xml</a> <br/> Sitemap: <a href="http://example.com/sitemap.xml.gz" rel="nofollow">example.com/sitemap.xml.gz</a>
  • 14 июня 2026 г. 14:01
Ответы на вопрос 2
Коротко — да, ваш исходный файл близок к рабочему, но есть мелочи по синтаксису и по смыслу (и несколько «опасных»/избыточных правил). Ниже — рекомендуемый, актуальный и безопасный вариант robots.txt для типичного WordPress‑сайта с вашей структурой и пояснения к строкам.

Пример robots.txt (подставьте свой домен и протокол: http/https):
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: /license.txt
Disallow: /wp-config.php
Disallow: /?*
Disallow: /*?s=
Disallow: /search
Disallow: /author/
Disallow: /*/embed$
Disallow: /*utm_
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap.xml.gz

Пояснения и рекомендации
- User-agent: * — общие правила для всех пауков. Если вам не нужны особые правила для Yandex или Google — дублировать не нужно. Добавлять отдельный блок для Yandex имеет смысл только если вы хотите ему дать/запретить что‑то особенное. Директива Host (из старых ответов) не обязательна и нужна только в специфичных случаях для Yandex.
- Allow: /wp-admin/admin-ajax.php — важно, многие плагины используют admin-ajax.php; разрешаем его.
- Не блокируйте /wp-includes/ и /wp-content/ целиком — там лежат css/js, которые нужны для правильного рендера страниц. (В старых рекомендациях часто блокировали wp-includes, сейчас это плохая практика.)
- Disallow: /?* и Disallow: /*?s= — блокируют URL с параметрами (включая поисковые строки). Учтите: блокировка параметров в robots.txt не помешает индексированию URL, если на них есть ссылки — лучше ставить rel="canonical" или настраивать параметры в инструментах для вебмастеров (Search Console / Yandex.Webmaster). Полное блокирование всех параметров иногда лишнее.
- Disallow: /*utm_ — блокирует URL с utm‑метками. Полезно, но не абсолютное решение для дублирования — canonical предпочтительнее.
- Disallow: /author/ — полезно при проблемах с дублирующимся контентом от авторских архивов; если у вас несколько авторов и архивы полезны — можно не блокировать.
- Disallow: /*/embed$ — блокирует URL вроде /post/embed. Синтаксис $ — конец строки; поддерживается Google и Yandex.
- Не используйте комментарии на той же строке после директивы (например: "Disallow: /cgi-bin  # ..."). Комментарии безопаснее писать отдельной строкой, начинающейся с #.
- robots.txt не является средством безопасности — не полагайтесь на него для сокрытия конфиденциальных файлов (wp-config.php). Также некоторые роботы игнорируют расширенные шаблоны; Google и Yandex поддерживают *, $ и учет query‑string, но менее известные боты — нет. Поэтому критичные случаи лучше решать через сервер/htaccess, пароли или мета‑теги noindex.
- Sitemap указывайте с полным URL и правильным протоколом (https если сайт на https).

Если хотите, могу:
- Подготовить более щадящую или более строгую версию (например, не блокировать все параметры; блокировать только конкретные utm-метки);
- Сгенерировать robots.txt с учётом реального домена и структуры (например, если есть нестандартные папки/параметры).
Для Яндекса дублировать не нужно, <code>User-agent: *</code> его уже покрывает. Отдельный блок с <code>User-agent: Yandex</code> нужен только для <code>Clean-param</code> (через него удобнее выкидывать UTM из индекса, чем через Disallow). <br/> <br/> И главное: <code>Sitemap:</code> должен быть абсолютным URL с протоколом: <code>https://example.com/sitemap.xml</code> . Без <code>https://</code> некорректно обрабатывается. <br/> <br/> В остальном всё ок.
Похожие вопросы