Поисковые системы, такие как Google, Yandex, Yahoo! и все прочие, управляются не вручную, а при помощи разнообразных программ-скриптов.

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

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

Для более удачной работы по взаимодействию с поисковыми системами необходимо создавать некие наборы правил. В соответствии с этими правилами поисковые виртуальные машины-роботы будут получать доступ к разрешенным разделам сайта (файлам и директориям), а к тем разделам, которые не предназначены для ботов, доступ будет «не рекомендован».

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

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

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

Что такое robots.txt и как его читают боты

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

Если файл не будет найден, то это не смутит робота, он будет скачивать и проверять все данные сайта.

Если масштаб проекта не слишком велик, — маленький и легкий сайт без сложной структуры, — то, возможно, и не следует создавать файл роботс.

Как создать файл robots.txt

Создать файл robots.txt можно в текстовом редакторе, после формирования сохранить с расширением *.txt. При желании можно использовать готовые шаблоны файлов, они есть в сети; есть также специальные онлайн-сервисы, позволяющие сгенерировать robots.txt автоматически.

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

При написании команд, нужно учесть, что хотя не имеет значения, какими буквами написана директива, строчными или заглавными (user=USER), однако лучше писать так, чтобы потом не было проблем с прочтением и разбором файла. Разработчики ПО называют это культурой написания кода.

Дополнительные операторы

Помимо основных директив при создании роботса используются дополнительные символьные операторы:

  • Символ «*» — показывает, что количество символов может быть любым, либо символы отсутствуют;
  • символ «$» — значит, что предыдущий символ является последним;
  • символ «#» — предупреждает, что за ним следует комментарий к коду, не читаемый ботом.

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

Это основная директива файла, которая сообщает, какие боты должны выполнять все остальные команды.

Например, имена основных поисковых программ:

  • Google – googlebot;
  • яндекс – Yandex;
  • рамблер – StackRambler;
  • yahoo – Slurp;
  • msn – msnbot.

Это лишь наименование ключевых ботов, есть еще и другие, например, — Googlebot-Image – это поисковый робот Гугла, работающий с картинками, а YandexNews – проводит индексацию новостных данных. При разработке структуры роботс-файла нужно четко понимать, для каких данных следует допускать того или иного бота. Также можно обращаться ко всем поисковым программам определенного поисковика.

Команда для конкретного поисковика будет смотреться так:

User-agent: <наименование поисковой программы>

Или обращаемся ко всем ботам Яндекса:

User-agent: Yandex

Если перечень директив адресуется всем поисковикам, то вместо имени ставится звездочка:

User-agent: *

За этой командой должна идти следующая, то есть, обращаясь к конкретному боту, мы должны определить – что он должен делать, или не делать.

Директивы Disallow и Allow

Эти команды запрещают или разрешают ботам, указанным командой User-agent, читать определенные данные. Поскольку структура файла – блоковая, то пример будет выглядеть так:

User-agent: Googlebot # для Гугл-бота:

Disallow: /file_1.html # запрещено читать файл file_1.html

Можно прописать запрет на индексацию и файлов, и директорий:

User-agent: Googlebot

Disallow: /Foto # для Гугл-бота действует запрет на две директории

Disallow: /Docs

Disallow: /file_1.html # и один файл

На примере видно, как использовать команды Allow/Disallow для фалов и расширений файлов:

Allow: *.txt # разрешение действует на все файлы формата *txt

Disallow: /Temp # запрет для папки Temp

Если же необходимо разрешить доступ к файлам *txt , входящим в папку Temp, придется это делать так:

Allow: *.txt # Здесь разрешена индексация всех файлов *txt

Allow: Temp/*.txt # в том числе *txt из папки Temp

Disallow: /Temp # для остальных файлов Temp – доступ закрыт

Порядок очередности команд не имеет значения.

Директива Host

Необходима для объявления главного зеркала сайта. Объявляется только один раз. Основное назначение – если доступ к сайту возможен с нескольких доменов-зеркал(поддоменов), определить это, а при необходимости — отметить главный зекральный ресурс.

Пример использования:

User-Agent: Yandex

Disallow: /Docs

Host: www.site.ru # основное зеркало сайта

C начала 2018 года вместо директивы Host используется перенаправление 301 редирект.

Директиву Host можно смело удалять изо всех файлов роботс, как «мертвую» команду.

Директива Sitemap

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

Расположение команды – не имеет значения.

Написание команды:

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

Директива Crawl-delay

Еще один вспомогательный оператор, актуальный только для Yandex. Сообщает поисковой программе, сколько времени в секундах будут загружаться страницы. Нужен, если ресурс расположен на слабом сервере или — если страниц слишком много и они много «весят», а индексация происходит очень часто. В этом случае боты могут сильно загружать систему.

При помещении строки:

Crawl-delay: 4

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

Директива Clean-param

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

www.site.ru/catalog/get_phone.ru?ref=page_1&phone_id=1

www.site.ru/catalog/get_phone.ru?ref=page_2&phone_id=1

www.site.ru/catalog/get_phone.ru?ref=page_3&phone_id=1

Решить проблему можно просто:

User-agent: Yandex

Disallow:

Clean-param: ref /catalog/get_phone.ru

Ref – атрибут, который сообщает источник ссылки.

Настройка файла конфигурации и проверка

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

Файл «robot.txt» размещают в корневом каталоге, например:

Адрес_сайта.рф/robots.txt

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

Есть различные платные/бесплатные онлайн-сервисы для тестирования готовых проектов. При их участии можно получить реальные рекомендации о способах оптимизации ресурса. На аналогичных порталах следует проверять отредактированный вручную файл «роботс», его тестирование укажет на ошибки, допущенные при составлении; после исправления которых можно будет снова поместить robots.txt в корневой каталог сайта.

Для заливки на ресурс можно использовать Total Commander. Ищем параметры хостинга на панели управления сайтом. Потребуются: логин FTP, пароль и хост. В Total Commander ищем – «Сеть» — «Соединиться с FTP», жмем на кнопку «Добавить» с правой стороны. Вводим данные хостинга, ставим галку в клетку «Пассивный режим обмена».

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

Особенности настройки файла для Yandex и Google

Считается, что настраивать конфиг-файл роботс следует для Яндекса, Гугла и остальных поисковиков тремя блоками команд-операторов, то есть — отдельно для каждого.

Тогда в файле будет такого рода скелет:

User-agent: *

User-agent: Yandex

User-agent: Googlebot

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

Не забываем указать адрес карты сайта в каталоге:

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

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

При создании записей для Яндекса, учитываем, что в 2018 году директива Host больше им не поддерживается, поэтому используем 301 редирект.

Проверить правильность записей в файле конфигурации можно на Яндекс Вебмастер. Используя соответствующие диалоговые окна, вводим содержимое роботса, ссылку на реальный сайт, нажимаем кнопку «проверить».

При редактировании блока для Гугла, отметим, что разработчики ПС советуют разрешать доступ к JS скриптам и CSS таблицам. С одной стороны, лишние страницы не должны появиться в выдаче ПС, с другой – краулеры будут более корректно обрабатывать сайт и заполнять базу данных ПС.

User-agent: Googlebot

Allow: *.css # разрешаем обработку таблиц

Allow: *.js # разрешаем индексирования скриптов

Robots.txt предназначенный для Гугла проверяем на сайте сервиса Google Webmaster Tools.

Тонкая настройка, что закрывать

Опытные вебмастера часто запрещают индексацию:

  1. Для ресурсрв, связанных с интернет-торговлей, лучше ограничить доступ ботов к файлам корзины товаров и оформления покупок. Сюда же относятся различные фильтры для сравнения товаров.
  2. Запрет на индексацию конфиденциальной информации. Это то, что имеет отношение к регистрационным данным пользователей (посетителей) сайта. Базы данных логинов, паролей и так далее.
  3. Системные каталоги, – их перебор – лишняя трата времени для поисковой программы.
  4. Страницы поиска по сайту – в некоторых случаях, при их индексации, возможно появление множества дублей-ссылок.
  5. Временные страницы – например, если разрабатывается новый дизайн проекта, тоже лишние для краулеров.

В качестве дополнения: если нет возможности сделать ЧПУ (человеко-понятные URL адреса для ссылок), то лучше скрывать их от ботов.

Robot.txt и типичные ошибки

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

  • Очень часто начинающие вебдизайнеры путают синтаксис команд:

User-agent: / # нет такого поискового робота

Disallow: Yandexbot # нет такой директории

Реакции на эти команды не последует. Правильно так:

User-agent: Yandexbot

Disallow: /

  • К оператору Disallow пристраивают одновременно несколько папок или директорий:

Disallow: /Temp /home /Video

Следует определять для каждой команды Allow/Disallow – одну папку.

  • Неправильное название файла. Если в тексте конфига можно использовать строчные и заглавные буквы, то название «robots.txt» — должно состоять только из маленьких.
  • Оператор User-agent должен иметь параметр: или имя бота, или символ «*».
  • Посторонние символы, нарушающие структуру роботс-файла.
  • Нельзя писать полные адреса запрещаемых страниц:

Полный адрес документа: http://site.super/pupkin.html , но для запрета доступа к документу pupkin.html указываем:

Disallow: /pupkin.html

Бывают менее распространенные ошибки: путь к карте сайта указан не тот, или сайт полностью закрыт от индексирования; либо не запрещен доступ к страницам с идентификаторами сессий, метками UTM.

Даже если файл составлен правильно и максимально оптимизирован, не стоит ждать мгновенных изменений в базах поисковиков. Обновление данных произойдет через 1-2 недели.

Использование robots.txt в WordPress

WP – это комплекс ПО (CMS – система управления содержимым) — для поддержки данных сайта, распространено в соответствии с лицензией GPL.

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

Для создания роботс можно использовать плагин.

Плагин для редактирования All in One SEO Pack

All in One SEO Pack – плагин WordPress, позволяющий создавать и редактировать роботс. Этот файл является динамическим, то есть он формируется и показывается только при обращении краулера к сайту. XML карту сайта лучше приготовить заранее и поместить в корневой каталог проекта.

Хорош еще тем, что имеет множество настроек, помогающих оптимизировать проект.

Советы по настройке robots в CMS

  1. Modx – возможны трудности с ссылками-дублями. Соответственно решается запретами – Disallow:

Disallow: /index.php # дубль основной страницы ресурса

Disallow: *? # убираем все дублирующие ссылки

  1. Opencart — популярный движок онлайн-магазина. Стандартного шаблона в настройках нет, но никаких особых изменений тоже нет, создаем robots.txt, алгоритм запретов: база паролей, административные каталоги и прочее.
  1. Bitrix – используем штатные средства на сайте CMS: перейдя по пунктам меню: «Маркетинг» — «Настройка robot.txt». Главное не позволять достуформе регистрации во избежание появления дублей:

Disallow: /*register=

Disallow: /*forgot_password=

Disallow: /*change_password=

Disallow: /*login=

Disallow: /*logout=

Disallow: /*auth=

  1. Django, yii2, cs cart и webasyst – особых отличий по установке и настройке нет.

Оригинальные способы применения robots.txt

  • Некоторые фирмы размещают в роботсе вакансии для дизайнеров и оптимизаторов Сео;
  • мастера-оптимизаторы публикуют в файле контакты для продвижения своих услуг;
  • иногда разработчики шутят или оставляют на robots.txt целые картины из букв, цифр и символов;
  • пишут советы по оптимизации конфигов;

Итог

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