Robots txt запретить индексацию. Как запретить индексацию нужных страниц. Disallow и Allow с пустым значением параметра

Файл robots.txt — текстовый файл в формате.txt, ограничивающий поисковым роботам доступ к содержимому на http-сервере. Как определение, Robots.txt — это стандарт исключений для роботов , который был принят консорциумом W3C 30 января 1994 года, и который добровольно использует большинство поисковых систем. Файл robots.txt состоит из набора инструкций для поисковых роботов, которые запрещают индексацию определенных файлов, страниц или каталогов на сайте. Рассмотрим описание robots.txt для случая, когда сайт не ограничивает доступ роботам к сайту.

Простой пример robots.txt:

User-agent: * Allow: /

Здесь роботс полностью разрешает индексацию всего сайта.

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

Ваш_сайт.ru/robots.txt

Для размещения файла robots.txt в корне сайта обычно необходим доступ через FTP . Однако, некоторые системы управления (CMS) дают возможность создать robots.txt непосредственно из панели управления сайтом или через встроенный FTP-менеджер.

Если файл доступен, то вы увидите содержимое robots.txt в браузере.

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

Roots.txt для сайта является важным аспектом . Зачем нужен robots.txt ? Например, в SEO robots.txt нужен для того, чтобы исключать из индексации страницы, не содержащие полезного контента и многое другое . Как, что, зачем и почему исключается уже было описано в статье про , здесь не будем на этом останавливаться. Нужен ли файл robots.txt всем сайтам? И да и нет. Если использование robots.txt подразумевает исключение страниц из поиска, то для небольших сайтов с простой структурой и статичными страницами подобные исключения могут быть лишними. Однако, и для небольшого сайта могут быть полезны некоторые директивы robots.txt , например директива Host или Sitemap, но об этом ниже.

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

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

Cоздать robots.txt онлайн

Вариант для ленивых — создать роботс онлайн и скачать файл robots.txt уже в готовом виде. Создание robots txt онлайн предлагает множество сервисов, выбор за вами. Главное — четко понимать, что будет запрещено и что разрешено, иначе создание файла robots.txt online может обернуться трагедией , которую потом может быть сложно исправить. Особенно, если в поиск попадет то, что должно было быть закрытым. Будьте внимательны — проверьте свой файл роботс, прежде чем выгружать его на сайт. Все же пользовательский файл robots.txt точнее отражает структуру ограничений, чем тот, что был сгенерирован автоматически и скачан с другого сайта. Читайте дальше, чтобы знать, на что обратить особое внимание при редактировании robots.txt.

Редактирование robots.txt

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

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

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

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

Правильный robots.txt начинается с директивы User-agent , которая указывает, к какому роботу обращены конкретные директивы.

Примеры User-agent в robots.txt:

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

Учитывайте, что подобная настройка файла robots.txt указывает роботу использовать только директивы, соответствующие user-agent с его именем.

Пример robots.txt с несколькими вхождениями User-agent:

# Будет использована всеми роботами Яндекса User-agent: Yandex Disallow: /*utm_ # Будет использована всеми роботами Google User-agent: Googlebot Disallow: /*utm_ # Будет использована всеми роботами кроме роботов Яндекса и Google User-agent: * Allow: /*utm_

Директива User-agent создает лишь указание конкретному роботу, а сразу после директивы User-agent должна идти команда или команды с непосредственным указанием условия для выбранного робота. В примере выше используется запрещающая директива «Disallow», которая имеет значение «/*utm_». Таким образом, закрываем все . Правильная настройка robots.txt запрещает наличие пустых переводов строки между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

Пример неправильного перевода строки в robots.txt:

Пример правильного перевода строки в robots.txt:

User-agent: Yandex Disallow: /*utm_ Allow: /*id= User-agent: * Disallow: /*utm_ Allow: /*id=

Как видно из примера, указания в robots.txt поступают блоками , каждый из которых содержит указания либо для конкретного робота, либо для всех роботов «*».

Кроме того, важно соблюдать правильный порядок и сортировку команд в robots.txt при совместном использовании директив, например «Disallow» и «Allow». Директива «Allow» — разрешающая директива, является противоположностью команды robots.txt «Disallow» — запрещающей директивы.

Пример совместного использования директив в robots.txt:

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

Данный пример запрещает всем роботам индексацию всех страниц, начинающихся с «/blog», но разрешает индексации страниц, начинающиеся с «/blog/page».

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

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

Сначала запрещаем весь раздел, потом разрешаем некоторые его части.

Еще один правильный пример robots.txt с совместными директивами:

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

Обратите внимание на правильную последовательность директив в данном robots.txt.

Директивы «Allow» и «Disallow» можно указывать и без параметров, в этом случае значение будет трактоваться обратно параметру «/».

Пример директивы «Disallow/Allow» без параметров:

User-agent: * Disallow: # равнозначно Allow: / Disallow: /blog Allow: /blog/page

Как составить правильный robots.txt и как пользоваться трактовкой директив — ваш выбор. Оба варианта будут правильными. Главное — не запутайтесь.

Для правильного составления robots.txt необходимо точно указывать в параметрах директив приоритеты и то, что будет запрещено для скачивания роботам. Более полно использование директив «Disallow» и «Allow» мы рассмотрим чуть ниже, а сейчас рассмотрим синтаксис robots.txt. Знание синтаксиса robots.txt приблизит вас к тому, чтобы создать идеальный robots txt своими руками .

Синтаксис robots.txt

Роботы поисковых систем добровольно следуют командам robots.txt — стандарту исключений для роботов, однако не все поисковые системы трактуют синтаксис robots.txt одинаково. Файл robots.txt имеет строго определённый синтаксис, но в то же время написать robots txt не сложно, так как его структура очень проста и легко понятна.

Вот конкретные список простых правил, следуя которым, вы исключите частые ошибки robots.txt :

  1. Каждая директива начинается с новой строки;
  2. Не указывайте больше одной директивы в одной строке;
  3. Не ставьте пробел в начало строки;
  4. Параметр директивы должен быть в одну строку;
  5. Не нужно обрамлять параметры директив в кавычки;
  6. Параметры директив не требуют закрывающих точки с запятой;
  7. Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
  8. Допускаются комментарии в robots.txt после знака решетки #;
  9. Пустой перевод строки может трактоваться как окончание директивы User-agent;
  10. Директива «Disallow: » (с пустым значением) равнозначна «Allow: /» — разрешить все;
  11. В директивах «Allow», «Disallow» указывается не более одного параметра;
  12. Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
  13. Написание названия директив и параметров заглавными буквами считается плохим тоном и если по стандарту, robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий;
  14. Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /category
  15. Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
  16. Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
  17. Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
  18. В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
  19. Использование любых символов национальных алфавитов в robots.txt не допускается.

Поскольку разные поисковые системы могут трактовать синтаксис robots.txt по-разному, некоторые пункты можно опустить. Так например, если прописать несколько директив «User-agent» без пустого перевода строки, все директивы «User-agent» будут восприняты корректно Яндексом, так как Яндекс выделяет записи по наличию в строке «User-agent».

В роботсе должно быть указано строго только то, что нужно, и ничего лишнего. Не думайте, как прописать в robots txt все , что только можно и чем его заполнить. Идеальный robots txt — это тот, в котором меньше строк, но больше смысла. «Краткость — сестра таланта». Это выражение здесь как нельзя кстати.

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

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

Проверка файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml

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

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

Robots.txt vs Яндекс и Google

Есть субъективное мнение, что указание отдельного блока директив «User-agent: Yandex» в robots.txt Яндекс воспринимает более позитивно, чем общий блок директив с «User-agent: *». Аналогичная ситуация robots.txt и Google. Указание отдельных директив для Яндекс и Google позволяет управлять индексацией сайта через robots.txt. Возможно, им льстит персонально обращение, тем более, что для большинства сайтов содержимое блоков robots.txt Яндекса, Гугла и для других поисковиков будет одинаково. За редким исключением, все блоки «User-agent» будут иметь стандартный для robots.txt набор директив. Так же, используя разные «User-agent» можно установить запрет индексации в robots.txt для Яндекса , но, например не для Google.

Отдельно стоит отметить, что Яндекс учитывает такую важную директиву, как «Host», и правильный robots.txt для яндекса должен включать данную директиву для указания главного зеркала сайта. Подробнее директиву «Host» рассмотрим ниже.

Запретить индексацию: robots.txt Disallow

Disallow — запрещающая директива , которая чаще всего используется в файле robots.txt. Disallow запрещает индексацию сайта или его части, в зависимости от пути, указанного в параметре директивы Disallow.

Пример как в robots.txt запретить индексацию сайта:

User-agent: * Disallow: /

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

В параметре директивы Disallow допускается использование специальных символов * и $:

* — любое количество любых символов, например, параметру /page* удовлетворяет /page, /page1, /page-be-cool, /page/kak-skazat и т.д. Однако нет необходимости указывать * в конце каждого параметра, так как например, следующие директивы интерпретируются одинаково:

User-agent: Yandex Disallow: /page User-agent: Yandex Disallow: /page*

$ — указывает на точное соответствие исключения значению параметра:

User-agent: Googlebot Disallow: /page$

В данном случае, директива Disallow будет запрещать /page, но не будет запрещать индексацию страницы /page1, /page-be-cool или /page/kak-skazat.

Если закрыть индексацию сайта robots.txt , в поисковые системы могут отреагировать на так ход ошибкой «Заблокировано в файле robots.txt» или «url restricted by robots.txt» (url запрещенный файлом robots.txt). Если вам нужно запретить индексацию страницы , можно воспользоваться не только robots txt, но и аналогичными html-тегами:

  • - не индексировать содержимое страницы;
  • - не переходить по ссылкам на странице;
  • - запрещено индексировать содержимое и переходить по ссылкам на странице;
  • — аналогично content=»none».

Разрешить индексацию: robots.txt Allow

Allow — разрешающая директива и противоположность директиве Disallow. Эта директива имеет синтаксис, сходный с Disallow.

Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:

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

Запрещается индексировать весь сайт , кроме страниц, начинающихся с /page.

Disallow и Allow с пустым значением параметра

Пустая директива Disallow:

User-agent: * Disallow:

Не запрещать ничего или разрешить индексацию всего сайта и равнозначна:

User-agent: * Allow: /

Пустая директива Allow:

User-agent: * Allow:

Разрешить ничего или полный запрет индексации сайта, равнозначно:

User-agent: * Disallow: /

Главное зеркало сайта: robots.txt Host

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

Mysite.ru mysite.com

Или для определения приоритета между:

Mysite.ru www.mysite.ru

Роботу Яндекса можно указать, какое зеркало является главным . Директива Host указывается в блоке директивы «User-agent: Yandex» и в качестве параметра, указывается предпочтительный адрес сайта без «http://».

Пример robots.txt с указанием главного зеркала:

User-agent: Yandex Disallow: /page Host: mysite.ru

В качестве главного зеркала указывается доменное имя mysite.ru без www. Таки образом, в результатах поиска буде указан именно такой вид адреса.

User-agent: Yandex Disallow: /page Host: www.mysite.ru

В качестве основного зеркала указывается доменное имя www.mysite.ru.

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

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

Карта сайта: robots.txt sitemap

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

Пример robots.txt с указанием адреса карты сайта:

User-agent: * Disallow: /page Sitemap: http://www.mysite.ru/sitemap.xml

Указание адреса карты сайта через директиву Sitemap в robots.txt позволяет поисковому роботу узнать о наличии карты сайта и начать ее индексацию.

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

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

Синтаксис директивы Clean-param:

Clean-param: parm1[&parm2&parm3&parm4&..&parmn] [Путь]

Рассмотрим на примере страницы со следующим URL:

Www.mysite.ru/page.html?&parm1=1&parm2=2&parm3=3

Пример robots.txt Clean-param:

Clean-param: parm1&parm2&parm3 /page.html # только для page.html

Clean-param: parm1&parm2&parm3 / # для всех

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

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

Пример robots.txt Crawl-delay:

User-agent: Yandex Disallow: /page Crawl-delay: 3

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

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

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

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

Инструкции для роботов позволяют запрещать к сканированию файлы/каталоги/страницы, ограничивать частоту доступа к сайту, указывать зеркало и XML карту. Каждую инструкцию пишут с новой строки в следующем формате:

[директива]: [значение]

Весь список директив разбивают на секции (записи), разделяя их одной или несколькими пустыми строками. Новую секцию начинают с одной или нескольких инструкций User-agent. Запись должна содержать как минимум одну директиву User-agent и одну Disallow.

Текст после символа # (решетка) считается комментарием и игнорируется поисковыми роботами.

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

User-agent — первая директива в секции, сообщает имена роботов, для которых предназначены следующие за ней правила. Звездочка в значении обозначает любое имя, разрешается только одна секция с инструкциями для всех роботов. Пример:

# инструкции для всех роботов User-agent: * ... # инструкции для роботов Яндекса User-agent: Yandex ... # инструкции для роботов Google User-agent: Googlebot ...

Директива Disallow

Disallow — основная директива, запрещающая сканирование URL/файлов/каталогов, имена которых полностью или частично совпадают с указанными после двоеточия.

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

Примеры директивы Disallow:

# пустое значение разрешает индексировать все User-agent: * Disallow: # запрещает сканировать весь сайт User-agent: * Disallow: / # запрещает к сканированию все файлы и/или каталоги, начинающиеся из символов "wp-" User-agent: * Disallow: /wp- # запрещает сканировать файлы page-1.php, page-vasya.php, page-news-345.php # вместо * может встречаться любая последовательность символов User-agent: * Disallow: /page-*.php

Директива Allow (неофициальная)

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

# запрещает сканировать ресурсы начинающиеся с /catalog # но разрешает сканировать страницу /catalog/page.html User-agent: Yandex Disallow: /catalog Allow: /catalog/page.html

Sitemap (неофициальная)

Sitemap — директива, указывающая адрес карты сайта в формате XML. Эта директива так же не описана в стандарте исключений и поддерживается не всеми роботами (работает для Яндекс, Google, Ask, Bing и Yahoo). Можно указывать одну или несколько карт — все будут учтены. Может использоваться без User-agent после пустой строки. Пример:

# одна или несколько карт в формате XML, указывается полный URL Sitemap: http://sitename.com/sitemap.xml Sitemap: http://sitename.com/sitemap-1.xml

Директива Host (только Яндекс)

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

# указываем главное зеркало в секции для Яндекса User-agent: Yandex Disallow: Host: sitename.com # главное зеркало для сайта с SSL сертификатом User-agent: Yandex Disallow: Host: https://sitename.com # или отдельно без User-agent после пустой строки Host: sitename.com

Другие директивы

Роботы Яндекса также понимают директивы Crawl-delay и Clean-param . Детальнее об их использовании читайте в справочной документации.

Роботы, директивы robots.txt и индекс поисковых систем

Ранее поисковые роботы следовали директивам robots.txt и не добавляли в индекс «запрещенных» там ресурсов.

Сегодня все обстоит иначе. Если Яндекс послушно исключит из индекса адреса, запрещенные в файле роботс, то Google поступит совершенно иначе. Он обязательно добавит их индекс, но в результатах поиска будет стоять надпись «Описание веб-страницы недоступно из-за ограничений в файле robots.txt» .

Почему Google добавляет в индекс страницы, запрещенные в robots.txt?

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

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

Это означает, что робот директивы учитывает, но поступает все-же по-своему. И он может добавить в индекс страницу, запрещенную в robots.txt, если встретит на нее ссылку.

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

Индекс Google + некорректный robots.txt = ДУБЛИ

Практически каждое руководство в сети говорит о том, что закрытие страниц в robots.txt запрещает их индексацию.

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

Google предлагает два действительно рабочих варианта для исключения из индекса ресурсов веб-сайта:

  1. закрытие паролем (применяется для файлов вроде.doc, .pdf, .xls и других)
  2. добавление метатега robots с атрибутом noindex в (применяется для веб-страниц):

Главное, что нужно учесть:

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

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

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

Если внимательно ознакомиться с предыдущим разделом, то становится понятно, что сегодня не стоит практиковать чрезмерный запрет адресов в robots.txt , по крайне мере для Google. Управлять индексацией страниц лучше через метатег robots.

Вот самый банальный и при этом совершенно правильный robots.txt для WordPress:

User-agent: * Disallow: Host: sitename.com

Удивлены? Еще бы! Все гениальное просто 🙂 На западных ресурсах, где нету Яндекса, рекомендации по составлению robots.txt для WordPress сводятся к двум первым строчкам, как это показали авторы WordPress SEO by Yoast .

Правильно настроенный SEO-плагин позаботится о канонических ссылках и метатеге robots со значением noindex, а страницы админки под паролем и не нуждаются в запрете индексации (исключением могут быть только страницы входа и регистрации на сайта — убедитесь, что на них есть meta тег robots со значением noindex). Карту сайта правильнее добавить вручную в вебмастере поисковой системы и заодно проследить, чтобы она была корректно прочитана. Осталось единственное и важное для рунета — указать главное зеркало для Яндекса.

Еще один вариант, подойдет для менее смелых:

User-agent: * Disallow: /wp-admin Host: sitename.com Sitemap: http://sitename.com/sitemam.xml

В первой секции запрещается индексация для всех роботов каталога wp-admin и его содержимого. В последних двух строках указанные зеркало сайта для робота Яндекса и карта сайта.

Прежде чем изменять свой robots.txt…

Если приняли решение о смене директив в robots.txt, то сначала позаботьтесь о трех вещах:

  1. Убедитесь, что в корне вашего сайта нету дополнительных файлов или каталогов, содержимое которых стоит скрыть от сканирования (это могут быть личные файлы или медиаресурсы);
  2. Включите канонические ссылки в своем SEO-плагине (это исключит из индекса URL c параметрами запроса вроде http://sitename.com/index.php?s=word )
  3. Настройте вывод метатега robots со значением noindex на страницах, которые хотите скрыть от индексации (для WordPress это архивы по дате, метке, автору и страницы пагинации). Сделать это можно для части страниц в настройках SEO-плагинов (в All In One SEO неполные настройки). Или специальным кодом вывести самостоятельно: /* ========================================================================== * Добавляем свой * ========================================================================== */ function my_meta_noindex () { if (//is_archive() OR // любые страницы архивов - за месяц, за год, по рубрике, по авторам //is_category() OR // архивы рубрик is_author() OR // архивы статей по авторам is_time() OR // архивы статей по времени is_date() OR // архивы статей по любым датам is_day() OR // архивы статей по дням is_month() OR // архивы статей по месяцам is_year() OR // архивы статей по годам is_tag() OR // архивы статей по тегам is_tax() OR // архивы статей для пользовательской таксономии is_post_type_archive() OR // архивы для пользовательского типа записи //is_front_page() OR // статическая главная страница //is_home() OR // главная страница блога с последними записями //is_singular() OR // любые типы записей - одиночные посты, страницы, вложения и т.д. //is_single() OR // любой одиночный пост любого типа постов (кроме вложений и Страниц) //is_page() OR // любая одиночная Страница ("Страницы" в админке) is_attachment() OR // любая страница вложения is_paged() OR // все и любые страницы пагинации is_search() // страницы результатов поиска по сайту) { echo "".""."\n"; } } add_action("wp_head", "my_meta_noindex", 3); /* ========================================================================== */

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

В двух словах о том, что закрывать в robots.txt

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

Используйте файл robots.txt, чтобы управлять доступом к файлам и каталогам сервера . Файл robots.txt играет роль электронного знака «Вход запрещен: частная территория»

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

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

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

Быстрая индексация сайта

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

Плохая, медленная индексация сайта

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

  • Страницы сайта медленно загружаются . Это может стать причиной полного исключения сайта из индекса.
  • Сайт редко обновляется . Зачем роботу часто приходить на сайт, на котором новые страницы появляются раз в месяц.
  • Неуникальный контент . Если на сайте размещен (статьи, фотографии), поисковая система снизит трастовость (доверие) к вашему сайту и снизит расход ресурсов на его индексацию.
  • Большое количество страниц . Если на сайте много страниц и не , то на индексацию или переиндексацию всех страниц сайта может уйти очень много времени.
  • Сложная структура сайта . Запутанная структура сайта и большие количество вложений сильно затрудняют индексацию страниц сайта.
  • Много «лишних» страниц . На каждом сайте есть целевые страницы, содержание которых статично, уникально и полезно для пользователей и побочные страницы, вроде , авторизации или страниц фильтров. Если подобные страницы существуют, их как правило очень много, но в индексацию попадают далеко не все. А страницы, которые попадают — конкурируют с целевыми страницами. Все эти страницы регулярно переиндексируются, расходуя и так ограниченый ресурс, выделенный на индексацию вашего сайта.
  • Динамические страницы . Если на сайте существуют страницы, содержимое которых не зависит от динамических параметров (пример: site.ru/page.html?lol=1&wow=2&bom=3), в результате может появиться множество дублей целевой страницы site.ru/page.html.

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

Убрать из индексации все лишнее

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

Используя дерективы Allow, Disallow, Clean-param и другие, можно эффективно распределить не только внимание поискового робота, но и существенно снизить нагрузку на сайт.

Для начала, нужно исключить из индексации все лишнее, используя дерективу Disallow.

Например, запретим страницы логина и регистрации:

Disallow: /login Disallow: /register

Запретим индексацию тегов:

Disallow: /tag

Некоторых динамических страниц:

Disallow: /*?lol=1

Или всех динамических страницы:

Disallow: /*?*

Или сведем на нет страницы с динамическими параметрами:

Clean-param: lol&wow&bom /

На многих сайтах, число страниц найденых роботом может отличаться от числа страниц в поиске в 3 и более раз. То есть, более 60% страниц сайта не участвуют в поиске и являются баластом, который нужно либо ввести в поиск, либо избавится от него. Исключив, нецелвые страницы и приблизив количество страниц в поиске к 100% вы увидите существенный прирост к скорости индексации сайта, рост позиций в поисковой выдаче и больше трафика.

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

Сбрасывайте ненужный баласт и быстрее идите в топ.

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

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

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

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

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

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

«User-agent:» – основная директива robots.txt

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

  • User-agent: Googlebot – все команды, которые последуют после этой базовой директивы, будет касаться исключительно поисковой системы Google (ее индексирующего робота);
  • User-agent: Yandex – адресат в данном случае отечественный поисковик Яндекс.

В файле robots.txt можно обратиться ко всем остальным поисковым системам вместе взятым. Команда в этом случае будет выглядеть так: User-agent: * . Под специальным символом «*» принято понимать «любой текст». В нашем случае – любые другие, кроме Яндекса, поисковики. Гугл, кстати, тоже воспринимает данную директиву на свой счет, если не обращаться лично к нему.

Команда «Disallow:» – запрет индексации в robots.txt

После основной директивы «User-agent:», обращенной к поисковым системам, могут следовать конкретные команды. В их числе самой распространенной можно считать директиву «Disallow: ». При помощи этой команды поисковому роботу можно запретить индексировать веб-ресурс целиком или какую-то его часть. Все зависит от того, какое расширение будет у данной директивы. Рассмотрим примеры:

User-agent: Yandex Disallow: /

Такого рода запись в файле robots.txt означает, что поисковому роботу Яндекса вообще не позволено индексировать данный сайт, так как запрещающий знак «/» стоит в гордом одиночестве и не сопровождается какими-то уточнениями.

User-agent: Yandex Disallow: /wp-admin

Как видно, на этот раз уточнения имеются и касаются они системной папки wp-admin в . То есть индексирующий робот посредством данной команды (прописанному в ней пути) откажется от индексации всей этой папки.

User-agent: Yandex Disallow: /wp-content/themes

Такое указание роботу Яндекса предполагает его допуск в большую категорию «wp-content », в которой он может индексировать все содержимое, кроме «themes ».

Исследуем «запретные» возможности текстового документа robots.txt дальше:

User-agent: Yandex Disallow: /index$

В данной команде, как следует из примера, используется еще один специальный знак «$». Его применение подсказывает роботу, что нельзя индексировать те страницы, в ссылках которых имеется последовательность букв «index ». При этом индексировать отдельный файл сайта с аналогичным названием «index.php » роботу не запрещено. Таким образом, символ «$» применяется в случае, когда необходим избирательный подход к запрету индексации.

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

User-agent: Yandex Disallow: *&*

Эта команда приказывает поисковому роботу Яндекса не индексировать все те страницы веб-сайта, в URL-адресах которых встречается символ «&». Причем этот знак в ссылке должен стоять между любыми другими символами. Однако может быть и другая ситуация:

User-agent: Yandex Disallow: *&

Тут запрет индексации касается всех тех страниц, ссылки которых заканчиваются на «&».

Если с запретом индексации системных файлов сайта вопросов быть не должно, то по поводу запрета индексировать отдельные страницы ресурса такие могут возникнуть. Мол, зачем это нужно в принципе? Соображений на сей счет у опытного веб-мастера может быть много, но главное из них – необходимость избавиться в поиске от дубликатов страниц. С помощью команды «Disallow:» и группы специальных символов, рассмотренных выше, бороться с «нежелательными» страницами можно довольно просто.

Команда «Allow:» – разрешение индексации в robots.txt

Антиподом предыдущей директивы можно считать команду «Allow: ». При помощи тех же самых уточняющих элементов, но используя данную команду в файле robots.txt можно разрешить индексирующему роботу вносить нужные вам элементы сайта в поисковую базу. В подтверждение – очередной пример:

User-agent: Yandex Allow: /wp-admin

По какой-то причине веб-мастер передумал и внес соответствующие корректировки в robots.txt. Как следствие, отныне содержимое папки wp-admin официально разрешено к индексации Яндексом.

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

Директивы «Host:» и «Sitemap:»

Завершают обзор важных директив в robots.txt команды «Host: » и «Sitemap: ». Что касается первой, то она предназначается исключительно для Яндекса, указывая ему, какое зеркало сайта (с www или без) считать основным. На примере сайт это может выглядеть следующим образом:

User-agent: Yandex Host: сайт

User-agent: Yandex Host: www.сайт

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

В свою очередь директива «Sitemap: » указывает индексирующему роботу правильный путь к так называемой Карте сайта – файлам sitemap.xml и sitemap.xml.gz (в случае с CMS WordPress). Гипотетический пример может быть следующим:

User-agent: * Sitemap: http://сайт/sitemap.xml Sitemap: http://сайт/sitemap.xml.gz

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

Файл robots.txt готов – что дальше?

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

  • воспользоваться текстовым редактором (например, Notepad) для составления нужного вам robots.txt;
  • проверить корректность созданного документа, например, посредством данного сервиса Яндекса ;
  • при помощи FTP-клиента закачать готовый файл в корневую папку своего сайта (в ситуации с WordPress речь обычно идет о системной папке Public_html).

Да, чуть не забыли. Начинающему веб-мастеру, вне всякого сомнения, прежде чем экспериментировать самому, захочется сперва посмотреть на готовые примеры данного файла в исполнении других. Нет ничего проще. Для этого в адресной строке браузера достаточно ввести site.ru/robots.txt . Вместо «site.ru» – название интересующего вас ресурса. Только и всего.

Удачных экспериментов и спасибо, что читали!

Как запретить индексацию определенных страниц?

Разрешения и запрещения на индексацию берутся всеми поисковыми системами из файла robots.txt , находящегося в корневом каталоге сервера. Запрет на индексацию ряда страниц может появиться, например, из соображений секретности или из желания не индексировать одинаковые документы в разных кодировках. Чем меньше ваш сервер, тем быстрее робот его обойдет. Поэтому запретите в файле robots.txt все документы, которые не имеет смысла индексировать (например, файлы статистики или списки файлов в директориях). Обратите особое внимание на CGI или ISAPI скрипты - наш робот индексирует их наравне с другими документами.

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

User-Agent: *
Disallow: /cgi-bin/

Детальное описание спецификации файла можно прочитать на странице: « ».

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

1. Строка с полем User-Agent является обязательной и должна предшествовать строкам с полем Disallow . Так, приведенный ниже файл robots.txt не запрещает ничего:

Disallow: /cgi-bin
Disallow: /forum

2. Пустые строки в файле robots.txt являются значимыми, они разделяют записи, относящиеся к разным роботам. Например, в следующем фрагменте файла robots.txt строка Disallow: /forum игнорируется, поскольку перед ней нет строки с полем User-Agent.

User-Agent: *
Disallow: /cgi-bin
Disallow: /forum

3. Строка с полем Disallow может запретить индексирование документов только с одним префиксом. Для запрета нескольких префиксов нужно написать несколько строк. Например, нижеприведенный файл запрещает индексирование документов, начинающихся с “/cgi-bin /forum ”, которых, скорее всего, не существует (а не документов с префиксами /cgi-bin и /forum ).

User-Agent: *
Disallow: /cgi-bin /forum

4. В строках с полем Disallow записываются не абсолютные, а относительные префиксы. То есть файл

User-Agent: *
Disallow: www.myhost.ru/cgi-bin

запрещает, например, индексирование документа http://www.myhost.ru/www.myhost.ru/cgi-bin/counter.cgi , но НЕ запрещает индексирование документа http://www.myhost.ru/cgi-bin/counter.cgi .

5. В строках с полем Disallow указываются именно префиксы, а не что-нибудь еще. Так, файл:

User-Agent: *
Disallow: *

запрещает индексирование документов, начинающихся с символа «* » (которых в природе не существует), и сильно отличается от файла:

User-Agent: *
Disallow: /

который запрещает индексирование всего сайта.

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

Тогда данный документ также не будет проиндексирован.

Вы также можете использовать тэг

Он означает, что робот поисковой машины не должен идти по ссылкам с данной страницы.

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

Как запретить индексацию определенных частей текста?

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

Внимание! Тег NOINDEX не должен нарушать вложенность других тегов. Если указать следующую ошибочную конструкцию:


…код1…


…код2…

…код3…

запрет на индексирование будет включать не только «код1» и «код2», но и «код3».

Как выбрать главный виртуальный хост из нескольких зеркал?

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

Для того, чтобы индексировалось выбранное вами зеркало, достаточно запретить индексацию всех остальных зеркал при помощи . Это можно сделать, используя нестандартное расширение robots.txt — директиву Host , в качестве ее параметра указав имя основного зеркала. Если www.glavnoye-zerkalo.ru — основное зеркало, то robots.txt должен выглядеть примерно так:

User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.glavnoye-zerkalo.ru

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

Аргументом директивы Host является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Если какой-либо сайт не указан в качестве аргумента для Host , для него подразумевается наличие директивы Disallow: / , т.е. полный запрет индексации (при наличии в группе хотя бы одной корректной директивы Host ). Таким образом, файлы robots.txt вида

User-Agent: *
Host: www.myhost.ru

User-Agent: *
Host: www.myhost.ru:80

эквивалентны и запрещают индексирование как www.otherhost.ru , так и www.myhost.ru:8080 .

Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки Host игнорируются .

# Примеры игнорируемых директив Host
Host: www.myhost- .ru
Host: www.- myhost.ru
Host: www.myhost.ru:0
Host: www.my_ host.ru
Host: . my-host.ru:8000
Host: my-host.ru.
Host: my.. host.ru
Host: www.myhost.ru/
Host: www.myhost.ru:8080/
Host: http:// www.myhost.ru
Host: www.mysi.te
Host: 213.180.194.129
Host: www.firsthost.ru, www.secondhost.ru
Host: www.firsthost.ru www.secondhost.ru

Если у вас сервер Apache, то можно вместо использования директивы Host задать robots.txt с использованием директив SSI:


User-Agent: *
Disallow: /

В этом файле роботу запрещен обход всех хостов, кроме www.главное_имя.ru

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

Http://www.главное_имя.ru/robots.txt
http://www.другое_имя.ru/robots.txt и т.д. Результаты должны быть разные.

Рекомендации для веб-сервера Русский Apache

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

Если кодировки разложены по портам (или серверам), то надо выдавать на разных портах (серверах) РАЗНЫЙ robots.txt. А именно, во всех файлах robots.txt для всех портов/серверов, кроме «основного», должно быть написано:

User-Agent: *
Disallow: /

Для этого можно использовать механизм SSI, .

Если кодировки в вашем Apache выделяются по именам «виртуальных» директорий, то надо написать один robots.txt, в котором должны быть примерно такие строчки (в зависимости от названий директорий):

User-Agent: *
Disallow: /dos
Disallow: /mac
Disallow: /koi