Версия для печати
Наверняка большинство из читающих мою заметку людей уже знают о существовании этого в общем-то незатейливого файла. Факт в том, что его незатейливость и простота может довольно корректно указать поисковой системе, что же всё-таки индексировать на вашем сайте, а что следует оставить «в тени».
Парадокс весь в том, что эта некоторая простота синтаксиса файла robots.txt скрывает в себе большие проблемы, если его не приручить, т. е. не научиться его правильно составлять. Ведь любая ошибка может стоить вам многого. В этой статье я расскажу вам, как использовать подобный файл с умом и избежать возможных проблем.
Начнём, пожалуй, с истории рождения стандарта robots.txt. Как гласит история, стандарт robots.txt был принят консенсусом 30 января 1994 года и опубликован, с тех пор используется большинством известных поисковых машин.
Позже этот стандарт начинали всячески модифицировать различные поисковые компании, которые внедряли новую функциональность в ранее созданный стандарт.
Как например, компания Yahoo, которая ввела для своего поискового бота YahooSlurp, дополнительную возможность запрета индексации типов файлов по их расширению, добавив возможность использования символов * и $ в полях Disallow. Позже эта возможность была одобрена Google, а затем и «Яндексом» в конце 2007 года. «Яндекс» также добавил возможность использования дополнительного поля Host для определения основного зеркала сайта.
Недавно была добавлена возможность использования ещё одного поля.
Sitemap: http://www.site.ru/sitemap.xml
Поле Sitemap позволяет поисковой системе указать, где находится специальным образом сгенерированная карта Sitemap для сайта, что помогает снять обязанность веб-мастеров каждый раз загружать новую карту Sitemap на сервер поисковой системе и позволить поисковой системе самой загружать Sitemap с сайта. Возможность использования директивы в настоящий момент поддерживается в Google, Yahoo, Ask, Bing и «Яндекс». Тут можно подробнее ознакомиться со стандартом Sitemaps.
Что такое robots.txt?
Robots.txt – это специальным образом оформленный текстовый файл, находящийся в корне сайта, в котором содержатся директивы, следуя которым поисковая система может понять стратегию индексирования информации на вашем сайте.
Структура robots.txt:
Файл состоит из полей. Структура полей такова: сначала идёт информация о том, какой поисковик должен следовать указаниям в директиве (строка содержит User-Agent поискового бота или *, как рекомендация для всех поисковых систем), далее идёт поле Disallow, в котором указывается название объекта, который необходимо скрыть от индексирования.
Раздел рекомендаций между инструкциями для одной поисковой системы распознаётся от раздела рекомендаций для другой поисковой системы пустой строкой, а раздел, в свою очередь, формируется полем User-Agent. В одном разделе может быть сразу несколько полей User-Agent, начинающихся с новой строки.
Стандарт robots.txt поддерживает комментарии. Всё, что начинается от символа # до конца строки, является комментарием.
Строки файла robots.txt являются регистрозависимыми (primer.html и Primer.html — разные файлы).
Следует заметить любопытный факт, что файл robots.txt создавался и создаётся с основной целью – запрета индексации, следовательно, и все поля, в нём прописанные, явно указывают на запрет индексации частей сайта. Однако поисковые системы постепенно вводят поле Allow, которое всегда должно стоять раньше директивы Disallow, но пока официально оно не признано, хоть и используется некоторыми поисковыми системами (Например, «Яндексом», Google и Bing).
Некоторые поисковые системы используют собственные «информационные» директивы. В Bing Live и «Яндексе» через robots.txt реализована установка значения скорости индексации документа. Делается это так:
User-agent: MSNbot
Crawl-delay: n где n — величина задержки в секундах перед индексированием очередной страницы.
User-agent: Yandex
Crawl-delay: n где n — величина задержки в секундах перед индексированием очередной страницы.
В начале 2009 года в поисковой системе «Яндекс» введена директива Clean-param, при помощи которой веб-мастер может указать, как индексировать динамические параметры, которые не влияют на содержание страницы. Это могут быть различные идентификаторы сессий, пользователей и т. д., что увеличивает эффективность индексации страницы. (Ознакомиться с ней можно здесь).
Пример одного из составленных файлов robots.txt:
User-agent: *
Disallow: /User-agent: Googlebot
Disallow: /text/
Это важно знать:
1) Файл robots.txt должен находиться только в корневой директории сайта, только тогда он будет учитываться поисковыми системами.
2) Называть файл необходимо robots.txt, Robots.txt будет уже ошибкой.
3) На каждой строке должно быть поле Disallow, запрещающее индексацию только одного объекта. Если нужно запретить несколько директорий или файлов, то для этого пишем поле Disallow на каждой новой строке. В записи должно быть хотя бы одно поле Disallow. Также не забудьте про поле User-Agent — оно не должно быть пустым (либо *, либо имя робота). Если используется директива Allow, то она всегда должна стоять раньше Disallow.
4) Запомните простые комбинации:
Disallow: — разрешение индексировать всё содержимое сайта,
Disallow: / — запрет на индексацию всего сайта.
Disallow: /name – запрет на индексацию любых файлов и директорий, которые называются или имеют в своём названии name.
Disallow: /name/ — запрет на индексацию директории name.
Disallow: /*.gif$ — запрет на индексацию всех файлов, имеющих расширение .gif.
Disallow: /name.php – запрет на индексацию файла name.php.
Disallow: /name.php?action=print – запрет индексации переменной, например, страниц для печати.
Allow: / — всё наоборот (разрешается индексировать), синтаксис такой же, как и с Disallow
# — при помощи решётки можно писать комментарии: они не учитываются роботами поисковых систем и носят сугубо информативный характер.
5) Поле Host используется «Яндексом» для определения основного зеркала сайта. Например, так: Host: www.site.ru. Это поле говорит поисковой системе «Яндекс», что в результатах поиска лучше выводить именно такую ссылку на ваш сайт (с www).
Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Важно помнить, что если вы хотите, чтобы поисковая система «Яндекс» приняла во внимание директиву Host в вашей файле, то создайте одинаковые файлы robots.txt на всех «зеркалах» сайта. Только тогда зеркальщик «Яндекс» выделит главное зеркало, согласно данным в Host.
6) Поле Sitemap используется для указания поисковой системе, где находится сгенерированная для поисковых систем карта сайта.(Sitemap: http://www.site.ru/sitemap.xml). Применяется в Google, Ask, Yahoo, Bing и «Яндекс».
User-Agent: Yandex
http://www.site.ru/sitemap-main.xml
http://www.site.ru/folder/sitemap-second.xml
# В случае, когда на сайте используется несколько файлов Sitemap, то их желательно перечислить в файле robots.txt
7) Если инструкции задаются для нескольких поисковых систем, то поля User-Agent
должны вводиться через перевод строки (клавишу Enter).
Вот так:
User-Agent: msnbot
User-Agent: Slurp
Disallow: /admin/
Ошибки в файле robots.txt:
1) Неверный порядок расположения полей:
Неправильно:
Disallow: /
User-agent: *
Правильно:
User-agent: *
Disallow: /
2) Совершаются синтаксические ошибки:
Нет пустой строки:
Неправильно:
User-agent: Googlebot
Disallow: /
User-agent: *
Disallow:
Правильно:
User-agent: Googlebot
Disallow: /User-agent: *
Disallow:
Ошибки в синтаксисе Disallow:
Disallow: * (приводит к запрету на индексацию всего сайта).
Disallow: /text/ /text2/ (нельзя использовать одно поле для разных директорий).
Правильно:
Disallow: /text/
Disallow: /text2/
Поле User-Agent:
User-agent: (поле не должно быть пустым)
Поле Host:
Неправильно:
Host: http://www.site.ru/ # (нельзя использовать протокол и слеш в конце)
Host: .site.ru # (любые ошибки в написании доменных имён не допустимы)
Host: 200.114.47.5 # (указан IP вместо адреса)
Правильно:
Host: www.site.ru
или
Host: www.site.ru:8080
# — если ваш сайт доступен по какому-то другому порту (стандартный порт 80, если используется именно он, то его не указывают).
Желательно делать так:
Не пишите все поля с больших букв, комментарии лучше переносить на новую строку. С осторожностью используйте дополнительные директивы (Host, Crawl-Delay): убедитесь, что поисковые системы способны их правильно трактовать. Неправильные действия могут вызвать недопонимание тех систем, которые не используют эти поля, а также не забывайте, что поле Disallow должно быть даже тогда, когда некоторые поисковые системы игнорируют его. Не создавайте размер файла robots.txt больше, чем 256 килобайт.
На этом всё, спасибо за внимание.
Robots.txt — это текстовый файл, в котором прописаны указания (директивы) по индексации страниц сайта. С помощью данного файла можно указывать поисковым роботам, какие страницы на веб-ресурсе нужно сканировать и заносить в индекс (базу данных поисковой системы), а какие — нет.
Файл располагается в корневом каталоге сайта и доступен по адресу: domain.com/robots.txt.
Этот файл дает поисковым системам важные указания, которые напрямую будут влиять на результативность продвижения сайта. Использование Роботс
может помочь:
- предотвращению сканирования дублированного контента и бесполезных для пользователей страниц (результаты внутреннего поиска, технические страницы и др.);
- сохранению конфиденциальности разделов веб-сайта (например, можно закрыть системную информацию CMS);
- избежать перегрузки сервера;
- эффективно расходовать краулинговый бюджет на обход полезных страниц.
С другой стороны, если robots.txt
содержит неверные данные, то поисковые системы будут неправильно индексировать сайт, и в результатах поиска окажется не та информация, которая нужна.
Можно случайно запретить индексирование важных для продвижения страниц, и они не попадут в результаты поиска.
Например:
User-Agent: * Disallow: /
Эта запись говорят о том, что поисковые системы не смогут увидеть и проиндексировать ваш сайт.
Пустой или недоступный файл Роботс поисковые роботы воспринимают как разрешение на сканирование всего сайта.
Ниже приведены ссылки на инструкции по использованию файла:
- от Яндекса;
- от Google.
Какие директивы используются в robots.txt
User-agent
User-agent
— основная директива, которая указывает, для какого поискового робота прописаны нижеследующие указания по индексации, например:
Для всех роботов:
User-agent: *
Для поискового робота Яндекс:
User-agent: Yandex
Для поискового робота Google:
User-agent: Googlebot
Disallow и Allow
Директива Disallow
закрывает раздел или страницу от индексации. Allow
— принудительно открывает страницы сайта для индексации (например, разрешает сканирование подкаталога или страницы в закрытом для обработки каталоге).
Операторы, которые используются с этими директивами: «*» и «$». Они применяются для указания шаблонов адресов при объявлении директив, чтобы не прописывать большой перечень конечных URL для блокировки.
*
— спецсимвол звездочка обозначает любую последовательность символов. Например, все URL сайта, которые содержат значения, следующие после этого оператора, будут закрыты от индексации:
User-agent: * Disallow: /cgi-bin* # блокирует доступ к страницам # начинающимся с '/cgi-bin' Disallow: /cgi-bin # то же самое
$
— знак доллара означает конец адреса и ограничивает действие знака «*», например:
User-agent: * Disallow: /example$ # запрещает '/example', # но не запрещает '/example.html'
Crawl-delay
Crawl-delay
— директива, которая позволяет указать минимальный промежуток времени между окончанием загрузки одной страницы и началом загрузки следующей. Использовать ее следует в случаях, если сервер сильно загружен и не успевает обрабатывать запросы поискового робота.
User-agent: * Crawl-delay: 3.0 # задает тайм-аут в 3 секунды
С 22 февраля 2018 года Яндекс перестал учитывать директиву Crawl-delay. Чтобы задать скорость, с которой роботы будут загружать страницы сайта, используйте раздел «Скорость обхода сайта» в Яндекс.Вебмастере. Google также не поддерживает эту директиву. Для Google-бота установить частоту обращений можно в панели вебмастера Search Console. Однако роботы Bing и Yahoo соблюдает директиву Crawl-delay.
Clean-param
Директива используется только для робота Яндекса. Google и другие роботы не поддерживают Clean-param
.
Директива указывает, что URL страниц содержат GET-параметры, которые не влияют на содержимое, и поэтому их не нужно учитывать при индексировании. Робот Яндекса, следуя инструкциям Clean-param
, не будет обходить страницы с динамическими параметрами, которые полностью дублируют контент основных страниц.
Пример директивы Clean-param
:
Clean-param: s /forum/showthread.php
Данная директива означает, что параметр «s» будет считаться незначащим для всех URL, которые начинаются с /forum/showthread.php.
Подробнее прочитать о директиве Clean-param
можно в указаниях от Яндекс, ссылка на которые расположена выше.
Sitemap
Sitemap — это карта сайта для поисковых роботов, которая содержит рекомендации того, какие страницы необходимо проверить в первую очередь и с какой частотой. Наличие карты сайта помогает роботам быстрее индексировать нужные страницы.
Следует указать полный путь к странице, в которой содержится файл sitemap.
Пример использования:
Sitemap: https://www.site.ru/sitemap.xml
Пример правильно составленного файла robots.txt
:
User-agent: * # нижеследующие правила задаются для всех поисковых роботов Allow: / # сайт открыт для индексации Sitemap: https://www.site.ru/sitemap.xml # карта сайта для поисковых систем
Как найти ошибки в robots.txt с помощью Labrika?
Для проверки файла robots используйте Labrika. Она позволяет увидеть 26 видов ошибок в структуре файла – это больше, чем определяет сервис Яндекса. Отчет «Ошибки robots.txt » находится в разделе «Технический аудит» левого бокового меню. В отчете приводится содержимое строк файла. При наличии в какой-либо директиве проблемы Labrika дает её описание.
Ошибки robots.txt, которые определяет Labrika:
Сервис находит следующие:
Директива должна отделятся от правила символом «:».
Каждая действительная строка в файле Роботс должна состоять из имени поля, двоеточия и значения. Использовать пробелы не обязательно, но рекомендуется для удобства чтения. Для добавления комментария применяется символ решётки «#», который ставится перед его началом. Весь текст после символа «#» и до конца строки робот поисковой системы будет игнорировать.
Стандартный формат:
<field>:<value><#optional-comment>
Пример:
User-agent Googlebot
Пропущен символ “:”.
Правильный вариант:
User-agent: Googlebot
Пустая директива и пустое правило.
Недопустимо делать пустую строку в директиве User-agent
, поскольку она указывает, для какого поискового робота предназначены инструкции.
Пример:
User-agent:
Не указан пользовательский агент.
Правильный вариант:
User-agent: название бота
Например:
User-agent: Googlebot
Директивы Allow
или Disallow
задаются в формате: directive: [path], где значение [path] (путь к странице или разделу) указывать не обязательно. Однако роботы игнорируют директивы Allow
и Disallow
без указания пути. В этом случае они могут сканировать весь контент. Пустая директива Disallow:
равнозначна директиве Allow: /
, то есть «не запрещать ничего».
Пример ошибки в директиве Sitemap:
Sitemap:
Не указан путь к карте сайта.
Правильный вариант:
Sitemap: https://www.site.ru/sitemap.xml
Перед правилом нет директивы User-agent
Правило должно всегда стоять после директивы User-agent
. Размещение правила перед первым именем пользовательского агента означает, что никакие сканеры не будут ему следовать.
Пример:
Disallow: /category User-agent: Googlebot
Правильный вариант:
User-agent: Googlebot Disallow: /category
Найдено несколько правил вида «User-agent: *»
Должна быть только одна директива User-agent
для одного робота и только одна директива вида User-agent: *
для всех роботов. Если в файле несколько раз указан один и тот же пользовательский агент с разными списками правил, то поисковым роботам будет сложно определить, какие из этих правил нужно учитывать. В результате возникает большая неопределенность в действиях роботов.
Пример:
User-agent: * Disallow: /category User-agent: * Disallow: /*.pdf.
Правильный вариант:
User-agent: * Disallow: /category Disallow: /*.pdf.
Неизвестная директива
Обнаружена директива, которая не поддерживается поисковой системой (например, не описана в правилах использования Роботс от Яндекса).
Причины этого могут быть следующие:
- была прописана несуществующая директива;
- допущен ошибочный синтаксис, использованы запрещенные символы и теги;
- эта директива может использоваться роботами других поисковых систем.
Пример:
Disalow: /catalog
Директивы «Disalow» не существует, допущена опечатка в написании слова.
Правильный вариант:
Disallow: /catalog
Количество правил в файле robots.txt превышает максимально допустимое
Поисковые роботы будут корректно обрабатывать файл robots.txt
, если его размер не превышает 500 КБ. Допустимое количество правил в файле — 2048. Контент сверх этого лимита игнорируется. Чтобы не превышать его, вместо исключения каждой отдельной страницы применяйте более общие директивы.
Например, если вам нужно заблокировать сканирование файлов PDF, не запрещайте каждый отдельный файл. Вместо этого запретите все URL-адреса, содержащие .pdf, с помощью директивы:
Disallow: /*.pdf
Правило превышает допустимую длину
Правило не должно содержать более 1024 символов.
Некорректный формат правила
В файле robots.txt
должен быть обычный текст в кодировке UTF-8. Поисковые системы могут проигнорировать символы, не относящиеся к коду UTF-8. В таком случае правила из файла robots.txt
не будут работать.
Чтобы поисковые роботы корректно обрабатывали инструкции в файле robots.txt
, все правила должны быть написаны согласно стандарту исключений для роботов (REP).
Использование кириллицы и других национальных языков
Использование кириллицы запрещено в файле robots.txt
. Согласно утверждённой стандартом системе доменных имен название домена может состоять только из ограниченного набора ASCII-символов (буквы латинского алфавита, цифры от 0 до 9 и дефис). Если домен содержит символы, не относящиеся к ASCII (в том числе буквы национальных алфавитов), его нужно преобразовать с помощью Punycode в допустимый набор символов.
Пример:
User-agent: Yandex Sitemap: сайт.рф/sitemap.xml
Правильный вариант:
User-agent: Yandex Sitemap: https://xn--80aswg.xn--p1ai/sitemap.xml
Возможно, был использован недопустимый символ
Допускается использование спецсимволов «*» и «$». Например:
Disallow: /*.php$
Директива запрещает индексировать любые php файлы.
Если /*.php соответствует всем путям, которые содержат .php., то /*.php$ соответствует только тем путям, которые заканчиваются на .php.
Символ «$» прописан в середине значения
Знак «$» можно использовать только один раз и только в конце правила. Он показывает, что стоящий перед ним символ должен быть последним.
Пример:
Allow: /file$html
Правильный вариант:
Allow: /file.html$
Правило начинается не с символа «/» и не с символа «*».
Правило может начинаться только с символов «/» и «*».
Если значение пути указывается относительно корневого каталога сайта, оно должно начинаться с символа слэш «/», обозначающего корневой каталог.
Пример:
Disallow: products
Правильным вариантом будет:
Disallow: /products
или
Disallow: *products
в зависимости от того, что вы хотите исключить из индексации.
Некорректный формат URL файла Sitemap
В качестве URL файла Sitemap должен быть указан полный адрес, который содержит обозначение протокола (http:// или https://), название домена (главная страница сайта), путь к файлу карты сайта, а также имя файла.
Пример:
Sitemap: /sitemap.xml
Правильный вариант:
Sitemap: https://www.site.ru/sitemap.xml
Некорректное имя главного зеркала сайта
Директива Host
указывала роботу Яндекса главное зеркало сайта, если к веб-ресурсу был доступ по нескольким доменам. Остальные поисковые роботы её не воспринимали.
Директива Host
могла содержать только протокол (необязательный) и домен сайта. Прописывался протокол https, если он использовался. Указывалась только одна директива Host
. Если их было несколько, робот учитывал первую.
Пример:
User-agent: Yandex Host: http://www.example.com/catalog Host: https://example.com
Правильный вариант:
User-agent: Yandex Host: https://example.com
Некорректный формат директивы Crawl-delay
При указании в директиве Crawl-delay
интервала между загрузками страниц можно использовать как целые значения, так и дробные. В качестве разделителя применяется точка. Единица измерения – секунды.
К ошибкам относят:
- несколько директив
Crawl-delay
; - некорректный формат директивы
Crawl-delay
.
Пример:
Crawl-delay: 0,5 second
Правильный вариант:
Crawl-delay: 0.5
Некорректный формат директивы Clean-param
Labrika определяет некорректный формат директивы Clean-param
, например:
В именах GET-параметров встречается два или более знака амперсанд «&» подряд:
Clean-param: sort&&session /category
Правильный вариант:
Clean-param: sort&session /category
Правило должно соответствовать виду «p0[&p1&p2&..&pn] [path]». В первом поле через символ «&» перечисляются параметры, которые роботу не нужно учитывать. Во втором поле указывается префикс пути страниц, для которых применяется правило. Параметры отделяются от префикса пути пробелом.
Имена GET-параметров должны содержать только буквы латинского алфавита, цифры, нижнее подчеркивание и дефис.
Префикс PATH URL для директивы Clean-param
может включать только буквы латинского алфавита, цифры и некоторые символы: «.», «-«, «/», «*», «_».
Ошибкой считается и превышение допустимой длины правила — 500 символов.
Строка содержит BOM (Byte Order Mark) — символ U+FEFF
BOM (Byte Order Mark — маркер последовательности байтов) — символ вида U+FEFF, который находится в самом начале текста. Этот Юникод-символ используется для определения последовательности байтов при считывании информации.
Стандартные редакторы, создавая файл, могут автоматически присвоить ему кодировку UTF-8 с BOM меткой.
BOM – это невидимый символ. У него нет графического выражения, поэтому большинство редакторов его не показывает. Но при копировании этот символ может переноситься в новый документ.
Использование маркера последовательности байтов в файлах .html приводит к сбою настроек дизайна, смещению блоков, появлению нечитаемых наборов символов, поэтому рекомендуется удалять маркер из веб-скриптов и CSS-файлов.
Избавиться от ВОМ довольно сложно. Один из простых способов это сделать — открыть файл в редакторе, который может изменять кодировку документа, и пересохранить его с кодировкой UTF-8 без BOM.
Например, вы можете бесплатно скачать редактор Notepad++, открыть в нём файл с ВОМ меткой и выбрать во вкладке меню «Кодировки» пункт «Кодировать в UTF-8 (без BOM)».
Название
В наименовании должен быть использован нижний регистр букв.
Как исправить ошибки в robots.txt?
Исправьте ошибки в директивах robots.txt
, следуя рекомендациям Labrika. Наш сервис проверяет файл robots.txt
согласно стандарту исключений для роботов (REP), который поддерживают Google, Яндекс и большинство известных поисковых машин.
После исправления указанных в отчете Labrika ошибок нажмите кнопку «Обновить», чтобы получить свежие данные о наличии ошибок в файле robots.txt
и убедиться в правильном написании директив.
Не забудьте добавить новую версию Роботс в Вебмастера.
О том, как написать правильный файл robots.txt и ответы на другие вопросы
вы можете найти в отдельной статье на нашем сайте.
Robots.txt — это текстовый файл, который показывает поисковым роботам, как сканировать ваш сайт. Он защищает сайт и сервер от перегрузки из-за запросов поисковых роботов.
Если вы хотите заблокировать работу поисковых роботов, важно убедиться в корректности настроек. Это особенно важно, если вы используете динамические URL или другие методы, которые в теории генерируют бесконечное количество страниц.
В этом гайде рассматриваются самые распространенные проблемы с файлом robots.txt, их влияние на сайт и ранжирование в поисковой выдаче, а также способы решения.
Но для начала поговорим подробнее о robots.txt и его альтернативах.
Что такое файл robots.txt
Robots.txt — это файл в простом текстовом формате. Он размещается в корневом каталоге сайта (самый верхний каталог в иерархии). Если файл размещен в другом каталоге, поисковые роботы будут его игнорировать. Несмотря на всю мощь robots.txt, выглядит он как простой текстовый документ. А создать его можно за пару секунд в любом текстовом редакторе.
Выполнять функции robots.txt могут и его альтернативы. Например, метатеги. Их можно размещать в код отдельной страницы.
Можно использовать и HTTP-заголовок X-Robots-Tag, который задает настройки на уровне страницы.
Что делает robots.txt
Файл robots.txt можно использовать для множества целей. Вот несколько самых популярных.
Блокировка сканирования поисковыми роботами определенных страниц
Они все еще могут появляться в поисковой выдаче, но без текстового описания. Контент не в формате HTML тоже не будет сканироваться.
Блокировка медиафайлов для отображения в результатах поиска
Под медиафайлами понимаются изображения, видео и аудиофайлы. Если для файла предусмотрен общий доступ, он будет отображаться, но приватный контент не попадет в поисковую выдачу.
Блокировка файлов ресурсов с неважными внешними скриптами
Если у страницы заблокирован файл ресурсов, поисковые роботы посчитают, что его не существовало вовсе. Это может сказаться на индексировании.
Использование robots.txt не позволит полностью запретить отображение страницы в результатах поиска. Для этого придется добавить метатег noindex в верхнюю часть страницы.
Насколько опасны ошибки с Robots.txt
Ошибки в robots.txt приводят к определенным последствиям, но обычно не трагичным. А приведение файла в порядок позволит быстро и полностью восстановиться.
Как отмечает сам Google, у поисковых роботов достаточно гибкие алгоритмы. Поэтому незначительные ошибки в файле robots.txt никак не сказываются на их работе. В худшем случае неправильная или неподдерживаемая директива будет проигнорирована. Но если вы знаете, что в файле есть ошибки, их стоит исправить.
Шесть главных ошибок robots.txt
Если ранжирование сайта в поисковой выдаче изменилось странным образом, стоит проверить файл robots.txt. Рассмотрим шесть популярных ошибок подробно.
Ошибка № 1. Robots.txt находится не в корневом каталоге
Поисковые роботы могут найти файл robots.txt только если он расположен в корневом каталоге. Поэтому домен, например, .ru, и название файла robots.txt в URL должна разделять одна косая черта.
Если есть дополнительная папка, скорее всего, поисковые роботы не увидят файл. Сайт в этом случае функционирует так, как будто файла robots.txt нет совсем.
Чтобы исправить эту ошибку, перенесите robots.txt в корневой каталог. Для этого потребуется доступ к серверу. Некоторые системы управления содержимым по умолчанию загружают файл в подпапку с медиафайлами или подобные. Чтобы файл попал в нужное место, придется обойти эту настройку.
Ошибка № 2. Неправильное использование символа-джокера или символа подстановки
Символ-джокер — это символ, используемый для замены других символов или их последовательностей. Robots.txt поддерживает два символа-джокера:
- Звездочка, или астериск (*). Она представляет любые варианты допустимого символа. Своего рода аналог карты джокера.
- Значок доллара $. Обозначает конец URL, позволяет добавлять правила к последней части URL, например, файловое расширение.
При использовании символов-джокеров стоит придерживаться минимализма. Они могут потенциально наложить ограничения на большую часть сайта. Неправильное использование астерикса может привести к блокировке поискового робота. Чтобы решить проблему с неправильным символом-джокером, нужно его найти и переместить или удалить.
Ошибка № 3. Тег noindex в robots.txt
Эта ошибка часто встречается у сайтов, которым уже несколько лет. Google в сентябре 2019 года перестал выполнять команды метатега noindex в файле robots.txt.
Если ваш файл был создан до этой даты или содержит метатег noindex, скорее всего, страницы будут индексироваться Google.
Чтобы решить проблему, примените альтернативный метод. Вы можете добавить метатег robots в элемент страницы <head>, чтобы остановить индексацию.
Ошибка № 4. Блокировка скриптов и страниц стилей
Ограничение доступа к внутреннему JavaScript коду и Cascading Style Sheets (CSS) для поисковых роботов кажется логичным шагом. Однако поисковым роботам Google требуется доступ к CSS и JavaScript файлам, чтобы корректно сканировать HTML и PHP страницы.
Если страницы сайта странно отображаются в поисковой выдаче, проверьте, не заблокирован ли доступ поискового робота к этим внутренним файлам. Удалите соответствующую строку из файла robots.txt.
Если же вам нужна блокировка определенных файлов, вставьте исключение, которое даст поисковым роботам доступ только к нужным материалам.
Ошибка № 5. Отсутствует ссылка на файл sitemap.xml
Этот пункт относится к SEO больше всего. Файл sitemap.xml дает роботам информацию о структуре сайта и его главных страницах. Поэтому есть смысл добавить его в файл robots.txt. Его поисковые роботы Google сканируют в первую очередь.
Строго говоря, это не ошибка, и в большинстве случаев отсутствие ссылки на sitemap в robots.txt не должно влиять на функциональность и внешний вид сайта. Но если вы хотите улучшить продвижение, дополните файл robots.txt
Ошибка № 6. Доступ к страницам в разработке
Запрет сканирования поисковыми роботами рабочих страниц — серьезная ошибка. Как и предоставление им доступа к страницам, находящимся в разработке. Включите запрещающие инструкции в файл robots.txt, если сайт находится на реконструкции. Тогда пользователи не увидят «сырой» вариант.
Кстати, не забудьте убрать соответствующую строчку из файла, когда закончите. Это довольно распространенная ошибка, которая не позволит поисковым роботам правильно сканировать и индексировать сайт
Если ваш сайт еще находится в разработке, но вы видите реальный трафик, или, наоборот, запущенный сайт плохо ранжируется, проверьте строчку User-Agent в файле robots.txt.
User-Agent: *
Disallow: /
Наличие косой черты в строке Disallow делает сайт невидимым для поисковых роботов. Корректируйте строку в соответствии с нужным вам эффектом.
Как восстановиться после ошибок в robots.txt
Если ошибка в файле robots.txt повлияла на отображение в поисковой выдаче, самое главное — скорректировать файл и подтвердить, что новые правила дают нужный эффект. Проверить это можно с помощью инструментов для сканирования, например, Screaming Frog.
Когда убедитесь, что robots.txt работает верно, запросите повторное сканирование поисковыми роботами. В этом поможет Google Search Console. Добавьте обновленный файл sitemap и запросите повторное сканирование страниц, которые пострадали.
К сожалению, нет конкретного срока, в который поисковый робот проведет сканирование и страницы начнут нормально отображаться в поисковой выдаче. Все, что остается — быстро выполнить необходимые шаги и ждать, когда поисковый робот просканирует сайт.
Профилактика важнее всего
Ошибки с файлом robots.txt решаются относительно просто, но лучшим лекарством от них станет профилактика. Редактируйте файл аккуратно, привлекая опытных разработчиков, дважды все проверяйте и, если это актуально, послушайте мнение второго специалиста.
Если есть возможность, протестируйте изменения в песочнице, прежде чем применять их на реальном сервере.
Песочница — специально выделенная (изолированная) среда для безопасного исполнения компьютерных программ.
Это позволит избежать непроизвольных ошибок. И помните, если самое страшное уже случилось, не поддавайтесь панике. Проанализируйте проблему, внесите необходимые изменения в файл robots.txt и отправьте запрос на повторное сканирование. Скорее всего, нескольких дней будет достаточно, чтобы вернуться на прежние позиции в поисковой выдаче.
Если ошибиться при создании файла robots.txt, то он может оказаться бесполезным для поисковых роботов. Появится риск неверной передачи поисковым роботам нужных команд, что приведет к снижению рейтинга, изменению пользовательских показателей виртуальной площадки. Даже если сайт работает хорошо и является полноценным, проверка robots.txt ему не помешает, а только сделает его работу лучше.
Иногда в результаты поиска система включает ненужные страницы вашего Интернет-ресурса, в чем нет необходимости. Может показаться, что ничего плохого в большом количестве страниц в индексе поисковой системы нет, но это не так:
-
На лишних страницах пользователь не найдет никакой полезной информации для себя. С большей долей вероятности он и вовсе не посетит эти страницы либо задержится на них недолго;
-
В выдаче поисковика присутствуют одни и те же страницы, адреса которых различны (то есть контент дублируется);
-
Поисковым роботам приходится тратить много времени, чтобы проиндексировать совершенно ненужные страницы. Вместо индексации полезного контента они будут бесполезно блуждать по сайту. Поскольку индексировать полностью весь ресурс робот не может и делает это постранично (так как сайтов очень много), то нужная информация, которую вы бы хотели получить после ведения запроса, возможно, будет найдена не очень быстро;
-
Очень сильно нагружается сервер.
В связи с этим является целесообразным закрытие доступа поисковым роботам к некоторым страницам веб-ресурсов.
Какие же файлы и папки можно запретить индексировать:
-
Страницы поиска. Это спорный пункт. Иногда использование внутреннего поиска на сайте необходимо, для того чтобы создать релевантные страницы. Но делается это не всегда. Зачастую результатом поиска становится появление большого количества дублированных страниц. Поэтому рекомендуется закрыть страницы поиска для индексации.
-
Корзина и страница, на которой оформляют/подтверждают заказ. Их закрытие рекомендовано для сайтов онлайн-торговли и других коммерческих ресурсов, использующих форму заказа. Попадание этих страниц в индекс поисковых систем крайне нежелательно.
-
Страницы пагинации. Как правило, для них характерно автоматическое прописывание одинаковых мета-тегов. Кроме того, их используют для размещения динамического контента, поэтому в результатах выдачи появляются дубли. В связи с этим пагинация должна быть закрыта для индексации.
-
Фильтры и сравнение товаров. Закрывать их нужно онлайн-магазинам и сайтам-каталогам.
-
Страницы регистрации и авторизации. Закрывать их нужно в связи с конфиденциальностью вводимых пользователями при регистрации или авторизации данных. Недоступность этих страниц для индексации будет оценена Гуглом.
-
Системные каталоги и файлы. Каждый ресурс в Интернете состоит из множества данных (скриптов, таблиц CSS, административной части), которые не должны просматриваться роботами.
Закрыть файлы и страницы для индексации поможет файл robots.txt.
robots.txt – это обычный текстовый файл, содержащий инструкции для поисковых роботов. Когда поисковый робот оказывается на сайте, то в первую очередь занимается поиском файла robots.txt. Если же он отсутствует (или пустой), то робот будет заходить на все страницы и каталоги ресурса (в том числе и системные), находящиеся в свободном доступе, и пытаться провести их индексацию. При этом нет гарантии, что будет проиндексирована нужная вам страница, поскольку он может и не попасть на нее.
robots.txt позволяет направлять поисковые роботы на нужные страницы и не пускать на те, которые индексировать не следует. Файл может инструктировать как всех роботов сразу, так и каждого в отдельности. Если страницу сайта закрыть от индексации, то она никогда не появится в выдаче поисковой системы. Создание файла robots.txt является крайне необходимым.
Местом нахождения файла robots.txt должен быть сервер, корень вашего ресурса. Файл robots.txt любого сайта доступен для просмотра в Сети. Чтобы увидеть его, нужно после адреса ресурса добавить /robots.txt.
Как правило, файлы robots.txt различных ресурсов отличаются друг от друга. Если бездумно скопировать файл чужого сайта, то при индексации вашего поисковыми роботами возникнут проблемы. Поэтому так необходимо знать, для чего нужен файл robots.txt и инструкции (директивы), используемые при его создании.
Как проводится проверка robots.txt Яндексом
-
Проверить файл поможет специальный сервис Яндекс.Вебмастера «Анализ robots.txt». Найти его можно по ссылке: http://webmaster.yandex.ru/robots.xml
Чтобы войти в сервис, понадобится авторизация в системе. Если вы еще не проходили процедуру регистрации, то вам поможет пошаговая инструкция «Добавить сайт в Яндекс Вебмастер».
-
В предлагаемую форму вам нужно ввести содержимое файла robots.txt, который нужно проверить на наличие ошибок. Есть два способа ввода данных:
-
Заходите на сайт, используя ссылку http://ваш-сайт.ру/robots.txt, копируете содержимое в пустое поле сервиса (при отсутствии файла robots.txt вам обязательно нужно его создать!);
-
Вставляете ссылку на проверяемый файл в поле «Имя хоста», нажимаете «Загрузить robots.txt с сайта» или Enter.
-
-
Запуск проверки осуществляется нажатием команды «Проверить».
-
После того как проверка запущена, можно провести анализ результатов.
После начала проверки анализатор разбирает каждую строку содержимого поля «Текст robots.txt» и анализирует директивы, которые он содержит. Кроме того, вы узнаете, будет ли робот обходить страницы из поля «Список URL».
Составлять файл robots.txt, подходящий для вашего ресурса, можно редактированием правил. Не забывайте, что сам файл ресурса при этом остается неизменным. Для вступления изменений в силу понадобится самостоятельная загрузка новой версии файла на сайт.
При проверке директив разделов, которые предназначены для робота Яндекса (User-agent: Yandex или User-agent:*), анализатор руководствуется правилами использования robots.txt. Остальные разделы проверяются в соответствии с требованиями стандарта. Когда анализатор разбирает файл, то выводит сообщение о найденных ошибках, предупреждает, если в написании правил есть неточности, перечисляет, какие части файла предназначены для робота Яндекса.
Анализатор может посылать сообщения двух типов: ошибки и предупреждения.
Сообщение об ошибке выводится, если какая-либо строка, секция или весь файл не могут быть обработаны анализатором вследствие наличия серьезных синтаксических ошибок, которые допустили при составлении директив.
В предупреждении, как правило, сообщается об отклонении от правил, исправление которого анализатором невозможно, или о наличии потенциальной проблемы (ее может и не оказаться), причина которой – случайная опечатка или неточное составленные правила.
Сообщение об ошибке «Этот URL не принадлежит вашему домену» говорит о том, что в списке URL содержится адрес одного из зеркал вашего ресурса, к примеру, http://example.com вместо http://www.example.com (формально эти URL различны). Нужно, чтобы подлежащие проверке адреса относились к сайту, файл robots.txt которого анализируется.
Как осуществляется проверка robots.txt в Google
Инструмент Google Search Console позволяет вам провести проверку того, содержится ли в файле robots.txt запрет на сканирование роботом Googlebot определенных URL на вашем ресурсе. К примеру, у вас есть изображение, которое вы не хотите видеть в результатах поисковой выдачи Google по картинкам. С помощью инструмента вы узнаете, имеет ли робот Googlebot-Image доступ к этому изображению.
Для этого следует указать интересующий URL. После этого происходит обработка файла robots.txt инструментом проверки, аналогичная проверка роботом Googlebot. Это дает возможность определить, доступен ли этот адрес.
Кейс: VT-metall
Узнай как мы снизили стоимость привлечения заявки в 13 раз для металлообрабатывающей компании в Москве
Узнать как
Процедура проверки:
-
После выбора вашего ресурса в Google Search Console перейдите к инструменту проверки, который выдаст вам содержание файла robots.txt. Выделенный текст – это ошибки в синтаксисе или логические. Их количество указывается под окном редактирования.
-
В нижней части страницы интерфейса вы увидите специальное окно, в которое нужно ввести URL.
-
Справа появится меню, из которого необходимо выбрать робота.
-
Нажмите на кнопку «Проверить».
-
Если в результате проверки выводится сообщение с текстом «доступен», это значит, что роботам Google разрешено посещать указанную страницу. Статус «недоступен» говорит о том, что доступ к ней роботам закрыт.
-
Если нужно, вы можете изменить меню и провести новую проверку. Внимание! Автоматического внесения изменений в файл robots.txt на вашем ресурсе не произойдет.
-
Скопируйте изменения и внесите их в файл robots.txt на вашем веб-сервере.
На что нужно обратить внимание:
-
Сохранения сделанных в редакторе изменений на веб-сервере не происходит. Понадобится копирование полученного кода и вставки его в файл robots.txt.
-
Получить результаты проверки файла robots.txt инструментом могут только агенты пользователя Google и роботы, относящиеся к Google (к примеру, робот Googlebot). При этом гарантии того, что интерпретация содержания вашего файла роботами других поисковых систем будет аналогичной, нет.
15 ошибок при проверке файла robots.txt
-
Перепутанные инструкции
Наиболее распространенная ошибка в файле robots.txt – перепутанные инструкции. К примеру:
-
User-agent: /
-
Disallow: Yandex
Правильный вариант такой:
-
User-agent: Yandex
-
Disallow: /
-
-
Указание нескольких каталогов в одной инструкции Disallow
Часто владельцы Интернет-ресурсов стараются прописать все каталоги, которые они хотят запретить индексировать, в одной инструкции Disallow.
Disallow: /css/ /cgi-bin/ /images/
Такая запись не соответствует требованиям стандарта, предсказать, какой будет обработка ее разными роботами, невозможно. Одни из них могут проигнорировать пробелы. Их интерпретация записи будет такой: «Disallow: /css/cgi-bin/images/». Другими может быть использована лишь первая или последняя папка. Третьи и вовсе могут отбросить инструкцию, не поняв ее.
Есть вероятность того, что обработка этой конструкции будет именно такой, на которую рассчитывал мастер, но все же лучше написать правильно:
-
Disallow: /css/
-
Disallow: /cgi-bin/
-
Disallow: /images/
-
-
В имени файла присутствуют заглавные буквы
Правильное название файла — robots.txt, а не Robots.txt или ROBOTS.TXT.
-
Написание имени файла как robot.txt вместо robots.txt
Запомните, правильно называть файл robots.txt.
-
Оставление строки в User-agent пустой
Неправильный вариант:
-
User-agent:
-
Disallow:
Верно:
-
User-agent: *
-
Disallow:
-
-
Написание Url в директиве Host
URL нужно указывать, не используя аббревиатуру протокола передачи гипертекста (http://) и закрывающий слеш (/).
Неверная запись:
-
User-agent: Yandex
-
Disallow: /cgi-bin
-
Host: http://www.site.ru/
Правильный вариант:
-
User-agent: Yandex
-
Disallow: /cgi-bin
-
Host: www.site.ru
Корректным использование директивы host является только для робота Яндекса.
-
-
Использование в инструкции Disallow символов подстановки
Иногда, чтобы указать все файлы file1.html, file2.html, file3.html и т.д, веб-мастер может написать:
-
User-agent: *
-
Disallow: file*.html
Но делать этого нельзя, поскольку у некоторых роботов отсутствует поддержка символов подстановки.
-
-
Использование для написания комментариев и инструкций одной строки
Стандарт разрешает такие записи:
Disallow: /cgi-bin/ #запрещаем роботам индексировать cgi-bin
Раньше обработка таких строк некоторыми роботами была невозможна. Может быть, в настоящее время ни у одного поисковика не возникнет с этим проблем, но стоит ли идти на риск? Лучше размещать комментарии на отдельной строке.
-
Редирект на страницу 404-й ошибки
Нередко, если сайт не имеет файла robots.txt, то при его запросе поисковик будет переадресовывать на другую страницу. Иногда при этом не происходит отдачи статуса 404 Not Found. Роботу приходится самому разбираться, что он получил — robots.txt или обычный html-файл. Это не является проблемой, но лучше, если в корне сайта будет размещен пустой файл robots.txt.
-
Использование заглавных букв – признак плохого стиля
USER-AGENT: GOOGLEBOT
DISALLOW:
Хоть в стандарте и не регламентирована чувствительность robots.txt к регистру, нередко она имеет место у имен файлов и директорий. Кроме того, если файл robots.txt написан полностью заглавными буквами, то это считается плохим стилем.
User-agent: googlebot
Disallow:
-
Перечисление всех файлов
Неправильным будет перечислять каждый файл в директории в отдельности:
-
User-agent: *
-
Disallow: /AL/Alabama.html
-
Disallow: /AL/AR.html
-
Disallow: /Az/AZ.html
-
Disallow: /Az/bali.html
-
Disallow: /Az/bed-breakfast.html
Правильным будет закрытие от индексации полностью всей директории:
-
User-agent: *
-
Disallow: /AL/
-
Disallow: /Az/
-
-
Использование дополнительных директив в секции *
Может иметь место неправильная реакция некоторых роботов на использование дополнительных директив. Поэтому применение их в секции «*» является нежелательным.
Если директива не является стандартной (как, например, «Host»), то для нее лучше создать специальную секцию.
Неверный вариант:
-
User-agent: *
-
Disallow: /css/
-
Host: www.example.com
Правильно будет написать:
-
User-agent: *
-
Disallow: /css/
-
User-agent: Yandex
-
Disallow: /css/
-
Host: www.example.com
-
-
Отсутствие инструкции Disallow
Даже при желании использовать дополнительную директиву и не устанавливать никакой запрет, рекомендуется указывать пустой Disallow. В стандарте указана обязательность инструкции Disallow, при ее отсутствии робот может «неправильно вас понять».
Неправильно:
-
User-agent: Yandex
-
Host: www.example.com
Правильно:
-
User-agent: Yandex
-
Disallow:
-
Host: www.example.com
-
-
Неиспользование слешей, когда указывается директория
Каковы будут действия робота в этом случае?
-
User-agent: Yandex
-
Disallow: john
Согласно стандарту, индексация не будет проведена для как для файла, так и для директории с именем «john». Чтобы указать только директорию, нужно написать:
-
User-agent: Yandex
-
Disallow: /john/
-
-
Неправильное написание HTTP-заголовка
Сервер должен возвращать в HTTP-заголовке для robots.txt «Content-Type: text/plain» а, например, не «Content-Type: text/html». Если заголовок будет написан неправильно, то обработка файла некоторыми роботами будет невозможна.
Как правильно составить файл, чтобы проверка robots.txt не выявляла ошибок
Каким должен быть правильный файл robots.txt для Интернет-ресурса? Рассмотрим его структуру:
User-agent
Эта директива является основной, она определяет, для каких роботов написаны правила.
Если для любого робота, пишем:
User-agent: *
Если для конкретного бота:
User-agent: GoogleBot
Стоит отметить, что регистр символов не имеет значения в robots.txt. К примеру, юзер-агент для Google можно записать и так:
user-agent: googlebot
Приведем таблицу основных юзер-агентов различных поисковиков.
Бот | Функция |
Googlebot | основной индексирующий робот Google |
Googlebot-News | Google Новости |
Googlebot-Image | Google Картинки |
Googlebot-Video | видео |
Mediapartners-Google | Google AdSense, Google Mobile AdSense |
Mediapartners | Google AdSense, Google Mobile AdSense |
AdsBot-Google | проверка качества целевой страницы |
AdsBot-Google-Mobile-Apps | Робот Google для приложений |
Яндекс | |
YandexBot | основной индексирующий робот Яндекса |
YandexImages | Яндекс.Картинки |
YandexVideo | Яндекс.Видео |
YandexMedia | мультимедийные данные |
YandexBlogs | робот поиска по блогам |
YandexAddurl | робот, обращающийся к странице при добавлении ее через форму «Добавить URL» |
YandexFavicons | робот, индексирующий пиктограммы сайтов (favicons) |
YandexDirect | Яндекс.Директ |
YandexMetrika | Яндекс.Метрика |
YandexCatalog | Яндекс.Каталог |
YandexNews | Яндекс.Новости |
YandexImageResizer | робот мобильных сервисов |
Bing | |
Bingbot | основной индексирующий робот Bing |
Yahoo! | |
Slurp | основной индексирующий робот Yahoo! |
Mail.Ru | |
Mail.Ru | основной индексирующий робот Mail.Ru |
Disallow и Allow
Disallow позволяет запретить индексирование страниц и разделов Интернет-ресурса.
Allow служит для принудительного открытия их для индексирования.
Но пользоваться ими достаточно непросто.
Во-первых, нужно ознакомиться с дополнительными операторами и правилами их использования. К ним относятся: *, $ и #.
-
* —любое количество символов, даже их отсутствие. Ставить этот оператор в конце строки не обязательно, подразумевается, что она там стоит по умолчанию;
-
$ — показывает, что стоящий перед ним символ должен быть последним;
-
# — этот оператор служит для обозначения комментария, любая информация после него роботом в расчет не берется.
Как пользоваться этими операторами:
-
Disallow: *?s=
-
Disallow: /category/$
Не могут быть проиндексированы такие ссылки:
Эти ссылки, наоборот, открыты для индексации:
Во-вторых, необходимо понимание того, как выполняются правила, вложенные в файл robots.txt.
Не имеет значения, в каком порядке записаны директивы. Определение наследования правил (что открыть или закрыть от индексации) осуществляется по указанным директориям. Приведем пример.
Allow: *.css
Disallow: /template/
-
http://site.ru/template/ rel=»nofollow» — закрыто от индексирования
-
http://site.ru/template/style.css rel=»nofollow» — закрыто от индексирования
-
http://site.ru/style.css rel=»nofollow» — открыто для индексирования
-
http://site.ru/theme/style.css rel=»nofollow» — открыто для индексирования
Если необходимо открыть для индексации все файлы .css, то нужно будет дополнительно указать это для каждой папки, доступ к которой закрыт. В нашем случае:
-
Allow: *.css
-
Allow: /template/*.css
-
Disallow: /template/
Напомним еще раз: не важно, в каком порядке записаны директивы.
Sitemap
Эта директива указывает путь к XML-файлу Sitemap. URL-адрес имеет такой же вид, что и в адресной строке.
К примеру,
Sitemap: http://site.ru/sitemap.xml rel=»nofollow»
Указание директивы Sitemap возможно в любом месте файла robots.txt, при этом не требуется привязывать ее к конкретному user-agent. Разрешается указывать несколько правил Sitemap.
Host
Эта директива указывает главное зеркало ресурса (как правило, с www или без www). Помните: при указании главного зеркала пишется не http://, а https://. В случае необходимости указывается и порт.
Поддержка этой директивы возможна только ботами Яндекса и Mail.Ru. Другие роботы, в том числе и GoogleBot, эту команду не учитывают. Прописывать host можно только один раз!
Пример 1:
Host: site.ru
Пример 2:
Crawl-delay
Позволяет установить, через какой промежуток времени роботу нужно скачивать страницы ресурса. Директиву поддерживают роботы Яндекса, Mail.Ru, Bing, Yahoo. При установке интервала можно использовать как целые значения, так и дробные, используя в качестве разделителя применяется точка. Единица измерения — секунды.
Пример 1:
Crawl-delay: 3
Пример 2:
Crawl-delay: 0.5
Если нагрузка на сайт небольшая, то нет необходимости в установке этого правила. Но если результатом индексирования роботом страниц является превышение лимитов или серьезное увеличение нагрузки, приводящее к перебоям в работе сервера, то использование этой директивы целесообразно: оно позволяет снизить нагрузку.
Чем больше устанавливаемый интервал, тем меньше будет количество загрузок в течение одной сессии. Оптимальное значение для каждого ресурса свое. Сначала рекомендуется ставить небольшие значения (0.1, 0.2, 0.5), затем постепенно увеличивая их. Для роботов поисковиков, не особо важных для результатов продвижения (к примеру, Mail.Ru, Bing и Yahoo), можно сразу устанавливать значения, бóльшие, нежели для роботов Яндекса.
Clean-param
Эта директива нужна для сообщения краулеру (поисковому роботу) о ненужности индексации URL-адресов с указанными параметрами. Для правила указываются два аргумента: параметр и URL раздела. Яндекс поддерживает директиву.
Пример 1:
http://site.ru/articles/?author_id=267539 — не подвергнется индексации
Пример 2:
Clean-param: author_id sid http://site.ru/articles/
http://site.ru/articles/?author_id=267539&sid=0995823627 — не подвергнется индексации
Яндексом также рекомендовано использование этой директивы, чтобы не учитывались UTM-метки и идентификаторы сессий. Пример:
Clean-Param: utm_source utm_medium utm_campaign
Другие параметры
Расширенная спецификация robots.txt содержит еще такие параметры: Request-rate и Visit-time. Но в настоящее время отсутствует поддержка их ведущими поисковиками.
Директивы нужны для следующего:
-
Request-rate: 1/5 — разрешает загрузку не более 1 страницы за 5 секунд
-
Visit-time: 0600-0845 — разрешает загрузку страниц только с 6 утра до 8:45 по Гринвичу
Для правильной настройки файла robots.txt рекомендуем использовать такой алгоритм:
-
Запретите индексировать админку сайта;
-
Закройте доступ роботам к личному кабинету, страницам авторизации и регистрации;
-
Запретите индексировать корзину, формы заказа, данные по доставке и заказам;
-
Закройте от индексирования ajax, json-скрипты;
-
Запретите индексировать папку cgi;
-
Запретите индексировать плагины, темы оформления, js, css для роботов всех поисковых систем, кроме Яндекса и Google;
-
Закройте доступ роботам к функционалу поиска;
-
Запретите индексировать служебные разделы, не являющиеся ценными для ресурса в поиске (ошибка 404, список авторов);
-
Закройте от индексирования технические дубли страниц и страницы, контент которых в той или иной степени дублирует содержимое других страниц (календари, архивы, RSS);
-
Запретите индексировать страницы с параметрами фильтров, сортировки, сравнения;
-
Запретите индексировать страницы с параметрами UTM-меток и сессий;
-
Используйте для проверки того, что проиндексировал Яндекс и Google, параметр «site:». Для этого в строку поиска введите «site:site.ru». Если в поисковой выдаче есть страницы, которые не нужно индексировать, добавьте их в robots.txt;
-
Пропишите правила Sitemap и Host;
-
Если необходимо, укажите Crawl-Delay и Clean-Param;
-
Проведите проверку корректности файла robots.txt, используя инструменты Google и Яндекса;
-
Через 14 дней проведите повторную проверку, чтобы убедиться в отсутствии в выдаче поисковых систем страниц, которые не должны индексироваться. Если таковые имеются, повторите все указанные выше пункты.
Проверка файла robots.txt имеет смысл, только если ваш сайт в порядке. Определить это поможет аудит сайта, проводимый квалифицированными специалистами.
Скачайте полезный документ по теме:
Чек-лист: Как добиваться своих целей в переговорах с клиентами
Надеемся, что наша статья о бизнес-идеях, окажется вам полезной. А если вы уже определились с направлением деятельности и активно занимаетесь развитием и продвижением своего проекта, то советуем пройти аудит сайта, чтобы представлять реальную картину возможностей вашего ресурса.
Статья опубликована: 03.01.2018
Облако тегов
Понравилась статья? Поделитесь:
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Часто задаваемые вопросы о том, как управлять поведением роботов
Общие вопросы
Обязательно ли использовать на сайте файл robots.txt?
Нет. Когда робот Googlebot посещает сайт, сначала он пытается найти файл robots.txt. Сканирование и индексирование сайтов, не содержащих файл robots.txt file, тег meta
с атрибутом robots или HTTP-заголовок X-Robots-Tag
, обычно проходит по стандартной схеме.
Как лучше всего запрещать роботам сканировать страницы?
Разные методы блокировки можно использовать в зависимости от конкретной ситуации:
-
Файл robots.txt рекомендуется использовать, если при сканировании контента возникают проблемы в работе вашего сервера. Например, можно запретить сканирование скриптов, которые обеспечивают работу вечного календаря. Не используйте файл robots.txt для защиты конфиденциального контента (это рекомендуется делать с помощью аутентификации на сервере), а также для нормализации.
Чтобы запретить индексирование той или иной страницы, используйте тегmeta
с атрибутом robots или HTTP-заголовокX-Robots-Tag
. -
Тег
meta
с атрибутом robots позволяет указать, как Google Поиску следует показывать HTML-страницу (или полностью запретить ему делать это). - HTTP-заголовок
X-Robots-Tag
можно использовать с любыми типами файлов. Он позволяет указать, как Google Поиску следует показывать контент (или полностью запретить ему делать это).
Можно ли использовать файл robots.txt, тег meta
с атрибутом robots или HTTP-заголовок X-Robots-Tag
для удаления чужих сайтов из результатов поиска?
Как уменьшить скорость сканирования моего сайта поисковыми роботами Google?
Вопросы о файле robots.txt
Я использую один файл robots.txt для нескольких сайтов. Можно ли указывать полные URL, а не относительные?
Нет. В правилах файла robots.txt (за исключением sitemap:
) должны быть только относительные пути.
Можно ли разместить файл robots.txt в подкаталоге?
Нет. Этот файл должен быть размещен в корневом каталоге сайта.
Я хочу заблокировать доступ к личной папке. Можно ли сделать файл robots.txt недоступным для других пользователей?
Нет. Файл robots.txt доступен всем. Если вы не хотите, чтобы названия папок или файлов с контентом стали известны другим людям, не указывайте эти названия в файле robots.txt. Не рекомендуется передавать разные файлы robots.txt в зависимости от агента пользователя или других атрибутов.
Нужно ли указывать правило allow
, чтобы разрешить сканирование?
Нет. Сканирование будет выполняться и без правила allow
. По умолчанию все URL разрешены. Указывать правило allow
имеет смысл только для того, чтобы переопределить правило disallow
, которое задано в том же файле robots.txt.
Что произойдет, если в файле robots.txt будет ошибка или неподдерживаемое правило?
Обычно у поисковых роботов достаточно гибкие алгоритмы и незначительные ошибки в файле robots.txt никак не сказываются на их работе. В худшем случае неправильное или неподдерживаемое правило будет просто проигнорировано. Googlebot не может угадать, что имел в виду разработчик сайта, и выполняет именно те команды, которые указаны в файле robots.txt. Поэтому, если вы знаете о каких-то ошибках, их лучше исправить.
В какой программе нужно создавать файл robots.txt?
Используйте любую программу, позволяющую создавать текстовые файлы, например Блокнот, TextEdit, vi или Emacs.
Советуем сначала прочитать эту статью.
Создав файл, проверьте его с помощью этого инструмента.
Если я с помощью правила disallow
файла robots.txt заблокирую роботу Googlebot доступ к странице, исчезнет ли она из результатов поиска?
Если заблокировать роботу Googlebot доступ к странице, она может быть удалена из индекса Google.
Однако даже при наличии директивы disallow
в файле robots.txt система Google может показать страницу в качестве подходящего результата поиска (например, если на нее ссылаются другие сайты). Если вы хотите явным образом запретить индексирование страницы, используйте тег noindex
meta
с атрибутом robots или HTTP-заголовок X-Robots-Tag
. В этом случае не следует блокировать доступ к странице в файле robots.txt, поскольку робот Googlebot должен просканировать ее, чтобы обнаружить тег и выполнить директиву. Подробнее о том, как указать, какая информация должна быть доступна Google…
Через какое время изменения в файле robots.txt отразятся на результатах поиска?
Прежде всего должна обновиться копия файла robots.txt в кеше (обычно Google кеширует контент не более чем на один день). Чтобы ускорить этот процесс, отправьте в Google обновленный файл robots.txt.
Однако процесс сканирования и индексирования устроен достаточно сложно, и для некоторых URL обновление информации может занимать продолжительное время даже после обнаружения изменений. Поэтому мы не можем точно сказать, когда изменения отразятся на результатах поиска. Следует также иметь в виду, что URL может появляться в результатах поиска, даже если доступ к нему заблокирован в файле robots.txt и Google не может его просканировать. Если вы хотите, чтобы заблокированные страницы быстрее исчезли из результатов поиска Google, отправьте запрос на их удаление.
Как полностью приостановить сканирование моего сайта на некоторое время?
Чтобы временно остановить сканирование всех URL, возвращайте при обращении к ним (в том числе к файлу robots.txt) код ответа HTTP 503 (service unavailable)
. Робот Googlebot будет периодически пытаться прочитать файл robots.txt, пока он не станет вновь доступен. Не рекомендуется запрещать сканирование с помощью изменений в файле robots.txt.
Мой сервер не учитывает регистр. Как полностью запретить сканирование некоторых папок?
Правила в файле robots.txt указываются с учетом регистра. В таком случае рекомендуется с помощью методов нормализации обеспечить индексирование только одной версии URL.
Количество строк в файле robots.txt уменьшится, и вам будет проще его использовать. Если этот способ не подходит, попробуйте перечислить основные варианты написания имени папки или максимально сократить его, оставив только несколько начальных символов вместо полного имени. Например, вам не нужно перечислять все возможные сочетания строчных и прописных букв для папки /MyPrivateFolder
. Вместо этого можно просто указать варианты для /MyP
(если вы уверены, что других URL для сканирования с такими же начальными символами не существует). Если проблема заключается не в сканировании, можно указать тег meta
с атрибутом robots или HTTP-заголовок X-Robots-Tag
.
Я возвращаю код ответа 403 Forbidden
для всех URL на моем сайте, в том числе для URL файла robots.txt. Почему мой сайт по-прежнему сканируется?
Код статуса HTTP 403 Forbidden
, как и остальные коды 4xx
, означает, что файла robots.txt не существует. Для поисковых роботов это свидетельствует о том, что сканирование всех URL на сайте разрешено. Чтобы запретить роботам сканирование сайта, необходимо открыть им доступ к файлу robots.txt с кодом ответа HTTP 200 OK
и задать в этом файле правило disallow
.
Является ли тег meta
с атрибутом robots заменой файлу robots.txt?
Нет. Файл robots.txt управляет доступностью страниц, а тег meta
с атрибутом robots определяет, индексируется ли страница. Для того чтобы увидеть этот тег, поисковому роботу необходимо просканировать страницу.
Если нужно запретить сканирование страницы (например, в случае, когда она создает высокую нагрузку на сервер), используйте файл robots.txt. Если же просто требуется указать, должна ли страница появляться в результатах поиска, можно воспользоваться тегом meta
с атрибутом robots.
Можно ли с помощью тега meta
с атрибутом robots запретить индексирование отдельного фрагмента страницы?
Нет, тег meta
с атрибутом robots применяется ко всей странице.
Можно ли использовать тег meta
с атрибутом robots за пределами раздела <head>
?
Нет. Тег meta
с атрибутом robots можно добавлять только в раздел <head>
на странице.
Я использую тег meta
с атрибутом robots. Означает ли это, что сканирование страницы не будет выполняться?
Нет. Даже если в теге meta
с атрибутом robots указана директива noindex
, роботы будут периодически сканировать URL, чтобы проверить, не была ли страница meta
изменена.
Чем директива nofollow
в теге meta
с атрибутом robots отличается от атрибута rel="nofollow"
в теге link?
Действие директивы nofollow
тега meta
с атрибутом robots распространяется на все ссылки на странице. Атрибут rel="nofollow"
тега link относится только к той ссылке, в которой он указан.
Дополнительная информация об атрибуте rel="nofollow"
в теге link представлена в статьях, посвященных спаму в комментариях и атрибуту rel="nofollow"
.
Как проверить наличие заголовка X-Robots-Tag
для URL?
Заголовки ответа сервера проще всего анализировать с помощью инструмента проверки URL в Google Search Console. Чтобы проверить заголовки ответа для любого URL, попробуйте выполнить поиск по запросу server header checker.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2023-02-09 UTC.