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




Директива Host – это команда или правило, сообщающее поисковой машине о том, какое (с www или без) считать основным. Находится директива Host в файле и предназначена исключительно для Яндекса.

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

Поисковые роботы Яндекса обходят страницы сайтов и добавляют собранную информацию в базу данных по собственному графику. В процессе индексации они самостоятельно решают, какую страницу необходимо обработать. К примеру, роботы обходят стороной различные форумы, доски объявлений, каталоги и прочие ресурсы, где индексация бессмысленна. Также они могут определять главный сайт и зеркала. Первые подлежат индексации, вторые – нет. В процессе часто возникают ошибки. Повлиять на это можно посредством использования директивы Host в файл Robots.txt.

Зачем нужен файл Robots.txt

Robots – это обычный текстовый файл. Его можно создать через блокнот, однако работать с ним (открывать и редактировать информацию) рекомендуется в текстовом редакторе Notepad++ . Необходимость данного файла при оптимизации веб-ресурсов обуславливается несколькими факторами:

  1. Если файл Robots.txt отсутствует, сайт будет постоянно перегружен из-за работы поисковых машин.
  2. Существует риск, что индексироваться будут лишние страницы или сайты зеркала.

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

Как оформить директиву Host в файле Robots.txt

Файл Robots включает в себя директиву Host – инструкцию для поисковой машины о том, где главный сайт, а где его зеркала.

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

  • Наличие в директиве Host протокола HTTPS для поддержки шифрования. Его необходимо использовать, если доступ к зеркалу осуществляется только по защищенному каналу.
  • Доменное имя, не являющееся IP-адресом, а также номер порта веб-ресурса.

Корректно составленная директива позволит веб-мастеру обозначить для поисковых машин, где главное зеркало. Остальные будут считаться второстепенными и, следовательно, индексироваться не будут. Как правило, зеркала можно отличить по наличию или отсутствию аббревиатуры www. Если пользователь не укажет главное зеркало веб-ресурса посредством Host, поисковая система Яндекс пришлет соответствующее уведомление в Вебмастер. Также уведомление будет выслано, если в файле Роботс задана противоречивая директива Host.

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

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

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

Хост в файле Роботс

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

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

Чтобы поисковые машины правильно считывали информацию при обработке файла robots.txt, необходимо прописывать директиву Host в соответствующую группу, начинающуюся после слов User-Agent. Однако, роботы смогут использовать Host независимо от того, будет директива прописана по правилам или нет, поскольку она является межсекционной.

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

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

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

Общие правила robots.txt

Во-первых, сам файл robots.txt должен иметь кодировку ANSI.

Во-вторых, нельзя использовать для написания правил никаких национальных алфавитов, возможна только латиница.

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

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

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

Комментирование в robots.txt

Для комментирования используется символ ‘#’. Если вы поставите в начале строки символ «решётки», то до конца строки всё содержимое игнорируется поисковыми роботами.

User-agent: *
Disallow: /css #пишем комментарий
#Пишем ещё один комментарий
Disallow: /img

Секции в файле robots.txt

При прочтении файла роботом, используется только секция адресованная роботу этой поисковой системы, то есть, если в секции, user-agent указано имя поисковой системы Яндекс, то его робот прочитает только адресованную ему секцию, игнорируя другие, в частности и секцию с директивой для всех роботов - User-agent:*.

Каждая из секций является самостоятельной. Секций может быть несколько, для роботов каждой или некоторых поисковых систем, так и одна универсальная, для всех роботов или роботов одной их систем. Если секция одна, то начинается она с первой строки файла и занимает все строки. Если секций несколько, то они должны разделяться пустой строкой, хотя бы одной.

Секция всегда начинается с директивы User-agent и содержит имя поисковой системы, для роботов которой предназначена, если это не универсальная секция для всех роботов. На практике это выглядит так:

User-agent:YandexBot
# юзер-агент для роботов системы Яндекс
User-agent: *
# юзер-агент для всех роботов

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

Директивы, что это?

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

Секция файла robots.txt состоит из отдельных команд,
директив. Общий синтаксис директив таков:

[Имя_директивы]:[необязательный пробел][значение][необязательный пробел]

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

Давайте опишем значения основных используемых директив.

Директива Disallow

Наиболее используемая директива в файле robots.txt, это «Disallow» - запрещающая. Директива «Disallow» запрещает индексацию указанного в ней пути. Это может быть отдельная страница, страницы, содержащие указанную «маску» в своём URL`е (пути), часть сайта, отдельная директория (папка) или сайт целиком.

«*» - звёздочка означает - «любое количество символов». То есть, путь /folder* одинаков по своему значению с «/folders», «/folder1», «/folder111», «/foldersssss» или «/folder». Роботы, при чтении правил, автоматически дописывают знак «*». В примере, приведённом ниже, обе директивы абсолютно равнозначны:

Disallow: /news
Disallow: /news*

«$» - знак доллара запрещает роботам при чтении директив автоматически дописывать символ «*» (звёздочка) в конце директивы. Другими словами, символ «$» означает конец строки сравнения. То есть, в нашем примере мы запрещаем индексацию папки «/folder», но не запрещаем в папках «/folder1», «/folder111» или «/foldersssss»:

User-agent: *
Disallow: /folder$

«#» - (шарп) знак комментария . Всё, что написано после этого значка, в одной с ним строке, игнорируется поисковыми системами.

Директива Allow

Директива ALLOW файла robots.txt противоположна по своему значению директиве DISSALOW, директива ALLOW разрешающая. В примере ниже показано, что мы запрещаем индексировать весь сайт кроме папки /folder:

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

Пример одновременного использования «Allow», «Disallow» и приоритетность

Не забывайте, о понимании приоритетности при запретах и разрешениях, при указании директив. Раньше приоритет указывался порядком объявления запретов и разрешений. Сейчас приоритет определяется указанием максимально существующего пути в пределах одного блока для робота поисковой системы (User-agent), в порядке увеличения длинны пути и месту указания директивы, чем длиннее путь, тем приоритетнее:

User-agent: *
Allow: /folders
Disallow: /folder

В приведённом примере выше разрешена индексация URL`ов начинающихся с «/folders», но запрещена в путях, которые имеют в своих URL`ах начало «/folder», «/folderssss» или «/folder2». В случае попадания одинакового пути под обе директивы «Allow» и «Disallow», предпочтение отдаётся директиве «Allow».

Пустое значение параметра в директивах «Allow» и «Disallow»

Встречаются ошибки WEB-мастеров, когда в файле robots.txt в директиве «Disallow»
забывают указать символ «/». Это является неправильным, ошибочным трактованием значений директив и их синтаксиса. В результате, запрещающая директива становится разрешающей: «Disallow:» абсолютно идентична «Allow: /». Правильный запрет на индексацию всего сайта выглядит так:

То же самое можно сказать и об «Allow:». Директива «Allow:» без символа «/» запрещает индексацию всего сайта, так же как и «Disallow: /».

Директива Sitemap

По всем канонам SEO-оптимизации, необходимо использовать карту сайта (SITEMAP) в формате XML и предоставлять её поисковым системам.

Несмотря на функциональность «кабинетов для WEB-мастеров» в поисковых системах, необходимо заявлять о присутствии sitemap.xml и в robots.txt с помощью директивы «SITEMAP ». Поисковые роботы при обходе вашего сайта увидят указание на файл sitemap.xml и будут обязательно использовать его при следующих обходах. Пример использования директивы sitemap в файле robots.txt:

User-agent: *
Sitemap: https://www.domainname.zone/sitemap.xml

Директива Host

Ещё одной важной директивой robots.txt является директива HOST .

Считается, что не все поисковые системы её распознают. Но «Яндекс» указывает, что читает эту директиву, а Яндекс в России является основным «поисковым кормильцем», поэтому не будем игнорировать директиву «host».

Эта директива говорит поисковым системам, какой домен является главным зеркалом. Все мы знаем, что сайт может иметь несколько адресов. В URL сайта может использоваться или не использоваться префикс WWW или сайт может иметь несколько доменных имён, например, domain.ru, domain.com, domen.ru, www.domen.ru. Вот именно в таких случаях мы и сообщаем поисковой системе в файле robots.txt с помощью директивы host, какое из этих имён является главным. Значением директивы является само имя главного зеркала. Приведём пример. Мы имеем несколько доменных имён (domain.ru, domain.com, domen.ru, www.domen.ru) и все они перенаправляют посетителей на сайт www.domen.ru, запись в файле robots.txt будет выглядеть так:

User-agent: *
Host: www.domen.ru

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

Директива HOST решает проблему дублей страниц, с которой очень часто сталкиваются WEB-мастера и SEO-специалисты. Поэтому директиву HOST нужно использовать обязательно, если вы нацелены на русскоязычный сегмент и вам важно ранжирование вашего сайта в поисковой системе «Яндекс». Повторимся, на сегодня о чтении этой директивы заявляет только «Яндекс». Для указания главного зеркала в других поисковых системах необходимо воспользоваться настройками в кабинетах WEB-мастеров. Не забывайте, что имя главного зеркала должно быть указано корректно (правильность написания, соблюдение кодировки и синтаксиса файла robots.txt). В файле эта директива допускается только один раз. Если вы по ошибке укажете её несколько раз, то роботы учтут только первое вхождение.

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

Данная директива является технической, командой поисковым роботам, как часто нужно посещать ваш сайт. Точнее, директива Crawl-delay указывает минимальный перерыв между посещениями вашего сайта роботами (краулерами поисковых систем). Зачем указывать это правило? Если роботы заходят к вам очень часто, а новая информация на сайте появляется намного реже, то со временем поисковые системы привыкнут к редкому изменению информации на вашем сайте и будут посещать вас значительно реже, чем хотелось бы вам. Это поисковый аргумент в пользу использования директивы «Crawl-delay». Теперь технический аргумент. Слишком частое посещение вашего сайта роботами создаёт дополнительную нагрузку на сервер, которая вам совсем не нужна. Значением директивы лучше указывать целое число, но сейчас некоторые роботы научились читать и дробные числа. Указывается время в секундах, например:

User-agent: Yandex
Crawl-delay: 5.5

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

Необязательная директива «Clean-param» указывает поисковым роботам параметры адресов сайта, которые не нужно индексировать и следует воспринимать, как одинаковые URL. Например, у вас одни и те же страницы выводятся по разным адресам, отличающимся одним или несколькими параметрами:

www.domain.zone/folder/page/
www.domain.zone/index.php?folder=folder&page=page1/
www.domain.zone/ index.php?folder=1&page=1

Поисковые роботы будут сканировать все подобные страницы и заметят, что страницы одинаковые, содержат один и тот же контент. Во-первых, это создаст путаницу в структуре сайта при индексации. Во-вторых, дополнительная нагрузка на сервер возрастёт. В третьих, скорость сканирования заметно упадёт. Чтобы избежать этих неприятностей и используется директива «Clean-param». Синтаксис следующий:

Clean-param: param1[¶m2¶m3¶m4& ... ¶m*N] [Путь]

Директиву «Clean-param», как и «Host» читают не все поисковые системы. Но Яндекс её понимает.

Ошибки, которые часто встречаются в robots.txt

Файл robots.txt находится не в корне сайта

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

Ошибка в имени файла robots.txt

Имя файла пишется маленькими буквами (нижний регистр) и должен называться robots. txt . Все остальные варианты считаются ошибочными и поисковые стсемы будут вам сообщать об отсутствии файла. Частые ошибки выглядят так:

ROBOTS.txt
Robots.txt
robot.txt

Использование недопустимых символов в robot.txt

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

Ошибки синтаксиса robots.txt

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

Перечисление нескольких роботов одной строкой в директиве User-agent

Ошибка, часто допускаемая начинающими WEB-мастерами, скорее из-за собственной лени, не разбивать файл robots.txt на секции, а объединять команды для нескольких поисковых систем в одной секции, например:

User-agent: Yandex, Googlebot, Bing

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

User-agent с пустым значением

Директива User-agent не может иметь пустое значение. Пустыми могут быть только «Allow» и «Disallow» и то с учётом того, что меняют своё значение. Указание директивы User-agent с пустым значением является грубейшей ошибкой.

Нескольких значений в директиве Disallow

Реже встречающаяся ошибка, но, тем не менее, периодически её можно видеть на сайтах, это указание нескольких значений в директивах Allow и Disallow, например:

Disallow: /folder1 /folder2 /folder3

Disallow: /folder1
Disallow: /folder2
Disallow: /folder3

Несоблюдение приоритетов директив в robots.txt

Эта ошибка уже описывалась выше, но для закрепления материала повторимся. Раньше приоритет определялся порядком указания директив. На сегодняшний день правила изменились, приоритет уточняется по длине строки. Если в файле будут присутствовать две взаимоисключающих директивы, Allow и Disallow с одинаковым содержимым, то приоритет будет иметь Allow.

Поисковые системы и robots.txt

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

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

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

Recommendations on the content of the file

Yandex supports the following directives:

Directive What it does
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay

We recommend using the crawl speed setting

Directive What it does
User-agent * Indicates the robot to which the rules listed in robots.txt apply.
Disallow Prohibits indexing site sections or individual pages.
Sitemap Specifies the path to the Sitemap file that is posted on the site.
Clean-param Indicates to the robot that the page URL contains parameters (like UTM tags) that should be ignored when indexing it.
Allow Allows indexing site sections or individual pages.
Crawl-delay

Specifies the minimum interval (in seconds) for the search robot to wait after loading one page, before starting to load another.

We recommend using the crawl speed setting in Yandex.Webmaster instead of the directive.

* Mandatory directive.

You"ll most often need the Disallow, Sitemap, and Clean-param directives. For example:

User-agent: * #specify the robots that the directives are set for Disallow: /bin/ # disables links from the Shopping Cart. Disallow: /search/ # disables page links of the search embedded on the site Disallow: /admin/ # disables links from the admin panel Sitemap: http://example.com/sitemap # specify for the robot the sitemap file of the site Clean-param: ref /some_dir/get_book.pl

Robots from other search engines and services may interpret the directives in a different way.

Note. The robot takes into account the case of substrings (file name or path, robot name) and ignores the case in the names of directives.

Using Cyrillic characters

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

For domain names, use Punycode . For page addresses, use the same encoding as that of the current site structure.

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

Нужен ли robots.txt?

С помощью robots.txt можно:

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

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

Где лежит файл Robots.txt?

Если вы хотите просто посмотреть, что находится в файле robots.txt, то просто введите в адресной строке браузера: site.ru/robots.txt.

Физически файл robots.txt находится в корневой папке сайта на хостинге. У меня хостинг beget.ru , поэтому покажу расположения файла robots.txt на этом хостинге.


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

Файл robots.txt состоит из одного или нескольких правил. Каждое правило блокирует или разрешает индексирование пути на сайте.

  1. В текстовом редакторе создайте файл с именем robots.txt и заполните его в соответствии с представленными ниже правилами.
  2. Файл robots.txt должен представлять собой текстовый файл в кодировке ASCII или UTF-8. Символы в других кодировках недопустимы.
  3. На сайте должен быть только один такой файл.
  4. Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать индексацию всех страниц сайта http://www.example.com/ , файл robots.txt следует разместить по адресу http://www.example.com/robots.txt . Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  5. Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website .example.com/robots.txt) или нестандартными портами (например, http://example.com:8181 /robots.txt).
  6. Проверьте файл в сервисе Яндекс.Вебмастер и Google Search Console.
  7. Загрузите файл в корневую директорию вашего сайта.

Вот пример файла robots.txt с двумя правилами. Ниже есть его объяснение.

User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Объяснение

  1. Агент пользователя с названием Googlebot не должен индексировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (можно опустить, результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

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

Чтобы запретить индексирование и доступ робота к сайту или некоторым его разделам, используйте директиву Disallow.

User-agent: Yandex Disallow: / # блокирует доступ ко всему сайту User-agent: Yandex Disallow: /cgi-bin # блокирует доступ к страницам, # начинающимся с "/cgi-bin"

В соответствии со стандартом перед каждой директивой User-agent рекомендуется вставлять пустой перевод строки.

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

Чтобы разрешить доступ робота к сайту или некоторым его разделам, используйте директиву Allow

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц # начинающихся с "/cgi-bin"

Недопустимо наличие пустых переводов строки между директивами User-agent, Disallow и Allow.

Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то робот выбирает последнюю в порядке появления в сортированном списке. Таким образом, порядок следования директив в файле robots.txt не влияет на использование их роботом. Примеры:

# Исходный robots.txt: User-agent: Yandex Allow: /catalog Disallow: / # Сортированный robots.txt: User-agent: Yandex Disallow: / Allow: /catalog # разрешает скачивать только страницы, # начинающиеся с "/catalog" # Исходный robots.txt: User-agent: Yandex Allow: / Allow: /catalog/auto Disallow: /catalog # Сортированный robots.txt: User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/auto # запрещает скачивать страницы, начинающиеся с "/catalog", # но разрешает скачивать страницы, начинающиеся с "/catalog/auto".

При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow.

Использование спецсимволов * и $

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

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

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

User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает "/cgi-bin/example.aspx" # и "/cgi-bin/private/test.aspx" Disallow: /*private # запрещает не только "/private", # но и "/cgi-bin/private"

Директива Sitemap

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

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

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

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

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

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

Перед тем, как изменить скорость обхода сайта, выясните к каким именно страницам робот обращается чаще.

  • Проанализируйте логи сервера. Обратитесь к сотруднику, ответственному за сайт, или к хостинг-провайдеру.
  • Посмотрите список URL на странице Индексирование → Статистика обхода в Яндекс.Вебмастере (установите переключатель в положение Все страницы).

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

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

Директива работает только с роботом Яндекса.

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

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

Например, на сайте есть страницы:

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

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

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

робот Яндекса сведет все адреса страницы к одному:

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

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

Синтаксис директивы

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

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

Примечание. Директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.

Префикс может содержать регулярное выражение в формате, аналогичном файлу robots.txt, но с некоторыми ограничениями: можно использовать только символы A-Za-z0-9.-/*_. При этом символ * трактуется так же, как в файле robots.txt: в конец префикса всегда неявно дописывается символ *. Например:

Clean-param: s /forum/showthread.php

Регистр учитывается. Действует ограничение на длину правила - 500 символов. Например:

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

Директива HOST

На данный момент Яндекс прекратил поддержку данной директивы.

Правильный robots.txt: настройка

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

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

Правильный Robots.txt пример для WordPress

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 Sitemap: http://site.ru/sitemap.xml # адрес карты сайта 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 # аналогично

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/

Robots.txt пример для Bitrix

User-agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*?action=
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*?COURSE_ID=
Disallow: /*?PAGEN
Disallow: /*PAGEN_1=
Disallow: /*PAGEN_2=
Disallow: /*PAGEN_3=
Disallow: /*PAGEN_4=
Disallow: /*PAGEN_5=
Disallow: /*PAGEN_6=
Disallow: /*PAGEN_7=

Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*SHOWALL
Disallow: /*show_all=
Sitemap: http://путь к вашей карте XML формата

Robots.txt пример для MODx

User-agent: *
Disallow: /assets/cache/
Disallow: /assets/docs/
Disallow: /assets/export/
Disallow: /assets/import/
Disallow: /assets/modules/
Disallow: /assets/plugins/
Disallow: /assets/snippets/
Disallow: /install/
Disallow: /manager/
Sitemap: http://site.ru/sitemap.xml

Robots.txt пример для Drupal

User-agent: *
Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/
Disallow: /updates/
Disallow: /profiles/
Disallow: /profile
Disallow: /profile/*
Disallow: /xmlrpc.php
Disallow: /cron.php
Disallow: /update.php
Disallow: /install.php
Disallow: /index.php
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: *register*
Disallow: *login*
Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/
Disallow: /your-votes
Disallow: /comments/recent
Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/
Disallow: /taxonomy/term/*/0$
Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$
Disallow: /*downloadpipe
Disallow: /node$
Disallow: /node/*/track$
Disallow: /*&
Disallow: /*%
Disallow: /*?page=0
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Allow: /*?page=
Disallow: /*?
Sitemap: http://путь к вашей карте XML формата

ВНИМАНИЕ!

CMS постоянно обновляются. Возможно, понадобиться закрыть от индексации другие страницы. В зависимости от цели, запрет на индексацию может сниматься или, наоборот, добавляться.

Проверить robots.txt

У каждого поисковика свои требования к оформлению файла robots.txt.

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

Проверка robotx.txt для поискового робота Яндекса

Сделать это можно при помощи специального инструмента от Яндекс - Яндекс.Вебмастер , еще и двумя вариантами.

Вариант 1:

Справа вверху выпадающий список – выберите Анализ robots.txt или по ссылке http://webmaster.yandex.ru/robots.xml

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

Проверка robotx.txt для поискового робота Google

  1. В Google Search Console выберите ваш сайт, перейдите к инструменту проверки и просмотрите содержание файла robots.txt . Синтаксические и логические ошибки в нем будут выделены, а их количество – указано под окном редактирования.
  2. Внизу на странице интерфейса укажите нужный URL в соответствующем окне.
  3. В раскрывающемся меню справа выберите робота .
  4. Нажмите кнопку ПРОВЕРИТЬ .
  5. Отобразится статус ДОСТУПЕН или НЕДОСТУПЕН . В первом случае роботы Google могут переходить по указанному вами адресу, а во втором – нет.
  6. При необходимости внесите изменения в меню и выполните проверку заново. Внимание! Эти исправления не будут автоматически внесены в файл robots.txt на вашем сайте.
  7. Скопируйте измененное содержание и добавьте его в файл robots.txt на вашем веб-сервере.

Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

Генераторы robots.txt

  1. Сервис от SEOlib.ru .С помощью данного инструмента можно быстро получить и проверить ограничения в файле Robots.txt.
  2. Генератор от pr-cy.ru .В результате работы генератора Robots.txt вы получите текст, который необходимо сохранить в файл под названием Robots.txt и загрузить в корневой каталог вашего сайта.

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

Когда простой интерес перерос в серьезное увлечение, появились силы и желание изучить все тонкости. На форумах можно встретить множество тем, связанных с этим файлом, почему? Все просто: robots.txt регулирует доступ поисковых систем к сайту, управляя индексированием и это очень важно!

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

Зачем скрывать определенное содержимое сайта? Вряд ли Вы обрадуетесь, если поисковый робот проиндексирует файлы администрирования сайта, в которых могут храниться пароли или другая секретная информация.

Для регулирования доступа существуют различные директивы:

  • User-agent — агент пользователя, для которого указаны правила доступа,
  • Disallow — запрещает доступ к URL,
  • Allow — разрешает доступ к URL,
  • Sitemap — указывает путь к ,
  • Crawl-delay — задает интервал сканирования URL (только для Яндекса),
  • Clean-param — игнорирует динамические параметры URL (только для Яндекса),
  • Host — указывает главное зеркало сайта (только для Яндекса).

Обратите внимание, с 20 марта 2018 года Яндекс официально прекратил поддержку директивы Host. Её можно удалить из robots.txt, а если оставить, то робот её просто игнорирует.

Располагаться файл должен в корневом каталоге сайта. Если у сайта есть поддомены, то для каждого поддомена составляется свой robots.txt.

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

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

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

Для запрета индексирования страниц возможно применение иных средств:

  • редирект или на каталог с помощью файла.htaccess,
  • мета-тег noindex (не путать с тегом для запрета индексации части текста),
  • атрибут для ссылок, а также удаление ссылок на лишние страницы.

При этом Google может успешно добавить в поисковую выдачу страницы, запрещенные к индексации, несмотря на все ограничения. Его основной аргумент — если на страницу ссылаются, значит она может появится в результатах поиска. В данном случае рекомендуется не ссылаться на такие страницы, но позвольте, файл robots.txt как раз и предназначен для того, чтобы выкинуть из выдачи такие страницы… На мой взгляд, логика отсутствует 🙄

Удаление страниц из поиска

Если запрещенные страницы все же были проиндексированы, то необходимо воспользоваться Google Search Console и входящим в ее состав инструментом удаления URL-адресов:

Аналогичный инструмент есть в Яндекс Вебмастере. Подробнее об удалении страниц из индекса поисковых систем в отдельной статье.

Проверка robots.txt

Продолжая тему с Google, можно воспользоваться еще одним инструментом Search Console и проверить файл robots.txt, правильно ли он составлен для запрета индексирования определенных страниц:

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

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

Если Вы не знаете как правильно составить файл, то просто создайте пустой текстовый документ с именем robots.txt , а по мере изучения особенностей CMS и структуры сайта дополните его необходимыми директивами.

О правильном составлении файла читайте по ссылке. До встречи!