Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Создание Robots.txt
Последовательно заполняйте все необходимые поля. По мере ваших указаний, Вы будете видеть наполнение вашего Robots.txt директивами. Ниже подробно описаны все директивы файла Robots.txt.
Пометьте, скопируйте и вставьте текст в текстовый редактор. Сохраните файл как "robots.txt" в корневой директории Вашего сайта.
Описание формата файла robots.txt
Файл robots.txt состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:
Директива ":" значениеRobots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.
Директива User-agent:
Для Рамблера:User-agent: StackRamblerДля Яндекса:
User-agent: YandexДля Гугла:
User-Agent: googlebot
Вы можете создать инструкцию для всех роботов:
User-agent: *
Директива Disallow:
Вторая часть записи состоит из строк Disallow. Эти строки - директивы (указания, команды) для данного робота. В каждой группе, вводимой строкой User-agent, должна быть хотя бы одна инструкция Disallow. Количество инструкций Disallow не ограничено.Они сообщают роботу какие файлы и/или каталоги роботу неразрешено индексировать. Вы можете запретить индексацию файла или каталога.
Следующая директива запрещает индексацию каталога /cgi-bin/:
Disallow: /cgi-bin/Обратите внимание на / в конце названия директории! Чтобы запрещать посещение именно каталога "/dir", инструкция должна иметь вид: "Disallow: /dir/". А строка "Disallow: /dir" запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html".
Записанная следующим образом директива запрещает индексацию файла index.htm находящегося в корне:
Disallow: /index.htm
Директиву Allow понимает только Яндекс.
User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц начинающихся с '/cgi-bin'Для остальных поисковиков вам придется перечислять все закрытые документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.
Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.
Робот Рамблера понимает * как любой символ, поэтому инструкция Disallow: * означает запрещение индексации всего сайта.
Директивы Allow, Disallow без параметров. Отсутствие параметров у директив Allow, Disallow трактуется следующим образом:User-agent: Yandex Disallow: # тоже что и Allow: /
User-agent: Yandex Allow: # тоже что и Disallow: /
Использование спецсимволов "*" и "$".
При указании путей директив Allow-Disallow можно использовать спецсимволы '*' и '$',
задавая, таким образом, определенные регулярные выражения. Спецсимвол '*' означает любую
(в том числе пустую) последовательность символов. Примеры:
User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx' и '/cgi-bin/private/test.aspx' Disallow: /*private # запрещает не только '/private', но и '/cgi-bin/private'Спецсимвол '$'.
По умолчанию к концу каждого правила, описанного в robots.txt, приписывается '*', например:
User-agent: Yandex Disallow: /cgi-bin* # блокирует доступ к страницам начинающимся с '/cgi-bin' Disallow: /cgi-bin # то же самоечтобы отменить '*' на конце правила, можно использовать спецсимвол '$', например:
User-agent: Yandex Disallow: /example$ # запрещает '/example', но не запрещает '/example.html'
User-agent: Yandex Disallow: /example # запрещает и '/example', и '/example.html'
User-agent: Yandex Disallow: /example$ # запрещает только '/example' Disallow: /example*$ # так же, как 'Disallow: /example' запрещает и /example.html и /example
Директива Host.
Если ваш сайт имеет зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его при помощи robots.txt, используя директиву 'Host', определив в качестве ее параметра имя главного зеркала. Директива 'Host' не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример:#Если www.glavnoye-zerkalo.ru главное зеркало сайта, то robots.txt для #www.neglavnoye-zerkalo.ru выглядит так User-Agent: * Disallow: /forum Disallow: /cgi-bin Host: www.glavnoye-zerkalo.ruВ целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow'). Аргументом директивы 'Host' является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки 'Host:' игнорируются.
Примеры игнорируемых директив Host:
Host: www.myhost-.ru Host: www.-myhost.ru Host: www.myhost.ru:100000 Host: www.my_host.ru Host: .my-host.ru:8000 Host: my-host.ru. Host: my..host.ru Host: www.myhost.ru/ Host: www.myhost.ru:8080/ Host: 213.180.194.129 Host: www.firsthost.ru,www.secondhost.ru # в одной строке - один домен! Host: www.firsthost.ru www.secondhost.ru # в одной строке - один домен! Host: http://htmlweb.ru # http - удалить! Host: экипаж-связь.рф # нужно использовать punycode
Директива Crawl-delay
Задает таймаут в секундах, с которым поисковый робот закачивает страницы с вашего сервера (Crawl-delay).
Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой "Crawl-delay". Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Crawl-delay" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow" ("Allow").
Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.
Пример:
User-agent: Yandex Crawl-delay: 2 # задает таймаут в 2 секунды User-agent: * Disallow: /search Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
Директива Clean-param
Директива для исключения параметров из адресной строки. т.е. запросы содержащие такой параметр и не содержащие - будут считаться идентичными.
Пустые строки и комментарии
Пустые строки допускаются между группами инструкций, вводимыми User-agent.
Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent.
Любой текст от знака решетки "#" до конца строки считается комментарием и игнорируется.
Пример:
Следующий простой файл robots.txt запрещает индексацию всех страниц сайта всем роботам, кроме робота Рамблера, которому, наоборот, разрешена индексация всех страниц сайта.
# Инструкции для всех роботов User-agent: * Disallow: / # Инструкции для робота Рамблера User-agent: StackRambler Disallow:
Распространенные ошибки:
Перевернутый синтаксис:User-agent: / Disallow: StackRamblerА должно быть так:
User-agent: StackRambler Disallow: /Несколько директив Disallow в одной строке:
Disallow: /css/ /cgi-bin/ /images/Правильно так:
Disallow: /css/ Disallow: /cgi-bin/ Disallow: /images/
- Примечания:
- Недопустимо наличие пустых переводов строки между директивами 'User-agent' и 'Disallow' ('Allow'), а также между самими 'Disallow' ('Allow') директивами.
- В соответствии со стандартом перед каждой директивой 'User-agent' рекомендуется вставлять пустой перевод строки.
- Комментарии рекомендуется писать отдельной строкой, чтобы одни однозначно воспринимались поисковыми роботами
- Пробел в начале строки разрешается, но не рекомендуется.
- Не указывайте несколько директив в одной строке. Различные почтовые роботы могут понять эту директиву по-разному. Некоторые проигнорируют пробелы и поймут директиву, как запрет на индексацию каталога, состоящего из всех записей строки, либо возьмут только один каталог и проигнорируют все остальное
- Не редактируйте файл robots.txt в формате DOS. Всегда редактируйте свой robots.txt в режиме UNIX и закачивайте файл на сайт в режиме ASCII. Многие FTP-клиенты умеют при закачке в текстовом режиме переводить символы строки из DOS-формата в UNIX-формат.
- Google - первый поисковый сервер, который поддерживает в директивах регулярные выражения. Что позволяет запрещать индексацию файлов по их расширениям.
User-agent: googlebot Disallow: *.cgi
Кроме использования файла robots.txt, Вы можете управлять индексацией с помощью МЕТА-тега robots и директив <noindex>...</noindex>
Использованы материалы с сайтов поисковых систем:
Rambler,
Yandex,
Google.
А проверить как Яндекс "реагирует на ваш robots.txt можно на этой страничке
Пример разбора файла robots.txt на PHP
Здесь можно проверить принадлежность адреса файлу robots.txt
.
Прокомментировать/Отблагодарить