Битрикс является одной из самых распространенных систем администрирования в российском сегменте интернета. С учетом того, что на этой CMS, с одной стороны, нередко делают интернет-магазины и в достаточной степени нагруженные сайты, а с другой стороны, битрикс оказывается не самой быстрой системой, составление правильного файла robots.txt становится еще более актуальной задачей. Если поисковый робот индексирует только то, что нужно для продвижения, это помогает убрать лишнюю нагрузку на сайт. Как и в случае истории с , в интернете почти в каждой статье присутствуют ошибки. Такие случае я укажу в самом конце статьи, чтобы было понимание, почему такие команды прописывать не нужно.
Более подробно о составлении robots.txt и значении всех его директив я писал . Ниже я не буду подробно останавливаться на значении каждого правила. Ограничусь тем, что кратко прокомментирую что для чего необходимо.
Код для Robots, который прописан ниже, является базовым, универсальным для любого сайта на битриксе. В то же время, нужно понимать, что у вашего сайта могут быть свои индивидуальные особенности, и этот файл потребуется скорректировать в вашем конкретном случае.
User-agent: * # правила для всех роботов Disallow: /cgi-bin # папка на хостинге Disallow: /bitrix/ # папка с системными файлами битрикса Disallow: *bitrix_*= # GET-запросы битрикса Disallow: /local/ # папка с системными файлами битрикса Disallow: /*index.php$ # дубли страниц index.php Disallow: /auth/ # авторизация Disallow: *auth= # авторизация Disallow: /personal/ # личный кабинет Disallow: *register= # регистрация Disallow: *forgot_password= # забыли пароль Disallow: *change_password= # изменить пароль Disallow: *login= # логин Disallow: *logout= # выход Disallow: */search/ # поиск Disallow: *action= # действия Disallow: *print= # печать Disallow: *?new=Y # новая страница Disallow: *?edit= # редактирование Disallow: *?preview= # предпросмотр Disallow: *backurl= # трекбеки Disallow: *back_url= # трекбеки Disallow: *back_url_admin= # трекбеки Disallow: *captcha # каптча Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: *?FILTER*= # здесь и ниже различные популярные параметры фильтров Disallow: *?ei= Disallow: *?p= Disallow: *?q= Disallow: *?tags= Disallow: *B_ORDER= Disallow: *BRAND= Disallow: *CLEAR_CACHE= Disallow: *ELEMENT_ID= Disallow: *price_from= Disallow: *price_to= Disallow: *PROPERTY_TYPE= Disallow: *PROPERTY_WIDTH= Disallow: *PROPERTY_HEIGHT= Disallow: *PROPERTY_DIA= Disallow: *PROPERTY_OPENING_COUNT= Disallow: *PROPERTY_SELL_TYPE= Disallow: *PROPERTY_MAIN_TYPE= Disallow: *PROPERTY_PRICE[*]= Disallow: *S_LAST= Disallow: *SECTION_ID= Disallow: *SECTION[*]= Disallow: *SHOWALL= Disallow: *SHOW_ALL= Disallow: *SHOWBY= Disallow: *SORT= Disallow: *SPHRASE_ID= Disallow: *TYPE= Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Disallow: *from= # ссылки с метками from Allow: */upload/ # открываем папку с файлами uploads Allow: /bitrix/*.js # здесь и далее открываем для индексации скрипты Allow: /bitrix/*.css Allow: /local/*.js Allow: /local/*.css Allow: /local/*.jpg Allow: /local/*.jpeg Allow: /local/*.png Allow: /local/*.gif # Укажите один или несколько файлов Sitemap Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команда стала необязательной. Ранее Host понимал # Яндекс и Mail.RU. Теперь все основные поисковые системы команду Host не учитывают. Host: www.site.ru
ROBOTS.TXT - Стандарт исключений для роботов - файл в текстовом формате.txt для ограничения доступа роботам к содержимому сайта. Файл должен находиться в корне сайта (по адресу /robots.txt). Использование стандарта необязательно, но поисковые системы следуют правилам, содержащимся в robots.txt. Сам файл состоит из набора записей вида
:где поле - название правила (User-Agent, Disallow, Allow и проч.)
Записи разделяются одной или более пустых строк (признак конца строки: символы CR, CR+LF, LF)
В данном пункте приведены основные требования по настройке файла, конкретные рекомендации по настройке , примеры для популярных CMS
Таким образом минимальное содержание правильно настроенного файла robots.txt выглядит так:
User-agent: * #для всех агентов Disallow: #запрещено ничего = разрешен доступ ко всем файлам
Создать файл возможно с помощью любого текстового редактора (например, notepad++). Для создание либо изменения файла robots.txt обычно требуется доступ к серверу по FTP/SSH, впрочем, многие CMS/CMF имеют встроенный интерфейс управления содержимым файла через панель администрирования (“админку”), например: Bitrix, ShopScript и другие.
Как видно из определения, robots.txt позволяет управлять поведением роботов при посещении сайта, т.е. настроить индексирование сайта поисковыми системами - это делает данный файл важной частью SEO-оптимизации вашего сайта. Самая важная возможность robots.txt - запрет на индексацию страниц/файлов несодержащих полезную информацию. Либо вообще всего сайта, что может быть необходимо, например, для тестовых версий сайта.
Основные примеры того, что нужно закрывать от индексации будут рассмотрены ниже.
Во-первых, всегда следует запрещать индексация сайтов в процессе разработки, чтобы избежать попадания в индекс страниц, которых вообще не будет на готовой версии сайта и страниц с отсутствующим/дублированным/тестовым контентом до того как они будут заполнены.
Во-вторых, следует скрыть от индексации копии сайта, созданные как тестовые площадки для разработки.
В-третьих, разберем какой контент непосредственно на сайте нужно запрещать индексировать.
Теперь остановимся на синтаксисе robots.txt более подробно.
Символ начала комментирования, весь текст после # и до перевода строки считается комментарием и не используется роботами.
*Подстановочное значение обозначающее префикс, суффикс либо значение директивы полностью - любой набор символов (в том числе пустой).
Указание на конец строки, запрет достраивания * к значению, наПример:
User-agent: * #для всех Allow: /$ #разрешить индексацию главной страницы Disallow: * #запретить индексацию всех страниц, кроме разрешенной
Обязательная директива. Определяет к какому роботу относится правило, в правиле может быть одна или несколько таких директив. Можно использовать символ * как указание префикса, суффикса или полного названия робота. Пример:
#сайт закрыт для Google.Новости и Google.Картинки User-agent: Googlebot-Image User-agent: Googlebot-News Disallow: / #для всех роботов, чье название начинается с Yandex, закрываем раздел “Новости” User-agent: Yandex* Disallow: /news #открыт для всех остальных User-agent: * Disallow:
Директива указывает какие файлы или каталоги нельзя индексировать. Значение директивы должно начинаться с символа / либо *. По умолчанию в конце значения проставляется *, если это не запрещено символом $.
В каждом правиле должна быть по крайней мере одна директива Disallow: или Allow:.
Директива указывает какие файлы или каталоги следует индексировать. Значение директивы должно начинаться с символа / либо *. По умолчанию в конце значения проставляется *, если это не запрещено символом $.
Использование директивы актуально только совместно с Disallow для разрешения индексации какого-то подмножества запрещенных к индексированию страниц директивой Disallow.
Необязательная, межсекционная директива. Используйте директиву Clean-param, если адреса страниц сайта содержат GET-параметры (в URL отображается после знака?), которые не влияют на их содержимое (например, UTM). С помощью данного правила все адреса будут приведены к единому виду - исходному, без параметров.
Синтаксис директивы:
Clean-param: p0[&p1&p2&..&pn]
p0… - названия параметров, которые не нужно учитывать
path - префикс пути страниц, для которых применяется правило
Пример.
на сайте есть страницы вида
Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123
При указании правила
User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl
робот сведет все адреса страницы к одному:
Www.example.com/some_dir/get_book.pl?book_id=123
Необязательная директива, возможно размещение нескольких таких директив в одном файле, межсекционная (достаточно указать в файле один раз, не дублируя для каждого агента).
Пример:
Sitemap: https://example.com/sitemap.xml
Директива позволяет задать поисковому роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей. Поддерживаются дробные значения
Минимально допустимое значение для роботов Яндекс - 2.0.
Роботы Google не учитывают данную директиву.
Пример:
User-agent: Yandex Crawl-delay: 2.0 # задает тайм-аут в 2 секунды User-agent: * Crawl-delay: 1.5 # задает тайм-аут в 1.5 секунды
Директива указывает главное зеркало сайта. На данный момент из популярных поисковых систем поддерживается только Mail.ru.
Пример:
User-agent: Mail.Ru Host: www.site.ru # главное зеркало с www
В CMS Битрикс предусмотрена возможность управления содержимым файла robots.txt. Для этого в административном интерфейсе нужно зайти в инструмент “Настройка robots.txt”, воспользовавшись поиском, либо по пути Маркетинг->Поисковая оптимизация->Настройка robots.txt. Также можно изменить содержимое robots.txt через встроенный редактор файлов Битрикс, либо через FTP.
Приведенный ниже пример может использоваться как стартовый набор robots.txt для сайтов на Битрикс, но не является универсальным и требует адаптации в зависимости сайта.
Пояснения:
В “админке” Вордпресс нет встроенного инструмента для настройки robots.txt, поэтому доступ к файлу возможен только с помощью FTP, либо после установки специального плагина (например, DL Robots.txt).
Приведенный ниже пример может использоваться как стартовый набор robots.txt для сайтов на Wordpress, но не является универсальным и требует адаптации в зависимости сайта.
Пояснения:
Пример правильного ROBOTS.TXT для сайта на WoRdPress:
User-agent: Yandex # Для Яндекса Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: /xmlrpc.php Disallow: /tag/ Disallow: /readme.html Disallow: *?replytocom Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Clean-Param: utm_source&utm_medium&utm_campaign Clean-Param: openstat User-agent: * Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: /xmlrpc.php Disallow: *?utm Disallow: *openstat= Disallow: /tag/ Disallow: /readme.html Disallow: *?replytocom Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Sitemap: http://site.com/sitemap.xml #заменить на адрес вашей карты сайта
В “админке” OpenCart нет встроенного инструмента для настройки robots.txt, поэтому доступ к файлу возможен только с помощью FTP.
Приведенный ниже пример может использоваться как стартовый набор robots.txt для сайтов на OpenCart, но не является универсальным и требует адаптации в зависимости сайта.
Пояснения:
В “админке” Джумла нет встроенного инструмента для настройки robots.txt, поэтому доступ к файлу возможен только с помощью FTP.
Приведенный ниже пример может использоваться как стартовый набор robots.txt для сайтов на Joomla с включенным SEF, но не является универсальным и требует адаптации в зависимости сайта.
Пояснения:
Бот | Функция |
Googlebot | основной индексирующий робот Google |
Googlebot-News | Google Новости |
Googlebot-Image | Google Картинки |
Googlebot-Video | видео |
Mediapartners-Google | |
Mediapartners | Google AdSense, Google Mobile AdSense |
AdsBot-Google | проверка качества целевой страницы |
AdsBot-Google-Mobile-Apps | Робот Google для приложений |
YandexBot | основной индексирующий робот Яндекса |
YandexImages | Яндекс.Картинки |
YandexVideo | Яндекс.Видео |
YandexMedia | мультимедийные данные |
YandexBlogs | робот поиска по блогам |
YandexAddurl | робот, обращающийся к странице при добавлении ее через форму «Добавить URL» |
YandexFavicons | робот, индексирующий пиктограммы сайтов (favicons) |
YandexDirect | Яндекс.Директ |
YandexMetrika | Яндекс.Метрика |
YandexCatalog | Яндекс.Каталог |
YandexNews | Яндекс.Новости |
YandexImageResizer | робот мобильных сервисов |
Bingbot | основной индексирующий робот Bing |
Slurp | основной индексирующий робот Yahoo! |
Mail.Ru | основной индексирующий робот Mail.Ru |
Текстовый файл robots.txt является общедоступным, что следует учитывать, и не использовать данный файл как средство сокрытия конфиденциальной информации.
Принципиальных отличий в обработке robots.txt поисковыми системами Яндекс и Гугл нет, но все же следует выделить ряд моментов:
В документации по работе с robots.txt Google указывает , что “..не предназначена для того, чтобы запрещать показ веб-страниц в результатах поиска Google. “ и “Если файл robots.txt запрещает роботу Googlebot обрабатывать веб-страницу, она все равно может демонстрироваться в Google”. Для исключения страниц из поиска Google необходимо использовать мета-теги robots.
Яндекс же исключает из поиска страницы, руководствуясь правилами robots.txt.
Чтобы закрыть сайт в Robots.txt нужно использовать одно из следующих правил:
User-agent: * Disallow: / User-agent: * Disallow: *
Возможно закрыть сайт только для какой-то одной поисковой системы (или нескольких), при этом оставив остальным возможность индексирования. Для этого в правиле нужно изменить директиву User-agent: заменить * на название агента, которому нужно закрыть доступ ().
В обычном случае, чтобы открыть сайт для индексации в robots.txt не нужно предпринимать никаких действий, просто нужно убедиться, что в robots.txt открыты все необходимые директории. Например, если ранее ваш сайт был скрыт от индексации, то следует удалить из robots.txt следующие правила (в зависимости от использованного):
Обратите внимание, что индексация может быть запрещена не только с помощью файла robots.txt, но и использованием мета-тега robots.
Также следует учесть, что отсутствие файла robots.txt в корне сайта означает, что индексация сайта разрешена.
На данный момент указание главного зеркала с помощью robots.txt невозможно. Ранее ПС Яндекс использовала директиву Host, которая и содержало указание на основное зеркало, но с 20 марта 2018 Яндекс полностью отказался от ее использования. Сейчас указание главного зеркала возможно только с помощью 301-го постраничного редиректа.
Время чтения: 7 минут(ы)
Почти каждый проект, который приходит к нам на аудит либо продвижение, имеет некорректный файл robots.txt, а часто он вовсе отсутствует. Так происходит, потому что при создании файла все руководствуются своей фантазией, а не правилами. Давайте разберем, как правильно составить этот файл, чтобы поисковые роботы эффективно с ним работали.
Robots.txt - это файл, размещенный в корневом каталоге сайта, который сообщает роботам поисковых систем, к каким разделам и страницам сайта они могут получить доступ, а к каким нет.
Настройка robots.txt - важная часть в выдаче поисковых систем, правильно настроенный robots также увеличивает производительность сайта. Отсутствие Robots.txt не остановит поисковые системы сканировать и индексировать сайт, но если этого файла у вас нет, у вас могут появиться две проблемы:
Поисковый робот будет считывать весь сайт, что «подорвет» краулинговый бюджет. Краулинговый бюджет - это число страниц, которые поисковый робот способен обойти за определенный промежуток времени.
Без файла robots, поисковик получит доступ к черновым и скрытым страницам, к сотням страниц, используемых для администрирования CMS. Он их проиндексирует, а когда дело дойдет до нужных страниц, на которых представлен непосредственный контент для посетителей, «закончится» краулинговый бюджет.
В индекс может попасть страница входа на сайт, другие ресурсы администратора, поэтому злоумышленник сможет легко их отследить и провести ddos атаку или взломать сайт.
Как поисковые роботы видят сайт с robots.txt и без него:
Прежде чем начать разбирать синтаксис и настраивать robots.txt, посмотрим на то, как должен выглядеть «идеальный файл»:
Но не стоит сразу же его применять. Для каждого сайта чаще всего необходимы свои настройки, так как у всех у нас разная структура сайта, разные CMS. Разберем каждую директиву по порядку.
User-agent - определяет поискового робота, который обязан следовать описанным в файле инструкциям. Если необходимо обратиться сразу ко всем, то используется значок *. Также можно обратиться к определенному поисковому роботу. Например, Яндекс и Google:
С помощью этой директивы, робот понимает какие файлы и папки индексировать запрещено. Если вы хотите, чтобы весь ваш сайт был открыт для индексации оставьте значение Disallow пустым. Чтобы скрыть весь контент на сайте после Disallow поставьте “/”.
Мы можем запретить доступ к определенной папке, файлу или расширению файла. В нашем примере, мы обращаемся ко всем поисковым роботам, закрываем доступ к папке bitrix, search и расширению pdf.
Allow принудительно открывает для индексирования страницы и разделы сайта. На примере выше мы обращаемся к поисковому роботу Google, закрываем доступ к папке bitrix, search и расширению pdf. Но в папке bitrix мы принудительно открываем 3 папки для индексирования: components, js, tools.
Зеркало сайта - это дубликат основного сайта. Зеркала используются для самых разных целей: смена адреса, безопасность, снижение нагрузки на сервер и т. д.
Host - одно из самых важных правил. Если прописано данное правило, то робот поймет, какое из зеркал сайта стоит учитывать для индексации. Данная директива необходима для роботов Яндекса и Mail.ru. Другие роботы это правило будут игнорировать. Host прописывается только один раз!
Для протоколов «https://» и «http://», синтаксис в файле robots.txt будет разный.
Карта сайта - это форма навигации по сайту, которая используется для информирования поисковых систем о новых страницах. С помощью директивы sitemap, мы «насильно» показываем роботу, где расположена карта.
Символы, применяемые в файле: «/, *, $, #».
После того как вы разместили Robots.txt на своем сайте, вам необходимо добавить и проверить его в вебмастере Яндекса и Google.
Проверка Яндекса:
Проверка Google:
Таким образом вы сможете проверить свой robots.txt на ошибки и внести необходимые настройки, если потребуется.
Успехов вам!