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

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

Robots.txt является стандартом исключений для роботов, принятым консорциумом W3C 30 января 1994 года. Его использует большая часть современных поисковиков, как рекомендацию к индексированию проекта.

Зачем Robots.txt нужен для SEO?

Robots играет одну из важнейших ролей для поисковой оптимизации.

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

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

Если допустить ошибку в инструкциях и директивах, сайт может полностью пропасть из поискового индекса. Важно уметь корректно настраивать данный файл, так как от этого зависит видимость вашего сайта в поисковых системах и дальнейший рост объема трафика на проекте.

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

Где находится и как создать?

Файл robots.txt располагается в корневой директории сайта. К примеру, на сайте https://webmasterie.ru путь к файлу robots будет таким: https://webmasterie.ru/robots.txt.

Ручное создание robots.txt

Для самостоятельного создания файла достаточно воспользоваться любым текстовым редактором:

  • Блокнот;
  • Microsoft Word;
  • NotePad++;
  • SublimeText и т.д.

В документе прописываете инструкции в зависимости от ваших целей и сохраняете файл в формате .txt, назвав его “robots”.

Затем загружаете файл в корневой каталог сайта – папку с названием вашего ресурса, где также располагаются индексный файл index.html и файлы движка, на базе которого сделан сайт. Для загрузки robots.txt на сервер используют:

  • панель управления сервером, к примеру, Cpanel или ISPmanager;
  • консоль, админку в CMS;
  • FTP-клиент, например, TotalCommander или FileZilla.

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

Вообще нет разницы, каким из вышеперечисленных методов создавать данный текстовый файл.

Онлайн генераторы

Вариант для ленивых – онлайн сервисы, генерирующие роботс автоматически. В интернете можно найти множество подобных инструментов, к примеру, на сайте CY-PR.

Такой вариант хорошо подходит владельцам огромного количества сайтов, потому что для всех них будет сложно вручную прописать практически одни и те же инструкции.

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

Готовые шаблоны

В Сети нет проблем отыскать шаблоны готового robots.txt для популярных движков по типу WordPress, Joomla, Drupal и так далее. В шаблон лишь избавляет от многократного написания стандартных директив и учитывает нюансы определенного движка сайта. Но и тут нужны знания, потому что сам по себе шаблон не предоставит корректно настроенный файл и каждый проект может быть индивидуален.

Как редактировать?

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

Директивы Robots.txt

В Robots.txt прописываются директивы для роботов поисковых систем, тем самым помогая им понять, какие страницы/разделы индексировать, а какие – нет. Рассмотрим, какие директивы что означают:

1. User-Agent. Это обязательная директива, определяющая, к какому роботу будут применяться прописанные ниже правила. По сути, это обращение к конкретному роботу или всем поисковым ботам. Все файлы начинаются именно с этой строчки.

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

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

В ней можно применять специальные символы * и $.

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

4. Sitemap. Данная директива сообщает ботам расположение XML карты сайта. Нужно указывать полный URL. Она важна для поисковых машин Google и Яндекс, так как при обходе сайта в первую очередь они обращаются именно к Sitemap, где показана структура ресурса со внутренними ссылками, приоритетами индексации страниц и датами их создания или изменения.

5. Clean-param. Запрещает ботам обходить страницы с динамическими параметрами, которые полностью дублируют контент основных страниц. В основном проблема динамических параметров встречается на сайтах интернет-магазинов, а именно в URL-адресах для передачи данных по источникам сессий, персональных идентификаторов посетителей.

6. Crawl-delay (уже не поддерживается Яндекс и Google). Инструкция ограничивает частоту посещений одного бота в интервал времени. То есть, он задает в секундах минимальный промежуток времени между окончанием загрузки одного документа и началом загрузки следующего. Благодаря данной директиве снижается нагрузка на сервер, чтобы роботы не посещали сайт слишком часто. Проблема актуальна на крупных сайтах с большим количеством страниц.

Важно! Яндекс отказался от Crawl-delay. Вот какой ответ я получил от поисковика:

crawl-delay Яндекс не используется

7. Host (уже не поддерживается Яндекс). Раньше это была межсекционная инструкция чисто для Яндекса, никакие другие поисковики ее не понимали. Она служила для указания главному роботу Яндекса главного зеркала сайта, если есть доступ к сайту по нескольким доменам. Но с марта месяца 2018 года Яндекс больше не использует директиву Host. Ее функции взял на себя раздел “Переезд сайта в Вебмастере” и 301 редирект.

Что нужно исключать из индекса

1. В первую очередь роботам следует запретить включать в индекс любые дубли страниц. Доступ к странице должен осуществляться только по одному URL. Обращаясь к сайту, поисковый бот по каждому УРЛу должен получать в ответ страницу с уникальным содержанием. Дубли часто появляются у CMS в процессе создания страниц. Так, один и тот же документ можно найти по техническому УРЛ http://site.ru/?p=391&preview=true и ЧПУ http://site.ru/chto-takoe-seo. Нередко дубли появляются и из-за динамических ссылок. Нужно их всех скрывать от индекса с помощью масок:

Disallow: /*?*
Disallow: /*%
Disallow: /index.php
Disallow: /*?page=
Disallow: /*&page=

2. Все страницы с неуникальным контентом. Такие документы рекомендуется скрыть от поисковых машин до того, как они попадут в индекс.

3. Все страницы, применяемые при работе сценариев. К таким страницам относят такие, где есть подобные сообщения: “Спасибо за ваш отзыв!”.

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

Disallow: *PHPSESSID=
Disallow: *session_id=

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

Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback

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

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

Структура Robots.txt

Так выглядит стандартный шаблон структуры файла robots обычного веб-сайта:

User-agent: Yandex
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
User-agent: Googlebot
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
User-agent: *
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
Sitemap: https://site.ru/sitemap.xml

Как видно из инструкции выше, файл содержит блоки с инструкциями и начинается он, как я уже упоминал выше, с правила User-agent, указывающего, к какому роботу идет обращение и прописываются директивы ниже.

Вот несколько примеров директив User-agent для роботов разных поисковиков:

# Для всех поисковых ботов
User-agent: *
# Для всех роботов Яндекса
User-agent: Yandex
# Для основного индексирующего робота Google
User-agent: Googlebot

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

  1. YandexNews;
  2. Googlebot-News.

В них тоже допускается прописывать определенные директории.

Таким образом мы разрешаем обходить сайт только роботам Яндекса и Google:

#Разрешаем роботу Яндекса индексацию всего сайта
User-agent: Yandex
Allow: /
#Разрешаем роботу Google индексацию всего сайта
User-agent: Googlebot
Allow: /
#Запрещаем индексацию сайта всем остальным роботам
User-agent: *
Disallow: /

После каждого правила User-agent следуют инструкции для робота, указанного в данной строке. Чаще всего применяются команды Disallow. Allow прописываются редко, так как отсутствие противоположной директории равносильно разрешению на индексацию.

Кириллица в файле Robots

Писать кириллические символы в директориях robots.txt, а также HTTP-заголовках сервера запрещено.

Чтобы указывать названия кириллических доменов, воспользуйтесь Punycode. URL-адреса указывайте в кодировке, которая соответствует структуре ресурса.

Пример:

#Неправильно:
User-agent: Yandex
Disallow: /корзина
Sitemap: сайт.рф/sitemap.xml
# Правильно:
User-agent: Yandex
Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
Sitemap: http://xn--80aswg.xn--p1ai/sitemap.xml

Основные правила, характеристики файла и синтаксис

При создании файла robots.txt необходимо соблюдать синтаксические правила и следовать характеристикам файла, от которых зависит корректность его работы. Рассмотрим их подробнее:

  • Файл должен называться “robots.txt”. Никаких заглавных букв или кириллицы.
  • Для одного сайта должен быть создан только один файл. Не допускается использование более одного файла robots для веб-ресурса.
  • Robots.txt необходимо разместить в корневой папке ресурса. Для контроля сканирования всех страниц веб-сайта http://site.ru/, разместите файл по адресу http://site.ru/robots.txt. Ни в коем случае не размещайте его в подкаталоге, например, по адресу типа http://site.ru/pages/robots.txt. Если вы не можете получить доступ к корневой папке, свяжитесь с хостинг-провайдером. Если доступ к корневому каталогу отсутствует, воспользуйтесь альтернативным способом – мета-тегами.
  • Robots.txt допускается размещать по УРЛам с субдоменами или нестандартными портами. Например, http://website.site.ru/robots.txt либо http://site.ru:8181/robots.txt соответственно.
  • Любой текст, идущий после символа #, трактуется как комментарий. Инструкции можно комментировать, чтобы оптимизаторы могли оставлять заметки, напоминающие им, зачем они закрыли от индексации либо открыли доступ к конкретным страницам/разделам.
  • Файл robots нужно создавать в формате текстового документа в кодировке UTF-8, включающей коды символов ASCII. Иные символы применять запрещено.
  • Robots содержит группы. В любой группе допускается написание нескольких директив. Каждая директива пишется в отдельной строке.
  • В группе содержится информация: для какого User-agent прописываются директивы группы; к каким файлам или каталогам у агента есть доступ, а к каким – нет.
  • Инструкции в группах считываются сверху вниз. Поисковый бот будет следовать директивам лишь одной группы, агент пользователя которой соответствует ему больше остальных.
  • По умолчанию robots разрешает индексировать все страницы либо каталоги: если они не запрещены директивой Disallow; если директива пустая; размер файла превышает 32 КБ; файл недоступен – выдает 404 ошибку или любой другой ответ на запрос робота, отличающийся от HTTP-кода со статусом 200 OK (проверить ответ сервера можно здесь); robots.txt отсутствует.
  • Инструкции сильно зависят от регистра. Например, директива Disallow: /file.asp влияет на URL-адрес http://www.site.ru/file.asp, но не применима к http://www.site.ru/File.asp.
  • Пробел никак не влияет на инструкции в файле. Нет разницы, сколько пробелов вы проставите в robots.txt, но лучше, чтобы они использовались только в соответствующих местах, облегчая читабельность и ориентирование в файле.
  • В директивах нет закрывающих символов. В конце каждого правила нет необходимости проставлять точку и прочие закрывающие символы.
  • Названия правил указываются с заглавной буквы на латинице. Корректное написание – “Allow”, а не “ALLOW”.
  • Пустой перенос строки применяется только для User-Agent. В конце данной директивы пустой перенос строки считается окончанием инструкций по определенному User-Agent. Написание нового User-agent без переноса строки может не учитываться.
  • Символ «/» применяется для статических страниц. К примеру, Disallow: /wp-includes запрещает индексировать одну из папок ядра WordPress.
  • Порядок следования директив. Роботам поисковых систем не важна последовательность директив. Если директивы Allow и Disallow конфликтуют и противоречат друг другу, приоритетной будет Allow.
  • Не нужно прописывать в robots инструкции для каждой отдельной страницы. Так делать можно, но в исключительных случаях. В целом же старайтесь указывать общие директивы, применимые для всех типовых URL-адресов вашего веб-ресурса. Эффективный robots.txt – это краткий в объеме и одновременно обширный по смыслу файл.

Как проверить Robots.txt?

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

Проверка на сайте

Сделав все верно и загрузив файл в корневой каталог сайта, он станет доступным по ссылке типа site.ru/robots.txt (вместо site.ru указывается URL вашего ресурса).

Это общедоступный файл и его можно посмотреть и изучить у любого сайта.

Проверка на ошибки

Сделать это можно двумя способами:

  1. Панель вебмастера Google Search Console.
  2. Вебмастерская панель Яндекса.
Анализ robots.txt в Яндекс Вебмастере

Здесь вы увидите все ошибки в файле, если они есть, и получите сообщения о серьезных ограничениях в директивах.

Прочитать подробную инструкцию про проверку файла Robots.txt

Robots.txt в Яндекс и Google

Многие оптимизаторы, делая первые шаги в работе с robots.txt, задаются логичным вопросом о том, почему нельзя указать общий User-agent: * и не указывать для робота каждой поисковой системы одни и те же инструкции. Дело в том, что поисковик Google более позитивно воспринимает директиву User-agent: Googlebot в файле robots, как и Яндекс отдельную директиву User-agent: Yandex.

Прописывая правила отдельно для Google и Яндекс, вы сможете управлять индексацией страниц и разделов веб-ресурса посредством Robots. Более того, применяя персональные User-agent можно запретить индексацию некоторых файлов Google, при этом оставить их доступными для роботов Яндекса, и наоборот.

Максимально допустимый размер текстового документа robots в 32 КБ предоставляет возможность почти любому сайту указать все важнейшие для индексирования инструкции в отдельных юзер-агентах для разных поисковиков. Поэтому не вижу смысла проводить рискованные эксперименты.

Заключение

Файл Robots – это один из ключевых инструментов для успешного SEO-продвижения сайта. С его помощью вы можете непосредственно влиять на включение в индекс различных страниц и разделов веб-ресурса.

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

Я всегда стараюсь следить за актуальностью информации на сайте, но могу пропустить ошибки, поэтому буду благодарен, если вы на них укажете. Если вы нашли ошибку или опечатку в тексте, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
28 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
МонроРид
МонроРид
26.02.2020 13:11

Норм, нужен файл-заготовка еще, для скачки под вордпресс, например, чтоы кинуть по умолчани и не париться

Татьяна
Татьяна
26.02.2020 17:53
Ответить на  Александр Неткела

Будет роботс, да? Пожалуйста, сделайте для блондинок (роботс для инфосайта)! Заранее спасибо, Александр!

Twilight
11.03.2021 18:39
Ответить на  Александр Неткела

низкий поклон за такой подарок!

Артем
Артем
26.02.2020 13:35

«Инструкции в группах считываются сверху вниз.»

«Порядок следования директив. Роботам поисковых систем не важна последовательность директив. Если директивы Allow и Disallow конфликтуют и противоречат друг другу, приоритетной будет Allow.»

Одно другому противоречит и не содержит главное: директивы применяются последовательно по длине префикса URL от меньшего к большему.
Пруф: https://yandex.ru/support/webmaster/robot-workings/allow-disallow.html

Незнакомец
Незнакомец
26.02.2020 20:34
Ответить на  Артем

Артёмушка, долгоносик. Не надо указывать чужой е-мейл. Прикинь, дитятко, то что ты указал — существующий ящик и он мой. Я очень недоволен такими придурками как ты, вас очень много, а мой ящик один. Каждый день находится урод который считает своим долгом указать мой ящик как «какой-то несуществующий».

Андрей
Андрей
26.02.2020 14:10

Вот, то что искал

Николай
13.08.2020 19:29
Ответить на  Андрей

Это что нужно

Николай
13.08.2020 19:31

Как прописать на простой сайт не вордпресс спасибо

Светлана
Светлана
05.05.2021 12:33

Вот в этой статье https://dampi.ru/pravilnyiy-robots-txt-dlya-sayta-na-wordpress автор утверждает о том, что если открыть uploads для всех ботов, то в индексе появляются загруженные PDF и прочие текстовые файлы. А в яндекс вебмастере, в отчете «Исключенные страницы» появляются сообщения об ошибке при индексировании картинок, мол содержимое не поддерживается. Вот и не знаю кому верить…

Катя
09.05.2021 23:07

спасибо за прекрасную статью. Помогите, пожалуйста, с другим. Яндекс ВебМастер говорит, что у меня где то сидит noindex, я проверила каждый файл хмл и хтмл и тхт — нигде нет. Я писала сайт в блокноте. Без джумла вордпрес. Потом загрузила свои блокнотики хтмлковые на хостинг в папку паблик хтмл, в корневой в общем. ДОбавляла счетчики яМетрики ГАналитики. Нет там нигде этого ноиндекс. Что же делать? помогите пожалуйста хостинг бесплатный 000вебмастер.ком

Катя
10.05.2021 01:50
Ответить на  Катя

спасибо, прошло)) тупо запустила переобход_ кто б знал)

Rityzzz
Rityzzz
18.06.2021 11:40

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

Михаил
Михаил
22.09.2021 15:47

В вашем примере

Disallow: /*?*
Disallow: /*%
Disallow: /index.php
Disallow: /*?page=
Disallow: /*&page=

Какой смысл вставлять Disallow: /*?page= если уже стоит Disallow: /*?*

Goodstyle
01.12.2021 00:58
Ответить на  Михаил

нет смысла

Андрей
27.10.2021 02:20

Добрый день — страница robots.txt находится в индексе, что редкость. Это плохо?

Андрей
15.09.2023 01:36
Ответить на  Александр Неткела

В Google

BOMBERuss
18.12.2021 19:14

Можно ли указывать в Robots несколько ссылок на разные Sitemap.xml?

Виталий
Виталий
04.07.2022 13:15

Здравствуйте. Небольшое замечание по поводу примера с «Disallow: /wp-includes«. В данном случае будет запрещено сканирование не просто каталога wp-includes, а вообще любого имени содержавшего включение начинающее на «wp-includes«. Т.е. будут также запрещены пути вида «/wp-includes123«, «/wp-includes.html«, «/wp-includes/?=time123» и т.д. Чтобы отсечь сам каталог в конце лучше ставить «/» — т.е. писать так «Disallow: /wp-includes/«. Понятно, что навряд ли у кого то в корне болтается так же какой-нибудь условный файл wp-includes.html, но лучше быть внимательным.

Андрей
Андрей
16.01.2024 11:16
Ответить на  Виталий

По такой логике можно просто поставить Disallow: /wp-includes/ и Disallow: /wp-includes* по сути одно и тоже.

Aslan
11.02.2023 23:49

спасибо вы мне помогли

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: