Our website collects cookies and IP address, for the convenience of your work. If you do not want this data to be processed, then you must leave the site.
Согласен
Главная / Блог / Правильный файл robots.txt

Правильный файл robots.txt

Поделиться

Что такое robots.txt?

Robots.txt (стандарт исключений для поисковых роботов) - один из важнейших системных файлов веб-сайта, представляет собой TXT-файл, содержащий правила индексирования для роботов поисковых систем. Был впервые представлен и принят консорциумом W3C 30 июня 1994 года. С тех пор используется большинством известных поисковых машин, хотя не является обязательным стандартом и используется на добровольной основе.  

Для чего нужен robots.txt?

Robots.txt является своего рода “маршрутной картой” для поисковых ботов и инструктирует их на этапах индексации сайта. Он объясняет роботам, какие директории или страницы  сайта индексировать, а какие нет. С его помощью можно закрыть от индексации:

  • важные директории и файлы на сайте, например панель администратора, личные кабинеты пользователей и т.д.;
  • технические, служебные страницы (напр. страница 404, версии страниц для печати, скрипты);
  • страницы регистрации и авторизации;
  • страницы внутреннего поиска по сайту;
  • формы заказов, квитанции, данные по доставке и т.д.;
  • разные конфиденциальные файлы;
  • дублированные или пустые страницы;
  • текстовые документы, например PDF и другие части сайта, которые не должны попадать в поиск.

Как создать robots.txt?

Создается robots.txt с помощью любого текстового редактора, поддерживающего веб-код, например Notepad++ (рекомендую) или AkelPad.

Название файла допускается только в нижнем регистре (lower-case) - "robots.txt", но не Robots.txt или ROBOTS.TXT.

Файл нужно сохранить в кодировке UTF-8 или ASCII.


Robots.txt должен располагаться в корневой директории сайта и открываться по адресу: https://www.вашдомен.com/robots.txt

При наличии нескольких поддоменов или доменов с нестандартными портами, robots должен располагаться в корневой директории для каждого из них отдельно:

http://поддомен.вашдомен.com/robots.txt
http://вашдомен.com:8181/robots.txt

Важно: Отсутствие файла или пустой robots.txt означает, что поисковики могут индексировать абсолютно весь сайт - все его папки и файлы, а значит они будут в свободном доступе для каждого пользователя интернета.


Чтобы просмотреть изображение полностью, откройте его в новой вкладке.

Синтаксис robots.txt

Синтаксис файла robots довольно прост. Он состоит из директив, каждая начинается с новой строки, через двоеточие задается необходимое значение для директивы.

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

Основными являются три директивы, которые рекомендуется применять в такой последовательности: 

  1. User-agent: указывается название поискового робота, для которого будут применятся правила

    В одном файле robots можно использовать сразу несколько User-agent, обязательно разделяя их пустой строкой, к примеру:

    User-agent: Yandex
    Disallow: /administrator/
    Allow: /wp-content/uploads/

    User-agent: Google
    Disallow: /administrator/
    ​Allow: /libraries/
     
  2. Disallow: указывается относительный путь директории или файла сайта, которые нужно запретить индексировать
     
  3. Allow: указывается относительный путь директории или файла, которые нужно разрешить поисковику индексировать (не является обязательной)

Для более гибкой настройки директив можно использовать дополнительные выражения:

  • * (звездочка) - перебор всех значений, любая последовательность символов;
  • $ (доллар) - конец строки;
  • # (решетка) - позволяет вставить комментарий. Все что идет за этим символом - робот не воспринимает до конца следующей строки;

Пример:

User-agent: * # правила будут действовать для всевозможных поисковых роботов
Disallow: /script$ # заблокирован 'script', но открыт '/script_public.pl'

Примечание: Файл robots.txt не рекомендуется сильно засорять, он не должен быть слишком габаритным (Google - до 500 кб, Yandex - до 32 кб), иначе поисковик его просто проигнорирует.

Читайте также: Оптимизация под голосовой поиск

Дополнительные директивы robots.txt

  • Clean-Param: указывается параметр URL (можно несколько), страницы с которым нужно исключить из индекса и не индексировать

    Данная директива используется только для User-agent: Yandex ! В Google параметр URL можно указать в Search Console или же использовать канонические ссылки (rel="canonical").
     
    Clean-Param позволит избавиться от дублей страниц, которые возникают в результате генерации динамических URL (реферальные ссылки, сессии пользователей, идентификаторы и т.д.).

    К примеру, если у вас на сайте появилось много страниц такого типа:

    www.mywebsite.com/testdir/index.php?&id=368:2014-05-14-18-59-45&catid=34&Itemid=63
    www.mywebsite.com/testdir/index.php?&id=378:2014-05-14-18-59-45&catid=34&Itemid=62
    www.mywebsite.com/testdir/index.php?&id=476:2015-04-18-16-33-18&catid=57&Itemid=1

    И вы хотите, чтобы робот индексировал только www.mywebsite.com/testdir/index.php

    Создаем правило для очистки параметров "id""catid" и "Itemid", например: 

    User-agent: Yandex
    Disallow: /administrator/
    Allow: /wp-content/uploads
    Sitemap: https://www.mywebsite.com/sitemap.xml
    Host: https://mywebsite.com
    Clean-param: id&catid&Itemid /testdir/index.php

    Можно так же создать правило очистки параметров URL не только для определенной страницы, но и для всего сайта. Например, создать правило очистки UTM-меток:

    Clean-Param: utm_source&utm_medium&utm_campaign

  • Crawl-delay: указывается время задержки в секундах между сканированием страниц

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

    Пример:

    User-agent: Yandex
    Disallow: /administrator/
    Allow: /wp-content/uploads
    Sitemap: https://www.mywebsite.com/sitemap.xml
    Host: https://mywebsite.com
    Clean-param: id&catid&Itemid /testdir/index.php
    Crawl-delay: 3

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

  • Sitemap: указываетcя полный путь к XML карте сайта

    Данная директива сообщает ботам, что у сайта есть карта сайта, что поможет ботам быстро обнаруживать новые страницы при индексации. Если сайт часто наполняется, это особенно актуально, так как ускорит и улучшит индексацию (напомню, вы можете проверить индексацию страницы в нашем сервисе).

    Пример:

    User-agent: Yandex
    Disallow: /administrator/
    Allow: /wp-content/uploads
    Sitemap: https://www.mywebsite.com/sitemap.xml

  • Host: указывается главное "зеркало" сайта, то есть его предпочтительная версия

    Например, сайт доступен по http и https версии,  чтобы краулер не запутался в “зеркалах” при индексации и не наделал дублей, указываем главный домен в директиве Host.

    Данная директива используется только для User-agent: Yandex

    Пример:

    User-agent: Yandex
    Disallow: /administrator/
    Allow: /wp-content/uploads
    Sitemap: https://www.mywebsite.com/sitemap.xml
    Host: https://mywebsite.com


    Если сайт не на https, тогда указываем домен без протокола http: mywebsite.com

    Примечание: 20 марта 2018 года Яндекс заявил, что директива Host не обязательна, и вместо нее можно теперь использовать 301-й редирект. 

Примеры robots.txt для Wordpress и Joomla

Перейдем к конкретным примерам правильной настройки robots для двух популярных CMS:

Wordpress

User-agent: *
Disallow: /cgi-bin
Disallow: /?
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Allow: */uploads

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Allow: /wp-*.jpg
Allow: /wp-admin/admin-ajax.php
Allow: */uploads
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Sitemap: https://путь к вашей карте XML формата
Host: https://mywebsite.com

User-agent: GoogleBot
Disallow: /cgi-bin
Disallow: /?
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Sitemap: https://путь к вашей карте XML формата

Joomla

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Disallow: /layouts/
Disallow: /cli/
Disallow: /bin/
Disallow: /logs/
Disallow: /components/
Disallow: /component/
Disallow: /component/tags*
Disallow: /*mailto/
Disallow: /*.pdf
Disallow: /*%
Disallow: /index.php
Clean-Param: utm_source&utm_medium&utm_campaign
Clean-Param: openstat
Sitemap: https://путь к вашей карте XML формата
Host: https://mywebsite.com

User-agent: Googlebot
Allow: /*.css?*$
Allow: /*.js?*$
Allow: /*.jpg?*$
Allow: /*.png?*$
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Disallow: /layouts/
Disallow: /cli/
Disallow: /bin/
Disallow: /logs/
Disallow: /components/
Disallow: /component/
Disallow: /*mailto/
Disallow: /*.pdf
Disallow: /*%
Disallow: /index.php
Sitemap: https://путь к вашей карте XML формата

Robots.txt или meta robots?

И тем не менее, не всегда поисковик строго придерживается правил, описанных в файле robots.txt  Как уже говорилось, стандарт не обязательный и используется поисковичками добровольно. Бывают случаи, когда страница закрыта в robots.txt, но в HTML-коде в теге <meta name=”robots”> она открыта для индексирования. Тогда робот может все равно проиндексировать страницу. 

Пример:

<meta name=”robots” content=”index, follow”>
Чтобы такого не произошло, страницы желательно дополнительно закрывать от индексации в meta robots:

<meta name=”robots” content=”noindex, nofollow”>

Ссылочный вес страницы можете закрывать (nofollow) или открывать (follow) на свое усмотрение, но если нужно полностью убрать страницу из поиска, то лучше применять: noindex, nofollow

Проверка и тестирование robots.txt

Созданный с нуля и оптимизированный файл robots.txt не забудьте отправить на проверку в инструменты для вебмастеров в ПС Яндекс и Google:

Эти инструменты позволяют проверить валидность robots.txt и на лету покажут ошибки, если они есть. Файл robots можно редактировать онлайн и сразу протестировать. Затем, если ошибок нет - просто скопируйте себе все строки и обновите robots.txt.

Читайте также: A/B тест рассылки


Яндекс Вебмастер


Google Search Console

Заключение

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

Но подходить к оптимизации этого файла нужно осторожно, уделяя особое внимание всем директивам и их значениям. Можно легко ошибиться в регистре или закрыть от индексации, по невнимательности, важные части сайта или весь сайт, поэтому используйте файл с умом.

Ну и в завершение, официальные документации от самих поисковиков:
 

Официальная документация Google по robots.txt:

https://support.google.com/webmasters/answer/6062596?hl=ru

https://developers.google.com/search/reference/robots_txt?hl=ru

Официальная документация Яндекс по robots.txt:

https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html#robots-txt

Официальная документация Mail.ru по robots.txt:
https://help.mail.ru/webmaster/indexing/robots.txt/rules

Официальная документация Yahoo по robots.txt:
https://help.yahoo.com/kb/learn-submit-website-yahoo-robotstxt-directive-sln2213.html
https://help.yahoo.com/kb/SLN22600.html

Официальная документация Bing по robots.txt:
https://www.bing.com/webmaster/help/how-to-create-a-robots-txt-file-cb7c31ec


Удачи!

Поделиться
Еще не зарегистрированы? Еще не зарегистрированы? 2018-09-12T16:20:05+03:00 2019-12-13T16:32:45+03:00 https://www.rush-analytics.ru/sites/default/files/blog/robot-3310194_1920.jpg
Виталий, специалист Rush Analytics
Rush Agency
Оцените статью по 5-бальной шкале
4.5 из 5 на основе 12 оценок
Будь в курсе первым!