Описание файла robots.txt

1

User-agent

Указывает для каких ботов будут действовать последующие правила.

User-agent: Googlebot
Disallow: /category

User-agent: *
Disallow: /
TEXT

Недопустимы пустые строки между директивами User-agentDisallow и Allow.

Основные роботы поисковиков

Яндекс

YandexBot Основной робот
YandexImages Яндекс.Картинки
YandexMedia Мультимедийные данные
YandexNews Яндекс.Новости
YandexBlogs Поиск по блогам
YandexCalendar Яндекс.Календарь
YandexDirect Рекламная сеть
YandexMarket Яндекс.Маркет
YandexMetrika Яндекс.Метрика

Google

Googlebot Основной робот
Googlebot-Image Изображения
Googlebot-Video Видео
Mediapartners-Google AdSense
2

Disallow

Директива запрещающая индексировать указанные адреса страниц.

Запретить GET параметр view:

Disallow: *view=*$
TEXT

Запретить все GET параметры:

Disallow: /*?
TEXT

Запретить example.com/page и все ее дочерние страницы:

Disallow: /page/page-2
TEXT

Запретить страницу example.com/page, но не ее дочерние:

Disallow: /page/$
TEXT

Запрет индексирования php файлов:

Disallow: /*.php$
TEXT

Не индексировать UTM-метки:

Disallow: /*?utm_source*
TEXT
Но лучше использовать канонические адреса (rel="canonical").
3

Allow

Разрешает индексирование страниц сайта, используется в основном в связке Disallow.

Например, следующая запись запрещает индексирование всего сайта кроме раздела example.com/category

Allow: /category
Disallow: /
TEXT
4

Crawl-delay

Директива задает интервал в секундах между загрузками страниц Яндексом. Эту директиву следует выносить в отдельный блок т.к. файл не пройдет валидацию в Google.

Например, задержка 5 сек:

User-agent: Yandex
Crawl-delay: 5.0

User-agent: *
...
TEXT
5

Clean-param

Чтобы не индексировать страницы с динамическими GET параметрами (сортировки, сессии и т.д.) Яндекс ввел директиву Clean-param которая сводит такие адреса к одному. Также директиву следует выносить в отдельный блок.

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

Например для следующих адресов:

http://example.com/category
http://example.com/category?sort=asc
http://example.com/category?sort=desc

Запись будет следующая:

User-agent: Yandex
Clean-param: sort /category
TEXT

Можно указать несколько GET переменных через символ &:

User-agent: Yandex
Clean-param: sort&session /category
TEXT
6

Host

Указывает основное зеркало сайта.

Host: example.com
TEXT

Основное зеркало с www:

Host: http://www.example.com
TEXT

Если сайт работает на https:

Host: https://example.com
TEXT

С апреля 2018 года Яндекс прекратил поддержку директивы Host, Google эту директиву никогда не поддерживал.

7

Sitimap

Карта сайта – файл sitimap.xml

Sitemap: http://example.com/sitemap.xml
TEXT
  • Кодировка файла должна быть в UTF-8.
  • Максимальное количество ссылок – 50 000

Можно указать несколько файлов:

Sitemap: http://example.com/sitemap.xml
Sitemap: http://example.com/sitemap-2.xml
Sitemap: http://example.com/sitemap-3.xml
TEXT
8

Пример файла

User-agent: *
Disallow: /search
Disallow: /themes
Disallow: /plugins
Sitemap: http://example.com/sitemap.xml
TEXT
05.09.2018, обновлено 29.08.2019 1400
Следующая запись Shema.org хлебные крошки

Поделится

Другие публикации

Можно найти множество применений Яндекс Диска на своем сайте, например, хранение бекапов и отчетов, обновление прайсов,...
Описание значений глобального массива $_SERVER с примерами.
PHP функция определяет является посетитель ботом по User-Agent.
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
К сожалению разработчики прекратили поддержку и разработку проекта, но PHPExcel все равно остается популярной...
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...