Как работает robots txt. Рекомендации по настройке файла robots txt

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

Подписаться

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Виды роботов Яндекса

  • Yandex/1.01.001 (compatible; Win16; I) - основной индексирующий робот
  • Yandex/1.01.001 (compatible; Win16; P) - индексатор картинок
  • Yandex/1.01.001 (compatible; Win16; H) - робот, определяющий зеркала сайтов
  • Yandex/1.02.000 (compatible; Win16; F) - робот, индексирующий пиктограммы сайтов (favicons)
  • Yandex/1.03.003 (compatible; Win16; D) - робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
  • Yandex/1.03.000 (compatible; Win16; M) - робот, обращающийся при открытии страницы по ссылке «Найденные слова»
  • YaDirectBot/1.0 (compatible; Win16; I) - робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса
  • YandexBlog/0.99.101 (compatible; DOS3.30,B) – робот, индексирующий xml-файлы для поиска по блогам.
  • YandexSomething/1.0 – робот, индексирующий новостные потоки партнеров Яндекс-Новостей.
  • Bond, James Bond (version 0.07) - робот, заходящий на сайты из подсети Яндекса. Официально никогда не упоминался. Ходит выборочно по страницам. Referer не передает. Картинки не загружает. Судя по повадкам, робот занимается проверкой сайтов на нарушения – клоакинг и пр.

IP-адреса роботов Яндекса

IP-адресов, с которых «ходит» робот Яндекса, много, и они могут меняться. Список адресов не разглашается.

Кроме роботов у Яндекса есть несколько агентов-«простукивалок», которые определяют, доступен ли в данный момент сайт или документ, на который стоит ссылка в соответствующем сервисе.

  • Yandex/2.01.000 (compatible; Win16; Dyatel; C) - «простукивалка» Яндекс.Каталога. Если сайт недоступен в течение нескольких дней, он снимается с публикации. Как только сайт начинает отвечать, он автоматически появляется в Каталоге.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; Z) - «простукивалка» Яндекс.Закладок. Ссылки на недоступные сайты помечаются серым цветом.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; D) - «простукивалка» Яндекс.Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; N) - «простукивалка» Яндекс.Новостей. Она формирует отчет для контент-менеджера, который оценивает масштаб проблем и, при необходимости, связывается с партнером.

Директива Host

Во избежания возникновения проблем с зеркалами сайта рекомендуется использовать директиву «Host». Директива «Host» указывает роботу Яндекса на главное зеркало данного сайта. С директивой «Disallow» никак не связана.

User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru

User-agent: Yandex
Disallow: /cgi-bin
Host: site.ru

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

Вопрос: Когда планируется своевременное соблюдение директивы Host: в robots.txt? Если сайт индексируется как www.site.ru, когда указано Host: site.ru уже после того, как robots.txt был размещен 1–2 недели, то при этом сайт с www и без www не склеивается более 1–2 месяца и в Яндексе существуют одновременно 2 копии частично пересекающихся сайтов (один 550 страниц, другой 150 страниц, при этом 50 страниц одинаковых). Прокомментируйте, пожалуйста, проблемы с работой «зеркальщика».
Ответ: Расширение стандарта robots.txt, введенное Яндексом, директива Host - это не команда считать зеркалами два любых сайта, это указание, какой сайт из группы, определенных автоматически как зеркала, считать главным. Следовательно, когда сайты будут идентифицированы как зеркала, директива Host сработает.

HTML-тег

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

Сначало расскажу, что такое robots.txt.

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

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

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

Влияние robots.txt на поисковые системы?

Поисковые системы (в особенности Google) проиндексируют cайт, но если файла robots.txt нет, то, как и говорил не все страницы. Если имеется такой файл, то роботы руководствуются правилами, которые указываются в этом файле. Причем существует несколько видов поисковых роботов, если одни могут учитывать правило, то другие игнорируют. В частности, робот GoogleBot не учитывает директиву Host и Crawl-Delay, робот YandexNews совсем недавно перестал учитывать директиву Crawl-Delay, а роботы YandexDirect и YandexVideoParser игнорируют общепринятые директивы в robots.txt (но учитывают те, которые прописаны специально для них).

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


К ненужным для поисковых систем можно отнести файлы которые относятся к CMS, например, в Wordpress – /wp-admin/. Помимо этого, скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и так далее.

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

Что такое директива robots.txt?



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

Что означает User-agent?

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

Для всех роботов:

Для определенного бота:

User-agent: Googlebot

Регистр в robots.txt не стол важен, писать можно как Googlebot так и googlebot

Поисковые роботы Google







Поисковые роботы Яндекса

основной индексирующий робот Яндекса

Используется в сервисе Яндекс.Картинки

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

Мультимедийные данные

Поиск по блогам

Поисковый робот, обращающийся к странице при добавлении ее через форму «Добавить URL»

робот, индексирующий пиктограммы сайтов (favicons)

Яндекс.Директ

Яндекс.Метрика

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

Используется в сервисе Яндекс.Новости

YandexImageResizer

Поисковый робот мобильных сервисов

Поисковые роботы Bing, Yahoo, Mail.ru, Rambler

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

Disallow закрывает от индексирования разделы и страницы вашего сайта. Соответственно Allow наоборот открывает их.

Есть некоторые особенности.

Во первых, дополнительные операторы - *, $ и #. Для чего они используются?

“*” – это любое количество символов и их отсутствие. По умолчанию она уже находится в конце строки, поэтому ставить ее еще раз смысла нет.

“$” – показывает, что символ перед ним должен идти последним.

“#” – комментарий, все что идет после этого символа робот не учитывает.

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

Disallow: *?s=

Disallow: /category/

Соответственно поисковый робот закроет страницы типа:

Но открыты для индексации будут страницы вида:

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

Это наш файл robots.txt

Disallow: /template/

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

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

Данная директива необходима для указания главного зеркала сайта (часто с www или без). Обратите внимание, что директива host указывается без протокола http://, но с протоколом https://. Директиву учитывают только поисковые роботы Яндекса и Mail.ru, а другими роботами, в том числе GoogleBot правило не будет учтено. Host прописывать 1 раз в файле robots.txt

Пример с http://

Host: website.ru

Пример с https://

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

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

Пример:

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

Оптимальное значение crawl-delay для каждого сайта свое. Для поисковых систем Mail, Bing, Yahoo значение можно выставить минимальное значение 0.25, 0.3, так как роботы эти поисковиков могут переобходить ваш сайт раз в месяц, 2 месяца и так далее (очень редко). Для Яндекса лучше установить большее значение.


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

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

Правило интересно тем, что сообщает краулеру, что страницы с определенными параметрами нет необходимости индексировать. Прописывается 2 агрумента: URL страницы и параметр. Данная директива поддерживается поисковой системой Яндекс.

Пример:

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

User-agent: GoogleBot

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

Allow: /plugins/*.css

Allow: /plugins/*.js

Allow: /plugins/*.png

Allow: /plugins/*.jpg

Allow: /plugins/*.gif

User-agent: Yandex

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

Allow: /plugins/*.css

Allow: /plugins/*.js

Allow: /plugins/*.png

Allow: /plugins/*.jpg

Allow: /plugins/*.gif

Clean-Param: utm_source&utm_medium&utm_campaign

В примере мы прописали правила для 3 разных ботов.

Куда добавить robots.txt?

Добавляется в корневую папку сайта. Помимо, чтобы по нему можно было перейти по ссылке:

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

Яндекс Вебмастер

На вкладке Инструменты выбираете Анализ robots.txt и далее нажимаете проверить

Google Search Console

На вкладке Cканирование выбираете Инструмент проверки файла robots.txt и далее нажимаете проверить.

Заключение:

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

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

) можем переходить к практической части, а вернее к подготовке сайта к продвижению. Сегодня мы разберем вопрос: как создать robots.txt?

robots.txt — это файл в котором содержатся параметры индексирования для поисковых систем.

Создание этого файла является одним из первых шагов к SEO-продвижению. И вот почему.

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

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

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

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

  • www.сайт
  • сайт
  • сайт/
  • www.сайт/

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

Как заполнить файл robots.txt?

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

  • Название файла robots.txt должно начинаться именно с маленькой буквы. Не нужно называть его ни Robots.txt, ни ROBOTS.TXT. Правильно: robots.txt ;
  • Текстовый формат «Unix». Формат свойственен обычному блокноту в Windows, поэтому создать robots.txt достаточно просто;

Операторы robots

А сейчас поговорим, собственно, о самих операторах robots. Всего их около 6 по-моему, но необходимыми являются только 4:

  1. User-agent . Данный оператор используется для указания поисковой системы, к которой адресуются правила индексации. С его помощью можно указывать разные правила разным ПС. Пример заполнения: User-agent: Yandex ;
  2. Disallow . Оператор, запрещающий индексацию той или папки, страницы, файла. Пример заполнения: Disallow: /page.html ;
  3. Host . Этим оператором указывается главный адрес (домен) сайта. Пример заполнения: Host: сайт ;
  4. Sitemap . Указывает на адрес карты сайта. Пример заполнения: Sitemap: сайт/sitemap.xml ;

Таким образом я запретил Яндексу индексировать страницу «page.. Теперь поисковый робот Яндекса учтет эти правила и страницы «page.html» никогда не будет в индексе.

User-agent

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

Поисковая система Параметр User-agent
Яндекс Yandex
Google Google
Mail.ru Mail.ru
Rambler StackRambler

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

User-agent: *

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

Disallow

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

Что запрещаем? Параметр Пример
Индексацию сайта / Disallow: /
Файл в корневом каталоге /имя файла Disallow: /page.html
Файл по определенному адресу /путь/имя файла Disallow: /dir/page.html
Индексация папки /имя папки/ Disallow: /papka/
Индексация папки по определенному адресу /путь/имя папки/ Disallow: /dir/papka/
Документы, начинающиеся с определенного набора символов /символы /symbols
Документы, начинающиеся с определенного набора символов по адресу /путь/символы /dir/symbols

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

Про остальные операторы говорить смысла нет. Того, что написано выше вполне достаточно.

Вам, наверное, хотелось бы получить пример robots.txt? Ловите:

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: */trackback Disallow: */*/trackback Disallow: */*/feed/*/ Disallow: */feed Disallow: /tag Host: site.ru Sitemap:site.ru/sitemap.xml

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

До свидания, друзья!

Предыдущая статья
Следующая статья

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

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

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

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

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

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

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

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

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

User-agent

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

User-agent: *

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

User-agent: Yandex

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

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

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

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

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

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

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

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

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

    Disallow: /*private_file.html

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

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

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

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

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

      Disallow: /images*

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

      Disallow: /images$

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

      Disallow: *.php$

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Robots для WordPress

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Статьи по теме: