Файл robots.txt - это текстовой файл, который находится в корневой папке и создаётся он для поисковых агентов. Через него вы можете управлять доступом ботов к вашему сайту. Robots.txt является полезным дополнением к файлу Sitemap. Этот файл поддерживается всеми большими поисковыми машинами.
Для чего запрет доступа для поисковиков может быть хорош? Он может быть хорош по нескольким понятиям. Из-за вопросов безопасности, например, отключается индексация администраторских разделов. Из-за соображений оптимизации может быть исключён зафлуженый форум от индексации, который мог бы негативно повлиять на позиции сайта в поисковиках.
1. Обращение к поисковым ботам и директивы Allow/Disallow
Вот так выглядит самый простой роботс-файл, который обращается ко всем поисковым роботам и разрешает индексировать сайт полностью.
Code
User-agent: * # Обращение ко всем поисковым ботам Disallow: # Разрешена индексация всего сайта
К поисковым ботам можно обращаться по отдельности, при этом они перестают реагировать на директивы для User-agent: *. В следующем примере индексирование всеми поисковиками разрешено, кроме Яндекса. Директива Disallow: означает тоже самое как Allow: /, а Allow: приравнивается Disallow: /.
Code
User-agent: * Disallow:
User-agent: Yandex # Обращение к боту Яндекса Disallow: / # Запрет на индексацию всего сайта User-agent: Googlebot # Обращение к боту Гугла Allow: / # Разрешена индексация всего сайта
Можно разрешать индексировать только определённые каталоги и файлы. При этом сперва нужно указывать директиву Allow до директивы Disallow, иначе она будет проигнорирована. В следующем примере всё запрещено к индексированию, кроме страниц, начинающихся с dir.
Code
User-agent: * Allow: /dir # Разрешение индексации страниц Disallow: /
2. Спецсимволы * и $
С помощью регулярных выражений можно достичь определённых эффектов. В следующем примере запрещаются к индексации все HTML-файлы в папке dir и любые ёрлы с цепью символов temp.
Code
User-agent: * Disallow: /dir/*.html # запрет файлов с расширением *.html в этой папке и поддерикториях Disallow: /*temp # запрещает /temp, /dir/temp и так далее
По умолчанию в конце каждого правила, описанного в файле роботс, ставится *. Отменить это свойство можно с помощью символа $.
Code
User-agent: * Disallow: /dir* # блокирует доступ ко всем страницам, которые содержат dir Disallow: /dir # тоже самое, что и в предыдущей строке Disallow: /temp$ # запрещает /temp, но /temp.html разрешает индексировать
3. Директивы Sitemap и Host
Если на вашем сайте существует файл Sitemap, то вы можете прописать его в robots.txt, если хотите, чтобы роботы узнали о нём.
Если к вашему сайту прикреплены несколько доменов (зеркал), то роботы проиндексируют только один из них. Чтобы указать, какое из зеркал главное, используется директива Host. Сайт можно прописывать с www и без, смотря какой из вариантов является вашим главным зеркалом.