Файл robots.txt для wordpress

О файле 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.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

8 комментариев для “Файл robots.txt для wordpress”

  1. Директива Host пишется только в секции yandex.
    Для этого сайта Host пишется как: Host: https://www.wordpress-abc.ru
    Директива Host для сайта site.ru работающего по протоколу http пишется как: Host: site.ru
    Директива Host для сайта сайт.рф пишется в Punycode, а именно Host: xn--80aswg.xn--p1ai

  2. У Вас лишние теги в тексте, проверьте еще раз весь текст, чтобы другие не копировали с ошибками.

    Disallow: /category/
    Disallow: /author/
    Disallow: /page/

    Disallow: /page/

  3. Ваш комментарий ожидает одобрения. Это его предварительный просмотр, комментарий станет видимым для всех после одобрения.
    Здравствуйте я плохо понимаю в робот txt кто может помочь составить robots txt для сайта https://vse-rabotaet.com/
    За ранее спасибо.

  4. Вот в этой статье https://dampi.ru/pravilnyiy-robots-txt-dlya-sayta-na-wordpress автор утверждает о том, что если открыть uploads для всех ботов, то в индексе появляются загруженные PDF и прочие текстовые файлы. А в яндекс вебмастере, в отчете “Исключенные страницы” появляются сообщения об ошибке при индексировании картинок, мол содержимое не поддерживается. Вот и не знаю кому верить…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.