SEO Продвижение сайтов увеличение продаж
Коммерческое предложение
SEO раскрутка сайтов поддержка сайтов

Содержание
Оглавление

    Robots.txt - служебный файл, который находится в корневом каталоге сайта и содержит набор директив, позволяющих управлять индексацией сайта.

    Когда краулер приходит на хостинг, файл robots.txt является одним из первых документов, к которому он обращается.

    В файле robots.txt содержатся инструкции, которые говорят поисковым роботам, какие URL на вашем сайте им разрешено обрабатывать. С его помощью можно ограничить количество запросов на сканирование и тем самым снизить нагрузку на сайт.

    Файл robots.txt не запрещает показ ваших материалов в результатах поиска Google. Эта поисковая система его попросту ИГНОРИРУЕТ!

    Если вы не хотите, чтобы какие-либо страницы с вашего сайта были представлены в Google, добавьте на них директиву noindex или сделайте их доступными только по паролю.

    Robots.txt в большинстве случаев используется для исключения дубликатов, служебных страниц, удаленных страниц и других ненужных страниц из индекса поисковых систем. 

    Кроме того, именно через robots.txt можно указать Поисковой Системе адрес карты сайта. В некоторых случаях к robots.txt прибегают для того, чтобы закрыть сайт от нежелательной поисковой системы. 

    Правильное манипулирование robots.txt позволяет перенаправить бота ПС на нужные страницы, не разрешая создавать дубли контента, приводящие к понижению позиций.

    При помощи файла robots.txt вы можете запретить сканирование таких файлов, как вспомогательные изображения, скрипты и файлы стилей, если считаете, что они лишь в незначительной степени влияют на оформление страниц. 

    Однако не следует блокировать доступ к ним, если это может затруднить поисковому роботу интерпретацию контента. В противном случае, страницы могут быть проиндексированы не правильно.

    Если доступ к странице запрещен в файле robots.txt она все равно может быть проиндексирована по ссылкам с других сайтов. 

    Google не будет напрямую сканировать и индексировать контент, который заблокирован в файле robots.txt. Однако, если на такой URL ссылаются другие сайты, то он все равно может быть найден и добавлен в индекс.
    После этого страница может появиться в результатах поиска (во многих случаях вместе с текстом ссылки, которая на нее ведет).

    Ниже приведен пример простого файла robots.txt с двумя правилами.

    User-agent: Googlebot 
    Disallow:/nogooglebot/

    User-agent:*
    Allow:/

    Sitemap: http://www.mysite.ru/sitemap.xml

    Пояснения:

    Файл robots.txt должен располагаться строго в корне сайта, он должен быть единственным.

    Например, на сайте http://www.mysite.ru/ он должен располагаться по адресу http://www.mysite.ru/robots.txt

    Он не должен находиться в подкаталоге (например, по адресу http://www.mysite.ru/pages/robots.tx

    Для файлов robots.txt можно использовать URL с субдоменами (например https://website.mysite.ru/robots.txt) или нестандартными портами (например, https://mysite.ru:8181/pages/robots.txt).

    Число директив (команд) не должно превышать 1024. 

    Символ # предназначен для описания комментариев. Все, что находится после этого символа и до первого перевода строки не учитывается.

    В описании адресов на сайте можно использовать квантор (wildcard) «*», он подразумевает «любую последовательность символов» и используется для обозначения префикса или суффикса пути до каталога или страницы по сайту (или вообще всего пути).

    Файл robots.txt должен быть сохранён в формате plain text в кодировке UTF-8 и называться robots.txt

    В файле robots.txt поисковый робот проверяет наличие записей, начинающихся с поля User-agent. 

    Данная директива определяет робота поисковой системы, к которому относится это конкретное правило индексирования сайта.
    В соответствии со стандартом перед каждой директивой User-agent рекомендуется вставлять пустой перевод строки.

    Правила должны указываться с учетом регистра. 

    К примеру, правило disallow: /file.asp распространяется на URL https://www.example.com/file.asp, но не на https://www.example.com/FILE.asp

    Внутри директивы User-agent возможно использование следующих правил:

    Одна из самых распространённых ошибок в robots.txt - перепутанные между собой инструкции. 

    Например:

    Disallow: Yandex

    Правильно писать вот так:

    User-agent: Yandex
    Disallow:/

    Многие владельцы сайтов пытаются поместить все запрещаемые к индексации каталоги в одну инструкцию Disallow.

    Disallow: /css//cgi-bin//images/

    Такая запись нарушает стандарт, и невозможно угадать, как ее обработают разные роботы. 
    Правильно надо писать так:

    Disallow: /css/
    Disallow: /cgi-bin/
    Disallow: /images/

    Файл должен называться robots.txt, а не Robots.txt или ROBOTS.TXT.

    Что стоит знать во время настройки robots.txt и его проверки в Google Search Console 

    Чтобы указать, какой сайт является главным, а какой - зеркалом (дублем), для Google используются 301 редирект и внесение информации в Google Search Console, а для Яндекса ранее использовалась директива host. Сейчас эта директива устарела. Главное зеркало сайта явно указывается в Яндекс вебмастере. Рекомендуется эту директиву не использовать.

    Довольно часто, на сайтах без файла robots.txt при запросе этого файла делается переадресация на другую страницу. Иногда такая переадресация происходит без отдачи статуса 404 Not Found. Пауку самому приходится разбираться, что он получил robots.txt или обычный html-файл. Эта ситуация вряд ли создаст какие-то проблемы, но все-таки лучше всегда класть в корень сайта пустой файл robots.txt.

    Хотя по стандарту robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий.

    Неправильно:

    USER-AGENT: GOOGLEBOT 
    DISALLOW:

    Правильно:

    User-agent: googlebot 
    Disallow:

    Еще одной ошибкой является перечисление каждого файла в директории:

    User-agent:* 
    Disallow: /otxyvy/otzyv1.html
    Disallow: /otxyvy/otzyv2.html
    Disallow: /Mg/top1.html
    Disallow: / Mg/top2.htm

    Вместо этого можно просто закрыть от индексации директорию целиком:

    User-agent:* 
    Disallow: /otxyvy/
    Disallow: /Mg/

    Даже если мы хотим просто использовать дополнительную директиву и не хотим ничего запрещать, лучше всего указать пустой Disallow. 
    По стандарту инструкция Disallow является обязательной, и робот может «неправильно вас понять».

    Так неправильно:

    User-agent: Yandex
    Host: www.example.com

    Так правильно:

    User-agent: Yandex
    Disallow:
    Host: www.example.com

    Как в этом случае поступит робот?

    User-agent: Yandex
    Disallow: john

    По стандарту, он будет индексировать файл с именем “john” и директория с именем “ john”. Для указания только директории надо писать так:

    User-agent: Yandex
    Disallow: /john/

    Иногда хочется написать что-то вроде:

    User-agent:*
    Disallow: file*.html

    для указания всех файлов file1.html, file2.html, file3.html.

    Это допустимо в Яндекс и Google
    https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html#asterisk-dollar 
    https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt?hl=ru

    Более того, Яндекс по умолчании, к концу каждого правила, описанного в файле robots.txt, приписывает спецсимвол*.

    Пример.
    User-agent: Yandex

    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’

     

     

    Сервер должен возвращать в НТТР-заголовке для ots.txt «Content-Туре: text/plain» а, например, не "Content-Type: text/html". Неправильный заголовок может привести к тому, что некоторые роботы не обработают файл.

    Зачастую при разветвленной структуре сайта возникают логические ошибки в определении того, что и как нужно блокировать от индексации.

    Для Google: 
    На уровне группы, в частности для директив allow и disallow, самое строгое правило, учитывающее длину записи [путь], будет важнее менее строгого и более короткого правила. Порядок очередности правил с подстановочными знаками не определен.

    URL Allow Disallow Вердикт
      https://mysite.ru/page   /p   /    allow
      https://mysite.ru/folder/page     /folder/     /folder       allow
      https://mysite.ru/page.html   /page   /   undefined  
      https://mysite.ru/   /$   /*.html   allow
      https://mysite.ru/page     /$   /   disallow

     

    Для Яндекс:
    Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине URL (от меньшего к большему) и применяются последовательно. Если для данное страницы подходит несколько директив, то робот выбирает последнюю в порядке появления в сортированном списке.
    Таким образом, порядок следования директив в файле robots.txt не влияет на использование их роботом.

    Исходный robots.txt:

    User-agent: Yandex    
    Allow: /catalog
    Disallow: /    

    Сортированный robots.txt:

    User-agent: Yandex    
    Disallow: /
    Allow: /catalog 
       #разрешает скачивать только страницы, начинающиеся с ‘/catalog’

    Исходный 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‘

    При конфликте между двумя директивами с префиксами одинаковой длины в Яндексе приоритет отдается директиве Allow. 

    В любом случае протестируйте ваш robots.txt на конфликты в обоих вебмастерах.

    Дополнительно проверьте, что вы закрыли от индексации:
    страницы действий (добавление в корзину, сравнение товаров, перенос в список <<Избранное»),

    Создание и тщательная подготовка robots.txt крайне важны. 

    При его отсутствии поисковые роботы собирают всю информацию, относящуюся к сайту. 

    В поиске могут появиться незаполненные страницы, служебная информация или тестовая версия сайта.