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

Зачем нужен robots.txt

С помощью этого файла можно повлиять на поведение ботов Яндекса и Google. Файл robots.txt содержит указания для краулеров, предназначенных для индексирования сайта. Он состоит из списка команд, которые рекомендуют либо просканировать, либо пропустить конкретные страницы или целые разделы сайта. Если боты «прислушаются» к этим пожеланиям, то не будут посещать закрытые страницы или индексировать определенный тип контента.

Закрывают обычно дублирующие страницы, служебные, неинформативные, страницы с GET-параметрами или просто неважные для пользователей.

Зачем это нужно:

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

Как надежно закрыть страницу от ботов

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

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

Главная страница сайта в выдаче, но описание бот составить не смогГлавная страница сайта в выдаче, но описание бот составить не смог

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

Если страницы нельзя закрыть паролем, но не хочется показывать их ботам, есть вариант применить директивы «noindex» и «nofollow». Для этого нужно добавить их в секцию <head> HTML-кода страницы:

<meta name="robots" content="noindex, nofollow"/>

Чтобы робот правильно интерпретировал «noindex» и «nofollow» и не добавил страницу в индекс, не закрывайте одновременно доступ к ней в файле robots.txt. Так бот не получит доступа к странице и не увидит запрещающих директив.

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

Каким должен быть файл, как его оформить и куда размещать — в этом и Яндекс, и Google солидарны:

  • Формат — только txt.
  • Вес — не превышающий 32 КБ.
  • Название — строго строчными буквами «robots.txt». Никакие другие варианты, к примеру, с заглавной, боты не воспримут.
  • Наполнение — строго латиница. Все записи должны быть на латинице, включая адрес сайта: если он кириллический, его нужно переконвертировать в punycode. Например, после конвертации запись сайта «окна.рф» будет выглядеть как «xn--80atjc.xn--p1ai». Ее и нужно использовать в командах.
  • Исключение для предыдущего правила — комментарии вебмастера. Они могут быть на любом языке, поскольку специалист оставляет их для себя и коллег, а не для поисковых ботов. Для обозначения комментариев используют символ «#». Все, что указано после «#», роботы проигнорируют, поэтому следите, чтобы туда случайно не попали важные команды.
  • Количество файлов robots.txt — должен быть один общий файл на весь сайт вместе с поддоменами.
  • Местоположение — корневой каталог. У поддоменов файл должен быть таким же, только разместить его нужно в корневом каталоге каждого поддомена.
  • Ссылка на файл — https://example.com/robots.txt (вместо https://example.com нужно указать адрес вашего сайта).
  • Ссылка на robots.txt должна отдавать код ответа сервера 200 OK.

Подробные рекомендации для robots.txt от Яндекса читайте здесь, от Google — здесь.

Дальше рассмотрим, каким образом можно давать рекомендации ботам.

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

Файл состоит из списка команд (директив) с указанием страниц, на которые они распространяются, и адресатов — имён ботов, к которым команды относятся.

Директиву Clean-param воспринимают только боты Яндекса, а в остальном в 2021 году команды для ботов Google и Яндекса одинаковы.

Основные обозначения файла

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

Пример. User-agent: * — все существующие роботы, User-agent: Googlebot — только бот Google.

Disallow — запрет сканирования. После косого слэша указывают, на что распространяется команда запрета.

Пример:

Disallow: /blog/page-2.html

Пустое поле в Disallow означает разрешение на сканирование всего сайта:

User-agent: *

Disallow:

А эта запись запрещает всем роботом сканировать весь сайт:

User-agent: *

Disallow: /

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

Эта запись разрешает сканирование боту Google, а всем остальным запрещает:

User-agent: Googlebot

Disallow:

User-agent: *

Disallow: /

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

В записях важен закрывающий косой слэш, его наличие или отсутствие меняет смысл:

Disallow: /about/ — запись закрывает раздел «О нас», доступный по ссылке https://example.com/about/

Disallow: /about — закрывает все ссылки, которые начинаются с «/about», включая раздел https://example.com/about/, страницу https://example.com/about/company/ и другие.

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

Disallow: /catalog/blog/photo/

Правильно оформить их раздельно, каждый с новой строки и своим Disallow:

Disallow: /catalog/

Disallow: /blog/

Disallow: /photo/

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

User-agent: *

Allow: /album/photo1.html

Disallow: /album/

А вот и отдельная команда для Яндекса — Clean-param. Директиву используют, чтобы исключить дубли страниц, которые могут появляться из-за GET-параметров или UTM-меток. Clean-param распознают только боты Яндекса. Вместо нее можно использовать Disallow, эту команду понимают в том числе и гуглоботы.

Допустим, на сайте есть страница page=1 и у нее могут быть такие параметры:

https://example.com/index.php?page=1&sid=2564126ebdec301c607e5df

https://example.com/index.php?page=1&sid=974017dcd170d6c4a5d76ae

Каждый образовавшийся адрес в индексе не нужен, достаточно, чтобы там была общая основная страница. В этом случае в robots нужно задать Clean-param и указать, что ссылки с дополнениями после «sid» в страницах на «/index.php» индексировать не нужно:

User-agent: Yandex

Disallow:

Clean-param: sid /index.php

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

Clean-param: sid&utm&ref /index.php

Строки не должны быть длиннее 500 символов. Такие длинные строки — редкость, но из-за перечисления параметров такое может случиться. Если указание получилось сложным и длинным, его можно разделить на несколько. Примеры найдете в Справке Яндекса.

Sitemap — ссылка на карту сайта. Если карты сайта нет, запись не нужна. Сама по себе карта не обязательна, но если сайт большой, то лучше ее создать и дать ссылку в robots, чтобы ботам было проще разобраться в структуре.

Sitemap: https://example.com/sitemap.xml

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

* — предполагает любую последовательность символов после этого знака;

$ — указывает на то, что на этом элементе необходимо остановиться.

Пример. Такая запись:

Disallow: /catalog/category1$

запрещает роботу индексировать страницу site.com/catalog/category1, но не запрещает индексировать страницу site.com/catalog/category1/product1.

Лучше не заниматься сбором команд вручную, для этого есть сервисы, которые работают онлайн и бесплатно. Инструмент для генерации robots.txt бесплатно соберет нужные команды: открыть или закрыть сайт для ботов, указать путь к sitemap, настроить ограничение на посещение избранных страниц, установить задержку посещений.

Настройки файла в инструментеНастройки файла в инструменте

Есть и другие бесплатные генераторы файла, которые позволят быстро создать robots и избежать ошибок. У популярных движков есть плагины, с ними собирать файл еще проще. О них расскажем ниже.

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

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

  • Найти ошибки в заполнении robots — инструмент от Яндекса. Укажите сайт и введите содержимое файла в поле.
  • Проверить доступность для ботов — инструмент от Google. Введите ссылку на URL с вашим robots.txt.
  • Определить наличие файла robots.txt в корневом каталоге и доступность сайта для индексации — Анализ сайта от PR-CY. В сервисе есть еще 70+ тестов с проверкой SEO, технических параметров, ссылок и другого.

Фрагмент проверки сайта сервисом pr-cy.ru/analysisФрагмент проверки сайта сервисом pr-cy.ru/analysis

В «Важных событиях» отобразятся даты изменения файла.

Оповещения в интерфейсеОповещения в интерфейсе

Правильный robots.txt для разных CMS: примеры готового файла

Файл robots.txt находится в корневой папке сайта. Чтобы создать или редактировать его, нужно подключиться к сайту по FTP-доступу. Некоторые системы управления (например, Битрикс) предоставляют возможность редактировать файл в административной панели.

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

WordPress

У WP много бесплатных плагинов, которые формируют robots.txt. Эта опция предусмотрена в составе общих SEO-плагинов Yoast SEO и All in One SEO, но есть и отдельные, которые отвечают за создание и редактирование файла, например:

Пример robots.txt для контентного проекта на WordPress

Это вариант файла для блогов и других проектов без функции личного кабинета и корзины.

User-agent: *      # установили общие правила для роботов

Disallow: /cgi-bin      # закрыли системную папку, которая находится на хостинге

Disallow: /?      # обобщили все параметры запроса на главной странице сайта

Disallow: /wp—      # все специальные WordPress-файлы: /wp-json/, /wp-content/plugins, /wp-includes

Disallow: *?s=      # здесь и далее перечисление запросов поиска

Disallow: *&s=

Disallow: /search/

Disallow: */trackback      # закрыли трекбеки — уведомления о появлении ссылки на статью

Disallow: */feed      # новостные ленты полностью

Disallow: */rss      # rss-ленты

Disallow: */embed      # все встраивания

Disallow: /xmlrpc.php      # файл API WP

Disallow: *utm*=      # все ссылки, у которых прописаны UTM-метки

Disallow: *openstat=      # все ссылки, у которых прописаны openstat-метки

Allow: */uploads      # открыли доступ к папке с файлами uploads

Allow: /*/*.js      # открыли доступ к js-скриптам внутри /wp-, уточнили /*/ для приоритета

Allow: /*/*.css      # доступ к css-файлам внутри /wp-, также уточнили /*/ для приоритета

Allow: /wp-*.png      # доступ к картинкам в плагинах, папке cache и других в формате png

Allow: /wp-*.jpg      # то же самое для формата jpg

Allow: /wp-*.jpeg      # для формата jpeg

Allow: /wp-*.gif      # и для анимаций в gif

Allow: /wp-admin/admin-ajax.php      # открыли доступ к этому файлу, чтобы не блокировать JS и CSS для плагинов

Sitemap: https://example.com/sitemap.xml      # указали ссылку на карту сайта (вместо https://example.com нужно подставить сой домен)

Пример robots.txt для интернет-магазина на WordPress

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

User-agent: *

Disallow: /cgi-bin

Disallow: /?

Disallow: /wp-

Disallow: /wp/

Disallow: *?s=

Disallow: *&s=

Disallow: /search/

Disallow: */trackback

Disallow: */feed

Disallow: */rss

Disallow: */embed

Disallow: /xmlrpc.php

Disallow: *utm*=

Disallow: *openstat=

Disallow: /cart/

Disallow: /checkout/

Disallow: /*add-to-cart=*

Allow: */uploads

Allow: /*/*.js

Allow: /*/*.css

Allow: /wp-*.png

Allow: /wp-*.jpg

Allow: /wp-*.jpeg

Allow: /wp-*.gif

Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap.xml

1C-Битрикс

В модуле «Поисковая оптимизация» этой CMS начиная с версии 14.0.0 можно настроить управление файлом robots из административной панели сайта. Нужный раздел находится в меню Маркетинг > Поисковая оптимизация > Настройка robots.txt.

Пример robots.txt для сайта на Битрикс

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

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      # здесь и далее открыли скрипты js и css

Allow: /bitrix/*.css

Allow: /local/*.js

Allow: /local/*.css

Allow: /local/*.jpg      # открыли доступ к картинкам в формате jpg и далее в других форматах

Allow: /local/*.jpeg

Allow: /local/*.png

Allow: /local/*.gif

Sitemap: https://example.com/sitemap.xml

OpenCart

У этого движка есть официальный модуль Редактирование robots.txt Opencart для работы с файлом прямо из панели администратора.

Пример robots.txt для магазина на OpenCart

CMS OpenCart обычно используют в качестве базы для интернет-магазина, поэтому пример robots заточен под нужды e-commerce.

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: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?filter=

Disallow: /*&filter=

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: *search=*

Disallow: /cart/

Disallow: /forgot-password/

Disallow: /login/

Disallow: /compare-products/

Disallow: /add-return/

Disallow: /vouchers/

Sitemap: https://example.com/sitemap.xml

Joomla

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

Пример robots.txt для сайта на Joomla

В файле закрыты плагины, шаблоны и прочие системные решения.

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/

Allow: *.css

Allow: *.js

Sitemap: https://example.com/sitemap.xml

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

Биддер автокампаний WB
Вы выбираете инструменты wildberries
Удерживает диапазон позиций по min
ставке или max позицию по заданной CPM

Настоящий сервис собирает информацию, зарегистрированную в файлах «cookies» для целей адаптации функционала сервиса к потребностям пользователей, в целях сбора статистической информации для анализа и улучшения качества работы сервиса, а также в рекламных целях. При использовании данного сервиса, вы подтверждаете свое согласие на использование файлов «cookies». Файлы «cookies» будут сохранены в памяти вашего устройства (ЭВМ). Вы можете изменить настройки файлов «cookies» в вашем браузере, однако такие изменения могут повлиять на функциональность сервиса и ограничить его использование.

Настоящим Я даю свое полное согласие на получение электронных уведомлений (на указанные мой абонентский номер и адрес электронной почты), а также выражаю явное и полное согласие на сбор, хранение, обработку и передачу персональных данных, согласно положениям, изложенным в Политике конфиденциальности, расположенных по адресу: promopult.ru/rules.html?op=private, с которыми я ознакомился и принял.