Содержание
Директивы Disallow и Allow — Вебмастер. Справка
- Disallow
- Allow
- Совместное использование директив
- Директивы Allow и Disallow без параметров
- Использование спецсимволов * и $
- Обработка символа #
- Примеры интерпретации директив
Используйте эту директиву, чтобы запретить индексирование разделов сайта или отдельных страниц. Например:
страницы с конфиденциальными данными;
страницы с результатами поиска по сайту;
статистика посещаемости сайта;
дубликаты страниц;
разнообразные логи;
сервисные страницы баз данных.
Примечание. При выборе директивы для страниц, которые не должны участвовать в поиске, если их адреса содержат GET-параметры, лучше использовать директиву Clean-param, а не Disallow. При использовании Disallow может не получиться выявить дублирование адреса ссылки без параметра и передать некоторые показатели запрещенных страниц.
Примеры:
User-agent: Yandex Disallow: / # запрещает обход всего сайта User-agent: Yandex Disallow: /catalogue # запрещает обход страниц, адрес которых начинается с /catalogue User-agent: Yandex Disallow: /page? # запрещает обход страниц, URL которых содержит параметры
Директива разрешает индексирование разделов или отдельных страниц сайта.
Примеры:
User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц # начинающихся с '/cgi-bin'
User-agent: Yandex Allow: /file.xml # разрешает скачивание файла file.xml
Примечание. Недопустимо наличие пустых переводов строки между директивами User-agent
, Disallow
и Allow
.
Директивы Allow
и Disallow
из соответствующего User-agent
блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то робот выбирает последнюю в порядке появления в сортированном списке. Таким образом, порядок следования директив в файле robots.txt не влияет на использование их роботом.
Примечание. При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow
.
# Исходный robots.txt: User-agent: Yandex Allow: / Allow: /catalog/auto Disallow: /catalog # Сортированный robots.txt: User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/auto # запрещает скачивать страницы, начинающиеся с '/catalog', # но разрешает скачивать страницы, начинающиеся с '/catalog/auto'.
Общий пример:
User-agent: Yandex Allow: /archive Disallow: / # разрешает все, что содержит '/archive', остальное запрещено User-agent: Yandex Allow: /obsolete/private/*.html$ # разрешает html файлы # по пути '/obsolete/private/...' Disallow: /*.php$ # запрещает все '*.php' на данном сайте Disallow: /*/private/ # запрещает все подпути содержащие # '/private/', но Allow выше отменяет # часть запрета Disallow: /*/old/*.zip$ # запрещает все '*.zip' файлы, содержащие # в пути '/old/' User-agent: Yandex Disallow: /add.php?*user= # запрещает все скрипты 'add.php?' с параметром 'user'
Если директивы не содержат параметры, робот учитывает данные следующим образом:
User-agent: Yandex Disallow: # то же, что и Allow: / User-agent: Yandex Allow: # не учитывается роботом
При указании путей директив 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
В соответствии со стандартом перед каждой директивой User-agent рекомендуется вставлять пустой перевод строки. Символ # предназначен для описания комментариев. Все, что находится после этого символа и до первого перевода строки не учитывается.
Страницы с адресами вида https://example.com/page#part_1 не индексируются поисковым роботом и будут обходиться по адресу https://example.com/page. Поэтому в директиве достаточно указать адрес страницы без якоря.
Если не учесть этой особенности и написать запрещающую директиву с символом #
, она может закрыть от индексирования весь сайт. Например, директиву вида Disallow: /#
поисковая система воспримет как Disallow: /
— полный запрет на индексирование.
User-agent: Yandex Allow: / Disallow: / # все разрешается User-agent: Yandex Allow: /$ Disallow: / # запрещено все, кроме главной страницы User-agent: Yandex Disallow: /private*html # запрещается и '/private*html', # и '/private/test.html', и '/private/html/test.aspx' и т. п. User-agent: Yandex Disallow: /private$ # запрещается только '/private' User-agent: * Disallow: / User-agent: Yandex Allow: / # так как робот Яндекса # выделяет записи по наличию в строке 'User-agent:', # результат — все разрешается
что означает и как правильно использовать
В данной статье речь пойдет о самых популярных директивах Dissalow и Allow в файле robots.txt.
Disallow
Allow
Совместная интерпретация директив
Пустые Allow и Disallow
Специальные символы в директивах
Примеры совместного применения Allow и Disallow
Disallow
Disallow – директива, запрещающая индексирование отдельных страниц, групп страниц, их отдельных файлов и разделов сайта(папок). Это наиболее часто используемая директива, которая исключает из индекса:
- страницы с результатами поиска на сайте;
- страницы посещаемости ресурса;
- дубли;
- сервисные страницы баз данных;
- различные логи;
- страницы, содержащие персональные данные
пользователей.
Примеры директивы Disallow в robots.txt:
# запрет на индексацию всего веб-ресурса User-agent: Yandex Disallow: /
# запрет на обход страниц, адрес которых начинается с /category User-agent: Yandex Disallow: /category
# запрет на обход страниц, URL которых содержит параметры User-agent: Yandex Disallow: /page?
# запрет на индексацию всего раздела wp-admin User-agent: Yandex Disallow: /wp-admin
# запрет на индексацию подраздела plugins User-agent: Yandex Disallow: /wp-content/plugins
# запрет на индексацию конкретного изображения в папке img User-agent: Yandex Disallow: /img/images. jpg
# запрет индексации конкретного PDF документа User-agent: Yandex Disallow: /dogovor.pdf
# запрет на индексацию не только /my, но и /folder/my или /folder/my User-agent: Yandex Disallow: /*my
Правило Disallow работает с масками, позволяющими проводить операции с группами файлов или папок.
После данной директивы необходимо ставить пробел, а в конце строки пробел недопустим. В одной строке с Disallow через пробел можно написать комментарий после символа “#”.
Allow
В отличие от Disallow, данное указание разрешает индексацию определенных страниц, разделов или файлов сайта. У директивы Allow схожий синтаксис, что и у Disallow.
Хотя окончательное решение о посещении вашего сайта роботами принимает поисковая система, данное правило дополнительно призывает их это делать.
Примеры Allow в robots.txt:
# разрешает индексацию всего каталога /img/ User-agent: Yandex Allow: /img/
# разрешает индексацию PDF документа User-agent: Yandex Allow: /prezentaciya. pdf
# открывает доступ к индексированию определенной HTML страницы User-agent: Yandex Allow: /page.html
# разрешает индексацию по маске *your User-agent: Yandex Allow: /*your
# запрещает индексировать все, кроме страниц, начинающихся с /cgi-bin User-agent: Yandex Allow: /cgi-bin Disallow: /
Для директивы применяются аналогичные правила, что и для Disallow.
Совместная
интерпретация директив
Поисковые системы используют Allow и Disallow из одного User-agent блока последовательно, сортируя их по длине префикса URL, начиная от меньшего к большему. Если для конкретной страницы веб-сайта подходит применение нескольких правил, поисковый бот выбирает последний из списка. Поэтому порядок написания директив в robots никак не сказывается на их использовании роботами.
На заметку. Если директивы имеют одинаковую длину префиксов и при этом конфликтуют между собой, то предпочтительнее будет Allow.
Пример robots.txt написанный оптимизатором:
User-agent: Yandex Allow: / Allow: /catalog/phones Disallow: /catalog
Пример отсортированного файл robots. txt поисковой системой:
User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/phones # запрещает посещать страницы, начинающиеся с /catalog, # но разрешает индексировать страницы, начинающиеся с /catalog/phones
Пустые Allow и Disallow
Когда в директивах отсутствуют какие-либо параметры,
поисковый бот интерпретирует их так:
# то же, что и Allow: / значит разрешает индексировать весь сайт User-agent: Yandex Disallow:
# не учитывается роботом User-agent: Yandex Allow:
Специальные символы в директивах
В параметрах запрещающей директивы Disallow и
разрешающей директивы Allow можно применять специальные символы “$” и “*”, чтобы задать
конкретные регулярные выражения.
Специальный символ “*” разрешает индексировать все страницы с параметром, указанным в директиве. К примеру, параметр /katalog* значит, что для ботов открыты страницы /katalog, /katalog-tovarov, /katalog-1 и прочие. Спецсимвол означает все возможные последовательности символов, даже пустые.
Примеры:
User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает /cgi-bin/example.aspx # и /cgi-bin/private/test.aspx Disallow: /*private # запрещает не только /private # но и /cgi-bin/private
По стандарту в конце любой инструкции, описанной в Robots, указывается специальный символ “*”, но делать это не обязательно.
Пример:
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
Более сложные примеры:
User-agent: Yandex Allow: /obsolete/private/*.html$ # разрешает HTML файлы # по пути /obsolete/private/... Disallow: /*.php$ # запрещает все *.php на сайте Disallow: /*/private/ # запрещает все подпути содержащие /private/ # но Allow выше отменяет часть запрета Disallow: /*/old/*.zip$ # запрещает все .zip файлы, содержащие в пути /old/ User-agent: Yandex Disallow: /add.php?*user= # запрещает все скрипты add.php? с параметром user
Примеры совместного применения Allow и Disallow
User-agent: Yandex Allow: / Disallow: / # разрешено индексировать весь веб-ресурс User-agent: Yandex Allow: /$ Disallow: / # запрещено включать в индекс все, кроме главной страницы User-agent: Yandex Disallow: /private*html # заблокирован и /private*html, # и /private/test. html, и /private/html/test.aspx и т.п. User-agent: Yandex Disallow: /private$ # запрещается только /private User-agent: * Disallow: / User-agent: Yandex Allow: / # так как робот Яндекса # выделяет записи по наличию его названия в строке User-agent: # тогда весь сайт будет доступен для индексирования
Я всегда стараюсь следить за актуальностью информации на сайте, но могу пропустить ошибки, поэтому буду благодарен, если вы на них укажете. Если вы нашли ошибку или опечатку в тексте, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как Google справляется с директивами Disallow в Robots.txt — Советы по поисковой оптимизации
Директива disallow (добавленная в файл robots.txt веб-сайта) используется для указания поисковым системам не сканировать страницу на сайте. Обычно это также предотвращает появление страницы в результатах поиска.
В приведенных ниже обзорах рабочих часов SEO мы делимся информацией от Google Search Central о том, как они обрабатывают запретительные директивы, а также советами и примерами передовой практики SEO.
Чтобы узнать больше о директивах запрета, ознакомьтесь с нашей статьей Noindex, Nofollow и Disallow.
Используйте rel=»canonical» или robots.txt вместо тегов nofollow для внутренних ссылок
Был задан вопрос о целесообразности использования атрибута nofollow для внутренних ссылок, чтобы избежать ненужных запросов сканирования для URL-адресов, которые вы не используете. не хотят, чтобы их сканировали или индексировали.
Джон ответил, что можно, но делать это для внутренних ссылок особого смысла нет. В большинстве случаев рекомендуется использовать rel=canonical , чтобы указать на URL-адреса, которые вы хотите вместо индексировать, или используйте директиву disallow в robots.txt для URL-адресов, которые вы действительно не хотите сканировать.
Он предложил выяснить, есть ли страница, которую вы бы предпочли проиндексировать, и в этом случае использовать каноническую — или, если она вызывает проблемы при сканировании, рассмотреть robots. txt. Он пояснил, что с каноническим URL-адресом Google сначала нужно будет просканировать страницу, но со временем вместо этого он сосредоточится на каноническом URL-адресе и начнет использовать его в основном для сканирования и индексации.
22 июня 2022 г.
API и бюджет сканирования: не блокировать запросы API, если они загружают важный контент краулинговый бюджет. Они также спросили, как Google обнаруживает или использует конечные точки API.
Сначала Джон пояснил, что конечные точки API обычно используются JavaScript на веб-сайте. Когда Google отображает страницу, он пытается загрузить контент, обслуживаемый API, и использовать его для отображения страницы. Google может быть сложно кэшировать результаты API в зависимости от настроек вашего API и JavaScript. Это означает, что Google может сканировать множество запросов API, чтобы получить обработанную версию вашей страницы для индексации.
Вы можете помочь избежать проблем с краулинговым бюджетом, убедившись, что результаты API хорошо кэшируются и не содержат временных меток в URL-адресе. Если вы не заботитесь о том, чтобы контент возвращался в Google, вы можете заблокировать сканирование поддоменов API, но вам следует сначала протестировать это, чтобы убедиться, что это не остановит отображение критического контента.
Джон предложил создать тестовую страницу, которая не сканирует API или использует для этого неверный URL, и посмотреть, как страница отображается в браузере (и для Google).
22 июня 2022 г.
Либо запретить страницы в robots.txt, либо Noindex Не то и другое
Не индексировать страницу и заблокировать ее в robots.txt означает, что noindex не будет виден, так как робот Googlebot не сможет ее просканировать. Вместо этого Джон рекомендует использовать один или другой.
23 августа 2019 г.
Запрещенные страницы с обратными ссылками могут быть проиндексированы Google
Страницы, заблокированные файлом robots.txt, не могут быть просканированы роботом Googlebot. Однако, если на запрещенной странице есть ссылки, указывающие на нее, Google может определить, что ее стоит проиндексировать, несмотря на то, что она не может просканировать страницу.
9 июля 2019 г.
Google поддерживает X-Robots Noindex для блокировки изображений для робота Googlebot
Google учитывает x-robots noindex в заголовках ответов изображений.
21 декабря 2018 г.
Сосредоточьтесь на данных Search Console при просмотре ссылок для отклонения
Если вы решите отклонить ссылки, используйте данные в Google Search Console, так как это даст вам точную картину того, на чем вам нужно сосредоточиться.
21 августа 2018 г.
Заблокируйте видео из поиска, добавив URL видео и миниатюру в файл robots.txt или установив дату истечения срока действия в карте сайта
Вы можете сообщить Google, что видео не должно быть включено в поиск, заблокировав видеофайл и миниатюру в файле robots.txt или указав срок действия с помощью файла карты сайта для видео.
13 июля 2018 г.
Не полагайтесь на неподдерживаемые директивы Robots в файле robots.txt. Google уважает их
Не полагайтесь на директивы noindex в файле robots. txt, поскольку они официально не поддерживаются Google. Джон говорит, что можно использовать директивы robots в robots.txt, но убедитесь, что у вас есть резервная копия на случай, если они не будут работать.
13 июля 2018 г.
Google использует наиболее конкретное правило сопоставления в файле robots.txt
Если в файле robots.txt существуют разные уровни детализации, Google будет следовать наиболее конкретному правилу сопоставления.
12 января 2018 г.
Реализация проверки файла robots.txt при доступе к запрещенным URL-адресам роботом Googlebot
Робот Googlebot не игнорирует явно URL-адреса в файлах robots.txt. Если робот Googlebot сканирует эти страницы, проверьте, не был ли неправильно настроен файл robots.txt на стороне сервера, используя тестер Google robots.txt. Кроме того, убедитесь, что на сервере нет ничего, что регистрирует URL-адреса как доступные одним способом, но запрашиваемые другим способом; это может произойти при перезаписи URL.
12 января 2018 г.
Новостная рассылка
Получите лучшую информацию о цифровом маркетинге и SEO прямо в свой почтовый ящик
страниц запрещены в robots.txt, но проиндексированы Google. Как это возможно?
спросил
Изменено
3 года, 4 месяца назад
Просмотрено
1к раз
Проблемы с отображением моего веб-сайта в Google Search Console. Проверьте следующее сообщение Google в GSC:
.
Проиндексировано, но заблокировано robots.txt
Я запрещаю страницу своей учетной записи ( https://www.joujou.com.au/account/
) в файле robots.txt, но она индексируется Google. Можно ли проиндексировать страницу в Google, если эта страница уже запрещена в файле robots. txt?
- google-search
- robots.txt
Robots.txt просто не позволяет роботу Googlebot просматривать содержимое страницы. Однако если кто-то ссылается на вашу страницу, даже если Google не видит содержимого, Google знает, что по этому целевому URL-адресу есть веб-страница.
Если на страницу ссылается достаточное количество людей, Google может принять решение о ее добавлении и отображении в индексе. Много раз Google будет собирать контекст этой веб-страницы из контента, который ссылается на нее, и якорного текста ссылок.
Если вы действительно не хотите, чтобы URL-адрес был в индексе Google, есть 2 рекомендуемых подхода.
- Добавьте метатег robots на страницу с помощью команды NOINDEX. примечание: Вам нужно будет разрешить Google сканировать URL-адрес, чтобы он увидел команду NOINDEX. Поэтому вам придется отменить команду disallow в файле robots.txt
- Добавить базовую HTTP-аутентификацию на страницу
.
Любой подход гарантирует, что Google не добавит URL-адрес в индекс.