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

Всем привет, друзья! Сегодня я расскажу, как создать файл robots txt для wordpress. Этот пост, будет очень важным для тех, у кого до сих пор нет файла robots txt. Я постараюсь рассказать вам основные команды, которые используются в этом файле, чтобы вы могли составить самостоятельно robots txt а также покажу пример, каким должен быть правильный robots.txt для wordpress:smile:.

http://www.mycharm.ru/articles/text/?id=2766

то нужно просто убрать из файла robots.txt вот эту строчку
Disallow: /*?* , поскольку она заблокирует индексацию всех страниц, где встречается знак вопроса «?» . Ее нужно убрать в двоих местах.

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

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

Директива «User-agent» отвечает за то, к какому поисковому роботу вы обращаетесь.

  • User-agent: * — ко всем поисковикам;
  • User-agent: Yandex – только к Яндексу;
  • User-agent: Googlebot – только к Гуглу;

Директива «Disallow» закрывает страницы, категории или сайт от индексации.
Например, у меня есть на сайте вод такая страница http://сайт/search/ и я хочу закрыть ее от индексации всех поисковиков. В таком случаи нужно прописать следующее.

User-agent: *
Disallow: /search/

Если вы хотите закрыть весь сайт от индексации гуглом, то нужно прописать так:

User-agent: Googlebot
Disallow: /

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

User-agent: Googlebot
Disallow:

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

Директива «Allow» разрешает индексировать сайт, категории или страницы.
Например, вы хотите запретить индексировать папку wp-includes всем поисковикам, но в этой папке хотите разрешить индексировать файл compat.php, тогда нужно прописать следующее:

User-agent: *
Disallow: /wp-includes/
Allow: /wp-includes/compat.php

Директива «Sitemap» позволяет указать поисковым роботам:

User-agent: *
Sitemap: http://сайт/sitemap.xml

Есть еще несколько директив, которые понимает только Яндекс.

Директива «Host» позволяет указать основной адрес сайта. С www или без www. Я указал без www.

User-agent: Yandex
Host: сайт

Директива «Crawl-delay» позволяет указать задержку, с которой поисковый робот будет отправлять вам команду. Если у вас большой сайт, то поисковик постоянным его штудированием может создать большую нагрузку на сервер. И чтобы этого не случилось, вы можете воспользоваться директивой «Crawl-delay»
Вод пример:

User-agent: Yandex
Crawl-delay: 3

Это значит, что интервал между посылками команды будет 3 секунды. Но опять же, это актуально только для яндекса.

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

  • Символ * — любая, последовательность символов.
  • Символ $ — конец строки.

Я сейчас объясню, что это значит, и как эти символы использовать при составлении файла robots.txt
Сначала разберем, как использовать «*». Например, у меня есть дублирована страница

http://сайт/page?replytocom=29#respond

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

User-agent: *
Disallow: /*?*

Таким образом, я говорю поисковому роботу: «Если в URL страницы встретишь знак вопроса «?» то не индексируй ее. И неважно, какие символы стоят до знака вопроса и после него».
Потому что перед знаком вопроса и после него мы поставили звездочку «*». А она, в свою очередь, означает любую последовательность символов.

Ну а теперь разберем, как использовать символ $. Например, у нас есть вод такая страница

http://сайт/index.php

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

User-agent: *
Disallow: /*index.php$

Я говорю поисковикам: «Если index.php конец строки и неважно какие символы до index.php – не индексируй». Пояснил, как мог, если что-то не понятно, то спрашивайте в комментариях;-).

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

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

Для этого, прежде всего, нужно . Потом, нужно зайти в раздел: «Настройка индексирования» — «Анализ robots.txt».

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

Но мы еще можем проверить конкретную страницу. Например, я копирую url статьи, которая должна быть открыта для индексации, и проверяю, так ли это на самом деле.

Как настроить корректную индексацию сайта поисковыми роботами? Как закрыть доступ сканирующих роботов к техническим файлам сайта?

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

Пример полного доступа на индексацию сайта без ограничений:

User-agent: *
Allow: /

Применение в SEO

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

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

Правила синтаксиса robots.txt

Логика и структура файла robots.txt должны строго соблюдаться и не содержать лишних данных:

  • Любая новая директива начинается с новой строки.
  • В начале строки не должно быть пробелов.
  • Все значения одной директивы должны быть размещены на этой же строке.
  • Не использовать кавычки для параметров директив.
  • Не использовать запятые и точки с запятыми для указания параметров.
  • Все комментарии пишутся после символа #.
  • Пустая строка обозначает конец действия текущего User-agent.
  • Каждая директива закрытия индексации или открытия содержит только один параметр.
  • Название файла должно быть написано прописными буквами, файлы Robots.txt или ROBOTS.TXT являются другими файлами и игнорируются поисковыми роботами.
  • Если директива относится к категории, то название категории оформляется слешами "/categorya/".
  • Размер файла robots.txt не должен превышать 32 кб, иначе он трактуется как разрешающий индексацию всего.
  • Пустой файл robots.txt считается разрешающим индексацию всего сайта.
  • При указании нескольких User-agent без пустой строки между ними обрабатываться будет только первая

Проверка robots.txt

Поисковые системы Яндекс и Google дают возможность проверить корректность составления robots.txt:

  • В Вебмастер.Яндекс - анализ robots.txt .
  • В Google Search Console - ссылка , необходимо сначала добавить сайт в систему.

Примеры настройки robots.txt

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

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

# Все сканирующие роботы
User-agent: *
# Все роботы Яндекса
User-agent: Yandex
# Основной индексирующий робот Яндекса
User-agent: YandexBot
# Все роботы Google
User-agent: Googlebot

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

Использование нескольких User-agent

# Будет использована основным роботом Яндекса
User-agent: YandexBot
Disallow: *request_* # Будет использована всеми роботами Google
User-agent: Googlebot
Disallow: *elem_id* # Будет использована всеми роботами Mail.ru
User-agent: Mail.Ru
Allow: *SORT_*

Сразу после указания User-agent следует написать инструкции для выбранного робота. Нельзя указывать пустые сроки между командами в robots.txt, это будет не правильно понято сканирующими роботами.

Разрешающие и запрещающие директивы

Для запрета индексации используется директива "Disallow", для разрешения индексации "Allow":

User-agent: *
Allow: /abc/
Disallow: /blog/

Указано разрешение на индексацию раздела /abc/ и запрет на индексацию /blog/. По умолчанию все страницы сайта разрешены на индексацию и не нужно указывать для всех папок директиву Allow. Директива Allow необходима при открытии на индексацию подраздела. Например открыть индексацию для подраздела с ужатыми изображениями, но не открывать доступ к другим файлам в папке:

User-agent: *
Disallow: /upload/
Allow: /upload/resize_image/

Последовательность написания директив имеет значение. Сначала закрывается все папка от индексации, а затем открывается её подраздел.

Запрещение индексации - Disallow

Директива для запрета на сканирование - Disallow, индексация запрещается в зависимости от параметров, указанных в директиве.

Полный запрет индексации

User-agent: *
Disallow: /

Сайт закрывается от сканирования всех роботов.

Существуют специальные символы "*" и "$", которые позволяют производить более тонкое управление индексацией:

Disallow: /cat*
Disallow: /cat

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

Disallow: *section_id*

Запрещает индексацию всех Url, где встречается значение внутри звездочек.

Disallow: /section/

Закрывает от индексации раздел и все вложенные файлы и подразделы.

Разрешение индексации - Allow

Задача директивы Allow открывать для индексации url, которые подходят под условие. Синтаксис Allow сходен с синтаксисом Disallow.

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

Весь сайт закрыт от индексации, кроме раздел /fuf/.

Директива Host

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

User-agent: *
Disallow: /bitrix/
Host: mysite.ru

В файле robots.txt директиву Host следует использовать только один раз, последующие указания игнорируются.

Если сайт работает по защищенному протоколу https, то следует указывать домен с полным адресом:

User-agent: *
Disallow: /bitrix/
Host: https://domain.ru

Директива Sitemap

Для ускорения индексации страниц сайта поисковым роботам можно передать карту сайта в формате xml. Директива Sitemap указывает адрес, по которому карта сайта доступна для скачивания.

User-agent: *
Disallow: /bitrix/
Sitemap: http://domain.ru/sitemap.xml

Исключение страниц с динамическими параметрами

Директива Clean-param позволяет бороться с динамическими дублями страниц, когда содержимое страницы не меняется, но добавление Get-параметра делает Url уникальным. При составлении директивы сначала указывается название параметра, а затем область применения данной директивы:

Clean-param: get1[&get2&get3&get4&..&getN] [Путь]

Простой пример для страницы http://domain.ru/catalog/?&get1=1&get2=2&get3=3. Директива будет иметь вид:

Clean-param: get1&get2&get3 /catalog/

Данная директива будет работать для раздела /catalog/, можно сразу прописать действие директивы на весь сайт:

Clean-param: get1&get2&get3 /

Снижение нагрузки - Crawl-delay

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

User-agent: *
Disallow: /search/
Crawl-delay: 4

Поисковый робот будет делать один запрос, затем ждать 4 секунды и снова делать запрос.

Типовой robots.txt для сайта на Bitrix

В заключении полноценный файл robots.txt для системы 1С-Битрикс, который включает все типовые разделы:

User-agent: *
Disallow: /bitrix/
Disallow: /admin/
Disallow: /auth/
Disallow: /personal/
Disallow: /cgi-bin/
Disallow: /search/
Disallow: /upload/
Allow: /upload/resize_cache/
Allow: /upload/iblock/
Disallow: *bxajaxid*
Sitemap: http://domain.ru/sitemap.xml
Host: domain.ru

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

Поисковые роботы перед началом индексации всегда обращаются к файлу robots.txt в корневом каталоге вашего сайта, например, http://site.ru/robots.txt, чтобы знать какие разделы сайта роботу индексировать запрещено. Но даже если вы не собираетесь ничего запрещать, то данный файл все равно рекомендуется создать.

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

Формат файла robots.txt

Файл robots.txt должен состоять как минимум из двух обязательных записей. Первой идет директива User-agent указывающая, какой поисковый робот должен следовать идущим дальше инструкциям. Значением может быть имя робота (googlebot, Yandex, StackRambler) или символ * в случае если вы обращаетесь сразу ко всем роботам. Например:

User-agent: googlebot

Название робота вы можете найти на сайте соответствующего поисковика. Дальше должна идти одна или несколько директив Disallow. Эти директивы сообщают роботу, какие файлы и папки индексировать запрещено. Например, следующие строки запрещают роботам индексировать файл feedback.php и каталог cgi-bin:

Disallow: /feedback.php Disallow: /cgi-bin/

Также можно использовать только начальные символы файлов или папок. Строка Disallow: /forum запрещает индексирование всех файлов и папок в корне сайта, имя которых начинается на forum, например, файл http://site.ru/forum.php и папку http://site.ru/forum/ со всем ее содержимым. Если Disallow будет пустым, то это значит, что робот может индексировать все страницы. Если значением Disallow будет символ /, то это значит что весь сайт индексировать запрещено.

Для каждого поля User-agent должно присутствовать хотя бы одно поле Disallow. То-есть, если вы не собираетесь ничего запрещать для индексации, то файл robots.txt должен содержать следующие записи:

User-agent: * Disallow:

Дополнительные директивы

Кроме регулярных выражений Яндекс и Google разрешают использование директивы Allow, которая является противоположностью Disallow, то-есть указывает какие страницы можно индексировать. В следующем примере Яндексу запрещено индексировать все, кроме адресов страниц начинающихся с /articles:

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

В данном примере директиву Allow нужно прописывать перед Disallow, иначе Яндекс поймет это как полный запрет индексации сайта. Пустая директива Allow также полностью запрещает индексирование сайта:

User-agent: Yandex Allow:

равнозначно

User-agent: Yandex Disallow: /

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

Регулярные выражения в robots.txt

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

User-agent: googlebot Disallow: *.pdf$

В приведенном примере символ * – это любая последовательность символов, а $ указывает на окончание ссылки.

User-agent: Yandex Allow: /articles/*.html$ Disallow: /

Приведенные выше директивы разрешают Яндексу индексировать только находящиеся в папке /articles/ файлы с расширением ".html". Все остальное запрещено для индексации.

Карта сайта

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

User-agent: googlebot Disallow: Sitemap: http://site.ru/sitemap.xml

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

User-agent: Yandex Disallow: Sitemap: http://mysite.ru/my_sitemaps1.xml Sitemap: http://mysite.ru/my_sitemaps2.xml

Зеркала сайта

Как вы знаете обычно один и тот же сайт может быть доступен по двум адресам: как с www, так и без него. Для поискового робота site.ru и www.site.ru это разные сайты, но с одинаковым содержимым. Они называются зеркалами.

Из-за того что на страницы сайта есть ссылки как с www так и без, то вес страниц может разделиться между www.site.ru и site.ru. Чтобы этого не происходило поисковику нужно указать главное зеркало сайта. В результате "склеивания" весь вес будет принадлежать одному главному зеркалу и сайт сможет занять более высокую позицию в поисковой выдаче.

Указать основное зеркало для Яндекса можно прямо в файле robots.txt с помощью директивы Host:

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

После склейки зеркалу www.site.ru будет принадлежать весь вес и он будет занимать более высокую позицию в поисковой выдаче. А site.ru поисковик вообще не будет индексировать.

Для остальных поисковиков выбором главного зеркала является серверный постоянный редирект (код 301) с дополнительных зеркал на основное. Делается это с помощью файла.htaccess и модуля mod_rewrite. Для этого ложим в корень сайта файл.htaccess и пишем туда следующее:

RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteCond %{HTTP_HOST} ^site.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

В результате все запросы с site.ru будут идти на www.site.ru, то-есть site.ru/page1.php будет перенаправляться на www.site.ru/page1.php.

Метод с редиректом будет работать для всех поисковых систем и браузеров, но все же рекомендуется добавлять для Яндекса директиву Host в файл robots.txt.

Комментарии в robots.txt

В файл robots.txt также можно добавлять комментарии – они начинаются с символа # и заканчиваются переводом строки. Комментарии желательно писать в отдельной строке, а лучше вообще их не использовать.

Пример использования комментариев:

User-agent: StackRambler Disallow: /garbage/ # ничего полезного в этой папке нет Disallow: /doc.xhtml # и на этой странице тоже # и все комментарии в этом файле также бесполезны

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

1. Разрешаем всем роботам индексировать все документы сайта:

User-agent: * Disallow:
User-agent: * Disallow: /

3. Запрещаем роботу поисковика Google индексировать файл feedback.php и содержимое каталога cgi-bin:

User-agent: googlebot Disallow: /cgi-bin/ Disallow: /feedback.php

4. Разрешаем всем роботам индексировать весь сайт, а роботу поисковика Яндекс запрещаем индексировать файл feedback.php и содержимое каталога cgi-bin:

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

5. Разрешаем всем роботам индексировать весь сайт, а роботу Яндекса разрешаем индексировать только предназначенную для него часть сайта:

User-agent: Yandex Allow: /yandex Disallow: / Host: www.site.ru User-agent: * Disallow:

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

Часто встречающиеся ошибки

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

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

Проверка файла robots.txt на наличие ошибок

Обязательно проверьте как понимает ваш файл robots поисковиковые системы. Для проверки Google вы можете воспользоваться Инструментами Google для веб-мастеров. Если вы хотите узнать как ваш файл robots.txt понимает Яндекс, то можете воспользоваться сервисом Яндекс.Вебмастер. Это позволит вовремя исправить допущенные ошибки. Также на страницах данных сервисов вы сможете найти рекомендации по составлению файла robots.txt и много другой полезной информации.

Копирование статьи запрещено.

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

Robots.txt — директива user-agent и боты поисковых систем

Роботс.тхт имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса и хелпе Гугла . Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent "), разрешающие ("Allow ") и запрещающие ("Disallow "), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.

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

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

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

Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:

<поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел>

Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.

User-agent

Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:

User-agent: *

Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:

User-agent: Yandex

Название роботов поисковых систем и их роль в файле robots.txt

Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:

Google http://www.google.com Googlebot Яндекс http://www.ya.ru Yandex Бинг http://www.bing.com/ bingbot

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

Как быть в этом случае? Если нужно написать правило запрета индексации, которое должны выполнить все типы роботов Гугла, то используйте название Googlebot и все остальные пауки этого поисковика тоже послушаются. Однако, можно запрет давать только, например, на индексацию картинок, указав в качестве User-agent бота Googlebot-Image. Сейчас это не очень понятно, но на примерах, я думаю, будет проще.

Примеры использования директив Disallow и Allow в роботс.тхт

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

  1. Приведенный ниже код разрешает всем ботам (на это указывает звездочка в User-agent) проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow . User-agent: * Disallow:
  2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения. User-agent: * Disallow: /
  3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ — абсолютный путь к этому каталогу) User-agent: * Disallow: /image/
  4. Чтобы заблокировать один файл, достаточно будет прописать его абсолютный путь до него (читайте ): User-agent: * Disallow: /katalog1//katalog2/private_file.html

    Забегая чуть вперед скажу, что проще использовать символ звездочки (*), чтобы не писать полный путь:

    Disallow: /*private_file.html

  5. В приведенном ниже примере будут запрещены директория «image», а также все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.): User-agent: * Disallow: /image Дело в том, что по умолчанию в конце записи подразумевается звездочка, которая заменяет любые символы, в том числе и их отсутствие. Читайте об этом ниже.
  6. С помощью директивы Allow мы разрешаем доступ. Хорошо дополняет Disallow. Например, таким вот условием поисковому роботу Яндекса мы запрещаем выкачивать (индексировать) все, кроме вебстраниц, адрес которых начинается с /cgi-bin: User-agent: Yandex Allow: /cgi-bin Disallow: /

    Ну, или такой вот очевидный пример использования связки Allow и Disallow:

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

  7. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$" , задавая, таким образом, определенные логические выражения.
    1. Символ "*"(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»: User-agent: * Disallow: *.php$
    2. Зачем нужен на конце знак $ (доллара) ? Дело в том, что по логике составления файла robots.txt, в конце каждой директивы как бы дописывается умолчательная звездочка (ее нет, но она как бы есть). Например мы пишем: Disallow: /images

      Подразумевая, что это то же самое, что:

      Disallow: /images*

      Т.е. это правило запрещает индексацию всех файлов (вебстраниц, картинок и других типов файлов) адрес которых начинается с /images, а дальше следует все что угодно (см. пример выше). Так вот, символ $ просто отменяет эту умолчательную (непроставляемую) звездочку на конце. Например:

      Disallow: /images$

      Запрещает только индексацию файла /images, но не /images.html или /images/primer.html. Ну, а в первом примере мы запретили индексацию только файлов оканчивающихся на.php (имеющих такое расширение), чтобы ничего лишнего не зацепить:

      Disallow: *.php$

  • Во многих движках пользователи (человеко-понятные Урлы), в то время как Урлы, генерируемые системой, имеют знак вопроса "?" в адресе. Этим можно воспользоваться и написать такое правило в robots.txt: User-agent: * Disallow: /*?

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

  • Директивы Sitemap и Host (для Яндекса) в Robots.txt

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

    Директива Host — указывает главное зеркало сайта для Яндекса

    Например, раньше, если вы еще не перешли на защищенный протокол , указывать в Host нужно было не полный Урл, а доменное имя (без http://, т.е..ru). Если же уже перешли на https, то указывать нужно будет полный Урл (типа https://myhost.ru).

    Замечательный инструмент для борьбы с дублями контента — поисковик просто не будет индексировать страницу, если в Canonical прописан другой урл. Например, для такой страницы моего блога (страницы с пагинацией) Canonical указывает на https://сайт и никаких проблем с дублированием тайтлов возникнуть не должно.

    Но это я отвлекся...

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

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

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

    Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков — Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент, и момент этот связан с поисковой системой Яндекс.

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

    Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.

    Как обстоит дело на самом деле — сказать трудно, ибо алгоритмы работы поиска — это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директиве User-agent: Yandex все те правила, что мы задали User-agent: * . Если вы оставите User-agent: Yandex с пустым Disallow: , то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.

    Robots для WordPress

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

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

    Мой вариант этого файла вы можете сами посмотреть. Он старый, давно не менялся, но я стараюсь следовать принципу «не чини то, что не ломалось», а вам уже решать: использовать его, сделать свой или еще у кого-то подсмотреть. У меня там еще запрет индексации страниц с пагинацией был прописан до недавнего времени (Disallow: */page/), но недавно я его убрал, понадеясь на Canonical, о котором писал выше.

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

    Приведу две крайности :

    1. можно найти мегафайлище с подробными пояснениями (символом # отделяются комментарии, которые в реальном файле лучше будет удалить): 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 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 # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команду Host понимает # Яндекс и Mail.RU, Google не учитывает. Host: www.site.ru
    2. А вот можно взять на вооружение пример минимализма: User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Host: https://site.ru Sitemap: https://site.ru/sitemap.xml

    Истина, наверное, лежит где-то посредине. Еще не забудьте прописать мета-тег Robots для «лишних» страниц, например, с помощью чудесного плагина — . Он же поможет и Canonical настроить.

    Правильный robots.txt для Joomla

    User-agent: * Disallow: /administrator/ Disallow: /bin/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /layouts/ Disallow: /libraries/ Disallow: /logs/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/

    В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.

    Поэтому в окончательном виде правильный robots для Joomla, по-моему мнению, должен выглядеть так:

    User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /component/tags* Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Host: vash_sait.ru (или www.vash_sait.ru) User-agent: * Allow: /*.css?*$ Allow: /*.js?*$ Allow: /*.jpg?*$ Allow: /*.png?*$ Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Sitemap: http://путь к вашей карте XML формата

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

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

    Удачи вам! До скорых встреч на страницах блога сайт

    посмотреть еще ролики можно перейдя на
    ");">

    Вам может быть интересно

    Домены с www и без него - история появления, использование 301 редиректа для их склеивания
    Зеркала, дубли страниц и Url адреса - аудит вашего сайта или что может быть причиной краха при его SEO продвижении

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

    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% рекомендаций, то сможете в будущем успешно продвигать любые сайты.