Поисковые роботы индексируют сайт независимо от наличия robots.txt
и sitemap.xml
, с помощью файла robots.txt
можно указать поисковым машинам, что исключить из индекса, и настроить другие важные параметры.
Стоит учесть, что краулеры поисковых машин игнорируют определенные правила, например:
Директивы - это правила для роботов. Есть спецификация W3C от 30 января 1994 года и расширенный стандарт от 1996 года.
User-agent: директива, с которой начинается Robots.txt
.
Пример:
User-agent: * # указания для всех поисковых роботов. User-agent: Yandex # указания для робота Яндекса. User-agent: GoogleBot # указания для робота Google. Disallow: # запрещающая директива, запрет индексции того, что указанно после /. Allow: # разрешающая директива, для указания на индексацию URL. Disallow: # не работает без спецсимвола /. Allow: / # игнорируются, если после / не указан URL.
Обратите внимание на символ /, можно допустить крупную ошибку прописав например:
User-agent:* Disallow: / # таким образом можно закрыть весь сайт от индексации.
Спецсимвол * означает любую, в том числе и пустую, последовательность символов, например:
Disallow: /cart/* # закрывает от индексации все страницы после URL: site.ru/cart/
Спецсимвол $ ограничивает действие символа *, дает строгое ограничение:
User-agent:* Disallow: /catalog$ # при таком символе не будет индексироваться catalog, но в индексе будет catalog.html
Директива sitemap - указывает путь к карте сайта и выглядит так:
User-agent:* Allow: / Sitemap: http://www.site.ru/sitemap.xml # ее необходимо указывать с http:// или https://, https:// - указывается если подключён SSL сертификат
Директива Host - указывает главное зеркало сайта с www или без www.
User-agent:* Allow: / Sitemap: http://www.site.ru/sitemap.xml Host: www.site.ru # следует писать путь к домену без http и без слэшей, убедитесь, что домен склеен. Без правильной склейки домена, одна и та же страница может попасть в индекс поисковых систем более одного раза, что может повлечь пессимизацию.
Директива Crow-Delay - ограничивает нагрузку на сервер, задает таймаут для поисковых машин:
User-agent: * Crawl-delay: 2 # задает таймаут в 2 секунды. User-agent: * Disallow: /search Crawl-delay: 4.5 # задает таймаут в 4.5 секунды.
Директива Clean-Param необходима, если адреса страниц сайта содержат динамические параметры, которые не влияют на содержимое, например: идентификаторы сессий, пользователей, рефереров и т. п.
Робот Яндекса, используя значения директивы Clean-Param, не будет многократно перезагружать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.
Например, страницы с таким адресом:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.site.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.site.com/some_dir/get_book.pl?ref=site_3&book_id=123
Параметр ref используется только для того, чтобы отследить, с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123. Тогда, если указать директиву следующим образом:
User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl
робот Яндекса сведет все адреса страницы к одному:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,
Также стоит отметить, что для этой директивы есть несколько вариантов настройки
Использование символов русского алфавита запрещено в robots.txt, для этого необходимо использовать Punycode (стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности)
#Неверно: User-agent: * Disallow: /корзина Host: интернет-магазин.рф #Верно: User-agent: * Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0 Host: xn----8sbalhasbh9ahbi6a2ae.xn--p1ai
labrika→в левом меню Технический аудит→в выпадающем меню→Ошибки robots.txt→перепроверить robots.txt
Необходимо учесть, что файл размером больше 32кб считывается как полностью разрешающий, вне зависимости от того, что написано.
Избыточное наполнение robots.txt. Начинающие веб-мастера впечатляются статьями, где сказано, что все ненужное необходимо закрыть в robots.txt и начинают закрывать вообще все, кроме текста на строго определенных страницах. Это, мягко говоря, неверно. Во-первых, существует рекомендация Google не закрывать скрипты, CSS и прочее, что может помешать боту увидеть сайт так же, как видит его пользователь. Во-вторых, очень большое количество ошибок связано с тем, что закрывая одно, пользователь закрывает другое тоже. Безусловно, можно и нужно проверять доступность страницы и ее элементов. Как вариант ошибки - путаница с последовательностью Allow и Disallow. Лучше всего закрывать в robots.txt только очевидно ненужные боту вещи, вроде формы регистрации, страницы перенаправления ссылок и т. п., а от дубликатов избавляться с помощью canonical. Обратите внимание: то, что вы поправили robots.txt, совсем не обозначает, что Yandex- bot и Google-bot его сразу перечитают. Для ускорения этого процесса достаточно посмотреть на robots.txt в соответствующем разделе вебмастера.
Примеры правильно настроенного robots.txt для разных CMS:
User-Agent: * Allow: /wp-content/uploads/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content Disallow: /tag Disallow: /category Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Host: site.ru Sitemap: http://site.ru/sitemap.xml
User-agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: example.ru Sitemap: http://example.ru/sitemap.xml
User-agent: * Disallow: /*route=account/ Disallow: /*route=affiliate/ Disallow: /*route=checkout/ Disallow: /*route=product/search Disallow: /index.php?route=product/product*&manufacturer_id= 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 Disallow: /index.php?route=product/manufacturer Disallow: /index.php?route=product/compare Disallow: /index.php?route=product/category
User-agent:* Allow: /index.php?option=com_xmap&sitemap=1&view=xml Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /go.php Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Disallow: /*com_mailto* Disallow: /*pop=* Disallow: /*lang=ru* Disallow: /*format=* Disallow: /*print=* Disallow: /*task=vote* Disallow: /*=watermark* Disallow: /*=download* Disallow: /*user/* Disallow: /.html Disallow: /index.php? Disallow: /index.html Disallow: /*? Disallow: /*% Disallow: /*& Disallow: /index2.php Disallow: /index.php Disallow: /*tag Disallow: /*print=1 Disallow: /trackback Host: Ваш сайт
User-agent: * Disallow: /*index.php$ Disallow: /bitrix/ Disallow: /auth/ Disallow: /personal/ Disallow: /upload/ Disallow: /search/ Disallow: /*/search/ Disallow: /*/slide_show/ Disallow: /*/gallery/*order=* Disallow: /*?print= Disallow: /*&print= Disallow: /*register= Disallow: /*forgot_password= Disallow: /*change_password= Disallow: /*login= Disallow: /*logout= Disallow: /*auth= Disallow: /*?action= Disallow: /*action=ADD_TO_COMPARE_LIST Disallow: /*action=DELETE_FROM_COMPARE_LIST Disallow: /*action=ADD2BASKET Disallow: /*action=BUY Disallow: /*bitrix_*= Disallow: /*backurl=* Disallow: /*BACKURL=* Disallow: /*back_url=* Disallow: /*BACK_URL=* Disallow: /*back_url_admin=* Disallow: /*print_course=Y Disallow: /*COURSE_ID= Disallow: /*?COURSE_ID= Disallow: /*?PAGEN Disallow: /*PAGEN_1= Disallow: /*PAGEN_2= Disallow: /*PAGEN_3= Disallow: /*PAGEN_4= Disallow: /*PAGEN_5= Disallow: /*PAGEN_6= Disallow: /*PAGEN_7= Disallow: /*PAGE_NAME=user_post Disallow: /*PAGE_NAME=detail_slide_show Disallow: /*PAGE_NAME=search Disallow: /*PAGE_NAME=user_post Disallow: /*PAGE_NAME=detail_slide_show Disallow: /*SHOWALL Disallow: /*show_all= Host: sitename.ru Sitemap: http://www.sitename.ru/sitemap.xml
В данных примерах, в указании User-Agent указан параметр * , разрешающий доступ всем поисковым роботам, для настройки robots.txt под отдельные поисковые системы вместо спецсимвола указывается название робота Yandex, GoogleBot, StackRambler, Slurp, MSNBot, ia_archiver.