Правильный robots.txt или как понравиться поисковым системам

Test your robots.txt file

  1. Open the tester tool for your site, and scroll through the code to locate the highlighted syntax warnings and logic errors. The number of syntax warnings and logic errors is shown immediately below the editor. 
  2. Type in the URL of a page on your site in the text box at the bottom of the page.
  3. Select the user-agent you want to simulate in the dropdown list to the right of the text box.
  4. Click the TEST button to test access.
  5. Check to see if TEST button now reads ACCEPTED or BLOCKED to find out if the URL you entered is blocked from Google web crawlers.
  6. Edit the file on the page and retest as necessary. Note that changes made in the page are not saved to your site! See the next step.
  7. Copy your changes to your robots.txt file on your site. This tool does not make changes to the actual file on your site, it only tests against the copy hosted in the tool.

Limitations of the robots.txt Tester tool:

  • Changes you make in the tool editor are not automatically saved to your web server. You need to copy and paste the content from the editor into the file stored on your server.
  • The robots.txt Tester tool only tests your with Google user-agents or web crawlers, like Googlebot. We cannot predict how other web crawlers interpret your file.

Основные рекомендации в отношении файлов robots.txt

Ниже представлено несколько советов по работе с файлами robots.txt. Мы рекомендуем вам изучить полный синтаксис этих файлов, так как используемые при их создании синтаксические правила являются неочевидными и вы должны разбираться в них.


Формат и расположение

Создать файл robots.txt можно почти в любом текстовом редакторе с поддержкой кодировки UTF-8. Не используйте текстовые процессоры, поскольку зачастую они сохраняют файлы в проприетарном формате и добавляют в них недопустимые символы, например фигурные кавычки, которые не распознаются поисковыми роботами.

При создании и тестировании файлов robots.txt используйте инструмент проверки. Он позволяет проанализировать синтаксис файла и узнать, как он будет функционировать на вашем сайте.

Правила в отношении формата и расположения файла

  • Файл должен носить название robots.txt.
  • На сайте должен быть только один такой файл.
  • Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать сканирование всех страниц сайта , файл robots.txt следует разместить по адресу . Он не должен находиться в подкаталоге (например, по адресу ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  • Файл robots.txt можно добавлять по адресам с субдоменами (например, ) или нестандартными портами (например, ).
  • Комментарием считается любой текст после символа #.

Синтаксис

  • Файл robots.txt должен представлять собой текстовый файл в кодировке UTF-8 (которая включает коды символов ASCII). Другие наборы символов использовать нельзя.
  • Файл robots.txt состоит из групп.
  • Каждая группа может содержать несколько правил, по одному на строку. Эти правила также называются директивами.
  • Группа включает следующую информацию:
    • К какому агенту пользователя применяются директивы группы.
    • К каким каталогам или файлам у этого агента есть доступ.
    • К каким каталогам или файлам у этого агента нет доступа.
  • Инструкции групп считываются сверху вниз. Робот будет следовать правилам только одной группы с наиболее точно соответствующим ему агентом пользователя.
  • По умолчанию предполагается, что если доступ к странице или каталогу не заблокирован правилом , то агент пользователя может их обрабатывать.
  • Правила чувствительны к регистру. Так, правило применимо к URL , но не к .

Директивы, которые используются в файлах robots.txt

Другие правила игнорируются.

Ещё один пример

Файл robots.txt состоит из групп. Каждая из них начинается со строки , определяющей робота, который должен следовать правилам. Ниже приведен пример файла с двумя группами и с поясняющими комментариями к обеим.

# Блокировать доступ робота Googlebot к каталогам example.com/directory1/... и example.com/directory2/...
# но разрешить доступ к каталогу directory2/subdirectory1/...
# Доступ ко всем остальным каталогам разрешен по умолчанию.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Блокировать доступ ко всему сайту другой поисковой системе.
User-agent: anothercrawler
Disallow: /

Действующие правила robots.txt

User-Agent

У каждой поисковой системы есть свои «агенты пользователя». По сути, это имя краулера, которое помогает дать определённые указания конкретному ему.

Если брать шире, то User-Agent — клиентское приложение на стороне поисковой системы, в некотором смысле имитирующее браузер или, например, мобильное устройство.

Примеры:

  • — символ астериск используются для обозначения сразу же всех краулеров.

  • — основной краулер Яндекс-поиска.

  • — робот поиска Google по картинкам.

  • — краулер сервиса Ahrefs.

Важно: если в файле указаны правила для конкретных User-Agent, то роботы будут следовать только своим инструкциям, игнорируя общие правила. В примере ниже краулер DuckDukcGo сможет сканировать папки сайта и , несмотря на астериск («звёздочку»), отвечающий за инструкции всем роботам

В примере ниже краулер DuckDukcGo сможет сканировать папки сайта и , несмотря на астериск («звёздочку»), отвечающий за инструкции всем роботам.

    User-agent: *
    Disallow /tmp/
    Disallow /api/

    User-agent DuckDuckBot
    Disallow /duckhunt/

Disallow

Директива, которая позволяет блокировать от индексации полностью весь сайт или определённые разделы.


Может быть полезно для закрытия от сканирования служебных, динамических или временных страниц (символ отвечает за комментарии в коде и игнорируется краулерами).

    User-agent: *

    # Закрываем раздел /cms и все файлы внутри

    Disallowcms

    # Закрываем папку /images/resized/ (сами изображения разрешены к сканированию)

    Disallow /api/resized

Упростить инструкции помогают операторы:

  • — любая последовательность символов в URL. По умолчанию к концу каждого правила, описанного в файле robots.txt, приписывается спецсимвол *.

  • — символ в конце URL-адреса, он используется чтобы отменить использование * на конце правила.

    User-agent: *

    # Закрываем URL, начинающиеся с /photo после домена. Например:
    #     /photos
    #     /photo/overview

    Disallowphoto

    # Закрываем все URL, начинающиеся с /blog/ после домена и заканчивающиеся /stats/

    Disallow /blog/*/stats$

Важно: в robots.txt не нужно закрывать JS и CSS-файлы, они понадобятся поисковым роботом для правильного отображения (рендеринга) контента

Allow

С помощью этой директивы можно, напротив, разрешить каталог или конкретный адрес к индексации. В некоторых случаях проще запретить к сканированию весь сайт и с помощью Allow открыть нужные разделы.

    User-agent: *

    # Блокируем весь раздел /admin

    Disallowadmin

    # Кроме файла /admin/css/style.css

    Allow /admin/cssstyle.css

    # Открываем все файлы в папке /admin/js. Например:
    #     /admin/js/global.js
    #     /admin/js/ajax/update.js

    Allow /admin/js

Также Allow можно использовать для отдельных User-Agent.

    # Запрещаем доступ к сайту всем роботам

    User-agent: *
    Disallow

    # Кроме краулера Яндекса

    User-agent: Yandex
    Allow

Crawl-delay

Директива, теряющая актуальность в случае Goolge, но полезная для работы с другими поисковиками.

Позволяет замедлить сканирование, если сервер бывает перегружен. Устанавливает интервал времени для обхода страниц в секундах (для Яндекса). Чем выше значение, тем медленнее краулер ходит по сайту.

    User-agent: *
    Crawl-delay 5

Несмотря на то, что Googlebot игнорирует подобные правила, настроить скорость сканирования можно в Google Search Console проекта.

Интересно, что китайский Baidu также не обращает внимание на Crawl-delay в robots.txt, а Bing воспринимает команду как «временное окно», в рамках которого BingBot будет сканировать сайт только один раз

Важно: если установлено высокое значение Crawl-delay, убедитесь, что ваш сайт своевременно индексируется. В сутках 86 400 секунд, при будет просканировано не более 2880 страниц в день, что мало для крупных сайтов

В сутках 86 400 секунд, при будет просканировано не более 2880 страниц в день, что мало для крупных сайтов

Важно: если установлено высокое значение Crawl-delay, убедитесь, что ваш сайт своевременно индексируется. В сутках 86 400 секунд, при будет просканировано не более 2880 страниц в день, что мало для крупных сайтов

Sitemap

Одно из ключевых применений robots.txt в SEO — указание на расположение карты сайты

Обратите внимание, используется полный URL-адрес (их может быть несколько)

    Sitemap https//www.example.com/sitemap.xml
    Sitemap https//www.example.com/blog-sitemap.xml

Нужно иметь в виду:

  • Директива Sitemap указывается с заглавной S.

  • Sitemap не зависит от инструкций User-Agent.

  • Нельзя использовать относительный адрес карты сайта, только полный URL.

  • Файл XML-карты сайта должен располагаться на том же домене.


Также убедитесь, что ссылка возвращает статус без редиректов. Проверить можно с помощью инструмента, определяющего ответ сервера или анализа XML-карты сайта.

Do you need a robots.txt file?

You may not even need to have a robots.txt file on your site. In fact it is often the case you do not need one.

Reasons you may want to have a robots.txt file:

  • You have content you want blocked from search engines
  • You are using paid links or advertisements that need special instructions for robots
  • You want to fine tune access to your site from reputable robots
  • You are developing a site that is live, but you do not want search engines to index it yet
  • They help you follow some Google guidelines in some certain situations
  • You need some or all of the above, but do not have full access to your webserver and how it is configured

Each of the above situations can be controlled by other methods, however the robots.txt file is a good central place to take care of them and most webmasters have the ability and access required to create and use a robots.txt file.

Reasons you may not want to have a robots.txt file:

  • It is simple and error free
  • You do not have any files you want or need to be blocked from search engines
  • You do not find yourself in any of the situations listed in the above reasons to have a robots.txt file

It is okay to not have a robots.txt file.

When you do not have a robots.txt file the search engine robots like Googlebot will have full access to your site. This is a normal and simple method that is very common.

Какие правила нужно включить в файл robots.txt для WordPress

В предыдущем разделе мы видели пример генерируемого WordPress файла robots.txt. Он включает в себя только два коротких правила, но для большинства сайтов их достаточно. Давайте взглянем на два разных файла robots.txt и рассмотрим, что каждый из них делает.

Вот наш первый пример файла robots.txt WordPress:

User-agent: *
Allow: /
# Disallowed Sub-Directories
Disallow: /checkout/
Disallow: /images/
Disallow: /forum/

Этот файл robots.txt создан для форума. Поисковые системы обычно индексируют каждое обсуждение на форуме. В зависимости от того, какая тематика вашего форума, вы можете захотеть запретить индексацию. Так, например, Google не будет индексировать сотни коротких обсуждения пользователей. Вы также можете установить правила, указывающие на конкретную ветвь форума, чтобы исключить её, и позволить поисковым системам обходить остальные.

Вы также заметили строку, которая начинается с Allow: / вверху файла. Эта строка говорит ботам, что они могут сканировать все страницы вашего сайта, кроме установленных ниже ограничений. Также вы заметили, что мы установили эти правила как универсальные (со звёздочкой), как было в виртуальном файле WordPress robots.txt.

Давайте проверим другой пример файла WordPress robots.txt:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
User-agent: Bingbot
Disallow: /

Вы можете совершенно конкретно задавать поисковых роботов отдельного движка для ограничения/разрешения их доступа. На практике, конечно, Bingbot очень хороший (даже если не такой хороший, как Googlebot). Однако, есть и много вредоносных роботов.

Плохой новостью является то, что они далеко не всегда следуют инструкциям из файла robots.txt (они же всё же работают как террористы). Следует иметь в виду, что, хотя большинство роботов будут использовать указания, представленные в этом файле, но вы не можете принудить их это делать. Мы просто хорошо просим.

Если глубже вникнуть в тему, вы найдёте много предложений того, что разрешать и что блокировать на своём сайте WordPress. Хотя, из нашего опыта, меньше правил часто лучше. Вот пример рекомендованного вида вашего первого файла robots.txt:

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/

Традиционно WordPress любит закрывать каталоги wp-admin и wp-includes. Однако, это уже не является лучшим решением. Плюс, если вы добавляете мета тэги для своих изображений с целью продвижения (SEO), нету смысла указывать ботам не отслеживать содержимое этих каталогов. Вместо этого, два правила выше обеспечивают основные потребности большинства сайтов.

Что содержится в вашем файле robots.txt будет зависеть от особенностей и потребностей вашего сайта. Поэтому смело проводите больше исследований!

Файл robots.txt для wordpress: пример


Приведу, как мне кажется, разумный Файл robots.txt для wordpress. Закрываем от роботов, кроме всего прочего, рубрики (category), архивы автора (autor), и страница (page).

Примечание: 21-03-2018. Яндекс сообщил:

Пояснения к файлу

Этот файл 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).

Повторюсь и выделю, нет уникальных файлов robots.txt. Продумайте, что нужно именно вам закрыть от поисковиков или оставьте файл robots.txt для wordpress по умолчанию. Частые манипуляции с файлом robots.txt, будут лихорадить вашу выдачу в индексе поисковиков.

Полезные ссылки

  • Robots для Google: https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt?hl=ru
  • Robots для Яндекс: 

На этом про файл robots.txt для wordpress почти всё!

What is robots.txt used for?

robots.txt is used primarily to manage crawler traffic to your site, and usually to keep a page off Google, depending on the file type:

Page Type Traffic management Hide from Google Description
Web page

For web pages (HTML, PDF, or other non-media formats that Google can read), robots.txt can be used to manage crawling traffic if you think your server will be overwhelmed by requests from Google’s crawler, or to avoid crawling unimportant or similar pages on your site.

You should not use robots.txt as a means to hide your web pages from Google Search results. This is because, if other pages point to your page with descriptive text, your page could still be indexed without visiting the page. If you want to block your page from search results, use another method such as password protection or a noindex directive.

If your web page is blocked with a robots.txt file, it can still appear in search results, but the search result will not have a description and look something like this. Image files, video files, PDFs, and other non-HTML files will be excluded. If you see this search result for your page and want to fix it, remove the robots.txt entry blocking the page. If you want to hide the page completely from search, use .

Media file

Use robots.txt to manage crawl traffic, and also to prevent image, video, and audio files from appearing in Google search results. (Note that this won’t prevent other pages or users from linking to your image/video/audio file.)

  • Read more about preventing images from appearing on Google.
Resource file You can use robots.txt to block resource files such as unimportant image, script, or style files, if you think that pages loaded without these resources will not be significantly affected by the loss. However, if the absence of these resources make the page harder for Google’s crawler to understand the page, you should not block them, or else Google won’t do a good job of analyzing pages that depend on those resources.

I use a site hosting service

If you use a website hosting service, such as Wix, Drupal, or Blogger, you might not need to (or be able to) edit your robots.txt file directly. Instead, your provider might expose a search settings page or some other mechanism to tell search engines whether or not to crawl your page.

To see if your page has been crawled by Google, search for the page URL in Google.

If you want to hide (or unhide) your page from search engines, add (or remove) any page login requirements that might exist, and search for instructions about modifying your page visibility in search engines on your hosting service, for example: wix hide page from search engines

Understand the limitations of robots.txt

Before you create or edit , you should know the limits of this URL blocking method. At times, you might want to consider other mechanisms to ensure your URLs are not findable on the web.

  • Robots.txt directives may not be supported by all search engines The instructions in files cannot enforce crawler behavior to your site, it’s up to the crawler to obey them. While Googlebot and other respectable web crawlers obey the instructions in a file, other crawlers might not. Therefore, if you want to keep information secure from web crawlers, it’s better to use other blocking methods, such as password-protecting private files on your server.
  • Different crawlers interpret syntax differently Although respectable web crawlers follow the directives in a file, each crawler might interpret the directives differently. You should know the proper syntax for addressing different web crawlers as some might not understand certain instructions.
  • A robotted page can still be indexed if linked to from from other sites While Google won’t crawl or index the content blocked by , we might still find and index a disallowed URL if it is linked from other places on the web. As a result, the URL address and, potentially, other publicly available information such as anchor text in links to the page can still appear in Google search results. To properly prevent your URL from appearing in Google Search results, you should password-protect the files on your server or use the noindex meta tag or response header (or remove the page entirely).

Note: Combining multiple crawling and indexing directives might cause some directives to counteract other directives. Learn how to configure these directives properly by reading the of the Google Developers documentation.


С этим читают