Что прописывать в robots txt. Как редактировать файл robots txt

Если вы читаете эту статью - у вас проблема в написании правильного robots.txt. Возможно вы знакомы с основами, видели несколько таких инструкцией для поисковых устройств, знаете принцип составления или же вовсе имеете богатый опыт составления этого файла. Прочитать статью будет полезно и интересно всем. Сегодня мы рассмотрим правила, ошибки и "хороший тон" составления правильного robots, а так же его коррекцию при использовании популярных CMS. Речь не пойдет об основах. Все элементарные правила создания и корректировки роботс должен знать каждый. А если вы не знаете их, то вам прямая дорога сначала в Помощь Яндекса , где подробно прочитаете как создать robots.txt.

Так же, если вы ищите как настроить файл robots.txt для переезда с HTTP на HTTPS, то вам сюда - Настройка SSL сертификата

Итак, поехали!

Роботов можно разделить на два отряда: "пауки" и "дятлы".

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

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

Ошибки составления robots.txt для сайта, которые мы встречали

Перепутанные инструкции

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

User-agent: /
Disallow: Yandex

Всем же, надеюсь, известно что правильно писать так:

User-agent: Yandex
Disallow: /

Указание нескольких правил в одной инструкции

Так же мне улыбнулась удача увидеть в своей жизни данное безобразие:

Disallow: /wp-admin/ /wp-includes/ /wp-feed/

В таком случае не понятно как поведет себя тот или иной робот поисковой системы. Один может воспринять данное правило вместе - Disallow: /wp-admin/wp-includes/wp-feed/ , другой взять первое правило (/wp-admin/) или последнее (/wp-feed/), а какой то вовсе не воспримет данную строку. Поэтому не рискуем и пишем правила построчно, в отдельных инструкциях:

Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-feed/

Ошибки в названии файла

Так же на моем веку встречались и совсем экзотичные случаи. Захотел я посмотреть роботс сайта, ввел в строку http://сайт.ru/robots.txt , а мне в ответ кукиш! "Наверное нет файла" - подумал я. Но когда залез в структуру сайта был шокирован! Встречались разные варианты написания:

  • R obots.txt (с заглавной буквы);
  • robot.txt (без s );
  • ROBOTS.TXT (!КАПСОМ!).

Правильно писать естественно "robots.txt".

Пустое значение в User-agent

Очень часто на недоработанных сайтах встречалась следующая конструкция:

User-agent:
Disallow:

Для кого она? Не понятно. Единственное из этого понятно, что данный посыл не дошел ни до одного робота. Правильно вписывать имя робота, для кого назначены ниже перечисленные инструкции:

User-agent: Googlebot
Disallow:

Взаимодействия инструкций Disallow и Allow

Очень часто вижу ошибочное написание разрешающих и запрещающих инструкций:

User-agent: Yandex
Disallow: /admin/
Disallow: /tools/
Allow: /kartinki/

Сначала, сразу же после User-agent должны быть правила разрешающие проход роботу, а уже после всех инструкций Allow должны следовать Disallow:

User-agent: Yandex
Allow: /kartinki/
Disallow: /admin/
Disallow: /tools/

Требование к составлению директивы Host

Некоторые копируют URL сайта и бессовестно, не глядя, вставляют его в директиву Host вместе с http:

Серьезная ошибка! Указывать протокол HTTP не нужно . А вот защищенный протокол HTTPS в robots.txt необходим, т.к. показывает роботу как правильно нужно позиционировать ресурс:

Так же не стоит запихивать в роботс.тхт несколько директив Host. Он всё равно прочитает и воспримет только первую. Так что размещаем Host в секции Yandex после всех правил:

User-agent: Yandex
Disallow: /admin/
Disallow: /tools/
Host: сайт

Запомните: директивы файла robots.txt, которые неправильно составлены - игнорируются! Например:

  • Host: www.-вашресурс.ru
  • Host: www.вашресурс-.ru
  • Host: www.вашресурс.ru:100000
  • Host: www.ваш_ресурс.ru
  • Host: .ваш-ресурс.ru:8000
  • Host: ваш..ресурс.ru
  • Host: ваш-ресурс.ru.
  • Host: 215.160.195.128
  • Host: www.вашресурс.ru:8080/
  • Host: www.первыйресурс.ru www.второйресурс.ru
  • Host: www.первыйресурс.ru,www.второйресурс.ru

Хороший тон создания файла robots.txt

В этом пункте мы рассмотрим "плохой стиль" создания robots.txt. У каждого кода или разметки есть свои негласные или прописанные правила, которым мало кто следует, из чего могут вытекать плачевные последствия. В случае с файлом запрета индексации могут возникнуть недопонимания робота поисковика с файлом или новый (следующий) программист проекта может не понять или долго разбираться в написанном. По этому избегаем следующих неприятных недоразумений.

Комментарий на одной строчке с правилами и инструкциями

Вообще такая запись возможна, но не желательна:

Disallow: /admin/ #запрещаем роботам индексировать каталог admin

Раньше некоторые системы не понимали таких строк. Сейчас, я думаю, поисковики адаптировались ко многим неприятностям, которые вытворяют веб-мастера, но лучше не рисковать и писать комментарий на новой строке.

Редирект страницы на 404-ю ошибку:

Бывают ситуации, при разработке свежего проекта, программист забывает про файл robots и при обращении "паука" к сайту, а это непременно произойдет без этого файла, ресурс переадресует его на другую страницу. Бывает что такой своеобразный редирект происходит без отдачи 404 Not Found. Чтобы этого избежать, советую положить в корень сайта правильный файл robots.txt. А ещё желательно не полениться и написать в нем:

User-agent: *
Disallow:

Это открытый роботс.тхт. Если нужно закрыть сайт от индексации на момент разработки или сложившихся ситуаций, то естественно применяем:

User-agent: *
Disallow: /

Заглавные буквы в инструкциях

USER-AGENT: YANDEX
DISALLOW: /ADMIN/

Тут без комментариев. Просто будьте людьми! Пишите правильно:

User-agent: Yandex
Disallow: /admin/

Перечисление всех файлов одного каталога

Встречал иногда, когда делал оптимизацию, примерно следующую конструкцию:

User-agent: Yandex
Disallow: /admin/backup/
Disallow: /admin/cache/
Disallow: /admin/components/
Disallow: /admin/modules/
Disallow: /admin/themes/
Disallow: /admin/wizards/

И таким образом прошлый программист закрыл все папки вложенности Admin. Хотя было достаточно написать просто:

User-agent: Yandex
Disallow: /admin/

Если уж нужно открыть какие то каталоги внутри закрываемой папки, то таким методом:

User-agent: Yandex
Allow: /admin/css/
Allow: /admin/images/
Disallow: /admin/

Написание дополнительных директив в секции

Некоторое время в нашей компании велись споры: где располагать директиву Host? В какой секции: в общей или после всех правил в конце файла? Наши сотрудники ходили на квалифицированные курсы в Unibrains, Топ Эксперт и т.д., приносили разные знания и видения этого вопроса. Такое чувство, что никто не знал как составить robots.txt и где правильнее написать эту директиву. На самом деле некоторые роботы могут неверно отреагировать на использование дополнительных директив, а это значит, что не стоит писать их в секции * - (для всех). Пишите Host в секции для робота Яндекса:

User-agent: Yandex
Disallow: /admin/
Host: сайт
User-agent: *
Disallow: /admin/

Отсутствие инструкции Disallow

Данная инструкция является обязательной и из-за её отсутствия робот может неправильно понять вас понять.

User-agent: Yandex
Host: сайт

Пишем правильно:

User-agent: Yandex
Disallow: /wp-admin/
Host: сайт

Отсутствие слешей при указании директории

Я провел эксперимент, чтобы показать, что отсутствие слешей в инструкции воспринимается роботом как ошибка.

Если хотим что то закрыть, пишем правило только со слешами!

User-agent: Yandex
Disallow: / blog/

Как и где прописать секцию Sitemap в robots

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

User-agent: * ...
Disallow: /poslednee-pravilo/
Sitemap: http://mysite.ru/sitemap.xml

Возможности robots.txt которые многие не используют

В этом пункте мы рассмотрим фишки и дополнительные команды для файла robots.txt, которые мало используют веб-мастера, оптимизаторы и программисты. Я не буду здесь разжевывать возможности Crawl-delay, Clean-param и других директив и правил, которые итак есть в help.yandex.

Взаимодействие обычных страниц и страниц для Google AdWords

Если вы хотите повесить на некоторые свои страницы интернет рекламу от Google, но не хотите чтобы эти страницы были в индексе Google, следует использовать агент Mediapartners-Google. Для этого блокируем страницы в для Google и открываем их (или весь сайт) для рекламы:

User-agent: Googlebot
Disallow: /admin/
Disallow: /search/
User-agent: Mediapartners-Google
Allow: /reklamnaya-stranica/

Но помним, что секция Mediapartners-Google должна находится после всех агентов включая "*" - для всех. Иначе получится что сначала вы разрешите боту пройти по данным страницам, а потом запретите и в итоге он ничего не сделает.

Взаимодействие обычных страниц и страниц для Яндекс Директа

Тоже самое что и с Google AdWords. Закрываем не нужное и открываем нужное для рекламы в агенте YaDirectBot:

User-agent: *
Disallow: /admin/
Disallow: /search/
Disallow: /reklamnaya-stranica/
User-agent: YaDirectBot
Allow: /reklamnaya-stranica/

Опять же не забываем размещать эту секцию ниже всех! Можно размещать YaDirectBot и Mediapartners-Google вместе снизу, перед инструкцией для Sitemap.

Открываем изображения для индексации в Яндекс Картинках и Google Images

Для того, чтобы ваши картинки на сайте попали в базы изображений Яндекса и Google, прописываем следующие агенты:

User-agent: Googlebot-Image
Allow: /themes/images/
User-agent: YandexImages
Allow: /themes/images/

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

Закрыть от индексации часть текста

Для начала хочу обратить внимание, что этот метод работает только в Яндексе и Рамблере! Гуглу этот тег до лампочки! Noindex - тег, который закрывает необходимую часть контента от индексации роботом. Он аналогичен мета-тегу noindex, но призван использоваться только в тексте. Обычно им закрывают от индексации счетчики.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus convallis viverra diam sed pretium. Nam ut orci ut arcu ornare pretium ut a diam. Nunc ac tempus augue. Morbi in molestie massa. In hac habitasse platea dictumst. In quis maximus libero. Ut varius dolor et justo hendrerit mollis. Vivamus at semper mi, et hendrerit lacus. Pellentesque quis mollis felis. Etiam eu hendrerit libero.

Тег noindex не валиден и при проверке валидатором отдает ошибку. Для того, чтобы он проходил проверку маскируем его под комментарий... . Такой метод работает!

Дмитрий Семенов

lockki.ru , независимый эксперт

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

10 правил составления файла robots.txt от Дмитрия

  1. Файл должен называться robots.txt и никак иначе.
  2. Лежать он должен в корне сайта, т.е. vashsite.ru/robots.txt
  3. Закрывайте все технические разделы: плагины, админку и т.п.
  4. Правила пишутся отдельно для каждого робота,т.е. в директиве User Agent только 1 робот и никаких перечислений.
  5. Если хотите назначить правила для всех роботов, то User-agent: *
  6. Host пишется только один раз и только для Яндекса, это User-agent: Yandex
  7. 1 директива = 1 значение, т.е. Disallow: /admin, и никаких Disallow: /admin /manage и т.п. в одной строчке.
  8. Disallow блокирует доступ, Allow разрешает доступ.
  9. Не закрывайте картинки от индексации.
  10. Закрывайте дубликаты основных страниц, которые формируются вашей CMS.

Виталий Кравченко

Руководитель агентства Webline Promotion , опытный оптимизатор и интернет-маркетолог, любитель экспериментов и опытов

На что нужно обратить внимание при составлении файла robots.txt

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

Из своего опыта могу отметить некий алгоритм:

  1. Определяем статические функциональные страницы (админ-панель, корзины, страницы входа, страница напоминания пароля и.т.п.) – формируем список.
  2. Определяем динамические и типовые мусорные страницы (страницы печати, страницы сравнения, непродвигаемые наборы фильтров и.т.п.).
  3. Определяем папки с файлами и изображениями, которые не должны индексироваться.
  4. Формируем файл Robots.txt
При правильной подготовке данного файла вы получаете хорошую индексацию, правильное восприятие сайта роботами, правильное распределение веса и, конечно же, при дальнейших работах позиции и трафик на нужные нам страницы.

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

Что такое Robots.txt?

Robots.txt - текстовый файл на сайте, содержащий инструкции для роботов какие страницы разрешены для индексации, а какие нет. Но это не является прямыми указаниями для поисковых машин, скорее инструкции несут рекомендательный характер, например, как пишет Google, если на сайт есть внешние ссылки, то страница будет проиндексирована.

На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.

Что следует закрывать от индексации:

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

Как создать и добавить Robots.txt на сайт?

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

Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt

Синтаксис файла robots.txt

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

Директива User-agent

С помощью данной директивы можно указать для какого робота поисковой системы будут заданы нижеследующие рекомендации. Файл роботс должен начинаться с этой директивы. Всего официально во всемирной паутине таких роботов 302. Но если не хочется их все перечислять, то можно воспользоваться следующей строчкой:

Где * является спецсимволом для обозначения любого робота.

Список популярных поисковых роботов:

  • Googlebot — основной робот Google;
  • YandexBot — основной индексирующий робот;
  • Googlebot-Image — робот картинок;
  • YandexImages — робот индексации Яндекс.Картинок;
  • Yandex Metrika — робот Яндекс.Метрики;
  • Yandex Market— робот Яндекс.Маркета;
  • Googlebot-Mobile —индексатор мобильной версии.

Директивы Disallow и Allow

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

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

Disallow: /site/

В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/

Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / - это закроет весь сайт от индексации.

  • Для запрета папки сайта следует указать следующее:
    Disallow: /folder/
  • Для запрета только одного файла нужно написать:
    Disallow: /folder/img.jpg
  • Если нужно запретить файлы только определенного разрешения:
    Disallow: /*.css$
  • Allow напротив является разрешающей инструкцией для индексации.
    User-agent: *
    Allow: /site
    Disallow: /

    Такая инструкция запрещает индексировать весь сайт, за исключением папки site.

Директива Sitemap

Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:

User-agent: *
Disallow: /site/
Allow: /
Sitemap : http://site.com/sitemap1.xml
Sitemap : http://site.com/sitemap2.xml

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

Директива Host

Host является инструкцией непосредственно для робота Яндекса для указания главного зеркала сайта. Данная директива необходима в том случае, если у сайта есть несколько доменов, по которым он доступен. Указывать Host необходимо в секции для роботов Яндекса:

User-agent: Yandex
Disallow: /site/
Host : site.ru

Примечание: Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.

В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.

Директива Clean-param

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

Директива Clean-param имеет следующий синтаксис:

Clean-param : p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]

Рассмотрим пример, на сайте есть динамические страницы:

  • https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
  • https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7

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

Clean-param : kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param : kol_from1&price_to2&pcolor / # для всех страниц сайта

Директива Crawl-delay

Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.

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

Пример использования директивы Crawl-delay:

User-agent: *
Disallow: /site
Crawl-delay : 4

Особенности файла Robots.txt

  • Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
  • Перед директивой не должно быть указано каких-либо других символов (в том числе пробела )
  • Параметры директив необходимо указывать в одну строку
  • Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
  • Параметры не нужно указывать в кавычках или других символах
  • После директив не следует указывать “;”
  • Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
  • В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
  • Robots.txt нечувствителен к регистру
  • Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
  • В директивах «Allow», «Disallow» можно указывать только 1 параметр
  • В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
  • Использование кириллицы в роботс не допускаются

Спецсимволы robots.txt

При указании параметров в директивах Disallow и Allow разрешается использовать специальные символы * и $, чтобы задавать регулярные выражения. Символ * означает любую последовательность символов (даже пустую).

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

User-agent: *
Disallow: /store/* .php # запрещает "/store/ex.php" и "/store/test/ex1.php"
Disallow: /* tpl # запрещает не только "/tpl", но и "/tpl/user"

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

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

User-agent: *
Disallow: /site$ # запрещено для индексации "/site", но не запрещено"/ex.css"
User-agent: *
Disallow: /site # запрещено для индексации и "/site", и "/site.css"
User-agent: *
Disallow: /site$ # запрещен к индексации только "/site"
Disallow: /site*$ # так же, как "Disallow: /site" запрещает и /site.css и /site

Особенности настройки robots.txt для Яндекса

Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:

User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com

В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).

Особенности настройки robots.txt для Google

Для Google особенность лишь состоит в том, что сама компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. В таком случае, робот примет такой вид:

User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *.js
Host: www.site.com

С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.

Проверка правильности настройки роботс

Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера :


Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:


Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:


Но данный инструмент доступен только в том случае, если сайт добавлен в панель Вебмастера Google.

Заключение

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

Пример настройки роботс для WordPress

Правильный robots.txt для Wordpress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):

User-agent: Yandex



Host: www.site.ru

User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *.css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами

User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати


Sitemap: http://site.ru/sitemap1.xml

Пример настройки роботс для Bitrix

Если сайт работает на движке Битрикс, то могут возникнуть такие проблемы:

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

Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots.txt для CMS 1C-Bitrix:

User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru

User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/

User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo.png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

Пример настройки роботс для OpenCart

Правильный robots.txt для OpenCart должен быть составлен таким образом:

User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=


Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site.ru

User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
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: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
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: /*&page=
Disallow: /wishlist
Disallow: /login

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

Пример настройки роботс для Umi.CMS

Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):

User-Agent: Yandex
Disallow: /?
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru

User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js

User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs

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

Пример настройки роботс для Joomla

Правильный robots.txt для Джумлы должен быть составлен таким образом:

User-agent: Yandex
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/
Host: www.site.ru

User-agent: Googlebot
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

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/

Sitemap: http://www.site.ru/sitemap.xml

Robots.txt - это текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем.

Яндекс поддерживает следующие директивы:

Директива Что делает
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Директива Что делает
User-agent * Указывает на робота, для которого действуют перечисленные в robots.txt правила.
Disallow Запрещает индексирование разделов или отдельных страниц сайта.
Sitemap Указывает путь к файлу Sitemap , который размещен на сайте.
Clean-param Указывает роботу, что URL страницы содержит параметры (например, UTM-метки), которые не нужно учитывать при индексировании.
Allow Разрешает индексирование разделов или отдельных страниц сайта.
Crawl-delay Задает роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

* Обязательная директива.

Наиболее часто вам могут понадобиться директивы Disallow, Sitemap и Clean-param. Например:

User-agent: * #указываем, для каких роботов установлены директивы\nDisallow: /bin/ # запрещает ссылки из \"Корзины с товарами\".\nDisallow: /search/ # запрещает ссылки страниц встроенного на сайте поиска\nDisallow: /admin/ # запрещает ссылки из панели администратора\nSitemap: http://example.com/sitemap # указываем роботу на файл sitemap для сайта\nClean-param: ref /some_dir/get_book.pl

Роботы других поисковых систем и сервисов могут иначе интерпретировать эти директивы.

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

Использование кириллицы

Использование кириллицы запрещено в файле robots.txt и HTTP-заголовках сервера.

Для указания имен доменов используйте Punycode . Адреса страниц указывайте в кодировке, соответствующей кодировке текущей структуры сайта.

Пример файла robots.txt :

#Неверно:\nUser-agent: Yandex\nDisallow: /корзина\n\n#Верно:\nUser-agent: Yandex\nDisallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0

Как создать robots.txt

Вопросы и ответы

В Яндекс.Вебмастере на странице «Диагностика сайта» возникает ошибка «Сервер отвечает редиректом на запрос /robots.txt»

Чтобы файл robots.txt учитывался роботом, он должен находиться в корневом каталоге сайта и отвечать кодом HTTP 200. Индексирующий робот не поддерживает использование файлов, расположенных на других сайтах.

Проверить ответ сервера и доступность файла robots.txt для робота можно с помощью инструмента Проверка ответа сервера .

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

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

Содержание:


Что такое robots txt

В одной из наших прошлых статей мы рассказывали и том, как работают поисковые роботы. Файл robots txt даёт инструкции поисковым роботам, о том, как правильно индексировать ваш сайт. С помощью директив вы можете, например, указать роботу какие страницы или директории следует индексировать, а какие нет, сформировать группу зеркал для вашего сайта(если они у вас есть), указать путь к файлу sitemap и так далее. В основном его используют именно для запрета индексации определённых страниц сайта.

Как создать правильный robots txt

В любом текстовом редакторе создайте файл с именем robots txt. Затем, используя директивы описанные ниже, укажите роботу на страницы сайта, которые надо добавить или же наоборот убрать из поисковой выдачи. После того, как вы создали файл, проверьте его на наличие ошибок с помощью Яндекс вебмастера или Google Search Console.

Готовый файл поместите в корневой каталог вашего сайта(там, где находится файл index.html).


Директива User-agent

Это своеобразное приветствие поисковых роботов.

Строка "User-agent:*" Скажет, что все поисковые роботы могут использовать инструкции, содержащиеся в этом файле. А, например, строка "User-agent: Yandex" даст инструкции только для поискового робота яндекса. Примеры использования указаны ниже. Также у поисковых систем есть вспомогательные роботы для разных категорий. Например, YandexNews и Googlebot-News - это роботы для работы с новостями.


Директивы Allow и Disallow

С помощью директивы Disallow вы указываете какие страницы или каталоги сайта запрещено индексировать. А с помощью директивы Allow, соответственно, можно.

Примеры:
User-agent:*
Disallow: /
Allow:/catalog /

Такая запись сообщит всем поисковым роботам, что из всего сайта им можно индексировать только директорию catalog.

Кстати, символ # предназначен для описания комментариев. Все, что находится после этого символа и до конца строки не учитывается.

А вот пример robots txt с указанием индивидуальных инструкций для разных поисковиков:

#разрешает роботу индексировать весь сайт, кроме раздела с велосипедами
User-agent:*
Disallow: /велосипеды /

#запрещает роботу индексировать сайт, кроме раздела с лодками
User-agent: Googlebot
Allow: /лодки /
Disallow:/

#запретит всем остальным поисковым системам индексировать сайт
User-agent: *
Disallow: /

Обратите внимание , что между директивами User-agent, Allow и Disallow не может быть пустых строк!


Спецсимволы * и $

В директивах allow и Disallow можно использовать спецсимволы * и $, чтобы задавать регулярные выражения. *-выбирает указанную последовательность

Например: #Запрещает роботам индексировать все страницы, url которых содержит private
User-agent:*
Disallow: /*private

По умолчанию в конце каждого правила необходимо прописать спецсимвол *. А чтобы отменить * в конце правила используется символ $.

Например: # запрещает "/lock"
# но не запрещает "/lock.html"
User-agent:*
Disallow: /lock$
# запрещает и "/lock"
# и "/lock.html"
User-agent:*
Disallow: /lock

Спецсимвол $ не запрещает указанный * на конце, то есть:

User-agent:*
Disallow: /lock$ # запрещает только "/lock"
Disallow: /lock*$ # так же, как "Disallow: /lock"
# запрещает и /lock.html и /lock


Директива sitemap

Если вы используете карту сайта sitemap, то используйте директиву sitemap и в ней укажите путь к одному(или нескольким файлам).

User-agent:*
sitemap:https://site.com/sitemap.xml


Директива Host

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

Пример:

#указываем главное зеркало сайта

User-Agent: Yandex
Disallow:/mg-admin
Host: https://www.zerkalo.ru

Примечание . Эта директива используется исключительно для Яндекса! + Для каждого файла robots.txt обрабатывается только одна директива Host. Если в файле указано несколько директив, робот использует первую.

Директива Host должна содержать:

  1. Протокол HTTPS, если зеркало доступно только по защищенному каналу. Если вы используете протокол HTTP, то его указывать необязательно.
  2. Одно корректное доменное имя, соответствующего RFC 952 и не являющегося IP-адресом.
  3. Номер порта, если необходимо (Host: myhost.ru:8080).


Можно ли использовать кириллицу в robots txt?

Нет, использовать кириллицу нельзя. Для указания имен доменов на кириллице используйте, например, этот сервис .


Настройка robots txt MogutaCMS

В MogutaCMS заполнять robots.txt не требуется, т.к. он заполняется автоматически при установке движка.

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

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

Robots.txt для WordPress

А зачем, собственно говоря, нужен robots.txt? Ответ все тот же – . То есть составление robots.txt – это одно из частей поисковой оптимизации сайта (кстати, очень скоро будет урок, который будет посвящен всей внутренней оптимизации сайта на WordPress. Поэтому не забудьте подписаться на RSS , чтобы не пропустить интересные материалы.).

Одна из функций данного файла – запрет индексации ненужных страниц сайта. Также в нем задается адрес и прописывается главное зеркало сайта (сайт с www или без www).

Примечание: для поисковых систем один и тот же сайт с www и без www совсем абсолютно разные сайты. Но, поняв, что содержимое этих сайтов одинаковое, поисковики “склеивают” их. Поэтому важно прописать главное зеркало сайта в robots.txt. Чтобы узнать, какое главное (с www или без www), просто наберите адрес своего сайта в браузере, к примеру, с www, если Вас автоматически перебросит на тот же сайт без www, значит главное зеркало Вашего сайта без www. Надеюсь правильно объяснил.

Было:

Стало (после перехода на сайт, www автоматически удалились, и сайт стал без www):

Так вот, этот заветный, по-моему, правильный robots.txt для WordPress Вы можете увидеть ниже.

Правильный для WordPress

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes

Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: сайт
Sitemap: https://сайт/sitemap.xml.gz
Sitemap: https://сайт/sitemap.xml

Все что дано выше, Вам нужно скопировать в текстовой документ с расширением.txt, то есть, чтобы название файла было robots.txt. Данный текстовой документ Вы можете создать, к примеру, с помощью программы . Только, не забудьте, пожалуйста, изменить в последних трех строчках адрес на адрес своего сайта. Файл robots.txt должен располагаться в корне блога, то есть в той же папке, где находятся папки wp-content, wp-admin и др. .

Те, кому же лень создавать данный текстовой файл, можете просто и также там подкорректировать 3 строчки.

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

Итак, строка:

User-agent

задает правила для какого-то поисковика: к примеру “*” (звездочкой) отмечено, что правила для всех поисковиков, а то, что ниже

User-agent: Yandex

означает, что данные правила только для Яндекса.

Disallow
Здесь же Вы “засовываете” разделы, которые НЕ нужно индексировать поисковикам. К примеру, на странице у меня идет дубль статей (повторение) с обычными статьями, а дублирование страниц отрицательно сказывается на поисковом продвижении, поэтому, крайне желательно, данные секторы нужно закрыть от индексации, что мы и делаем с помощью этого правила:

Disallow: /tag

Так вот, в том robots.txt, который дан выше, от индексации закрыты почти все ненужные разделы сайта на WordPress, то есть просто оставьте все как есть.

Host

Здесь мы задаем главное зеркало сайта, о котором я рассказывал чуть выше.

Sitemap

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

Возможные проблемы

Заходим в раздел Настройки индексирования –> Анализ robots.txt:

Уже там нажимаете на кнопку “Загрузить robots.txt с сайта”, а затем нажимаете на кнопку “Проверить”:

Если Вы увидите примерно следующее сообщение, значит у Вас правильный robots.txt для Яндекса:

Также Вы можете в “Список URL” добавить адрес любой статьи сайта, чтобы проверить не запрещает ли robots.txt индексирование данной страницы:

Как видите, никакого запрета на индексирование страницы со стороны robots.txt мы не видим, значит все в порядке:).

Надеюсь больше вопросов, типа: как составить robots.txt или как сделать правильным данный файл у Вас не возникнет. В этом уроке я постарался показать Вам правильный пример robots.txt :

До скорой встречи!

P.s. Совсем недавно я , что же интересного произошло? 🙂




Top