Windows

Нужен ли robots txt. Как редактировать файл robots txt. Примеры для других CMS

Здравствуйте, уважаемые читатели блога «Мир Вебмастера»!

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

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

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

О файле robots.txt

Сначала давайте подробнее узнаем, что же это за файл такой.

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

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

Зеркало – это абсолютная копия сайта, т.е. когда один сайт , то говорят, что один из них – это главный домен, а другой – его зеркало.

Таким образом, у файла достаточно много функций, причем немаловажных!

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

Файл роботс содержит блоки правил, которые говорят той или иной поисковой системе, что можно индексировать, а что нет. Блок правил может быть и один (для всех поисковиков), но также их может быть несколько – для каких-то конкретных поисковиков отдельно.

Каждый такой блок начинается с оператора «User-Agent», который указывает, к какой поисковой системе применимы данные правила.

User- Agent: A
{правила для робота «А»}

User- Agent: B
{правила для робота «В»}

В примере выше показано, что оператор «User-Agent» имеет параметр – имя робота поисковой системы, к которой применяются правила. Основные из них я укажу ниже:

После «User-Agent» идут другие операторы. Вот их описание:

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

Оператор1: параметр1

Оператор2: параметр2

Таким образом, сначала мы пишем название оператора (неважно, большими или маленькими буквами), затем ставим двоеточие и через пробел указываем параметр данного оператора. Затем с новой строки таким же образом описываем оператор два.

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

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

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

User-agent: Yandex
Allow: /folder1/
Disallow: /file1.html
Host: www.site.ru

User-agent: *
Disallow: /document.php
Disallow: /folderxxx/
Disallow: /folderyyy/folderzzz
Disallow: /feed/

Sitemap: http://www.site.ru/sitemap.xml

Теперь разберем описанный пример.

Файл состоит из трех блоков: первый для Яндекса, второй для всех поисковых систем, а в третьем указан адрес карты сайта (применяется автоматически для всех поисковиков, поэтому указывать «User-Agent» не нужно). Яндексу мы разрешили индексировать папку «folder1» и все ее содержимое, но запретили индексировать документ «file1.html», находящийся в корневом каталоге на хостинге. Также мы указали главный домен сайта яндексу. Второй блок – для всех поисковиков. Там мы запретили документ «document.php», а также папки «folderxxx», «folderyyy/folderzzz» и «feed».

Обратите внимание, что мы запретили в втором блоке команд к индексу не всю папку «folderyyy», а лишь папку внутри этой папки – «folderzzz». Т.е. мы указали полный путь для «folderzzz». Так всегда нужно делать, если мы запрещаем документ, находящийся не в корневом каталоге сайта, а где-то внутри других папок.

Создание займет меньше двух минут:

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

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

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

Robots.txt для WordPress

А зачем, собственно говоря, нужен robots.txt? Ответ все тот же – . То есть составление robots.txt – это одно из частей поисковой оптимизации сайта (кстати, очень скоро будет урок, который будет посвящен всей внутренней оптимизации сайта на WordPress. Поэтому не забудьте подписаться на RSS , чтобы не пропустить интересные материалы.).

Одна из функций данного файла – запрет индексации ненужных страниц сайта. Также в нем задается адрес и прописывается главное зеркало сайта (сайт с www или без www).

Примечание: для поисковых систем один и тот же сайт с www и без www совсем абсолютно разные сайты. Но, поняв, что содержимое этих сайтов одинаковое, поисковики “склеивают” их. Поэтому важно прописать главное зеркало сайта в robots.txt. Чтобы узнать, какое главное (с www или без www), просто наберите адрес своего сайта в браузере, к примеру, с www, если Вас автоматически перебросит на тот же сайт без www, значит главное зеркало Вашего сайта без www. Надеюсь правильно объяснил.

Так вот, этот заветный, по-моему, правильный robots.txt для WordPress Вы можете увидеть ниже.

Правильный Robots.txt для WordPress

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: сайт
.gz
Sitemap: https://сайт/sitemap.xml

Все что дано выше, Вам нужно скопировать в текстовой документ с расширением.txt, то есть, чтобы название файла было robots.txt. Данный текстовой документ Вы можете создать, к примеру, с помощью программы . Только, не забудьте, пожалуйста, изменить в последних трех строчках адрес на адрес своего сайта. Файл robots.txt должен располагаться в корне блога, то есть в той же папке, где находятся папки wp-content, wp-admin и др. .

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

Хочу отметить, что в техническими частями, о которых речь пойдет ниже, себя сильно загружать не нужно. Привожу их для “знаний”, так сказать общего кругозора, чтобы знали, что и зачем нужно.

Итак, строка:

User-agent

задает правила для какого-то поисковика: к примеру “*” (звездочкой) отмечено, что правила для всех поисковиков, а то, что ниже

User-agent: Yandex

означает, что данные правила только для Яндекса.

Disallow
Здесь же Вы “засовываете” разделы, которые НЕ нужно индексировать поисковикам. К примеру, на странице https://сайт/tag/seo у меня идет дубль статей (повторение) с обычными статьями, а дублирование страниц отрицательно сказывается на поисковом продвижении, поэтому, крайне желательно, данные секторы нужно закрыть от индексации, что мы и делаем с помощью этого правила:

Disallow: /tag

Так вот, в том robots.txt, который дан выше, от индексации закрыты почти все ненужные разделы сайта на WordPress, то есть просто оставьте все как есть.

Host

Здесь мы задаем главное зеркало сайта, о котором я рассказывал чуть выше.

Sitemap

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

Возможные проблемы

А вот из-за этой строчки в robots.txt, у меня перестали индексироваться посты сайта:

Disallow: /*?*

Как видите, эта самая строка в robots.txt запрещает индексирование статей, что естественно нам нисколько не нужно. Чтобы исправить это, просто нужно удалить эти 2 строчки (в правилах для всех поисковиков и для Яндекса) и окончательный правильный robots.txt для WordPress сайта без ЧПУ будет выглядеть следующим образом:

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /tag

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /tag
Host: сайт
Sitemap: https://сайт/sitemap.xml

Чтобы проверить, правильно ли мы составили файл robots.txt я рекомендую Вам воспользоваться сервисом Яндекс Вебмастер (как регистрироваться в данном сервисе я рассказывал ).

Заходим в раздел Настройки индексирования –> Анализ robots.txt:

Уже там нажимаете на кнопку “Загрузить robots.txt с сайта”, а затем нажимаете на кнопку “Проверить”:

Если Вы увидите примерно следующее сообщение, значит у Вас правильный robots.txt для Яндекса:

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

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

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

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

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

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

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

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

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

  • Неграфические файлы . В основном это html файлы, на которых содержится какая-либо информация. Вы можете закрыть дубликаты страниц, или страницы, которые не несут никакой полезной информации (страницы пагинации, страницы календаря, страницы с архивами, страницы с профилями и т.д.).
  • Графические файлы . Если вы хотите, чтобы картинки сайта не отображались в поиске, вы можете это прописать в файле robots.
  • Файлы ресурсов . Также с помощью robots вы можете заблокировать индексацию различных скриптов, файлы стилей CSS и другие маловажные ресурсы. Но не стоит блокировать ресурсы, которые отвечают за визуальную часть сайта для посетителей (например, если вы закроете css и js сайта, которые выводят красивые блоки или таблицы, этого не увидит поисковой робот, и будет ругаться на это).

Чтобы наглядно показать, как работает robots, посмотрите на картинку ниже:

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

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

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

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

User-agent — Этой директивой вы задает название роботу, которому следует использовать рекомендации в файле. Этих роботов официально в мире интернета — 302 штуки . Вы конечно можете прописать правила для всех по отдельности, но если у вас нет времени на это, просто пропишите:

User-agent: *

*-в данном примере означает «Все». Т.е. ваш файл robots.txt, должен начинаться с того, «для кого именно» предназначен файл. Чтобы не заморачиваться над всеми названиями роботов, просто пропишите «звездочку» в директиве user-agent.

Приведу вам подробные списки роботов популярных поисковых систем:

Google — Googlebot — основной робот

Остальные роботы Google

Googlebot-News — робот поиска новостей
Googlebot-Image — робот картинок
Googlebot-Video — робот видео
Googlebot-Mobile — робот мобильной версии
AdsBot-Google — робот проверки качества целевой страницы
Mediapartners-Google — робот сервиса AdSense

Яндекс — YandexBot - основной индексирующий робот;

Остальные роботы Яндекса

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

Disallow — самое основное правило в robots, именно с помощью этой директивы вы запрещаете индексировать определенные места вашего сайта. Пишется директива так:

Disallow:

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

Поэтому самый стандартный вариант robots.txt, который «разрешает индексацию всего сайта для всех поисковых систем» выглядит так:

User-Agent: * Disallow:

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

По правилам robots, директива disallow должна быть обязательна.

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

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

Disallow: /papka/

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

Disallow: /images/img.jpg

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

Disallow: /*.png$

Регулярные выражения не поддерживаются многими поисковыми системами. Google поддерживает.

Allow — разрешающая директива в Robots.txt. Она разрешает роботу индексировать определенный путь или файл в запрещающей директории. До недавнего времени использовалась только Яндексом. Google догнал это, и тоже начал ее использовать. Например:

Allow: /content Disallow: /

эти директивы запрещают индексировать весь контент сайта, кроме папки content. Или вот еще популярные директивы в последнее время:

Allow: /themplate/*.js Allow: /themplate/*.css Disallow: /themplate

эти значения разрешают индексировать все файлы CSS и JS на сайте , но запрещают индексировать все в папке с вашим шаблоном. За последний год Google очень много отправил писем вебмастерам такого содержания:

Googlebot не может получить доступ к файлам CSS и JS на сайте

И соответствующий комментарий: Мы обнаружили на Вашем сайте проблему, которая может помешать его сканированию. Робот Googlebot не может обработать код JavaScript и/или файлы CSS из-за ограничений в файле robots.txt. Эти данные нужны, чтобы оценить работу сайта. Поэтому если доступ к ресурсам будет заблокирован, то это может ухудшить позиции Вашего сайта в Поиске .

Если вы добавите две директивы allow, которые написаны в последнем коде в ваш Robots.txt, то вы не увидите подобных сообщений от Google.

И спользование спецсимволов в robots.txt

Теперь про знаки в директивах. Основные знаки (спецсимволы) в запрещающих или разрешающих это /,*,$

Про слеши (forward slash) «/»

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

User-Agent: * Disallow: /

Потому, что они где-то прочитали о структуре сайта и скопировали ее себе на сайте. Но, в данном случае вы запрещаете индексацию всего сайта. Чтобы запрещать индексацию именно каталога, со всеми внутренностями вам обязательно нужно ставить / в конце. Если вы например пропишите Disallow: /seo, то абсолютно все ссылки на вашем сайте, в котором есть слово seo — не будут индексироваться. Хоть это будет папка /seo/, хоть это будет категория /seo-tool/, хоть это будет статья /seo-best-of-the-best-soft.html, все это не будет индексироваться.

Внимательно смотрите на все / в вашем robots.txt

Всегда в конце директорий ставьте /. Если вы поставите / в Disallow, вы запретите индексацию всего сайта, но если вы не поставите / в Allow, вы также запретите индексацию всего сайта. / — в некотором понимании означает «Все что следует после директивы /».

Про звездочки * в robots.txt

Спецсимвол * означает любую (в том числе пустую) последовательность символов. Вы можете ее использовать в любом месте robots по примеру:

User-agent: * Disallow: /papka/*.aspx Disallow: /*old

Запрещает все файлы с расширением aspx в директории papka, также запрещает не только папку /old, но и директиву /papka/old. Замудрено? Вот и я вам не рекомендую баловаться символом * в вашем robots.

По умолчанию в файле правил индексации и запрета robots.txt стоит * на всех директивах!

Про спецсимвол $

Спецсимвол $ в robots заканчивает действие спецсимвола *. Например:

Disallow: /menu$

Это правило запрещает ‘/menu’, но не запрещает ‘/menu.html’, т.е. файл запрещает поисковым системам только директиву /menu, и не может запретить все файлы со словом menu в URL`е.

Д иректива host

Правило host работает только в Яндекс, поэтому является не обязательным , оно определяет основной домен из ваших зеркал сайта, если таковы есть. Например у вас есть домен dom.com, но и так же прикуплены и настроены следующие домены: dom2.com, dom3,com, dom4.com и с них идет редирект на основной домен dom.com

Чтобы Яндексу быстрее определить, где из них главных сайт (хост), пропишите директорию host в ваш robots.txt:

Host: сайт

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

Запись host должны быть одна, и если нужно, с прописанным портом. (Host: сайт:8080)

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

Эта директива была создана для того, чтобы убрать возможность нагрузки на ваш сервер. Поисковые роботы могут одновременно делать сотни запросов на ваш сайт и если ваш сервер слабый, это может вызвать незначительные сбои. Чтобы такого не произошло, придумали правило для роботов Crawl-delay — это минимальный период между загрузками страницы вашего сайта. Стандартное значение для этой директивы рекомендуют ставить 2 секунды. В Robots это выглядит так:

Crawl-delay: 2

Эта директива работает для Яндекса. В Google вы можете выставить частоту сканирования в панеле вебмастера, в разделе Настройки сайта, в правом верхнем углу с «шестеренкой».

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

Этот параметр тоже только для Яндекса. Если адреса страниц сайта содержат динамические параметры, которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т. п.), вы можете описать их с помощью директивы Clean-param.

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

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

Параметр ref используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123. Тогда, если указать директиву следующим образом:

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

робот Яндекса сведет все адреса страницы к одному:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,
Если на сайте доступна страница без параметров:
www.site.com/some_dir/get_book.pl?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

#для адресов вида: www.site1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.site1.com/forum/showthread.php?s=1e71c4427317a117a&t=8243 #robots.txt будет содержать: User-agent: Yandex Disallow: Clean-param: s /forum/showthread.php

Д иректива Sitemap

Этой директивой вы просто указываете месторасположение вашего sitemap.xml. Робот запоминает это, «говорит вам спасибо», и постоянно анализирует его по заданному пути. Выглядит это так:

Sitemap: http://сайт/sitemap.xml

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

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

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

User-Agent: * Disallow: Sitemap: http://сайт/sitemap.xml User-agent: Yandex Disallow: Host: site.com

В этом файле стоят такие правила: настройки правил запрета для всех поисковых систем (User-Agent: *), полностью разрешена индексация всего сайта («Disallow:» или можете указать «Allow: /»), указан хост основного зеркала для Яндекса (Host: site.ncom) и месторасположение вашего Sitemap.xml (Sitemap: .

R obots.txt для WordPress

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

User-Agent: * Allow: /wp-content/uploads/ Allow: /wp-content/*.js$ Allow: /wp-content/*.css$ Allow: /wp-includes/*.js$ Allow: /wp-includes/*.css$ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content Disallow: /category Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: /?feed= Disallow: /job Disallow: /?.net/sitemap.xml

Тут очень много настроек, давайте их разберем вместе.

Allow в WordPress . Первые разрешающие правила для контента, который нужен пользователям (это картинки в папке uploads), и роботам (это CSS и JS для отображения страниц). Именно по css и js часто ругается Google, поэтому мы оставили их открытыми. Можно было использовать метод всех файлов просто вставив «/*.css$», но запрещающая строка именно этих папок, где лежат файлы — не разрешала использовать их для индексации, поэтому пришлось прописать путь к запрещающей папке полностью.

Allow всегда указывает на путь запрещенного в Disallow контента. Если у вас что-то не запрещено, не стоит ему прописывать allow, якобы думая, что вы даете толчок поисковикам, типа «Ну на же, вот тебе URL, индексируй быстрее». Так не получится.

Disallow в WordPress . Запрещать в CMS WP нужно очень многое. Множество различных плагинов, множество различных настроек и тем, куча скриптов и различных страниц, которые не несут в себе никакой полезной информации. Но я пошел дальше и совсем запретил индексировать все на своем блоге, кроме самих статей (записи) и страниц (об Авторе, Услуги). Я закрыл даже категории в блоге, открою, когда они будут оптимизированы под запросы и когда там появится текстовое описание для каждой из них, но сейчас это просто дубли превьюшек записей, которые не нужны поисковикам.

Ну Host и Sitemap стандартные директивы. Только нужно было вынести host отдельно для Яндекса, но я не стал заморачиваться по этому поводу. Вот пожалуй и закончим с Robots.txt для WP.

К ак создать robots.txt

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

Никто не расскажет больше про ваш Robots.txt, как эти товарищи. Ведь именно для них вы и создаете свой «запретный файлик».

Теперь поговорим о некоторых мелких ошибках, которые могут быть в robots.

  • «Пустая строка » — недопустимо делать пустую строку в директиве user-agent.
  • При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow .
  • Для каждого файла robots.txt обрабатывается только одна директива Host . Если в файле указано несколько директив, робот использует первую.
  • Директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt . В случае, если директив указано несколько, все они будут учтены роботом.
  • Шесть роботов Яндекса не следуют правилам Robots.txt (YaDirectFetcher, YandexCalendar, YandexDirect, YandexDirectDyn, YandexMobileBot, YandexAccessibilityBot). Чтобы запретить им индексацию на сайте, следует сделать отдельные параметры user-agent для каждого из них.
  • Директива User-agent , всегда должна писаться выше запрещающей директивы.
  • Одна строка, для одной директории. Нельзя писать множество директорий на одной строке.
  • Имя файл должно быть только таким: robots.txt . Никаких Robots.txt, ROBOTS.txt, и так далее. Только маленькие буквы в названии.
  • В директиве host следует писать путь к домену без http и без слешей. Неправильно: Host: http://www.site.ru/, Правильно: Host: www.site.ru
  • При использовании сайтом защищенного протокола https в директиве host (для робота Яндекса) нужно обязательно указывать именно с протоколом, так Host: https://www.site.ru

Эта статья будет обновляться по мере поступления интересных вопросов и нюансов.

С вами был, ленивый Staurus.

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

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

Находится данный файл Робота в корневом каталоге вашего сайта и открывается/редактируется простым блокнотом, я рекомендую Notepad++. Для тех, кто не любит читать — есть ВИДЕО, смотрите в конце статьи 😉

Зачем нужен robots.txt

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

  • Служебные файлы и папки CMS
  • Дубликаты
  • Документы, которые не несут пользу для пользователя
  • Не уникальные страницы

Разберем конкретный пример:

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

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

Директивы robots.txt и правила настройки

User-agent. Это обращение к конкретному роботу поисковой системы или ко всем роботам. Если прописывается конкретное название робота, например «YandexMedia», то общие директивы user-agent не используются для него. Пример написания:

User-agent: YandexBot Disallow: /cart # будет использоваться только основным индексирующим роботом Яндекса

Disallow/Allow. Это запрет/разрешение индексации конкретного документа или разделу. Порядок написания не имеет значения, но при 2 директивах и одинаковом префиксе приоритет отдается «Allow». Считывает поисковый робот их по длине префикса, от меньшего к большему. Если вам нужно запретить индексацию страницы — просто введи относительный путь до нее (Disallow: /blog/post-1).

User-agent: Yandex Disallow: / Allow: /articles # Запрещаем индексацию сайта, кроме 1 раздела articles

Регулярные выражения с * и $. Звездочка означает любую последовательность символов (в том числе и пустую). Знак доллара означает прерывание. Примеры использования:

Disallow: /page* # запрещает все страницы, конструкции http://site.ru/page Disallow: /arcticles$ # запрещаем только страницу http://site.ru/articles, разрешая страницы http://site.ru/articles/new

Директива Sitemap. Если вы используете – то в robots.txt она должна указываться так:

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

Директива Host. Как вам известно у сайтов есть зеркала (читаем, ). Данное правило указывает поисковому боту на главное зеркало вашего ресурса. Относится к Яндексу. Если у вас зеркало без WWW, то пишем:

Host: site.ru

Crawl-delay. Задает задержу (в секундах) между скачками ботом ваших документов. Прописывается после директив Disallow/Allow.

Crawl-delay: 5 # таймаут в 5 секунд

Clean-param. Указывает поисковому боту, что не нужно скачивать дополнительно дублирующую информацию (идентификаторы сессий, рефереров, пользователей). Прописывать Clean-param следует для динамических страниц:

Clean-param: ref /category/books # указываем, что наша страница основная, а http://site.ru/category/books?ref=yandex.ru&id=1 это та же страница, но с параметрами

Главное правило: robots.txt должен быть написан в нижнем регистре и лежать в корне сайта. Пример структуры файла:

User-agent: Yandex Disallow: /cart Allow: /cart/images Sitemap: http://site.ru/sitemap.xml Host: site.ru Crawl-delay: 2

Мета-тег robots и как он прописывается

Данный вариант запрета страниц лучше учитывается поисковой системой Google. Яндекс одинаково хорошо учитывает оба варианта.

Директив у него 2: follow/nofollow и index/noindex . Это разрешение/запрет перехода по ссылкам и разрешение/запрет на индексацию документа. Директивы можно прописывать вместе, смотрим пример ниже.

Для любой отдельной страницы вы можете прописать в теге следующее:

Правильные файлы robots.txt для популярных CMS

Пример Robots.txt для WordPress

Ниже вы можете увидеть мой вариант с данного Seo блога.

User-agent: Yandex Disallow: /wp-content/uploads/ Allow: /wp-content/uploads/*/*/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.xml

Трэкбэки запрещаю потому что это дублирует кусок статьи в комментах. А если трэкбэков много — вы получите кучу одинаковых комментариев.

Служебные папки и файлы любой CMS я стараюсь я закрываю, т.к. не хочу чтобы они попадали в индекс (хотя поисковики уже и так не берут, но хуже не будет).

Фиды (feed) стоит закрывать, т.к. это частичные либо полные дубли страниц.

Теги закрываем, если мы их не используем или нам лень их оптимизировать.

Примеры для других CMS

Чтобы скачать правильный robots для нужной CMS просто кликните по соответствующей ссылке.