Файл robots.txt

Основная задача этого файла – сообщать роботам поисковых систем, что можно и что нельзя индексировать на сайте.
Точнее – это рекомендация роботам.

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

Файл robots.txt

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

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

– запрос на удаление страницы

– страница должна быть явно запрещена к индексации в robots.txt

Яндекс удаляет отсутствующие страницы где-то через 3 месяца (при получении регулярной ошибки 404)

Главное:

– файл только один

– файл располагается в корневой директории сайта

– названия файла в нижнем регистре robots.txt

– файл в кодировке ANSI

– размер файла не более 32 Кб (иначе роботы будут считать его отсутствующим и иметь разрешение на индексацию всего)

Примечание: также поисковыми роботами (запреты и разрешения) можно управлять прямо на странице сайта с помощью метатэгов robots.

Позволяет решать следующие проблемы:

– если у Вас CMS генерирует дубли страниц (т.е. одна и та же страницами под разными url) – Вы можете или искать/найти в каком месте CMS работает с ошибкой или запретить индексацию дублей по “маске” в этом файле

– немного помогает продвижению сайта, запрещая роботам индексировать мусор (роботы мусор не любят) и заодно снижая нагрузку на сайт в связи с уменьшением заходов роботов

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

– помогает удалять отсутствующие страницы из индекса поисковых систем – для выполнения запроса на удаление url НЕОБХОДИМ запрет индексации этих страниц в файле robots.txt

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

– явно указывает роботам, где находится/находятся файлы sitemap.xml (где прописаны страницы для индексирования)

– указывает роботам основное зеркало сайта – с www или без него

 

Структура файла:

Секция User-agent: *

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

Основные директивы в секции:

Disallow – запретить

Allow – разрешить (нет в базовом стандарте robots.txt, есть в расширенном стандарте, сейчас практически все роботы поисковых систем поддерживают расширенный стандарт)

Sitemap – указывает расположение файла Sitemap.xml Файлов может быть несколько и они могут лежать в разных директориях.

Host – указывает основное зеркало сайта

Варианты:

User-agent: *
Disallow: /

# запретить индексировать все на сайте

 

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

# разрешить индексацию всего, что начинается на main и запретить все остальное

Внимание: не допустимы пустые переводы строки между User-agent, Disallow, Allow.

Вот так делать нельзя – роботы будут считать это ошибкой

User-agent: *

Allow: /main

Disallow: /

Sitemap: http://www.site.ru/sitemap.xml

# указание на расположение файла sitemap.xml

 

Host: site.ru (понимает только Яндекс, для Гугль основное зеркало задается через инструменты ВебМастера)

# указание на основное зеркало сайта

 

Спецсимволы:

# комментарий

* как обычно – любые символы

Символ * означает любое количество любых символов, например, под маску /doc* подходит как /doc1, так и /doc291, /doc/ или просто /doc. По умолчанию, при интерпретации роботом к указанному пути приписывается символ *. Например, следующие директивы полностью идентичны:

Disallow: /doc
Disallow: /doc*

Обратите внимание на слэши – у Вас может быть директория /doc/ и поддиректории к ней /doc/charter1/ и т.д. Если поставить только

Disallow: /doc/ – Вы запретите только индексацию одной этой папки, для запрещения всех подпапок надо указать
Disallow: /doc

 

$ запрещает использование * на конце директивы

User-agent: *
Disallow: /doc$

Чтобы избежать при интерпретации «автоматического дописывания» символа * в конце пути, служит другой специальный символ – $. Этот символ означает конец подстроки сравнения. Таким образом, следующий блок будет запрещать /doc, но не будет запрещать пути /doc1 или /doc291.

Обратите внимание – поисковые роботы хотят “видеть”, как выглядит сайт для человека. Вот здесь подробнее – https://seotable.ru/seo-chto-eto.html

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

Как пример – делаем баннерную рекламу на своем сайте.

Сами баннеры (в виде картинок) + соответствующие файлы html с переадресацией на конечную страницу. Вот такого вида:

папка “banner”
banner1.gif
banner1.html
banner2.gif
banner2.html
banner3.gif
banner3.html

И все они живут в отдельной папке “banner” в корне сайта.

Зачем делать отдельные файлы html, почему бы сразу с баннера не сделать ссылку на рекламируемый ресурс? Удобно для статистики – в практически пустых файлах html “живет” переадресация и счетчики. Т.е мы можете анализировать статистику, сколько раз кликали по конкретному баннеру.

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

Вариант 1 – запрещаем конкретные страницы

User-agent: *
Disallow: /banner/banner1.htm
Disallow: /banner/banner2.htm
Disallow: /banner/banner3.htm

Вариант 2 – помещаем код в подпапку code, картинки остаются в старой папке

папка “banner”
banner1.gif
banner2.gif
banner3.gif
папка “code”
banner1.html
banner2.html
banner3.html

Запрещаем только подпапку с кодом

User-agent: *
Disallow: /banner/code

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


Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла