Улучшаем индексацию сайта поисковиками – Robots.txt для Joomla, SMF, WordPress – Часть 1 – Назначение и синтаксис файла robots.txt и мета-тега Robots

Для продвижение вашего сайта важно не только его уникальное наполнение, но и то, как индексируется ваш сайт. Надо очень четко понимать, что не все содержимое сайта (файлы и директории), созданного на каком-либо движке (Joomla, SMF или WordPress), должно быть доступно для индексирования. Если не прописать определенные правила поведения для ботов поисковых систем, то в индекс поисковиков попадет множество страниц, не имеющих отношения к содержимому сайта, а также может произойти многократное дублирование информации (по разным ссылкам будет доступен один и тот же материал сайта), что поисковики не любят.
Для чего нужен файл robots.txt, как его можно посмотреть для любого сайта, блога, форума
Для того, чтобы задать правила поведения для поисковых ботов используется файл robots.txt. С его помощью мы сможем влиять на процесс индексации сайта. Robot.txt представляет из себя обычный текстовый файл, который вы сможете создать, и в дальнейшем редактировать, в любом текстовом редакторе (например, Notepad++). Поисковый робот будет искать этот файл в корневом каталоге вашего сайта и если не найдет, то будет индексировать все до чего сможет дотянуться.
Поэтому после написания требуемого файла robots.txt (все буквы в названии должны быть в нижнем регистре - без заглавных) его нужно сохранить в корневую папку сайта, так чтобы он был доступен по такому адресу: http://vash_site.ru/robots.txt (например, мой файл robots.txt доступен по адресу http://ktonanovenkogo.ru/robots.txt).
Кстати, если вы хотите узнать как выглядит файл robots.txt того или иного сайта, то достаточно будет дописать к адресу главной страницы этого сайта /robots.txt. Это может быть полезно для определения наилучшего варианта для вашего файла robots.txt, но при этом надо учитывать, что для разных сайтовых движков оптимальный файл robots.txt будет выглядеть по разному. Поэтому если вы хотите определиться с лучшим вариантом файла robots.txt, допустим для форума на SMF, то и изучать файлы robots.txt нужно для форумов, построенных на этом движке.
Составные части (директивы) и правила написания файла robots.txt
Файл robots.txt имеет совсем не сложный синтаксис, который очень подробно описан, например, в . Обычно, в файле robots.txt указывается для какого поискового робота предназначены описанные ниже директивы (директива 'User-agent'), сами разрешающие ('Allow') и запрещающие директивы ('Disallow'), а также еще активно используется директива 'Sitemap' для указания поисковикам, где именно находится файл карты сайта.
Еще полезно указать в файле robots.txt какое из зеркал вашего сайта является главным в директиве 'Host'. Если даже у вашего сайта нет зеркал, то полезно будет указать в этой директиве, какой из вариантов написания вашего сайта является главным с www или без него. Т.к. это тоже является своего рода зеркалированием. Об этом я подробно рассказывал в этой статье: Домены с www и без www — история появления, использование 301 редиректа для их склеивания.
Теперь поговорим немного о правилах написания файла robots.txt. Директивы в файле robots.txt имеют следующий вид:
<поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел>
Правильный файл robots.txt должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл robots.txt предполагает разрешение на индексирование всего сайта.
Указание названия поискового робота в директиве User-agent
Директива «User-agent» должна содержать название поискового робота. При помощи этой директивы можно указать каждому конкретному поисковому роботу, какие страницы сайта индексировать, а какие нет. Пример написания директивы «User-agent», адресованной всем поисковым ботам зашедшим на ваш сайт, выглядит так:
User-agent: *
Если вы хотите в директиве «User-agent» задать условия индексирования только для какого то одного поискового робота, например, Rambler, то нужно написать так:
User-agent: StackRambler
Робот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler), как в приведенном выше примере. Здесь я приведу список наиболее часто встречаемых поисковых роботов, самых известных поисковиков:
Google http://www.google.com Googlebot Yahoo! http://www.yahoo.com Slurp (или Yahoo! Slurp) AOL http://www.aol.com Slurp MSN http://www.msn.com MSNBot Live http://www.live.com MSNBot Ask http://www.ask.com Teoma AltaVista http://www.altavista.com Scooter Alexa http://www.alexa.com ia_archiver Lycos http://www.lycos.com Lycos Яндекс http://www.ya.ru Yandex Рамблер http://www.rambler.ru StackRambler Мэйл.ру http://mail.ru Mail.Ru Aport http://www.aport.ru Aport Вебальта http://www.webalta.ru WebAlta (WebAlta Crawler/2.0)
У крупных поисковых систем иногда кроме основных поисковых ботов имеются также отдельные боты для индексации блогов, новостей, изображений и т.д. Много информации по разновидностям поисковых роботов вы можете почерпнуть на .
Примеры использования директив (User-agent, Disallow, Host, Sitemap) в файле robots.txt
Приведу несколько простых примеров файла robots.txt с объяснением его действий.
-
1. Приведенный ниже код для файла
robots.txt разрешает всем поисковым ботам индексировать весь сайт. Это задается пустой директивой Disallow.
User-agent: * Disallow:
2. Следующий код, напротив, запрещает всем поисковикам индексировать сайт. Устанавливает это директива Disallow с "/" в поле значения.
User-agent: * Disallow: /
3. Такой файл robots.txt будет запрещать всем поисковикам индексировать содержимое каталога /image/ (http://mysite.ru/image/ - путь к этому каталогу)
User-agent: * Disallow: /image/
4. В приведенном ниже примере, для индексирования будут запрещены директория «image», а так же все файлы и директории, начинающиеся с символами «image», т. е. файлы: «image.htm», «images.htm», директории: «image», «images1», «image34» и т. д.):
User-agent: * Disallow: /image
5. При описании путей для директив Allow-Disallow можно использовать символы '*' и '$', задавая, таким образом, определенные логические выражения. Символ '*' означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение ".aspx":
User-agent: * Disallow: *.aspx
Во избежания возникновения неприятных проблем с зеркалами сайта (Домены с www и без www — история появления, использование 301 редиректа для их склеивания) , рекомендуется добавлять в файл robots.txt директиву Host, которая указывает роботу Яндекса на главное зеркало вашего сайта (Директива Host, позволяющая задать главное зеркало сайта для Яндекса). По правилам написания robots.txt в записи для User-agent должна быть хотя бы одна директива Disallow (обычно ставят пустую, ничего не запрещающую):
User-agent: Yandex Disallow: Host: www.site.ru
либо
User-agent: Yandex Disallow: Host: site.ru
в зависимости от того что для вас оптимальнее.
Директива Sitemap указывает на местоположение карты сайта в формате .xml. В качестве параметра указывается путь к файлу, включая http://. Например:
Sitemap: http://site.ru/sitemap.xml
Назначение и синтаксис мета-тега Robots
Существует альтернативный способ сообщить роботам поисковиков о том, можно ли индексировать данную конкретную страницу или нет. Для этого внутри тега "HEAD" нужной страницы, прописывается МЕТА-тег “Robots” и так повторяется для всех страниц, к которым нужно применить то или иное правило индексации. Пример применения мета-тега:
<html> <head> <meta name="robots" content="noindex,nofollow"> <meta name="description" content="Эта страница ...."> <title>...</title> </head> <body> ...
В этом случае роботы всех поисковых систем должны будут забыть об индексации этой страницы (об это говорит noindex в мета-теге) и анализе размещенных на ней ссылок (об этом говорит nofollow) .
Существуют только две пары директив: [no]index и [no]follow. Index указывают, может ли робот индексировать страницу. Follow - может ли он следовать по ссылкам со страницы. Значения по умолчанию – "index" и "follow". Есть также укороченный вариант написания с использованием "all" и "none", которые обозначают активность всех директив или, соответственно, наоборот: all=index,follow и none=noindex,nofollow.
Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack - Боремся с дублированием контента в блоге на WordPress, запрещая индексацию архивов тегов, категорий или временных архивов в плагине All in One SEO Pack
Ну все, с теорией покончено и пора переходить к практике, а именно, к составлению оптимальных файлов robots.txt для Joomla, SMF и WordPress. Но об этом уже во второй части статьи.
Вы так же можете ознакомиться с другими статьями на тему продвижения сайта:
- Продвижение сайта в поисковых системах (SEO)
- Панели вебмастеров Яндекса, Google, Yahoo, Bing
- Счетчики посещаемости LiveInternet, Mail.ru, Google Analytics, HotLog, SpyLog, Rambler, Я.Метрика
- Twitter и FriendFeed
- E-mail рассылки Subscribe, Content.Mail и MailList
- Постинг в сервисы социальных закладок для продвижения своего сайта, привлечения дополнительных посетителей и ускорения индексации сайта поисковиками
- Показатели продвижения вашего сайта — Google PageRank (PR), тематический индекс цитирования Яндекса (ТИЦ) и Alexa Rank
- Все про RSS (фид, feed)
- Улучшаем индексацию сайта поисковиками с помощью настройки файла robots.txt и мета-тега Robots
- GoGetLinks — самая выгодная биржа рекламных обзоров
- Получение множества бесплатных обратных ссылок (бэклинков) с трастовых сайтов
На сегодня все. Если вы не хотите пропустить появление новых материалов на этом сайте, то можете подписаться на рассылку новостной ленты через форму, расположенную чуть ниже, или же выбрать удобный для вас способ подписки на странице Подписка. Если у вас остались нерешенные вопросы из области вебмастеринга, то вы можете поискать на них ответы, посетив страницу Вопросы и ответы.
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru















Познавательно! Спасибо!
Скажите а если на одном сайте стоит joomla и wordpress и оба генерируют карту сайта ак в атком случае поступить? Прописать доступ к 4 картам?
Роман, да. У меня на одном сайте установлена Joomla, а в папке форум на Smf. В роботе прописаны пути к обоим картам сайта.
Спасибо. Премного благодарен за советы.
Спасибо, помню из за неправильного файла Robots.txt столько проблем было на сайте
отличный туториал, все расжевано и разложено по полочкам.
думаю лишним не будет добавить в статью типовой robots.txt для указанных CMS
maloy75, как раз об этом и хотел рассказать во второй части статьи
Браво! полную инфу для себя нашел, а то на других ресурсах только половину этого… Админ спасибо!
Дмитрий в вашем robots.txt прописаны правила на запрет к папкам /cgi-bin, /wp-admin и т.д. для всех роботов: User-agent: *http://webmaster.yandex.ru/wmconsole/public_robots_txt.xml
Но в секции для робота Yandex ограничений нет: Disallow:
И доступ для индексации роботом Yandex к тем же папкам /cgi-bin, /wp-admi… открыт. Это можно проверить здесь
Вопрос – это ошибка или я чего то не понял? =)
Max, спасибо большое за очередное и очень(!) *THUMBS UP* ценное замечание. Действительно, проворонил. Поправил, в теперяшнем варианте для яндекса повторяются все те же правила, что и для всех. Может есть вариант поэлегантнее, как думаете?
Пока сам в поиске, как только найду сообщу. Мне кажется Ваш нынешний вариант вполне не плох, у меня такой же *THUMBS UP*
Так как директива Host поддерживается и другими роботами кроме Яндекса (например Google), то как сказано на Яндекс вебмастер: в целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву ‘Host’ необходимо добавлять в группе, начинающейся с записи ‘User-Agent’, непосредственно после директив ‘Disallow’(‘Allow’)
—————————-
То есть не обязательно составлять отдельное правило для Yndex. И Host можно приписать к User-agent: *
Какие соображения на этот счет?
Max, извините за задержку с ответом. Я не знаю точно как обстоят дела именно сейчас. Я встречал достаточно часто утверждение, что для яндекса нужно писать свою директиву, чтобы не вводить в заблуждение роботов других поисковиков. Так ли это актуально на данный момент не знаю. Красивей, конечно же было бы обойтись одной директивой, но будет ли это гуд, вот в чем вопрос.
Ну тогда лучше подстраховаться и создать две секции User-agent: Yandex и User-agent: * как это сделано на robotstxt.org.ru
Думая, что да. Тем более, что на таком ресурсе априори не должны ошибаться.
Появился вот такой вопрос. Полазил по местным сайтам, но так и не нашёл у них robot.txt
Как же их тогда индексирует гуугл?
Да к тому же у них ещё картники индексируются, а я пытался сделать на своём, но не получилось.
И ещё: Disallow: /images/
Allow: /images/morfeoshow/
если так написано, это правильно?
Boriss, если нет файла robot.txt, то значит никаких ограничений на действия поисковых ботов не накладывается и сайт будет весь индексироваться. В начале этой статьи я попытался объяснить почему это не очень хорошо – Улучшаем индексацию сайта поисковиками — Robots.txt для Joomla, SMF, WordPress — Часть 2
По поводу второго вашего вопроса. Вы можете написать эти правила в вашем robot.txt, а затем зайти в панель вебмастеров яндекса или гугла и проверить разрешена ли индексация картинок в данной папке. При необходимости вносите изменения в файл и опять проверяете в панели вебмастеров. Про панели вебмастеров можно почитать здесь:Работа с панелями вебмастеров Яндекса, Google, Yahoo, Bing (sitemap, robot.txt, индекс, запросы) – Часть 1 и здесь: Работа с панелями вебмастеров Яндекса, Google, Yahoo, Bing (sitemap, robot.txt, индекс, запросы) — Часть 2
Вопрос по индексации: если я запрещаю индексацию блога (гденибуть на ЖЖ) или rss фида, то это значит:
1. бот не заходит на такие страницы в принципе
2. бот заходит на страницу и не учитывая текст на странице, проходит далее по ссылкам на этой странице?
С уважением
Nikita: выскажу свое понимание этого вопроса, но возможно, что оно окажется несколько не верно (уж не обессудьте, я не профи).
Если вы запрещаете индексацию чего-то через robot.txt, то бот не будет тратить на просмотр запретного содержимого свое время. Нельзя, так нельзя. Но, если индексация запрещается через мета-тег Robots, то в этом случае возможны варианты. Все зависит от атрибутов noindex,nofollow. Вы можете почитать об это в конце этой статьи.
Помогите! Сделала robots.txt для сайта, запихнула в Анализатор Яндекса, получали там вот такую красоту: О?©User-agent: Yandex
То есть Яндекс первую строку моего robots.txt так видит… И естественно считает, что файл кривой и прочесть его дальше не может.. Хотя никаких закорючек там в начале нет, клянусь! Что делать?
Спасибо! Ната
Ната: возможно, что проблема в том редакторе, где вы создавали файл robots.txt. Попробуйте скопировать содержимое файла через буфер обмена в Notepad++ и сохранить как robots.txt, может быть поможет.
Дмитрий:http://www.мойсайт.ru/robots.txt именно так..
Дмитрий, отчасти вы возможно правы – я создавала файл в обычном блокноте. Потом мне посоветовали notepad++ и я скопировала текст туда. Не помогло. Создала в notepad++ файл с нуля. То же самое. Кодировка у меня utf-8. Могут быть еще какие-то секреты..? Заранее благодарна! Н.
П.С. На всякий случай, вот содержание всего файла:
User-agent: Yandex
Allow: /
Sitemap: (тут идет полный путь к файлу sitemaps)
Оно открывается по ссылке
Ната: к сожалению, у меня больше нет вариантов, что может быть причиной данного казуса. =-O
Дмитрий: это ужасно… ((( но спасибо Вам за попытку….
тоже не плохой файл по содержанию.
Пожалуйста, скажите, а где все эти штуки в ЖЖ? По какой ссылке следует перейти, чтобы их там найти?
Столько проблем, ничего не понимаю:
1. Как для дневника в жж составить карту сайта и робот тхт?
2. Куда именно в голову и где она в платном аккаунте стандарт классик вставлять метатеги с описанием и ключевыми словами?
3. Анализ сайта выявил какие-то ошибки и не знаю, как их исправить и ужасно расстраиваюсь…
Спасибо, если хоть что-то ответите, а то все только смеются. Между прочим, я ни над кем не смеюсь, когда задают вопросы по философии, а отвечаю, как могу…
Ольга: с ЖЖ слабо знаком. Затрудняюсь ответить. Извините.
Ната говорит, что:
Скорее всего дело в кодировке сайта, попробуй в настройках изменить кодировку сайта при сохранение документа! Должно помочь!
Валерий:
ГДЕ эта кодировка сайта, в каком месте жж ? И КАК ее изменять? Спасибо, но я не придуриваюсь, я не знаю.
Вот написала пост в жж – тоже никто не знает –http://olhanninen.livejournal.com/98509.html
Даже как закладки в Гкгле и то не объясняют, не то что про карту сайта и робот тхт…
Спасибо! Я на твоем сайте нахожу такое огромное количество полезной инфы, практичной. Для моей joomla/
Спасибо!
Николай: пожалуйста.
настроила по Вашим рекомендацияммой сайт буду ждать развития
Я только начинающий в этом деле и по этому открыл сайт в готовом шаблоне на одном сайте(ступил, ну ладно). Я делаю анализ индексации, он мне выдает вот такое:
User-Agent: *
Disallow: /forum/memberlist.php
Disallow: /forum/search.php
Disallow: /forum/profile.php
Disallow: /index.php
Host:здесь название моего сайта
то что написано после “Disallow: /” во всех 4 случаев к моему сайту не относится…это как?
второй вопрос: как в моем случае изменить robot.txt?т.к. индексация не проходит!!!
Спс хорошая статья!
Не заходят роботы на мой сайт в корневой дериктории robots.txt выдаёт
User-agent: *
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat
Disallow: /search
Я этот документ не создавал, получается что ко всему закрыт доступ, если напишу так:
User-agent: *
Disallow:
будет правильно?
Andre и Lektor: в этой статье описаны наиболее удачные варианты файла robots.txt для Joomla, WordPress и SMF – Улучшаем индексацию сайта поисковиками — Robots.txt для Joomla, SMF, WordPress — Часть 2
Ked: пожалуйста.
Классная статья. Все просто и понятно! Много полезной инфы на Вашем ресурсе. Нашел много касиков и исправил благодаря вашему сайту. СПАСИБО!!!
Есть бесплатный плагин для ускорения индексации сайта?
Подчеркнул некоторые вещи, но интересует роботс для джумлы
Александр: пожалуйста.
belpremier: смотря для какого сайта. Для Joomla есть плагин пингатора, в WordPress пинг отправляется автоматически, после добавления новой статьи. Подробнее об этом читайте здесь – Как настроить отправку пинга об обновлении вашего сайта в WordPress и Joomla. Сайты пингаторов.
Антон: во второй части этой статьи подробно описан оптимальный robots.txt для Joomla – Оптимальный файл robots.txt для сайта на Joomla
Добрый день!
а скажите надо ли все директивы повторять в для каждого user-agent?
как правильнее:
или так:
А как в robots.txt скрыть от индексации внешние ссылки?
THEKILLERS: если вообще все внешние ссылки, то наверное никак. А если с конкретных страниц, то просто запретите индексирование этих страниц через robots.txt и внешние ссылки тоже не будут учитываться. А вообще, для закрытия внешних ссылок используется атрибут REL=”NOFOLLOW”, который вставляется в тег ссылки А. Чтобы не делать это вручную, можно найти соответствующий плагин или расширение.
Имею проблемы с индексированием нескольких своих сайтов, домены дроп, попробую поработать по предлагаемой схеме, посмотрим что получится
Здравствуйте, а что значит в robots.txt Disallow: /*?add ?
Народ, подскажите: вчера изменил роботс, убрал строку Disallow: /images/. В панели Я всё нормально, это папка разрешена. А вот в панели Гугла в “Доступ для сканера” по прежнему в файле стоит запрет на эту папку и при проверке выдаёт :
Заблокировано по строке 5: Disallow: /images/
Распознается в качестве каталога; у некоторых файлов могут быть другие ограничения”.
Что это может быть? В какой-то теме прочитал, что эта информация может обновляться до 3-х дней. Так?
THEKILLERS говорит, что:
тебе сюда:Использование noindex и nofollow
Вопросик по пингам!
Есть ли плагин или хак – счетчик пингов для WP? Если есть – пожалуйста скиньте ссылочку на unistroj(at)gmail (точка)com
Буду всем и каждому в отдельности признателен!
Спасибо.