Robots txt что такое. Как редактировать файл robots txt


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

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

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

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

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

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

Хорошим решением будет запрет всего лишнего в robots.txt (все буквы в названии должны быть в нижнем регистре - без заглавных букв).

С его помощью мы сможем влиять на процесс индексации сайта Яндексом и Google. Представляет он из себя обычный текстовый файл, который вы сможете создать и в дальнейшем редактировать в любом текстовом редакторе (например, Notepad++). Поисковый бот будет искать этот файл в корневом каталоге вашего ресурса и если не найдет, то будет загонять в индекс все, до чего сможет дотянуться.

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

Https://сайт/robots.txt

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

Однако, при этом надо учитывать, что для разных движков этот файл будет выглядеть по разному (папки движка, которые нужно запрещать индексировать, будут называться по разному в разных CMS). Поэтому, если вы хотите определиться с лучшим вариантом роботса, допустим для форума на SMF, то и изучать нужно только форумы, построенные на этом движке.

Директивы и правила написания файла robots.txt (disallow, user-agent, host)

Роботс имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса. Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent"), разрешающие ("Allow") и запрещающие ("Disallow"), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.

Еще полезно указать в этом файле, какое из зеркал вашего вебпроекта является главным в специальной директиве "Host", которую понимает только Яндекс. Если даже у вашего ресурса нет зеркал, то полезно будет указать, какой из вариантов написания является главным - с www или без него. Т.к. это тоже является своего рода зеркалированием. Об этом я подробно рассказывал в статье про 301 редирект для доменов с WWW и без него.

Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:

<поле>:<пробел><значение><пробел>

<поле>:<пробел><значение><пробел>
Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.

Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:

User-agent: *
Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:

User-agent: Yandex
Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:

Google http://www.google.com Googlebot Yahoo! http://www.yahoo.com Slurp (или Yahoo! Slurp) AOL http://www.aol.com Slurp MSN http://www.msn.com MSNBot Live http://www.live.com MSNBot Ask http://www.ask.com Teoma AltaVista http://www.altavista.com Scooter Alexa http://www.alexa.com ia_archiver Lycos http://www.lycos.com Lycos Яндекс http://www.ya.ru Yandex Рамблер http://www.rambler.ru StackRambler Мэйл.ру http://mail.ru Mail.Ru Aport http://www.aport.ru Aport Вебальта http://www.webalta.ru WebAlta (WebAlta Crawler/2.0)

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

Приведу несколько простых примеров использования директив с объяснением его действий.

1. Приведенный ниже код разрешает всем ботам проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow.

User-agent: * Disallow:

2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения.

User-agent: * Disallow: /

3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ - абсолютный путь к этому каталогу)

User-agent: * Disallow: /image/

4. В приведенном ниже примере будут запрещены директория «image», а так же все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.):

User-agent: * Disallow: /image

5. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$", задавая, таким образом, определенные логические выражения. Символ "*" означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.aspx»:

User-agent: * Disallow: *.aspx

Во избежания возникновения неприятных проблем с зеркалами сайта рекомендуется добавлять в robots.txt директиву Host, которая указывает боту Yandex на главное зеркало. По правилам написания в записи для User-agent должна быть хотя бы одна директива Disallow (обычно ставят пустую, ничего не запрещающую):

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

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

в зависимости от того, что для вас оптимальнее.

Директива Sitemap указывает на местоположение файла карты сайта (обычно он называется Sitemap.xml, но не всегда). В качестве параметра указывается путь к этому файлу, включая http:// (т.е. его Урл). Например:

Sitemap: http://site.ru/sitemap.xml
Мета-тег Robots - помогает закрыть дубли контента

Существует еще один способ настроить (разрешить или запретить) индексацию отдельных страниц вебсайта, как для Яндекса, так и для Гугле. Для этого внутри тега «HEAD» нужной вебстраницы дописывается МЕТА-тег Robots с нужными параметрами, и так повторяется для всех документов, к которым нужно применить то или иное правило (запрет или разрешение). Выглядеть это может, например, так:

... ...

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

Существуют только две пары параметров у этого метатега: index и follow:

Index - указывают, может ли робот проводить индексацию данного документа
Follow - может ли он следовать по ссылкам, найденным в этом документе
Значения по умолчанию – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обоих параметров или, соответственно, наоборот: all=index,follow и none=noindex,nofollow.

Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack . Ну все, с теорией покончено и пора переходить к практике, а именно к составлению оптимальных robots.txt для Joomla, SMF и WordPress.

Как известно, у проектов, созданных на основе какого-либо движка (Joomla, WordPress, SMF и др), имеется множество вспомогательных объектов не несущих никакой информативной нагрузки.

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

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

Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать полного или даже частичного дублирования контента (информационного содержимого). Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL).

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

Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt , а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).

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

Но если с помощью описанного выше мета-тега создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Для этой цели в WordPress лучше всего будет воспользоваться возможностями плагина All in One SEO Pack, ссылку на описание которого ищите чуть выше по тексту.

Еще сложнее с дублированием контента обстоит дело в форумном движке SMF. Если не производить тонкую настройку (запрет) через robots, то в поиск попадут многократные дубли одних и тех же постов. В Joomla тоже, кстати, иногда возникает проблема с дублированием обычных документов и их копий, предназначенных для печати.

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

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

Правильные robots.txt для Joomla, WordPress и SMF

Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков - Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент и момент этот связан с поисковой системой Яндекс.

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

Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.

Как обстоит дело на самом деле - сказать трудно, ибо алгоритмы работы поиска - это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директивеUser-agent: Yandex все те правила, что мы задали User-agent: *. Если вы оставите User-agent: Yandex с пустым Disallow:, то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.

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

Правильная настройка robots.txt для форума SMF

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

User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade Allow: /forum/*rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action User-agent: Slurp Crawl-delay: 100

Обратите внимание, что данный вариант приведен для того случая, когда ваш форум SMF установлен в директории forum основного сайта. Если форум не стоит в директории, то просто удалите из всех правил /forum.

Дружественные URL в SMF можно активировать или дезактивировать в админке форума, пройдя по следующему пути: в левой колонке админки выбираете пункт «Характеристики и настройки», в нижней части открывшегося окна находите пункт "Разрешить дружественные URL ", где можете поставить или снять галочку.

Есть еще один вариант robots.txt для SMF (но, наверное, еще не окончательно оттестированный):

User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade # если не стоит мод игр, удалить без пропуска строки Allow: /forum/*rss Allow: /forum/*type=rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action Disallow: /forum/*prev_next Disallow: /forum/*all Disallow: /forum/*go.php # либо тот редирект, что стоит у вас Host: www.мой сайт.ru # указать ваше главное зеркало User-agent: Slurp Crawl-delay: 100

Как вы можете видеть в этом файле, директива Host, предназначенная только для Яндекса, включена в User-agent для всех поисковиков. Я бы, наверное, все-таки добавил отдельную директиву User-agent только для Яндекса, с повтором всех правил. Но решайте сами.

User-agent: Slurp Crawl-delay: 100

связано с тем, что поисковая система Yahoo (Slurp - это имя его поискового бота) сканирует сервер во много потоков, что может негативно сказаться на его производительности.

В этом правиле директива Crawl-delay позволяет указать боту Yahoo минимальный период времени (в секундах) между концом закачки одного документа и началом закачки следующего. Это позволит снять нагрузку на сервер.

В файле Sources/Printpage.php находите (например, с помощью встроенного поиска в Notepad++) строку:

fatal_lang_error(472, false);
Вставляете сразу под ней:

$context["robot_no_index"] = true;
В файле Themes/название_вашей_темы_оформления/Printpage.template.php находите строку:


Вставляете ниже нее следующую строку:


Если вы так же хотите, чтобы в версии для печати была ссылка для перехода на полную версию форума (в случае, если часть страниц для печати уже прошла индексацию в Яндексе и Гугле), то в том же Printpage.template.php вы находите строку с открывающим тегом HEAD:

И вставляете ниже строку:

На форум

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

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

User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/

В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.

Поэтому в окончательном виде правильный robots для 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/ User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Host: vash_sait.ru Sitemap: http://vash_sait.ru/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1

Да, еще обратите внимание, что во втором варианте нет директивы Disallow: /images/, дающей запрет индексации картинок вашего сайта. Я забыл сначала акцентировать ваше внимание на этом, но мне об этом напомнил уважаемый Alex.

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

При создании интернет магазина для Joomla на основе компонента VirtueMart я столкнулся с тем, что в индексы поисковиков стали попадать версии для печати страниц этого самого магазина. Кнопка, ведущая на страницу для печати, была необходима (заказчик так хотел), поэтому оставался только вариант с их запретом в robots.txt.

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

Поэтому, для запрета версий для печати в VirtueMart я добавил в следующее правило:

Disallow: /index2.php?page=shop

Robots.txt для WordPress

Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином Google XML Sitemaps.

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

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

User-agent: * Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*? Disallow: /wp-content/plugins Disallow: /wp-content/themes Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /comments User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*?.com/sitemap.xml (4 голос(а), в результате: 5,00 из 5)

Большинство роботов хорошо спроектированы и не создают каких-либо проблем для владельцев сайтов. Но если бот написан дилетантом или «что-то пошло не так», то он может создавать существенную нагрузку на сайт, который он обходит. Кстати, пауки вовсе на заходят на сервер подобно вирусам — они просто запрашивают нужные им страницы удаленно (по сути это аналоги браузеров, но без функции просмотра страниц).

Robots.txt — директива user-agent и боты поисковых систем

Роботс.тхт имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса и хелпе Гугла . Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent "), разрешающие ("Allow ") и запрещающие ("Disallow "), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.

Стандарт создавался довольно давно и что-то было добавлено уже позже. Есть директивы и правила оформления, которые будут понятны только роботами определенных поисковых систем. В рунете интерес представляют в основном только Яндекс и Гугл, а значит именно с их хелпами по составлению robots.txt следует ознакомиться особо детально (ссылки я привел в предыдущем абзаце).

Например, раньше для поисковой системы Яндекс было полезным указать, вашего вебпроекта является главным в специальной директиве "Host", которую понимает только этот поисковик (ну, еще и Майл.ру, ибо у них поиск от Яндекса). Правда, в начале 2018 Яндекс все же отменил Host и теперь ее функции как и у других поисковиков выполняет 301-редирект.

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

Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:

<поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел>

Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.

User-agent

Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:

User-agent: *

Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:

User-agent: Yandex

Название роботов поисковых систем и их роль в файле robots.txt

Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:

Google http://www.google.com Googlebot Яндекс http://www.ya.ru Yandex Бинг http://www.bing.com/ bingbot

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

Как быть в этом случае? Если нужно написать правило запрета индексации, которое должны выполнить все типы роботов Гугла, то используйте название Googlebot и все остальные пауки этого поисковика тоже послушаются. Однако, можно запрет давать только, например, на индексацию картинок, указав в качестве User-agent бота Googlebot-Image. Сейчас это не очень понятно, но на примерах, я думаю, будет проще.

Примеры использования директив Disallow и Allow в роботс.тхт

Приведу несколько простых примеров использования директив с объяснением его действий.

  1. Приведенный ниже код разрешает всем ботам (на это указывает звездочка в User-agent) проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow . User-agent: * Disallow:
  2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения. User-agent: * Disallow: /
  3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ — абсолютный путь к этому каталогу) User-agent: * Disallow: /image/
  4. Чтобы заблокировать один файл, достаточно будет прописать его абсолютный путь до него (читайте ): User-agent: * Disallow: /katalog1//katalog2/private_file.html

    Забегая чуть вперед скажу, что проще использовать символ звездочки (*), чтобы не писать полный путь:

    Disallow: /*private_file.html

  5. В приведенном ниже примере будут запрещены директория «image», а также все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.): User-agent: * Disallow: /image Дело в том, что по умолчанию в конце записи подразумевается звездочка, которая заменяет любые символы, в том числе и их отсутствие. Читайте об этом ниже.
  6. С помощью директивы Allow мы разрешаем доступ. Хорошо дополняет Disallow. Например, таким вот условием поисковому роботу Яндекса мы запрещаем выкачивать (индексировать) все, кроме вебстраниц, адрес которых начинается с /cgi-bin: User-agent: Yandex Allow: /cgi-bin Disallow: /

    Ну, или такой вот очевидный пример использования связки Allow и Disallow:

    User-agent: * Disallow: /catalog Allow: /catalog/auto

  7. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$" , задавая, таким образом, определенные логические выражения.
    1. Символ "*"(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»: User-agent: * Disallow: *.php$
    2. Зачем нужен на конце знак $ (доллара) ? Дело в том, что по логике составления файла robots.txt, в конце каждой директивы как бы дописывается умолчательная звездочка (ее нет, но она как бы есть). Например мы пишем: Disallow: /images

      Подразумевая, что это то же самое, что:

      Disallow: /images*

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

      Disallow: /images$

      Запрещает только индексацию файла /images, но не /images.html или /images/primer.html. Ну, а в первом примере мы запретили индексацию только файлов оканчивающихся на.php (имеющих такое расширение), чтобы ничего лишнего не зацепить:

      Disallow: *.php$

  • Во многих движках пользователи (человеко-понятные Урлы), в то время как Урлы, генерируемые системой, имеют знак вопроса "?" в адресе. Этим можно воспользоваться и написать такое правило в robots.txt: User-agent: * Disallow: /*?

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

  • Директивы Sitemap и Host (для Яндекса) в Robots.txt

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

    Директива Host — указывает главное зеркало сайта для Яндекса

    Например, раньше, если вы еще не перешли на защищенный протокол , указывать в Host нужно было не полный Урл, а доменное имя (без http://, т.е..ru). Если же уже перешли на https, то указывать нужно будет полный Урл (типа https://myhost.ru).

    Замечательный инструмент для борьбы с дублями контента — поисковик просто не будет индексировать страницу, если в Canonical прописан другой урл. Например, для такой страницы моего блога (страницы с пагинацией) Canonical указывает на https://сайт и никаких проблем с дублированием тайтлов возникнуть не должно.

    Но это я отвлекся...

    Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt, а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).

    Например, в WordPress страницы с очень похожим содержимым могут попасть в индекс поисковиков, если разрешена индексация и содержимого рубрик, и содержимого архива тегов, и содержимого временных архивов. Но если с помощью описанного выше мета-тега Robots создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Как это сделать описано по ссылке приведенной чуть выше (на плагин ОлИнСеоПак)

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

    Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков — Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент, и момент этот связан с поисковой системой Яндекс.

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

    Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.

    Как обстоит дело на самом деле — сказать трудно, ибо алгоритмы работы поиска — это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директиве User-agent: Yandex все те правила, что мы задали User-agent: * . Если вы оставите User-agent: Yandex с пустым Disallow: , то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.

    Robots для WordPress

    Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином .

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

    Мой вариант этого файла вы можете сами посмотреть. Он старый, давно не менялся, но я стараюсь следовать принципу «не чини то, что не ломалось», а вам уже решать: использовать его, сделать свой или еще у кого-то подсмотреть. У меня там еще запрет индексации страниц с пагинацией был прописан до недавнего времени (Disallow: */page/), но недавно я его убрал, понадеясь на Canonical, о котором писал выше.

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

    Приведу две крайности :

    1. можно найти мегафайлище с подробными пояснениями (символом # отделяются комментарии, которые в реальном файле лучше будет удалить): User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команду Host понимает # Яндекс и Mail.RU, Google не учитывает. Host: www.site.ru
    2. А вот можно взять на вооружение пример минимализма: User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Host: https://site.ru Sitemap: https://site.ru/sitemap.xml

    Истина, наверное, лежит где-то посредине. Еще не забудьте прописать мета-тег Robots для «лишних» страниц, например, с помощью чудесного плагина — . Он же поможет и Canonical настроить.

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

    User-agent: * Disallow: /administrator/ Disallow: /bin/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /layouts/ Disallow: /libraries/ Disallow: /logs/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/

    В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.

    Поэтому в окончательном виде правильный robots для Joomla, по-моему мнению, должен выглядеть так:

    User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /component/tags* Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Host: vash_sait.ru (или www.vash_sait.ru) User-agent: * Allow: /*.css?*$ Allow: /*.js?*$ Allow: /*.jpg?*$ Allow: /*.png?*$ Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Sitemap: http://путь к вашей карте XML формата

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

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

    Удачи вам! До скорых встреч на страницах блога сайт

    посмотреть еще ролики можно перейдя на
    ");">

    Вам может быть интересно

    Домены с www и без него - история появления, использование 301 редиректа для их склеивания
    Зеркала, дубли страниц и Url адреса - аудит вашего сайта или что может быть причиной краха при его SEO продвижении

    В этой статье пример оптимального, на мой взгляд, кода для файла robots.txt под WordPress, который вы можете использовать в своих сайтах.

    Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).

    Вариант 1: оптимальный код robots.txt для WordPress

    User-agent: * Disallow: /cgi-bin # классика... Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search # поиск Disallow: /author/ # архив автора Disallow: *?attachment_id= # страница вложения. Вообще-то на ней редирект... Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */page/ # все виды пагинации Allow: */uploads # открываем uploads Allow: /*/*.js # внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д. #Disallow: /wp/ # когда WP установлен в подкаталог wp Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap2.xml # еще один файл #Sitemap: http://site.ru/sitemap.xml.gz # сжатая версия (.gz) Host: site.ru # для Яндекса и Mail.RU. (межсекционная) # Версия кода: 1.0 # Не забудьте поменять `site.ru` на ваш сайт.

    Разбор кода:

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

      В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .

      Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:

      • Disallow: /cgi-bin - закрывает каталог скриптов на сервере
      • Disallow: /feed - закрывает RSS фид блога
      • Disallow: /trackback - закрывает уведомления
      • Disallow: ?s= или Disallow: *?s= - закрыавет страницы поиска
      • Disallow: */page/ - закрывает все виды пагинации
    1. Правило Sitemap: http://site.ru/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.

      В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: https://site.ru

      Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.

    Это важно: сортировка правил перед обработкой

    Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:

    User-agent: * Allow: */uploads Disallow: /wp-

    будет прочитана как:

    User-agent: * Disallow: /wp- Allow: */uploads

    Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»

    Вариант 2: стандартный robots.txt для WordPress

    Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.

    Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):

      Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:

    1. Директиву Яндекса Host: нужно использовать после Disallow: , потому что некоторые роботы (не Яндекса и Гугла), могут не понять её и вообще забраковать robots.txt. Cамому же Яндексу, судя по документации , абсолютно все равно где и как использовать Host: , хоть вообще создавай robots.txt с одной только строчкой Host: www.site.ru , для того, чтобы склеить все зеркала сайта.

    3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.

    На основе этих поправок, корректный код должен выглядеть так:

    User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */feed Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Host: site.ru User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */feed Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Sitemap: http://site.ru/sitemap.xml

    Дописываем под себя

    Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:

    Disallow: /news

    Оно запретить роботам ходить по подобным ссылками:

    • http://site.ru/news
    • http://site.ru/news/drugoe-nazvanie/

    Если нужно закрыть любые вхождения /news , то пишем:

    Disallow: */news

    • http://site.ru/news
    • http://site.ru/my/news/drugoe-nazvanie/
    • http://site.ru/category/newsletter-nazvanie.html

    Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).

    Проверка robots.txt и документация

    Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

      Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/

    • Документация от google (англ.)

    Crawl-delay - таймаут для сумасшедших роботов (с 2018 года не учитывается)

    Яндекс

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

    Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».

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

    Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow

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

    User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды

    Google

    Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.

    Я спросил у Яндекса...

    Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:

    Вопрос:

    Здравствуйте!
    Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):

    Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:

    Host: site.ru User-agent: * Disallow: /asd

    Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.

    Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?

    User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://site.ru/sitemap.xml

    Поймет ли робот в данном примере директиву Sitemap?

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

    Ответ:

    Здравствуйте!

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

    --
    С уважением, Платон Щукин
    Служба поддержки Яндекса

    Заключение

    Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).

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

    На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

    Как настроить корректную индексацию сайта поисковыми роботами? Как закрыть доступ сканирующих роботов к техническим файлам сайта?

    Файл robots.txt ограничивает доступ поисковых роботов к файлам на сервере - в файле написаны инструкции для сканирующих роботов. Поисковый робот проверяет возможность индексации очередной страницы сайта - есть ли подходящее исключение. Чтобы поисковые роботы имели доступ к robots.txt, он должен быть доступен в корне сайта по адресу mysite.ru/robots.txt .

    Пример полного доступа на индексацию сайта без ограничений:

    User-agent: *
    Allow: /

    Применение в SEO

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

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

    Правила синтаксиса robots.txt

    Логика и структура файла robots.txt должны строго соблюдаться и не содержать лишних данных:

    • Любая новая директива начинается с новой строки.
    • В начале строки не должно быть пробелов.
    • Все значения одной директивы должны быть размещены на этой же строке.
    • Не использовать кавычки для параметров директив.
    • Не использовать запятые и точки с запятыми для указания параметров.
    • Все комментарии пишутся после символа #.
    • Пустая строка обозначает конец действия текущего User-agent.
    • Каждая директива закрытия индексации или открытия содержит только один параметр.
    • Название файла должно быть написано прописными буквами, файлы Robots.txt или ROBOTS.TXT являются другими файлами и игнорируются поисковыми роботами.
    • Если директива относится к категории, то название категории оформляется слешами "/categorya/".
    • Размер файла robots.txt не должен превышать 32 кб, иначе он трактуется как разрешающий индексацию всего.
    • Пустой файл robots.txt считается разрешающим индексацию всего сайта.
    • При указании нескольких User-agent без пустой строки между ними обрабатываться будет только первая

    Проверка robots.txt

    Поисковые системы Яндекс и Google дают возможность проверить корректность составления robots.txt:

    • В Вебмастер.Яндекс - анализ robots.txt .
    • В Google Search Console - ссылка , необходимо сначала добавить сайт в систему.

    Примеры настройки robots.txt

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

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

    # Все сканирующие роботы
    User-agent: *
    # Все роботы Яндекса
    User-agent: Yandex
    # Основной индексирующий робот Яндекса
    User-agent: YandexBot
    # Все роботы Google
    User-agent: Googlebot

    Все директивы следующие ниже за User-agent распространяют свое действие только на указанного робота. Для указания данных другому роботу следует еще раз написать директиву User-agent. Пример с несколькими User-agent:

    Использование нескольких User-agent

    # Будет использована основным роботом Яндекса
    User-agent: YandexBot
    Disallow: *request_* # Будет использована всеми роботами Google
    User-agent: Googlebot
    Disallow: *elem_id* # Будет использована всеми роботами Mail.ru
    User-agent: Mail.Ru
    Allow: *SORT_*

    Сразу после указания User-agent следует написать инструкции для выбранного робота. Нельзя указывать пустые сроки между командами в robots.txt, это будет не правильно понято сканирующими роботами.

    Разрешающие и запрещающие директивы

    Для запрета индексации используется директива "Disallow", для разрешения индексации "Allow":

    User-agent: *
    Allow: /abc/
    Disallow: /blog/

    Указано разрешение на индексацию раздела /abc/ и запрет на индексацию /blog/. По умолчанию все страницы сайта разрешены на индексацию и не нужно указывать для всех папок директиву Allow. Директива Allow необходима при открытии на индексацию подраздела. Например открыть индексацию для подраздела с ужатыми изображениями, но не открывать доступ к другим файлам в папке:

    User-agent: *
    Disallow: /upload/
    Allow: /upload/resize_image/

    Последовательность написания директив имеет значение. Сначала закрывается все папка от индексации, а затем открывается её подраздел.

    Запрещение индексации - Disallow

    Директива для запрета на сканирование - Disallow, индексация запрещается в зависимости от параметров, указанных в директиве.

    Полный запрет индексации

    User-agent: *
    Disallow: /

    Сайт закрывается от сканирования всех роботов.

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

    Disallow: /cat*
    Disallow: /cat

    Символ звездочка означает любое количество любых символов, которые могут идти следом. Вторая директива имеет тот же смысл.

    Disallow: *section_id*

    Запрещает индексацию всех Url, где встречается значение внутри звездочек.

    Disallow: /section/

    Закрывает от индексации раздел и все вложенные файлы и подразделы.

    Разрешение индексации - Allow

    Задача директивы Allow открывать для индексации url, которые подходят под условие. Синтаксис Allow сходен с синтаксисом Disallow.

    User-agent: *
    Disallow: /
    Allow: /fuf/

    Весь сайт закрыт от индексации, кроме раздел /fuf/.

    Директива Host

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

    User-agent: *
    Disallow: /bitrix/
    Host: mysite.ru

    В файле robots.txt директиву Host следует использовать только один раз, последующие указания игнорируются.

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

    User-agent: *
    Disallow: /bitrix/
    Host: https://domain.ru

    Директива Sitemap

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

    User-agent: *
    Disallow: /bitrix/
    Sitemap: http://domain.ru/sitemap.xml

    Исключение страниц с динамическими параметрами

    Директива Clean-param позволяет бороться с динамическими дублями страниц, когда содержимое страницы не меняется, но добавление Get-параметра делает Url уникальным. При составлении директивы сначала указывается название параметра, а затем область применения данной директивы:

    Clean-param: get1[&get2&get3&get4&..&getN] [Путь]

    Простой пример для страницы http://domain.ru/catalog/?&get1=1&get2=2&get3=3. Директива будет иметь вид:

    Clean-param: get1&get2&get3 /catalog/

    Данная директива будет работать для раздела /catalog/, можно сразу прописать действие директивы на весь сайт:

    Clean-param: get1&get2&get3 /

    Снижение нагрузки - Crawl-delay

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

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

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

    Типовой robots.txt для сайта на Bitrix

    В заключении полноценный файл robots.txt для системы 1С-Битрикс, который включает все типовые разделы:

    User-agent: *
    Disallow: /bitrix/
    Disallow: /admin/
    Disallow: /auth/
    Disallow: /personal/
    Disallow: /cgi-bin/
    Disallow: /search/
    Disallow: /upload/
    Allow: /upload/resize_cache/
    Allow: /upload/iblock/
    Disallow: *bxajaxid*
    Sitemap: http://domain.ru/sitemap.xml
    Host: domain.ru

    Robots.txt - это текстовый файл, который располагается в корне сайта - http://site.ru/robots.txt . Главное его предназначение - это задавать определённые директивы поисковым системам - что и когда делать на сайте.

    Самый простой Robots.txt

    Самый простой robots.txt , который всем поисковым системам, разрешает всё индексировать, выглядит вот так:

    User-agent : *
    Disallow :

    Если у директивы Disallow не стоит наклонный слеш в конце, то разрешены все страницы для индексации.

    Такая директива полностью запрещает сайт к индексации:

    User-agent : *
    Disallow : /

    User-agent - обозначает для кого предназначены директивы, звёздочка обозначает что для всех ПС, для Яндекса указывают User-agent: Yandex .

    В справке Яндекса написано, что его поисковые роботы обрабатывают User-agent: * , но если присутствует User-agent: Yandex , User-agent: * игнорируется.

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

    Существуют две основные директивы:

    Disallow – запретить

    Allow – разрешить

    Пример: На блоге мы запретили индексировать папку /wp-content/ где находятся файлы плагинов, шаблон и.т.п. Но так же там находятся изображения, которые должны быть проиндексированы ПС, для участия в поиске по картинкам. Для этого надо использовать такую схему:

    User-agent : *
    Allow : /wp-content/uploads/ # Разрешаем индексацию картинок в папке uploads
    Disallow : /wp-content/

    Порядок использования директив имеет значение для Яндекса, если они распространяются на одни страницы или папки. Если вы укажите вот так:

    User-agent : *
    Disallow : /wp-content/
    Allow : /wp-content/uploads/

    Изображения не будут загружаться роботом Яндекса с каталога /uploads/ , потому что исполняется первая директива, которая запрещает весь доступ к папке wp-content .

    Google относится проще и выполняет все директивы файла robots.txt, вне зависимости от их расположения.

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

    Disallow: /about Запретит доступ ко всему каталогу site.ru/about/ , так же не будут индексироваться страницы которые содержат about - site.ru/about.html , site.ru/aboutlive.html и.т.п.

    Disallow: /about/ Запретит индексацию роботам страниц в каталоге site.ru/about/ , а страницы по типу site.ru/about.html и.т.п. будут доступны к индексации.

    Регулярные выражения в robots.txt

    Поддерживается два символа, это:

    * - подразумевает любой порядок символов.

    Пример:

    Disallow: /about* запретит доступ ко всем страницам, которые содержат about, в принципе и без звёздочки такая директива будет так же работать. Но в некоторых случаях это выражение не заменимо. Например, в одной категории имеются страницы с.html на конце и без, чтобы закрыть от индексации все страницы которые содержат html, прописываем вот такую директиву:

    Disallow : /about/*.html

    Теперь страницы site.ru/about/live.html закрыта от индексации, а страница site.ru/about/live открыта.

    Ещё пример по аналогии:

    User-agent : Yandex
    Allow : /about/*.html #разрешаем индексировать
    Disallow : /about/

    Все страницы будут закрыты, кроме страниц которые заканчиваются на .html

    $ - обрезает оставшуюся часть и обозначает конец строки.

    Пример:

    Disallow: /about - Эта директива robots.txt запрещает индексировать все страницы, которые начинаются с about , так же идёт запрет на страницы в каталоге /about/ .

    Добавив в конце символ доллара - Disallow: /about$ мы сообщим роботам, что нельзя индексировать только страницу /about , а каталог /about/ , страницы /aboutlive и.т.п. можно индексировать.

    Директива Sitemap

    В этой директиве указывается путь к Карте сайта, в таком виде:

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

    Директива Host

    Указывается в таком виде:

    Host: site.ru

    Без http:// , наклонных слешей и тому подобных вещей. Если у вас главное зеркало сайта с www, то пишите:

    Host: www.site.ru

    Пример robots.txt для WordPress

    После того, когда были добавлены все нужные директивы, которые описаны выше. Вы должны получить примерно вот такой файл robots:

    User-agent: *
    Allow: /wp-content/uploads/
    Disallow: /cgi-bin
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /wp-content/
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /comments
    Disallow: /trackback
    Disallow: */trackback
    Disallow: */*/trackback
    Disallow: */*/feed/*/
    Disallow: */feed
    Disallow: /*?*
    Disallow: */comment-page*
    Disallow: /tag
    Allow: /
    Sitemap: https://сайт/sitemap.xml

    User-agent: Yandex
    Allow: /wp-content/uploads/
    Disallow: /cgi-bin
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /wp-content/
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /comments
    Disallow: /trackback
    Disallow: */trackback
    Disallow: */*/trackback
    Disallow: */*/feed/*/
    Disallow: */feed
    Disallow: /*?*
    Disallow: */comment-page*
    Disallow: /tag
    Allow: /
    Host: сайт

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

    Это так сказать базовый вариант robots.txt для wordpress. Здесь присутствует два User-agent-a – один для всех и второй для Яндекса, где указывается директива Host .

    Мета-теги robots

    Существует возможность закрыть от индексации страницу или сайт не только файлом robots.txt, это можно сделать при помощи мета-тега.

    <meta name = "robots" content = "noindex,nofollow" >

    Прописывать его надо в теге и этот мета тег запретит индексировать сайт. В WordPress существуют плагины, которые позволяют выставлять такие мета теги, например – Platinum Seo Pack . С помощью него можно закрыть от индексации любую страницу, он использует мета-теги.

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

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

    User-agent : *
    Crawl-delay : 5

    Таймаут между загрузкой двух страниц будет равен 5 секундам. Чтобы уменьшить нагрузку на сервер, обычно выставляют 15-20 секунд. Это директива нужны для больших, часто обновляемых сайтов, на которых поисковые боты просто «живут».

    Для обычных сайтов/блогов эта директива не нужна, но можно таким образом ограничить поведение других не актуальных поисковых роботов (Rambler, Yahoo, Bing) и.т.п. Ведь они тоже заходят на сайт и индексируют его, создавая тем самым нагрузку на сервер.



    Есть вопросы?

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

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