Файл ro. Как редактировать файл robots txt

Приветствую вас, уважаемые читатели 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: /

Виды роботов Яндекса

  • Yandex/1.01.001 (compatible; Win16; I) - основной индексирующий робот
  • Yandex/1.01.001 (compatible; Win16; P) - индексатор картинок
  • Yandex/1.01.001 (compatible; Win16; H) - робот, определяющий зеркала сайтов
  • Yandex/1.02.000 (compatible; Win16; F) - робот, индексирующий пиктограммы сайтов (favicons)
  • Yandex/1.03.003 (compatible; Win16; D) - робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
  • Yandex/1.03.000 (compatible; Win16; M) - робот, обращающийся при открытии страницы по ссылке «Найденные слова»
  • YaDirectBot/1.0 (compatible; Win16; I) - робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса
  • YandexBlog/0.99.101 (compatible; DOS3.30,B) – робот, индексирующий xml-файлы для поиска по блогам.
  • YandexSomething/1.0 – робот, индексирующий новостные потоки партнеров Яндекс-Новостей.
  • Bond, James Bond (version 0.07) - робот, заходящий на сайты из подсети Яндекса. Официально никогда не упоминался. Ходит выборочно по страницам. Referer не передает. Картинки не загружает. Судя по повадкам, робот занимается проверкой сайтов на нарушения – клоакинг и пр.

IP-адреса роботов Яндекса

IP-адресов, с которых «ходит» робот Яндекса, много, и они могут меняться. Список адресов не разглашается.

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

  • Yandex/2.01.000 (compatible; Win16; Dyatel; C) - «простукивалка» Яндекс.Каталога. Если сайт недоступен в течение нескольких дней, он снимается с публикации. Как только сайт начинает отвечать, он автоматически появляется в Каталоге.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; Z) - «простукивалка» Яндекс.Закладок. Ссылки на недоступные сайты помечаются серым цветом.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; D) - «простукивалка» Яндекс.Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; N) - «простукивалка» Яндекс.Новостей. Она формирует отчет для контент-менеджера, который оценивает масштаб проблем и, при необходимости, связывается с партнером.

Директива Host

Во избежания возникновения проблем с зеркалами сайта рекомендуется использовать директиву «Host». Директива «Host» указывает роботу Яндекса на главное зеркало данного сайта. С директивой «Disallow» никак не связана.

User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru

User-agent: Yandex
Disallow: /cgi-bin
Host: site.ru

в зависимости от того что для вас оптимальнее.

Вопрос: Когда планируется своевременное соблюдение директивы Host: в robots.txt? Если сайт индексируется как www.site.ru, когда указано Host: site.ru уже после того, как robots.txt был размещен 1–2 недели, то при этом сайт с www и без www не склеивается более 1–2 месяца и в Яндексе существуют одновременно 2 копии частично пересекающихся сайтов (один 550 страниц, другой 150 страниц, при этом 50 страниц одинаковых). Прокомментируйте, пожалуйста, проблемы с работой «зеркальщика».
Ответ: Расширение стандарта robots.txt, введенное Яндексом, директива Host - это не команда считать зеркалами два любых сайта, это указание, какой сайт из группы, определенных автоматически как зеркала, считать главным. Следовательно, когда сайты будут идентифицированы как зеркала, директива Host сработает.

HTML-тег

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

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

Зачем нужно сканирование:

  1. Собрать данные для построения индекса - информацию о новых страницах и обновлениях на старых.
  2. Сравнить URL в индексе и в списке для сканирования.
  3. Убрать из очереди дублирующиеся URL, чтобы не скачивать их дважды.

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

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

Какие страницы краулер просканирует быстрее:

  1. Находятся ближе к главной.
    Чем меньше кликов с главной ведет до страницы, тем она важнее и тем вероятнее ее посетит краулер. Количество переходов от главной до текущей страницы называется (DFI).
  2. Имеют много ссылок.
    Если многие ссылаются на страницу, значит она полезная и имеет хорошую репутацию. Нормальным считается около 11-20 ссылок на страницу, перелинковка между своими материалами тоже считается.
  3. Быстро загружаются.
    Проверьте скорость загрузки если она медленная - и .

Все посещения ботов-краулеров не фиксируют такие инструменты, как Google Analytics, но поведение ботов можно отследить в лог-файлах. Некоторые SEO-проблемы крупных сайтов можно решить с помощью который также поможет увидеть проблемы со ссылками и распределение краулингового бюджета.

Robots.txt для Яндекса и Google

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

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

Требования к robots.txt:

  • файл называется "robots.txt ", название написано только строчными буквами, "Robots.TXT" и другие вариации не поддерживаются;
  • располагается только в корневом каталоге - https://site.com/robots.txt, в подкаталоге быть не может;
  • на сайте в единственном экземпляре;
  • имеет формат.txt;
  • весит до 32 КБ;
  • в ответ на запрос отдает HTTP-код со ;
  • каждый префикс URL на отдельной строке;
  • содержит только латиницу.

Если домен на кириллице, для robots.txt переведите все кириллические ссылки в Punycode с помощью любого Punycode-конвертера: "сайт.рф" - "xn--80aswg.xn--p1ai".

Robots.txt действует для HTTP, HTTPS и FTP, имеет кодировку UTF-8 или ASCII и направлен только в отношении хоста, протокола и номера порта, где находится.

Его можно добавлять к адресам с субдоменами - http://web.site.com/robots.txt или нестандартными портами - http://site.com:8181/robots.txt. Если у сайта несколько поддоменов, поместите файл в корневой каталог каждого из них.

Как исключить страницы из индексации с помощью robots.txt

В файле robots.txt можно запретить ботам индексацию некоторого контента.

User-agent: * Disallow: /about/

Запись формата "Disallow: /about" без закрывающего "/" запретит доступ и к разделу http://site.com/about/, к файлу http://site.com/about.php и к другим ссылкам, которые начинаются с "/about".

Если нужно запретить доступ к нескольким разделам или папкам, для каждого нужна отдельная строка с Disallow:

User-agent: * Disallow: /about Disallow: /info Disallow: /album1

Allow

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

Разрешено сканировать все, что начинается с "/catalog", а все остальное запрещено:

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

Сканировать файл "photo.html" разрешено, а всю остальную информацию в каталоге /album1/ запрещено:

User-agent: * Allow: /album1/photo.html Disallow: /album1/

Заблокировать доступ к каталогам "site.com/catalog1/" и "site.com/catalog2/" но разрешить к "catalog2/subcatalog1/":

User-agent: * Disallow: /catalog1/ Disallow: /catalog2/ Allow: /catalog2/subcatalog1/

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

Директивы, которые распознают боты Яндекса:

Clean-param

Некоторые страницы дублируются с разными GET-параметрами или UTM-метками, которые не влияют на содержимое. К примеру, если в каталоге товаров использовали сортировку или разные id.

Чтобы отследить, с какого ресурса делали запрос страницы с книгой book_id=123, используют ref:

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

Страница с книгой одна и та же, содержимое не меняется. Чтобы бот не сканировал все варианты таких страниц с разными параметрами, используют правило Clean-param:

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

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

"www.example. com/some_dir/get_book.pl? book_id=123"

Для адресов вида:
"www.example2. com/index.php? page=1&sid=2564126ebdec301c607e5df"
"www.example2. com/index.php? page=1&sid=974017dcd170d6c4a5d76ae"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: sid/index.php

Для адресов вида

"www.example1. com/forum/showthread.php? s=681498b9648949605&t=8243"
"www.example1. com/forum/showthread.php? s=1e71c4427317a117a&t=8243"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: s/forum/showthread.php

Если переходных параметров несколько:
"www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311"
"www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: s&ref/forum*/showthread.php


Host

Правило показывает, какое зеркало учитывать при индексации. URL нужно писать без "http://" и без закрывающего слэша "/".

User-agent: Yandex Disallow: /about Host: www.site.com

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

Crawl-delay

Раньше частая загрузка страниц нагружала сервер, поэтому для ботов устанавливали Crawl-delay - время ожидания робота в секундах между загрузками. Эту директиву можно не использовать, мощным серверам она не требуется.

Время ожидания - 4 секунды:

User-agent: * Allow: /album1 Disallow: / Crawl-delay: 4

Только латиница

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

User-agent: Yandex Disallow: /каталог

Правильно:

User-agent: Yandex Disallow: /xn--/-8sbam6aiv3a

Пример robots.txt

Запись означает, что правило справедливо для всех роботов: запрещено сканировать ссылки из корзины, из встроенного поиска и админки, карта сайта находится по ссылке http://site.com/ sitemap, ref не меняет содержание страницы get_book:

User-agent: * Disallow: /bin/ Disallow: /search/ Disallow: /admin/ Sitemap: http://site.com/sitemap Clean-param: ref/some_dir/get_book.pl

Инструменты для составления и проверки robots.txt

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


Графы инструмента для заполнения

Для проверки файла robots.txt на ошибки у поисковиков есть собственные инструменты:

Инструмент проверки файла robots.txt от Google позволит проверить, как бот видит конкретный URL. В поле нужно ввести проверяемый URL, а инструмент покажет, доступна ли ссылка.

Инструмент проверки от Яндекса покажет, правильно ли заполнен файл. Нужно указать сайт, для которого создан robots.txt, и перенести его содержимое в поле.

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

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


Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Представьте, что вы отправились за сокровищами на остров. У вас есть карта. Там указан маршрут: “Подойти к большому пню. От него сделать 10 шагов на восток, затем дойти до обрыва. Повернуть вправо, найти пещеру”.

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

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

Начинают ходить по сайтам и индексировать страницы после того, как сайт загружен на хостинг и прописаны dns. Они делают свою работу вне зависимости от того, есть у вас какие-то технические файлы или нет. Роботс указывает поисковикам, что при обходе веб-сайта нужно учитывать параметры, которые в нем находится.

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

Все это, как результат, ведет к проблемам с продвижением.

Рассмотрим подробнее, какие инструкции содержатся в этом файле, как они влияют на поведение бота у вас на сайте.

Как сделать robots.txt

Для начала проверьте, есть ли у вас этот файл.

Введите в адресной строке браузера адрес сайта и через слэш имя файла, например, https://www.xxxxx.ru/robots.txt

Если файл присутствует, то на экране появится список его параметров.

Если файла нет:

  1. Файл создается в обычном текстом редакторе типо блокнота или Notepad++.
  2. Нужно задать имя robots, расширение.txt. Внести данные с учетом принятых стандартов оформления.
  3. Можно проверить на предмет ошибок с помощью сервисов типа вебмастера Яндекса.Там нужно выбрать пункт «Анализ robots.txt» в разделе «Инструменты» и следовать подсказкам.
  4. Когда файл готов, залейте его в корневой каталог сайта.

Правила настройки

У поисковиков не один робот. Некоторые боты индексируют только текстовый контент, некоторые - только графический. Да и у самих поисковых систем схема работы краулеров может быть разной. При составлении файла это нужно учитывать.

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

Синтаксис файла

Параметры документа: имя робота (бота) «User-agent», директивы: разрешающая «Allow» и запрещающая «Disallow».

Сейчас есть две ключевых поисковых системы: Яндекс и Google, соответственно, важно при составлении сайта учитывать требования обеих.

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

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

Робот ищет записи, которые начинаются с User-agent, там должны содержаться указания на название поискового робота. Если оно не указано, считается, что доступ ботов неограничен.

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

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

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

Вся информация, которая указана после значка #, является комментариями и не считывается машиной.

Allow применяют, чтобы разрешить доступ.

Символ звездочка служит указанием на то, что относится ко всем: User-agent: *.

Такой вариант, наоборот, означает полный запрет индексации для всех.

Запрет на просмотр всего содержимого определенной папки-каталога

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


Директивы Sitemap, Host

Для Яндекса в принято указывать, какое зеркало вы хотите назначить главным. А Гугл, как мы помним, его игнорирует. Если зеркал нет, просто зафиксируйте, как считаете корректным писать имя вашего веб-сайта с www или без.

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

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

Например, в адресе страниц «ref» определяет источник трафика, т.е. указывает на то, откуда на сайт пришел посетитель. Для всех пользователей страница будет одинаковая.

Роботу можно указать на это, и он не будет загружать повторяющуюся информацию. Это снизит загруженность сервера.

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

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

Ошибки robots.txt

  1. Файл не находится в корневом каталоге. Глубже робот его искать не будет и не учтет.
  2. Буквы в названии должны быть маленькие латинские.
    Ошибка в названии, иногда упускают букву S на конце и пишут robot.
  3. Нельзя использовать кириллические символы в файле robots.txt. Если нужно указать домен на русском языке, используйте формат в специальной кодировке Punycode.
  4. Это метод преобразования доменных имен в последовательность ASCII-символов. Для этого можно воспользоваться специальными конвертерами.

Выглядит такая кодировка следующим образом:
сайт.рф = xn--80aswg.xn--p1ai

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

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 и загрузить в корневой каталог вашего сайта.