Все
статьи

Что такое файл robots.txt и зачем он нужен

Оглавление

Robots.txt — это текстовый файл, который создают веб-мастера сайтов, чтобы сообщить, какие страницы стоит исключить из поискового индекса. Все, что не заблокировано, будет отображаться в поиске.

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

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

Чаще всего robots.txt используется для закрытия от индексации:

  • технических директорий, админ-панелей, личного кабинета;
  • корзин, страниц с обработкой заказов;
  • страниц результатов сортировок, отработок фильтров;
  • страниц внутреннего поиска по сайту;
  • конфиденциальных страниц и файлов;
  • PDF, DOCX и прочих документов, которые не должны участвовать в поиске;
  • сторонних сервисов/скриптов (JivoSite и подобных);
  • служебных страниц без элементов навигации и т. д.

Требования к файлу robots.txt

Чтобы файл robots.txt корректно обрабатывался поисковыми роботами, он должен соответствовать следующим основным требованиям:

  • Файл должен представлять собой текстовый документ в кодировке UTF-8.
  • Файл должен называться robots.txt, строго в нижнем регистре.
  • Файл должен размещаться в корневом каталоге сайта, например, https://site.ru/robots.txt.
  • Файл должен быть доступен для поисковых роботов.
  • Размер файла не должен превышать 500 КБ.
  • Файл работает в рамках только одного домена. Для субдоменов используйте самостоятельные файлы robots.txt
  • В файле не должны блокироваться к индексированию неканонические страницы, страницы с метатегом robots=»noindex» или страницы, с которых настроены редиректы. Иначе поисковые системы эти настройки и сигналы могут не увидеть и не учесть.
  • Некоторые директивы поддерживаются не всеми поисковыми системами, например, Clean-param для Яндекса не учитывается Google.
  • В файле нельзя использовать кириллицу.
# Неверно:
User-agent: Yandex
Disallow: /корзина
Sitemap: https://сайт.рф/sitemap.xml

# Верно:
User-agent: Yandex
Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
Sitemap: https://xn--80aswg.xn--p1ai/sitemap.xml

Если ошибок нет, поисковый бот приступает к сканированию сайта, его индексированию и добавлению страниц в поиск с учетом robots.txt.

Чтобы влиять на индексацию с помощью robots.txt, требуется знать основные типы директив и подстановочных знаков (спецсимволов).

Директивы в robots.txt

User-agent

Обязательная директива, определяющая, для каких поисковых роботов будут даны инструкции ниже. Основной робот поисковой системы Google — Googlebot, для Яндекса это Yandex. Если правила должны быть одинаковые для всех поисковых роботов, используется символ звезды — *.

User-agent: *

Кроме указанного выше Googlebot, существуют специальные группы роботов Google:

Бот (User-agent) Назначение
Googlebot-News Бот сервиса Google News. Используется, если вы хотите закрыть от индексации новостной контент.
Googlebot-Image Бот, индексирующий изображения сайта, добавляющих их в сервис Google Картинки.
Googlebot-Video Бот, индексирующий видео, размещенные на сайте.

Раньше ещё были актуальны директивы для рекламных групп ботов в Google Adwords, но с марта 2022 г. данные группы неактуальны для России.

Подробнее об агентах пользователей роботов Google и Яндекса:

Disallow

Это директива, запрещающая индексирование страниц, разделов и файлов внутри сайта.

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

User-agent: *
Disallow: /

Пример директивы, которая закрывает все дубли главной страницы, содержащие параметры в URL:

Disallow: /?

Директива Disallow содержит префикс пути (т. е. начало), который нужно закрыть от индексирования. Например, такая директива:

Disallow: /folder/

закроет от индексации не только папку /folder/, но и всё, что находится внутри нее.

«Disallow: /» — это крайне опасная директива. Внедрение ее на боевой версии сайта (к примеру, при невнимательном переносе обновлений с тестовой версии) может полностью исключить сайт из поиска и лишить трафика. Всегда проверяйте доступность вашего сайта в robots.txt.

Allow

Директива, разрешающая индексирование страниц, разделов и файлов внутри сайта из уже заблокированных Disallow директорий.

Пример директив, позволяющих индексирование определенной страницы внутри закрытого раздела /catalog/:

Disallow: /catalog
Allow: /catalog/page

Sitemap

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

Sitemap: https://www.site.ru/sitemap.xml

Директива Sitemap — межсекционная. Это значит, что она может находиться в любом месте файла robots.txt и не относится к конкретной секции User-agent.

Clean-param

Межсекционная директива для Яндекса, позволяющая исключить индексирование дублей страниц с параметрами в URL. C помощью Clean-param можно «склеить» страницы с динамическими параметрами, не оказывающими влияния на содержимое страниц.

Яндекс рекомендует использовать именно Clean-param вместо Disallow, так как эта директива позволяет передать основной странице сигналы ранжирования, накопленные на страницах с параметрами, тем самым улучшая ранжирование основной страницы.

Пример:

Clean-param: utm_source&utm_medium&utm_term&utm_content

Host

Директива, указывающая на главное зеркало сайта. Пример:

Host: https://www.site.ru

Директива Host не учитывается Яндексом и Google. Актуальна только для роботов поиска Mail.ru.

Спецсимволы в robots.txt

Кроме директив в robots.txt, можно добавить специальные символы, с помощью которых можно более точечно обращаться с директивами.

* (звездочка)

Спецсимвол, указывающий на любую последовательность символов, в том числе и пустую.

По умолчанию в конце каждого правила robots.txt подразумевается символ *, поэтому добавлять его в конце инструкций нет необходимости. Пример:

User-agent: *
# Блокируем доступ ко всем страницам, начинающимся с /catalog
Disallow: /catalog*
# То же самое
Disallow: /catalog

# (решетка)

Спецсимвол комментария. Всё, что находится после данного символа и до первого переноса строчки, не учитывается.

Не пытайтесь закрывать от индексации части страниц типа /page#part_1. В robots.txt вы можете заблокировать индексацию только страницы целиком. Для блокировки страницы используйте адрес без якоря #part_1.

$ (доллар)

Спецсимвол, обозначающий конец URL. Пример использования:

# Блокирует к индексированию только страницу site.ru/catalog
# Страницы уровнем ниже доступны к индексированию (например, site.ru/catalog/food)
Disallow: /catalog$

Как robots.txt понимают Яндекс и Google

Яндекс использует файл robots.txt для сканирования и индексации сайта. Он строго следует правилам, которые прописаны в файле. Страницы, заблокированные в robots.txt, можно найти в отчете «Индексирование» -> «Страницы в поиске» в сервисе Яндекс Вебмастер:

Google в свою очередь использует robots.txt для сканирования сайта и может игнорировать директивы, добавляя в индекс закрытые для индексирования страницы:

Для того чтобы страницы не добавлялись в индекс Google, рекомендуем использовать метатег <meta name=»robots» content=»noindex, nofollow»/>. Его необходимо поместить в тег <head> страницы. Либо возможны другие методы управления индексированием сайта.

Как одновременно работают Allow и Disallow

Поисковые системы используют директивы Allow и Disallow из одного блока User-agent последовательно, сортируя их по длине префикса URL, от меньшего к большему.

Пример директив, вписанных в robots.txt

User-agent: *
Disallow: /catalog/
Disallow: /product/product-id/
Allow: /

Как их видит поисковый робот

User-agent: *
Allow: /
Disallow: /catalog/
Disallow: /product/product-id/

Если для какой-то страницы подходит применение нескольких правил, то поисковый робот отдаст приоритет последнему правилу.

Пример

User-agent: *
Disallow: /catalog/product/
Allow: */product/

Префикс URL в закрывающей директиве «Disallow: /catalog/product/» длиннее, и поисковый робот обработает её последней. Из-за этого все страницы в папке /product/ все равно будут закрыты для индексирования:

Очень важно перед публикацией файла robots.txt проверить, корректно ли он работает и не запретит ли индексирование важных страниц.

Как проверить файл robots.txt

Чтобы проверить корректность файла robots.txt, можно использовать официальные инструменты от Яндекса и Google.

В Яндекс Вебмастере

Ссылка на инструмент — https://webmaster.yandex.ru/tools/robotstxt/.

Здесь вы можете проверить как robot.txt сайта, права на который у вас подтверждены, так и содержимое документа без привязки к домену.

В Google Search Console

Ссылка на инструмент — https://www.google.com/webmasters/tools/robots-testing-tool.

Кроме сервисов Google и Яндекс, вы можете использовать независимые инструменты, однако их качество и эффективность мы не гарантируем.

Типичные ошибки

Ошибки в robots.txt кардинально различаются по степени влияния на ранжирование сайта. Старайтесь минимизировать количество ошибок для наилучшего индексирования вашего сайта!

Ошибка Важность Влияние на индексирование
Использование «Disallow: /» Критичная Блокирует индексирование сайта. Может полностью исключить сайт из поисковой выдачи.
Закрытие всех параметров «Disallow: /*?» Важная Директива блокирует индексирование страниц с параметрами. Сигналы ранжирования на основную страницу не передаются, в отличие от ситуаций, когда используются Clean-param или теги canonical. Также могут быть заблокированы CSS и JS-файлы, из-за чего поиск может некорректно индексировать страницы, что плохо для ранжирования.
Закрытие файлов с изображениями, скриптами или стилями CSS Важная Кроме параметрических URL, пути до картинок, CSS и JS-файлов могут быть закрыты напрямую. Это может ухудшить индексирование контента страниц, а также исключить ранжирование в Яндекс и Google Картинках.
Пустая директива User-agent Важная Не указаны поисковые роботы, для которых обозначены правила. Из-за этой ошибки robots.txt может быть невалиден.
Правило начинается не с символа «/» и не с символа «*» Средняя Если после директив Disallow или Allow нет символа «/» или «*», директивы не будут работать.
Не указан путь к XML-карте сайта или указан относительный путь Низкая Если вы не указали путь к XML-картам сайта в файле robots.txt, то вам необходимо добавить их вручную в сервисы Яндекса и Google для веб-мастеров. Иначе поисковые системы их могут не найти.

Файлы robots.txt для популярных CMS

Ниже представлены шаблоны для наиболее распространенных CMS в Рунете. В данных шаблонах к индексированию запрещены:

  • Технические страницы
  • Админ-панели
  • Страницы с результатами поиска по сайту
  • Страницы с результатами действий пользователей (сброс пароля и т. п.)
  • Версии страниц для печати

Шаблоны для CMS реализованы для базовой оптимизации индексирования сайтов. В любом случае проверяйте доступность всех необходимых файлов к индексированию для каждого сайта индивидуально, не полагайтесь полностью на шаблонные директивы. Всегда пользуйтесь инструментами для веб-мастеров!

WordPress

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-
Disallow: */trackback
Disallow: */page
Disallow: /author/*
Disallow: /template.html
Disallow: /readme.html
Disallow: *?replytocom
Disallow: /? 
Allow: */uploads
Allow: /*.js
Allow: /*.css
Allow: /*.png
Allow: /*.gif
Allow: /*.jpeg
Allow: /*.jpg
Allow: /*.svg

# Укажите актуальный путь к XML-карте сайта
Sitemap: https://site.ru/sitemap.xml

1С-Битрикс

User-agent: * 
Disallow: /cgi-bin
Disallow: /bitrix/
Disallow: *bitrix_*=
Disallow: /local/
Disallow: /*index.php$
Disallow: /auth/
Disallow: *auth=
Disallow: /personal/
Disallow: *register=
Disallow: *forgot_password=
Disallow: *change_password=
Disallow: *login=
Disallow: *logout=
Disallow: */search/
Disallow: *action=
Disallow: *print=
Disallow: *?new=Y
Disallow: *?edit=
Disallow: *?preview=
Disallow: *backurl=
Disallow: *back_url=
Disallow: *back_url_admin=
Disallow: *captcha
Disallow: *?FILTER*=
Disallow: *?ei=
Disallow: *?p=
Disallow: *?q=
Disallow: *?tags=
Disallow: *B_ORDER=
Disallow: *BRAND=
Disallow: *CLEAR_CACHE=
Disallow: *ELEMENT_ID=
Disallow: *price_from=
Disallow: *price_to=         
Disallow: *PROPERTY_TYPE=
Disallow: *PROPERTY_WIDTH=
Disallow: *PROPERTY_HEIGHT=
Disallow: *PROPERTY_DIA=
Disallow: *PROPERTY_OPENING_COUNT=
Disallow: *PROPERTY_SELL_TYPE=
Disallow: *PROPERTY_MAIN_TYPE=    
Disallow: *PROPERTY_PRICE[*]=
Disallow: *S_LAST=  
Disallow: *SECTION_ID=
Disallow: *SECTION[*]=
Disallow: *SHOWALL= 
Disallow: *SHOW_ALL=
Disallow: *SHOWBY=
Disallow: *SORT=
Disallow: *SPHRASE_ID=        
Disallow: *TYPE=
Allow: */upload/
Allow: /bitrix/*.js
Allow: /bitrix/*.css
Allow: /*.js
Allow: /*.css
Allow: /*.png
Allow: /*.gif
Allow: /*.jpeg
Allow: /*.jpg
Allow: /*.svg

# Укажите актуальный путь к XML-карте сайта
Sitemap: https://site.ru/sitemap.xml

Joomla

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*com_mailto
Disallow: /*pop=
Disallow: /*lang=ru
Disallow: /*format=
Disallow: /*print=
Disallow: /*task=vote
Disallow: /*=watermark
Disallow: /*=download
Disallow: /*user/
Disallow: /index.php?
Disallow: /*%
Disallow: /*&
Disallow: /index2.php
Disallow: /*tag
Disallow: /*.pdf
Disallow: /*=atom
Allow: /index.php?option=com_xmap&sitemap=1&view=xml

# Укажите актуальный путь к XML-карте сайта
Sitemap: http://site.ru/sitemap.xml

Ответы на популярные вопросы о robots.txt

Для чего нужен robots.txt?

Файл robots.txt — текстовый документ, с помощью которого можно запретить индексацию страниц поисковыми системами на этапе сканирования сайта.

Как правильно составить robots.txt?

  • Создать текстовый документ с именем robots.txt.
  • Отобрать список типов страниц к блокировке.
  • Прописать все необходимые правила с учетом синтаксиса.
  • Разместить документ в корневой папке сайта.
  • Проверить его в Яндекс Вебмастере и Google Search Console.

Что нужно закрывать в robots.txt?

В robots.txt следует закрывать:

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

Какой максимальный размер robots.txt?

Максимальный размер файла robots.txt — 500 KB.

Как добавить sitemap.xml в robots.txt?

Используйте в конце документа директиву Sitemap с указанием актуального адреса вашего файла sitemap.xml.

Как редактировать robots.txt?

Рекомендуем редактировать файл robots.txt в инструменте Яндекс Вебмастера «Анализ robots.txt». Здесь вы без ошибок сможете составить корректные директивы и проверить доступность страниц, после чего перенесете содержимое в файл robots.txt на сайте.

Официальные руководства и инструменты

Денис Яковенко

Руководитель группы SEO-специалистов

Лучший SEO блог

Все
статьи

Яндекс Вебмастер: руководство пользователя

Полная инструкция по инструментам и функционалу Яндекс Вебмастера для SEO-специалистов и маркетологов. Сравнение Яндекс Вебмастера с Google Search Console.

Как привлечь бесплатный трафик на сайт?

Бесплатный трафик — это когда вам не надо платить за переходы на сайт. Но значит ли это, что нет вообще никаких сопутствующих расходов? Давайте разберёмся.

Что такое файл robots.txt и зачем он нужен

Robots.txt — это текстовый документ, содержащий директивы для указания разрешенных и запрещенных к индексированию страниц и файлов. Узнайте, как им пользоваться и как его учитывают поисковые системы.

Как выгружать данные из Google Analytics в Google Таблицы

Рассказываем про расширение Google Analytics Spreadsheet Add-on для браузера Chrome, которое позволяет выгружать данные в Google Таблицы без семплирования.

Нужно ли учитывать SEO-требования при создании и переезде сайта?

80% сайтов создаются или переезжают на новые платформы без учёта даже самых базовых SEO требований. Почему эта ошибка дорого обходится владельцам сайтов?

Индексирование сайта: что это и как им управлять

Основные принципы работы краулеров поисковых систем. Как устранить ошибки, возникающие при индексировании. Какими методами улучшить индексацию.