Блокировка URL при помощи файла robots.txt

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

Общие сведения

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

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

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

 

Объяснение

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

Далее представлен более подробный пример.

Основные правила для файла robots.txt

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

Формат и расположение

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

Правила формата и расположения:

  • Файл robots.txt должен представлять собой текстовый файл в кодировке ASCII или UTF-8. Символы в других кодировках недопустимы.
  • Название файла – robots.txt.
  • На сайте должен быть только один такой файл.
  • Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать сканирование всех страниц сайта http://www.example.com/, файл robots.txt следует разместить по адресу http://www.example.com/robots.txt. Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  • Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website.example.com/robots.txt) или нестандартными портами (например, http://example.com:8181/robots.txt).

Синтаксис

  • Файл robots.txt состоит из одного или нескольких наборов правил.
  • В каждом правиле указан один или несколько агентов пользователя; оно описывает, к каким каталогам или файлам у этих агентов нет доступа, а к каким есть.
  • Правила обрабатываются сверху вниз, агент пользователя может следовать только одному подходящему для него правилу, которое будет обработано первым.
  • По умолчанию предполагается, что агент пользователя может сканировать страницу или каталог, не заблокированный для него правилом Disallow:.
  • Правила чувствительны к регистру. Так, правило Disallow: /file.asp действует для http://www.example.com/file.asp, но не для http://www.example.com/File.asp.

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

  • User-agent: Обязательно к использованию, в одном правиле может быть одна или несколько таких директив. Определяет робота поисковой системы, к которому относится правило. Большинство из них перечислены в базе данных роботов Интернета или в списке поисковых роботов Google. Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути. Используйте такой знак (*), следуя примеру ниже, чтобы заблокировать все поисковые роботы (кроме роботов AdsBot, которых нужно указывать отдельно). Список роботов Google приведен здесь.
    # Заблокировать всех роботов, кроме AdsBot
    User-agent: *
  • Disallow: В каждом правиле должна быть по крайней мере одна директива Disallow: или Allow:. Указывает на каталог или страницу в корневом домене, которые нельзя сканировать поисковым роботом, определенным выше. Если это страница, должен быть указан полный путь к ней, как в браузере; если это каталог, путь к нему должен заканчиваться косой чертой (/).  Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути.
  • Allow: В каждом правиле должна быть по крайней мере одна директива Disallow: или Allow:. Указывает на каталог или страницу в корневом домене, которые нужно сканировать поисковым роботом, определенным выше. Используется для того, чтобы отменить директиву Disallow и разрешить сканирование подкаталога или страницы в закрытом для сканирования каталоге. Если это страница, должен быть указан полный путь к ней, как в браузере; если это каталог, путь к нему должен заканчиваться косой чертой (/). Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути.
  • Sitemap: Необязательно, таких директив может быть несколько или совсем не быть. Указывает на расположение файла Sitemap этого сайта. Можно перечислить несколько файлов Sitemap, каждый на отдельной строке. Они помогают Google понять, какой контент нужно сканировать, и отличить его от контента, который можно или нельзя сканировать. Подробнее...

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

Ещё один пример

Файл robots.txt состоит из одного или нескольких наборов правил. Каждый набор начинается с строки User-agent, которая определяет робота, подчиняющегося правилам в наборе. Вот пример файла с двумя правилами; они объяснены встроенными комментариями:

# Блокировать доступ робота Googlebot к каталогам example.com/directory1/... и example.com/directory2/...
# но разрешить доступ к каталогу directory2/subdirectory1/...
# Доступ ко всем остальным каталогам разрешен по умолчанию.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Блокировать доступ ко всему сайту другой поисковой системе.
User-agent: anothercrawler
Disallow: /

Полный синтаксис файла robots.txt

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

Полезные правила

Вот несколько распространенных правил для файла robots.txt:

Правило Пример
Запрет сканирования всего сайта. Следует учесть, что в некоторых случаях URL сайта могут присутствовать в индексе, даже если они не были просканированы. Обратите внимание, что это правило не относится к роботам AdsBot, которых нужно указывать отдельно.
User-agent: *
Disallow: /
Чтобы запретить сканирование каталога и все его содержание, поставьте после названия каталога косую черту. Не используйте файл robots.txt для защиты конфиденциальной информации! Для этих целей следует применять аутентификацию. URL, сканирование которых запрещено файлом robots.txt, могут быть проиндексированы, а содержание файла robots.txt может просмотреть любой пользователь, и таким образом узнать местоположение файлов с конфиденциальной информацией.
User-agent: *
Disallow: /calendar/
Disallow: /junk/
Разрешение сканирования только для одного поискового робота
User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Разрешение сканирования для всех поисковых роботов, за исключением одного
User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

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

Disallow: /private_file.html

Чтобы скрыть определенное изображение от робота Google Картинок

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Чтобы скрыть все изображения с вашего сайта от робота Google Картинок

User-agent: Googlebot-Image
Disallow: /

Чтобы запретить сканирование всех файлов определенного типа (в данном случае GIF)

User-agent: Googlebot
Disallow: /*.gif$

Чтобы заблокировать определенные страницы сайта, но продолжать на них показ объявлений AdSense, используйте правило Disallow для всех роботов, за исключением Mediapartners-Google. В результате этот робот сможет получить доступ к удаленным из результатов поиска страницам, чтобы подобрать объявления для показа тому или иному пользователю.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Чтобы указать URL, заканчивающиеся на определенные символы, применяйте символ $. Например, для URL, заканчивающихся на .xls, используйте следующий код:
User-agent: Googlebot
Disallow: /*.xls$
Была ли эта статья полезна?
Как можно улучшить эту статью?