Заработок в интернете

Джон Рокфеллер начинал с чистки обуви на улице... А с чего же начинаете Вы?

Как правильно использовать файл robots.txt

ROBOTS.TXT (robots.txt)


Как и что прописывать в файле robots.txt


Директива Sitemap

Если вы используете описание структуры сайта с помощью файла Sitemap, укажите путь к файлу в качестве параметра директивы Sitemap (если файлов несколько, укажите все). Пример:

User-agent: Yandex
Allow: /
sitemap: https://example.com/site_structure/my_sitemaps1.xml
sitemap: https://example.com/site_structure/my_sitemaps2.xml

Директива является межсекционной, поэтому будет использоваться роботом вне зависимости от места в файле robots.txt, где она указана.

Робот запомнит путь к файлу, обработает данные и будет использовать результаты при последующем формировании сессий загрузки.


Директивы Disallow и Allow

  1. Disallow
  2. Allow
  3. Совместное использование директив
  4. Директивы Allow и Disallow без параметров
  5. Использование спецсимволов * и $
  6. Примеры интерпретации директив

Disallow

Используйте эту директиву, чтобы запретить индексирование разделов сайта или отдельных страниц. Например:

  • страницы с конфиденциальными данными;

  • страницы с результатами поиска по сайту;

  • статистика посещаемости сайта;

  • дубликаты страниц;

  • разнообразные логи;

  • сервисные страницы баз данных.

Примеры:

User-agent: Yandex
Disallow: / # запрещает обход всего сайта

User-agent: Yandex
Disallow: /catalogue # запрещает обход страниц, адрес которых начинается с /catalogue

User-agent: Yandex
Disallow: /page? # запрещает обход страниц, URL которых содержит параметры

Allow

Директива разрешает индексирование разделов или отдельных страниц сайта.

Примеры:

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'

Директивы Allow и Disallow без параметров

Если директивы не содержат параметры, робот учитывает данные следующим образом:

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: 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:', 
# результат — все разрешается
0%