Сегодня я проведу урок как сделать правильный Robots.txt для вашего сайта.
На самом деле этот вопрос по роботсу один из самых популярных среди начинающих сеошников, продвиженцев и интернет-маркетологов. Многие даже считают, что весь смысл продвижения сайта это именно в правильном заполнении robots.txt
Я могу вам ответственно заявить, что robots.txt не является основным фактором при продвижении сайта. По сути robots.txt служит для скрытия от индексирующего робота дублей страниц и ненужных страниц. Это обычно делается по умолчанию и какой то тут важнейшей роли не наблюдается.
Но чтобы вы никогда не сталкивались с подобной проблемой, я поясню что прописывать в роботсе для каждой поисковой системы и для каждого движка. Возьмите это в качестве матчасти и больше не возвращайтесь к данному вопросу.
Но вначале нужно изучить все команды которые поддерживает robots.txt и что это такое вообще.
Robots.txt это текстовый файл который находится в корневой директории сайта и указывает поисковым роботам какие инструкции на сайте нужно сделать. Обычно это инструкции к индексации, запрету индексации, неправильному зазеркаливанию некоторых страниц или разделов сайта.
Команды в robots.txt:
Disallow: / — блокирует доступ ко всему сайту
Disallow: /wp-admin — блокирует доступ к страницам начинающимся с wp-admin
Allow: / — разрешает доступ ко всему сайту
Allow: /wp-admin — разрешает доступ к страницам начинающимся с wp-admin
«*» — спецсимвол обозначающий любой набор символов. Обычно применяется при использовании директив Allow и Disallow.
Sitemap: — директива показывающая поисковому роботу где находится карта сайта. Запомнив один раз адрес карты сайта, в дальнейшем поисковый робот обращается по данному адресу. Пример использования: Sitemap: http://mysite.ru/site_structure/my_sitemaps1.xml
Host: — директива указывающая какое зеркало у ваших сайтов является Главным. Разумеется используется если у вашего сайта есть зеркала.
Это были основные команды. Переходим теперь к практике.
Правильный robots.txt для Яндекса
Обычно всё начинается с указания Юзерагента той поисковой системы для которой вы собираетесь что то прописать в роботсе. Вот юзерагенты Яндекса:
‘Yandex‘ — все роботы Яндекса
‘YandexBot‘ — основной индексирующий робот
‘YandexMedia‘ — робот, индексирующий мультимедийные данные;
‘YandexImages‘ — индексатор Яндекс.Картинок;
‘YandexCatalog‘ — «простукивалка» Яндекс.Каталога;
‘YandexDirect‘ — робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса;
‘YandexBlogs‘ — робот поиска по блогам, индексирующий комментарии постов;
‘YandexNews‘ — робот Яндекс.Новостей;
‘YandexPagechecker‘ — робот, обращающийся к странице при валидации микроразметки через форму «Валидатор микроразметки»;
Если вы обращаетесь ко всем поисковым роботам Яндекса, то просто в роботсе пишите:
User-agent: YandexBot
Если же вы хотите обратиться только какому то конкретному роботу, то пишите в юзерагенте его название. Вот например как нужно написать, чтобы обратиться к роботу Яндекс.картинок
User-agent: YandexImages
Для чего такое разделение? Ну может вы хотите, чтобы текстовый контент вашего сайта Яндекс индексировал, а картинки не индексировал. Может вы боитесь, что Яндекс проиндексировав ваши картинки отправит их в Яндекс.картинки. А оттуда их сможет скопировать любой желающий.
Но в общем то в большинстве случаев в качестве юзерагента используют только Yandex
Ну а после указания юзерагента всё просто. Указываем какие разделы или страницы нам нужно запретить, а какие разрешить. Вот пример:
___________________________________
User-agent: Yandex
Disallow: /?C=D;O=A
Disallow: /?pedofil
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
_________________________________
Расшифрую что мы делали:
Мы заблокировали доступ к страницам сайта роботам Яндекса начинающимся с:
‘?C=D;O=A’
‘/wp-admin’
‘cgi-bin’
…
Т.е. допустим страница сайта site.ru/wp-admin/refsfs не будет проиндексирована.
Запомните, в Интернете как в жизни — Всё что не запрещено, то разрешено. Аналогично и в Роботсе. Если мы чего то не запрещаем индексировать, значит оно разрешено для индексации.
Таким образом не нужно указывать Allow: для каких то разделов или каталогов. Достаточно запретить нужные, а остальные будут разрешены по умолчанию.
Немного отступления( Я в ВУЗе учился на математика. Как то мы сдавали экзамен по Ассемблеру. И вот сиди мы на экзамене. И достаётся одному парню задача. Он решает её по своему, а не как учили, пишет программу, но количество кода в ней в 2 раза больше, но РАБОТАЕТ ТАКЖЕ. Препод ставит ему неуд и говорит — представь если бы так сделал программу для ракеты, сколько лишнего кода нужно было. Вы учитесь на программистов и одна из ваших основных задач — Достижение простоты и модернизация, а не создание лишних барьеров
Аналогично и со всеми другими командами. Главное отличие при построении роботса для Яндекса это обращание к его юзера-агентам. Если же вы хотите обратиться сразу ко всем поисковым системам, то вместо названия Юзерагента ставите звёздочку ‘*’
Пример.
User-agent: * — обращению абсолютно ко всем поисковым системам
Вот такое обращение встречается в большинстве роботсов в Рунете.
Правильный robots.txt для Гугла
В Гугле как и в Яндексе существуют свои юзера-агенты. Вот их названия и характеристики:

Я думаю вы без труда поймёте какой юзера-агент и за что отвечает. Полная аналогия с Яндексом.
В большинстве случаев если хотят обратиться к Гуглу, то обращаются к основному индексирующему роботу:
User-agent: Googlebot
Ну а далее работают такие же команды как и для Яндекса.
Пример файла robots.txt для Гугла:
___________________________________
User-agent: Googlebot
Disallow: /?C=D;O=A
Disallow: /?pedofil
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
_________________________________
У многих возникнет вопрос — а есть ли какие то плюсы если я пропишу 2 раза одно и тоже для Яндекса и Гугла или же напишу одни раз без упоминания какого то поисковика?
Т.е. вот 2 разных роботса:
1 Вариант
______________________________
User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
User-agent: Googlebot
Disallow: /cgi-bin
Disallow: /wp-admin
______________________________
2 Вариант
____________________
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
______________________________
Как видите во втором случае мы не обращаемся к какой либо поисковой системе, а сразу пишем команды. Многим кажется, что обращаясь «лично» к поисковой системе мы таким образом «уважаем» поисковик и каждая поисковая система ранжирует сайт выше. Это полные выдумки и бред!!! Абсолютно одинаковый эффект. Более того, второй случай чище по коду, его просто там мало.
Робот заходит, считывает всё быстро и всё на этом. Чем меньше кода, тем лучше. Я рекомендую использовать второй вариант и не указывать юзерагенты.
Robots.txt для wordpress
Тут ничего мудрёного нет. Вордпрессс в отличие от джумблы не страдает проблемами с дублями. Привожу пример стандартного роботса для WordPress:
__________
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
___________
Можете по умолчанию запиливать его в свои вордпрессовские сайты.
Robots.txt для Битрикса
Публикую стандартный вариант для сайтов на движке Битрикса:
________________________
User-agent: *
Disallow: /bitrix/
Disallow: /upload/
Disallow: /search/
Allow: /search/map.php
Disallow: /club/search/
Disallow: /club/group/search/
Disallow: /club/forum/search/
Disallow: /communication/forum/search/
Disallow: /communication/blog/search.php
Disallow: /club/gallery/tags/
Disallow: /examples/my-components/
Disallow: /examples/download/download_private/
Disallow: /auth/
Disallow: /auth.php
Disallow: /personal/
Disallow: /communication/forum/user/
Disallow: /e-store/paid/detail.php
Disallow: /e-store/affiliates/
Disallow: /club/$
Disallow: /club/messages/
Disallow: /club/log/
Disallow: /content/board/my/
Disallow: /content/links/my/
Disallow: /*/search/
Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=yes
Disallow: /*forgot_password=yes
Disallow: /*change_password=yes
Disallow: /*login=yes
Disallow: /*logout=yes
Disallow: /*auth=yes
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*print_course=Y
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*index.php$
___________________________________
Robots txt для Joomla
Для сайтов на движке Joomla вот как выглядит стандартный robots.txt
_____________________
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/*
Disallow: /component/search/
Disallow: /component/content/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
_____________________________
Вообще Джумбла это такое УГ, которое не хочется вообще касаться. Там постоянно где то вылазиют дубли и всё сделано через Ж. Эти дубли страниц постоянно приходится запрещать в роботсе.
Основные ошибки при составлении robots.txt
Файл robots.txt пишется строчными буквами и не ЗАГЛАВНЫМИ. Вот так нельзя — Robots.txt
Несколько каталогов для одной инструкции не пишутся. Так нельзя — Disallow: /css/ /cgi-bin/ /images/
В директиве Host пишется имя домена, а не урл сайта. Так неправильно — Host: http://www.site.ru/
Лучший способ зазеркалить сайт с переводом на другой домен, это 301 редирект, а не robots.txt
Ну вот впринципе и всё. Каких то великий премудростей в прописывании роботса нет, всё делается стандартно. Если вдруг у вас где то вылезли на сайте дубли страниц, то просто запрещаете их в Роботсе.
Вопросы?
Небольшая ремарка сударь( с вашего позволения)
если хотите чтобы индексировались и изображения(например с джумлы)-а это тоже трафик( причем в некоторых случаях целевой)
необходимо убрать Disallow: /images/
Ответить »
admin Reply:
24 февраля, 2013 at 23:56
kasinoiv возможно для Джумлы так, может вы и правы. Я пытаюсь в Джумлу не лезть.
Ответить »
страницы навигации порождают дубли, почему не закрываете в примерах? page больная тема для вордпресс.
Ответить »
admin Reply:
24 февраля, 2013 at 23:58
guz, я тебя понял. Сейчас поясню. Там основная трабла не в страницах навигации, а в тайттлах на этих страницах. Тайтл каждой страницы должен быть пронумерован и быть уникальным. Вот пример: страница 2, страница 3.
т.е. страницы должны различаться хотя бы на один символ.
Ответить »
И еще момент: директиву sitemap тоже желательно дописать в robots.
Ответить »
admin Reply:
25 февраля, 2013 at 09:18
Максим, карта сайта вообще никак не влияет на продвижение сайта. Вообще нуль. Поэтому нет смысла её добавлять в роботс.
Ответить »
Арб, поставил бы ссылки на хелпы поисковиков для полноты картины. Там есть не сразу очевидные моменты, вроде совместного использования директив. Все в одной заметке рассматривать долго и бесполезно, конечно, но в посте совсем очевидное и выход на более подробную информацию был бы в тему. За дефолтные роботы спасибо.
Ответить »
Вопросов нет. Хотел бы сказать, ну опять робот… Да сколько можно!
Но когда начал читать — передумал. Уж не знаю, что еще может быть не ясно.
И с тем, что гуглам и яндексам пофиг на этот файл — согласен. Это просто как еще один плюсик в пользу репутации сайта (типа за сайтом смотрят…)
Ответить »
А можно с помощью роботса нейтрализовать ссылки в футере? У меня там закодированные ссылки, без которых тема не работает, но как-нибудь избавиться от них хотелось бы. Можно заблокировать футер?
Ответить »
admin Reply:
25 февраля, 2013 at 22:10
Анастасия, нет нельзя
Ответить »
Хороший пост для новичков в закладки. Особо улыбнуло — Disallow: /?pedofil 🙂
Ответить »
Повторение не когда не помешает, спасибо))
Ответить »
А если закрыть Disallow: /?pedofil — это как-то защитит от педофилов или что? :confused:
Ответить »
@А если закрыть Disallow: /?pedofil – это как-то защитит от педофилов или что?@
От этих нехороших людей вас это точно не защитит, но запретить индексацию страниц, у которых урлы начинаются с /?pedofil , поможет
Ответить »
Во многом на корню не согласен с Автором!
«Я могу вам ответственно заявить, что robots.txt не является основным фактором при продвижении сайта»
Имхо, глупости! роботс позволяет скрыть от индекса то лишнее, которое может повлиять на дальнейшее ранжирование ресурса в поисковиках, например, дубли контента.
На счет всех cms не в курсе, но насчет этого — «Вордпрессс в отличие от джумблы не страдает проблемами с дублями»…до слез
ваш роботс.тхт для вордпресса открывает все дубли — категории, тэги, авторы
Кому интересно, вот инструкция для чайников по составлению для вордпресса:
Пример приведу:
http://blogarbik.ru/?p=4241
http://blogarbik.ru/?cat=14
http://blogarbik.ru/?cat=17
http://blogarbik.ru/?cat=4
вот именно эта статья доступна с главной и с
и все это в индексе гугла
«Вордпрессс в отличие от джумлы не страдает проблемами с дублями». =)))))
Ответить »
admin Reply:
27 февраля, 2013 at 13:20
Даже не хочу объяснять. Если там дубли контента, что же с сайтом блогом всё хорошо? Ведь он должен быт в бане?
Ответить »
Бан за такое не дадут, тем более дублируется на территории одного ресурса, но если закрыть дубли, то можно улучшить ранжирование сайта.
лучше выводить анонсы на морде блога, чтобы быстрее проиндексировались новые посты, при этом анонсы должны иметь 0% совпадений с самим постом, чтобы текст морды имел уникальность 100%, если интересно
Поймите правильно, если сайты в топе, у которых ноль внутренней оптимизации, зато 100500 бэков. и чтобы их обойти, достаточно иметь отличную оптимизацию + несколько качественных бэклинков.
У меня опыт вывода некоторых ВЧ (1-3млн на выдаче) в топ 10 чисто внутренней оптимизацией, так что мои советы не голословны
Ответить »
admin Reply:
27 февраля, 2013 at 13:51
Павел, не улучшаться позиции сайта я проверял. А ты не выдумывай не спамь. На 95% сайтов на Вордпресс подомная структура и все прекрасно живут.
Ответить »
Интересная статья.
Особенно понравилось то что вы затронули особенности некоторых CMS
Если не тяжело расскажите немного о OpenCart
Заранее спасибо))
Ответить »
User-agent: *
Disallow: /
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat/
Disallow: /search/
Disallow: /shop/order
Disallow: /?ssid= Мой сайт яндекс написал,что у моего сайта неправильный робот
Ответить »
Ну так ты закрыл от индексации свой сайт второй строчкой, конечно неправильный
Ответить »
Арбайтен Reply:
5 июня, 2014 at 19:41
Где я закрыл?
Ответить »
Тем не менее, достигнутый результат остается надолго, а органический рост посетителей на сайт не прекратится, как это случится в случае остановки рекламной кампании. Перед тем, как начать продвижение сайта, нужно составить подробный план и действовать в соответствие с ним, а также продумать аспекты, важные для продвижения сайта.
Ответить »
Ирина Reply:
25 декабря, 2015 at 14:36
Скажите, а что значит:
Disallow: *?
Запрещает всё перед вопросом?
У меня на сайте, если через поисковую строку заходить, после урла товара отображаются такие бракозябры ?sphrase_id=
Хочу запретить их от индексации, но не знаю как, подскажите пожалуйста.. а может они и так запрещены…я новичок в этом деле. Вот такой у меня роботс:
User-Agent: *
Allow: /bitrix/templates/
Allow: /bitrix/css/
Allow: /bitrix/js/
Disallow: /bitrix/
Disallow: /upload/iblock/
Disallow: /search/
Disallow: /club/
Disallow: /communication/forum/search/
Disallow: /communication/blog/search.php
Disallow: /examples/my-components/
Disallow: /examples/download/download_private/
Disallow: /auth/
Disallow: /auth.php
Disallow: /personal/
Disallow: /communication/forum/user/
Disallow: /e-store/paid/detail.php
Disallow: /e-store/affiliates/
Disallow: /content/board/my/
Disallow: /content/links/my/
Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=yes
Disallow: /*forgot_password=yes
Disallow: /*change_password=yes
Disallow: /*login=yes
Disallow: /*logout=yes
Disallow: /*auth=yes
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*print_course=Y
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*index.php$
Disallow: */index.php
Ответить »
А /wp-comments тоже нужно блокировать? Видел, что у некоторых она в роботс присутствует у некоторых нет, так её нужно блокировать или нет?
Ответить »
Игорь Reply:
24 февраля, 2017 at 13:41
И ещё есть какая-то разница между wp-comments и просто */comments ?
Ответить »
Добрый день!
у меня есть сайт А (старый) и сайт Б (новый)на одну тему.
Как сделать временный перевод всех клиентов с сайта А на сайт Б, чтобы сайт А не потерял позиций в поиске?
На сайте А сделаю чуть позже ре-дизайн, а пока, чтобы не терять клиентов и продвигать сайт Б- желательно сделать так…
Ответить »
Добрый день!
клиент в Robots.txt прописал:
Disallow: mebelintorg.ru/index.php
Вопрос: правильно ли сделал клиент? РАзве такой записью клиент не блокирует индексацию главной страницы сайта?
Ответить »