Совет№3 Внутренняя оптимизация: создание robots.txt

robots txt

Этой статьей я хочу обратить Ваше внимание на внутреннюю оптимизацию сайта. Да, да. В погоне за PR и ТиЦ многие разработчики забывает об этом важном пункте в продвижении своего сайта. Плюсом внутренней оптимизации является ее «одноразовость» некоторых пунктов. Настроив, вначале своего пути по просторам интернета, можно будет о них забыть ;) И так, начнем с казалось бы не заметного txt файла в основной директории wordpress’a – robots.txt (да, да обязательно с маленькой буквы!)
После написания где-то половины текста по каналу Вести 24 передали сообщение, о том, что в Яндаксе в открытом доступе можно узнать конфиденциальную информацию о пользователях ряда интернет-магазинов. Пользователи могли, например, узнать адрес проживания пользователя. В Яндекс ответили, что мол случился сбой, а сайтам рекомендуется пересмотреть свой robots.txt файл, т.к. при правильной настройки подобного случая не произошло бы :)

Наверное, я не открою Америку сказав, что для индексации Вашего сайта очень важен файл robots.txt В двух словах для чего этот файл: управление индексацией Вашего сайта. Так теперь языком эльфов)) Файл robots.txt специально создан для поисковых ботов, которые индексируют сайты. В файл записаны правила сканирования Вашего блога/сайта, т.е. robots.txt  «говорит» ботам, где можно индексировать сайт. Например, зачем googlebot’у знать информацию административного отдела? Или формы входа? В первую очередь бот ищет данный txt файл, и прочитав его действует в рамках Ваших условий, а точнее запретов.

Для запрета индексации в Яндексе и Гугле одной единственной страницы, удобно использовать мета-тег Robots. Файл robots.txt предназначен для настройки глобальной индексации.

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

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

Совет: если Ваш сайт на WordPress или другой CMS, то в принципе сильных различий в robots.txt у сайтов нет. Вы можете оценить файлы своих конкурентов и релевантных по теме Вашему сайту/блогу, добавив к домену /robots.txt Например, мой robots файл можно посмотреть по ссылке – gtalk.kz/robots.txt Но будьте придельно внимательны!

Правила составления robots.txt

Если Вы когда-нибудь открывали файл, то наверное догадываетесь как его составить.

Общая схема следующая:

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

Или

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

Или

User-agent: *
Disallow: /

Теперь подробнее. В первую очередь необходимо выбрать, кому предназначено правило. Выполнение данной функции осуществляется директивой User-agent. После данного поля идет название бота, либо «*» – следующие правила для всех ботов. Неполный список поисковиков и названия их ботов:

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

Яндекс      http://www.ya.ru                 Yandex

Рамблер   http://www.rambler.ru     StackRambler

Мэйл.ру    http://mail.ru                       Mail.Ru

Aport           http://www.aport.ru         Aport

 

Disallow – запрет индексирования файла, директории и т.д. Противоположной инструкцией disallow является allow (понимают не все боты!) – googlebot понимает, Yandex – нет.

Думаю, по примеру все встанет на свои места:

  • Запретить  всем ботам индексировать сайт. Полное закрытие сайта от поисковиков.
      • User-agent: *
        Disallow: /
  • Индексировать весь сайт. Противоположность пункту 1
      • User-agent: *
        Disallow:
  • Индексировать сайт может только googlebot, запрещаем Яндексу
      • User-agent: googlebot
        Disallow:User-agent: Yandex
        Disallow: /

Между правилами для разных ботов оставляйте пустую строку!

  • Закрыть директории от всех ботов: wp-includes, wp-admin и файл wp-login.php в основной директории сайта.
      • User-agent: *
        Disallow: /wp-includes/
        Disallow: /wp-admin/
        Disallow: / wp-login.php
  • Запрет индексации директории «trackback», а так же все файлы и директории, начинающиеся с символами «trackback»
      • User-agent: *
        Disallow: /trackback
  • Запрет индексации файлов начинающихся с символов feed и имеют разный путь к файлу и/или директории:
      • User-agent: *
        Disallow: */ feed

Символ «*» означает любую (в том числе пустую) последовательность символов.

Директива Host поддерживается только Яндексом и сообщает роботу о том, какое из двух зеркал сайта главное – с www или без. Используется для склеивания доменов. Формат записи:

Обычно пишут, что Так неправильно:

User-agent: *
Disallow: /css/
Host: www.example.com

А вот так – правильно: (добавлять в правилах для Яндекса)

User-agent: *
Disallow: /css/

User-agent: Yandex
Disallow: /css/
Host: www.example.com

Я бы так не сказал, yandex все же находит параметр Host. Но лучше не экспериментировать на работающем сайте))

Адрес сайта для директивы Host указывается БЕЗ http://.

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

User-agent: *
Disallow:

User-agent: Yandex
Disallow: /

Sitemap: http://gtalk.kz/sitemap.xml

Также советую:

    1. Не писать комментарии в файле robots.txt:
      1. Disallow: /wp-content/ #а здесь комментарий, к чему?
    2. Соблюдайте стиль! Не пишите лишнего! Используйте вместо USER-AGENT: GOOGLEBOT такой вариант: User-agent: googlebot
    3. По стандарту инструкция Disallow является обязательной.
    4. Не добавляйте правило, если не уверены в нем!
    5. Форму записи Disallow: gtalk  – Yandex не понимает.
    6. Следите за символами!
      1. Удаление из индекса файл с именем gtalk и соответствующей директории
        User-agent: *
        Disallow:  /gtalk
      1. Удаление из индекса директории gtalk
        User-agent: *
        Disallow:  /gtalk/

Ну и теперь Вам не составит труда разобраться в приведенных примерах ниже.

Теперь рассмотрим несколько реальных robots.txt

Обзор моего robots.txt файла.

Думаю понятно, что необходимо закрыть индексацию от мусора, поисковикам это не к чему. Например, админка, динамические страницы(/*?*), трекбеки и т.д. Естественно, добавил Host после правил для Яндекс бота, это необязательно, но я за красоту и чистоту кода:) и ссылка Sitemap для лучшей индексации сайта ;) Также я добавил Allow для моих картинок. Думаю индексировать картинки все же стоит.

User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /trackback
Disallow: */trackback
Disallow: */feed
Disallow: /*?*
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Allow: /wp-content/uploads/

User-agent: Yandex
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /trackback
Disallow: */trackback
Disallow: */feed
Disallow: /*?*
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Allow: /wp-content/uploads/
Host: gtalk.kz

Sitemap: http://gtalk.kz/sitemap.xml

Файл robots.txt для joomla

Думаю, прочитав все вышеописанное, Вы сможете разобраться здесь, считайте это домашним заданием;)

Стандартный файл joomla

В принципе очень неплохо продумали разработчики, учитывая, что в WordPresse robots.txt вообще отсутствует))

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

Но все же я не удержался и внес изменения.

Мой вариант для joomla:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: gtalk.kz

Sitemap: http://gtalk.kz/тут_зависит_от_компонента.xml

По возможности добавьте еще один sitemap. Советую использовать компонет Xmap – наверное, одно из самых популярных.

 Обратите свое внимание!

Полезная информация: http://robotstxt.org.ru/

http://robotstxt.org.ru/robotstxterrors – часто встречающиеся ошибки!

Обзор robot.txt файлов блоггеров.

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

Блог Вайлдомэна – wildo.ru
User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /?feed=
Allow: /wp-content/uploads/

Не мне ему советовать, но я бы пересмотрел политику файла robots.txt, или это сделано специально))
Чувак просто забил на Яшу, либо сделал это по другому, кто знает. Один из не многих, кто пользуется Allow, и открыл доступ к картинкам своего блога.

Следующий файл меня особо порабовал:

Блог Терехова.

User-agent: * Disallow: Sitemap: http://www.terehoff.com/sitemap.xml.gz

Да, да, друзья, в одну строку. В принципе, ставить весь сайт на индексацию вряд ли разумно, не советую делать Вам так, и согласитесь так выглядит куда приятней:

User-agent: *
Disallow:

Sitemap: http://www.terehoff.com/sitemap.xml.gz
Sitemap: http://www.terehoff.com/sitemap.xml

Следующий пример блога Димокса – dimox.name
Что отсюда нужно вынести для себя? Например, строчка 7: Disallow: /download-manager.php – запрет на сканирования файла download-manager.php, отвечает этот файл за скачивания с блога Димокса. Что значит Disallow: /jexr/ честно не в курсе. Но похоже там какие-то важные, либо личные файлы:)

User-agent: *
Disallow: /wp-includes/
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /download-manager.php
Disallow: /*comment-page-*
Disallow: /*&cp=*
Disallow: /jexr/

User-Agent: Yandex
Disallow: /wp-includes/
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /download-manager.php
Disallow: /*comment-page-*
Disallow: /*&cp=*
Disallow: /jexr/
Host: dimox.name

Sitemap: http://dimox.name/sitemap.xml

Ну и в конце для закрепления, что такое хорошо и что такое плохо в примерах :)

Неправильно Правильно 
ROBOTS.TXTRobots.txtrobot.txt robots.txt
http://gtalk.kz/wp-include/robots.txt

http://ftp.gtalk.kz/robots.txt

http://gtalk.kz/Robots.txt

http://gtalk.kz/robots.txt

http://www.gtalk.kz/robots.txt

http://gtalk.kz:80/robots.txt

User-agent: /
Disallow: Yandex
User-agent: Yandex
Disallow: /
User-agent: /
Disallow: Yandex, *
User-agent: *
Disallow: /User-agent: Yandex
Disallow: /
Disallow: /js/ /css/ /images/ Disallow: /js/
Disallow: /css/
Disallow: /images/
Host: http://www.gtalk.kz/ Host: www.gtalk.kz
(только для Yandex’a)

Комментарии к статье

  • #

    Спасибо! на счет картинок я вот тоже думаю, что их стоит открыть для робота

    • #

      не за что, но будьте внимательны! Ваши картинки могут позаимствовать, так что решать Вам;)

  • #

    Думаю что поисковикам НЕОБХОДИМО открывать доступ с дирикториями с картинками, т.к. и яндекс и Гугл могут вести поиск только по картинкам, а это еще один источника трафика…

    • #

      именно это я и сделал))
      Disallow: /installation/ думаю это необязательно, и sitemap отделить строчкой пустой стоит

  • #

    Пример моего робот.тхт

    User-agent: *
    Disallow: /administrator/
    Disallow: /components/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Disallow: /xmlrpc/
    Host: redbat.ru
    Sitemap: http://redbat.ru/index.php?option=com_xmap&sitemap=1&view=xml

  • #

    Disallow: /*?* Это мне не понятно. Какие динамические страницы? Я думал, что это всё индексировать запрещает, по крайней мере так должно быть, но у блоггеров такое есть и я поставил, только не понимаю как оно действует.

    • #

      Пример, на WordPresse:
      /post.php?post=00000&action=edit
      Зайдите на вкладку Все записи и посмотрите ссылку, в которой Вы редактируете свою статью. Это один из примеров динамической веб-страницы.Теперь как?

      • #

        Динамическую страницу понял =) Но откуда она может попасть роботу “в глаза” не очень. И в масках ‘?’ обычно означает один любой символ, здесь должен обозначать сам себя, ибо иначе любая страница будет подпадать под маску. Правильно понимаю?

        • #

          Если бот имеет доступ к всему сайту, то и любая страница соответственно может попасть “в глаза”, динамических страниц ведь много. Знак ? обозначает знак вопроса=), это не есть спец символ в robots.txt. Я про него вообще не писал. Звездочки вокруг него обозначают любую последовательность символов, (это спец символ): например edit-comments.php?comment_status=alll