Настройка Robots.txt: создаем правильный файл и улучшаем индексацию сайта


Настройка Robots.txt: создаем правильный файл и улучшаем индексацию сайта

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

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

Robots.txt — что это, зачем и где обитает?

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

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

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

Структура и настройка Robots.txt

Итак, структуру файла можно описать следующим образом:

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

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

User-agent: *

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

User-agent: YandexBot

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

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

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

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

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

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

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

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

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

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

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

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

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

Host: site.ru

или, если основное зеркало вашего сайта с www:

Host: www.site.ru

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

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

Синтаксис файла Robots.txt

  • # — используется для написания комментариев:

  • 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.pingoblog.ru # указываем главное зеркало сайта
Sitemap: https://pingoblog.ru/sitemap.xml # указываем путь до карты сайта

User-agent: Aport # указываем направленность правил на ПС Aport
Disallow: / # предположим, не хотим мы с ними дружить

Проверка Robots.txt

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

Настройка Robots.txt: создаем правильный файл и улучшаем индексацию сайта

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

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

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

Настройка Robots.txt: создаем правильный файл и улучшаем индексацию сайта

Файлы Robots.txt для популярных CMS

Robots.txt для 1C Bitrix


Robots.txt для DataLife Engine (DLE)


Robots.txt для Joomla


Robots.txt для Wordpress


Robots.txt для Ucoz


Robots.txt для MODx


Материал обновлен: 19 декабря 2015 года.

Оцените статью:
5 1 2



Комментарии (5)
  1. Lyudmila
    15 сентября 2013 19:39
    У меня данный файл на сайте появился совсем недавно, и плюс к этому он еще был неправильно создан. Сейчас я настроила его согласно правилам и надеюсь что с индексацией моего сайта все наладится.
  2. Александр
    26 августа 2015 12:57
    User-agent: *
    Allow: /
    Disallow: /articles$ 
    Disallow: /articles/tag/


    User-agent: Yandex
    Allow: /
    Disallow: /articles$ 
    Disallow: /articles/tag/
    Host: grizli51.ru
    Sitemap: http://grizli51.ru/sitemap.xml
     
    В данном случае у меня запрещается индексация статей так я понял, но у меня есть уникальный контент не все но есть. Как сделать для них исключение. Спасибо за статью. самая подробная, которую читал.
  3. 27 августа 2015 00:23
    Цитата: Александр
    В данном случае у меня запрещается индексация статей так я понял, но у меня есть уникальный контент не все но есть. Как сделать для них исключение.


    1) Из того, что я вижу, у вас закрыта только главная страница раздела статей (http://grizli51.ru/articles), а сами статьи (например, http://grizli51.ru/articles/245231) - нет.

    2) Allow: / - не нужен.
  4. Константин
    16 сентября 2015 12:49
    Здравствуйте. Скажите пожалуйста, у меня небольшой сайт из 11 страничек на HTML. Все открыты для индексации. Мне нужен этот файл robots.txt или нет? То-есть в целях понятия оптимизации сайта. Или наличие или отсутствие этого файла, никак не влияет на понятие оптимизации?
  5. 16 сентября 2015 14:18
    Цитата: Константин
    Мне нужен этот файл robots.txt или нет?

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

    User-agent: *
    Disallow:
    Host: site.ru
Оставить комментарий

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent