примеры для различных CMS, правила, рекомендации
Правильная индексация страниц сайта в поисковых системах одна из важных задач, которая стоит перед владельцем ресурса. Попадание в индекс ненужных страниц может привести к понижению документов в выдаче. Для решения таких проблем и был принят стандарт исключений для роботов консорциумом W3C 30 января 1994 года — robots.txt.
Что такое Robots.txt?
Robots.txt — текстовый файл на сайте, содержащий инструкции для роботов какие страницы разрешены для индексации, а какие нет. Но это не является прямыми указаниями для поисковых машин, скорее инструкции несут рекомендательный характер, например, как пишет Google, если на сайт есть внешние ссылки, то страница будет проиндексирована.
На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.
Что следует закрывать от индексации:
- служебные страницы сайта
- дублирующие документы
- страницы с приватными данными
- результат поиска по ресурсу
- страницы сортировок
- страницы авторизации и регистрации
- сравнения товаров
Как создать и добавить Robots.
txt на сайт?Robots.txt обычный текстовый файл, который можно создать в блокноте, следуя синтаксису стандарта, который будет описан ниже. Для одного сайта нужен только один такой файл.
Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt
Синтаксис файла robots.txt
Инструкции для поисковых роботов задаются с помощью директив с различными параметрами.
Директива User-agent
С помощью данной директивы можно указать для какого робота поисковой системы будут заданы нижеследующие рекомендации. Файл роботс должен начинаться с этой директивы. Всего официально во всемирной паутине таких роботов 302. Но если не хочется их все перечислять, то можно воспользоваться следующей строчкой:
User-agent: *
Где * является спецсимволом для обозначения любого робота.
Список популярных поисковых роботов:
- Googlebot — основной робот Google;
- YandexBot — основной индексирующий робот;
- Googlebot-Image — робот картинок;
- YandexImages — робот индексации Яндекс. Картинок;
- Yandex Metrika — робот Яндекс.Метрики;
- Yandex Market— робот Яндекс.Маркета;
- Googlebot-Mobile —индексатор мобильной версии.
Директивы Disallow и Allow
С помощью данных директив можно задавать какие разделы или файлы можно индексировать, а какие не следует.
Disallow — директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:
Disallow: /site/
В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/
Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / — это закроет весь сайт от индексации.
Директива Sitemap
Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:
User-agent: *
Disallow: /site/
Allow: /
Sitemap: http://site. com/sitemap1.xml
Sitemap: http://site.com/sitemap2.xml
Директиву можно указать в любой из инструкций для любого робота.
Директива Host
Host является инструкцией непосредственно для робота Яндекса для указания главного зеркала сайта. Данная директива необходима в том случае, если у сайта есть несколько доменов, по которым он доступен. Указывать Host необходимо в секции для роботов Яндекса:
User-agent: Yandex
Disallow: /site/
Host: site.ru
В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.
Директива Clean-param
Clean-param дает возможность запретить для индексации страницы сайта, которые формируются с динамическими параметрами. Такие страницы могут содержать один и тот же контент, что будет являться дублями для поисковых систем и может привести к понижению сайта в выдаче.
Директива Clean-param имеет следующий синтаксис:
Clean-param: p1[&p2&p3&p4&. .&pn] [Путь к динамическим страницам]
Рассмотрим пример, на сайте есть динамические страницы:
- https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
- https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7
Для того, чтобы исключить подобные страницы из индекса следует задать директиву таким образом:
Clean-param: kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param: kol_from1&price_to2&pcolor / # для всех страниц сайта
Директива Crawl-delay
Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.
Параметром для Crawl-delay является время в секундах, которое указывает роботам, что страницы следует скачивать с сайта не чаще одного раза в указанный период.
Пример использования директивы Crawl-delay:
User-agent: *
Disallow: /site
Crawl-delay: 4
Особенности файла Robots.txt
- Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
- Перед директивой не должно быть указано каких-либо других символов (в том числе пробела)
- Параметры директив необходимо указывать в одну строку
- Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
- Параметры не нужно указывать в кавычках или других символах
- После директив не следует указывать “;”
- Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
- В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
- Robots.txt нечувствителен к регистру
- Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
- В директивах «Allow», «Disallow» можно указывать только 1 параметр
- В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
- Использование кириллицы в роботс не допускаются
Спецсимволы robots.
txtПри указании параметров в директивах Disallow и Allow разрешается использовать специальные символы * и $, чтобы задавать регулярные выражения. Символ * означает любую последовательность символов (даже пустую).
Пример использования:
User-agent: *
Disallow: /store/*.php # запрещает ‘/store/ex.php’ и ‘/store/test/ex1.php’
Disallow: /*tpl # запрещает не только ‘/tpl’, но и ‘/tpl/user’
По умолчанию у каждой инструкции в роботсе в конце подставляется спецсимвол *. Для того, чтобы отменить * на конце, используется спецсимвол $ (но он не может отменить явно поставленный * на конце).
Пример использования $:
User-agent: *
Disallow: /site$ # запрещено для индексации ‘/site’, но не запрещено’/ex.css’
User-agent: *
Disallow: /site # запрещено для индексации и ‘/site’, и ‘/site.css’
User-agent: *
Disallow: /site$ # запрещен к индексации только ‘/site’
Disallow: /site*$ # так же, как ‘Disallow: /site’ запрещает и /site. css и /site
Особенности настройки robots.txt для Яндекса
Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:
User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com
В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).
Особенности настройки robots.txt для Google
Для Google особенность лишь состоит в том, что сама компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. В таком случае, робот примет такой вид:
User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *. js
Host: www.site.com
С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.
Проверка правильности настройки роботс
Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера:
Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:
Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:
Но данный инструмент доступен только в том случае, если сайт добавлен в панель Вебмастера Google.
Заключение
Robots.txt является важным инструментом управления индексацией сайта поисковыми системами. Очень важно держать его актуальным, и не забывать открывать нужные документы для индексации и закрывать те страницы, которые могут повредить хорошему ранжированию ресурса в выдаче.
Пример настройки роботс для WordPress
Правильный robots.txt для WordPress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):
User-agent: Yandex
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Host: www.site.ru
User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *. css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами
User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Sitemap: http://site.ru/sitemap.xml
Sitemap: http://site.ru/sitemap1.xml
Пример настройки роботс для Bitrix
Если сайт работает на движке Битрикс, то могут возникнуть такие проблемы:
- попадание в выдачу большого количества служебных страниц;
- индексация дублей страниц сайта.
Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots. txt для CMS 1C-Bitrix:
User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru
User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml
User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo. png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml
Пример настройки роботс для OpenCart
Правильный robots.txt для OpenCart должен быть составлен таким образом:
User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site. ru
User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js
User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index. php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Sitemap: http://site.ru/sitemap.xml
Пример настройки роботс для Umi.CMS
Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):
User-Agent: Yandex
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out. php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru
User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js
User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Sitemap: http://site.ru/sitemap.xml
Пример настройки роботс для Joomla
Правильный robots. txt для Джумлы должен быть составлен таким образом:
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Host: www.site.ru
User-agent: Googlebot
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Allow: *.css
Allow: *.js
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Sitemap: http://www. site.ru/sitemap.xml
robots.txt. Ошибки и рекомендации. Описание наиболее распространенных ошибок при составлении файла.
Перепутанные инструкции
Одна из самых распространённых ошибок в robots txt – перепутаные между собой инструкции. Например:
User-agent: / Disallow: Yandex
Правильно писать вот так:
User-agent: Yandex Disallow: /
Указание нескольких каталогов в одной инструкции Disallow
Многие владельцы сайтов пытаются поместить все запрещаемые к индексации каталоги в одну инструкцию Disallow.
Disallow: /css/ /cgi-bin/ /images/
Такая запись нарушает стандарт, и невозможно угадать, как ее обработают разные роботы. Некоторые могут «отбросить» пробелы и интерпретируют эту запись как
«Disallow: /css/cgi-bin/images/».
Некоторые могут использовать только первую или последнюю папки (/css/ или /images/ соответственно). Кто-то может просто отбросить непонятную инструкцию полностью. Конечно, какие-то роботы могут обработать эту конструкцию именно так, как составил веб-мастер, но полагиться на это все же не стоит. Правильно надо писать так:
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
Имя файла содержит заглавные буквы
Файл должен называться robots.txt, а не Robots.txt или ROBOTS.TXT.
Использование файла robot.txt вместо robots.txt
Еще раз – файл должен называться robots.txt.
Пустая строка в User-agent
Так неправильно:
User-agent:
Disallow:
Так правильно:
User-agent: *
Disallow:
Url в директиве Host
Следует писать без аббревиатуры протокола передачи гипертекста, то есть без http:// и без закрывающего слеша / Неправильно:
User-agent: Yandex
Disallow: /cgi-bin
Host: http://www.site.ru/
Правильно:
User-agent: Yandex
Disallow: /cgi-bin
Host: www. site.ru
Директива host Является корректной только для робота Яндекса Использование в Disallow символов подстановки Иногда хочется написать что-то вроде:
User-agent: * Disallow: file*.html
для указания все файлов file1.html, file2.html, file3.html и т.д. Но нельзя, к сожалению (некоторые роботы поддерживают символы подстановки).
Плохой стиль
Комментарии на одной строке с инструкциями
По стандарту, такая запись вполне возможна:
Disallow: /cgi-bin/ #запрещаем роботам индексировать cgi-bin
В прошлом некоторые роботы не обрабатывали такие строки. Вероятно, сейчас ни у одной из основных поисковых систем уже нет такой проблемы, но стоит ли рисковать? Лучше помещать комментарии отдельно.
Редирект на страницу 404-й ошибки
Довольно часто, на сайтах без файла robots.txt при запросе этого файла делается переадресация на другую страницу. Иногда такая переадресация происходит без отдачи статуса 404 Not Found. Пауку самому приходится разбираться, что он получил – robots. txt или обычный html-файл. Эта ситуация вряд ли создаст какие-то проблемы, но все-таки лучше всегда класть в корень сайта пустой файл robots.txt.
Заглавные буквы – это плохой стиль
USER-AGENT: GOOGLEBOT DISALLOW: Хотя по стандарту robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файов и директорий. Кроме того, написание robots.txt сплошь заглавными буквами считается плохим стилем.
User-agent: googlebot
Disallow:
Перечисление всех файлов
Еще одной ошибкой является перечисление каждого файла в директории:
User-agent: *
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html
Вместо этого можно просто закрыть от индексации директорию целиком:
User-agent: *
Disallow: /AL/
Disallow: /Az/
значением поля Disallowдолжен являться частичный URL, который не должен индексироваться. Это может быть полный путь или частичный; любой URL, начинающийся с такого пути не должен индексироваться. Например:
Disallow: /help
закрывает и /help.html, и /help/index.html,
тогда как
Disallow: /help/
— только /help/index.html.
Инструкции Allow не существует! [перевод устаревший]
Примечание: Не существовало на момент перевода данного текста, сейчас эта инструкция поддерживаетcя и Гуглом, и Яндексом. Уточняйте по использованию для других роботов. Нет инструкции Allow, есть только Disallow. Файл robots.txt ничего не разрешает, только запрещает! Отдельные роботы (например googlebot) понимают директиву Allow Так неправильно:
User-agent: Yandex
Disallow: /john/
Allow: /jane/
А вот так – правильно:
User-agent: Yandex
Disallow: /john/
Disallow:
Использование дополнительных директив в секции *
Некоторые роботы могут неправильно отреагировать на использование дополнительных директив. Это значит, что не стоит использовать дополнительные директивы в секции «*». То есть рекомендуется создавать специальные секции для нестандартных директив, таких как «Host». Так неправильно:
User-agent: *
Disallow: /css/
Host: www.example.com
А вот так – правильно:
User-agent: *
Disallow: /css/
User-agent: Yandex
Disallow: /css/
Host: www.example.com
Отсутствие инструкции Disallow
Даже если мы хотим просто использовать дополнительную директиву и не хотим ничего запрещать, лучше всего указать пустой Disallow. По стандарту интрукция Disallow является обязательной, и робот может «неправильно вас понять». Так неправильно:
User-agent: Yandex
Host:
Так правильно:
User-agent: Yandex
Disallow: Host: www.example.com
Отсутствие слешей при указании директории
Как в этом случае поступит робот?
User-agent: Yandex
Disallow: john
По стандарту, он не будет индексировать файл с именем “john” и директорию с именем “john”. Для указания только директории надо писать так:
User-agent: Yandex
Disallow: /john/
Неправильный http-заголовок
Сервер должен возвращать в HTTP-заголовке для robots. txt «Content-Type: text/plain» а, например, не «Content-Type: text/html». Неправильный заголовок может привести к тому, что некоторые роботы не обработают файл.
В дополнение, по данной теме, читайте следующие статьи:
Что такое redirect-301
Файл robots.txt для Joomla 2.5
robots.txt. Удаление дублей в Joomla 2.5
Дубли страниц Joomla 2.5
robots.txt Как устранить дубли для сайта Joomla 2.5
Источники дублей Joomla
Плагин для удаления дублей Shnodoubles
seo — Использование «Разрешить» в robots.txt
Недавно я увидел файл robots.txt сайта следующим образом:
User-agent: * Разрешить: /логин Разрешить: /регистр
Я смог найти только Разрешить
записей и ни одного Запретить
записей.
Исходя из этого, я понял, что robots.txt является почти файлом черного списка для Запретить сканирование
страниц. Таким образом, Разрешить
используется только для разрешения той части домена, которая уже заблокирована с помощью Запретить 9. 0008 . Аналогично этому:
Разрешить: /crawlthis Запретить: /
Но в файле robots.txt нет записей Disallow
. Итак, позволяет ли этот robots.txt Google сканировать все страницы? Или он разрешает только указанные страницы с тегом Разрешить
?
- seo
- web-crawler
- robots.txt
- googlebot
Вы правы, этот файл robots.txt позволяет Google сканировать все страницы сайта. Подробное руководство можно найти здесь: http://www.robotstxt.org/robotstxt.html.
Если вы хотите, чтобы роботу googleBot было разрешено сканировать только указанные страницы, правильный формат будет следующим:
Агент пользователя:* Запретить:/ Разрешить: /логин Разрешить: /регистр
(Обычно я бы запретил эти определенные страницы, поскольку они не представляют большой ценности для искателей.)
Важно отметить, что командная строка «Разрешить» работает только с некоторыми роботами (включая Googlebot)
1
Нет смысла иметь запись robots. txt, содержащую Разрешить
строк, но не Запретить
строк. В любом случае по умолчанию все разрешено сканировать.
Согласно оригинальной спецификации robots.txt (которая не определяет Allow
), он даже недействителен, так как требуется хотя бы одна строка Disallow
(выделено жирным шрифтом):
Запись начинается с одной или нескольких строк
User-agent
, за которыми следует одна или несколько строкЗапретить
строк […]
В записи должно присутствовать хотя бы одно поле
Запретить
.
Другими словами, запись типа
User-agent: * Разрешить: /логин Разрешить: /регистр
эквивалентно записи
User-agent: * Запретить:
т. е. разрешено сканирование всего, включая (но не ограничиваясь) URL-адреса с путями, начинающимися с /login
и /register
.
Зарегистрируйтесь или войдите в систему
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
поисковый робот — в чем разница между «Разрешить: /» и «Запретить:» в файле robots.
txt? В чем разница между двумя файлами robots.txt
ниже?
Агент пользователя: * Разрешать: /
против
User-agent: * Запретить:
В Википедии последний указан в качестве примера в разделе Примеры
.
Однако позже он имеет код, аналогичный первому коду:
User-agent: bingbot Разрешать : / Задержка сканирования: 10
- поисковый робот
- robots.txt
1
Вы должны предпочесть использовать синтаксис запрета:
User-agent: * Запретить:
Disallow
является частью оригинального стандарта robots.txt, который понимает каждый бот, подчиняющийся robots.txt.
Разрешить
— это синтаксис расширения, представленный Google и понятный только нескольким ботам. Он был добавлен, чтобы иметь возможность запретить все, но затем снова разрешить несколько вещей. Уместнее всего было бы использовать его как:
Агент пользователя: * Запретить: / Разрешить: /public
В этом случае большинство ботов вообще не смогут сканировать сайт, но несколько ботов, которые понимают Разрешить:
, смогут сканировать общедоступный каталог.
Когда директивы Disallow:
и Allow:
конфликтуют (как в приведенном выше примере), приоритет имеет более длинная директива, применимая к данному URL-адресу. Например, /public/foo
будет использовать правило Allow: /public
, потому что могут применяться оба правила, но это правило длиннее. /private/foo
будет использовать правило Disallow: /
, потому что только оно соответствует. Порядок правил не имеет значения.
Первый сообщает всем пользовательским агентам, таким как поисковые роботы или поисковые роботы Google, что им разрешено просматривать весь веб-сайт, поскольку /
— это корневой путь веб-сайта, например, http://example. org
будет /
, а https://example.org/admin
будет /admin
в вашем файле robots.txt
Директива Disallow
делает прямо противоположное, она говорит агентам пользователя держаться подальше от указанных путей.
Разрешить
и Запретить
можно использовать по-разному, например, в виде белого или черного списка.
И поэтому следующий
User-agent: * Разрешать: /
совпадает с
User-agent: * Запретить:
Самый простой способ понять это — подумать, что Разрешить
и Запретить
похожи на «списки» путей, но следует использовать только один тип директивы ( Allow
или Disallow
).
Например, давайте занесем в черный список файл robots.txt с помощью директивы
, запретив только индексатору bing индексировать наш веб-сайт.
Агент пользователя: Bingbot Запретить: / Пользовательский агент: * Запретить:
Короче.