30+ примеров настройки robots.txt

30+ примеров настройки robots.txt

30.03.2017

Как настроить корректную индексацию сайта поисковыми роботами? Как закрыть доступ сканирующих роботов к техническим файлам сайта?

Файл robots.txt ограничивает доступ поисковых роботов к файлам на сервере - в файле написаны инструкции для сканирующих роботов. Поисковый робот проверяет возможность индексации очередной страницы сайта - есть ли подходящее исключение. Чтобы поисковые роботы имели доступ к robots.txt, он должен быть доступен в корне сайта по адресу mysite.ru/robots.txt.

Пример полного доступа на индексацию сайта без ограничений:

User-agent: *
Allow: /

Применение в SEO

По умолчанию поисковые роботы сканируют все страницы сайта, к которым они имеют доступ. Попасть на страницу поисковый робот может из карты сайта, ссылки на другой странице, наличии трафика на данной странице и т.п.. Не все страницы, которые были найден поисковым роботом следует показывать в результатах поиска.

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

Правила синтаксиса robots.txt

Логика и структура файла robots.txt должны строго соблюдаться и не содержать лишних данных:

  • Любая новая директива начинается с новой строки.
  • В начале строки не должно быть пробелов.
  • Все значения одной директивы должны быть размещены на этой же строке.
  • Не использовать кавычки для параметров директив.
  • Не использовать запятые и точки с запятыми для указания параметров.
  • Все комментарии пишутся после символа #.
  • Пустая строка обозначает конец действия текущего User-agent.
  • Каждая директива закрытия индексации или открытия содержит только один параметр.
  • Название файла должно быть написано прописными буквами, файлы Robots.txt или ROBOTS.TXT являются другими файлами и игнорируются поисковыми роботами.
  • Если директива относится к категории, то название категории оформляется слешами "/categorya/".
  • Размер файла robots.txt не должен превышать 32 кб, иначе он трактуется как разрешающий индексацию всего.
  • Пустой файл robots.txt считается разрешающим индексацию всего сайта.
  • При указании нескольких User-agent без пустой строки между ними обрабатываться будет только первая

Проверка robots.txt

Поисковые системы Яндекс и Google дают возможность проверить корректность составления robots.txt:

  • В Вебмастер.Яндекс - анализ robots.txt.
  • В Google Search Console - ссылка, необходимо сначала добавить сайт в систему.

Примеры настройки robots.txt

Первой строкой в robots.txt является директива, указывающая для какого робота написаны исключения.

Директива User-agent

# Все сканирующие роботы 
User-agent: *
# Все роботы Яндекса
User-agent: Yandex
# Основной индексирующий робот Яндекса
User-agent: YandexBot
# Все роботы Google
User-agent: Googlebot

Все директивы следующие ниже за User-agent распространяют свое действие только на указанного робота. Для указания данных другому роботу следует еще раз написать директиву User-agent. Пример с несколькими User-agent:

Использование нескольких User-agent

# Будет использована основным роботом Яндекса
User-agent: YandexBot
Disallow: *request_* # Будет использована всеми роботами Google
User-agent: Googlebot
Disallow: *elem_id* # Будет использована всеми роботами Mail.ru
User-agent: Mail.Ru
Allow: *SORT_*

Сразу после указания User-agent следует написать инструкции для выбранного робота. Нельзя указывать пустые сроки между командами в robots.txt, это будет не правильно понято сканирующими роботами.

Разрешающие и запрещающие директивы

Для запрета индексации используется директива "Disallow", для разрешения индексации "Allow":

User-agent: *
Allow: /abc/
Disallow: /blog/

Указано разрешение на индексацию раздела /abc/ и запрет на индексацию /blog/. По умолчанию все страницы сайта разрешены на индексацию и не нужно указывать для всех папок директиву Allow. Директива Allow необходима при открытии на индексацию подраздела. Например открыть индексацию для подраздела с ужатыми изображениями, но не открывать доступ к другим файлам в папке:

User-agent: *
Disallow: /upload/
Allow: /upload/resize_image/

Последовательность написания директив имеет значение. Сначала закрывается все папка от индексации, а затем открывается её подраздел.

Запрещение индексации - Disallow

Директива для запрета на сканирование - Disallow, индексация запрещается в зависимости от параметров, указанных в директиве.

Полный запрет индексации

User-agent: *
Disallow: /

Сайт закрывается от сканирования всех роботов.

Существуют специальные символы "*" и "$", которые позволяют производить более тонкое управление индексацией:

Disallow: /cat* 
Disallow: /cat

Символ звездочка означает любое количество любых символов, которые могут идти следом. Вторая директива имеет тот же смысл.

Disallow: *section_id*

Запрещает индексацию всех Url, где встречается значение внутри звездочек.

Disallow: /section/

Закрывает от индексации раздел и все вложенные файлы и подразделы.

Разрешение индексации - Allow

Задача директивы Allow открывать для индексации url, которые подходят под условие. Синтаксис Allow сходен с синтаксисом Disallow.

User-agent: *
Disallow: /
Allow: /fuf/

Весь сайт закрыт от индексации, кроме раздел /fuf/.

Директива Host

Данная директива нужна для роботов поисковой системы Яндекс. Она указывает главное зеркало сайта. Если сайт доступен по нескольким доменам, то это позволяет поисковой системе определить дубли и не включать их в поисковый индекс.

User-agent: *
Disallow: /bitrix/
Host: mysite.ru

В файле robots.txt директиву Host следует использовать только один раз, последующие указания игнорируются.

Если сайт работает по защищенному протоколу https, то следует указывать домен с полным адресом:

User-agent: *
Disallow: /bitrix/
Host: https://domain.ru

Директива Sitemap

Для ускорения индексации страниц сайта поисковым роботам можно передать карту сайта в формате xml. Директива Sitemap указывает адрес, по которому карта сайта доступна для скачивания.

User-agent: *
Disallow: /bitrix/
Sitemap: http://domain.ru/sitemap.xml

Исключение страниц с динамическими параметрами

Директива Clean-param позволяет бороться с динамическими дублями страниц, когда содержимое страницы не меняется, но добавление Get-параметра делает Url уникальным. При составлении директивы сначала указывается название параметра, а затем область применения данной директивы:

Clean-param: get1[&get2&get3&get4&..&getN] [Путь]

Простой пример для страницы http://domain.ru/catalog/?&get1=1&get2=2&get3=3. Директива будет иметь вид:

Clean-param: get1&get2&get3 /catalog/

Данная директива будет работать для раздела /catalog/, можно сразу прописать действие директивы на весь сайт:

Clean-param: get1&get2&get3 /

Снижение нагрузки - Crawl-delay

Если сервер не выдерживает частое обращение поисковых роботов, то директива Crawl-delay поможет снизить нагрузку на сервер. Поисковая система Яндекс поддерживает данную директиву с 2008 года.

User-agent: *
Disallow: /search/
Crawl-delay: 4

Поисковый робот будет делать один запрос, затем ждать 4 секунды и снова делать запрос.

Типовой robots.txt для сайта на Bitrix

В заключении полноценный файл robots.txt для системы 1С-Битрикс, который включает все типовые разделы:

User-agent: *
Disallow: /bitrix/
Disallow: /admin/
Disallow: /auth/
Disallow: /personal/
Disallow: /cgi-bin/
Disallow: /search/
Disallow: /upload/
Allow: /upload/resize_cache/
Allow: /upload/iblock/
Disallow: *bxajaxid*
Sitemap: http://domain.ru/sitemap.xml
Host: domain.ru