В SEO мелочей не бывает. Иногда на продвижение сайта может оказать влияние всего лишь один небольшой файл — Robots.txt.

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

«Разве это возможно?», — спросите вы. Возможно. Для этого на вашем сайте должен быть файл robots.txt.

Как его правильно составить и залить на сайт – разбираемся в этой статье.

Готовый файл Robots.txt должен находиться в корневой папке сайта. Просто файл, без папки:

Хотите проверить, есть ли он на вашем сайте? Вбейте в адресную строку адрес: site.ru/robots.txt . Вам откроется вот такая страничка (если файл есть):

Файл состоит из нескольких блоков, отделённых отступом. В каждом блоке – рекомендации для поисковых роботов разных поисковых систем (плюс блок с общими правилами для всех), и отдельный блок со ссылками на карту сайта – Sitemap.

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

Каждый блок начинается директивой User-agent.

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

Нужно указывать относительные адреса страниц, а не абсолютные. Относительные – это без «www.site.ru». Например, вам нужно запретить к индексации страницу www.site.ru/shop . Значит после двоеточия ставим пробел, слэш и «shop»:

Disallow: /shop.

Звездочка (*) обозначает любой набор символов.

Знак доллара ($) – конец строки.

Вы можете решить – зачем писать файл с нуля, если его можно открыть на любом сайте и просто скопировать себе?

Для каждого сайта нужно прописывать уникальные правила. Нужно учесть особенности . Например, та же админпанель находится по адресу /wp-admin на движке WordPress, на другом адрес будет отличаться. То же самое с адресами отдельных страниц, с картой сайта и прочим.

Как правильно настроить Robots.txt

Как вы уже видели на скриншоте, первой идет директива User-agent. Она указывает, для какого поискового робота будут идти правила ниже.

User-agent: * — правила для всех поисковых роботов, то есть любой поисковой системы (Google, Yandex, Bing, Рамблер и т.п.).

User-agent: Googlebot – указывает на правила для поискового паука Google.

User-agent: Yandex – правила для поискового робота Яндекс.

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

Запретить индексацию: robots.txt Disallow

Чтобы запретить индексацию сайта в целом или отдельных страниц, используется директива Disallow.

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

User-agent: *

Disallow: /

Таким образом всем поисковым роботам запрещено индексировать контент на сайте.

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

User-agent: *

Disallow:

Потому проверьте, стоит ли слеш после директивы Disallow, если хотите закрыть сайт. Если хотите потом его открыть – не забудьте снять правило (а такое часто случается).

Чтобы закрыть от индексации отдельные страницы, нужно указать их адрес. Я уже писала, как это делается:

User-agent: *

Disallow: /wp-admin

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

Что нужно закрывать от индексации в обязательном порядке:

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

Можно закрыть от индексации и отдельные типы файлов. Допустим, у вас на сайте есть некоторые.pdf-файлы, индексация которых нежелательна. А поисковые роботы очень легко сканируют залитые на сайт файлы. Закрыть их от индексации можно следующим образом:

User-agent: *

Disallow: /*. pdf$

Разрешить индексацию: robots.txt Allow

Даже при полностью закрытом от индексации сайте можно открыть роботам путь к определённым файлам или страницам. Допустим, вы переделываете сайт, но каталог с услугами остается нетронутым. Вы можете направить поисковых роботов туда, чтобы они продолжали индексировать раздел. Для этого используется директива Allow:

User-agent: *

Allow: /uslugi

Disallow: /

Главное зеркало сайта: robots.txt

До 20 марта 2018 года в файле robots.txt для поискового робота Яндекс нужно было указывать главное зеркало сайта через директиву Host. Сейчас этого делать не нужно – достаточно .

Что такое главное зеркало? Это какой адрес вашего сайта является главным – с www или без. Если не настроить редирект, то оба сайта будут проиндексированы, то есть, будут дубли всех страниц.

Карта сайта: robots.txt sitemap

После того, как прописаны все директивы для роботов, необходимо указать путь к Sitemap. Карта сайта показывает роботам, что все URL, которые нужно проиндексировать, находятся по определённому адресу. Например:

Sitemap: site.ru/sitemap.xml

Когда робот будет обходить сайт, он будет видеть, какие изменения вносились в этот файл. В итоге новые страницы будут индексироваться быстрее.

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

В 2009 году Яндекс ввел новую директиву – Clean-param. С ее помощью можно описать динамические параметры, которые не влияют на содержание страниц. Чаще всего данная директива используется на форумах. Тут возникает много мусора, например id сессии, параметры сортировки. Если прописать данную директиву, поисковый робот Яндекса не будет многократно загружать информацию, которая дублируется.

Прописать эту директиву можно в любом месте файла robots.txt.

Параметры, которые роботу не нужно учитывать, перечисляются в первой части значения через знак &:

Clean-param: sid&sort /forum/viewforum.php

Эта директива позволяет избежать дублей страниц с динамическими адресами (которые содержат знак вопроса).

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

Эта директива придёт на помощь тем, у кого слабый сервер.

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

Представьте, что вы работаете, и параллельно вам приходится постоянно отвечать на звонки. Ваша продуктивность в таком случае падает.

Так же и с сервером.

Вернемся к директиве. Crawl-delay позволяет задать задержку сканирования страниц сайта с целью снизить нагрузку на сервер. Другими словами, вы задаете период, через который будут загружаться страницы сайта. Указывается данный параметр в секундах, целым числом:

Правильная индексация страниц сайта в поисковых системах одна из важных задач, которая стоит перед владельцем ресурса. Попадание в индекс ненужных страниц может привести к понижению документов в выдаче. Для решения таких проблем и был принят стандарт исключений для роботов консорциумом W3C 30 января 1994 года - robots.txt.

Что такое Robots.txt?

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

На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.

Что следует закрывать от индексации:

  • служебные страницы сайта
  • дублирующие документы
  • страницы с приватными данными
  • результат поиска по ресурсу
  • страницы сортировок
  • страницы авторизации и регистрации
  • сравнения товаров

Как создать и добавить Robots.txt на сайт?

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

Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt

Синтаксис файла robots.txt

Инструкции для поисковых роботов задаются с помощью директив с различными параметрами.

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

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

Где * является спецсимволом для обозначения любого робота.

Список популярных поисковых роботов:

  • Googlebot — основной робот Google;
  • YandexBot — основной индексирующий робот;
  • Googlebot-Image — робот картинок;
  • YandexImages — робот индексации Яндекс.Картинок;
  • Yandex Metrika — робот Яндекс.Метрики;
  • Yandex Market— робот Яндекс.Маркета;
  • Googlebot-Mobile —индексатор мобильной версии.

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

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

Disallow - директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:

Disallow: /site/

В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/

Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / - это закроет весь сайт от индексации.

  • Для запрета папки сайта следует указать следующее:
    Disallow: /folder/
  • Для запрета только одного файла нужно написать:
    Disallow: /folder/img.jpg
  • Если нужно запретить файлы только определенного разрешения:
    Disallow: /*.css$
  • Allow напротив является разрешающей инструкцией для индексации.
    User-agent: *
    Allow: /site
    Disallow: /

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

Директива Sitemap

Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:

User-agent: *
Disallow: /site/
Allow: /
Sitemap : http://site.com/sitemap1.xml
Sitemap : http://site.com/sitemap2.xml

Директиву можно указать в любой из инструкций для любого робота.

Директива Host

Host является инструкцией непосредственно для робота Яндекса для указания главного зеркала сайта. Данная директива необходима в том случае, если у сайта есть несколько доменов, по которым он доступен. Указывать Host необходимо в секции для роботов Яндекса:

User-agent: Yandex
Disallow: /site/
Host : site.ru

Примечание: Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.

В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.

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

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

Директива Clean-param имеет следующий синтаксис:

Clean-param : p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]

Рассмотрим пример, на сайте есть динамические страницы:

  • https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
  • https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7

Для того, чтобы исключить подобные страницы из индекса следует задать директиву таким образом:

Clean-param : kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param : kol_from1&price_to2&pcolor / # для всех страниц сайта

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

Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.

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

Пример использования директивы Crawl-delay:

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

Особенности файла Robots.txt

  • Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
  • Перед директивой не должно быть указано каких-либо других символов (в том числе пробела )
  • Параметры директив необходимо указывать в одну строку
  • Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
  • Параметры не нужно указывать в кавычках или других символах
  • После директив не следует указывать “;”
  • Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
  • В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
  • Robots.txt нечувствителен к регистру
  • Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
  • В директивах «Allow», «Disallow» можно указывать только 1 параметр
  • В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
  • Использование кириллицы в роботс не допускаются

Спецсимволы robots.txt

При указании параметров в директивах Disallow и Allow разрешается использовать специальные символы * и $, чтобы задавать регулярные выражения. Символ * означает любую последовательность символов (даже пустую).

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

User-agent: *
Disallow: /store/* .php # запрещает "/store/ex.php" и "/store/test/ex1.php"
Disallow: /* tpl # запрещает не только "/tpl", но и "/tpl/user"

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

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

User-agent: *
Disallow: /site$ # запрещено для индексации "/site", но не запрещено"/ex.css"
User-agent: *
Disallow: /site # запрещено для индексации и "/site", и "/site.css"
User-agent: *
Disallow: /site$ # запрещен к индексации только "/site"
Disallow: /site*$ # так же, как "Disallow: /site" запрещает и /site.css и /site

Особенности настройки robots.txt для Яндекса

Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:

User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com

В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).

Особенности настройки robots.txt для Google

Для Google особенность лишь состоит в том, что сама компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. В таком случае, робот примет такой вид:

User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *.js
Host: www.site.com

С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.

Проверка правильности настройки роботс

Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера :


Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:


Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:


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

Заключение

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

Пример настройки роботс для WordPress

Правильный robots.txt для Wordpress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):

User-agent: Yandex



Host: www.site.ru

User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *.css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами

User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати


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

Пример настройки роботс для Bitrix

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

  • попадание в выдачу большого количества служебных страниц;
  • индексация дублей страниц сайта.

Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots.txt для CMS 1C-Bitrix:

User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru

User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/

User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo.png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

Пример настройки роботс для OpenCart

Правильный robots.txt для OpenCart должен быть составлен таким образом:

User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=


Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site.ru

User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login

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

Пример настройки роботс для Umi.CMS

Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):

User-Agent: Yandex
Disallow: /?
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru

User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js

User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs

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

Пример настройки роботс для Joomla

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

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Host: www.site.ru

User-agent: Googlebot
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/

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

Первое, что делает поисковый бот, который приходит на ваш сайт, это поиск и чтение файла robots.txt. Что это за файл? — это набор инструкций для поисковой системы.

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

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

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

Составить robots.txt достаточно легко, создаем текстовый документ в стандартном блокноте винды. Пишем в этом файле директивы для поисковых систем. Далее сохраняем этот файл под названием «robots» и текстовым расширением «txt». Все теперь его можно залить на хостинг, в корневую папку сайта. Учтите, для одного сайта можно создать только один документ «роботс». Если этот файл отсутствует на сайте, то бот автоматические «решает» что можно индексировать все.

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

Директивы robots.txt

Файл «для роботов» может содержать следующие директивы для управления индексацией: User-agent, Disallow, Allow, Sitemap, Host, Crawl-delay, Clean-param. Давайте рассмотрим каждую инструкцию по подробней.

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

Директива User-agent — указывает для какой поисковой системы будут инструкции (точнее для какого конкретно бота). Если стоит «*» то инструкции предназначены для всех роботов. Если указан конкретный бот, например Googlebot, значит, инструкции предназначены только для основного индексирующего робота Google. Причем если инструкции есть и отдельно для Googlebot и для всех других ПС, то гугл прочтет только свою инструкцию, а общую проигнорирует. Бот Яндекса поступит так же. Смотрим пример записи директивы.

User-agent: YandexBot — инструкции только для основного индексирующего бота Яндекса
User-agent: Yandex — инструкции для всех бот Яндекса
User-agent: * — инструкции для всех ботов

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

Директивы Disallow и Allow — дают команды что индексировать, а что нет. Disallow дает команду не индексировать страницу или целый раздел сайта. А Allow наоборот указывает, что нужно проиндексировать.

Disallow: / — запрещает индексировать весь сайт
Disallow: /papka/ — запрещает индексировать все содержимое папки
Disallow: /files.php — запрещает индексировать файл files.php

Allow: /cgi-bin – разрешает индексировать страницы cgi-bin

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

Спецсимвол * — заменяет любую последовательность символов. Он по умолчанию приписывается к концу каждого правила. Даже если вы его не прописали, ПС сами приставят. Пример использования:

Disallow: /cgi-bin/*.aspx – запрещает индексировать все файлы с расширением.aspx
Disallow: /*foto — запрещает индексацию файлов и папок содержащих слово foto

Спецсимвол $ — отменяет действие спецсимвола «*» в конце правила. Например:

Disallow: /example$ — запрещает индексировать ‘/example’, но не запрещает ‘/example.html’

А если прописать без спецсимвола $ то инструкция сработает уже по другому:

Disallow: /example — запрещает и ‘/example’ и ‘/example.html’

Директива Sitemap

Директива Sitemap — предназначена для указания роботу поисковой системы, в каком месте на хостинге лежит карта сайта. Формат карты сайта должен быть sitemaps.xml. Карта сайта нужна для более быстрой и полной индексации сайта. Причем карта сайта это не обязательно один файл, их может быть несколько. Формат записи директы:

Sitemap: http://сайт/sitemaps1.xml
Sitemap: http://сайт/sitemaps2.xml

Директива Host

Директива Host — указывает роботу основное зеркало сайта. Что бы не было в индексе зеркал сайта, всегда нужно указывать эту директиву. Если ее не указать, робот Яндекса будет индексировать как минимум две версии сайт с www и без. Пока робот зеркальщик их не склеит. Пример записи:

Host: www.сайт
Host: сайт

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

Правильная директива хост должна иметь следующие данные:
— указывать на протокол соединения (HTTP или HTTPS);
— корректно написанное доменное имя (нельзя прописывать IP-адрес);
— номер порта при необходимости (например, Host: site.com:8080).

Не правильно сделанные директивы просто будут игнорированы.

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

Директива Crawl-delay позволяет снизить нагрузку на сервер. Она нужна на случай если ваш сайт начинается ложиться под натиском различных ботов. Директива Crawl-delay указывает поисковому боту время ожидания между окончанием закачки одной страницы и началом закачки другой страницы сайта. Директива должна идти непосредственно после записей директив «Disallow» и/или «Allow». Поисковый робот Яндекса умеет читывать дробные значения. Например: 1.5 (полторы секунды).

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

Директива Clean-param нужна сайтам, страницы которых содержат динамические параметры. Речь о тех, которые не влияют на содержимое страниц. Это различная служебная информация: идентификаторы сессий, пользователей, рефереров и т.д. Так вот, что бы не было дублей эти страниц и используется эта директива. Она скажет ПС не закачивать повторно добирающуюся информацию. Снизится и нагрузка на сервер и время обхода сайта роботом.

Clean-param: s /forum/showthread.php

Данная запись говорит ПС, что параметр s будет считаться незначительным для для всех url, которые начинаются с /forum/showthread.php. Максимальная длина записи 500 символов.

С директивами разобрались, переходим к настройке нашего файла роботс.

Настройка robots.txt

Приступаем непосредственно к настройке файла robots.txt. Он должен содержать как минимум две записи:

User-agent: — указывает для какой поисковой системы будут идущие ниже инструкции.
Disallow: — уточняет, какую именно часть сайта не индексировать. Может закрывать от индексации, как отдельную страницу сайта, так и целые разделы.

Причем можно указать, что эти директивы предназначены для всех поисковых систем, или для какой-то одной конкретно. Указывается это в директиве User-agent. Если вы хотите что бы инструкции читали все боты — ставим «звездочку»

Если хотите прописать инструкции для конкретного робота, но надо указать его имя.

User-agent: YandexBot

Упрощенно пример правильно составленного файла robots будет таким:

User-agent: *
Disallow: /files.php
Disallow: /razdel/
Host: сайт

Где, * говорит о том, что инструкции предназначены для всех ПС;
Disallow: /files.php – дает запрет на индексацию файла file.php;
Disallow: /foto/ — запрещает индексировать целиком весь раздел «foto» со всеми вложенными файлами;
Host: сайт — указывает роботам, какое зеркало индексировать.

Если у вас на сайте нет страниц, которые надо закрыть от индексации, то ваш файл robots.txt должен быть таким:

User-agent: *
Disallow:
Host: сайт

Robots.txt для Яндекса (Yandex)

Что бы указать, что данные инструкции предназначены для поисковой системы Яндекс, надо прописать в директиве User-agent: Yandex. Причем если мы пропишем «Yandex» то сайт будут индексировать все роботы Яндекса, а если укажем «YandexBot» — то это будет команда только для основного индексирующего робота.

Так же надо обязательно прописать директиву «Host», где указать основное зеркало сайта. Как я писал выше, делается это для недопущения дублей страниц. Ваш правильный robots.txt для Yandex будет таким:

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /adminka
Host: сайт

До сих пор часто приходится слышать вопросы, что лучше указывать в директиве host, сайт с www или без. А ведь ни какой разницы нет. Тут просто как вам больше нравится, что бы сайт выглядел в выдаче ПС. Главное не забыть ее указать вообще, что бы не создавать дубли.

Robots.txt для Google

Поисковая система Google поддерживает все общепринятые форматы записи файла robots.txt. Правда он не учитывает директиву Host. Поэтому отличий от Яндекса фактически не будет. Robots.txt для Google будет выглядеть следующим образом:

User-agent: Googlebot
Disallow: /cgi-bin
Disallow: /adminka
Sitemap: http://сайт/sitemaps.xml

Надеюсь, что изложенных мною данных вам хватит, чтобы составить качественный, а главное правильный файл. robots.txt. Если же вы используете одну из популярных CMS то в следующей статье я подготовил для вас подборку роботсов — robots.txt для популярных CMS 1 оценок, среднее: 5,00 из 5)

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

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

Рассмотрим простейший пример файла robots.txt. Данный файл содержит следующие строки:

User-agent: * Disallow: /wp-admin/ Disallow: /images/

Первая строка указывает для каких поисковых роботов действуют данные инструкции. В данном примере указана звездочка — это означает, что инструкции относятся ко всем поисковым роботам. В случае необходимости указания инструкции для конкретного поискового робота, необходимо прописать его имя. Вторая и третья строки запрещают индексацию директорий «wp-admin» и «images».

Для поискового робота Яндекса актуально также прописывать директорию Host для указания основного зеркала сайта:

User-agent: Yandex Disallow: /wp-admin/ Disallow: /images/ Host: yoursite.ru

Примеры написания файла robots.txt для конкретных задач

1. Не запрещать роботам любых поисковых систем индексировать сайт:

User-agent: googlebot Disallow: /

4. Не запрещать к индексации только одним роботом (например, googlebot) и запретить к индексации всем остальным поисковым роботам:

User-agent: googlebot Disallow:
User-agent: * Disallow: /admin/ Disallow: /wp-content/ Disallow: /images/
User-agent: * Disallow: /News/webnews.html Disallow: /content/page.php
User-agent: * Disallow: /page.php Disallow: /links.htm Disallow: /secret.html

Основные правила написания robots.txt

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

1. Писать содержимое файла нужно только в прописными буквами.
2. В инструкции Disallow необходимо указывать только одну директорию или один файл.
3. Строка «User-agent» не должна быть пустой. Если инструкция относится ко всем поисковым роботам, то необходимо указывать звёздочку, а если к конкретному поисковому роботу, то указывать его название.
4. Менять местами инструкции Disallow и User-agent нельзя.
5. В директиве Host, которая используется для Яндекса, адрес нашего сайта необходимо указывать без протокола HTTP и без закрывающего слэша.
6. При запрещении к индексации директорий необходимо обязательно прописывать слэши.
7. Следует проверить файл robots.txt перед загрузкой его на сервер. Это позволит избежать в будущем возможных проблем с индексацией сайта.

Каждый блог дает свой ответ на этот счет. Поэтому новички в поисковом продвижении часто путаются, вот так:

Что за роботс ти экс ти?

Файл robots.txt или индексный файл — обычный текстовый документ в кодировке UTF-8, действует для протоколов http, https, а также FTP. Файл дает поисковым роботам рекомендации: какие страницы/файлы стоит сканировать. Если файл будет содержать символы не в UTF-8, а в другой кодировке, поисковые роботы могут неправильно их обработать. Правила, перечисленные в файле robots.txt, действительны только в отношении того хоста, протокола и номера порта, где размещен файл.

Файл должен располагаться в корневом каталоге в виде обычного текстового документа и быть доступен по адресу: https://site.com.ua/robots.txt .

В других файлах принято ставить отметку ВОМ (Byte Order Mark). Это Юникод-символ, который используется для определения последовательности в байтах при считывании информации. Его кодовый символ — U+FEFF. В начале файла robots.txt отметка последовательности байтов игнорируется.

Google установил ограничение по размеру файла robots.txt — он не должен весить больше 500 Кб.

Ладно, если вам интересны сугубо технические подробности, файл robots.txt представляет собой описание в форме Бэкуса-Наура (BNF). При этом используются правила RFC 822 .

При обработке правил в файле robots.txt поисковые роботы получают одну из трех инструкций:

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

При сканировании файла robots.txt роботы получают такие ответы:

  • 2xx — сканирование прошло удачно;
  • 3xx — поисковый робот следует по переадресации до тех пор, пока не получит другой ответ. Чаще всего есть пять попыток, чтобы робот получил ответ, отличный от ответа 3xx, затем регистрируется ошибка 404;
  • 4xx — поисковый робот считает, что можно сканировать все содержимое сайта;
  • 5xx — оцениваются как временные ошибки сервера, сканирование полностью запрещается. Робот будет обращаться к файлу до тех пор, пока не получит другой ответ.Поисковый робот Google может определить, корректно или некорректно настроена отдача ответов отсутствующих страниц сайта, то есть, если вместо 404 ошибки страница отдает ответ 5xx, в этом случае страница будет обрабатываться с кодом ответа 404.

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

Зачем нужен файл robots.txt

Например, иногда роботам не стоит посещать:

  • страницы с личной информацией пользователей на сайте;
  • страницы с разнообразными формами отправки информации;
  • сайты-зеркала;
  • страницы с результатами поиска.

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

Так роботы поисковых систем видят сайт с файлом robots.txt и без него:

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

Так робот поисковых систем видит файл robots.txt:

Google обнаружил файл robots.txt на сайте и нашел правила, по которым следует сканировать страницы сайта

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

С помощью блокнота, Notepad, Sublime, либо любого другого текстового редактора.

User-agent — визитка для роботов

User-agent— правило о том, каким роботам необходимо просмотреть инструкции, описанные в файле robots.txt. На данный момент известно 302 поисковых робота

Она говорит о том, что мы указываем правила в robots.txt для всех поисковых роботов.

Для Google главным роботом является Googlebot. Если мы хотим учесть только его, запись в файле будет такой:

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

Для Yandex главным роботом является... Yandex:

Другие специальные роботы:

  • Googlebot-News — для поиска новостей;
  • Mediapartners-Google — для сервиса AdSense;
  • AdsBot-Google — для проверки качества целевой страницы;
  • YandexImages — индексатор Яндекс.Картинок;
  • Googlebot-Image — для картинок;
  • YandexMetrika — робот Яндекс.Метрики;
  • YandexMedia — робот, индексирующий мультимедийные данные;
  • YaDirectFetcher — робот Яндекс.Директа;
  • Googlebot-Video — для видео;
  • Googlebot-Mobile — для мобильной версии;
  • YandexDirectDyn — робот генерации динамических баннеров;
  • YandexBlogs — робот поиск по блогам, индексирующий посты и комментарии;
  • YandexMarket — робот Яндекс.Маркета;
  • YandexNews — робот Яндекс.Новостей;
  • YandexDirect — скачивает информацию о контенте сайтов-партнеров Рекламной сети, чтобы уточнить их тематику для подбора релевантной рекламы;
  • YandexPagechecker — валидатор микроразметки;
  • YandexCalendar — робот Яндекс.Календаря.

Disallow — расставляем «кирпичи»

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

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

Пример. Как прописать правило Disallow, чтобы дать рекомендации роботам не просматривать содержимое папки /papka/ :

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

Allow — направляем роботов

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

Правила Allow и Disallow сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для страницы подходит несколько правил, робот выбирает последнее правило в отсортированном списке.

Host — выбираем зеркало сайта

Host — одно из обязательных для robots.txt правил, оно сообщает роботу Яндекса, какое из зеркал сайта стоит учитывать для индексации.

Зеркало сайта — точная или почти точная копия сайта, доступная по разным адресам.

Робот не будет путаться при нахождении зеркал сайта и поймет, что главное зеркало указано в файле robots.txt. Адрес сайта указывается без приставки «http://», но если сайт работает на HTTPS, приставку «https://» указать нужно.

Как необходимо прописать это правило:

Пример файла robots.txt, если сайт работает на протоколе HTTPS:

Sitemap — медицинская карта сайта

Sitemap сообщает роботам, что все URL сайта, обязательные для индексации, находятся по адресу http://site.ua/sitemap.xml . При каждом обходе робот будет смотреть, какие изменения вносились в этот файл, и быстро освежать информацию о сайте в базах данных поисковой системы.

Crawl-delay — секундомер для слабых серверов

Crawl-delay — параметр, с помощью которого можно задать период, через который будут загружаться страницы сайта. Данное правило актуально, если у вас слабый сервер. В таком случае возможны большие задержки при обращении поисковых роботов к страницам сайта. Этот параметр измеряется в секундах.

Clean-param — охотник за дублирующимся контентом

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

Допустим, страница доступна по адресам:

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

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

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

В таком случае файл robots.txt будет выглядеть так:

Здесь ref указывает, откуда идет ссылка, поэтому она записывается в самом начале, а уже потом указывается остальная часть адреса.

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

Символы в robots.txt

Основные символы файла — «/, *, $, #».

С помощью слэша «/» мы показываем, что хотим закрыть от обнаружения роботами. Например, если стоит один слеш в правиле Disallow, мы запрещаем сканировать весь сайт. С помощью двух знаков слэш можно запретить сканирование какой-либо отдельной директории, например: /catalog/.

Такая запись говорит, что мы запрещаем сканировать все содержимое папки catalog, но если мы напишем /catalog, запретим все ссылки на сайте, которые будут начинаться на /catalog.

Звездочка «*» означает любую последовательность символов в файле. Она ставится после каждого правила.

Эта запись говорит, что все роботы не должны индексировать любые файлы с расширением.gif в папке /catalog/

Знак доллара «$» ограничивает действия знака звездочки. Если необходимо запретить все содержимое папки catalog, но при этом нельзя запретить урлы, которые содержат /catalog, запись в индексном файле будет такой:

Решетка «#» используется для комментариев, которые вебмастер оставляет для себя или других вебмастеров. Робот не будет их учитывать при сканировании сайта.

Например:

Как выглядит идеальный robots.txt

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

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

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

Если хотите узнать, правильно ли заполнили файл robots.txt, проверьте его в инструментах вебмастеров Google и Яндекс . Просто введите исходный код файла robots.txt в форму по ссылке и укажите проверяемый сайт.

Как не нужно заполнять файл robots.txt

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

2. Запись нескольких папок/директорий в одной инструкции Disallow:

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

3. Сам файл должен называться только robots.txt, а не Robots.txt, ROBOTS.TXT или как-то иначе.

4. Нельзя оставлять пустым правило User-agent — нужно сказать, какой робот должен учитывать прописанные в файле правила.

5. Лишние знаки в файле (слэши, звездочки).

6. Добавление в файл страниц, которых не должно быть в индексе.

Нестандартное применение robots.txt

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

Вот сайт, в котором robots.txt сам является маленьким сайтом с рабочими элементами и даже рекламным блоком.

В качестве площадки для поиска специалистов файл используют в основном SEO-агентства. А кто же еще может узнать о его существовании? :)

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

Выводы

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

Правила, они же директивы, они же инструкции файла robots.txt:

  1. User-agent — правило о том, каким роботам необходимо просмотреть инструкции, описанные в robots.txt.
  2. Disallow дает рекомендацию, какую именно информацию не стоит сканировать.
  3. Sitemap сообщает роботам, что все URL сайта, обязательные для индексации, находятся по адресу http://site.ua/sitemap.xml.
  4. Host сообщает роботу Яндекса, какое из зеркал сайта стоит учитывать для индексации.
  5. Allow разрешает сканировать какой-либо файл/директиву/страницу.

Знаки при составлении robots.txt:

  1. Знак доллара «$» ограничивает действия знака звездочки.
  2. С помощью слэша «/» мы показываем, что хотим закрыть от обнаружения роботами.
  3. Звездочка «*» означает любую последовательность символов в файле. Она ставится после каждого правила.
  4. Решетка «#» используется, чтобы обозначить комментарии, которые пишет вебмастер для себя или других вебмастеров.

Используйте индексный файл с умом — и сайт всегда будет в выдаче.