Что такое robots.txt и зачем он нужен
Файл robots.txt - это обыкновенный текстовый файл, с помощью которого можно управлять индексацией сайта. Чаще всего используется для описания запрещающих директив. В некоторых случаях используется комбинация из директив запрещающий и разрешающих. Файл позволяет обращаться ко всем роботам поддерживающих стандарт или к каждому в отдельности, особенно когда для каждого робота, нужно прописать различные указания
Полное отсутствие файла robots.txt является командой по умолчанию - всё разрешено
С помощью роботса можно запрещать к индексации как отдельные страницы, так и целые каталоги, а так же файлы
Примеры использования robots.txt
user-agent: * обращение ко всем роботам поддерживающим стандарт
user-agent: googlebot общее обращение к роботу Google, так же можно обращаться к различным роботам Google отдельно
user-agent: YandexBot общее обращение к роботу Яндекса, так же можно обращаться отдельно к различным роботам Яндекса
user-agent: Yandex общее обращение ко всем роботам Яндекса
Рамблер поддерживает стандарт, но понимает общее обращение ко всем роботам и только директивы запрета
Если нужно запретить весь сайт к индексированию всеми роботами, то используется следующая конструкция
Code
user-agent: *
Disallow: /
Если нужно запретить целый каталог к индексации, то используется следующая конструкция
Code
user-agent: *
Disallow: /название каталога/ обязательно с закрывающим слешем
Если нужно запретить несколько каталогов на сайте, то запрет для каждого каталога пишется с новой строчки. Пример
Code
user-agent: *
Disallow: /название каталога/
Disallow: /название каталога2/
Disallow: /название каталога3/
Если прописать название каталога без закрывающего слеша, то это будет означать блокировку всех страниц, начинающихся с названия каталога. Пример:
Code
Disallow: /название каталога
То есть по сути - это блокировка страниц в каталоге
Директива Allow:
Ошибочно считать, что это директива разрешения для индексации сайта и на её основе можно разрешать сайт к индексированию. На самом деле, данная директива используется только для тонких настроек запрета!
Если у вас запрещен к индексации целый каталог, но нужно дать разрешение на индексацию всего одной страницы каталога, то в этом случае уместно применить директиву Allow: Пример:
Code
Allow: /название каталога/primer.html
Disallow: /название каталога/
Большой глупостью будет писать robots.txt только разрешениями Allow: в надежде на полную индексацию сайта. Нужна полная индексация, или не удаляем robots.txt вообще, или прописываем
Code
user-agent: *
Disallow:
Запретить к индексации некоторые страницы сайта можно так:
Code
user-agent: *
Disallow: /primer1.html
Disallow: /primer2.html
Disallow: /primer3.html
Каждую страницу с новой строки и без закрывающего слеша на конце
Тонкие настройки
Если нужно запретить к индексации файл по расширению
Code
user-agent: *
Disallow: /название каталога/*.xml данная конструкция запрещает /название каталога/primer1.xml так же запрещает /название каталога/primer1/file1.xml и /название каталога/primer3/file2.xml то есть идет запрет на все что оканчивается на .xml
Disallow: /*primer данная конструкция запрещает /primer и так же запрещает /название каталога/primer
то есть все страницы имеющие в адресе после слеша primer
Можно настроить ещё тоньше
Code
user-agent: *
Disallow: /primer$ данная конструкция запрещает к индексации /primer, но при этом не запрещает /primer.xml
Как это работает
Файл robots.txt является рекомендательным, это значит, что директивы прописанные не обязательны к исполнению. Но, думается мне, что после скандала с Яндексом поисковые роботы станут более вежливыми в смысле исполнения запрещающего файла. Запрещенные страницы и каталоги могут быть отсканированы роботом, но не включены в поисковый индекс или эти страницы и каталоги будут пущены под фильтр и увидеть их в выдаче можно будет только вызвав содержимое фильтра. В общей выдаче запрещенные URL не будут числиться и выдаваться.
Если есть на сайте запрещенная к индексированию страница, то так же если адрес данной страницы будет найден роботом на стороннем ресурсе, то не исключено попадание запрещенной страницы в поисковый индекс
Поэтому, если вам нужно наверняка заблокировать появление страницы в индексе, лучше всего на этой странице прописать мета-тег Code
<meta name="robots" content="noindex">
Единственное что исполняется роботами практически без оговорок - это полный запрет к индексации всего сайта
Code
User-agent: *
Disallow: /