Всем привет! Вопрос грамотного создания файла robots. txt, для своего сайта, волнует многих начинающих web мастеров. На эту тему, написано множество статей, не раз обсуждалось на форумах, причем не редко мнения кардинально отличаются.
Давайте попробуем спокойно и подробно рассмотреть, как составить, установить и проверить данный файл на своем сайте.
Что такое robots.txt и зачем он нужен?
robots.txt – обычный текстовый файл, в котором прописаны правила (директивы) индексации для поисковых роботов. Отсутствие или некорректная настройка данного файла, может привести к медленной индексации ресурса или к полному исчезновению из поиска. Также с помощью robots.txt вы можете скрыть ваши личные данные и запретить индексацию определенных страниц и разделов сайта.
Короче, основное назначение файла robots.txt закрыть от индексации нежелательные страницы и файлы. Кроме этого, вы дополнительно указываете основной адрес сайта и сообщаете путь к XML карте сайта, что облегчает и ускоряет работу поисковым роботам.
Файл robots.txt имеет неоценимое значение для оптимизации и SEO продвижения сайта.
Что такое Индекс?
Для того, чтобы сайт показывался в поисковой выдаче по запросам пользователей, он должен находится в индексе поисковой системы. Индекс — это своего рода база данных всех слов и словосочетаний которые находятся на страницах сайтов в интернете.
Вся эта информация систематизирована и связана с теми веб страницами к которым она относится. По мере обхода сайтов поисковыми роботами, полученная информация систематически обновляется и пополняется.
Независимо от того, есть у вас на сайте robots.txt или нет, поисковые роботы будут индексировать ваш ресурс. Если файл существует, вы подскажите роботам, что надо индексировать, а что нет. Тем самым вы уменьшите нагрузку на сайт и увеличите скорость скачивания страниц, запретите обход запрещенных разделов сайта и решите проблему дублирования контента.
Что необходимо закрыть от индексации?
Желательно скрыть от индексации страницы, на которых находится не уникальный контент (например, страницы с типовыми инструкциями, описаниями программ, услуг и так далее) присутствие которых в индексе не желательно.
Основные способы создания robots.txt.
Существует много способов создания файла. Давайте рассмотрим каждый подробно:
1. Создание при помощи онлайн сервисов и генераторов robots.txt.
Способ, на первый взгляд, наиболее подходящий для новичков и для ленивых, позволяет быстро создать и скачать уже готовый файл.
Существует множество онлайн сервисов позволяющих сгенерировать robots.txt;
- SEOlib;
- Сервис PR-CY;
- Сервис Raskruty.ru;
- Seo cafe
какой выбрать решать вам.
2. Создание и установка robots.txt при помощи плагинов.
Способ, который позволяет создать и настроить рабочий файл непосредственно на вашем ресурсе.
Существуют специализированные плагины для создания файла, например «PC Robots.txt», «DL Robots. txt», «iRobots.txt SEO». При помощи этих плагинов, вы можете создать и редактировать файл роботс, непосредственно из панели управления сайтом.
Для сайтов с системой управления wordpress, создан специальный плагин «WordPress Robots.txt File». Это наиболее приемлемый и корректно работающий плагин .
Существуют мощные SEO-плагины ( Yoast SEO, Clearfy, All in one SEO pack и другие), функционал которых позволяет создавать файл robots.txt.
Описывать все плагины нет смысла, вы можете найти их самостоятельно через форму поиска плагинов в репозитории WordPress и прочитать об их настройке и возможностях.
Создание robots.txt при помощи плагинов, идентичен использованию онлайн генераторов и требует понимания всех правил правильной настройки.
3. Скачать правильный robots.txt со стороннего сайта.
Неплохой способ, особенно для новичков. Но при этом, надо быть полностью уверенным в компетенции веб мастера, с сайта которого, вы хотите позаимствовать файл.
Выбирайте трастовые сайты доноры с высоким уровнем ТИЦ и посещаемостью. В данном случае, возможность причинения вреда вашему сайту, минимальна.
Файл robots.txt находится в корневой директории сайта по адресу http://my site.ru/robots.txt
, где my site.ru
– это адрес вашего ресурса в сети (доменное имя сайта).
Для того чтобы посмотреть и скачать файл robots txt с чужого сайта, достаточно зайти на главную страницу сайта донора и добавить к адресу через слэш строчку robots.txt (должно получится так http://адрес сайта донора/robots.txt
) и нажимайте “Enter”. Откроется файл robots.txt сайта донора.
Например если вы захотите посмотреть robots.txt моего сайта вам необходимо набрать в поисковой строке браузера https://sergeyneznamov.ru/robots.txt . Перейдя по ссылке вам будет показан роботс моего сайта.
Хочу сразу предупредить, когда вы будете просматривать файлы robots других сайтов, увидите, что они отличаются по объему и структуре. Это нормально. Некоторые владельцы сайтов, прописывают правила для поисковых роботов, отдельно для каждой поисковой системы, некоторые нет. Также. многие владельцы сайтов решают проблемы дублирования контента и закрытия нежелательных для индексации файлов, при помощи внесения изменений в коде или установкой специальных плагинов.
Если файл robots.txt располагается не в корне сайта, то поисковые роботы его не найдут и будут индексировать ваш сайт полностью (включая файлы, которые индексировать нежелательно).
Через определенное время, возможно вам придется внести изменения в файл. Например, если начнут появляться дубли страниц или у вас появится необходимость закрыть определенные разделы сайта от индексации. Внесенные изменения могут начать действовать только через несколько месяцев.
4. Самостоятельное составление robots.txt, с учетом структуры, шаблона и индивидуальных особенностей вашего сайта;
Наверное, это наиболее надежный и правильный способ составления файла с учетом всех ваших пожеланий к индексации содержимого вашего сайта.
Итак, поехали по порядку:
Поскольку robots.txt — это текстовый файл, для его создания, можно воспользоваться любым текстовым редактором, например стандартным блокнотом.
Самый простой пример начального robots.txt, который разрешает индексацию всего сайта всем поисковикам:
User-agent: * Allow: /
User-agent
User-agent-основная директива, которая указывает для каких роботов прописаны инструкции.
User-agent: * — означает, что правила прописаны для всех роботов без исключения. Обратите особое внимание на правильность написания всех директив, внимательно прописывайте все двоеточия, звездочки и так далее;
User-agent: Yandex, User-agent: GoogleBot ( user-agent: googlebot)
директива для определенного поискового робота. Регистр написания названия робота не важен.
Ниже в таблице приведен список основных User-agent различных поисковых систем.
Бот | Функция |
---|---|
Googlebot | основной индексирующий робот Google |
Googlebot-News | Google Новости |
Googlebot-Image | Google Картинки |
Googlebot-Video | видео |
Mediapartners-Google | Google AdSense, Google Mobile AdSense |
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 | робот мобильных сервисов |
Bing | |
Bingbot | основной индексирующий робот Bing |
Yahoo! | |
Slurp | основной индексирующий робот Yahoo! |
Mail.Ru | |
Mail.Ru | основной индексирующий робот Mail.Ru |
Директивы Disallow и Allow.
Disallow – служит для закрытия определенной страницы или раздела сайта.
Allow – предназначена для открытия страниц сайта для индексирования.
Совместно с этими директориями, прописываются определенные операторы (*, $ и #)
*— учитывается сколько угодно много символов или полное их отсутствие. Отсутствие в конце строки звездочки, подразумевает, что она там есть по умолчанию.
$ — оператор указывает, что символы перед ним должны быть последними.
# — служит для пояснения, комментирования. Все, что прописано после этого символа роботом не учитывается.
Например:
Disallow: *?s=
Disallow: /category/$
Закрывает следующие файлы;
http://site.ru/?s=
http://site.ru/?s=keyword
Открывает следующие файлы:
http://site.ru/category/cat1/
— открывает доступ к страницам,начинающимся с ‘/cat1’
http://site.ru/category-folder/
— открывает доступ к страницам,начинающимся с ‘category-folder’
Disallow: /cgi-bin
- блокирует доступ к страницам,начинающимся с
'/cgi-bin'
Allow: *.css
Disallow: /template/
http://site.ru/template/
— закрыто от индексирования
http://site.ru/style.css
— открыто для индексирования
Комментарий в robots.txt начинаются с символа – # (решетки), действует до конца строки и не учитывается роботами.
Примеры комментариев в robots.txt:
User-agent: * # Комментарий идет от начала строки Disallow: /page #может следовать за директивой. #Боты # не учитывают комментарии Host: www.mysite.ru
Директива Sitemap.
Назначение этой директивы- указать на наличие и пути к XML-карте сайта. Помогает начать ее индексацию и служит для описания структуры ресурса.
Например,
Sitemap: http://ваш сайт.ru/sitemap.xml
Директива Sitemap, прописывается в любом месте файла robots.txt (обычно в конце), без привязки к определенному роботу (user-agent).
Пример :
User-agent: * Disallow: /admin Sitemap: http://www.mysite.ru/sitemap.xml
Директива Host.
Директива Host предназначена для указания роботу главного зеркала вашего сайта и необходима, если ваш сайт доступен по нескольким доменам.
Например:
mysite.ru mysite.com www.mysite.ru
Данная директива предназначена для указания зеркал сайта с www или без www. Обратите внимание, что главное зеркало можно указывть без http://, но обязательно с https://.
Директива поддерживается роботами Яндекса и Mail.Ru. Другими ботами, в том числе и GoogleBot, команда не будет учтена. Host прописывается только один раз!
Пример :
Host: ваш сайт.ru
Или например:
Host: https://ваш
сайт.ru
Для каждого файла robots.txt, учитывается только одна директива Host.
Директива Crawl-delay.
Служит для задания временного интервала для скачивания роботом страниц сайта и позволяет снизить нагрузку на сервер, в случае, когда роботы слишком часто посещают сайт. Учитывается ботами Яндекса, Mail.Ru, Bing, Yahoo. Значение принимаются в секундах и долях секунды (разделитель параметра — точка).
Пример :
Crawl-delay: 3
Или например:
Crawl-delay: 0.5
Директива актуальна для сайтов с большим объемом страниц. Если сайт молодой и имеет низкую посещаемость поисковыми роботами, то устанавливать данное правило, нет необходимости.
Пример :
User-agent: Yandex Disallow: /admin Crawl-delay: 3
В данном случае мы указываем роботам Яндекса скачивать страницы нашего сайта не чаще, чем один раз в три секунды.
Директива Clean-param.
Указывает роботу, что определенные URL-адреса не нужно индексировать. Для правила указывается два аргумента: параметр и URL раздела.
Например:
Clean-param: author_id http://site.ru/articles/
http://mysite.ru/articles/?author_id=267539
— эта страница, с данным id-индефикатором, индексироваться не будет.
Или например:
Clean-param: author_id&sid http://site.ru/articles/
http://mysite.ru/articles/?author_id=267539&sid=0995823627
— также страница с данным id, индексироваться не будет.
Директория закрывающая robots.txt от индексации.
Если вам необходимо, чтобы ваш сайт не индексировался поисковиками, то прописываем следующие директивы:
User-agent: *
Disallow: /
Пример robots.txt с пояснениями.
# Пример типового файла robots.txt для типового сайта https://mysite.ru User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команду Host понимает # Яндекс и Mail.RU, Google не учитывает. Host: www.site.ru
- Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru», так вы сможете увидеть все проиндексированные страницы). Если в поиске присутствуют страницы, которые также необходимо закрыть от индексации, добавьте их в robots.txt
- Проверьте корректность robots.txt через инструменты Google и Яндекса (как это сделать, описано ниже)
Где находится robots.txt и как его установить на сайт.
После создания файла robots.txt, разместите его на вашем сайте по адресу site.ru/robots.txt
— т. е. в корневом каталоге. Вы сможете это сделать, при помощи файлового менеджера на хостинге или при помощи FTP соединения.
Как проверить robots.txt.
Проверка robots.txt на корректность синтаксиса и структуры файла, осуществляется по следующим ссылкам:
- Проверка файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml
- Проверка файла robots.txt в Google: https://www.google.com/webmasters/tools/siteoverview?hl=ru
Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн сервисов проверки robots.txt.
Основные правила, помогающие, исключить частые ошибки при составлении robots.txt:
- Каждая отдельная директива начинается с новой строки;
- Не ставьте пробел в начале строки;
- Параметр директивы должен быть в одну строку;
- Не нужно обрамлять параметры директив в кавычки;
- Параметры директив не требуют закрывающих точки с запятой;
- Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
- Комментарии в robots.txt прописываются после знака решетки #;
- Пустой пробел строки, ошибочно может трактоваться как окончание директивы User-agent;
- Директива «Disallow: » (с пустым значением), трактуется как «Allow: /» — разрешить все;
- В директивах «Allow», «Disallow» указывается не более одного параметра;
- Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
- Написание названия директив и параметров заглавными буквами считается плохим тоном и если по стандарту, robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий;
- Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /category
- Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
- Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
- Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
- В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
- Использование кирилицы в robots.txt не допускается.
Типичные ошибки в robots.txt;
- Файл robots.txt отсутствует ;
- В robots.txt, сайт закрыт от индексирования (Disallow: /);
- Прописаны лишь самые основные директивы, нет детальной проработки файла;
- Не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий ;
- Директива “Host” прописана несколько раз;
- В “Host “ не указан протокол https ;
- Путь к “Sitemap” указан неверно, либо указан неверный протокол или зеркало сайта.
Спасибо за внимание, жду ваших отзывов и комментарий. Всего доброго!
Это точно!
robots.txt — стандартный текстовый файл, но он, как маяк для сайтов, без него ваше детище не найдет достойного места в поисковиках.
Пожалуйста. Рад помочь. Удачи!
Здравствуйте! Хотел поблагодарить автора статьи. Никогда не думал, что для создания своего сайта будет столько заморочек. Спасибо Сергей, что пишете замечательные статьи, в которых все понятно и доступно расписано, для создания сайта. Очень помогают!