Сделать файл robots txt. Роботы яндекса

/ Просм: 21953

Здравствуйте уважаемые друзья ! Проверка robots.txt также важна, как и его правильное составление.

Проверка файла robots.txt в панели Yandex и Google Webmasters.

Проверка robots.txt, почему важно проверить?

Рано или поздно каждый уважающий себя автор сайта вспоминает про файл robots . Про этот файл, размещаемый в корне сайта, написано в интернете предостаточно. Почти у каждого вебмастера есть на сайте про актуальность и правильность составления его. Я же в этой статье напомню начинающим блоггерам как проверить его с помощью инструментов в панели вебмастера, предоставляемые Yandex и Google.

Для начала немного о нем. Файл Robots.txt (иногда ошибочно называемый robot.txt, в единственном числе, внимание английская буква s в конце обязательна) создается веб-мастерам, чтобы отметить или запретить те или иные файлы и папки веб-сайта, для поисковых пауков (а также других типов роботов). Т. е. те файлы, к которым робот поисковика не должен иметь доступ.

Проверка robots.txt является для автора сайта обязательным атрибутом при создании блога на WordPress и его дальнейшем продвижении. Многие вебмастера также обязательно просматривают страниц проекта. Анализ дает понять роботам правильный синтаксис, чтобы убедиться, в его действительном формате. Дело в том, что существует установленный Стандарт исключений для роботов. Будет не лишним узнать мнение самих поисковиков, читайте документацию, в ней поисковые системы подробно излагают свое видение насчет этого файла.

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

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

Sitemap: http: // ваш сайт/sitemap.xml

User-agent: Googlebot-Image

# Google AdSense

User-agent: Mediapartners-Google*

User-agent: duggmirror

Disallow: /cgi-bin/

Disallow: /wp-admin/

Disallow: /wp-includes/

Disallow: /wp-content/plugins/

Disallow: /wp-content/cache/

Disallow: /wp-content/themes/

Disallow: /trackback/

Disallow: /feed/

Disallow: /comments/

Disallow: /category/*/*

Disallow: */trackback/

Disallow: */feed/

Disallow: */comments/

Allow: /wp-content/uploads/

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

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

Проверка robots.txt в панели Yandex Webmaster

У вас должен быть аккаунт в панели Яндекс Вебмастер. Зайдя в инструменты и указав свой сайт, справа будет перечень доступных возможностей. Переходим на вкладку «Проверить robots.txt»

Указываем свой домен и жмем «Загрузить robots.txt с сайта». Если у вас составлен файл, в котором указано отдельно для каждой поисковой системы, то необходимо выбрать строки для Яндекс и скопировать их в поле ниже. Напоминаю, директива Host: актуальна для Янд., поэтому не забудьте внести в поле для проверки. Осталось сделать проверку robots.txt. Кнопка справа.

Буквально сразу увидите анализ от Яндекс на соответствие вашего robots.txt. Ниже будет указаны строки, которые Янд. принял к рассмотрению. И смотрим результаты проверки. Слева Url указаны директивы. Справа напротив сам результат. Как видно на скриншоте, правильно будет увидеть красным цветом надпись – запрещен правилом и указано само правило. Если вы указали директиву для индексации, то увидим зеленым – разрешен.

После проверки robots.txt, вы сможете подкорректировать свой файл. Также рекомендую проверить страницы сайта. Вставляем url адрес отдельной записи в поле /Список URL/. И на выходе получаем результат – разрешен. Так мы сможет отдельно проверить запреты на архивы, рубрики и далее.

Не забываем подписываться, в следующей статье планирую показать, как бесплатно пройти регистрацию в каталог Mail.ru. Не пропустите, .

Как проверить в Yandex Webmasters.

Проверить robots.txt в панели Google Webmasters

Заходим в свой аккаунт и ищем слева /Состояние/ – /Заблокированные URL/

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

Кроме основного бота Google выбираем и робота специализирующегося на разных видах контента (2). Скриншот ниже.

  1. Googlebot
  2. Googlebot-Image
  3. Googlebot-Mobile
  4. Mediapartners-Google – показатели для AdSense
  5. AdsBot-Google – проверка качества целевой стр.

Показатели для других роботов Гугл я не нашел:

  • Googlebot Video
  • Googlebot-News

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

При условии, что результаты проверки вас не устроили, вам остается дальше продолжить редактировать. И в дальнейшем проверка.

Анализ robots.txt онлайн

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

tool.motoricerca.info/robots-checker.phtml

На этом все. Надеюсь, проверка файла robots.txt глазами Яндекс и Google вас не расстроила? Если же увидели не соответствие вашим желаниям, то всегда можно отредактировать и затем сделать повторный анализ. Спасибо за ваш твит в Twitter и лайк в Facebook!

В сем нужны инструкции для работы, поисковые системы не исключения из правил, поэтому и придумали специальный файл под названием robots.txt . Этот файл должен лежать в корневой папке вашего сайта, или он может быть виртуальным, но обязательно открываться по запросу: www.вашсайт.ru/robots.txt

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

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

Д ля чего нужен robots.txt

Файл robots.txt создается для настройки правильной индексации сайта поисковым системам. То есть в нем содержатся правила разрешений и запретов на определенные пути вашего сайта или тип контента. Но это не панацея. Все правила в файле robots не являются указаниями точно им следовать, а просто рекомендация для поисковых систем. Google например пишет:

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

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

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

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

  • Неграфические файлы . В основном это html файлы, на которых содержится какая-либо информация. Вы можете закрыть дубликаты страниц, или страницы, которые не несут никакой полезной информации (страницы пагинации, страницы календаря, страницы с архивами, страницы с профилями и т.д.).
  • Графические файлы . Если вы хотите, чтобы картинки сайта не отображались в поиске, вы можете это прописать в файле robots.
  • Файлы ресурсов . Также с помощью robots вы можете заблокировать индексацию различных скриптов, файлы стилей CSS и другие маловажные ресурсы. Но не стоит блокировать ресурсы, которые отвечают за визуальную часть сайта для посетителей (например, если вы закроете css и js сайта, которые выводят красивые блоки или таблицы, этого не увидит поисковой робот, и будет ругаться на это).

Чтобы наглядно показать, как работает robots, посмотрите на картинку ниже:

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

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

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

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

User-agent — Этой директивой вы задает название роботу, которому следует использовать рекомендации в файле. Этих роботов официально в мире интернета — 302 штуки . Вы конечно можете прописать правила для всех по отдельности, но если у вас нет времени на это, просто пропишите:

User-agent: *

*-в данном примере означает «Все». Т.е. ваш файл robots.txt, должен начинаться с того, «для кого именно» предназначен файл. Чтобы не заморачиваться над всеми названиями роботов, просто пропишите «звездочку» в директиве user-agent.

Приведу вам подробные списки роботов популярных поисковых систем:

Google — Googlebot — основной робот

Остальные роботы Google

Googlebot-News — робот поиска новостей
Googlebot-Image — робот картинок
Googlebot-Video — робот видео
Googlebot-Mobile — робот мобильной версии
AdsBot-Google — робот проверки качества целевой страницы
Mediapartners-Google — робот сервиса AdSense

Яндекс — YandexBot - основной индексирующий робот;

Остальные роботы Яндекса

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

Disallow — самое основное правило в robots, именно с помощью этой директивы вы запрещаете индексировать определенные места вашего сайта. Пишется директива так:

Disallow:

Очень часто можно наблюдать директиву Disallow: пустую, т.е. якобы говоря роботу, что ничего не запрещено на сайте, индексируй что хочешь. Будьте внимательны! Если вы поставите / в disallow, то вы полностью закроете сайт для индексации.

Поэтому самый стандартный вариант robots.txt, который «разрешает индексацию всего сайта для всех поисковых систем» выглядит так:

User-Agent: * Disallow:

Если вы не знаете что писать в robots.txt, но где-то слышали о нем, просто скопируйте код выше, сохраните в файл под названием robots.txt и загрузите его в корень вашего сайта. Или ничего не создавайте, так как и без него роботы будут индексировать все на вашем сайте. Или прочитайте статью до конца, и вы поймете, что закрывать на сайте, а что нет.

По правилам robots, директива disallow должна быть обязательна.

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

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

Disallow: /papka/

Если вы хотите запретить определенный файл :

Disallow: /images/img.jpg

Если вы хотите запретить определенные типы файлов :

Disallow: /*.png$

Регулярные выражения не поддерживаются многими поисковыми системами. Google поддерживает.

Allow — разрешающая директива в Robots.txt. Она разрешает роботу индексировать определенный путь или файл в запрещающей директории. До недавнего времени использовалась только Яндексом. Google догнал это, и тоже начал ее использовать. Например:

Allow: /content Disallow: /

эти директивы запрещают индексировать весь контент сайта, кроме папки content. Или вот еще популярные директивы в последнее время:

Allow: /themplate/*.js Allow: /themplate/*.css Disallow: /themplate

эти значения разрешают индексировать все файлы CSS и JS на сайте , но запрещают индексировать все в папке с вашим шаблоном. За последний год Google очень много отправил писем вебмастерам такого содержания:

Googlebot не может получить доступ к файлам CSS и JS на сайте

И соответствующий комментарий: Мы обнаружили на Вашем сайте проблему, которая может помешать его сканированию. Робот Googlebot не может обработать код JavaScript и/или файлы CSS из-за ограничений в файле robots.txt. Эти данные нужны, чтобы оценить работу сайта. Поэтому если доступ к ресурсам будет заблокирован, то это может ухудшить позиции Вашего сайта в Поиске .

Если вы добавите две директивы allow, которые написаны в последнем коде в ваш Robots.txt, то вы не увидите подобных сообщений от Google.

И спользование спецсимволов в robots.txt

Теперь про знаки в директивах. Основные знаки (спецсимволы) в запрещающих или разрешающих это /,*,$

Про слеши (forward slash) «/»

Слеш очень обманчив в robots.txt. Я несколько десятков раз наблюдал интересную ситуацию, когда по незнанию в robots.txt добавляли:

User-Agent: * Disallow: /

Потому, что они где-то прочитали о структуре сайта и скопировали ее себе на сайте. Но, в данном случае вы запрещаете индексацию всего сайта. Чтобы запрещать индексацию именно каталога, со всеми внутренностями вам обязательно нужно ставить / в конце. Если вы например пропишите Disallow: /seo, то абсолютно все ссылки на вашем сайте, в котором есть слово seo — не будут индексироваться. Хоть это будет папка /seo/, хоть это будет категория /seo-tool/, хоть это будет статья /seo-best-of-the-best-soft.html, все это не будет индексироваться.

Внимательно смотрите на все / в вашем robots.txt

Всегда в конце директорий ставьте /. Если вы поставите / в Disallow, вы запретите индексацию всего сайта, но если вы не поставите / в Allow, вы также запретите индексацию всего сайта. / — в некотором понимании означает «Все что следует после директивы /».

Про звездочки * в robots.txt

Спецсимвол * означает любую (в том числе пустую) последовательность символов. Вы можете ее использовать в любом месте robots по примеру:

User-agent: * Disallow: /papka/*.aspx Disallow: /*old

Запрещает все файлы с расширением aspx в директории papka, также запрещает не только папку /old, но и директиву /papka/old. Замудрено? Вот и я вам не рекомендую баловаться символом * в вашем robots.

По умолчанию в файле правил индексации и запрета robots.txt стоит * на всех директивах!

Про спецсимвол $

Спецсимвол $ в robots заканчивает действие спецсимвола *. Например:

Disallow: /menu$

Это правило запрещает ‘/menu’, но не запрещает ‘/menu.html’, т.е. файл запрещает поисковым системам только директиву /menu, и не может запретить все файлы со словом menu в URL`е.

Д иректива host

Правило host работает только в Яндекс, поэтому является не обязательным , оно определяет основной домен из ваших зеркал сайта, если таковы есть. Например у вас есть домен dom.com, но и так же прикуплены и настроены следующие домены: dom2.com, dom3,com, dom4.com и с них идет редирект на основной домен dom.com

Чтобы Яндексу быстрее определить, где из них главных сайт (хост), пропишите директорию host в ваш robots.txt:

Host: сайт

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

Запись host должны быть одна, и если нужно, с прописанным портом. (Host: сайт:8080)

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

Эта директива была создана для того, чтобы убрать возможность нагрузки на ваш сервер. Поисковые роботы могут одновременно делать сотни запросов на ваш сайт и если ваш сервер слабый, это может вызвать незначительные сбои. Чтобы такого не произошло, придумали правило для роботов Crawl-delay — это минимальный период между загрузками страницы вашего сайта. Стандартное значение для этой директивы рекомендуют ставить 2 секунды. В Robots это выглядит так:

Crawl-delay: 2

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

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

Этот параметр тоже только для Яндекса. Если адреса страниц сайта содержат динамические параметры, которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т. п.), вы можете описать их с помощью директивы Clean-param.

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

www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123

Параметр ref используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123. Тогда, если указать директиву следующим образом:

User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl

робот Яндекса сведет все адреса страницы к одному:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,
Если на сайте доступна страница без параметров:
www.site.com/some_dir/get_book.pl?book_id=123
то все сведется именно к ней, когда она будет проиндексирована роботом. Другие страницы вашего сайта будут обходиться чаще, так как нет необходимости обновлять страницы:
www.site.com/some_dir/get_book.pl?ref=site_2&book_id=123
www.site.com/some_dir/get_book.pl?ref=site_3&book_id=123

#для адресов вида: www.site1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.site1.com/forum/showthread.php?s=1e71c4427317a117a&t=8243 #robots.txt будет содержать: User-agent: Yandex Disallow: Clean-param: s /forum/showthread.php

Д иректива Sitemap

Этой директивой вы просто указываете месторасположение вашего sitemap.xml. Робот запоминает это, «говорит вам спасибо», и постоянно анализирует его по заданному пути. Выглядит это так:

Sitemap: http://сайт/sitemap.xml

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

П равильный robots.txt

Очень много но в этом слове «правильный», ведь для одного сайта на одной CMS он будет правильный, а на другой CMS — будет выдавать ошибки. «Правильно настроенный» для каждого сайта индивидуальный. В Robots.txt нужно закрывать от индексации те разделы и те файлы, которые не нужны пользователям и не несут никакой ценности для поисковиков. Самый простой и самый правильный вариант robots.txt

User-Agent: * Disallow: Sitemap: http://сайт/sitemap.xml User-agent: Yandex Disallow: Host: site.com

В этом файле стоят такие правила: настройки правил запрета для всех поисковых систем (User-Agent: *), полностью разрешена индексация всего сайта («Disallow:» или можете указать «Allow: /»), указан хост основного зеркала для Яндекса (Host: site.ncom) и месторасположение вашего Sitemap.xml (Sitemap: .

R obots.txt для WordPress

Опять же много вопросов, один сайт может быть интернет-магазинов, другой блог, третий — лендинг, четвертый — сайт-визитка фирмы, и это все может быть на CMS WordPress и правила для роботов будут совершенно разные. Вот мой robots.txt для этого блога:

User-Agent: * Allow: /wp-content/uploads/ Allow: /wp-content/*.js$ Allow: /wp-content/*.css$ Allow: /wp-includes/*.js$ Allow: /wp-includes/*.css$ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content Disallow: /category Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: /?feed= Disallow: /job Disallow: /?.net/sitemap.xml

Тут очень много настроек, давайте их разберем вместе.

Allow в WordPress . Первые разрешающие правила для контента, который нужен пользователям (это картинки в папке uploads), и роботам (это CSS и JS для отображения страниц). Именно по css и js часто ругается Google, поэтому мы оставили их открытыми. Можно было использовать метод всех файлов просто вставив «/*.css$», но запрещающая строка именно этих папок, где лежат файлы — не разрешала использовать их для индексации, поэтому пришлось прописать путь к запрещающей папке полностью.

Allow всегда указывает на путь запрещенного в Disallow контента. Если у вас что-то не запрещено, не стоит ему прописывать allow, якобы думая, что вы даете толчок поисковикам, типа «Ну на же, вот тебе URL, индексируй быстрее». Так не получится.

Disallow в WordPress . Запрещать в CMS WP нужно очень многое. Множество различных плагинов, множество различных настроек и тем, куча скриптов и различных страниц, которые не несут в себе никакой полезной информации. Но я пошел дальше и совсем запретил индексировать все на своем блоге, кроме самих статей (записи) и страниц (об Авторе, Услуги). Я закрыл даже категории в блоге, открою, когда они будут оптимизированы под запросы и когда там появится текстовое описание для каждой из них, но сейчас это просто дубли превьюшек записей, которые не нужны поисковикам.

Ну Host и Sitemap стандартные директивы. Только нужно было вынести host отдельно для Яндекса, но я не стал заморачиваться по этому поводу. Вот пожалуй и закончим с Robots.txt для WP.

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

Это не так сложно как кажется на первый взгляд. Вам достаточно взять обычный блокнот (Notepad) и скопировать туда данные для вашего сайта по настройкам из этой статьи. Но если и это для вас сложно, в интернете есть ресурсы, которые позволяют генерировать роботс для ваших сайтов:

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

Теперь поговорим о некоторых мелких ошибках, которые могут быть в robots.

  • «Пустая строка » — недопустимо делать пустую строку в директиве user-agent.
  • При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow .
  • Для каждого файла robots.txt обрабатывается только одна директива Host . Если в файле указано несколько директив, робот использует первую.
  • Директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt . В случае, если директив указано несколько, все они будут учтены роботом.
  • Шесть роботов Яндекса не следуют правилам Robots.txt (YaDirectFetcher, YandexCalendar, YandexDirect, YandexDirectDyn, YandexMobileBot, YandexAccessibilityBot). Чтобы запретить им индексацию на сайте, следует сделать отдельные параметры user-agent для каждого из них.
  • Директива User-agent , всегда должна писаться выше запрещающей директивы.
  • Одна строка, для одной директории. Нельзя писать множество директорий на одной строке.
  • Имя файл должно быть только таким: robots.txt . Никаких Robots.txt, ROBOTS.txt, и так далее. Только маленькие буквы в названии.
  • В директиве host следует писать путь к домену без http и без слешей. Неправильно: Host: http://www.site.ru/, Правильно: Host: www.site.ru
  • При использовании сайтом защищенного протокола https в директиве host (для робота Яндекса) нужно обязательно указывать именно с протоколом, так Host: https://www.site.ru

Эта статья будет обновляться по мере поступления интересных вопросов и нюансов.

С вами был, ленивый Staurus.

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

Таким образом, здесь я постараюсь ответить на большинство вопросов, начиная с определения и заканчивая примерами реальных задач, решаемых данным инструментом. Если что-то забуду - отпишитесь в комментариях об этом - исследую вопрос и дополню материал.

Robots.txt - что это, зачем нужен и где обитает?

Итак, сперва ликбез для тех, кому данная тема незнакома совершенно.

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

Где находится robots.txt? Он размещается в корневой папке FTP сайта, и, по сути, является обычным документом в формате txt, редактирование которого можно осуществлять через любой текстовый редактор (лично я предпочитаю Notepad++). Содержимое файла роботс можно увидеть, введя в адресной строке браузера http://www.ваш-сайт.ru/robots.txt. Если, конечно, он существует.

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

Структура и правильная настройка файла robots.txt

Как должен выглядеть правильный файл robots txt для сайта? Структуру можно описать следующим образом:

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

Что писать в данном разделе? Эта директива определяет то, для какого именно робота предназначены нижеизложенные инструкции. Например, если они предназначены для всех роботов, то достаточно следующей конструкции:

В синтаксисе файла robots.txt знак «*» равноценен словосочетанию «что угодно». Если же требуется задать инструкции для конкретной поисковой системы или робота, то на месте звездочки из предыдущего примера пишется его название, например:

User-agent: YandexBot

У каждого поисковика существует целый набор роботов, выполняющих те или иные функции. Роботы поисковой системы Яндекс описаны . В общем же плане имеется следующее:

  • Yandex - указание на роботов Яндекс.
  • GoogleBot - основной индексирующий робот .
  • MSNBot - основной индексирующий робот Bing.
  • Aport - роботы Aport.
  • Mail.Ru - роботы ПС Mail.

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

2. Директива Allow

Разрешает отдельные страницы раздела, если, скажем, ранее он целиком закрыт от индексации. Например:

User-agent: *
Disallow: /
Allow: /открытая-страница.html

В данном примере мы запрещаем к индексации весь сайт, кроме страницы poni.html

Служит эта директива в какой-то степени для указания на исключения из правил, заданных директивой Disallow. В случае, если таких ситуаций нет, то директива может не использоваться совсем. Она не позволяет открыть сайт для индексации, как многие думают, так как если нет запрета вида Disallow: /, то он открыт по умолчанию.

2. Директива Disallow

Является антиподом директивы Allow и закрывает от индексации отдельные страницы, разделы или сайт целиком. Являет аналогом тега noindex. Например:

User-agent: *
Disallow: /закрытая-страница.html

3. Директива Host

Используется только для Яндекса и указывает на основное зеркало сайта. Выглядит это так.

Основное зеркало без www:

Основное зеркало с www:

Host: www.site.ru

Сайт на https:

Host: https://site.ru

Нельзя записывать директиву host в файл дважды. Если же вследствие какой-то ошибки это произошло, то обрабатывается та директива, которая идет первой, а вторая - игнорируется.

4. Директива Sitemap

Используется для указания пути к XML-карте сайта sitemap.xml (если она есть). Синтаксис следующий:

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

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

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

Особенно часто встречается такая проблема при работе с каталогами и интернет-магазинами.

Скажем, у нас имеется страница:

http://www.site.ru/index.php

И эта страница в процессе работы может обрастать клонами вида.

http://www.site.ru/index.php?option=com_user_view=remind
http://www.site.ru/index.php?option=com_user_view=reset
http://www.site.ru/index.php?option=com_user_view=login

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

Clean-param: option /index.php

Синтаксис из примера, думаю, понятен:

Clean-param: # указываем директиву
option # указываем спамный параметр
/index.php # указываем костяк урла со спамным параметром

Если параметров несколько, то просто перечисляем их через амперсант(&):

http://www.site.ru/index.php?option=com_user_view=remind&size=big # урл с двумя параметрами
Clean-param: option&big /index.php # указаны два параметра через амперсант

Пример взят простой, поясняющий саму суть. Особенно спасибо этому параметру хочется сказать при работе с CMS Bitrix.

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

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

Crawl-delay: 3.5 #таймаут в 3,5 секунды

Синтаксис

  • # - используется для написания комментариев:
  • User-agent: * # директива относится ко всем роботам

  • * - означает любую последовательность символов, значение:
  • Disallow: /page* # запрет всех страниц, начинающихся на page

    Disallow: /*page # запрет всех страниц, заканчивающихся на page

    Disallow: /cgi-bin/*.aspx # запрет всех aspx страниц в папке cgi-bin

  • $ - обрезание правила, антипод знака звездочки:
  • Disallow: /page$ # будет закрыта только страница /page, а не /page.html или pageline.html

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

С целью закрепления понимания вышеописанной структуры и правил, приведем стандартный robots txt для CMS Data Life Engine.

User-agent: * # директивы предназначены для всех поисковых систем
Disallow: /engine/go.php # запрещаем отдельные разделы и страницы
Disallow: /engine/download.php #
Disallow: /user/ #
Disallow: /newposts/ #
Disallow: /*subaction=userinfo # закрываем страницы с отдельными параметрами
Disallow: /*subaction=newposts #
Disallow: /*do=lastcomments #
Disallow: /*do=feedback #
Disallow: /*do=register #
Disallow: /*do=lostpassword #
Host: www.сайт # указываем главное зеркало сайта
Sitemap: https://сайт/sitemap.xml # указываем путь до карты сайта
User-agent: Aport # указываем направленность правил на ПС Aport
Disallow: / # предположим, не хотим мы с ними дружить

Проверка robots.txt

Как проверить robots txt на корректность составления? Стандартный вариант - валидатор Яндекса - http://webmaster.yandex.ru/robots.xml . Вводим путь до вашего файла роботс или сразу вставляем его содержимое в текстовое поле. Вводим список урлов, которые мы хотим проверить - закрыты или открыты они согласно заданным директивам - нажимаем «Проверить» и вуаля! Профит.

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

Генератор robots.txt - создание в режиме онлайн

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

Готовые файлы для популярных CMS

Файл robots.txt для сайта на 1C Битрикс

User-Agent: *
Disallow: /bitrix/
Disallow: /personal/
Disallow: /upload/
Disallow: /*login*
Disallow: /*auth*
Disallow: /*search
Disallow: /*?sort=
Disallow: /*gclid=
Disallow: /*register=
Disallow: /*?per_count=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*logout=
Disallow: /*back_url_admin=
Disallow: /*print=
Disallow: /*backurl=
Disallow: /*BACKURL=
Disallow: /*back_url=
Disallow: /*BACK_URL=
Disallow: /*ADD2BASKET
Disallow: /*ADD_TO_COMPARE_LIST
Disallow: /*DELETE_FROM_COMPARE_LIST
Disallow: /*action=BUY
Disallow: /*set_filter=y
Disallow: /*?mode=matrix
Disallow: /*?mode=listitems
Disallow: /*openstat
Disallow: /*from=adwords
Disallow: /*utm_source
Host: www.site.ru

Robots.txt для DataLife Engine (DLE)

User-agent: *
Disallow: /engine/go.php
Disallow: /engine/download.php
Disallow: /engine/classes/highslide/
Disallow: /user/
Disallow: /tags/
Disallow: /newposts/
Disallow: /statistics.html
Disallow: /*subaction=userinfo
Disallow: /*subaction=newposts
Disallow: /*do=lastcomments
Disallow: /*do=feedback
Disallow: /*do=register
Disallow: /*do=lostpassword
Disallow: /*do=addnews
Disallow: /*do=stats
Disallow: /*do=pm
Disallow: /*do=search
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для Joomla

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: *print
Disallow: /*utm_source
Disallow: /*mailto*
Disallow: /*start*
Disallow: /*feed*
Disallow: /*search*
Disallow: /*users*
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для 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: */trackback
Disallow: */feed
Disallow: /wp-login.php
Disallow: /wp-register.php
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для Ucoz

User-agent: *
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=
Disallow: /google
Disallow: /

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

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

Зачем нужен robots.txt.

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

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

Файл robots.txt должен находиться на сервере, в корне вашего сайта. Файл robots.txt можно посмотреть на любом сайте в Интернет, для этого достаточно после адреса сайта добавить /robots.txt . Для сайта адрес, по которому можно посмотреть robots..txt.

Файл robots.txt , обычно у каждого сайта имеет свои особенности и бездумное копирование чужого файла, может создать проблемы с индексированием вашего сайта поисковыми роботами. Поэтому нужно четко понимать назначение файла robots.txt и назначение инструкций (директив), которые мы будем использовать, при его создании.

Директивы файла robots.txt.

Разберем основные инструкции (директивы), которые мы будем использовать при создании файла robots.txt.

User-agent: — указываем имя робота, для которого будут работать все нижеприведенные инструкции. Если инструкции нужно использовать для всех роботов, то в качестве имени используем * (звездочку)

Например:
User-agent:*
#инструкции действуют на всех поисковых роботов
User-agent: Yandex
#инструкции действуют только на поискового робота Яндекс

Имена самых популярных поисковиков Рунета это Googlebot (для Google) и Yandex (для Яндекса). Имена остальных поисковиков, если интересно, можно найти на просторах Интернет, но создавать для них отдельные правила, мне кажется, нет необходимости.

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

Например:
Disallow /wp-includes/
#запрещает роботам доступ в wp-includes
Disallow /
# запрещает роботам доступ ко всему сайту.

Allow – разрешает для поисковых роботов доступ к некоторым частям сайта или сайту целиком.

Например:
Allow /wp-content/
#разрешает роботам доступ в wp-content
Allow /
#разрешает роботам доступ ко всему сайту.

Sitemap: — можно использовать для указания пути к файлу с описанием структуры вашего сайта (карты сайта). Она нужна для ускорения и улучшения индексации сайта поисковыми роботами.

Например:
.xml

Host: — Если у вашего сайта есть зеркала (копии сайта на другом домене)..сайт. С помощью файла Host можно указать главное зеркало сайта. В поиске будет участвовать только главное зеркало.

Например:
Host: сайт

Также можно использовать спецсимволы. * # и $
*(звездочка) – обозначает любую последовательность символов.

Например:
Disallow /wp-content*
#запрещает роботам доступ в /wp-content/plugins, /wp-content/themes и.т.д.

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

Например:
Disallow /example$
#запрещает роботам доступ в /example но не запрещает в /example.html

#(знак решетки) – можно использовать для комментариев в файле robots.txt

Подробнее с этими директивами, а также несколькими дополнительными, можно ознакомиться на сайте Яндекса.

Как написать robots.txt для WordPress.

Теперь приступим к созданию файла robots.txt. Так как наш блог работает на WordPress, то разберем процесс создания robots.txt для WordPress более подробно.

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

Какие папки есть в WordPress и что необходимо закрыть мы можем увидеть, если посмотрим в директорию нашего сайта. Я сделал это через панель управления хостингом на сайте , и увидел следующую картину.

Разберемся с назначением каталогов и решим, что можно закрыть.

/cgi-bin (каталог скриптов на сервере – в поиске он нам не нужен.)

/files (каталог с файлами для загрузки. Здесь, например, лежит архивный файл с таблицей Excel для подсчета прибыли, о которой я писал в статье « «. В поиске этот каталог нам не нужен.)

/playlist(этот каталог я сделал для себя, для плейлистов на IPTV – в поиске не нужен.)

/test (этот каталог я создал для экспериментов, в поиске этот каталог не нужен)

/wp-admin/ (админка WordPress, в поиске она нам не нужна)

/wp-includes/ (системная папка от WordPress, в поиске она нам не нужна)

/wp-content/ (из этого каталога нам нужен только /wp-content/uploads/ в этом каталоге находятся картинки с сайта, поэтому каталог /wp-content/ мы запретим, а каталог с картинками разрешим отдельной инструкцией.)

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

Архивы – адреса вида //сайт/2013/ и похожие.

Метки — в адресе меток содержится /tag/

RSS фиды — в адресе всех фидов есть /feed

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

Также закрою адреса с /GOTO/ я их использую для перехода по внешним ссылкам, в поиске им точно делать нечего.

И напоследок, уберем из поиска короткие адреса, вида //сайт/?p=209 и поиск по сайту //сайт/?s=, а также комментарии (адреса в которых содержится /?replytocom=)

А вот что у нас должно остаться:

/images (в этот каталог я закидываю некоторые картинки, пускай этот каталог роботы посещают)

/wp-content/uploads/ — содержит картинки от сайта.

А теперь придумаем инструкции для robots.txt. Вот, что у меня получилось:

#Указываем, что эти инструкции будут выполнять все роботы
User-agent: *

#Разрешаем роботам бродить по каталогу uploads.
Allow: /wp-content/uploads/

#Запрещаем папку со скриптами
Disallow: /cgi-bin/

#Запрещаем папку files
Disallow: /files/

#Запрещаем папку playlist
Disallow: /playlist/

#Запрещаем папку test
Disallow: /test/

#Запрещаем все, что начинается с /wp- , это позволит закрыть сразу несколько папок, имена которых начинаются с /wp- , эта команда вполне может помешать индексации страниц или записей которые начинаются с /wp-, но давать таких имен я не планирую.
Disallow: /wp-*

#Запрещаем адреса, в которых содержится /?p= и /?s=. Это короткие ссылки и поиск.
Disallow: /?p=
Disallow: /?s=

#Запрещаем все архивы до 2099 года.
Disallow: /20

#Запрещаем адреса с расширением PHP на конце.
Disallow: /*.php

#Запрещаем адреса, которые содержат /goto/. Можно было не прописывать, но на всякий случай вставлю.
Disallow: /goto/

#Запрещаем адреса меток
Disallow: /tag/

#Запрещаем все фиды.
Disallow: */feed

#Запрещаем индексацию комментариев.
Disallow: /?replytocom=

#Ну и напоследок прописываем путь к нашей карте сайта.
.xml

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

User-agent: *
Allow: /wp-content/uploads/
Disallow: /cgi-bin/
Disallow: /files/
Disallow: /playlist/
Disallow: /test/
Disallow: /wp-*
Disallow: /?p=
Disallow: /?s=
Disallow: /20
Disallow: /*.php
Disallow: /goto/
Disallow: /tag/
Disallow: /author/
Disallow: */feed
Disallow: /?replytocom=
.xml

Вначале я планировал сделать один общий блок правил для всех роботов, но Яндекс работать с общим блоком отказался. Пришлось сделать для Яндекса отдельный блок правил. Для этого просто скопировал общие правила, изменил имя робота и указал роботу главное зеркало сайта, с помощью директивы Host.

User-agent: Yandex
Allow: /wp-content/uploads/
Disallow: /cgi-bin/
Disallow: /files/
Disallow: /playlist/
Disallow: /test/
Disallow: /wp-*
Disallow: /?p=
Disallow: /?s=
Disallow: /20
Disallow: /*.php
Disallow: /goto/
Disallow: /tag/
Disallow: /author/
Disallow: */feed
Disallow: /?replytocom=
.xml
Host: сайт

Указать главное зеркало сайта можно также через , в разделе «Главное зеркало»

Теперь, когда файл robots.txt для WordPress создан, нам его необходимо загрузить на сервер, в корневой каталог нашего сайта. Это можно сделать любым удобным для Вас способом.
Также для создания и редактирования robots.txt можно воспользоваться плагином WordPress SEO. Подробнее об этом полезном плагине я напишу позже. В этом случае файл robots.txt на рабочем столе можно не создавать, а просто вставить код файла robots.txt в соответствующий раздел плагина.

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

Теперь, когда мы создали файл robots.txt, его нужно проверить. Для этого заходим в панель управления Яндекс.Вебмастер. Далее заходим в раздел “Настройка индексирования”, а далее “анализ robots.txt” . Здесь нажимаем кнопку «Загрузить robots.txt с сайта», после этого в соответствующем окне должно появиться содержимое вашего robots.txt.

Затем нажимаем «добавить» и в появившемся окне вводим различные url с вашего сайта, которые вы хотите проверить. Я ввел несколько адресов, которые должны быть запрещены и несколько адресов, которые должны быть разрешены.

Нажимаем кнопку «Проверить», после этого Яндекс выдаст нам результаты проверки файла robots.txt. Как видим, наш файл проверку удачно прошел. То, что должно быть запрещено для поисковых роботов, у нас запрещено. То, что должно быть разрешено, у нас разрешено.

Такую же проверку можно провести для робота Google, через GoogleWebmaster, но она не сильно отличается от проверки через Яндекс, поэтому я ее описывать не буду.

Вот и все. Мы создали robots.txt для WordPress и он отлично работает. Остается только иногда поглядывать за поведением поисковых роботов на нашем сайте. Чтобы вовремя заметить ошибку и в случае необходимости внести изменения в файл robots.txt. Страницы которые были исключены из индекса и причину исключения можно посмотреть в соответствующем разделе Яндекс.ВебМастер (или GoogleWebmaster).

Удачных Инвестиций и успехов во всех ваших делах.

Robots.txt is a text file that contains site indexing parameters for the search engine robots.

How to set up robots.txt

    Create a file named robots.txt in a text editor and fill it in using the guidelines below.

    Check the file in the Yandex.Webmaster service (Robots.txt analysis in the menu).

    Upload the file to your site"s root directory.

The User-agent directive

The Yandex robot supports the robots exclusion standard with enhanced capabilities described below.

The Yandex robot"s work is based on sessions: for every session, there is a pool of pages for the robot to download.

A session begins with the download of the robots.txt file. If the file is missing, is not a text file, or the robot"s request returns an HTTP status other than 200 OK , the robot assumes that it has unrestricted access to the site"s documents.

In the robots.txt file, the robot checks for records starting with User-agent: and looks for either the substring Yandex (the case doesn"t matter) or * . If a string User-agent: Yandex is detected, directives for User-agent: * are ignored. If the User-agent: Yandex and User-agent: * strings are not found, the robot is considered to have unlimited access.

You can enter separate directives for the following Yandex robots:

  • YandexBot - The main indexing robot.
  • YandexDirect - Downloads information about the content on Yandex Advertising Network partner sites for selecting relevant ads. Interprets robots.txt in a special way .
  • "YandexDirectDyn" - Generates dynamic banners. Interprets robots.txt in a special way .
  • YandexMedia - Indexes multimedia data.
  • YandexImages - Indexer of .
  • YaDirectFetcher - The robot. Interprets robots.txt in a special way .
  • YandexBlogs - The Blog search Blog search robot. Indexes posts and comments.
  • YandexNews - The Yandex.News robot.
  • YandexPagechecker - .
  • YandexMetrika - The robot.
  • YandexMarket - TheYandex.Market robot.
  • YandexCalendar - The Yandex.Calendar Yandex.Calendar robot.

If there are directives for a specific robot, directives User-agent: Yahoo and User-agent: * aren"t used.

User-agent: YandexBot # will be used only by the main indexing robot Disallow: /*id= User-agent: Yandex # will be used by all Yandex robots Disallow: /*sid= # except for the main indexing robot User-agent: * # won"t be used by Yandex robots Disallow: /cgi-bin

Disallow and Allow directives

To prohibit the robot from accessing your site or certain sections of it, use the Disallow directive.

User-agent: YandexDisallow: / # blocks access to the whole site User-agent: YandexDisallow: /cgi-bin # blocks access to the pages # starting with "/cgi-bin"

According to the standard, you should insert a blank line before every User-agent directive.

The # character designates commentary. Everything following this character, up to the first line break, is disregarded.

Use the Allow directive to allow the robot to access specific parts of the site or the entire site.

User-agent: Yandex Allow: /cgi-bin Disallow: / # prohibits downloading anything except for the pages # starting with "/cgi-bin"

Note. Empty line breaks aren"t allowed between the User-agent , Disallow and Allow directives.

Combining directives

The Allow and Disallow directives from the corresponding User-agent block are sorted according to URL prefix length (from shortest to longest) and applied in order. If several directives match a particular site page, the robot selects the last one in the sorted list. This way the order of directives in the robots.txt file doesn"t affect the way they are used by the robot. Examples:

# Source robots.txt: User-agent: Yandex Allow: /catalog Disallow: / # Sorted robots.txt: User-agent: Yandex Disallow: / Allow: /catalog # only allows downloading pages # starting with "/catalog" # Source robots.txt: User-agent: Yandex Allow: /Allow: /catalog/auto Disallow: /catalog # Sorted robots.txt: User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/auto # prohibits downloading pages starting with "/catalog", # but allows downloading pages starting with "/catalog/auto".

Allow and Disallow directives without parameters

If the directives don"t contain parameters, the robot handles the data as follows:

User-agent: Yandex Disallow: # same as Allow: / User-agent: Yandex Allow: # isn"t taken into account by the robot

Using the special characters * and $

You can use the special characters * and $ to set regular expressions when specifying paths for the Allow and Disallow directives. The * character indicates any sequence of characters (or none). Examples:

User-agent: Yandex Disallow: /cgi-bin/*.aspx # prohibits "/cgi-bin/example.aspx" # and "/cgi-bin/private/test.aspx" Disallow: /*private # prohibits both "/private", # and "/cgi-bin/private"

The $ character

By default, the * character is appended to the end of every rule described in the robots.txt file. Example:

User-agent: Yandex Disallow: /cgi-bin* # blocks access to pages # starting with "/cgi-bin"Disallow: /cgi-bin # the same

To cancel * at the end of the rule, use the $ character, for example:

User-agent: Yandex Disallow: /example$ # prohibits "/example", # but allows "/example.html" User-agent: Yandex Disallow: /example # prohibits both "/example", # and "/example.html" The $ character doesn"t forbid * at the end, that is: User-agent: Yandex Disallow: /example$ # prohibits only "/example" Disallow: /example*$ # exactly the same as "Disallow: /example" # prohibits both /example.html and /example

The Sitemap directive

If you use a Sitemap file to describe your site"s structure, indicate the path to the file as a parameterof the Sitemap directive (if you have multiple files, indicate all paths). Example:

User-agent: Yandex Allow: / sitemap: https://example.com/site_structure/my_sitemaps1.xml sitemap: https://example.com/site_structure/my_sitemaps2.xml

The directive is intersectional, meaning it is used by the robot regardless of its location in robots.txt .

The robot remembers the path to your file, processes your data and uses the results during the next visit to your site.

The Crawl-delay directive

If the server is overloaded and it isn"t possible to process downloading requests, use the Crawl-delay directive. You can specify the minimum interval (in seconds) for the search robot to wait after downloading one page, before starting to download another.

To maintain compatibility with robots that may deviate from the standard when processing robots.txt , add the Crawl-delay directive to the group that starts with the User-Agent entry right after the Disallow and Allow directives.

The Yandex search robot supports fractional values for Crawl-Delay , such as "0.5". This doesn"t mean that the search robot will access your site every half a second, but it may speed up the site processing.

User-agent: Yandex Crawl-delay: 2 # sets a 2-second timeout User-agent: * Disallow: /search Crawl-delay: 4.5 # sets a 4.5-second timeout

The Clean-param directive

If your site page addresses contain dynamic parameters that don"t affect the content (for example, identifiers of sessions, users, referrers, and so on), you can describe them using the Clean-param directive.

The Yandex robot uses this information to avoid reloading duplicate information. This improves the robot"s efficiently and reduces the server load.

For example, your site contains the following pages:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

The ref parameter is only used to track which resource the request was sent from. It doesn"t change the page content. All three URLs will display the same page with the book_id=123 book. Then, if you indicate the directive in the following way:

User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl

the Yandex robot will converge all the page addresses into one:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123,

If a page without parameters is available on the site:

Www.example.com/some_dir/get_book.pl?book_id=123

all other URLs are replaced with it after the robot indexes it. Other pages of your site will be crawled more often, because there will be no need to update the pages:

Www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

Directive syntax

Clean-param: p0[&p1&p2&..&pn]

In the first field, list the parameters that must be disregarded, separated by the & character. In the second field, indicate the path prefix for the pages the rule should apply to.

The prefix can contain a regular expression in the format similar to the one used in the robots.txt file, but with some restrictions: you can only use the characters A-Za-z0-9.-/*_ . However, * is interpreted in the same way as in robots.txt . A * is always implicitly appended to the end of the prefix. For example:

Clean-param: s /forum/showthread.php

means that the s parameter is disregarded for all URLs that begin with /forum/showthread.php . The second field is optional, and in this case the rule will apply to all pages on the site. It is case sensitive. The maximum length of the rule is 500 characters. For example:

Clean-param: abc /forum/showthread.php Clean-param: sid&sort /forum/*.php Clean-param: someTrash&otherTrash

Additional examples

#for addresses like:www.example1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.example1.com/forum/showthread.php?s=1e71c4427317a117a&t=8243 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s /forum/showthread.php #for addresses like:www.example2.com/index.php?page=1&sort=3a&sid=2564126ebdec301c607e5df www.example2.com/index.php?page=1&sort=3a&sid=974017dcd170d6c4a5d76ae #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: sid /index.php #if there are several of these parameters:www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311 www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s&ref /forum*/showthread.php #if the parameter is used in multiple scripts:www.example1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.example1.com/forum/index.php?s=1e71c4427317a117a&t=8243 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s /forum/index.php Clean-param: s /forum/showthread.php

Using Cyrillic characters

The use of the Cyrillic alphabet is not allowed in robots.txt file and HTTP server headers.

For domain names, use Punycode . For page addresses, use the same encoding as the one used for the current site structure.

Example of the robots.txt file:

#Incorrect: User-agent: Yandex Disallow: /корзина Sitemap: сайт.рф/sitemap.xml #Correct: 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

Additional information

The Yandex robot supports only the robots.txt directives listed on this page. The file processing rules described above represent an extension of the basic standard. Other robots may interpret robots.txt contents in a different way.

The results when using the extended robots.txt format may differ from results that use the basic standard, particularly:

User-agent: Yandex Allow: / Disallow: /# without extensions everything was prohibited because "Allow: /" was ignored, # with extensions supported, everything is allowed User-agent: Yandex Disallow: /private*html # without extensions, "/private*html" was prohibited, # with extensions supported, "/private*html", # "/private/test.html", "/private/html/test.aspx", and so on are prohibited as well User-agent: Yandex Disallow: /private$ # without extensions supported, "/private$" and "/private$test", and so on were prohibited, # with extensions supported, only "/private" is prohibited User-agent: * Disallow: / User-agent: Yandex Allow: / # without extensions supported, because of the missing line break, # "User-agent: Yandex" would be ignored # the result would be "Disallow: /", but the Yandex robot # parses strings based on the "User-agent:" substring. # In this case, the result for the Yandex robot is "Allow: /" User-agent: * Disallow: / # comment1... # comment2... # comment3... User-agent: Yandex Allow: / # same as in the previous example (see above)

Examples using the extended robots.txt format:

User-agent: Yandex Allow: /archive Disallow: / # allows everything that contains "/archive"; the rest is prohibited User-agent: Yandex Allow: /obsolete/private/*.html$ # allows HTML files # in the "/obsolete/private/... path" Disallow: /*.php$ # probibits all "*.php" on siteDisallow: /*/private/ # prohibits all subpaths containing # "/private/", but the Allow above negates # part of the prohibition Disallow: /*/old/*.zip$ # prohibits all "*.zip" files containing # "/old/" in the path User-agent: Yandex Disallow: /add.php?*user= # prohibits all "add.php?" scripts with the " user " option

When forming the robots.txt file, you should keep in mind that the robot places a reasonable limit on its size. If the file size exceeds 32 KB, the robot assumes it allows everything, meaning it is interpreted the same way as:

User-agent: Yandex Disallow:

Similarly, robots.txt is assumed to allow everything if it couldn"t be downloaded (for example, if HTTP headers are not set properly or a 404 Not found status is returned).

Exceptions

A number of Yandex robots download web documents for purposes other than indexing. To avoid being unintentionally blocked by the site owners, they may ignore the robots.txt directives designed for random robots (User-agent: *).

In addition, robots may ignore some robots.txt restrictions for certain sites if there is an agreement between “Yandex” and the owners of those sites.

Attention. If such a robot downloads a document that the main Yandex robot can"t access, this document will never be indexed and won"t be found in search results.

Yandex robots that don"t follow common disallow directives in robots.txt :

  • YaDirectFetcher downloads ad landing pages to check their availability and content. This is needed for placing ads in the Yandex search results and on partner sites. When crawling a site, the robot does not use the robots.txt file and ignores the directives set for it.
  • YandexCalendar regularly downloads calendar files by users" requests. These files are often located in directories prohibited from indexing.
  • YandexDirect downloads information about the content of Yandex Advertising network partner sites to identify their topic categories to match relevant advertising.
  • YandexDirectDyn is the robot that generates dynamic banners.
  • YandexMobileBot downloads documents to determine if their layout is suitable for mobile devices.
  • YandexAccessibilityBot downloads pages to check their accessibility for users.
  • YandexScreenshotBot takes a screenshot of a page.
  • YandexMetrika is the robot.
  • YandexVideoParser is the indexer.
  • YandexSearchShop regularly downloads product catalogs in YML files by users" requests. These files are often placed in directories prohibited for indexing.

To prevent this behavior, you can restrict access for these robots to some pages or the whole site using the robots.txt directives, for example:

User-agent: YandexCalendar Disallow: / User-agent: YandexMobileBot Disallow: /private/*.txt$

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то