В файле robots txt не задана директива host – Как добавить директиву host в файле robots.txt ?

Содержание

Как добавить директиву host в файле robots.txt ?

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

Ну что ж приступим…

Как правильно прописать host в robots txt?

Яндекс

User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: https://soltyk.ru

Валидатор для проверки в Яндексе

Про главное зеркало:

«Директива Host не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом.»

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

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

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

Некорректно составленные директивы Host игнорируются.

Официальная документация.

Вот как выглядит это в вебмастере (ошибок и предупреждений нет):

Правильная директива host в robots.txt в вебмастере Яндекса

Mail

Про главное зеркало:

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

Пример:

User-agent: * 
Disallow: # обязательная для каждой записи строка с директивой Disallow
Host: https://soltyk.ru

Официальная документация

Валидатор в вебмастере

Аналогичная проверка (ошибок и предупреждений нет):

Валидация директивы host в robots.txt поисковой системой Mail.ru

Google

А теперь самое интересное…

Есть официальная документация, но в ней ничего не сказано про данную директиву…

Можно выделить 3 основных задокументированных факта:

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

А вот что выдает валидатор в вебмастере Google (смотрим и делаем выводы):

Учитывает ли директиву host в robots.txt поисковая система Google?

Выводы, предположения и возможная польза…

Так что можно смело предположить при использовании валидатора robots от Google не возникает ни предупреждений, ни ошибок. В 2016 — начало 2017 такая картина еще наблюдалась (помечалось как ошибка). Следовательно, можно предположить, что они решили использовать данную директиву host как рекомендацию. Также проводя тесты на клиентских сайтах при переходе на https (без применения междоменного 301-редиректа), было замечено, как Гугл начинал потихоньку индексировать https версию. И к тому времени, когда Яндекс завершал склейку, в Google-вебмастере было видно, как часть индекса перетекала уже на новый хост.

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

User-agent: *

Поэтому, если у Вас также есть опыт в определении такого стандарта для Google, то можете написать мне или в комментариях ниже.

Обновлено: 22.12.2018 2862 (в день: 4.178)

soltyk.ru

Создаем правильный файл robots.txt — настраиваем индексацию, директивы

  1. Зачем robots.txt в SEO?
  2. Создаем robots самостоятельно
  3. Синтаксис robots.txt
  4. Обращение к индексирующему роботу
  5. Запрет индексации Disallow
  6. Разрешение индексации Allow
  7. Директива host robots.txt
  8. Sitemap.xml в robots.txt
  9. Использование директивы Clean-param
  10. Использование директивы Crawl-delay
  11. Комментарии в robots.txt
  12. Маски в robots.txt
  13. Как правильно настроить robots.txt?
  14. Проверяем свой robots.txt

Robots — это обыкновенный текстовой файл (.txt), который располагается в корне сайта наряду c index.php и другими системными файлами. Его можно загрузить через FTP или создать в файловом менеджере у хост-провайдера. Создается данный файл как обыкновенный текстовой документ с самым простым форматом —

TXT. Далее файлу присваивается имя ROBOTS. Выглядит это следующим образом:

Robots.txt в корневой папке WordPress

(robots.txt в корневой папке WordPress)

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

В большинстве систем управления сайтами роботс присутствует по умолчанию, однако зачастую он настроен не полностью или совсем пуст. В любом случае, нам придется его править, так как для 95% проектов шаблонный вариант не подойдет.

Зачем robots.txt в SEO?

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

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

Создаем robots самостоятельно

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

Если Вы пользуетесь web ftp — файловым менеджером, который доступен в панели управления у любого хост-провайдера,  то файл можно создать прямо там.

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

Используем online генераторы

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

Сгенерированный онлайн роботс нужно будет в любом случае править «руками», поэтому без знаний синтаксиса и основ Вам не обойтись и в этом случае.

Используем готовые шаблоны

В Интернете есть множество шаблонов для  распространенных CMS, таких как WordPress, Joomla!, MODx и т.д. От онлайн генераторов они отличаются только тем, что сам текстовой файл Вам нужно будет сделать самостоятельно. Шаблон позволяет не писать большинство стандартных директив, однако он не гарантирует правильную и полную настройку для Вашего ресурса. При использовании шаблонов так же нужны знания.

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

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

Обращение к индексирующему роботу

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


User-agent: Yandex
User-agent: YandexBot
User-agent: Googlebot

Строка 1 — Инструкции для всех роботов Яндекса
Строка 2 — Инструкции для основного индексирующего робота Яндекса
Строка 3 — Инструкции для основного индексирующего робота Google

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

Роботы  Yandex
НазваниеОписаниеПредназначение
YandexBot Основной индексирующий робот Отвечает за основную органическую выдачу Яндекса.
YandexDirect Работ контекстной рекламы Оценивает сайты с точки зрения расположения на них контекстных объявлений.
YandexDirectDyn Так же робот контекста Отличается от предыдущего тем, что работает с динамическими баннерами.
YandexMedia Индексация мультимедийных данных.Отвечает, загружает и оценивает все, что связано с мультимедийными данными.
YandexImages Индексация изображений Отвечает за раздел Яндекса «Картинки»
YaDirectFetcher Так же робот Яндекс Директ Его особенность в том, что он интерпретирует файл robots особым образом. Подробнее о нем можно прочесть у Яндекса.
YandexBlogs Индексация блогов Данный робот отвечает за посты, комментарии, ответы и т.д.
YandexNews Новостной робот Отвечает за раздел «Новости». Индексирует все, что связано с периодикой.
YandexPagechecker Робот микроразметки Данный робот отвечает за индексацию и распознание микроразметки сайта.
YandexMetrika Робот Яндекс Метрики Тут все и так ясно.
YandexMarket Робот Яндекс Маркета Отвечает за индексацию товаров, описаний, цен и всего того, что относится к Маркету.
YandexCalendar Робот Календаря Отвечает за индексацию всего, что связано с Яндекс Календарем.
Роботы Google
НазваниеОписаниеПредназначение
Googlebot (Googlebot) Основной индексирующий роботом Google.Индексирует основной текстовой контент страницы. Отвечает за основную органическую выдачу. Запрет приведет к полному отсутствия сайта в поиске.
Googlebot-News (Googlebot News) Новостной робот.Отвечает за индексирование сайта в новостях. Запрет приведет к отсутствию сайта в разделе «Новости»
Googlebot-Image (Googlebot Images) Индексация изображений.Отвечает за графический контент сайта. Запрет приведет к отсутствию сайта в выдаче в разделе «Изображения»
Googlebot-Video (Googlebot Video) Индексация видео файлов.Отвечает за видео контент. Запрет приведет к отсутствию сайта в выдаче в разделе «Видео»
Googlebot (Google Smartphone) Робот для смартфонов. Основной индексирующий робот для мобильных устройств.
 Mediapartners-Google(Google Mobile AdSense) Робот мобильной контекстной рекламыИндексирует и оценивает сайт с целью размещения релевантных мобильных объявлений.
 Mediapartners-Google(Google AdSense) Робот контекстной рекламы Индексирует и оценивает сайт с целью размещения релевантных объявлений.
 AdsBot-Google(Google AdsBot) Проверка качества страницы. Отвечает за качество целевой страницы — контент, скорость загрузки, навигация и т.д.
 AdsBot-Google-Mobile-AppsРобот Google для приложенийСканирование для мобильных приложений. Оценивает качество так же, как и предыдущий робот AdsBot

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

Другие поисковые системы, такие как Bing, Mail, Rambler, так же индексируют сайт и обращаются к robots.txt, однако мы не будем заострять на них внимание. Про менее популярные поисковики мы напишем отдельную статью.

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

Без сомнения самая популярная директива. Именно при помощи disallow страницы исключаются из индекса. Disallow — буквально означает запрет на индексацию страницы, раздела, файла или группы страниц (при помощи маски). Рассмотрим пример:


Disallow: /wp-admin   
Disallow: /wp-content/plugins   
Disallow: /img/images.jpg   
Disallow: /dogovor.pdf   
Disallow: */trackback   
Disallow: /*my   

Строка 1 — запрет на индексацию всего раздела wp-admin
Строка 2 — запрет на индексацию подраздела plugins
Строка 3 — запрет на индексацию изображения в папке img
Строка 4 — запрет индексации документа
Строка 5 — запрет на индексацию trackback в любой папке на 1 уровень
Строка 6 — запрет на индексацию не только /my, но и /folder/my или /foldermy

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

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

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

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

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


Allow: /img/   
Allow: /dogovor.pdf   
Allow: /trackback.html   
Allow: /*my   

Строка 1 — разрешает индексацию всего каталога /img/
Строка 2 — разрешает индексацию документа
Строка 3 — разрешает индексацию страницы
Строка 4 — разрешает индексацию по маске *my

Данная директива поддерживает и подчиняется всем тем же правилам, которые справедливы для Disallow.

Директива host robots.txt

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

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


Host: dh-agency.ru

Если вы не пропишите главное зеркало сайта через host, Яндекс сообщит Вам об этом в Вебмастере.

Ошибка отсутствия директивы HOST

Не знаете главное зеркало сайта? Определить довольно просто. Вбейте в поиск Яндекса адрес своего сайта и посмотрите выдачу. Если перед доменом присутствует www, то значит главное зеркало у вас с www.

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

Sitemap.xml в robots.txt

Данную директиву желательно иметь в каждом robots.txt, так как ее используют yandex, google, а так же все основные поисковые системы. Директива представляет из себя ссылку на файл sitemap.xml в котором содержатся все страницы, которые предназначены для индексирования. Так же в sitemap указываются приоритеты и даты изменения.

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


Sitemap: http://dh-agency.ru/sitemap.xml

О том, как правильно создавать sitemap.xml мы напишем чуть позже.

Использование директивы Clean-param

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

  • Идентификаторы сессий;
  • Идентификаторы пользователей;
  • Различные индивидуальные префиксы не меняющие содержимое;
  • Другие подобные элементы.

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

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


http://dh-agency.ru/folder/page.php?site=x&r_id=985
http://dh-agency.ru/folder/page.php?site=y&r_id=985
http://dh-agency.ru/folder/page.php?site=z&r_id=985

Все три ссылки разные, но они отдают одинаковое содержимое страницы, поэтому индексирующий робот загрузит 3 копии контента. Что бы этого избежать пропишем следующие директивы:


User-agent: Yandex
Disallow:
Clean-param: site /folder/page.php

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

Использование директивы Crawl-delay

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


User-agent: Yandex
Crawl-delay: 3

В данном случае таймаут будет 3 секунды. Кстати, стоит отметить, что Яндекс поддерживает и не целые значения в данной директиве. К примеру, 0.4 секунды.

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

Хороший robots.txt всегда пишется с комментариями. Это упростит работу Вам и поможет будущим специалистам.

Что бы написать комментарий, который будет игнорировать робот поисковой системы, необходимо поставить символ «#». К примеру:


#мой роботс
Disallow: /wp-admin   
Disallow: /wp-content/plugins   

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


Disallow: /wp-admin   #исключаем wp admin
Disallow: /wp-content/plugins   

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

Маски в robots.txt

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

Маски в robots.txt

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

Мы можем перечислять все файлы формата .pdf «в ручную»


Disallow: /documents/admin.pdf
Disallow: /documents/r7.pdf
Disallow: /documents/leto.pdf
Disallow: /documents/sity.pdf
Disallow: /documents/afrika.pdf
Disallow: /documents/t-12.pdf

А можем сделать простую маску *.pdf и скрыть все файлы в одной инструкции.


Disallow: /documents/*.pdf

Удобно, не правда ли?
Маски создаются при помощи спецсимвола «*». Он обозначает любую последовательность символов, в том числе и пробел. Примеры использования:


Disallow: *.pdf
Disallow: admin*.pdf
Disallow: a*m.pdf
Disallow: /img/*.*
Disallow: img.*
Disallow: &=*

Стоит отметить, что по умолчанию спецсимвол «*» добавляется в конце каждой инструкции, которую Вы прописываете. То есть,


Disallow: /wp-admin # равносильно инструкции ниже
Disallow: /wp-admin*

То есть, мы исключаем все, что находится в папке /wp-admin, а так же /wp-admin.html, /wp-admin.pdf и т.д. Для того, что бы этого не происходило необходимо в конце инструкции поставить другой спецсимвол — «$».


Disallow: /wp-admin$ # 

В таком случае, мы уже не запрещаем файлы /wp-admin.html, /wp-admin.pdf и т.д

Как правильно настроить robots.txt?

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

(Даже несмотря на наличие готовых robots.txt редактировать и удалять «уникальный мусор» Вам придется  и в ВордПресс. Поэтому этот раздел будет полезен и для владельцев сайтов на ТОПовых CMS)

Что нужно исключать из индекса?

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

Зачастую дубликаты появляются у систем управления сайтом при создании страниц. К примеру, одна и та же страница может быть доступна по техническому адресу /?p=391&preview=true и одновременно с этим иметь ЧПУ. Так же дубли могут возникать при работе с динамическими ссылками.

Всех их необходимо при помощи масок исключать из индекса.


Disallow: /*?*
Disallow: /*%
Disallow: /index.php
Disallow: /*?page=
Disallow: /*&page=

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

В.) Из индекса должны быть исключены все страницы, которые используются при работе сценариев. К примеру, страница «Спасибо, сообщение отправлено!».

Г.) Желательно исключить все страницы, которые имеют индикаторы сессий


Disallow: *PHPSESSID=
Disallow: *session_id=

Д.) В обязательном порядке из индекса должны быть исключены все файлы вашей cms. Это файлы панели администрации, различных баз, тем, шаблонов и т.д.


Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback

Е.) Пустые страницы и разделы, «не нужный» пользователям контент, результаты поиска и работы калькулятора так же должны быть недоступны роботу.

«Держа в чистоте» Ваш индекс Вы упрощаете жизнь и себе и индексирующему роботу.

Что нужно разрешать индексировать?

Да по сути все, что не запрещено. Есть только один нюанс. Поисковые системы по умолчанию индексируют любой полезный контент Вашего сайта, поэтому использовать директиву Allow в 90% случаев не нужно.

Корректный файл sitemap.xml и качественная перелинковка дадут гарантию, что все «нужные» страницы Вашего сайта будут проиндексированы.

Обязательны ли директивы host и sitemap?

Да, данные директивы обязательны. Прописать их не составит труда, но они гарантируют, что робот точно найдет sitemap.xml, и будет «знать» главное зеркало сайта.

Для каких поисковиков настраивать?

Инструкции файла robots.txt понимают все популярные поисковые системы. Если различий в инструкциях нету, то Вы можете прописать User-agent: * (Все директивы для всех поисковиков).

Однако, если Вы укажите инструкции для конкретного робота, к примеру Yandex, то все другие директивы Яндексом будут проигнорированы.

Нужны ли мне директивы Crawl-delay и Clean-param?

Если Вы используете динамические ссылки или же передаете параметры в URL, то Вам скорее всего понадобиться Clean-param, дабы не вводить робота в заблуждение. Использование данной директивы мы описали выше. Данная директива поможет Вам избежать ненужных дубликатов в поиске, что очень важно.

Использование Crawl-delay зависит исключительно от Вашего хостинга. Если Вы чувствуете, что сервер уже не справляется запросами, то желательно увеличить время межу ними.

Проверяем свой robots.txt

После настройки файла его необходимо проверить. Сделать это возможно через Ваш Вебмастер в разделе «Инструменты» -> «Анализ robots.txt»

Проверка robots.txt

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

dh-agency.ru

что это такое, что будет, если она отсутствует

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подпишись на рассылку и получи книгу в подарок!

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

Поисковые роботы Яндекса обходят страницы сайтов и добавляют собранную информацию в базу данных по собственному графику. В процессе индексации они самостоятельно решают, какую страницу необходимо обработать. К примеру, роботы обходят стороной различные форумы, доски объявлений, каталоги и прочие ресурсы, где индексация бессмысленна. Также они могут определять главный сайт и зеркала. Первые подлежат индексации, вторые – нет. В процессе часто возникают ошибки. Повлиять на это можно посредством использования директивы 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 независимо от того, будет директива прописана по правилам или нет, поскольку она является межсекционной.

semantica.in

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

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

Основные правила настройки robots.txt

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

Теперь о том, что должно быть в файле robots.txt. По моему мнению, в нем необходимо создавать 3 отдельные наборы директив — для Яндекс, для Google, и для остальных роботов-краулеров. Почему отдельно? Да потому что есть директивы, предназначенные только для определенных ПС, а также можете считать это неким проявлением уважения к основным поисковикам рунета 🙂

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

Бот для соц сетей

User-agent: * User-agent: Yandex User-agent: Googlebot

User-agent: *

User-agent: Yandex

User-agent: Googlebot

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

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

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

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

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

Adguard

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

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

User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: */trackback Disallow: */feed

User-agent: Yandex

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /wp-trackback

Disallow: /wp-feed

Disallow: */trackback

Disallow: */feed

Обратите внимание на отсутствие директивы Host для Яндекса. Она указывала пауку-роботу Яндекса, какое из зеркал сайта является главным. Директива прекратила существование в начале весны 2018 года, о чем есть соответствующая запись в блоге Яндекса.

Проверить корректность настройки  robots.txt для Яндекса можно при помощи данного сервиса.

Настройка robots.txt для Google

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

User-agent: Googlebot Allow: *.css Allow: *.js Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: */trackback Disallow: */feed

User-agent: Googlebot

Allow: *.css

Allow: *.js

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: /wp-trackback

Disallow: /wp-feed

Disallow: */trackback

Disallow: */feed

Как видно из примера, появились две директивы, разрешающие индексировать JS скрипты и CSS таблицы. Это связано с рекомендацией Google, в которой сказано, что следует разрешать роботу индексировать  файлы шаблона (темы) сайта. Естественно, скрипты и таблицы в поиск не попадут, однако это позволит роботам корректнее индексировать сайт и отображать его в результатах выдачи. Данные директивы я внедрил не на один десяток сайтов, корректируя пути местонахождения css и js.

Ну а корректность настройки директив для Google вы можете проверить инструментом проверки файла robots.txt, который находится в Google Webmaster Tools.

Что еще стоит закрывать в роботсе?

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

  1. Страницы поиска. Тут кое-кто может поспорить, так как бывают случаи, когда на сайте используют внутренний поиск именно для создания релевантных страниц. Однако, так поступают далеко не всегда и в большинстве случаев открытые результаты поиска могут наплодить невероятное количество дублей. Поэтому, одним из вариантов устранения дупликации может стать закрытие результатов поиска в роботсе.
  2. Корзина и страница оформления/подтверждения заказа. Данная рекомендация актуальна для интернет-магазинов и других коммерческих сайтов, где есть форма заказа. Данные страницы ни в коем случае не должны попадать в индекс ПС.
  3. Фильтры и сравнение товаров. Рекомендация относится к интернет-магазинам и сайтам-каталогам.
  4. Страницы регистрации и авторизации. Информация, которая вводится при регистрации или входе на сайт, является конфиденциальной. Поэтому следует избегать индексации подобных страниц, Google это оценит.
  5. Системные каталоги и файлы. Каждый сайт состоит из множества данных — скриптов, таблиц CSS, административной части. Такие файлы следует также ограничить для просмотра роботам.

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

Мой вариант  robots.txt для WordPress и Joomla

Дописываю эти строки спустя какое-то время после написания статьи. Дело в том, что несмотря на пользу различных директив и объяснении мною их функций, я забыл добавить информацию о том, как должен выглядеть роботс в конечном итоге. Поэтому добавляю мои наборы директив для двух моих любимых и часто используемых CMS — WordPress и Joomla. Естественно, не забывайте, что некоторые параметры вам понадобится дописать самим, поэтому обязательно ознакомьтесь с рекомендациями Google и Яндекс (ссылки на оф. источники во втором абзаце данной статьи).

robots.txt для WordPress

User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: */trackback Disallow: */feed Disallow: /*? Disallow: /author/ Disallow: /transfers.js Disallow: /go.php Disallow: /xmlrpc.php User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: */trackback Disallow: */feed Disallow: /*? Disallow: /author/ Disallow: /transfers.js Disallow: /go.php Disallow: /xmlrpc.php User-agent: Googlebot Allow: /wp-content/themes/twentyseventeen/ #Вместо twentyseventeen укажите название вашей темы Allow: /wp-includes/*.js Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/cache Disallow: */trackback Disallow: */feed Disallow: /author/ Disallow: /transfers.js Disallow: /go.php Disallow: /xmlrpc.php Disallow: /*? Sitemap: http://site.com/sitemap.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

User-agent: *

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: */trackback

Disallow: */feed

Disallow: /*?

Disallow: /author/

Disallow: /transfers.js

Disallow: /go.php

Disallow: /xmlrpc.php

 

User-agent: Yandex

Disallow: /cgi-bin

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-content/plugins

Disallow: /wp-content/cache

Disallow: /wp-content/themes

Disallow: */trackback

Disallow: */feed

Disallow: /*?

Disallow: /author/

Disallow: /transfers.js

Disallow: /go.php

Disallow: /xmlrpc.php

 

User-agent: Googlebot

Allow: /wp-content/themes/twentyseventeen/ #Вместо twentyseventeen укажите название вашей темы

Allow: /wp-includes/*.js

Disallow: /cgi-bin/

Disallow: /wp-admin/

Disallow: /wp-includes/

Disallow: /wp-content/cache

Disallow: */trackback

Disallow: */feed

Disallow: /author/

Disallow: /transfers.js

Disallow: /go.php

Disallow: /xmlrpc.php

Disallow: /*?

 

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

Обратите внимание, что директиву Sitemap и пути к файлам CSS/JS в вашем роботсе нужно заменить на подходящие вам.

robots.txt для Joomla

User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /media/ Disallow: /system/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /component/ Disallow: /*start Disallow: /*searchword User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /system/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /component/ Disallow: /*start Disallow: /*searchword User-agent: Googlebot Allow: *.css Allow: *.js Disallow: /administrator/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /system/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /component/ Disallow: /*start Disallow: /*searchword Sitemap: http://site.com/sitemap.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

User-agent: *

Disallow: /administrator/

Disallow: /cache/

Disallow: /cli/

Disallow: /components/

Disallow: /includes/

Disallow: /language/

Disallow: /libraries/

Disallow: /logs/

Disallow: /media/

Disallow: /system/

Disallow: /modules/

Disallow: /plugins/

Disallow: /templates/

Disallow: /tmp/

Disallow: /component/

Disallow: /*start

Disallow: /*searchword

 

User-agent: Yandex

Disallow: /administrator/

Disallow: /cache/

Disallow: /cli/

Disallow: /components/

Disallow: /includes/

Disallow: /language/

Disallow: /libraries/

Disallow: /logs/

Disallow: /system/

Disallow: /media/

Disallow: /modules/

Disallow: /plugins/

Disallow: /templates/

Disallow: /tmp/

Disallow: /component/

Disallow: /*start

Disallow: /*searchword

 

User-agent: Googlebot

Allow: *.css

Allow: *.js

Disallow: /administrator/

Disallow: /cli/

Disallow: /components/

Disallow: /includes/

Disallow: /language/

Disallow: /libraries/

Disallow: /logs/

Disallow: /system/

Disallow: /media/

Disallow: /modules/

Disallow: /plugins/

Disallow: /tmp/

Disallow: /component/

Disallow: /*start

Disallow: /*searchword

 

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

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

Disallow: /*start Disallow: /*searchword

Disallow: /*start

Disallow: /*searchword

Немного о нестандартном использовании robots.txt

С учетом написанного выше, тему правильной настройки robots.txt можно считать раскрытой, однако есть еще кое-что, о чем я бы хотел рассказать. Роботс можно с пользой применять помимо назначения и без вреда для сайта. Дело в том, что в файле можно использовать такой знак, как «#» — он обозначает комментарии, не учитываемые роботами. Данный знак действителен в пределах одной строки, там, где он используется. Его можно использовать для пометок, чтобы не забыть, что и зачем было закрыто от поисковых систем.

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

На этом все, правильная настройка robots.txt описана в полной мере, надеюсь, вы узнали что-то новое. Если же после прочтения статьи у вас остались вопросы — задавайте их в комментариях, и я постараюсь на них ответить.

sky-fi.info

Самые распространенные ошибки в файле robots.txt

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

Файл robots.txt – текстовый файл, который отвечает за индексирование сайта. Здесь вы можете указать поисковым роботам, что стоит индексировать, а что индексировать не нужно. Другими словами, с помощью этого файла вы как бы говорите поисковым системам, что вот эти страницы сайта должны попасть в поиск, а остальные – нет.

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

  1. Расположение файла. Файл robots.txt должен располагаться только в корневой директиве сайта. Другими словами, у него должен быть URL вот такого вида: http://site.ru/robots.txt, где site.ru – адрес вашего ресурса в сети. Если файл robots.txt располагается не в корне сайта (у него другой URL), то роботы поисковых систем его не увидят и, следовательно, будут индексировать ваш сайт полностью (включая файлы, которые индексировать нежелательно).
  2. Чувствительность к регистру. Имя файла всегда прописывается только с маленькой буквы. Правильно использовать только такой вариант «robots.txt». Неправильный вариант: http://site.ru/Robots.txt. При таком написании поисковый робот, заходя на сайт, получит 404 (страница ошибки) или 301 (переадресация) ответ сервера, а должен получить 200. Только при ответе сервера кодом 200 вы сможете управлять поисковым роботом. В остальных случаях индексация пойдет так, словно файла robots.txt нет на сайте.
  3. Открытие на странице браузера. Файл robots.txt всегда должен открываться на странице браузера. Только так роботы смогут его правильно прочитать и использовать. Здесь все зависит от настройки серверной части системы управления сайтом. В некоторых случаях по умолчанию будет предлагаться скачать файл данного типа. В такой ситуации необходимо сделать настройки на показ, или сайт будет индексироваться так, как этого захотят поисковые роботы.
  4. Ошибки запрета и разрешения. Чтобы запретить доступ робота к сайту или некоторым его разделам, правильно использовать только директиву «Disallow». Например, вы хотите запретить к индексированию все страницы с результатами поиска на сайте, прописать это в файле robots.txt надо следующим образом: «Disallow: /search/». Так вы говорите роботу: «Запрети все страницы, где будет встречаться слово поиск». Если надо запретить вообще все страницы к индексации, то прописываем директиву Disallow: /. Так вы говорите роботу: «Запретить все». Неправильно здесь ставить директиву «Allow» (разрешить). Часто пытаются прописать запрет директивы такого вида: «Allow:», как бы говоря роботам: «Разрешаю к индексации ничего». Это считается ошибкой. Если же вам надо разрешить все к индексированию, то используйте директиву вот такого вида: «Allow: /». Для роботов это означает :«Разрешить все». Если вы прописываете неверные директивы, это может привести к ошибкам в индексации и робот добавит в поиск страницы, которые там быть не должны.
  5. Совпадение директив. Часто так бывает, что при составлении файла robots.txt для одного раздела указывают сразу 2 противоположные директивы: разрешить и запретить к индексированию (Disallow: и Allow:). Так может случиться, например, если вы сначала разрешили раздел к индексированию, а спустя время добавили информацию и хотите закрыть ее от индекса. При этом просто добавляете в коде запрещающую директиву, а разрешающую не убираете. В таких ситуациях поисковые роботы отдают предпочтение директиве Allow:. Другими словами, закрытая от индекса информация все равно будет в индексе.
  6. Директива Host:. Директива Host (используется для определения главного зеркала) известна только роботу Яндекса. Проблема в том, что остальные поисковые роботы не воспринимают ее или видят как ошибочную или неизвестную. Если вы ее используете в файле, то лучше определить двух ботов: все и боты Яндекса. Для Яндекса уже прописать директиву Host:. Если задать такую директиву для всех, то во многих вебмастерах это будет восприниматься как ошибка. Вот как прописать правильно для бота Яндекса:

    User-Agent: Yandex
    Host: site.ru

  7. Директива Sitemap:. Файл Sitemap: показывает роботам, какие есть страницы на сайте. С его помощью поисковики узнают обо всех страницах вашего ресурса. Частая ошибка вебмастеров в том, что файл sitemap.xml располагают не в корне сайта, в то время как местоположение файла Sitemap очень важно. Оно определяет набор URL-адресов, которые можно включить в этот файл.

    Например, файл Sitemap, расположенный в каталоге (вот так выглядит URL в этом случае http://primer.ru/catalog/sitemap.xml), может включать любые URL-адреса, начинающиеся с http://primer.ru/catalog/…, но не должен включать URL-адреса, начинающиеся, скажем, с http://primer.ru/images/…

    Если вы располагаете неверно файл Sitemap:, то роботы неверно определят количество страниц вашего сайта, и они не попадут в индекс.

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

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

1ps.ru

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

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

Файл 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_». Таким образом, закрываем все страницы с UTM-метками. Правильная настройка robots.txt запрещает наличие пустых переводов строки между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

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

User-agent: Yandex

Disallow: /*utm_

Allow: /*id=

User-agent: *

Disallow: /*utm_

Allow: /*id=

Пример правильного перевода строки в 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 в Google: https://www.google.com/webmasters/tools/siteoverview?hl=ru

Для того, чтобы проверить 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-тегами:

  • <meta name=»robots» content=»noindex»/> — не индексировать содержимое страницы;
  • <meta name=»robots» content=»nofollow»/> — не переходить по ссылкам на странице;
  • <meta name=»robots» content=»none»/> — запрещено индексировать содержимое и переходить по ссылкам на странице;
  • <meta name=»robots» content=»noindex, nofollow»/> — аналогично 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 можно указать расположение на сайте файла карты сайта sitemap.xml.

Пример 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 начинаются с символа решетки — #, действует до конца текущей строки и игнорируются роботами.

Примеры комментариев в robots.txt:

User-agent: *
# Комментарий может идти от начала строки
Disallow: /page # А может быть продолжением строки с директивой
# Роботы
# игнорируют
# комментарии
Host: www.mysite.ru

В заключении

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

Если у вас есть вопросы — пишите в комментариях.
Рекомендуйте статью друзьям и не забывайте подписываться на блог.
Новые интересные статьи каждый день.

convertmonster.ru

составляем правильный роботс для WordPress и других систем

Содержание статьи

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

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

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

Что такое robots.txt

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

Вот видос от Яндекса:

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

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

Самый простой пример robots:

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

Зачем закрывают какие-то страницы? Не проще ли открыть всё?

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

Где находится Robots

Robots традиционно загружают в корневой каталог сайта.

Это корневой каталог, и в нем лежит роботс.

Для загрузки текстового файла обычно используется FTP доступ. Некоторые CMS, например WordPress или Joomla, позволяют создавать robots из админпанели.

Для чего нужен этот файл

А вот для чего:

  • запрета на индексацию мусора — страниц и разделов, которые не содержат в себе полезный контент;
  • разрешение индексации нужных страниц и разделов;
  • чтобы давать разные задачи роботам разных поисковиков — то есть, например, Яндексу разрешить индексировать всё, а Рамблеру — ничего;
  • можно также задавать роботам разные категории. Заморочиться например вплоть до того, что Гуглу разрешить индексировать только картинки, а Яху — только карту сайта;
  • чтобы показать через директиву Host Яндексу, какое у сайта главное зеркало;
  • еще некоторые вебмастера запрещают всяким нехорошим парсерам сканировать сайт с помощью этого файла;

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

Как работают поисковые роботы и как они обрабатывают данный файл

В большинстве случаев, очень упрощенно, они работают так:

  1. Обходят Интернет;
  2. Проверяют, какие документы разрешено индексировать, а какие запрещено;
  3. Включает разрешенные документы в базу;
  4. Затем уже другие механизмы решают, какие страницы достаточно полезны для включения в индекс.

Вот ссылка на справку Яндекса о работе поисковых роботов, но там все довольно отдаленно описано.

Справка Google свидетельствует: robots – рекомендация. Файл создается для того, чтобы страница не добавлялась в индекс поисковой системы, а не чтобы она не сканировалась поисковыми системами. Гугл позволяет запрещенной странице попасть в индекс, если на нее направляется ссылка внутри ресурса или с внешнего сайта.

По-разному ли Яндекс и Google воспринимают этот файл

Многие прописывают для роботов разных поисковиков разные директивы. Даже если список этих директив ничем не отличается.

Наверное, это для того, чтобы выразить уважение к Господину Поисковику. Как там раньше делали — «великий князь челом бьет… и просит выдать ярлык на княжение». Других соображений по поводу того, зачем разным юзер-агентам прописывают одни и те же директивы, у меня нет, да и вебмастера, так делающие, дать нормальных объяснений своим действиям не могут.

А те, кто может ответить, аргументируют это так: мол, Google не воспринимает директиву Host и поэтому её нужно указывать только для Яндекса, и вот почему, мол, для яндексовского юзер-агента нужны отдельные директивы. Но я скажу так: если какой-то робот не воспринимает какую-то директиву, то он её просто проигнорирует. Так что лично я не вижу смысла указывать одни и те же директивы для разных роботов отдельно. Хотя, отчасти понимаю перестраховщиков.

Чем может грозить неправильно составленный роботс

Некоторые при создании сайта на WordPress ставят галочку, чтобы система закрывала сайт от индексации (и забывают потом убрать её). Тогда Вордпресс автоматом ставит вам такой роботс, чтобы поисковики не включали ваш сайт в индекс, и это — самая страшная ошибка. Те страницы, на которые вы намерены получать трафик, обязательно должны быть открыты для индексации.

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

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

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

В Блокноте или другом редакторе создаем файл с расширением .txt, чтобы он в итоге назывался robots.txt. Заполняем его правильно (дальше расскажу, как) и загружаем в корень сайта. Готово!

Вот тут разработчик сайта Loftblog создает файл с нуля в режиме реального времени и делает настройку роботс:

Пример правильного robots.txt для WordPress

Составить правильный robots.txt для сайта WordPress проще всего. Я сам видел очень много таких роботсов (обязательно замените znet.ru на название вашего сайта, если хотите копировать):

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: *?* Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Allow: /wp-content/uploads/ Host: znet.ru User-agent: Googlebot Disallow: /wp-admin Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: *?* Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Allow: /wp-content/uploads/ User-agent: Mail.Ru Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: *?* Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Allow: /wp-content/uploads/ User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: *?* Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Allow: /wp-content/uploads/ Sitemap: http://znet.ru/sitemap.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

User-agent: Yandex

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /xmlrpc.php

Disallow: /search

Disallow: */trackback/

Disallow: */feed

Disallow: */comments/

Disallow: *?*

Disallow: */comment

Disallow: */attachment/*

Disallow: */print/

Disallow: *?print=*

Allow: /wp-content/uploads/

Host: znet.ru

 

User-agent: Googlebot

Disallow: /wp-admin

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /xmlrpc.php

Disallow: /search

Disallow: */trackback/

Disallow: */feed

Disallow: */comments/

Disallow: *?*

Disallow: */comment

Disallow: */attachment/*

Disallow: */print/

Disallow: *?print=*

Allow: /wp-content/uploads/

 

User-agent: Mail.Ru

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /xmlrpc.php

Disallow: /search

Disallow: */trackback/

Disallow: */feed

Disallow: */comments/

Disallow: *?*

Disallow: */comment

Disallow: */attachment/*

Disallow: */print/

Disallow: *?print=*

Allow: /wp-content/uploads/

 

User-agent: *

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /xmlrpc.php

Disallow: /search

Disallow: */trackback/

Disallow: */feed

Disallow: */comments/

Disallow: *?*

Disallow: */comment

Disallow: */attachment/*

Disallow: */print/

Disallow: *?print=*

Allow: /wp-content/uploads/

 

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

Этот роботс для WordPress довольно проверенный. Большую часть задач он выполняет — закрывает версию для печати, файлы админки, результаты поиска и так далее.

«Универсальный» роботс

Если вы ищете какое-то решение, которое подойдет для всех сайтов на всех CMS (или для лендинга), «волшебную таблетку» — такой нет. Для всех CMS одинаково хорошо подойдет лишь решение, при котором вы говорите разрешить все для индексации:

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

Роботс для Joomla

Joomla — ужасный движок, вы ужасный человек, если до сих пор им пользуетесь. Дублей страниц там просто дофига. В основном нормально работает такой код (обязательно замените znet.ru на название вашего сайта, если хотите копировать):

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/ Sitemap: http://znet.ru/sitemap.xml 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: znet.ru Sitemap: http://znet.ru/sitemap.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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/

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

 

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: znet.ru

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

Но я вам настоятельно советую отказаться от этого жестокого движка и перейти на WordPress (а если у вас интернет-магазин — на Opencart или Bitrix). Потому что Joomla — это жесть.

Robots для Битрикса

Как составить robots.txt для Битрикс (обязательно замените znet.ru на название вашего сайта, если хотите копировать):

User-agent: * Disallow: /bitrix/ Disallow: /upload/ Disallow: /search/ Allow: /search/map.php Disallow: /club/search/ Disallow: /club/group/search/ Disallow: /club/forum/search/ Disallow: /communication/forum/search/ Disallow: /communication/blog/search.php Disallow: /club/gallery/tags/ Disallow: /examples/my-components/ Disallow: /examples/download/download_private/ Disallow: /auth/ Disallow: /auth.php Disallow: /personal/ Disallow: /communication/forum/user/ Disallow: /e-store/paid/detail.php Disallow: /e-store/affiliates/ Disallow: /club/$ Disallow: /club/messages/ Disallow: /club/log/ Disallow: /content/board/my/ Disallow: /content/links/my/ Disallow: /*/search/ Disallow: /*PAGE_NAME=search Disallow: /*PAGE_NAME=user_post Disallow: /*PAGE_NAME=detail_slide_show Disallow: /*/slide_show/ Disallow: /*/gallery/*order=* Disallow: /*?print= Disallow: /*&amp;print= Disallow: /*register=yes Disallow: /*forgot_password=yes Disallow: /*change_password=yes Disallow: /*login=yes Disallow: /*logout=yes Disallow: /*auth=yes Disallow: /*action=ADD_TO_COMPARE_LIST Disallow: /*action=DELETE_FROM_COMPARE_LIST Disallow: /*action=ADD2BASKET Disallow: /*action=BUY Disallow: /*print_course=Y Disallow: /*bitrix_*= Disallow: /*backurl=* Disallow: /*BACKURL=* Disallow: /*back_url=* Disallow: /*BACK_URL=* Disallow: /*back_url_admin=* Disallow: /*index.php$ Host: znet.ru Sitemap: http://znet.ru/sitemap.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

User-agent: *

Disallow: /bitrix/

Disallow: /upload/

Disallow: /search/

Allow: /search/map.php

Disallow: /club/search/

Disallow: /club/group/search/

Disallow: /club/forum/search/

Disallow: /communication/forum/search/

Disallow: /communication/blog/search.php

Disallow: /club/gallery/tags/

Disallow: /examples/my-components/

Disallow: /examples/download/download_private/

Disallow: /auth/

Disallow: /auth.php

Disallow: /personal/

Disallow: /communication/forum/user/

Disallow: /e-store/paid/detail.php

Disallow: /e-store/affiliates/

Disallow: /club/$

Disallow: /club/messages/

Disallow: /club/log/

Disallow: /content/board/my/

Disallow: /content/links/my/

Disallow: /*/search/

Disallow: /*PAGE_NAME=search

Disallow: /*PAGE_NAME=user_post

Disallow: /*PAGE_NAME=detail_slide_show

Disallow: /*/slide_show/

Disallow: /*/gallery/*order=*

Disallow: /*?print=

Disallow: /*&amp;print=

Disallow: /*register=yes

Disallow: /*forgot_password=yes

Disallow: /*change_password=yes

Disallow: /*login=yes

Disallow: /*logout=yes

Disallow: /*auth=yes

Disallow: /*action=ADD_TO_COMPARE_LIST

Disallow: /*action=DELETE_FROM_COMPARE_LIST

Disallow: /*action=ADD2BASKET

Disallow: /*action=BUY

Disallow: /*print_course=Y

Disallow: /*bitrix_*=

Disallow: /*backurl=*

Disallow: /*BACKURL=*

Disallow: /*back_url=*

Disallow: /*BACK_URL=*

Disallow: /*back_url_admin=*

Disallow: /*index.php$

Host: znet.ru

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

Как правильно составить роботс

У каждой поисковой системы есть свой User-Agent. Когда вы прописываете юзер-эйджент, то вы обращаетесь к какой-то определенной поисковой системе. Вот названия ботов поисковых систем:

Google: Googlebot
Яндекс: Yandex
Мэйл.ру: Mail.Ru
Yahoo!: Slurp
MSN: MSNBot
Рамблер: StackRambler

Это основные, которые включают ваш сайт в текстовые индексы поисковиков. А вот их вспомогательные роботы:

Googlebot-Mobile — это юзер-агент для мобильных
Googlebot-Image — это для картинок
Mediapartners-Google — этот робот сканирует содержание обьявлений AdSense
Adsbot-Google — это для качества целевых страниц AdWords
MSNBot-NewsBlogs – это для новостей MSN

Сначала в любом нормальном роботсе идет указание юзер-агента, а потом директивы ему. Юзер-агента мы указываем в первой строке, вот так:

Это будет обращение к роботу Яндекса. А вот обращение ко всем роботам всех систем сразу:

После юзер-агента идут указания, относящиеся именно к нему. Пример:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: *?* Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Allow: /wp-content/uploads/

User-agent: Yandex

Disallow: /wp-admin

Disallow: /wp-includes

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /xmlrpc.php

Disallow: /search

Disallow: */trackback/

Disallow: */feed

Disallow: */comments/

Disallow: *?*

Disallow: */comment

Disallow: */attachment/*

Disallow: */print/

Disallow: *?print=*

Allow: /wp-content/uploads/

Сначала мы прописываем директивы для всех интересующих нас юзер-агентов. Затем дополняем их тем, что нас интересует, и заканчиваем обычно ссылкой на XML-карту сайта:

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

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

А вот что прописывать в директивах — это для каждой CMS, как я уже писал выше, по-разному. Но в принципе можно выделить основные типы страниц, которые нужно закрывать во всех роботсах.

Что нужно закрывать в нем

Всю эту хрень нужно закрыть от индексации:

  1. Страницы поиска. Обычно поиск генерирует очень много страниц, которые нам не будут нести трафика;
  2. Корзина и страница оформления заказа. Обычно они не должны попадать в индекс;
  3. Страницы пагинации. Некоторые мастера знают, как получать с них трафик, но если вы не профессионал, лучше закройте их;
  4. Фильтры и сравнение товаров могут генерировать мусорные страницы;
  5. Страницы регистрации и авторизации. На этих страницах вводится только конфиденциальная информация;
  6. Системные каталоги и файлы. Каждый ресурс включает в себя административную часть, таблицы CSS, скрипты. В индексе нам это все не нужно;
  7. Языковые версии, если вы не продвигаетесь в других странах и они нужны вам чисто для информации;
  8. Версии для печати.

Как закрыть страницы от индексации и использовать Disallow

Вот чтобы закрыть от индексации какой-то тип страниц, нам потребуется она. Disallow – директива для запрета индексации. Чтобы закрыть, допустим, страницу znet.ru/page.html на своем блоге, я должен добавить в роботс:

А если мне нужно закрыть все страницы, которые начинаются с http://znet.ru/instrumenty/? То есть страницы http://znet.ru/instrumenty/1.html, http://znet.ru/instrumenty/2.html и другие? Тогда я добавляю такую строку в роботс:

Короче, это самая нужная директива.

Нужно ли использовать директиву Allow?

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

Допустим, у меня в роботсе закрыта категория /instrumenty/. Но страницу http://znet.ru/instrumenty/44.html я должен открыть для индексации. Тогда у меня в роботс тхт будет написано так:

Disallow: /instrumenty/ Allow: /instrumenty/44.html

Disallow: /instrumenty/

Allow: /instrumenty/44.html

В таком случае проблема будет решена. Как пишет Яндекс, «При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow». Короче, Allow я использую тогда, когда нужно перебить требования какой-то из директив Disallow.

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

Когда прописываем директивы, мы можем использовать спецсимволы * и $ для создания регулярных выражений. Для чего они нужны? Давайте на практике рассмотрим:

User-agent: Yandex Disallow: /cgi-bin/*.aspx

User-agent: Yandex

Disallow: /cgi-bin/*.aspx

Такая директива запретит Яндексу индексировать страницы, которые начинаются на /cgi-bin/ и заканчиваются на .aspx, то есть вот эти страницы:

/cgi-bin/loh.aspx
/cgi-bin/pidr.aspx

И подобные им будут закрыты.

А вот спецсимвол $ «фиксирует» запрет какой-то конкретной страницы. То есть такой код:

User-agent: Yandex Disallow: /example$

User-agent: Yandex

Disallow: /example$

Запретит индексировать страницу /example, но не запрещает индексировать страницы /example-user, /example.html и другие. Только конкретную страницу /example.

Для чего нужна директива Host

Если сайт доступен сразу по нескольким адресам, директива Host указывает главное зеркало одного ресурса. Эту директиву распознают только роботы Яндекса, остальные поисковики забивают на нее болт. Пример:

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

User-agent: Yandex

Disallow: /page

Host: znet.ru

Host используется в robots только один раз. Если же их будет указано несколько, учитываться будет только первая директива.

Что такое Crawl-delay

Директива Crawl-delay устанавливает минимальное время между завершением загрузки роботом страницы 1 и началом загрузки страницы 2. То есть если у вас в роботсе добавлено такое:

User-agent: Yandex Crawl-delay: 2

User-agent: Yandex

Crawl-delay: 2

То таймаут между загрузками двух страниц составит две секунды.
Это нужно, если ваш сервер плохо выдерживает запросы на загрузку страниц. Но я скажу так: если это так и есть, то ваш сервер — говно, и тут не Crawl-delay нужно устанавливать, а менять сервер.

Нужно ли указывать Sitemap в роботсе

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

Был у меня один сайт, который хреново индексировался месяца полтора, когда я еще только начинал в SEO. Я не мог никак понять, в чем причина. Оказалось, я просто не указал путь к сайтмапу. Когда я это сделал — все нужные страницы через 1 апдейт уже попали в индекс.

Указывается путь к сайтмапу так:

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

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

Это если ваша карта сайта открывается по этому адресу. Если она открывается по другому адресу — прописывайте другой.

Прочие рекомендации к составлению

Рекомендую соблюдать:

  • В одной строке — одна директива;
  • Без пробелов в начале строк;
  • Директива будет работать, только если написана целиком и без лишних знаков;
  • Как пишет сам Яндекс, «Если для данной страницы сайта подходит несколько директив, то робот выбирает последнюю в порядке появления в сортированном списке»;
  • Правильный код роботс должен содержать как минимум одну директиву Dissallow.

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

Как запретить индексацию всего сайта

Вот этот код поможет закрыть сайт от индексации:

User-agent: * Disallow: /

Пригодиться это может, если вы делаете новый сайт, но он еще не готов, и поэтому его лучше закрыть, чтобы он во время доработки не попал под какой-нибудь фильтр АГС.

Как проверить, правильно ли составлен файл

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

znet.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *