Файл robots.txt — документ с инструкцией для поисковых роботов. Там прописываются правила (директивы): какие страницы нужно просканировать (проиндексировать), чтобы они попали в поисковую выдачу. Особенно полезно, если нужно:
- запретить показ сайта или его страниц, содержащих неуникальный или бесполезный контент, конфиденциальную информацию;
- открыть одну часть страниц Google, а другую — Яндексу;
- указать приоритетный для индексации адрес сайта.
Robots.txt — это текстовый документ в кодировке UTF-8. Работает для протоколов http, https. Файл размещают в корневом каталоге сайта. Роботс должен быть доступен по адресу: https://site.ru/robots.txt.
Как robots.txt влияет на индексацию сайта
Поисковой робот заходит на сайт, если на нем есть файл robots.txt, то он вначале он обращается к нему. Если там четко указано, что нужно индексировать, а что нет, то он следует правилам документа.
Но иногда поисковики все равно индексируют страницы, хотя их обработка запрещена директивами robots.txt. Это происходит, когда на эти материалы есть прямые ссылки на вашем или любых других сайтах.
Как создать robots.txt
Разберемся, как это сделать вручную.
Если этот вариант не для вас, то можно воспользоваться специальными сервисами, например, htmlweb.ru или sitespy.ru.
Для сайтов на WordPress роботс можно сгенерировать с помощью плагина Yoast SEO.
Итак, заходим в любой текстовый редактор, например, Notepad и прописываем нужные директивы (правила). Далее расскажем подробнее о каждой.
User-agent
User-agent — правило о том, какие роботы должны следовать вашей инструкции.
Основные роботы
- User-agent: * — используем эту запись, если хотим, чтобы все работы следовали правилам robots.txt.
- User-agent: Googlebot — если правило только для бота Гугла.
- User-agent: Yandex — для Яндекса.
Другие роботы
- Mediapartners-Google — для сервиса AdSense;
- AdsBot-Google — это гугл-робот проверяет качество целевой страницы;
- YandexImages — индексирует изображения, чтобы они попали в Яндекс.Картинки;
- Googlebot-Image — для изображений Гугла;
- YandexMetrika — робот Яндекс.Метрики;
- YandexMedia — для видео и аудио Яндекса;
- YaDirectFetcher — робот Яндекс.Директа;
- Googlebot-Video — для видео;
- Googlebot-Mobile — для мобильной версии;
- YandexDirectDyn — робот генерации динамических баннеров;
- YandexBlogs — работает с блогами. Индексирует посты и комментарии;
- YandexMarket— робот Яндекс.Маркета;
- YandexNews — робот Яндекс.Новостей;
- YandexDirect — сканирует сайты, которые участвуют в РСЯ. Анализирует контент этих сайтов, уточняет тематику для подбора релевантной рекламы;
- YandexPagechecker — валидатор микроразметки;
- YandexCalendar — робот Яндекс.Календаря.
В идеальном robots.txt (в сказочном мире с розовыми единорогами) после User-agent надо обращаться к каждому роботу. Так можно повысить вероятность того, что поисковики будут соблюдать рекомендации из файла.
Disallow
Disallow — команда, закрывающая от индексации ресурс или отдельные его страницы.
- Disallow: / — чтобы скрыть портал от всех поисковиков. Пригодится, если сайт еще в разработке и вы пока не готовы представить его всему миру.
- Disallow: /papka/ — если нужно скрыть какую-то папку. Только вместо papka нужно вписать имя нужной папки.
- Disallow: /sekretno-info.html — для закрытия одной страницы после директивы указываем ссылку на нее.
Например:
User-agent: *
Disallow: /sekretno-info.html
Allow
Allow, наоборот, разрешает индексировать данные. Допустим, мы хотим, чтобы роботы индексировали только одну страницу сайта.
User-agent: *
Disallow: /
Allow: /sekretno-info.html
Тут нужно соблюдать логический порядок правил при одновременном применении Allow и Disallow. Сначала указываем команда, которая распространяет на весь сайт, затем — команда для раздела, подраздела или страницы.
Sitemap
Эта функция указывает адрес карты сайта. При каждом заходе робот переходит по указанному урлу и видит ссылки, которые нужно обязательно проиндексировать.
Команда прописывается в robots.txt так:
Sitemap: https://puzat.ru/sitemap.xml
Clean-param
Эта команда помогает избавиться от дублей страниц — это, когда одна страница доступна по разным адресам. Такие адреса появляются, если на сайте есть различные сортировки, id сессии и так далее. Например, страница доступна по адресам:
Тогда правило в robots.txt будет выглядеть так:
User-agent: *
...
Clean-param: sorts&order/catalog/category/
Host: уже не применяется
Директива применялась для указания главного зеркала сайта в Яндексе — копии ресурса, доступной по другому адресу.
В 2018 г. функцию перестали использовать. Теперь достаточно установить в файле .htaccess 301-й постраничный редирект на всех зеркалах портала, кроме основного. Так же желательно подтвердить главное зеркало в webmaster.yandex.ru.
Crawl-delay: уже не применяется
Команда crawl-delay была введена, чтобы указывать время ожидания робота между обработкой запросов. Эта функция помогала защитить серверы от перегрузки.
С 22 февраля 2018 г. она не распознается поисковиками. Современные серверы динамичны и способны пропускать много трафика, поэтому нет смысла настраивать время ожидания до обработки запроса.
Спецсимволы в robots.txt
Основные символы — «/, *, $, #».
Слэш «/»
Эти символом мы показываем, что мы хотим закрыть от роботов.
- Если ставим один слеш в правиле Disallow, то запрещаем индексацию всего сайта.
- Если ставим два слеша, то запрещаем сканирование какой-то одной части сайта. Например: /catalog/ — тут запрет на сканирование всей папки catalog.
- А если напишем так: /catalog, это будет означать, что мы не хотим, чтобы робот сканировал ссылки, которые начинаются на /catalog.
Звездочка «*»
Ставится после каждого правила. Означает любую последовательность символов в файле. Например, такая запись означает, что все роботы НЕ должны индексировать файлы с расширением .gif в папке /catalog/
User-agent: *
Disallow: /catalog/*.gif$
Знак доллара «$»
Ограничивает действия знака звездочки. Например, мы хотим закрыть все содержимое папки catalog. Но при этом нужно, чтобы урлы, которые начинаются на /catalog, были рабочими:
User-agent: *
Disallow: /catalog$
Решетка «#»
Роботы не учитывают этот знак. Он используется для комментариев.
Основные правила robots.txt
- Имя файла и его расширение пишем строчными буквами;
- Каждую новую директиву прописываем с новой строки;
- Нельзя ставить пробел перед командой;
- После блока правил ставим пустую строку;
- Название директивы пишем с большой буквы, остальные буквы в слове должны быть строчными;
- Не забываем ставить слеш / перед названием параметра, содержащим текст;
- Нельзя размещать более одного запрета в строке;
- В директивах Allow и Disallow можно указать только один параметр;
- В коде нельзя использовать символы из национальных алфавитов.
Внимание! Роботы будут игнорировать ваш файл: если он по каким-то причинам недоступен или весит больше 32 Кб.
Как выглядит минимальный robots.txt
Сайт открыт для индексирования и указана карта сайта:
User-agent: *
Disallow:
Sitemap: http://site.ru/sitemap.xml
Как проверить robots.txt
Проверить свой файл на ошибки можно с помощью Яндекс.Вебмастер и Search Console.
В Яндекс.Вебмастер сначала надо авторизоваться. Затем откроется окно, в котором можно указать ссылку на сайт и вставить исходный код robots.txt. Сервис начнет поиск ошибок после нажатия на кнопку Проверить.
В Search Console тоже придется авторизоваться и пройти по пути: Сканирование > Инструменты проверки файла robots.txt.
А как вы генерили robots.txt? Вручную или с помощью сервисов? Делитесь опытом в комментариях!
Спасибо, освежил знания-)