Как редактировать файл robots txt. Как редактировать файл robots txt Яндекс файл robots txt

Как редактировать файл robots txt. Как редактировать файл robots txt Яндекс файл robots txt

Роботы-краулеры Яндекса и 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 директивами. Ниже подробно описаны все директивы файла Robots.txt.

Пометьте , скопируйте и вставьте текст в текстовый редактор. Сохраните файл как "robots.txt" в корневой директории Вашего сайта.

Описание формата файла robots.txt

Файл robots.txt состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:

Директива ":" значение

Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.

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

Для Рамблера: User-agent: StackRambler Для Яндекса: User-agent: Yandex Для Гугла: User-Agent: googlebot

Вы можете создать инструкцию для всех роботов:

User-agent: *

Директива Disallow :

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

Следующая директива запрещает индексацию каталога /cgi-bin/:

Disallow: /cgi-bin/ Обратите внимание на / в конце названия директории! Чтобы запрещать посещение именно каталога "/dir" , инструкция должна иметь вид: "Disallow: /dir/" . А строка "Disallow: /dir" запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html".

Записанная следующим образом директива запрещает индексацию файла index.htm находящегося в корне:

Disallow: /index.htm

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

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц начинающихся с "/cgi-bin" Для остальных поисковиков вам придется перечислять все закрытые документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.

Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent , чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.

Робот Рамблера понимает * как любой символ, поэтому инструкция Disallow: * означает запрещение индексации всего сайта.

Директивы Allow, Disallow без параметров. Отсутствие параметров у директив Allow , Disallow трактуется следующим образом: User-agent: Yandex Disallow: # тоже что и Allow: / User-agent: Yandex Allow: # тоже что и Disallow: /

Использование спецсимволов "*" и "$" .
При указании путей директив Allow-Disallow можно использовать спецсимволы "*" и "$", задавая, таким образом, определенные регулярные выражения. Спецсимвол "*" означает любую (в том числе пустую) последовательность символов. Примеры:

User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает "/cgi-bin/example.aspx" и "/cgi-bin/private/test.aspx" Disallow: /*private # запрещает не только "/private", но и "/cgi-bin/private" Спецсимвол "$" .
По умолчанию к концу каждого правила, описанного в robots.txt, приписывается "*", например: User-agent: Yandex Disallow: /cgi-bin* # блокирует доступ к страницам начинающимся с "/cgi-bin" Disallow: /cgi-bin # то же самое чтобы отменить "*" на конце правила, можно использовать спецсимвол "$", например: User-agent: Yandex Disallow: /example$ # запрещает "/example", но не запрещает "/example.html" User-agent: Yandex Disallow: /example # запрещает и "/example", и "/example.html" User-agent: Yandex Disallow: /example$ # запрещает только "/example" Disallow: /example*$ # так же, как "Disallow: /example" запрещает и /example.html и /example

Директива Host .

Если ваш сайт имеет зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его при помощи robots.txt, используя директиву "Host", определив в качестве ее параметра имя главного зеркала. Директива "Host" не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример: #Если www.glavnoye-zerkalo.ru главное зеркало сайта, то robots.txt для #www.neglavnoye-zerkalo.ru выглядит так User-Agent: * Disallow: /forum Disallow: /cgi-bin Host: www.glavnoye-zerkalo.ru В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Host" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow"("Allow"). Аргументом директивы "Host" является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки "Host:" игнорируются.

Примеры игнорируемых директив Host:

Host: www.myhost-.ru Host: www.-myhost.ru Host: www.myhost.ru:100000 Host: www.my_host.ru Host: .my-host.ru:8000 Host: my-host.ru. Host: my..host.ru Host: www.myhost.ru/ Host: www.myhost.ru:8080/ Host: 213.180.194.129 Host: www.firsthost.ru,www.secondhost.ru # в одной строке - один домен! Host: www.firsthost.ru www.secondhost.ru # в одной строке - один домен!! Host: экипаж-связь.рф # нужно использовать punycode

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

Задает таймаут в секундах, с которым поисковый робот закачивает страницы с вашего сервера (Crawl-delay).

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

Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.

User-agent: Yandex Crawl-delay: 2 # задает таймаут в 2 секунды User-agent: * Disallow: /search Crawl-delay: 4.5 # задает таймаут в 4.5 секунды

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

Директива для исключения параметров из адресной строки. т.е. запросы содержащие такой параметр и не содержащие - будут считаться идентичными.

Пустые строки и комментарии

Пустые строки допускаются между группами инструкций, вводимыми User-agent .

Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent .

Любой текст от знака решетки " # " до конца строки считается комментарием и игнорируется.

Пример:

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

# Инструкции для всех роботов User-agent: * Disallow: / # Инструкции для робота Рамблера User-agent: StackRambler Disallow:

Распространенные ошибки:

Перевернутый синтаксис: User-agent: / Disallow: StackRambler А должно быть так: User-agent: StackRambler Disallow: / Несколько директив Disallow в одной строке: Disallow: /css/ /cgi-bin/ /images/ Правильно так: Disallow: /css/ Disallow: /cgi-bin/ Disallow: /images/
    Примечания:
  1. Недопустимо наличие пустых переводов строки между директивами "User-agent" и "Disallow" ("Allow"), а также между самими "Disallow" ("Allow") директивами.
  2. В соответствии со стандартом перед каждой директивой "User-agent" рекомендуется вставлять пустой перевод строки.

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 - это обычный текстовый файл, размещенный на сайте и предназначенный для роботов поисковых систем. В этом файле можно указать параметры индексирования своего сайта для всех роботов поисковых систем сразу или для каждой поисковой системы по отдельности.

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

Как создать?

Сделать файл robots.txt очень просто - создаете обычный текстовый документ, называете его robots, не ошибитесь в регистре букв или в самих буквах, название должно быть именно такое. Если не планируете запрещать индексирование страниц сайта, можно созданный файл оставить пустым. Если планируете - просто заполняете документ в соответствии с принятыми в 1994 году общими стандартами. После этого необходимо загрузить файл в корневой каталог вашего сайта, чтобы файл открывался по ссылке http://www.site.ru/robots.txt . Всё.

Что закрывать от индексации?
Правила заполнения файла robots.txt

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

  • Директива user-agent

    Первое, с чего следует начать заполнение файла - указать, для какого робота будут команды, для этого пишем в первой строчке:

    если ваши инструкции предназначены для роботов Яндекса:

    User-agent: yandex

    для роботов Google:

    User-agent: googlebot

    для всех роботов без исключения:
  • Директива Disallow и Allow

    Команда Disallow запрещает роботу индексировать тот или иной файл или папку.

    Например,

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

    Disallow: /cgi-bin/

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

    Disallow: /company.html

    запрет на индексацию всего сайта:

    Проверьте ваш сайт - это одна из частых причин неиндексирования сайта.

    Важно! Неправильно указывать несколько директив в одной строчке:

    Disallow: /cgi-bin/ /cell/ /bot/

    Директива Allow наоборот - снимает запрет на индексацию некоторых файлов. Пример ее использования:

    User-agent: Yandex
    Allow: /cgi-binDisallow: /

    Такая запись в файле запрещает скачивать роботу Яндекса все, кроме страниц, начинающихся с "/cgi-bin".

    Важно! Если в файле указали директиву, но не указали параметры для нее, значения будут такие:

    запрета на индексацию сайта нет:
    весь сайт запрещен к индексации:
  • Директива sitemap

    Если у вас есть карта сайта в формате sitemaps.xml, укажите путь к ней в специальной директиве Sitemap (если файлов несколько, укажите все):

    Sitemap: http://site.ru/sitemaps1.xml
    Sitemap: http://site.ru/sitemaps2.xml

  • Директива Host

    Данная запись используется роботами Яндекса. Определите и укажите в директиве Host главное зеркало вашего сайта:

    Host: www.site.ru

    Часто начинающие вебмастера забывают, что сайт с www и без (www.site.ru и site.ru) являются зеркалами друг друга. Поэтому обязательно укажите, какой адрес является приоритетным с www или без.

    Директива Host не гарантирует выбор указанного главного зеркала, но Яндекс учитывает ее с высоким приоритетом.

Пример заполнения robots.txt

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /language/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Host: sait.ru
Sitemap: http://site.ru/sitemaps.xml

Проверка файла robots.txt

Для проверки получившегося файла можно воспользоваться Яндекс.Вебмастером . Или закажите у нас полный SEO-аудит , и мы проверим не только этот файл, но и остальные важные параметры.

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

Для сайтов, работающих на платформе «Нубекс», файл с директивами создается автоматически и располагается по адресу domen.ru/robots.txt, где domen.ru — доменное имя сайта..ru/robots.txt.

Изменить robots.txt и прописать дополнительные директивы для поисковиков можно в админке сайта. Для этого на панели управления выберите раздел «Настройки» , а в нем — пункт «SEO» .

Найдите поле «Текст файла robots.txt» и пропишите в нем нужные директивы. Желательно активировать галочку «Добавить в robots.txt ссылку на автоматически генерируемый файл sitemap.xml »: так поисковый бот сможет загрузить карту сайта и найти все необходимые страницы для индексации.

Основные директивы для файла robots txt

Загружая robots.txt, поисковый робот первым делом ищет запись, начинающуюся с User-agent : значением этого поля должно являться имя робота, которому в этой записи устанавливаются права доступа. Т.е. директива User-agent — это своего рода обращение к роботу.

1. Если в значении поля User-agent указан символ «* », то заданные в этой записи права доступа распространяются на любых поисковых роботов, запросивших файл /robots.txt.

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

3. Заглавные или строчные символы роли не играют.

4. Если обнаружена строка User-agent: ИмяБота, директивы для User-agent: * не учитываются (это в том случае, если вы делаете несколько записей для различных роботов). Т.е. робот сначала просканирует текст на наличие записи User-agent: МоеИмя, и если найдет, будет следовать этим указаниям; если нет — будет действовать по инструкциям записи User-agent: * (для всех ботов).

Кстати, перед каждой новой директивой User-agent рекомендуется вставлять пустой перевод строки (Enter).

5. Если строки User-agent: ИмяБота и User-agent: * отсутствуют, считается, что доступ роботу не ограничен.

Запрет и разрешение индексации сайта: директивы Disallow и Allow

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

В значении этих директив указывается полный или частичный путь к разделу:

  • Disallow: /admin/ — запрещает индексацию всех страниц, находящихся внутри раздела admin;
  • Disallow: /help — запрещает индексацию и /help.html, и /help/index.html;
  • Disallow: /help/ — закрывает только /help/index.html;
  • Disallow: / — блокирует доступ ко всему сайту.

Если значение Disallow не указано, то доступ не ограничен:

  • Disallow: — разрешена индексация всех страниц сайта.

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

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

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

Директива Host: как указать основной домен сайта

Если к вашему сайту привязано несколько доменных имен (технические адреса, зеркала и т.д.), поисковик может решить, что все это — разные сайты. Причем с одинаковым наполнением. Решение? В бан! И одному боту известно, какой из доменов будет «наказан» — основной или технический.

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

Сделать это можно с помощью директивы Host . Ее нужно добавить в запись, начинающуюся с User-Agent, непосредственно после директив Disallow и Allow. В значении директивы Host нужно указать основной домен с номером порта (по умолчанию 80). Например:

Host: test-o-la-la.ru

Такая запись означает, что сайт будет отображаться в результатах поиска со ссылкой на домен test-o-la-la.ru, а не www.test-o-la-la.ru и s10364.. скриншот выше).

В конструкторе «Нубекс» директива Host добавляется в текст файла robots.txt автоматически, когда вы указываете в админке, какой домен является основным.

В тексте robots.txt директива host может использоваться только единожды. Если вы пропишите ее несколько раз, робот воспримет только первую по порядку запись.

Директива Crawl-delay: как задать интервал загрузки страниц

Чтобы обозначить роботу минимальный интервал между окончанием загрузки одной страницы и началом загрузки следующей, используйте директиву Crawl-delay . Ее нужно добавить в запись, начинающуюся с User-Agent, непосредственно после директив Disallow и Allow. В значении директивы укажите время в секундах.

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

Существуют также и другие директивы для поисковых роботов, но пяти описанных — User-Agent, Disallow, Allow, Host и Crawl-delay — обычно достаточно для составления текста файла robots.txt.

просмотров