Как редактировать файл robots txt. Как редактировать файл robots txt Зачем нужен файл robots txt

Как редактировать файл robots txt. Как редактировать файл robots txt Зачем нужен файл robots txt

11.01.2024

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

Когда простой интерес перерос в серьезное увлечение, появились силы и желание изучить все тонкости. На форумах можно встретить множество тем, связанных с этим файлом, почему? Все просто: robots.txt регулирует доступ поисковых систем к сайту, управляя индексированием и это очень важно!

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

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

Для регулирования доступа существуют различные директивы:

  • User-agent — агент пользователя, для которого указаны правила доступа,
  • Disallow — запрещает доступ к URL,
  • Allow — разрешает доступ к URL,
  • Sitemap — указывает путь к ,
  • Crawl-delay — задает интервал сканирования URL (только для Яндекса),
  • Clean-param — игнорирует динамические параметры URL (только для Яндекса),
  • Host — указывает главное зеркало сайта (только для Яндекса).

Обратите внимание, с 20 марта 2018 года Яндекс официально прекратил поддержку директивы Host. Её можно удалить из robots.txt, а если оставить, то робот её просто игнорирует.

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

Всегда нужно помнить о безопасности. Этот файл может посмотреть любой желающий, поэтому не нужно указывать в нем явный путь к административным ресурсам (панелям управления и т.д.). Как говориться, меньше знаешь — крепче спишь. Поэтому, если на страницу нет никаких ссылок и Вы не хотите ее индексировать, то не нужно ее прописывать в роботсе, ее и так никто не найдет, даже роботы-пауки.

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

Сразу хочу отметить, что поисковые системы по разному относятся к этому файлу. Например, Яндекс безоговорочно следует его правилам и исключает запрещенные страницы из индексирования, в то время как Google воспринимает этот файл как рекомендацию и не более.

Для запрета индексирования страниц возможно применение иных средств:

  • редирект или на каталог с помощью файла.htaccess,
  • мета-тег noindex (не путать с тегом для запрета индексации части текста),
  • атрибут для ссылок, а также удаление ссылок на лишние страницы.

При этом Google может успешно добавить в поисковую выдачу страницы, запрещенные к индексации, несмотря на все ограничения. Его основной аргумент — если на страницу ссылаются, значит она может появится в результатах поиска. В данном случае рекомендуется не ссылаться на такие страницы, но позвольте, файл robots.txt как раз и предназначен для того, чтобы выкинуть из выдачи такие страницы… На мой взгляд, логика отсутствует 🙄

Удаление страниц из поиска

Если запрещенные страницы все же были проиндексированы, то необходимо воспользоваться Google Search Console и входящим в ее состав инструментом удаления URL-адресов:

Аналогичный инструмент есть в Яндекс Вебмастере. Подробнее об удалении страниц из индекса поисковых систем в отдельной статье.

Проверка robots.txt

Продолжая тему с Google, можно воспользоваться еще одним инструментом Search Console и проверить файл robots.txt, правильно ли он составлен для запрета индексирования определенных страниц:

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

У Яндекса также есть подобный инструмент, находящийся в Вебмастере, проверка осуществляется аналогичным образом:

Если Вы не знаете как правильно составить файл, то просто создайте пустой текстовый документ с именем robots.txt , а по мере изучения особенностей CMS и структуры сайта дополните его необходимыми директивами.

О правильном составлении файла читайте по ссылке. До встречи!

Приветствую вас, уважаемые читатели SEO блога Pingo. В данной статье я хочу изложить своё представление о том, как правильно составить robots.txt для сайта. В своё время меня очень раздражало, что информация в интернете по этому вопросу довольно отрывочна. Из-за этого приходилось ползать по большому количеству ресурсов, постоянно фильтруя повторяющуюся информацию и вычленяя новую.

Таким образом, здесь я постараюсь ответить на большинство вопросов, начиная с определения и заканчивая примерами реальных задач, решаемых данным инструментом. Если что-то забуду - отпишитесь в комментариях об этом - исследую вопрос и дополню материал.

Robots.txt - что это, зачем нужен и где обитает?

Итак, сперва ликбез для тех, кому данная тема незнакома совершенно.

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

Где находится robots.txt? Он размещается в корневой папке FTP сайта, и, по сути, является обычным документом в формате txt, редактирование которого можно осуществлять через любой текстовый редактор (лично я предпочитаю Notepad++). Содержимое файла роботс можно увидеть, введя в адресной строке браузера http://www.ваш-сайт.ru/robots.txt. Если, конечно, он существует.

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

Структура и правильная настройка файла robots.txt

Как должен выглядеть правильный файл robots txt для сайта? Структуру можно описать следующим образом:

1. Директива User-agent

Что писать в данном разделе? Эта директива определяет то, для какого именно робота предназначены нижеизложенные инструкции. Например, если они предназначены для всех роботов, то достаточно следующей конструкции:

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

User-agent: YandexBot

У каждого поисковика существует целый набор роботов, выполняющих те или иные функции. Роботы поисковой системы Яндекс описаны . В общем же плане имеется следующее:

  • Yandex - указание на роботов Яндекс.
  • GoogleBot - основной индексирующий робот .
  • MSNBot - основной индексирующий робот Bing.
  • Aport - роботы Aport.
  • Mail.Ru - роботы ПС Mail.

Если имеется директива для конкретной поисковой системы или робота, то общие игнорируются.

2. Директива Allow

Разрешает отдельные страницы раздела, если, скажем, ранее он целиком закрыт от индексации. Например:

User-agent: *
Disallow: /
Allow: /открытая-страница.html

В данном примере мы запрещаем к индексации весь сайт, кроме страницы poni.html

Служит эта директива в какой-то степени для указания на исключения из правил, заданных директивой Disallow. В случае, если таких ситуаций нет, то директива может не использоваться совсем. Она не позволяет открыть сайт для индексации, как многие думают, так как если нет запрета вида Disallow: /, то он открыт по умолчанию.

2. Директива Disallow

Является антиподом директивы Allow и закрывает от индексации отдельные страницы, разделы или сайт целиком. Являет аналогом тега noindex. Например:

User-agent: *
Disallow: /закрытая-страница.html

3. Директива Host

Используется только для Яндекса и указывает на основное зеркало сайта. Выглядит это так.

Основное зеркало без www:

Основное зеркало с www:

Host: www.site.ru

Сайт на https:

Host: https://site.ru

Нельзя записывать директиву host в файл дважды. Если же вследствие какой-то ошибки это произошло, то обрабатывается та директива, которая идет первой, а вторая - игнорируется.

4. Директива Sitemap

Используется для указания пути к XML-карте сайта sitemap.xml (если она есть). Синтаксис следующий:

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

5. Директива Clean-param

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

Особенно часто встречается такая проблема при работе с каталогами и интернет-магазинами.

Скажем, у нас имеется страница:

http://www.site.ru/index.php

И эта страница в процессе работы может обрастать клонами вида.

http://www.site.ru/index.php?option=com_user_view=remind
http://www.site.ru/index.php?option=com_user_view=reset
http://www.site.ru/index.php?option=com_user_view=login

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

Clean-param: option /index.php

Синтаксис из примера, думаю, понятен:

Clean-param: # указываем директиву
option # указываем спамный параметр
/index.php # указываем костяк урла со спамным параметром

Если параметров несколько, то просто перечисляем их через амперсант(&):

http://www.site.ru/index.php?option=com_user_view=remind&size=big # урл с двумя параметрами
Clean-param: option&big /index.php # указаны два параметра через амперсант

Пример взят простой, поясняющий саму суть. Особенно спасибо этому параметру хочется сказать при работе с CMS Bitrix.

Директива Crawl-Delay

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

Crawl-delay: 3.5 #таймаут в 3,5 секунды

Синтаксис

  • # - используется для написания комментариев:
  • User-agent: * # директива относится ко всем роботам

  • * - означает любую последовательность символов, значение:
  • Disallow: /page* # запрет всех страниц, начинающихся на page

    Disallow: /*page # запрет всех страниц, заканчивающихся на page

    Disallow: /cgi-bin/*.aspx # запрет всех aspx страниц в папке cgi-bin

  • $ - обрезание правила, антипод знака звездочки:
  • Disallow: /page$ # будет закрыта только страница /page, а не /page.html или pageline.html

Пример файла robots.txt

С целью закрепления понимания вышеописанной структуры и правил, приведем стандартный robots txt для CMS Data Life Engine.

User-agent: * # директивы предназначены для всех поисковых систем
Disallow: /engine/go.php # запрещаем отдельные разделы и страницы
Disallow: /engine/download.php #
Disallow: /user/ #
Disallow: /newposts/ #
Disallow: /*subaction=userinfo # закрываем страницы с отдельными параметрами
Disallow: /*subaction=newposts #
Disallow: /*do=lastcomments #
Disallow: /*do=feedback #
Disallow: /*do=register #
Disallow: /*do=lostpassword #
Host: www.сайт # указываем главное зеркало сайта
Sitemap: https://сайт/sitemap.xml # указываем путь до карты сайта
User-agent: Aport # указываем направленность правил на ПС Aport
Disallow: / # предположим, не хотим мы с ними дружить

Проверка robots.txt

Как проверить robots txt на корректность составления? Стандартный вариант - валидатор Яндекса - http://webmaster.yandex.ru/robots.xml . Вводим путь до вашего файла роботс или сразу вставляем его содержимое в текстовое поле. Вводим список урлов, которые мы хотим проверить - закрыты или открыты они согласно заданным директивам - нажимаем «Проверить» и вуаля! Профит.

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

Генератор robots.txt - создание в режиме онлайн

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

Готовые файлы для популярных CMS

Файл robots.txt для сайта на 1C Битрикс

User-Agent: *
Disallow: /bitrix/
Disallow: /personal/
Disallow: /upload/
Disallow: /*login*
Disallow: /*auth*
Disallow: /*search
Disallow: /*?sort=
Disallow: /*gclid=
Disallow: /*register=
Disallow: /*?per_count=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*logout=
Disallow: /*back_url_admin=
Disallow: /*print=
Disallow: /*backurl=
Disallow: /*BACKURL=
Disallow: /*back_url=
Disallow: /*BACK_URL=
Disallow: /*ADD2BASKET
Disallow: /*ADD_TO_COMPARE_LIST
Disallow: /*DELETE_FROM_COMPARE_LIST
Disallow: /*action=BUY
Disallow: /*set_filter=y
Disallow: /*?mode=matrix
Disallow: /*?mode=listitems
Disallow: /*openstat
Disallow: /*from=adwords
Disallow: /*utm_source
Host: www.site.ru

Robots.txt для DataLife Engine (DLE)

User-agent: *
Disallow: /engine/go.php
Disallow: /engine/download.php
Disallow: /engine/classes/highslide/
Disallow: /user/
Disallow: /tags/
Disallow: /newposts/
Disallow: /statistics.html
Disallow: /*subaction=userinfo
Disallow: /*subaction=newposts
Disallow: /*do=lastcomments
Disallow: /*do=feedback
Disallow: /*do=register
Disallow: /*do=lostpassword
Disallow: /*do=addnews
Disallow: /*do=stats
Disallow: /*do=pm
Disallow: /*do=search
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для Joomla

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: *print
Disallow: /*utm_source
Disallow: /*mailto*
Disallow: /*start*
Disallow: /*feed*
Disallow: /*search*
Disallow: /*users*
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для Wordpress

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: */trackback
Disallow: */feed
Disallow: /wp-login.php
Disallow: /wp-register.php
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

Robots.txt для Ucoz

User-agent: *
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat
Disallow: /search
Disallow: /shop/order/
Disallow: /?ssid=
Disallow: /google
Disallow: /

Robots.txt – это специальный файл, расположенный в корневом каталоге сайта. Вебмастер указывает в нем, какие страницы и данные закрыть от индексации от поисковых систем. Файл содержит директивы, описывающие доступ к разделам сайта (так называемый стандарт исключений для роботов). Например, с его помощью можно установить различные настройки доступа для поисковых роботов, предназначенных для мобильных устройств и обычных компьютеров. Очень важно настроить его правильно.

Нужен ли robots.txt?

С помощью robots.txt можно:

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

Если это помешает сканеру Google или Яндекса анализировать страницы, не блокируйте файлы.

Где лежит файл Robots.txt?

Если вы хотите просто посмотреть, что находится в файле robots.txt, то просто введите в адресной строке браузера: site.ru/robots.txt.

Физически файл robots.txt находится в корневой папке сайта на хостинге. У меня хостинг beget.ru , поэтому покажу расположения файла robots.txt на этом хостинге.


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

Файл robots.txt состоит из одного или нескольких правил. Каждое правило блокирует или разрешает индексирование пути на сайте.

  1. В текстовом редакторе создайте файл с именем robots.txt и заполните его в соответствии с представленными ниже правилами.
  2. Файл robots.txt должен представлять собой текстовый файл в кодировке ASCII или UTF-8. Символы в других кодировках недопустимы.
  3. На сайте должен быть только один такой файл.
  4. Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать индексацию всех страниц сайта http://www.example.com/ , файл robots.txt следует разместить по адресу http://www.example.com/robots.txt . Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  5. Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website .example.com/robots.txt) или нестандартными портами (например, http://example.com:8181 /robots.txt).
  6. Проверьте файл в сервисе Яндекс.Вебмастер и Google Search Console.
  7. Загрузите файл в корневую директорию вашего сайта.

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

User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Объяснение

  1. Агент пользователя с названием Googlebot не должен индексировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (можно опустить, результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

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

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

User-agent: Yandex Disallow: / # блокирует доступ ко всему сайту User-agent: Yandex Disallow: /cgi-bin # блокирует доступ к страницам, # начинающимся с "/cgi-bin"

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

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

Чтобы разрешить доступ робота к сайту или некоторым его разделам, используйте директиву Allow

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц # начинающихся с "/cgi-bin"

Недопустимо наличие пустых переводов строки между директивами User-agent, Disallow и Allow.

Директивы 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.

Использование спецсимволов * и $

При указании путей директив Allow и Disallow можно использовать спецсимволы * и $, задавая, таким образом, определенные регулярные выражения.

Спецсимвол * означает любую (в том числе пустую) последовательность символов.

Спецсимвол $ означает конец строки, символ перед ним последний.

User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает "/cgi-bin/example.aspx" # и "/cgi-bin/private/test.aspx" Disallow: /*private # запрещает не только "/private", # но и "/cgi-bin/private"

Директива 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, где она указана.

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

Директива Crawl-delay

Если сервер сильно нагружен и не успевает отрабатывать запросы робота, воспользуйтесь директивой Crawl-delay. Она позволяет задать поисковому роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

Перед тем, как изменить скорость обхода сайта, выясните к каким именно страницам робот обращается чаще.

  • Проанализируйте логи сервера. Обратитесь к сотруднику, ответственному за сайт, или к хостинг-провайдеру.
  • Посмотрите список URL на странице Индексирование → Статистика обхода в Яндекс.Вебмастере (установите переключатель в положение Все страницы).

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

Директива Clean-param

Директива работает только с роботом Яндекса.

Если адреса страниц сайта содержат динамические параметры, которые не влияют на их содержимое (идентификаторы сессий, пользователей, рефереров и т. п.), вы можете описать их с помощью директивы Clean-param.

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

Например, на сайте есть страницы:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

Параметр ref используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123. Тогда, если указать директиву следующим образом:

User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl

робот Яндекса сведет все адреса страницы к одному:

Www.example.com/some_dir/get_book.pl?book_id=123

Если на сайте доступна такая страница, именно она будет участвовать в результатах поиска.

Синтаксис директивы

Clean-param: p0[&p1&p2&..&pn]

В первом поле через символ & перечисляются параметры, которые роботу не нужно учитывать. Во втором поле указывается префикс пути страниц, для которых нужно применить правило.

Примечание. Директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.

Префикс может содержать регулярное выражение в формате, аналогичном файлу robots.txt, но с некоторыми ограничениями: можно использовать только символы A-Za-z0-9.-/*_. При этом символ * трактуется так же, как в файле robots.txt: в конец префикса всегда неявно дописывается символ *. Например:

Clean-param: s /forum/showthread.php

Регистр учитывается. Действует ограничение на длину правила - 500 символов. Например:

Clean-param: abc /forum/showthread.php Clean-param: sid&sort /forum/*.php Clean-param: someTrash&otherTrash

Директива HOST

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

Правильный robots.txt: настройка

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

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

Правильный Robots.txt пример для WordPress

User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads Sitemap: http://site.ru/sitemap.xml # адрес карты сайта User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm*= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично

Robots.txt пример для Joomla

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

Robots.txt пример для Bitrix

User-agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*?action=
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*?COURSE_ID=
Disallow: /*?PAGEN
Disallow: /*PAGEN_1=
Disallow: /*PAGEN_2=
Disallow: /*PAGEN_3=
Disallow: /*PAGEN_4=
Disallow: /*PAGEN_5=
Disallow: /*PAGEN_6=
Disallow: /*PAGEN_7=

Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*SHOWALL
Disallow: /*show_all=
Sitemap: http://путь к вашей карте XML формата

Robots.txt пример для MODx

User-agent: *
Disallow: /assets/cache/
Disallow: /assets/docs/
Disallow: /assets/export/
Disallow: /assets/import/
Disallow: /assets/modules/
Disallow: /assets/plugins/
Disallow: /assets/snippets/
Disallow: /install/
Disallow: /manager/
Sitemap: http://site.ru/sitemap.xml

Robots.txt пример для Drupal

User-agent: *
Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/
Disallow: /updates/
Disallow: /profiles/
Disallow: /profile
Disallow: /profile/*
Disallow: /xmlrpc.php
Disallow: /cron.php
Disallow: /update.php
Disallow: /install.php
Disallow: /index.php
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: *register*
Disallow: *login*
Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/
Disallow: /your-votes
Disallow: /comments/recent
Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/
Disallow: /taxonomy/term/*/0$
Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$
Disallow: /*downloadpipe
Disallow: /node$
Disallow: /node/*/track$
Disallow: /*&
Disallow: /*%
Disallow: /*?page=0
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Allow: /*?page=
Disallow: /*?
Sitemap: http://путь к вашей карте XML формата

ВНИМАНИЕ!

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

Проверить robots.txt

У каждого поисковика свои требования к оформлению файла robots.txt.

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

Проверка robotx.txt для поискового робота Яндекса

Сделать это можно при помощи специального инструмента от Яндекс - Яндекс.Вебмастер , еще и двумя вариантами.

Вариант 1:

Справа вверху выпадающий список – выберите Анализ robots.txt или по ссылке http://webmaster.yandex.ru/robots.xml

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

Проверка robotx.txt для поискового робота Google

  1. В Google Search Console выберите ваш сайт, перейдите к инструменту проверки и просмотрите содержание файла robots.txt . Синтаксические и логические ошибки в нем будут выделены, а их количество – указано под окном редактирования.
  2. Внизу на странице интерфейса укажите нужный URL в соответствующем окне.
  3. В раскрывающемся меню справа выберите робота .
  4. Нажмите кнопку ПРОВЕРИТЬ .
  5. Отобразится статус ДОСТУПЕН или НЕДОСТУПЕН . В первом случае роботы Google могут переходить по указанному вами адресу, а во втором – нет.
  6. При необходимости внесите изменения в меню и выполните проверку заново. Внимание! Эти исправления не будут автоматически внесены в файл robots.txt на вашем сайте.
  7. Скопируйте измененное содержание и добавьте его в файл robots.txt на вашем веб-сервере.

Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

Генераторы robots.txt

  1. Сервис от SEOlib.ru .С помощью данного инструмента можно быстро получить и проверить ограничения в файле Robots.txt.
  2. Генератор от pr-cy.ru .В результате работы генератора Robots.txt вы получите текст, который необходимо сохранить в файл под названием Robots.txt и загрузить в корневой каталог вашего сайта.

Первое, что делает поисковый бот, который приходит на ваш сайт, это поиск и чтение файла robots.txt. Что это за файл? — это набор инструкций для поисковой системы.

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

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

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

Составить robots.txt достаточно легко, создаем текстовый документ в стандартном блокноте винды. Пишем в этом файле директивы для поисковых систем. Далее сохраняем этот файл под названием «robots» и текстовым расширением «txt». Все теперь его можно залить на хостинг, в корневую папку сайта. Учтите, для одного сайта можно создать только один документ «роботс». Если этот файл отсутствует на сайте, то бот автоматические «решает» что можно индексировать все.

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

Директивы robots.txt

Файл «для роботов» может содержать следующие директивы для управления индексацией: User-agent, Disallow, Allow, Sitemap, Host, Crawl-delay, Clean-param. Давайте рассмотрим каждую инструкцию по подробней.

Директива User-agent

Директива User-agent — указывает для какой поисковой системы будут инструкции (точнее для какого конкретно бота). Если стоит «*» то инструкции предназначены для всех роботов. Если указан конкретный бот, например Googlebot, значит, инструкции предназначены только для основного индексирующего робота Google. Причем если инструкции есть и отдельно для Googlebot и для всех других ПС, то гугл прочтет только свою инструкцию, а общую проигнорирует. Бот Яндекса поступит так же. Смотрим пример записи директивы.

User-agent: YandexBot — инструкции только для основного индексирующего бота Яндекса
User-agent: Yandex — инструкции для всех бот Яндекса
User-agent: * — инструкции для всех ботов

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

Директивы Disallow и Allow — дают команды что индексировать, а что нет. Disallow дает команду не индексировать страницу или целый раздел сайта. А Allow наоборот указывает, что нужно проиндексировать.

Disallow: / — запрещает индексировать весь сайт
Disallow: /papka/ — запрещает индексировать все содержимое папки
Disallow: /files.php — запрещает индексировать файл files.php

Allow: /cgi-bin – разрешает индексировать страницы cgi-bin

В директивах Disallow и Allow можно и зачастую просто необходимо использовать спецсимволы. Они нужны для задания регулярных выражений.

Спецсимвол * — заменяет любую последовательность символов. Он по умолчанию приписывается к концу каждого правила. Даже если вы его не прописали, ПС сами приставят. Пример использования:

Disallow: /cgi-bin/*.aspx – запрещает индексировать все файлы с расширением.aspx
Disallow: /*foto — запрещает индексацию файлов и папок содержащих слово foto

Спецсимвол $ — отменяет действие спецсимвола «*» в конце правила. Например:

Disallow: /example$ — запрещает индексировать ‘/example’, но не запрещает ‘/example.html’

А если прописать без спецсимвола $ то инструкция сработает уже по другому:

Disallow: /example — запрещает и ‘/example’ и ‘/example.html’

Директива Sitemap

Директива Sitemap — предназначена для указания роботу поисковой системы, в каком месте на хостинге лежит карта сайта. Формат карты сайта должен быть sitemaps.xml. Карта сайта нужна для более быстрой и полной индексации сайта. Причем карта сайта это не обязательно один файл, их может быть несколько. Формат записи директы:

Sitemap: http://сайт/sitemaps1.xml
Sitemap: http://сайт/sitemaps2.xml

Директива Host

Директива Host — указывает роботу основное зеркало сайта. Что бы не было в индексе зеркал сайта, всегда нужно указывать эту директиву. Если ее не указать, робот Яндекса будет индексировать как минимум две версии сайт с www и без. Пока робот зеркальщик их не склеит. Пример записи:

Host: www.сайт
Host: сайт

В первом случае робот будет индексировать версию с www, во втором случае без. Разрешается прописывать только одну директиву Host в файле robots.txt. Если вы пропишите их несколько, бот обработает и примет к сведению только первую.

Правильная директива хост должна иметь следующие данные:
— указывать на протокол соединения (HTTP или HTTPS);
— корректно написанное доменное имя (нельзя прописывать IP-адрес);
— номер порта при необходимости (например, Host: site.com:8080).

Не правильно сделанные директивы просто будут игнорированы.

Директива Crawl-delay

Директива Crawl-delay позволяет снизить нагрузку на сервер. Она нужна на случай если ваш сайт начинается ложиться под натиском различных ботов. Директива Crawl-delay указывает поисковому боту время ожидания между окончанием закачки одной страницы и началом закачки другой страницы сайта. Директива должна идти непосредственно после записей директив «Disallow» и/или «Allow». Поисковый робот Яндекса умеет читывать дробные значения. Например: 1.5 (полторы секунды).

Директива Clean-param

Директива Clean-param нужна сайтам, страницы которых содержат динамические параметры. Речь о тех, которые не влияют на содержимое страниц. Это различная служебная информация: идентификаторы сессий, пользователей, рефереров и т.д. Так вот, что бы не было дублей эти страниц и используется эта директива. Она скажет ПС не закачивать повторно добирающуюся информацию. Снизится и нагрузка на сервер и время обхода сайта роботом.

Clean-param: s /forum/showthread.php

Данная запись говорит ПС, что параметр s будет считаться незначительным для для всех url, которые начинаются с /forum/showthread.php. Максимальная длина записи 500 символов.

С директивами разобрались, переходим к настройке нашего файла роботс.

Настройка robots.txt

Приступаем непосредственно к настройке файла robots.txt. Он должен содержать как минимум две записи:

User-agent: — указывает для какой поисковой системы будут идущие ниже инструкции.
Disallow: — уточняет, какую именно часть сайта не индексировать. Может закрывать от индексации, как отдельную страницу сайта, так и целые разделы.

Причем можно указать, что эти директивы предназначены для всех поисковых систем, или для какой-то одной конкретно. Указывается это в директиве User-agent. Если вы хотите что бы инструкции читали все боты — ставим «звездочку»

Если хотите прописать инструкции для конкретного робота, но надо указать его имя.

User-agent: YandexBot

Упрощенно пример правильно составленного файла robots будет таким:

User-agent: *
Disallow: /files.php
Disallow: /razdel/
Host: сайт

Где, * говорит о том, что инструкции предназначены для всех ПС;
Disallow: /files.php – дает запрет на индексацию файла file.php;
Disallow: /foto/ — запрещает индексировать целиком весь раздел «foto» со всеми вложенными файлами;
Host: сайт — указывает роботам, какое зеркало индексировать.

Если у вас на сайте нет страниц, которые надо закрыть от индексации, то ваш файл robots.txt должен быть таким:

User-agent: *
Disallow:
Host: сайт

Robots.txt для Яндекса (Yandex)

Что бы указать, что данные инструкции предназначены для поисковой системы Яндекс, надо прописать в директиве User-agent: Yandex. Причем если мы пропишем «Yandex» то сайт будут индексировать все роботы Яндекса, а если укажем «YandexBot» — то это будет команда только для основного индексирующего робота.

Так же надо обязательно прописать директиву «Host», где указать основное зеркало сайта. Как я писал выше, делается это для недопущения дублей страниц. Ваш правильный robots.txt для Yandex будет таким.

Цель этого руководства – помочь веб-мастерам и администраторам в использовании robots.txt.

Введение

Стандарт исключений для роботов по сути своей очень прост. Вкратце, это работает следующим образом:

Когда робот, соблюдающий стандарт заходит на сайт, он прежде всего запрашивает файл с названием «/robots.txt». Если такой файл найден, Робот ищет в нем инструкции, запрещающие индексировать некоторые части сайта.

Где размещать файл robots.txt

Робот просто запрашивает на вашем сайте URL «/robots.txt», сайт в данном случае – это определенный хост на определенном порту.

URL Сайта URL файла robots.txt
http://www.w3.org/ http://www.w3.org/robots.txt
http://www.w3.org:80/ http://www.w3.org:80/robots.txt
http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt
http://w3.org/ http://w3.org/robots.txt

На сайте может быть только один файл «/robots.txt». Например, не следует помещать файл robots.txt в пользовательские поддиректории – все равно роботы не будут их там искать. Если вы хотите иметь возможность создавать файлы robots.txt в поддиректориях, то вам нужен способ программно собирать их в один файл robots.txt, расположенный в корне сайта. Вместо этого можно использовать .

Не забывайте, что URL-ы чувствительны к регистру, и название файла «/robots.txt» должно быть написано полностью в нижнем регистре.

Неправильное расположение robots.txt
http://www.w3.org/admin/robots.txt
http://www.w3.org/~timbl/robots.txt Файл находится не в корне сайта
ftp://ftp.w3.com/robots.txt Роботы не индексируют ftp
http://www.w3.org/Robots.txt Название файла не в нижнем регистре

Как видите, файл robots.txt нужно класть исключительно в корень сайта.

Что писать в файл robots.txt

В файл robots.txt обычно пишут нечто вроде:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

В этом примере запрещена индексация трех директорий.

Затметьте, что каждая директория указана на отдельной строке – нельзя написать «Disallow: /cgi-bin/ /tmp/». Нельзя также разбивать одну инструкцию Disallow или User-agent на несколько строк, т.к. перенос строки используется для отделения инструкций друг от друга.

Регулярные выражения и символы подстановки так же нельзя использовать. «Звездочка» (*) в инструкции User-agent означает «любой робот». Инструкции вида «Disallow: *.gif» или «User-agent: Ya*» не поддерживаются.

Конкретные инструкции в robots.txt зависят от вашего сайта и того, что вы захотите закрыть от индексации. Вот несколько примеров:

Запретить весь сайт для индексации всеми роботами

User-agent: *
Disallow: /

Разрешить всем роботам индексировать весь сайт

User-agent: *
Disallow:

Или можете просто создать пустой файл «/robots.txt».

Закрыть от индексации только несколько каталогов

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/

Запретить индексацию сайта только для одного робота

User-agent: BadBot
Disallow: /

Разрешить индексацию сайта одному роботу и запретить всем остальным

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

Запретить к индексации все файлы кроме одного

Это довольно непросто, т.к. не существует инструкции “Allow”. Вместо этого можно переместить все файлы кроме того, который вы хотите разрешить к индексации в поддиректорию и запретить ее индексацию:

User-agent: *
Disallow: /docs/

Либо вы можете запретить все запрещенные к индексации файлы:

User-agent: *
Disallow: /private.html
Disallow: /foo.html
Disallow: /bar.html



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows