Есть официальная документация у поисковиков на тему данной директивы, но к примеру у Google данная директива не задокументирована, но и не считается ошибкой в валидаторе...
Ну что ж приступим...
Про главное зеркало:
"Директива Host не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом."
Примечание. Для каждого файла robots.txt обрабатывается только одна директива Host. Если в файле указано несколько директив, робот использует первую.
Директива Host должна содержать:
Некорректно составленные директивы Host игнорируются.
Вот как выглядит это в вебмастере (ошибок и предупреждений нет):
Про главное зеркало:
"Директивой можно указать роботу главный сайт, в том случае если вы используете сайты-зеркала. Значением в данной строке выступает доменное имя. Для поддержания формата файла robots.txt директива должна идти внутри записи, начинающейся с User-agent."
User-agent: *
Disallow: # обязательная для каждой записи строка с директивой Disallow
Host: https://сайт
Аналогичная проверка (ошибок и предупреждений нет):
А теперь самое интересное...
Есть официальная документация , но в ней ничего не сказано про данную директиву...
Можно выделить 3 основных задокументированных факта:
А вот что выдает валидатор в вебмастере Google (смотрим и делаем выводы):
Так что можно смело предположить при использовании валидатора robots от Google не возникает ни предупреждений, ни ошибок. В 2016 - начало 2017 такая картина еще наблюдалась (помечалось как ошибка). Следовательно, можно предположить, что они решили использовать данную директиву host как рекомендацию. Также проводя тесты на клиентских сайтах при переходе на https (без применения междоменного 301-редиректа), было замечено, как Гугл начинал потихоньку индексировать https версию. И к тому времени, когда Яндекс завершал склейку, в Google-вебмастере было видно, как часть индекса перетекала уже на новый хост.
Конечно это только догадки, основанные на практических тестах. Поэтому я составляю одну общую конфигурацию для всех роботов:
User-agent: *
Поэтому, если у Вас также есть опыт в определении такого стандарта для Google, то можете написать мне или в комментариях ниже.
Правильная индексация страниц сайта в поисковых системах одна из важных задач, которая стоит перед владельцем ресурса. Попадание в индекс ненужных страниц может привести к понижению документов в выдаче. Для решения таких проблем и был принят стандарт исключений для роботов консорциумом W3C 30 января 1994 года - robots.txt.
Robots.txt - текстовый файл на сайте, содержащий инструкции для роботов какие страницы разрешены для индексации, а какие нет. Но это не является прямыми указаниями для поисковых машин, скорее инструкции несут рекомендательный характер, например, как пишет Google, если на сайт есть внешние ссылки, то страница будет проиндексирована.
На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.
Что следует закрывать от индексации:
Robots.txt обычный текстовый файл, который можно создать в блокноте, следуя синтаксису стандарта, который будет описан ниже. Для одного сайта нужен только один такой файл.
Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt
Инструкции для поисковых роботов задаются с помощью директив с различными параметрами.
С помощью данной директивы можно указать для какого робота поисковой системы будут заданы нижеследующие рекомендации. Файл роботс должен начинаться с этой директивы. Всего официально во всемирной паутине таких роботов 302. Но если не хочется их все перечислять, то можно воспользоваться следующей строчкой:
Где * является спецсимволом для обозначения любого робота.
С помощью данных директив можно задавать какие разделы или файлы можно индексировать, а какие не следует.
Disallow - директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:
Disallow: /site/
В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/
Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / - это закроет весь сайт от индексации.
Такая инструкция запрещает индексировать весь сайт, за исключением папки site.
Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:
User-agent: *
Disallow: /site/
Allow: /
Sitemap
: http://site.com/sitemap1.xml
Sitemap
: http://site.com/sitemap2.xml
Директиву можно указать в любой из инструкций для любого робота.
Host является инструкцией непосредственно для робота Яндекса для указания главного зеркала сайта. Данная директива необходима в том случае, если у сайта есть несколько доменов, по которым он доступен. Указывать Host необходимо в секции для роботов Яндекса:
User-agent: Yandex
Disallow: /site/
Host
: site.ru
Примечание:
Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.
В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.
Clean-param дает возможность запретить для индексации страницы сайта, которые формируются с динамическими параметрами. Такие страницы могут содержать один и тот же контент, что будет являться дублями для поисковых систем и может привести к понижению сайта в выдаче.
Директива Clean-param имеет следующий синтаксис:
Clean-param : p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]
Рассмотрим пример, на сайте есть динамические страницы:
Для того, чтобы исключить подобные страницы из индекса следует задать директиву таким образом:
Clean-param
: kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param
: kol_from1&price_to2&pcolor / # для всех страниц сайта
Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.
Параметром для Crawl-delay является время в секундах, которое указывает роботам, что страницы следует скачивать с сайта не чаще одного раза в указанный период.
Пример использования директивы Crawl-delay:
User-agent: *
Disallow: /site
Crawl-delay
: 4
При указании параметров в директивах 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
Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:
User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com
В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).
Для 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 является важным инструментом управления индексацией сайта поисковыми системами. Очень важно держать его актуальным, и не забывать открывать нужные документы для индексации и закрывать те страницы, которые могут повредить хорошему ранжированию ресурса в выдаче.
Правильный 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
Если сайт работает на движке Битрикс, то могут возникнуть такие проблемы:
Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл 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
Правильный 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
Правильный 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
Правильный 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?
robots.txt — это файл в котором содержатся параметры индексирования для поисковых систем.
Создание этого файла является одним из первых шагов к SEO-продвижению. И вот почему.
После того, как вы добавите свой сайт в Яндекс и Google (мы пока это не проходили), ПС начнут индексировать все, абсолютно все, что находится в вашей папке с сайтом на сервере. Это не очень хорошо с точки зрения продвижения, ведь в папке содержится очень много не нужного для ПС «мусора», что негативно скажется на позициях в поисковой выдаче.
Именно файл robots.txt запрещает индексирование документов, папок и ненужных страниц. Кроме всего прочего, здесь указывается путь к карте сайта (тема следующего урока) и главный адрес, об чуть подробнее.
О карте сайта я говорить много не буду, скажу лишь одно: карта сайта улучшает индексацию сайта. А вот про главный адрес стоит поговорить подробнее. Дело в том, что каждый сайт изначально имеет несколько зеркал (копий сайта) и доступны по различным адресам:
При наличии всех этих зеркал сайт становится не уникальным. Естественно, ПС не любят не уникальный контент, не давая таким сайтам подниматься в поисковой выдаче.
Любой файл, предназначенный для работы с различными внешними сервисами, в нашем случае поисковыми системами, должен иметь правила заполнения (синтаксис). Вот правила для robots:
А сейчас поговорим, собственно, о самих операторах robots. Всего их около 6 по-моему, но необходимыми являются только 4:
Таким образом я запретил Яндексу индексировать страницу «page.. Теперь поисковый робот Яндекса учтет эти правила и страницы «page.html» никогда не будет в индексе.
Как уже было сказано выше, в User-agent указывается поисковая система, к которой будут использованы правила индексации. Вот небольшая табличка:
Поисковая система | Параметр User-agent |
Яндекс | Yandex |
Mail.ru | Mail.ru |
Rambler | StackRambler |
Если вы хотите, чтобы правила индексации применялись для всех ПС, то нужно сделать такую запись:
User-agent: *
То есть, использовать, как параметр, обычную звездочку.
С этим оператором чуть посложнее, поэтому нужно быть осторожным с его заполнением. Прописывается после оператора «User-agent». Любая ошибка может привести к очень плачевным последствиям.
Что запрещаем? | Параметр | Пример |
Индексацию сайта | / | Disallow: / |
Файл в корневом каталоге | /имя файла | Disallow: /page.html |
Файл по определенному адресу | /путь/имя файла | Disallow: /dir/page.html |
Индексация папки | /имя папки/ | Disallow: /papka/ |
Индексация папки по определенному адресу | /путь/имя папки/ | Disallow: /dir/papka/ |
Документы, начинающиеся с определенного набора символов | /символы | /symbols |
Документы, начинающиеся с определенного набора символов по адресу | /путь/символы | /dir/symbols |
Еще раз говорю: будьте крайне внимательны при работе с данным оператором. Случается и такое, что чисто случайно человек запрещает индексацию своего сайта, а потом удивляется тому, что его нет в поиске.
Про остальные операторы говорить смысла нет. Того, что написано выше вполне достаточно.
Вам, наверное, хотелось бы получить пример robots.txt? Ловите:
User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: */*/feed/*/ Disallow: */feed Disallow: /tag Host: site.ru Sitemap:site.ru/sitemap.xml
Кстати, этот пример могут использовать, как настоящий файл robots.txt, люди, чьи сайты работают на WordPress. Ну а те, у кого обычные сайты, пишите сами, ха-ха-ха. К сожалению, одного единственного для всех не существует, у каждого он свой. Но с той информацией, которую я вам дал, создать robots.txt не составит большого труда.
До свидания, друзья!
Предыдущая статьяВ этой статье пример оптимального, на мой взгляд, кода для файла robots.txt под WordPress, который вы можете использовать в своих сайтах.
Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).
Разбор кода:
В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов * . Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex , User-agent: Googlebot).
В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .
Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:
Правило Sitemap: http://site.ru/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.
В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: https://site.ru
Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.
Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:
User-agent: * Allow: */uploads Disallow: /wp-
будет прочитана как:
User-agent: * Disallow: /wp- Allow: */uploads
Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»
Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.
Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):
Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:
3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.
Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:
Disallow: /news
Оно запретить роботам ходить по подобным ссылками:
Если нужно закрыть любые вхождения /news , то пишем:
Disallow: */news
Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).
Проверить правильно ли работают прописанные правила можно по следующим ссылкам:
Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/
Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.
Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».
Для этого нужно использовать директиву Crawl-delay . Она указывает время в секундах, которое робот должен простаивать (ждать) для сканирования каждой следующей страницы сайта.
Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow
Робот Яндекса понимает дробные значения, например, 0.5 (пол секунды). Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.
User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды
Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.
Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:
Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:
Host: site.ru User-agent: * Disallow: /asd
Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.
Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?
User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://site.ru/sitemap.xml
Поймет ли робот в данном примере директиву Sitemap?
Надеюсь получить от вас ответ, который поставит жирную точку в моих сомнениях.
Здравствуйте!
Директивы Host и Sitemap являются межсекционными, поэтому будут использоваться роботом вне зависимости от места в файле robots.txt, где они указаны.
--
С уважением, Платон Щукин
Служба поддержки Яндекса
Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).
Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...
На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.
Robots.txt - это текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем.
Яндекс поддерживает следующие директивы:
Директива | Что делает |
---|---|
User-agent * | |
Disallow | |
Sitemap | |
Clean-param | |
Allow | |
Crawl-delay |
Директива | Что делает |
---|---|
User-agent * | Указывает на робота, для которого действуют перечисленные в robots.txt правила. |
Disallow | Запрещает индексирование разделов или отдельных страниц сайта. |
Sitemap | Указывает путь к файлу Sitemap , который размещен на сайте. |
Clean-param | Указывает роботу, что URL страницы содержит параметры (например, UTM-метки), которые не нужно учитывать при индексировании. |
Allow | Разрешает индексирование разделов или отдельных страниц сайта. |
Crawl-delay | Задает роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей. |
* Обязательная директива.
Наиболее часто вам могут понадобиться директивы Disallow, Sitemap и Clean-param. Например:
User-agent: * #указываем, для каких роботов установлены директивы\nDisallow: /bin/ # запрещает ссылки из \"Корзины с товарами\".\nDisallow: /search/ # запрещает ссылки страниц встроенного на сайте поиска\nDisallow: /admin/ # запрещает ссылки из панели администратора\nSitemap: http://example.com/sitemap # указываем роботу на файл sitemap для сайта\nClean-param: ref /some_dir/get_book.pl
Роботы других поисковых систем и сервисов могут иначе интерпретировать эти директивы.
Примечание. Робот учитывает регистр в написании подстрок (имя или путь до файла, имя робота) и не учитывает регистр в названиях директив.
Использование кириллицы запрещено в файле robots.txt и HTTP-заголовках сервера.
Для указания имен доменов используйте Punycode . Адреса страниц указывайте в кодировке, соответствующей кодировке текущей структуры сайта.
Пример файла robots.txt :
#Неверно:\nUser-agent: Yandex\nDisallow: /корзина\n\n#Верно:\nUser-agent: Yandex\nDisallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
В Яндекс.Вебмастере на странице «Диагностика сайта» возникает ошибка «Сервер отвечает редиректом на запрос /robots.txt»
Чтобы файл robots.txt учитывался роботом, он должен находиться в корневом каталоге сайта и отвечать кодом HTTP 200. Индексирующий робот не поддерживает использование файлов, расположенных на других сайтах.
Проверить ответ сервера и доступность файла robots.txt для робота можно с помощью инструмента Проверка ответа сервера .
Если ваш robots.txt выполняет перенаправление на другой файл robots.txt (например, при переезде сайта), добавьте сайт, который является целью перенаправления, в Яндекс.Вебмастер и подтвердите права на управление сайтом.