Стандартный или правильный Robots.txt для WordPress
Короткий и расширенный вариант Robots.txt для WordPress. Короткий вариант Robots.txt не включает отдельные блоки для Google и Яндекса. Расширенный для Google и Яндекса уже менее актуален, т.к. теперь нет принципиальных особенностей между двумя крупными поисковиками: обеим системам нужно индексировать файлы скриптов и изображений, обе не поддерживают директиву Host.
Базовый файл robots.txt для WordPress
User-agent: * # общие правила для роботов, кроме Яндекса и Google,
# т.к. для них правила ниже
Disallow: /cgi-bin # папка на хостинге
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет,
# правило можно удалить)
Disallow: *?s= # поиск
Disallow: *&s= # поиск
Disallow: /search/ # поиск
Disallow: /author/ # архив автора
Disallow: /users/ # архив авторов
Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой
# ссылки на статью
Disallow: */feed # все фиды
Disallow: */rss # rss фид
Disallow: */embed # все встраивания
Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете,
# правило можно удалить)
Disallow: /xmlrpc.php # файл WordPress API
Disallow: *utm*= # ссылки с utm-метками
Disallow: *openstat= # ссылки с метками openstat
Allow: */uploads # открываем папку с файлами uploads
# Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent
# не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже.
Sitemap: http://site.com/sitemap.xml
Sitemap: http://site.com/sitemap.xml.gz
# Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS
# то пишем протокол, если нужно указать порт, указываем). Команда стала необязательной. Ранее Host понимал
# Яндекс и Mail.RU. Теперь все основные поисковые системы команду Host не учитывают.
Host: www.site.com
Расширенный вариант (правила для Google и Яндекса) Robots.txt для WordPress
User-agent: * # общие правила для роботов, кроме Яндекса и Google,
# т.к. для них правила ниже
Disallow: /cgi-bin # папка на хостинге
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет,
# правило можно удалить)
Disallow: *?s= # поиск
Disallow: *&s= # поиск
Disallow: /search/ # поиск
Disallow: /author/ # архив автора
Disallow: /users/ # архив авторов
Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой
# ссылки на статью
Disallow: */feed # все фиды
Disallow: */rss # rss фид
Disallow: */embed # все встраивания
Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете,
# правило можно удалить)
Disallow: /xmlrpc.php # файл WordPress API
Disallow: *utm*= # ссылки с utm-метками
Disallow: *openstat= # ссылки с метками openstat
Allow: */uploads # открываем папку с файлами uploads
User-agent: GoogleBot # правила для Google (комментарии не дублирую)
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Disallow: *utm*=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета)
Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета)
Allow: /wp-*.png # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д.
Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS
User-agent: Yandex # правила для Яндекса (комментарии не дублирую)
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать
# от индексирования, а удалять параметры меток,
# Google такие правила не поддерживает
Clean-Param: openstat # аналогично
# Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent
# не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже.
Sitemap: http://site.com/sitemap.xml
Sitemap: http://site.com/sitemap.xml.gz
# Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS
# то пишем протокол, если нужно указать порт, указываем). Команда стала необязательной. Ранее Host понимал
# Яндекс и Mail.RU. Теперь все основные поисковые системы команду Host не учитывают.
Host: www.site.com
Оптимальный код robots.txt для WordPress
Эта версия, пожалуй, более предпочтительна по сравнению со второй, потому что тут нет опасности запретить индексацию каких либо файлов внутри ядра WordPress или папки wp-content
.
User-agent: * # Создаем секцию правил для роботов. * значит для всех
# роботов. Чтобы указать секцию правил для отдельного
# робота, вместо * укажите его имя: GoogleBot, Yandex.
Disallow: /cgi-bin # Стандартная папка на хостинге.
Disallow: /wp-admin/ # Закрываем админку.
Disallow: /? # Все параметры запроса на главной.
Disallow: *?s= # Поиск.
Disallow: *&s= # Поиск.
Disallow: /search # Поиск.
Disallow: /author/ # Архив автора.
Disallow: */embed # Все встраивания.
Disallow: */page/ # Все виды пагинации.
Disallow: */xmlrpc.php # Файл WordPress API
Disallow: *utm*= # Ссылки с utm-метками
Disallow: *openstat= # Ссылки с метками openstat
# Одина или несколько ссылок на карту сайта (файл Sitemap). Это независимая
# директива и дублировать её для каждого User-agent не нужно. Так например
# Google XML Sitemap создает 2 карты сайта:
Sitemap: http://example.com/sitemap.xml
Sitemap: http://example.com/sitemap.xml.gz
# Версия кода: 2.0
# Не забудьте поменять `example.com` на ваш сайт.
Строгий robots.txt для WordPress
В этом варианте мы контролируем все доступы. Сначала глобально запрещаем доступ к почти всему от WP (Disallow: /wp-
), а затем открываем, там где нужно. Этот код пожалуй не рекомендовал бы, потому что тут закрывается префикc wp-
и в будущем, когда WP введет еще чего-нибудь, это что-нибудь может стать недоступно для роботов.
User-agent: * # Создаем секцию правил для роботов. * значит для всех
# роботов. Чтобы указать секцию правил для отдельного
# робота, вместо * укажите его имя: GoogleBot, Yandex.
Disallow: /cgi-bin # Стандартная папка на хостинге.
Disallow: /wp-admin/ # Закрываем админку.
Disallow: /wp/ # Каталог куда установлено ядро WP. Обычно ядро
# лежит рядом с wp-content и правило можно удалить.
Disallow: /? # Все параметры запроса на главной.
Disallow: *?s= # Поиск.
Disallow: *&s= # Поиск.
Disallow: /search # Поиск.
Disallow: /author/ # Архив автора.
Disallow: */embed # Все встраивания.
Disallow: */page/ # Все виды пагинации.
Disallow: */xmlrpc.php # Файл WordPress API
Disallow: *utm*= # Ссылки с utm-метками
Disallow: *openstat= # Ссылки с метками openstat
Disallow: /wp- # Все связанное с WP - это: /wp-content /wp-admin
# /wp-includes /wp-json wp-login.php wp-register.php.
Allow: */wp-*/*ajax*.php # AJAX запросы: */admin-ajax.php */front-ajaxs.php
Allow: */wp-sitemap # карта сайта (главная и вложенные)
Allow: */uploads # открываем uploads
Allow: */wp-*/*.js # внутри /wp- (/*/ - для приоритета)
Allow: */wp-*/*.css # внутри /wp- (/*/ - для приоритета)
Allow: */wp-*/*.png # картинки в плагинах, cache папке и т.д.
Allow: */wp-*/*.jpg # картинки в плагинах, cache папке и т.д.
Allow: */wp-*/*.jpeg # картинки в плагинах, cache папке и т.д.
Allow: */wp-*/*.gif # картинки в плагинах, cache папке и т.д.
Allow: */wp-*/*.svg # картинки в плагинах, cache папке и т.д.
Allow: */wp-*/*.webp # файлы в плагинах, cache папке и т.д.
Allow: */wp-*/*.pdf # файлы в плагинах, cache папке и т.д.
# Секция правил закончена
# Одина или несколько ссылок на карту сайта (файл Sitemap). Это независимая
# директива и дублировать её для каждого User-agent не нужно. Так например
# Google XML Sitemap создает 2 карты сайта:
Sitemap: http://example.com/wp-sitemap.xml
Sitemap: http://example.com/wp-sitemap.xml.gz
# Версия кода: 2.0
# Не забудьте поменять `example.com` на ваш сайт.
Разберем Директивы robots.txt
User-agent: Определяет для какого робота будет работать блок правил, который написан после этой строки. Тут возможны два варианта:
User-agent: *
указывает, что правила после этой строки будут работать для всех поисковых роботов.User-agent: ИМЯ_РОБОТА
указывает конкретного робота, для которого будет работать блок правил. Например:User-agent: Yandex
,User-agent: Googlebot
.
Возможные роботы (боты) Яндекса:
YandexBot
основной индексирующий робот.YandexImages
индексатор Яндекс.Картинок.YandexMedia
индексирует мультимедийные данные.YandexPagechecker
парсит микроразметку.YandexDirect
скачивает информацию о контенте сайтов-партнеров Рекламной сети, чтобы уточнить их тематику для подбора релевантной рекламы, особым образом интерпретирует robots.txt.- Полный список роботов Яндекса.
Возможные роботы (боты) Google:
Googlebot
основной индексирующий робот.Googlebot-Image
индексирует изображения.Mediapartners-Google
робот отвечающий за размещение рекламы на сайте. Важен для тех, у кого крутится реклама от AdSense. Благодаря этому user-agent вы можете управлять размещение рекламы запрещая или разрешая её на тех или иных страницах.- Полный список роботов Google.Disallow:
Запрещает роботам "ходить" по ссылкам, в которых встречается указанная подстрока:
Disallow: /cgi-bin
закрывает каталог скриптов на сервере.Disallow: *?s=
закрывает страницы поиска.Disallow: */page/
закрывает все виды пагинации.
Пример добавления нового правила. Допустим нам нужно закрыть от индексации все записи в категории news. Для этого добавляем правило: Disallow: /news
Оно запретить роботам ходить по ссылками такого вида:
http://example.com/news
http://example.com/news/drugoe-nazvanie/
Если нужно закрыть любые вхождения /news, то пишем:Disallow: */news
Закроет:
- http://example.com/news
- http://example.com/my/news/drugoe-nazvanie/
- http://example.com/category/newsletter-nazvanie.html
Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса. Имейте ввиду, что не все правила, которые описаны там, работают для Google.
В строке Allow: */uploads
мы намеренно разрешаем индексировать страницы, в которых встречается /uploads
. Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp-
, а /wp- входит в /wp-content/uploads. Поэтому, чтобы перебить правило Disallow: /wp-
нужна строчка Allow: */uploads
, ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow:
может быть "до" или "после" Disallow:
.
Sitemap: Правило Sitemap: http://example.com/sitemap.xml
указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.
ВАЖНО !!! Сортировка правил robots.txt
Yandex и Google обрабатывает директивы Allow
и Disallow
не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:
User-agent: * Allow: */uploads Disallow: /wp-
Будет прочитана как: User-agent: * Disallow: /wp- Allow: */uploads
Таким образом, если проверяется ссылка вида: /wp-content/uploads/file.jpg
, правило Disallow: /wp-
ссылку запретит, а следующее правило Allow: */uploads
её разрешит и ссылка будет доступна для сканирования.
Проверка robots.txt и документация
Проверить правильно ли работают правила можно по следующим ссылкам:
- Яндекс: http://webmaster.yandex.ru/robots.xml.
- Google: https://www.google.com/webmasters/tools/robots-testing-tool
- Яндекс документация robots.txt.
- Google документация robots.txt
- Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
- Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/