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

Что такое robots.txt и для чего он нужен

Robots.txt – это используемый большинством поисковых роботов текстовый файл, в котором прописаны правила для сканирования документов (страниц сайта).

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

Роботы поисковых систем постоянно сканируют и добавляют в базу новые страницы и обновляют содержимое старых. Сайт может сканироваться разными поисковыми роботами. У Яндекса их множество:

Список роботов Яндекс

И все они выполняют свою определенную задачу.

Любой робот имеет ограничение на сканирование сайта (например, поисковой бот Яндекса не сканирует за 1 раз более 10 страниц).

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

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

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

От создания правильного файла robots txt напрямую зависит скорость попадания необходимых страниц в поисковые системы (Яндекс, Google и др.).

В robots.txt отражаются:

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

Формирование robots txt для сайта

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

1. Требования

Существует набор общих требований к файлу, который одинаков для всех поисковых роботов:

  • формат файла только txt;
  • размер не превышает 32 КБ;
  • название robots.txt исключительно строчными буквами;
  • наполнение должно быть на латинице, для адресов на других языках используется Punycode;
  • на сайте должен содержаться только один файл robots.txt;
  • расположен в корневом каталоге;
  • инструкции зависимы от регистра, например, если она прописана для News.asp, то она не затронет news.asp;
  • название директив должно указываться с большой буквы;
  • при просмотре файла, сервер должен выдавать код ответа 200 ОК.

ВАЖНО! В файле не требуется написание инструкции для каждой отдельной страницы сайта. Его эффективность заключается в краткости и в обширной смысловой нагрузке. При наполнении robots.txt можно применять специальные символы. О которых мы пишем ниже.

2. Специальные символы

  • * – определение любой последовательности символов. Используется для указания любого кол-ва символов;
  • $ – используется для отсечения символов URL адреса, идущих после него. Например, GET-параметров или вложенности после этого символа. С помощью строки «/catalog/$» можно запретить к сканированию раздел «/catalog/», но при этом не заблокировать страницы вида «/catalog/?get=show» или «/catalog/сategory1/»;
  • /catalog/ – автоматически закроет все ссылки, которые начинаются с «/catalog/»;
  • #– для написания комментариев, поисковые роботы игнорируют текст, который написан после этого символа.

3. Директивы

Для всех поисковых роботов существует набор директив (правил), которые они распознают.

Общие требования к указанию правил:

  1. Каждая директива начинается с новой строки;
  2. Синтаксис файла robots.txt — [Имя_директивы]:[пробел][значение];
  3. Пустая строка после User-agent может трактоваться как окончание правил для директивы;
  4. В директивах «Allow», «Disallow» указывается не более одного значения;

User-agent

User-agent – директива, которую прописывают первой. Указывает на то, какому роботу прописаны последующие инструкции.

Пример:

User-agent: * #для всех роботов


Если вместо «*» можно добавить название конкретного бота и им будет следовать только этот робот. При этом они не будут использовать другим прописанным в файле директивам User-agent: *.

User-agent: Yandex #для всех роботов Яндекса
User-agent: YandexBot #для основного поискового робота Яндекса
User-agent: Googlebot # для основного робота Google

Пример robots.txt с несколькими User-agent:

User-agent: Yandex
Disallow: /

User-agent: Googlebot
Disallow: /

User-agent: *
Allow: /

Сразу после директивы User-agent, в файле указывают команды. В рамках одного User-agent не допустим пропуск строк.

Disallow

Disallow – директива, отвечающая за запрет просмотра и индексации страниц сайта. Как раз она и закрывает не только весь сайт от роботов, но и отдельные страницы и папки.

Пример закрытия всего сайта всем роботам:

User-agent: * #говорит о том, что правило распространяется на всех роботов
Disallow: / #запрещает индексацию всего сайта

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

User-agent: * #Для всех роботов
Disallow: *.jpg #Для запрета индексации файлов в формате .jpg
Disallow: /news/ #Запрет для сканирования папки https://site.ru/news/
Disallow: /news/newnews.html #Запрет для страницы https://site.ru/news/newnews.html
Disallow: *?* #Закроет все страницы со знаком вопрос в url
Disallow: /catalog/ #Закроет все страницы каталога, если /catalog/ находится в корневой папке. Для https://site.ru/razdel/catalog/ нужно прописать /razdel/catalog/ или */catalog/

Allow

Allow – противоположная директива Disallow. Используется в файле robots.txt для разрешения сканирования определенных страниц.

Хотя они и действуют по принципу: «все, что не запрещается – разрешается», существует ряд случаев, когда необходимо запретить просмотр сайта целиком и открыть только определенные страницы или целые разделы.

Например, нужно запретить доступ к разделу /catalog/, но разрешить к его части /catalog/bikes/, то запись будет выглядеть так:

User-agent: *
Disallow: /catalog/
Allow: /catalog/bikes/

Clean-param

Clean-param – директива от Яндекс, которая удаляет динамические параметры из url, дублирующие контент основных страниц. Не работает для робота Google. Директива также закрывает страницы от сканирования как и disallow, но позволяет передать основной странице некоторые показатели. Например, есть страницы:

  • site.ru/category/?sort_field=PRICE&order=asc
  • site.ru/category/?sort_field=PRICE&order=desc

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

User-Agent: Yandex
Clean-param: &order /category/

Сначала пишут параметры, а через пробел префикс к какой папке применить. Второе указывать не обязательно. Если будет указана только один из параметров, страницы будет открыты к индексу. Для перечисления параметров между ними без пробела нужно поставить знак “&”.

Подробнее о clean-param в Яндекс.Справке.

Host

Host – устаревшая директива от Яндекс. Яндекс отказался от неё в 2019 году. Если она есть в файле, можно удалить. Использовалась для указания главного зеркала сайта, которое будет отображаться в поисковой выдаче.

Sitemap

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

Создавать карту сайта и размещать ссылку на её в robots.txt нужно если на вашем сайте нельзя попасть на все страницы с главной страницы.

Пример:

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


Crawl-delay

Crawl-delay – устаревшая директива Яндекс. Яндекс отказался от неё в 2018 году. Определяет минимальный интервал, который необходимо выждать после индексации одного файла в секундах, чтобы приступить к другому.

4. Что стоит закрывать от индекса в файле robots.txt

  • Дубли. Каждая страница на сайте должна быть доступна только по одному адресу. Часто у CMS при создании страниц появляются технические копии с ? в конце URL и другими символами: “index.php”, “.html” и пр.
  • Не уникальные. Страницы с дублирующимся контентом следует скрыть или запретить к индексации.
  • Отклик с форм. Пример такой страницы - “Спасибо за отзыв!”
  • Страницы движка управления сайта. Шаблоны, административные файлы, базы и т.д.
  • Бесполезные. Страницы, которые не несут никакого смысла для пользователя или пустые.

5. Примеры содержания robots.txt в зависимости от задач

1. Для основного робота Яндекс указываем директиву разрешения индексации JS и CSS файлов

User-agent: Yandex
Allow: *.css
Allow: *.js

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

User-agent: Googlebot
Allow: *.jpg
Allow:*.jpeg
Allow: *.png
Allow: *.gif

3. Для основного робота Яндекс указываем закрытие определенных GET-параметров (сортировка, фильтры, поиск и т.д.)

User-agent: Yandex
Disallow: /*order=
Disallow: /*sort=
Disallow: /*fiter=

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

User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_term&utm_content /

Шаблоны для популярных CMS

Ниже рассмотрим популярные CMS системы сайтов и подходящее содержание файла robots.txt для них.

robots для 1С-Bitrix

User-agent: *
Disallow: /bitrix/
Disallow: /*bitrix_*=
Disallow: /*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: /*utm*=
Disallow: /*set_filter*=
Disallow: /*openstat=
Disallow: /*from=
Disallow: /*clear_cache=
Allow: /upload/
Allow: /bitrix/templates/
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: https://site.ru/sitemap.xml


robots для WordPress

User-agent: *
Disallow: /wp-admin/
Disallow: /?*
Disallow: /wp-*
Disallow: /*s=
Disallow: /search/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /*openstat=

Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php

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


ВАЖНО! Использование этого шаблона предусмотрено для сайтов на WP, на которых отсутствует личный кабинет пользователя. Как правило, это – новостные или личные блоги, информационные страницы с авторским контентом и т.д.

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

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

1. Ручная проверка

Проверяем файл на доступность, переходя по ссылке: site.ru/robots.txt. Например, можете посмотреть как он выглядит у нас https://mitup.ru/robots.txt.

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

2. С помощью сервисов

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

Подведем итоги

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

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