Как редактировать файл robots txt. Роботы яндекса Disallow что значит

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

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

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

Обычно от индексации закрываются технические разделы сайта. Изредка в черный список попадают неуникальные страницы (копипаст политики конфиденциальности тому пример). Здесь же “роботам объясняются” принципы работы с разделами, которые нужно индексировать. Очень часто прописывают правила для нескольких роботов отдельно. Об этом мы и поговорим далее.

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

Создание robots.txt

Чтобы создать файл, достаточно воспользоваться стандартным функционалом вашей операционной системы, после чего выгрузить его на сервер через FTP. Где он лежит (на сервере) догадаться несложно – в корне. Обычно эта папка называется public_html.

Вы без труда сможете попасть в нее с помощью любого FTP-клиента (например, ) или встроенного файлового менеджера. Естественно, мы не будем загружать на сервер пустой роботс. Впишем туда несколько основных директив (правил).

User-agent: *
Allow: /

Используя эти строки в своем файле robots, вы обратитесь ко всем роботам (директива User-agent), позволив им индексировать ваш сайт всецело и полностью (включая все тех. страницы Allow: /)

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

Директивы

User-agent Одна из важнейших, т. к. указывает каким роботам следовать идущим после нее правилам. Правила учитываются до следующего User-agent в файле.
Allow Разрешает индексацию каких-либо блоков ресурса. Например: “/” или “/tag/”.
Disallow Наоборот, запрещает индексацию разделов.
Sitemap Путь до карты сайта (в формате xml).
Host Главное зеркало (с www или без, или если у вас несколько доменов). Здесь же указывается защищенный протокол https (при наличии). Если у вас стандартный http, его указывать не нужно.
Crawl-delay С ее помощью вы сможете установить интервал посещения и загрузки файлов вашего сайта для роботов. Помогает снизить нагрузку на хост.
Clean-param Позволяет отключить индексацию параметров на тех или иных страницах (по типу www.site.com/cat/state?admin_id8883278).
В отличие от предыдущих директив, здесь указываются 2 значения (адрес и сам параметр).

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

Настройка

Для грамотной настройки файла роботов нам нужно точно знать, какие из разделов сайта должны быть проиндексированы, а какие – нет. В случае с простым одностраничником на html + css нам достаточно прописать несколько основных директив, таких как:

User-agent: *
Allow: /
Sitemap: site.ru/sitemap.xml
Host: www.site.ru

Здесь мы указали правила и значения для всех поисковых систем. Но лучше добавить отдельные директивы для Гугла и Яндекса. Выглядеть это будет так:

User-agent: *
Allow: /

User-agent: Yandex
Allow: /
Disallow: /politika

User-agent: GoogleBot
Allow: /
Disallow: /tags/

Sitemap: site.ru/sitemap.xml
Host: site.ru

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

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

Среди таких сервисов можно выделить:

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

Говоря о платформах, я имею ввиду всевозможные CMS, фреймворки, SaaS-системы и многое другое. Далее мы поговорим о том, как настраивать файл роботов WordPress и Joomla.

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

Закрываем от индексирования (Disallow):

  • админку сайта;
  • личный кабинет и страницы регистрации/авторизации;
  • корзину, данные с форм заказов (для интернет-магазина);
  • папку cgi (располагается на хосте);
  • служебные разделы;
  • скрипты ajax и json;
  • UTM и Openstat-метки;
  • различные параметры.

Открываем (Allow):

  • картинки;
  • JS и CSS-файлы;
  • прочие элементы, которые должны учитываться поисковыми системами.

Помимо этого, в конце не забываем указать данные sitemap (путь к карте сайта) и host (главное зеркало).

Robots.txt для WordPress

Для создания файла нам нужно точно так же забросить robots.txt в корень сайта. Изменять его содержимое в таком случае можно будет с помощью все тех же FTP и файловых менеджеров.

Есть и более удобный вариант – создать файл с помощью плагинов. В частности, такая функция есть у Yoast SEO. Править роботс прямо из админки куда удобнее, поэтому сам я использую именно такой способ работы с robots.txt.

Как вы решите создать этот файл – дело ваше, нам важнее понять, какие именно директивы там должны быть. На своих сайтах под управлением WordPress использую такой вариант:

User-agent: * # правила для всех роботов, за исключением Гугла и Яндекса

Disallow: /cgi-bin # папка со скриптами
Disallow: /? # параметры запросов с домашней страницы
Disallow: /wp- # файлы самой CSM (с приставкой wp-)
Disallow: *?s= # \
Disallow: *&s= # все, что связано с поиском
Disallow: /search/ # /
Disallow: /author/ # архивы авторов
Disallow: /users/ # и пользователей
Disallow: */trackback # уведомления от WP о том, что на вас кто-то ссылается
Disallow: */feed # фид в xml
Disallow: */rss # и rss
Disallow: */embed # встроенные элементы
Disallow: /xmlrpc.php # WordPress API
Disallow: *utm= # UTM-метки
Disallow: *openstat= # Openstat-метки
Disallow: /tag/ # тэги (при наличии)
Allow: */uploads # открываем загрузки (картинки и т. д.)

User-agent: GoogleBot # для Гугла
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js # открываем JS-файлы
Allow: /*/*.css # и CSS
Allow: /wp-*.png # и картинки в формате png
Allow: /wp-*.jpg # \
Allow: /wp-*.jpeg # и в других форматах
Allow: /wp-*.gif # /
# работает вместе с плагинами

User-agent: Yandex # для Яндекса
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
# чистим UTM-метки
Clean-Param: openstat # и про Openstat не забываем

Sitemap: # прописываем путь до карты сайта
Host: https://site.ru # главное зеркало

Внимание! При копировании строк в файл – не забудьте удалить все комментарии (текст после #).

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

Robots.txt для Joomla

И хотя в 2018 Joomla редко кто использует, я считаю, что нельзя обделять вниманием эту замечательную CMS. При продвижении проектов на Joomla вам непременно придется создавать файл роботс, а иначе как вы хотите закрывать от индексации ненужные элементы?

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

User-agent: *
Allow: /*.css?*$
Allow: /*.js?*$
Allow: /*.jpg?*$
Allow: /*.png?*$
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: Yandex
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: GoogleBot
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

Host: site.ru # не забудьте здесь поменять адрес на свой
Sitemap: site.ru/sitemap.xml # и здесь

Как правило, этого достаточно, чтобы лишние файлы не попадали в индекс.

Ошибки при настройке

Очень часто люди допускают ошибки при создании и настройке файла роботс. Вот самые часто встречающиеся из них:

  • Правила указаны только для User-agent.
  • Отсутствуют Host и Sitemap.
  • Наличие http-протокола в директиве Host (нужно указывать лишь https).
  • Несоблюдение правил вложенности при открытии/закрытии картинок.
  • Не закрыты UTM и Openstat-метки.
  • Прописывание директив host и sitemap для каждого робота.
  • Поверхностная проработка файла.

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

Как проверить файл?

Для этих целей лучше использовать специальные сервисы от Yandex и Google, т. к. эти поисковые системы являются наиболее популярными и востребованными (чаще всего единственно используемыми), такие поисковики как Bing, Yahoo или Rambler рассматривать нет смысла.

Для начала рассмотрим вариант с Яндексом. Заходим в Вебмастер . После чего в Инструменты – Анализ robots.txt.

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

У Гугла есть точно такой же сервис. Идем в Search Console . Находим вкладку Сканирование, выбираем – Инструмент проверки файла robots.txt.

Здесь точно такие же функции, как и в отечественном сервисе.

Обратите внимание, что он показывает мне 2 ошибки. Связано это с тем, что Гугл не распознает директивы очистки параметров, которые я указал для Яндекса:

Clean-Param: utm_source&utm_medium&utm_campaign
Clean-Param: openstat

Обращать внимание на это не стоит, т. к. роботы Google используют только правила для GoogleBot.

Заключение

Файл robots.txt очень важен для SEO-оптимизации вашего сайта. Подходите к его настройке со всей ответственностью, потому как при неправильной реализации все может пойти прахом.

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

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

Создание самого файла

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

Для этого жмем правой кнопкой мыши по пустому пространству, выбираем Создать – Текстовый документ (не Word). Он откроется с помощью обычного блокнота. Назовите его robots, расширение у него и так уже правильное – txt. Это все, что касается создания самого файла.

Как составить robots.txt

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

Посмотреть у другого сайта, скопировать и изменить под структуру своего проекта.

Написать самому

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

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

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

Как писать свои инструкции роботам?

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

User-agent: Yandex Или User-agent: Googlebot

User - agent : Yandex

User - agent : Googlebot

Никаких точек с запятой в конце строчки ставить не нужно, это вам не программирование). В общем, тут понятно, что в первом случае инструкции будет читать только бот Яндекса, во втором – только Гугла. Если команды должны быть выполнены всеми роботами, пишут так: User-agent:

Отлично. С обращением к роботам мы разобрались. Это несложно. Вы можете представить это на простом примере. У вас есть трое младших братьев, Вася, Дима и Петя, а вы главный. Родители ушли и сказали вам, чтобы вы следили за ними.

Все трое чего-то просят у вас. Представь, что нужно дать им ответ так, как будто пишешь инструкции поисковым роботам. Это будет выглядеть примерно так:

User-agent: Vasya Allow: пойти на футбол User-agent: Dima Disallow: пойти на футбол (Дима в прошлый раз разбил стекло соседям, он наказан) User-agent: Petya Allow: сходить в кино (Пете уже 16 и он вообще в шоке, что должен у тебя еще и разрешения спрашивать, ну да ладно, пусть идет).

Таким образом, Вася радостно зашнуровывает кроссовки, Дима с опущенной головой смотрит в окно на брата, который уже думает, сколько голов забьет сегодня (Дима получил команду disallow, то есть запрет). Ну а Петя отправляется в свое кино.

Из этого примера несложно понять, что Allow – это разрешение, а Disallow – запрет. Но в robots.txt мы не людям раздаем команды, а роботам, поэтому вместо конкретных дел там прописываются адреса страниц и каталогов, которые нужно разрешить или запретить индексировать.

Например, у меня есть сайт site.ru. Он на движке wordpress. Начинаю писать инструкции:

User-agent: * Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Allow: /wp-content/uploads/ Disallow: /source/ Ну и т.д.

User - agent : *

Disallow : / wp - admin /

Disallow : / wp - content /

Disallow : / wp - includes /

Disallow : / source /

Нуит. д.

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

Ну и помните, я ранее в статье говорил о том, что у вас могут быть дополнительные каталоги? Вы можете их создать самостоятельно для различных целей. Например, на одном из моих сайтов есть папка flash, куда я кидаю флэш-игры, чтобы потом их запустить на сайте. Либо source – в этой папке могут хранится файлы, доступные пользователям для загрузки.

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

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

Чтобы лучше понять этот момент, предлагаю еще раз просмотреть этот кусок:

Disallow: /wp-content/ Allow: /wp-content/uploads/

Disallow : / wp - content /

Allow : / wp - content / uploads /

Как видите, сначала мы ставим запрет на индексацию всего каталога wp-content. В нем хранятся все ваши шаблоны, плагины, но там же есть и картинки. Очевидно, что их то можно и открыть. Для этого нам и нужна команда Allow.

Дополнительные параметры

Перечисленные команды – не единственное, что можно указать в файле. Также есть такие: Host – указывает главное зеркало сайта. Кто не знал, у любого сайта по умолчанию есть два варианта написания его доменного имени: domain.com и www.domain.com.

Чтобы не возникло проблем, необходимо указать в качестве главного зеркала какой-то один вариант. Это можно сделать как в инструментах для веб-мастеров, как и в файле Robots.txt. Для этого пишем: Host: domain.com

Что это дает? Если кто-то попытается попасть на ваш сайт так: www.domain.com – его автоматически перекинет на вариант без www, потому что он будет признан главным зеркалом.

Вторая директива – sitemap. Я думаю вы уже поняли, что в ней задается путь к карте сайта в xml-формате. Пример: http://domain.com/sitemap.xml

Опять же, загрузить карту вы можете и в Яндекс.Вебмастере, также ее можно указать в robots.txt, чтобы робот прочитал эту строчку и четко понял, где ему искать карту сайта. Для робота карта сайта так же важна, как для Васи – мяч, с которым он пойдет на футбол. Это все равно, что он спрашивает у тебя (как у старшего брата) где мяч. А ты ему:

посмотривзалезадиваном

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

Что дает настройка файла?

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

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

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

Как мне получить нормальный robots.txt, если я сам ничего не понимаю?

В конце концов, создание robots.txt — это не создание сайта. Как-то попроще, поэтому вы вполне можете банально скопировать содержимое файла у любого более менее успешного блоггера. Конечно, если у вас сайт на WordPress. Если он на другом движке, то вам и сайты нужно искать на этих же cms. Как посмотреть содержимое файла на чужом сайте я уже говорил: Domain.com/robots.txt

Итог

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

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

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

Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).

Вариант 1: оптимальный код robots.txt для WordPress

User-agent: * Disallow: /cgi-bin # классика... Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search # поиск Disallow: /author/ # архив автора Disallow: */embed # все встраивания Disallow: */page/ # все виды пагинации Allow: */uploads # открываем uploads Allow: /*/*.js # внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php #Disallow: /wp/ # когда WP установлен в подкаталог wp Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap2.xml # еще один файл #Sitemap: http://example.com/sitemap.xml.gz # сжатая версия (.gz) # Версия кода: 1.1 # Не забудьте поменять `site.ru` на ваш сайт.

Разбор кода:

    В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов * . Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex , User-agent: Googlebot).

    В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .

    Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:

    • Disallow: /cgi-bin - закрывает каталог скриптов на сервере
    • Disallow: /feed - закрывает RSS фид блога
    • Disallow: /trackback - закрывает уведомления
    • Disallow: ?s= или Disallow: *?s= - закрыавет страницы поиска
    • Disallow: */page/ - закрывает все виды пагинации
  1. Правило Sitemap: http://example.com/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.

    В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: http://example.com

    Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.

Потому что наличие открытых фидов требуется например для Яндекс Дзен, когда нужно подключить сайт к каналу (спасибо комментатору «Цифровой»). Возможно открытые фиды нужны где-то еще.

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

Директива Host для Яндекса больше не нужна

Яндекс полностью отказывается от директивы Host, её заменил 301 редирект. Host можно смело удалять из robots.txt . Однако важно, чтобы на всех зеркалах сайта стоял 301 редирект на главный сайт (главное зеркало).

Это важно: сортировка правил перед обработкой

Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:

User-agent: * Allow: */uploads Disallow: /wp-

будет прочитана как:

User-agent: * Disallow: /wp- Allow: */uploads

Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»

Вариант 2: стандартный robots.txt для WordPress

Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.

Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):

    Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:

  1. Директиву Яндекса Host: нужно использовать после Disallow: , потому что некоторые роботы (не Яндекса и Гугла), могут не понять её и вообще забраковать robots.txt. Cамому же Яндексу, судя по документации , абсолютно все равно где и как использовать Host: , хоть вообще создавай robots.txt с одной только строчкой Host: www.site.ru , для того, чтобы склеить все зеркала сайта.

3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.

На основе этих поправок, корректный код должен выглядеть так:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Host: site.ru User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Sitemap: http://example.com/sitemap.xml

Дописываем под себя

Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:

Disallow: /news

Оно запретить роботам ходить по подобным ссылками:

  • http://example.com/news
  • http://example.com/news/drugoe-nazvanie/

Если нужно закрыть любые вхождения /news , то пишем:

Disallow: */news

  • http://example.com/news
  • http://example.com/my/news/drugoe-nazvanie/
  • http://example.com/category/newsletter-nazvanie.html

Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).

Проверка robots.txt и документация

Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

  • Яндекс: http://webmaster.yandex.ru/robots.xml .
  • В Google это делается в Search console . Нужна авторизация и наличия сайта в панели веб-мастера...
  • Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
  • Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/

Я спросил у Яндекса...

Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:

Вопрос:

Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):

Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:

Host: site.ru User-agent: * Disallow: /asd

Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.

Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?

User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://example.com/sitemap.xml

Поймет ли робот в данном примере директиву Sitemap?

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

Ответ:

Здравствуйте!

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

--
С уважением, Платон Щукин
Служба поддержки Яндекса

Заключение

Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).

Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...

Динамический robots.txt

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

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

Для этого добавьте следующий код в файл functions.php:

Add_action("do_robotstxt", "my_robotstxt"); function my_robotstxt(){ $lines = [ "User-agent: *", "Disallow: /wp-admin/", "Disallow: /wp-includes/", "", ]; echo implode("\r\n", $lines); die; // обрываем работу PHP }

User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/

Crawl-delay - таймаут для сумасшедших роботов (с 2018 года не учитывается)

Яндекс

Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.

Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».

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

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

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

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды

Google

Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.

На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

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

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

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

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

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

Учитывая, что на процесс ранжирования наличие файла не влияет, много сайтов не содержат robots.txt. Но это не совсем верный путь. Рассмотрим преимущества robots.txt, которые он дает ресурсу.

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

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

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

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

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

Что нужно прописывать в файле? Обязательно употребление двух директив: User-agent и Disallow. Первая определяет, какому боту адресовано данное послание, вторая показывает, какую страницу или директорию ресурса запрещено индексировать.

Чтобы задать одинаковые правила для всех ботов, можно в директиве User-agent вместо названия прописать символ «звездочку».
Файл robots.txt в таком случае будет выглядеть таким образом:

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

Простое создание файла для любого поисковика

Если страшно наделать ошибок при написании файла (или просто лень этим заниматься), можно поручить создание нужных директив конструктору. Он прост, как дважды два, но небольшое объяснение по работе с ним все же приведем.

В первом поле прописывается адрес ресурса. Только после этого пользователю представится возможность выбрать поисковую систему, для которой устанавливаются данные правила (можно последовательно выбрать несколько поисковиков). Далее нужно указать папки и файлы, доступ к которым будет запрещен, прописать адрес зеркала сайта, указать расположение карты ресурса.

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

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

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

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

Аналогичную услугу предоставляет сервис «Инструменты для веб-мастеров» от поисковика Google

Создание robots.txt для WordPress , Joomla и Ucoz

Различные CMS, получившие широкую популярность на наших просторах, предлагают пользователям свои версии файлов robots.txt (или же не имеют их вовсе). Зачастую эти файлы либо чересчур универсальны и не учитывают особенностей ресурса пользователя, либо имеют ряд существенных недостатков.

Можно пытаться внести изменения в них вручную (что при недостатке знаний не очень-то эффективно), а можно воспользоваться опытом более профессиональных коллег. Как говорится, все уже сделано до нас. Например, robots.txt для WordPress может выглядеть таким образом:


Строку www.site.ru, само собой, следует заменить на адрес сайта пользователя.

Комментариев нет

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

Чтобы не было проблем с продвижением и индексацией статей, вам нужно знать, как создать robots txt для всех поисковиков. Это занимает мало времени, но после этого вы будете спокойны.

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

Начинающим блоггерам я рекомендую использовать шаблоны. К примеру, шаблон robots txt для WordPress Скачать . Скачайте и исправьте «ваш_сайт..

Расшифровка значений:

  • User-agent: * — вы обращаетесь сразу ко всем поисковым системам, Yandex — только к Яндексу.
  • Disallow: перечислены папки и файлы, которые запрещены для индексации
  • Host – пропишите название вашего сайта без www.
  • Sitemap: ссылка на XML-карту сайта.

Файл поместите в корневую директорию сайта с помощью Filezilla или через сайт хостера. Скидывайте в главную директорию, чтобы он был доступен по ссылке: ваш_сайт.ру/robots.txt

Он подойдет только для тех, у кого стоят ЧПУ (ссылки прописаны словами, а не в виде p=333). Достаточно зайти в Настройки – Постоянные ссылки, выбрать нижний вариант и в поле прописать /%postname%

Некоторые предпочитают создавать этот файл самостоятельно:

Для начала создайте блокнот на компьютере и назовите его robots (не используйте верхний регистр). В конце настроек его размер не должен быть больше 500 кб.

User-agent – название поисковой системы (Yandex, Googlebot, StackRambler). Если вы хотите обратиться сразу ко всем, поставьте звездочку *

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

Сначала перечислены три директории, а потом конкретный файл.

Чтобы разрешить индексировать все и всем, нужно прописать:

User-agent: *
Disallow:

Настройка robots.txt для Яндекс и Google

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

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

  • Googlebot;
  • Googlebot-Image – если ограничиваете индексацию изображений;
  • Googlebot-Mobile — для мобильной версии сайта.

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

Это можно сделать в разделе «Инструменты для веб-мастеров» от поисковика Google или на сайте Яндекс.Вебмастер в разделе Проверить robots.txt.

Если будут ошибки, исправьте их и проверьте еще раз. Добейтесь хорошего результата, затем не забудьте скопировать правильный код в robots.txt и залить его на сайт.

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