О файле robots.txt
Файл robots.txt это текстовой файл, в котором прописываются правила для поисковых машин для сканирования, а значит индексации папок и файлов сайта. Находится файл robots.txt должен в корневом каталоге сайта. Файл robots.txt наряду с картой сайта Sitemap это основные документы SEO оптимизации блогов сделанных на CMS WordPress.
Важно! Недопустимо пустые переводы строк между директивами User-agent
и Disallow
(Allow
), а также между директивами Disallow
и Allow
.
Важно! URL файла robots.txt чувствителен к регистру.
На базовой версии файл robots.txt для wordpress выглядит следующим образом:
User-agent:
Disallow: /wp-admin/
Disallow: /wp-includes/
- User-agent это обращение к поисковикам. [*] звезда, означает, что следующие директивы группы обращены ко всем поисковикам;
- Директива Disallow запрещает поисковикам индексировать только то, что находится в папках /wp-admin/ и /wp-includes/.
Файл robots.txt составляется из строк, каждая из которых является отдельной директивой. Директива, а проще говоря, правило, пишется для поисковиков. Весь файл robots.txt пишется по специальному несложному синтаксису.
Синтаксис файла robots.txt
Символ ‘#’ назначен для комментариев. Все, что находится после решетки и до первого перевода строки не исполняется и не учитывается поисковиками.
Первой рабочей директивой файла robots.txt (начало группы) нужно прописывать директиву User-agent
. Она показывает к кому поисковику относится следующие за ним директивы;
Недопустимо пустые переводы строк между директивами User-agent
и Disallow
(Allow
);
Директива User-agent
со звездой , то есть User-agent: *
, означает, что правила robots.txt относятся ко всем поисковикам;
Для главных поисковых роботов Яндекс и Google директивы User-agent
файла robots.txt должны выгладить так:
User-agent: Yandex
User-agent: Googlebot
Правила для поисковиков прописываются директивами «Disallow» – запрет или «Allow»-разрешение;
User-agent: *
Allow: /cgi-bin
Disallow: /
# запрещает скачивать все, кроме страниц
# начинающихся с '/cgi-bin'
Любой файл robots.txt должен содержать директиву «Disallow»;
Пустая Disallow
разрешает индексацию всего сайта, Disallow
закрытая слеш (/) полностью закрывает сайт от индексации.
Disallow: / # блокирует доступ ко всему сайту
Составим Файл robots.txt для wordpresss
Что же стоит спрятать от поисковиков?
Разумно спрятать все папки с личной информацией, паролями, логинами и т.п. Это три папки. Директивы выглядят так:
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallw: /wp-includes/
Все плагины блога, темы, кэш не являются контентной информацией блога, поэтому их тоже спрячем.
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
В SEO продвижении, особенно в структуре WP, важное значение имеет отсутствие повторов (дублирование) контента в зоне одного домена. Дублирование возникает при редактировании материалов, при комментировании, при работе на блоге нескольких авторов, при постоянном упоминании одного автора в представлении к статье (имя автора). Много дублирования в тегах блога. Cтоит спрятать эти папки от поисковиков.
Если на блоге вы используете SEF ссылки (человекопонятные адреса статей), без знаков вопроса в URL, то можно запретить поисковикам индексировать эти страницы.
Disallow: /*?*
Disallow: /*?
Таким же образом вы можете запретить индексацию любой папки или файла блога. Чтобы запретить индексацию файлов, например .pdf нужно прописать директиву:
Disallow: /*.pdf
Спецсимвол звезда ‘*’ означает любую, включая пустую, последовательность символов.
В файле robots.txt есть одна интересная директива специальная для Яндекс. Это директива Host. С помощью неё вы можете (должны) сообщить Яндекс основной домен (главное зеркало) своего блога. Директив Host в файле должна быть одна. Если внесены несколько директив Host читается первая по списку. Правда, для этого нужно сделать отдельную секцию для “User-agent” для Яндекс.
User-agent: Yandex
В файл robots.txt обязательно нужно вставить информацию о своей карте Sitemap
Карту-сайта нужно генерировать при помощи любого веб-инструмента Sitemap. Он генерирует четыре формата карты-сайта. Один из них, файл формата [.xml], сначала нужно загрузить в корень сайта, а потом включить в файл robots.txt. Если карт-сайта несколько загрузите все. Рекомендую два генератора Sitemap:
- https://pro-sitemaps.com/
Если вы видите большую загрузку своего сервера, то можно воспользоваться директивой “Crawl-delay”. Она задаст время в миллисекундах, между загрузками двух страниц. Добавлять директиву “Crawl-delay” нужно сразу после “User-agent”.
User-agent: *
Crawl-delay: 3.5 # задает таймаут в 3.5 секунды
Вообще менять файл robots.txt на сайте WordPress это работа творческая. Каждый файл robots.txt должен быть индивидуальным и отвечать вашим личным требованиям к поисковикам.
Файл robots.txt для wordpress: пример
Приведу, как мне кажется, разумный Файл robots.txt для wordpress. Закрываем от роботов, кроме всего прочего, рубрики (category), архивы автора (autor), и страница (page).
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: /category/
Disallow: /author/
Disallow: /page/</del>
Disallow: */trackback
Disallow: */comments
Disallow: /*.php
Sitemap: http://ваш_сайт.ru/sitemap.xml.gz
Sitemap: http://ваш_сайт.ru/sitemap.xml
User-agent: Yandex
Disallow: /cgi-bin #блокирует доступ к страницам начинающихся с '/cgi-bin'
Disallow: /wp-admin/ #блокирует доступ к содержимому папки wp-admin
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
#блокирует содержимое папки plugins в каталоге wp-content
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /wp-trackback #блокирует доступ к страницам начинающихся с wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
<del>Disallow: /category/
Disallow: /author/
Disallow: /page/</del>
Disallow: */trackback
Disallow: */comments
Disallow: /*.php
Host: ваш_сайт.ru
Sitemap: http://ваш_сайт/sitemap.xml
Примечание: 21-03-2018. Яндекс сообщил:
…мы отказываемся от директивы Host. Теперь эту директиву можно удалять из robots.txt, но важно, чтобы на всех не главных зеркалах вашего сайта теперь стоял 301-й постраничный редирект.
Пояснения к файлу
Этот файл robots.txt для wordpress содержит выделенную инструкцию для поисковика Яндекс. В эту часть файла добавлена специальная директива Host, которая читается только ботами Яндекс и определяет основное зеркало сайта. Двух директив Host в файле robots.txt быть не должно.
В этом примере файла robots.txt закрыто для поисковиков все содержание папок: wp-admin, wp-includes, plugins, cashe, themes, autor, category. Если не хотите закрывать от поисковиков архивы статей, авторов и категории уберите строки (директивы), которые я зачеркнул. Закрыта индексация страниц wordpress (“на любителя”). Добавлены карты сайта.
Приведенный Файл robots.txt является частным и сделан для индивидуальных требований.
Для альтернативы, приведу другой рекомендованный Файл robots.txt. Рекомендация автора плагина WordPress SEO Plugins (yoast.com).
User-Agent: *
Disallow: /wp-content/plugins/
Повторюсь и выделю, нет уникальных файлов robots.txt. Продумайте, что нужно именно вам закрыть от поисковиков или оставьте файл robots.txt для wordpress по умолчанию. Частые манипуляции с файлом robots.txt, будут лихорадить вашу выдачу в индексе поисковиков.
Полезные ссылки
- Robots для Google: https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt?hl=ru
- Robots для Яндекс: https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html#crawl-delay
На этом про файл robots.txt для wordpress почти всё!
Дополнения от Google 2019 года
01-07-2019 года Google объявил, что протокол robots.txt становится единым стандартом Интернет и в связи с этим, изменяются некоторые правила обработки Google файла robots.txt и правила его составления.
- Термин “запись” заменяется на общий термин “строка” или “правило”.
- Google устанавливает максимальный размер файла robots.txt в 500 кибибайт (КиБ). Контент сверх этого лимита игнорируется. 1 кибибайт равен 1024 байта.
- Поисковик не обрабатывает элементы с простыми ошибками или опечатками.
- Роботы Гугл делают минимум 5 переходов в цепочке переадресаций, если файл robots.txt не удается получить сразу. Если в результате файл robots.txt не обнаруживается, роботы Google интерпретируют это как ошибку 404.
- Файл robots.txt должен располагаться в каталоге верхнего уровня хоста и быть доступным при использовании нужного протокола и номера порта. Google поддерживает все протоколы в том числе HTTP и HTTPS.
- URL файла robots.txt чувствителен к регистру.
- Формальный синтаксис файла robots.txt соответствует дополненной форме Бэкуса – Наура (ABNF) и включает символы UTF-8.
- Файл должен содержать обычный текст в кодировке UTF-8 и состоять из строк, разделённых символами CR, CR/LF или LF.
- Каждая действительная строка состоит из поля, двоеточия и значения. Использовать пробелы НЕ обязательно, но рекомендуется для удобства чтения.
- Комментарии можно размещать в любом месте файла, закрывая их символом #(решётка). После этого символа до конца строки контент расценивается как комментарий и игнорируется.
Дополнение
Интересен файл robots.txt от seogio.ru с очень подробными пояснениями.
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.ru/sitemap.xml
Sitemap: http://site.ru/sitemap.xml.gz
# Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS
# то пишем протокол, если нужно указать порт, указываем). Команда стала необязательной. Ранее Host понимал
# Яндекс и Mail.RU. Теперь все основные поисковые системы команду Host не учитывают.
Host: www.site.ru
Заключение
Файл robots.txt для wordpress создаётся под конкретный сайт и конкретные задачи. Приведенные примеры файлов лишь дают представление, как файл составить и это рекомендации по его составлению. Хотя рекомендации правильные и заслуживают внимания.
Например, вот такой robots.txt используют на сайте ru.wordpress.org:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: *
Disallow: /search
Disallow: /support/rss
Disallow: /archive/
©www.wordpress-abc.ru
Другие статьи раздела: CMS WordPress
- Как скрыть статьи отдельных категорий с главной страницы WordPress
- Файл wp-config.php WordPress
- Редактируем виджет Мета WordPress, убираем лишние ссылки(строки)
- Как работает скрипт для кнопки “Наверх”
- Структура статьи WP , тег h1 и h2 в шаблоне WordPress
Как вы можете рекомендовать другим и писать на сайте Host: ваш сайт.ru Когда на вашем сайте хост host: https://wordpress-abc.ru ??? или объясните почему так . Спасибо
Директива Host пишется только в секции yandex.
Для этого сайта Host пишется как: Host: https://www.wordpress-abc.ru
Директива Host для сайта site.ru работающего по протоколу http пишется как: Host: site.ru
Директива Host для сайта сайт.рф пишется в Punycode, а именно Host: xn--80aswg.xn--p1ai
Спасибо! Отличный роботс!
У Вас лишние теги в тексте, проверьте еще раз весь текст, чтобы другие не копировали с ошибками.
Disallow: /category/Disallow: /author/
Disallow: /page/
Disallow: /page/
Здравствуйте ! Помогите, подскажите пожалуйста как убрать из индекса ссылки вот такого вида, пример: https://retseptone.ru/shashlyik-iz-mintaya-s-gribami/1-150/ И откуда они лезут?
Ваш комментарий ожидает одобрения. Это его предварительный просмотр, комментарий станет видимым для всех после одобрения.
Здравствуйте я плохо понимаю в робот txt кто может помочь составить robots txt для сайта https://vse-rabotaet.com/
За ранее спасибо.
Я пользуюсь этим http://progme.ru/wordpress/optimalnyj-fajl-robots-txt-dlya-wordpress-2019/
Вот в этой статье https://dampi.ru/pravilnyiy-robots-txt-dlya-sayta-na-wordpress автор утверждает о том, что если открыть uploads для всех ботов, то в индексе появляются загруженные PDF и прочие текстовые файлы. А в яндекс вебмастере, в отчете “Исключенные страницы” появляются сообщения об ошибке при индексировании картинок, мол содержимое не поддерживается. Вот и не знаю кому верить…