Коротко — да, ваш исходный файл близок к рабочему, но есть мелочи по синтаксису и по смыслу (и несколько «опасных»/избыточных правил). Ниже — рекомендуемый, актуальный и безопасный вариант 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 с учётом реального домена и структуры (например, если есть нестандартные папки/параметры).