+7 (495) 006-52-41

г. Москва ул. Хавская д. 3

Инструкция по работе с файлом robots.txt

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

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

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

Общие правила составления robots.txt

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

Файл robots.txt должен располагаться исключительно в корневой папке сайта, т.е. он должен быть доступен по адресу site.ru/robots.txt. Не допускается наличие вложений, например, site.ru/page/robots.txt. Если файл robots.txt располагается не в корне сайта (и у него другой URL), то роботы поисковых систем его не увидят и будут индексировать все страницы сайта.

Файл robots.txt привязан к адресу домена вплоть до протокола. То есть для http и https требуется 2 разных robots.txt, даже если затем адреса совпадают. Также один и тот же файл не применим для субдоменов (хостов) и других портов. Один robots.txt действителен для всех файлов во всех подкаталогах, относящихся к этому хосту, протоколу и номеру порта.

При рассмотрении файла robots.txt следует различать понятия директива и директория. Директория — это то одна из фундаментальных составляющих файловой системы. Проще говоря, это элемент системы упорядочивания файлов. А директива — это список действующих инструкций в файле для одного или нескольких поисковых роботов.

Важно и правильное составление файла с точки зрения синтаксиса. В целом, он должен отвечать следующим правилам:

  1. Файл должен называться robots.txt без использования заглавных букв;
  2. Правила пишутся отдельно для каждого робота, т.е. в директиве User Agent не допускается никаких перечислений. Если хотите назначить правила для всех роботов, то необходимо использовать User-agent: *. В файле robots.txt знак «*» — это любое число любых символов;
  3. Каждая директива должна начинаться с новой строки;
  4. 1 директива = 1 параметр, т.е. например, Disallow: /admin, и никаких Disallow: /admin /manage и т.д. в одной строчке;
  5. В начало строки не ставится пробел;
  6. Параметр директивы должен быть прописан в одну строку;
  7. Для указания директории применяется слэш.
  8. Параметры директивы не нужно добавлять в кавычки, также они не требуют закрывающих точки с запятой;
  9. Комментарии допускаются после знака #;
  10. Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от большего к меньшему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то робот выбирает более длинный URL и далее идет к более коротким. Таким образом, порядок следования директив в файле robots.txt не влияет на использование их роботом;
  11. Слишком большой (более 32Кб), недоступный по каким-либо причинам или пустой robots.txt будет трактоваться как полностью разрешающий;
  12. В robots.txt не допускается использование любых символов кроме спецсимволов.

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

Например конструкция:

User-agent:*
Disallow: /

закроет весь сайт от индексации.

Конструкция

User-agent: *
Disallow: /calendar/
Disallow: /junk/

запрещает сканирование разделов calendar и junk.

В то время как конструкция:

User-agent:*
Disallow:

открывает весь сайт для индексации

Основные директивы в robots.txt

Директивы, используемые в robots.txt:

1. Правильный robots.txt начинается с директивы User-agent, которая указывает, к какому роботу обращены конкретные директивы.

Примеры User-agent в robots.txt:

# Указывает директивы для всех роботов одновременно
User-agent: *

# Указывает директивы для всех роботов Яндекса
User-agent: Yandex

# Указывает директивы для всех роботов Google
User-agent: Googlebot

Директива User-agent дает только указание определенному роботу, а сразу после нее должна идти команда или команды с непосредственным указанием условия для выбранного робота.

2. Disallow — запрещающая директива. Она запрещает индексацию сайта или его части, в зависимости от пути, указанного в параметре:

Пример как в robots.txt запретить индексацию сайта:

User-agent: *
Disallow: /

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

3. Allow — разрешающая директива, противоположная директиве Disallow. Она имеет синтаксис, сходный с Disallow.

Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:

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

Запрещается индексировать весь сайт, кроме страниц, начинающихся с /blog.

Если же необходимо разрешить индексировать все страницы, в адресе которых присутствует вхождение /blog, то необходимо использовать конструкцию:

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

4. В директиве Sitemap указывают ссылку на карту сайта: sitemap.xml.

Пример robots.txt с указанием адреса карты сайта:

User-agent: *
Disallow: /page
Sitemap: http://www.site.ru/sitemap.xml

5. Директиву Crawl-delay с 22 февраля 2018 года Яндекс перестал учитывать.

6. Директива Clean-param позволяет исключить из индексации страницы с динамическими get-параметрами. Такие страницы могут отдавать одинаковое содержимое, имея различные URL (например, UTM). Данная директива позволяет сэкономит крауленговый бюджет, за счёт исключения из индексирования страниц дублей.

Примечания:

  • Иногда для закрытия таких страниц используется директива Disallow. Рекомендуем использовать Clean-param, так как эта директива позволяет передавать основному URL или сайту некоторые накопленные показатели, например ссылочные.
  • Директива Clean-Param может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.

Синтаксис директивы Clean-param:

Clean-param: parm1&parm2&parm3 [Путь] #Через & указаны параметры, которые необходим не учитывать, [Путь] - адрес для которого применяется адрес.

Рассмотрим на примере страницы со следующим URL: www.site.ru/page.html?&parm1=1&parm2=2&parm3=3

Пример robots.txt с использованием Clean-param:

Clean-param: parm1&parm2&parm3 /page.html # только для page.html
или
Clean-param: parm1&parm2&parm3 / # для всех

Директива Clean-param применима только для Яндекса (Google выдаст ошибку), поэтому без особой надобности её использовать не рекомендуется.

Ошибки в файле robots.txt

В ходе анализа составления файла robots.txt чаще всего встречаются следующие ошибки:

  1. Неверное расположение. Файл robots.txt должен располагаться в корневом каталоге сайта. Если он расположен в другом месте, то роботы его не увидят и будут индексировать весь сайт (включая файлы, которые индексировать нежелательно).

  2. Правило начинается с неверных символов. В robots.txt правила начинаются только с * или /

  3. Есть несколько правил для одного агента, например, несколько правил “User-agent: Yandex”. В правильно составленном файле такое правило может быть только одно.

  4. Превышен допустимый размер. Максимальное количество правил — 2048. Максимальная длина одного правила — 1024 символа. Но такая ошибка встречается довольно редко.

  5. Перед правилом отсутствует директива User-agent. Любое правило в robots.txt всегда следует за User-agent.

  6. Некорректные адреса. путь к файлу Sitemap должен указываться полностью, включая протокол.

  7. Наличие пустых строк между директивами. Правильная настройка robots.txt запрещает наличие пустых строк между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

Пример правильного перевода строки в robots.txt:

User-agent: Yandex
Disallow: /*utm_
Allow: /*id=

User-agent: *
Disallow: /*utm_
Allow: /*id=

Пример неправильного перевода строки в robots.txt:

User-agent: Yandex

Disallow: /*utm_

Allow: /*id=

User-agent: *

Disallow: /*utm_

Allow: /*id=

8. Некорректный тип контента. Должен быть: text/plain.

Ошибка, когда на уровне хостинга robots.txt имеет кодировку HTML:

Проверить тип контента можно на сайте https://bertal.ru/

Другие особенности работы с robots.txt

  1. Чтобы запретить доступ роботу к сайту или определенным разделам, необходимо использовать директиву “Disallow”. Например, если вам нужно запретить к индексированию все страницы с результатами поиска от робота Яндекс, то в файле robots.txt прописывается следующее правило:

  2. User-agent: Yandex
    Disallow: /search/

    Запрет на индексацию в данном случае распространяется именно на страницы, у которых в URL есть «/search/» (именно с двумя знаками “/”).

  3. Страницы, закрытые с помощью файла robots.txt, могут быть проиндексированы в Google. Например, когда на них ведет много внутренних и внешних ссылок.

  4. В таком случае в панели Google Search Console можно видеть такой отчет:

    По этому вопросу в Google справочнике указано:

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

    Источник: https://support.google.com/webmasters/answer/6062608?hl=ru

    Поэтому, если эти страницы содержат конфиденциальную информацию, нужно использовать более надежные методы: не только robots.txt, но и html-теги.

    Если нужно закрыть внутри зоны документ, то устанавливается следующий код:

    — запрещено индексировать содержимое и переходить по ссылкам на странице;

    Или (полная альтернатива):

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

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

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

  6. Многие вебмастера добавляют в комментариях к robots.txt рекламные тексты.

    По сути в robots.txt можно прописать все, что угодно, однако идеальный robots.txt — это тот, в котором мало строк, но много смысла.

  7. Для изображений настройка robots.txt выглядит следующим образом:

  8. Чтобы скрыть определенное изображение от робота Google Картинок User-agent: Googlebot-Image Disallow: /images/dogs.png
    Чтобы скрыть все изображения с вашего сайта от робота Google Картинок User-agent: Googlebot-Image Disallow: /
    Чтобы запретить сканирование всех файлов определенного типа (в данном случае GIF) User-agent: Googlebot Disallow: /*.gif$
  9. Файл robots.txt важен для продвижения, потому что дает поисковикам указания, которые напрямую влияют на результативность работы сайта. Например, в нем можно установить запрет на индексацию «мусорных» или некачественных страниц, закрыть страницу с доступом в административную панель, страницы с приватными данными, дублирующие документы и т.д.

Рекомендуется закрыть от индексации следующие страницы:

  • страницы входа в CMS-систему вида «/bitrix», «/login», «/admin», «/administrator», «/wp-admin».

  • служебные папки вида «cgi-bin», «wp-icnludes», «cache», «backup»

  • страницы авторизации, смены пароля, оформления заказа: «basket&step=», «register=», «change_password=», «logout=».

  • результаты поиска «search», «poisk».

  • версию для печати вида: «_print», «version=print» и аналогичные.

  • страницы совершения действия вида «?action=ADD2BASKET», «?action=BUY».

  • разделы с дублированным контентом, скажем, RSS-фиды: «feed», «rss», «wp-feed».

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

Наиболее часто дублями страниц, попавшими в индекс, являются документы с неопределенными в БД GET-параметрами. Примерами таких параметров являются UTM-метки (и прочие метки рекламных кампаний). Если на сайте не настроен rel="canonical", то потенциальные данные дубли лучше закрывать от индексации.

Список наиболее частых параметров:

  • openstat
  • from
  • gclid
  • utm_source
  • utm_medium
  • utm_campaign
  • utm_прочие
  • yclid

Следует помнить, что GET параметры могут идти после знака «?», либо после знака «&» (если их более одного). Поэтому для закрытия GET параметров необходимо для каждого знака указывать отдельное правило:

Disallow: *?register=*
Disallow: *&register=*

Либо не указывать ни один из данных знаков (не самый лучший вариант для коротких GET параметров т.к. они могут быть частью более длинных вариантов. Например, GET параметр id входит в GET параметр page_id):

Disallow: *register=*

Пример закрытия таких страниц:

Disallow: *openstat=*
Disallow: *from=*
Disallow: *gclid=*
Disallow: *?utm_*
Disallow: *&utm_*
Disallow: *yclid=*

Пример закрытия всех GET параметров главной страницы:

Disallow: /?*

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

Важно с осторожностью использовать данный метод и случайно не закрыть важные страницы на сайте. Пример использования:

Disallow: /*?* # закрываем все страницы с GET параметрами
Allow: /*?page=* # открываем для сканирования страницы пагинации
# дополнительно можно закрыть страницы пагинации, которые содержат два GET параметра
Disallow: /*?*&page=*
Disallow: /*?page=*&*

Используя сервис Screaming Frog Seo Spider можно также определить, какие еще страницы необходимо закрыть от индексации. Часто такие страницы можно найти с помощью дублей тегов и мета-тегов. Найти их помогут фильтры по дублям title/h1/description.

Также можно выгрузить проиндексированные страницы в Яндекс.Вебмастер и проверить, какие еще из них стоит исключить из индекса.

Одним из требований поисковиков является открытие для индексации файлов JavaScript и CSS, изображений. Определить весь список ресурсов, которые нужно открыть для индексации можно при помощи Google Search Console.

Для этого указываем URL для сканирования:

Далее нажимаем на ссылку “Изучить просканированную страницу”

Переходим на вкладку “Скриншот” и нажимаем на “Проверить страницу на сайте”:

Получаем результаты:

  1. Как видит страницу Google

  2. Какие элементы JS/CSS и др. не подгрузились

И ресурсы требующие внимания

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

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

  1. Нашим инструментом проверки http://tools.discript.ru/robots-check/.

С его помощью вы можете проверить свой файл, указав URL страницы и вносить в него корректировки в режиме онлайн. Инструмент покажет, допущены ли ошибки в обновленной версии. Также вы можете воспользоваться подготовленными шаблонами файлов robots.txt для наиболее популярных CMS, в которых уже указаны все основные условия. Это существенно упростит работу с оптимизацией сайта.

По окончании работы инструмент позволяет скачать итоговый файл и сразу разместить его на сайте:

  1. Проверкой файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml

После начала проверки будет проанализирована каждая строка содержимого поля “текст robots.txt” и директивы, которые он содержит. Здесь же можно увидеть, какие страницы открыты для индексации, а какие — закрыты.

  1. Проверкой файла robots.txt в Google: https://www.google.com/webmasters/tools/siteoverview?hl=ru

Здесь можно провести проверку того, содержится ли в файле запрет на сканирование роботом Googlebot определенных URL на ресурсе:

Таким образом при работе с robots.txt необходимо использовать:

  1. Правила составления и расположения файла;

  2. Функции отдельных директив и способы их применения;

  3. Рекомендации по закрытию определенных страниц;

  4. Инструменты для проверки robots.txt: http://tools.discript.ru/robots-check/, а также инструменты Яндекс и Google.

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

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

Другие статьи

Отправьте заявку и уже завтра мы начнем работы.

Обязательное поле для заполнения

Обязательное поле для заполнения

Обязательное поле для заполнения

Обязательное поле

Обязательное поле для заполнения

Обязательное поле для заполнения

Обязательное поле

Спасибо за обращение!
В ближайшее время мы с вами свяжемся.