Что такое robots.txt и для чего он нужен

Что такое robots.txt и для чего он нужен
Что такое robots.txt и для чего он нужен

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

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

Поскольку это индексный файл (у краулеров прописано его расположение), то находиться он должен в чётко указанном месте – в корневой папке сайта. Открываться должен по такому адресу – http(s)://site.com/robots.txt, где http или https используется в зависимости от того на каком протоколе работает ваш сайт, а вместо site.com необходимо вставлять свой домен. Также обязательным условием должна быть кодировка UTF-8, иначе он просто будет прочитан с ошибками или вовсе проигнорирован.

Совет: чтобы посмотреть свой robots.txt необходимо открыть главную страницу сайта и набрать в адресной строке после нее «/robots.txt».

Примечание: поисковая система Google также регламентирует и размер файла robots – он не должен быть более 500 Кб.

С помощью данного файла можно выполнить следующие действия с вашим сайтом:

  1. Полностью закрыть его в глазах поисковика
  2. Открыть все папки и файлы для индексирования
  3. Ограничить страницы для обхода роботом определёнными правилами.

Ответы сервера при сканировании файла robots.txt

  • 2xx – файл найден, и информация получена.
  • 3хх – поисковый робот переадресован на другой адрес. Так может происходить не более 5 раз или пока он не получит другой ответ сервера. В ином случае это считается ответом 4ххх.
  • 4хх – при таком ответе сервера робот считает, что все содержимое сайта можно сканировать.
  • 5хх – данный код говорит о проблемах со стороны сервера, поэтому сканирование запрещается, и робот будет постоянно обращаться на сайт пока не получит отличный от 5хх ответ сервера.

Для чего используется файл robots.txt

Основной его функцией является настройка индексируемости сайта поисковыми краулерами. Обычно его применяют для закрытия от индексации:

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

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

Примечание: страница, закрытая в robots.txt, может также попасть в выдачу, поскольку он является рекомендательным, а не обязательным к исполнению (в особенности это касается Google. В некоторых случаях, страницы нужно закрывать с помощью других способов – тегами meta robots или x-robots.

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

Примечание: команды, применяемые в этом файле, называются директивами.

Все команды в файле оформляются одинаковым образом – сначала следует название директивы и двоеточие (между ними не нужен пробел), далее следует пробел и после него пишется сам параметр. Выглядит это так:

Директива: параметр

Для robots.txt обязательными является всего 2 команды – это User Agent и Disallow, если хоть одна из них отсутствует, то будет выбиваться ошибка при верификации.

Директива User-agent – приветствие для робота

Это первое, что указывается в robots.txt. Данная команда показывает, для какого именно робота пишется данный блок команд. Найдя свое имя, робот будет считывать все команды до следующей директивы user-agent.

User-agent: (и дальше пишется имя того робота, для которого предназначен данный блок директив).

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

User-agent: Googlebot (читается только ботами Google).

Если вам нужно прописать команды для всех роботов сразу, тогда используем символ – *

User-agent: * (читается всеми роботами).

На данный момент есть огромное множество различных ботов. Ниже предоставлен список самых популярных из них на просторах СНГ.

  • Googlebot-News — осуществляет поиск новостей;
  • Mediapartners-Google — бот сервиса AdSense;
  • AdsBot-Google — проверяет качество целевой страницы;
  • AdsBot Google Mobile Apps – проверяет качество целевой страницы для приложений на android, аналогично AdsBot;
  • Googlebot-Image — для картинок;
  • Googlebot-Video — для видео;
  • Googlebot-Mobile — для мобильной версии.

Директива Disallow – запрет на индексацию

Данная директива запрещает индексировать файлы и страницы, подпадающие под действие указанного параметра. Синтаксис написания такой же, как и у user-agent.

Например, на сайте есть папка с именем «users» c файлами с пользовательскими данными, и её нужно закрыть от индексации, тогда пишем так:

Disallow: /users/

Таким образом мы закрыли от индексации и папку /users/, и все содержимое в ней.

Примечание: для указания параметров не нужно прописывать сам домен. Например, пишем не «Disallow: site.ru/users/», а «Disallow: /users/».

Директива Allow – разрешение на индексацию

С помощью данной директивы мы можем открывать необходимые для индексации страницы и файлы.

Например, в папке «users» (о ней мы писали выше) есть папка «images», в которой есть картинки необходимые для индексации. Поэтому нам необходимо прописать следующую строку:

Allow: /users/images/

В итоге мы получаем:

User-agent: *                           Команды указаны для всех краулеров

Disallow: /users/                    Закрывает папку «users» и все файлы

Allow: /users/images/          Открывает вложенную папку «images» и все вложенные                 файлы

Приоретизация указаний

Если есть конфликт между Disallow и Allow, к исполнению будет выбран тот, у которого длинна параметра после двоеточия больше.

Например:

Disallow: /users/

Allow: /users/images/

По сути, первая команда Disallow должна закрыть и папку «images» тоже, но поскольку после двоеточия у первой директивы 7 символов, а у второй 14 символов, то приоритетной будет директива Allow.

В случае, если директивы полностью одинаковые, то приоритет будет отдан той, которая находится ниже. Например, при использовании такой последовательности папка «users» будет открыта:

Disallow: /users/

Allow: /users/

Директива Sitemap (указание карты сайта) или какие страницы важны к индексации

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

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

Sitemap: http://site.ua/sitemap.xml

В данной директиве путь к файлу карты сайта должен указываться полностью вместе с протоколом и при этом не важно – это http или https.

Если в файле нет директивы Sitemap, краулинговый робот по умолчанию ищет в корневой папке сайта (корне) файл с названием sitemap.xml, если его нет, то страницы на сайте проходятся рандомно, учитывая директивы в роботсе.

Директива Host – указание главного зеркала

Зачастую любой сайт открывается по двум URL-адресам. Первый – blog.ua. Второй – www.blog.ua. В подобных ситуациях нужно определить основное зеркало и сообщить о нем поисковым роботам.

Для этого используется директива Host. Указывается она в конце списке (перед директивой sitemap):

Host: blog.ua

В этом случае роботы видят, что главное зеркало – это URL-адрес без приставки www. И даже, если пользователи будут вводить адрес с ней, то их автоматически перекинет на главное зеркало.

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

Crawl-delay – «ручник» для робота

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

Синтаксис написания выглядит так:

Crawl-delay: 3

где 3 – это время в секундах между обращениями бота к сайту.

Сами поисковые системы рекомендуют использовать данную директиву только в крайних случаях.

Специальные символы *, $, #

Для упрощения составления файла и для ускорения интерпретации машинами информации из файла используются специальные символы.

Первый и самый важный символ – это * (звездочка)

Она означает, что вместо нее можно подставить любое количество любых символов.

В общем понимании это выглядит так:

1*1=121, 1*1=1234567891 и т.д.

Как это применить в нашем случае?

Например, у нас есть такие страницы:

site.ua/catalog/123

site.ua/catalog/111

site.ua/catalog/12

site.ua/catalog/23

site.ua/catalog/231

site.ua/catalog/2789

И нам нужно закрыть от индексации site.ua/catalog/123, site.ua/catalog/111, site.ua/catalog/12, но при этом не закрыть site.ua/catalog/23, site.ua/catalog/231, site.ua/catalog/2789.

Можно, конечно, сделать так:

User-agent: *

Disallow: /catalog/123

Disallow: /catalog/111

Disallow: /catalog/12

Но в 2 раза короче будет так:

User-agent: *

Disallow: /catalog/1*

Также это можно использовать для открытия всех файлов одинакового формата в одной папке.

Например, в папке «catalog» лежат файлы с расширением php, rar, pdf и jpg и нам нужно открыть последние, а все закрыть. Сделать это можно так.

Пример:

User-agent: *

Disallow: /catalog/

Allow: /catalog/*.jpg

Важное примечание: в конце любого параметра в директиве робот по умолчанию ставит звездочку. Например, кусок из примера выше краулер видит, как:

User-agent: *

Disallow: /catalog/*

Allow: /catalog/*.jpg*

Не забывайте об этом.

Стоп строка или знак «доллара» – $

Символ $ означает окончание строки – он отменяет звездочку в конце параметра. Как это понимает робот. У нас есть в папке «catalog» 2 типа файлов с расширением jpg и jp, и нам нужно открыть к индексации вторые, но запретить первые. Сделать это можно так:

User-agent: *

Disallow: /catalog/

Allow: /catalog/*.jp$

Если бы $ там не было, тогда индексировались бы все файлы, не только с jp

Немного поэзии с #

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

User-agent: *

#Открыл данный блок директив для всех роботов

Disallow: /catalog/

#Закрыл от индексации папку catalog

Allow: /catalog/*.jp$

#Открыл для индексации файлы с расширением jp

Поэтому комментарии НЕЛЬЗЯ размещать слева от директив в одной строке.

#Открыл для индексации файлы с расширением jp Allow: /catalog/*.jp$

Допускается комменты размещать справа от директивы и параметра.

Allow: /catalog/*.jp$       #Открыл для индексации файлы с расширением jp

Идеальный файл robots.txt

User-agent: *                                                          #Есть обязательная директива

Disallow:                                                                 # Есть обязательная директива

Host: http://site.ua                                              #Указано основное зеркало сайта

Sitemap: http://site.ua/sitemap.xml               #Есть ссылка на файл с url всех страниц сайта

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

После того, как файл залит в корневой каталог, нужно о нем сообщить поисковикам. Но перед этим обязательно проверить правильность его написания. Для каждого поисковика инструкция своя. Мы рассмотрим для Google:

  1. Войти в личный кабинет Google Search Console (заранее добавив туда сайт);
  2. Зайти в раздел «Сканирование»;
  3. Выбрать пункт «Инструмент проверки файла»;
  4. Указать путь к файлу (просто дописать «robots.txt», поскольку URL-адрес веб-ресурса там уже прописан и так).

После проверки поисковик даст знать, есть ли там ошибки. Если есть – нужно исправить, если нет – нажимаете «Отправить». Готово! Гугл знает, что у вас появился файл и скоро его просканирует.

Подведем итоги

Из этого всего следует, что при составлении индексного файла robots.txt нужно быть предельно внимательным, ведь одно неправильное решение и с позициями сайта можно попрощаться, а сайт просто выпадет из выдачи. Ничего сложного в добавлении файла robots.txt на сайт нет, вы легко справитесь, нужно просто уделить время и сделать все на совесть.

Сергей Иванченко
CEO
Другие статьи автора
05/12/2023
SEO (с англ. Search Engine Optimization) продвижение - это процесс улучшения качества и количества трафика из поисковых систем на сайт или определенную его страницу с помощью проведения комплекса работ, а также дальнейшая его монетизация путем получения прибыли в виде потенциальных клиентов или продажи.

24/10/2023
Нередко перед владельцем сайта или seo-специалистом встает вопрос о том, сколько же страниц имеет сайт, также иногда мы хотим узнать количество страниц на сайте конкурента. И разговор идет не о количестве страниц сайта, индексируемых той или иной поисковой системой, которые можно проверить, набрав в Google "site:[url вашего сайта]".

12/10/2023
Google предоставляет очень широкий функционал по настройке и дополнению рекламных объявлений. Это позволяет очень красиво и уникально оформлять внешний вид рекламных сниппетов и еще шире раскрывать свое УТП (уникальное торговое предложение), что в несколько раз может улучшить кликабельность объявления, поэтому не стоит пренебрегать настройками приложений, тем более, что их заполнение не требует титанических усилий.

Последние статьи по #SEO
03/11/2023
Как быстро рассчитать бюджет на рекламу в Google? От чего изначально отталкиваться, чтобы объективно оценивать свои возможности и ресурсы? Этими вопросами задаются практически все владельцы бизнеса и рекламодатели, решившие продвигаться с помощью сервисов Google, потому что грамотно составленный прогноз бюджета Google AdWords является гарантией успеха рекламной кампании и ее эффективности.

24/10/2023
Нередко перед владельцем сайта или seo-специалистом встает вопрос о том, сколько же страниц имеет сайт, также иногда мы хотим узнать количество страниц на сайте конкурента. И разговор идет не о количестве страниц сайта, индексируемых той или иной поисковой системой, которые можно проверить, набрав в Google "site:[url вашего сайта]".

12/10/2023
Google предоставляет очень широкий функционал по настройке и дополнению рекламных объявлений. Это позволяет очень красиво и уникально оформлять внешний вид рекламных сниппетов и еще шире раскрывать свое УТП (уникальное торговое предложение), что в несколько раз может улучшить кликабельность объявления, поэтому не стоит пренебрегать настройками приложений, тем более, что их заполнение не требует титанических усилий.