Как правильно составить robots.txt? Зачем он нужен?
Файл robots.txt. На эти вопросы я постараюсь ответить в этой статье.
Файл robots.txt размещается в корневой папке сайта и предназначен для создания правил индексации для поискового робота. Я хотел бы рассмотреть основные правила составление файла robots.txt, и особенное внимание уделить необходимости создания такого файла.
Наверное, уже не для кого не секрет, что поисковые системы крайне негативно относятся к дублированному контенту и копипасту или большой исходящей ссылочной массе с одной страницы.
Для примера приведу ситуацию, которая случается на блогах, причем, даже на самых популярных – это дублирование контента через тэги и категории.
Простой пример на моем блоге статью Самостоятельная оптимизация сайта. можно встретить, как минимум трижды:
https://ashifin.com/stati/prodvizhenie-sajta/samostoyatelnaya-optimizaciya-sajta.html
https://ashifin.com/tag/category/stati/prodvizhenie-sajta
https://ashifin.com/category/stati/prodvizhenie-sajta
В первом случае в полном объеме в остальных в сокращенном.
За такое некоторые поисковики могут наложить санкции относительно сайта, поэтому в моем случае я запретил к индексации тэги и категории:
Disallow: /tag/
Disallow: /category/
Робот который заходит к нам на сайт сначала проверяет файл robots.txt на наличие запретов к индексации разделов или страниц сайта, только потом начинают индексацию разрешенного контента.
Имя файла не должно содержать заглавных букв, а записи должны быть разделены одной или несколькими пустыми строками. В файле robots.txt комментарии обозначаются знаком “#” и заканчиваются окончанием строки.
User-agent
В этом поле указываем имя робота к которому применяются правила. Если запись с User-agent дублируется, то для всех поисковых ботов действуют те же правила, которые содержаться в текущей записи. Когда User-agent установлен в «*», то правила действительны для всех роботов, кроме тех у которых есть отдельные записи.
Disallow
Поля которое указывает что именно запрещается к индексированию, а именно полный путь или частичный, который не должен посещать бот. Пустое поле Disallow: не учитывается ботом и не является запретом к индексации чего либо. Чтоб запретить индексацию всего сайта нужно прописать:
User-agent: *
Disallow: /
Теперь приведу файл в котором запрещены к индексации некоторые разделы:
User-agent: Yandex
Disallow: /tag/
Disallow: /category/
# Запрещает ботам Яндекса посещать папки https://ashifin.com/tag/ и https://ashifin.com/category/
User-agent: *
Disallow: /tag/
Disallow: /category/
# Запрещает посещение всем ботам, для которых не сделана
#отдельная запись
Вот пример файла который ничего не запрещает
User-agent: *
Disallow:
User-agent: Googlebot
Disallow:
Host: site.ru
Я приведу список наиболее известных роботов:
AltaVista: Scooter
Google: Googlebot
Yandex: Yandex
Rambler: StackRambler
Aport: Aport
Что же стоит запретить к индексации?
Запретить к индексации стоит:
дубли страниц,
папки со скриптами,
сервисные страницы например форма связи с администрацией,
страницы с большим количеством ссылок на другие сайты например страница «Полезные ссылки».
Часто допускаемые ошибки:
В имени файла использованы буквы верхнего регистра ROBOTS.TXT или Robots.txt
Помещенный не в корневой папке файл robots.txt
Пустая строка после поля User-agent
Отсутствие директивы Disallow
Дублирование строки “Disallow: *”
Ну вот пожалуй и все из основного.
Мой файл можете взять вот здесь, только разумеется под себя подправьте.
Не ставлю на ссылку социальный замок, но буду благодарен за рекомендации “Веб-Мастерской Инфобизнеса” в социальные сети.
robots.txt, файл robots.txt, как написать robots.txt
Прочитал эту статью и статью рекомендованную katy и обнаружил в своем robots.txt несколько ошибок. Исправил. Знание – это сила!
Долго не могла разобраться как работать с robots.txt ,пока не нашла эту статью https://ifish2.ru/fail-robots-txt-chto-eto-takoe/ .
Эти ребята помогли мне разобраться с файлом и даже помогли исправить мои ошибки!! Теперь мой сайт работает как надо))
Здравствуйте, буду благодарна за помощь. Вот мой файл роботс, статьи в гугле появились без проблем, а яндекс исключает их из поиска (смотрю в яндекс.вэбмастер). И пишет Для корректного определения главного зеркала сайта рекомендуется задать соответствующую директиву Host в файлах robots.txt всех зеркал сайта. В случае ее отсутствия главное зеркало может быть выбрано автоматически.
Добавьте директиву Host в файл robots.txt.
User-agent: Mediapartners-Google
Disallow:
User-agent: Yandex
Disallow:
User-agent: *
Disallow: /wp-includes
Disallow: /wp-feed
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Host: stroynostvmode.ru/
Sitemap: //stroynostvmode.ru/sitemap.xml.gz
Sitemap: //stroynostvmode.ru/sitemap.xml
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
User-agent: YandexImages
Allow: /wp-content/uploads/
Все вроде правильно , просто уберите слеш после домена сайта в директиве Host
Спасибо, убрала, посмотрю, будут ли индексироваться статьи или нет.
Вот здесь, Фёдор, у Вас три строки или третья строка – опечатка? И для чего тогда нужна строка Host: site.ru?
User-agent: Googlebot
Disallow:
Host: site.ru
Как программно запретить индексировать сайт помимо трационного в robots.txt:
User-agent: Googlebot
Disallow:/
Говорят, иногда Гугл всё же индексирует сайт, несмотря на запрет.
Что плохого, если одна статья будет в полном объеме, а в другом в сокращенном. Как иначе-то? На Главной странице обязательно должена быть краткий анонс новости.
Понял. Не думал, что Главная страница не должна индексироваться.
“можно встретить, как минимум трижды” – а для чего делать дубли? У Вас страницы по 2-ой и 3-ей ссылке полностью идентичны.
Наконец-то увидела нормальное описание этого файла. Все время пыталась найти, а все повторяют одно и тоже. Обязательно проверю свой, прямо по строчкам – все ли там указано правильно.
А мне вот непонятно, директива Disallow есть, а Allow нет? Как-то нелогично.
Вероятно, это требование протокола. Проще поиск начинать с чего-то одного (Disallow), чем сначала машине делать проверку на Disallow/Allow. Одна операция выигрывается.
“Часто допускаемые ошибки: Отсутствие директивы Disallow”
Я правильно понял, что
User-agent: Yandex
User-agent: Googlebot
Disallow:
это правильно, а
User-agent: Yandex
User-agent: Googlebot
без Disallow это неправильно?
Написание
User-agent: Yandex
User-agent: Googlebot
неправильное, и в статье такого нет. Для каждой ПС отдельно пушутся запреты и разрешения.
Примерно вот так нужно написать:
User-agent: Yandex
Disallow:
User-agent: Googlebot
Disallow:
Это то и страшно, что при создании новичками своих сайтов файл robots.txt “скатывается” без осознания – что он, вообще значит, для чего нужен, и т.д.
Вот теперь нужно подправлять всё, что там неправильно написано (списано).
Лично я не знал, что имя файла не должно содержать заглавных букв.
Ничего не нужно, роботы сами знают где его искать.
Привет всем! Скажите между тегами указывать, что есть robots.txt нужно? Или давать ссылку на robots.txt в теле сайта?