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

24 сентября, 2007

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

В первую очередь, напомню, что указания для поисковых роботов можно задать двумя способами: в файле robots.txt и с помощью тега <meta name="robots" … />. Основное отличие этих методов в том, что в robots.txt задаются правила для всего сайта, а действие тега <meta name="robots" … /> распространяется только на ту страницу, где он находится.

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

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

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

Сделать это можно с помощью тега <meta name="robots" … />.
Страница, которую нужно проиндексировать и перейти по всем ссылкам на ней, должна содержать тег <meta name="robots" content="index,follow" />.
А страница, которую нельзя индексировать – <meta name="robots" content="noindex,follow" />.

Для того, чтобы вставить эти теги в WordPress добавим в файле header.php (он находится в папке с вашей темой /wp-content/themes/название_темы/) между тегами <head> и </head> следующий код:

<?php if(is_single() || is_page()) { ?>
<meta name="robots" content="index,follow" />
<?php } else { ?>
<meta name="robots" content="noindex,follow" />
<?php }?>

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

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

После этого заходим в меню Панель инструментов -> Инструменты -> Анализ Robots.txt. И в окне «Проверка URL по этому файлу robots.txt» вводим адреса страниц, которые хотим проверить (каждый с новой строки). Жмем кнопку «Проверить» и изучаем результат.

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

Проверить установку тегов <meta name="robots" … /> проще. Зайдите на интересующую вас страницу и просмотрите ее код (в IE – “Вид->Просмотр html кода”, в Firefox – “Вид->Исходный код страницы”, в Opera – “Вид->Исходный код”).

Напоминаю,
content="index,follow" означает, что робот может индексировать страницу и переходить по ссылкам на ней;
content="noindex,follow" – нельзя индексировать страницу, но можно переходить по ссылкам на ней;
content="index,nofollow" – можно индексировать, но нельзя переходить по ссылкам
content="noindex,nofollow" – нельзя индексировать и нельзя переходить по ссылкам.

Постовой

Легковые автомобили – Авто в Одесса

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в HTML, SEO Комментарии (77) »

]]>

Вы можете оставить комментарий. Трекбеки закрыты.

  • http://h1.tj/ Stromgard

    Спасибо, пригодилось!

  • http://h1.tj Stromgard

    Спасибо, пригодилось!

  • http://aleksey.nemiro.ru/ Алексей

    Не так давно у Яндекса появилась альтернатива Google Webmaster Tools, кончено возможностей пока маловато, но конкретно с robots.txt поработать можно: http://webmaster.yandex.ru/

  • http://aleksey.nemiro.ru Алексей

    Не так давно у Яндекса появилась альтернатива Google Webmaster Tools, кончено возможностей пока маловато, но конкретно с robots.txt поработать можно: http://webmaster.yandex.ru/

  • http://www.simplecoding.org/ Владимир

    Алексей, что-то я не нашел в http://webmaster.yandex.ru/ проверку robots.txt. Информация есть только в справке, но там общие сведения о составлении этого файла.
    Если не сложно, дайте прямую ссылку.

  • http://www.simplecoding.org/ Владимир

    Алексей, что-то я не нашел в http://webmaster.yandex.ru/ проверку robots.txt. Информация есть только в справке, но там общие сведения о составлении этого файла.
    Если не сложно, дайте прямую ссылку.

  • http://aleksey.nemiro.ru/ Алексей

    Надо зарегистрироваться, добавить сайт и подтвердить его авторство, как в Google Webmaster Tools. Линк: http://webmaster.yandex.ru/wmconsole/analyze_robots_txt.xml?host=идишник_сайта

    Там, по-моему, все также как в гугле.

  • http://aleksey.nemiro.ru Алексей

    Надо зарегистрироваться, добавить сайт и подтвердить его авторство, как в Google Webmaster Tools. Линк: http://webmaster.yandex.ru/wmconsole/analyze_robots_txt.xml?host=идишник_сайта

    Там, по-моему, все также как в гугле.

  • http://www.simplecoding.org/ Владимир

    Спасибо!
    Пошел регистрироваться :-)

  • http://www.simplecoding.org/ Владимир

    Спасибо!
    Пошел регистрироваться :-)

  • http://felomena.com/ юля сонник

    Ya zakinula robots.txt v koren saita. Eto dostatochno dla togo chtobi poiskovik ego "chital"?

  • http://felomena.com юля сонник

    Ya zakinula robots.txt v koren saita. Eto dostatochno dla togo chtobi poiskovik ego "chital"?

  • http://www.coraltron.com/ Евгений

    Хорошая статья, полезная …

  • http://www.coraltron.com Евгений

    Хорошая статья, полезная …

  • http://www.ladymaksima.com/ Lady M

    Большое спасибо за статью, очень помогла!

  • http://www.ladymaksima.com/ Lady M

    Большое спасибо за статью, очень помогла!

  • http://akaminsky.com/ A. Kaminsky

    Благодарен за статью! Прояснил для себя некоторые моменты по "noindex" и "nofollow". Теперь нужно будет подробнее изучить другие стать этого блога.


    По "robots.txt" есть хороший сайт: robotstxt.org.ru.

  • http://akaminsky.com/ A. Kaminsky

    Благодарен за статью! Прояснил для себя некоторые моменты по "noindex" и "nofollow". Теперь нужно будет подробнее изучить другие стать этого блога.


    По "robots.txt" есть хороший сайт: robotstxt.org.ru.

  • http://mygame.org.ru/ Павел

    Google показывает что все разрешено(домашнюю, категории, посты вообщем …), несмотря на то что поставил код в header.php:

    Мистика какая то

    • http://www.simplecoding.org/ Владимир

      А робот google последний раз заходил на сайт после того, как вы добавили код?

  • http://mygame.org.ru Павел

    Google показывает что все разрешено(домашнюю, категории, посты вообщем …), несмотря на то что поставил код в header.php:

    Мистика какая то

    • http://www.simplecoding.org/ Владимир

      А робот google последний раз заходил на сайт после того, как вы добавили код?

  • http://seoutils.net/archives/104 РоботЯга

    Спасибо за статью, а не подскажите где найти список всех известных ботов поисковиков?

  • http://seoutils.net/archives/104 РоботЯга

    Спасибо за статью, а не подскажите где найти список всех известных ботов поисковиков?

  • http://fanlib.ws/sci-business/ Фанлиб

    Есть ли ервисы проверки robots.txt помимо панели вебмастера Яндекс и Гугл?

    • http://www.simplecoding.org/ Владимир

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

  • http://fanlib.ws/sci-business/ Фанлиб

    Есть ли ервисы проверки robots.txt помимо панели вебмастера Яндекс и Гугл?

    • http://www.simplecoding.org/ Владимир

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

  • http://bilanbs.com/ Богдан

    Я как раз создаю роботс для своего сайта и в поиск привел меня на Ваш блог. Я воспользовался Вашими советами и рекомендациями. Разрешите поблагодарить Вас за то, что Вы щедро делитесь своими знаниями.

    • http://www.simplecoding.org/ Владимир

      Всегда пожалуйста! Будут вопросы – обращайтесь ;)

  • http://bilanbs.com/ Богдан

    Я как раз создаю роботс для своего сайта и в поиск привел меня на Ваш блог. Я воспользовался Вашими советами и рекомендациями. Разрешите поблагодарить Вас за то, что Вы щедро делитесь своими знаниями.

    • http://www.simplecoding.org/ Владимир

      Всегда пожалуйста! Будут вопросы – обращайтесь ;)

  • http://www.1mag.ru/ Иван

    Как прописать в файле запрет на индексацию поиска по сайту? Желательно конкретным примером(строкой). Спасибо

    • http://www.simplecoding.org/ Владимир

      Это зависит от URL страницы, на которой выводятся результаты поиска. Если используются ЧПУ: site.com/search/…
      то правило будет таким
      User-Agent: *
      Disallow: /search/

      Если URL имеет вид: site.com?search=…
      ситуация немного сложнее.
      Я читал, что должно работать правило
      Disallow: /*search
      или может так
      Disallow: /*&search
      Но в стандарте я об этом ничего не нашел.

      В общем, пробуйте и смотрите что получится.

      Можно в заголовок страницы добавить
      meta name="robots" content="noindex,nofollow"

  • http://www.1mag.ru Иван

    Как прописать в файле запрет на индексацию поиска по сайту? Желательно конкретным примером(строкой). Спасибо

    • http://www.simplecoding.org/ Владимир

      Это зависит от URL страницы, на которой выводятся результаты поиска. Если используются ЧПУ: site.com/search/…
      то правило будет таким
      User-Agent: *
      Disallow: /search/

      Если URL имеет вид: site.com?search=…
      ситуация немного сложнее.
      Я читал, что должно работать правило
      Disallow: /*search
      или может так
      Disallow: /*&search
      Но в стандарте я об этом ничего не нашел.

      В общем, пробуйте и смотрите что получится.

      Можно в заголовок страницы добавить
      meta name="robots" content="noindex,nofollow"

  • http://www.mysorka.org.ua/ Владимир

    http://www.mysorka.org.ua/robots.txt – кто жет сказать, правильно ли составлен файл?

    • http://www.simplecoding.org/ Владимир

      Составлен вроде правильно.
      Если вы перечислили именно те папки к которым действительно хотели закрыть доступ. Например, /forum/ ?

  • http://www.mysorka.org.ua Владимир

    http://www.mysorka.org.ua/robots.txt – кто жет сказать, правильно ли составлен файл?

    • http://www.simplecoding.org/ Владимир

      Составлен вроде правильно.
      Если вы перечислили именно те папки к которым действительно хотели закрыть доступ. Например, /forum/ ?

  • http://www.mysorka.org.ua/ Владимир

    Да! Я переписал! http://www.mysorka.org.ua/robots.txt Проверьте пожалуйста чи правильно!

    • http://www.simplecoding.org/ Владимир

      Сложно однозначно ответить. Сомнения вызывают:

      Disallow: /index.php?do=forum
      Disallow: /?do=forum
      Disallow: /forum/
      Disallow: /?do=lastcomments

      Если вы уверены, что действительно хотите их закрыть, то похоже все правильно.

  • http://www.mysorka.org.ua Владимир

    Да! Я переписал! http://www.mysorka.org.ua/robots.txt Проверьте пожалуйста чи правильно!

    • http://www.simplecoding.org/ Владимир

      Сложно однозначно ответить. Сомнения вызывают:

      Disallow: /index.php?do=forum
      Disallow: /?do=forum
      Disallow: /forum/
      Disallow: /?do=lastcomments

      Если вы уверены, что действительно хотите их закрыть, то похоже все правильно.

  • http://mysorka.org.ua/ Владимир

    Благодарю.

  • http://mysorka.org.ua/ Владимир

    Благодарю.

  • http://lovelib.com.ua/ Аннушка

    Скажите, а если я для Яндекса прописала отдельные команды ?!

    Я так вычитала, что Яндексу нужно указывать директиву Host – чтобы он быстрее склеял зеркала (с www и без них) А остальным поисковикам это делать не нужно, они сами разберутся и причём быстро. Правильно ли это?

    • http://www.simplecoding.org/ Владимир

      В настройках google webmaster tools можно указать основной адрес.
      По поводу Яндекса. Я видел несколько жалоб о том, что склейка производилась, но основным оказывался не тот домен.

  • http://lovelib.com.ua Аннушка

    Скажите, а если я для Яндекса прописала отдельные команды ?!

    Я так вычитала, что Яндексу нужно указывать директиву Host – чтобы он быстрее склеял зеркала (с www и без них) А остальным поисковикам это делать не нужно, они сами разберутся и причём быстро. Правильно ли это?

    • http://www.simplecoding.org/ Владимир

      В настройках google webmaster tools можно указать основной адрес.
      По поводу Яндекса. Я видел несколько жалоб о том, что склейка производилась, но основным оказывался не тот домен.

  • Богдан

    Я закачиваю на сайт robots.txt куда нужно, потом проверяю а он остается
    User-agent: uBot
    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: /

    Что мне делать ?

    • http://www.simplecoding.org/ Владимир

      потом проверяю а он остается

      Т.е. файл остается прежним после того как вы закачиваете измененную версию?

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

  • Богдан

    Я закачиваю на сайт robots.txt куда нужно, потом проверяю а он остается
    User-agent: uBot
    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: /

    Что мне делать ?

    • http://www.simplecoding.org/ Владимир

      потом проверяю а он остается

      Т.е. файл остается прежним после того как вы закачиваете измененную версию?

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

  • Pingback: Проверка файла robots.txt : The Big SEO

  • http://handbooks.org.ua/ proxyd

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

    User-agent: Twiceler
    Disallow: /

    User-agent: *
    Disallow:

    • http://www.simplecoding.org/ Владимир

      Спасибо за пример!… Но где же разрешения (allow)? :)

      • http://handbooks.org.ua/ proxyd

        Директивы Allow-Disallow без параметров по версии Яндекса.

        Отсутствие параметров у директивы трактуется следующим образом:
        User-agent: Yandex
        Disallow: # тоже что и Allow: /

        User-agent: Yandex
        Allow: # тоже что и Disallow: /


        http://help.yandex.ru/webmaster/?id=996567#996571

        • http://www.simplecoding.org/ Владимир

          Я прошу прощения, ошибся. Еще раз спасибо за пример!

  • http://handbooks.org.ua/ proxyd

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

    User-agent: Twiceler
    Disallow: /

    User-agent: *
    Disallow:

    • http://www.simplecoding.org/ Владимир

      Спасибо за пример!… Но где же разрешения (allow)? :)

      • http://handbooks.org.ua/ proxyd

        Директивы Allow-Disallow без параметров по версии Яндекса.

        Отсутствие параметров у директивы трактуется следующим образом:
        User-agent: Yandex
        Disallow: # тоже что и Allow: /

        User-agent: Yandex
        Allow: # тоже что и Disallow: /


        http://help.yandex.ru/webmaster/?id=996567#996571

        • http://www.simplecoding.org/ Владимир

          Я прошу прощения, ошибся. Еще раз спасибо за пример!

  • http://www.freehomebusiness.ru/ Свой Домашний Бизнес

    А файл robots.txt нужно просто поместить в папку public.html? И всё? Он будет работать?

    • http://www.simplecoding.org/ Владимир

      Да

  • http://www.freehomebusiness.ru Свой Домашний Бизнес

    А файл robots.txt нужно просто поместить в папку public.html? И всё? Он будет работать?

    • http://www.simplecoding.org/ Владимир

      Да

  • VRS

    ДА, я тоже озаботилась защитой своих блогов и правильной индексации поисковиками… Нашла пример robots.txt конкретно для блога на вордпресс, но статья на англ. http://codex.wordpress.org/Search_Engine_Optimization_for_Wordpress Может у автора статьи найдется время ее перевести/прокомментировать для тех кто не спикует в инглише.

    • http://www.simplecoding.org/ Владимир

      Переводить я не буду (там самые общие сведения о поисковом продвижении), но прокомментирую :)
      1) Вы можете просто скопировать содержимое файла robots.txt. Оно составлено с учетом структуры папок WP.
      При этом правила вроде
      Disallow: /trackback
      Disallow: /feed
      Disallow: /comments
      Disallow: /category/*/*
      используются для того, чтобы не индексировался дублированный контент.

      2) Нужно ли вам блокировать доступ для digg mirror и Archiver Wayback Machine – решайте сами.

      3) Если указываете Sitemap, убедитесь, что вы его создали. Сам движок WP этого не делает. Нужен плагин Google XML Sitemaps.

      4) Я видел несколько статей о настройке robots.txt под WP (кроме этой). С ними будьте аккуратны, добавляйте правила только после того, как поймете, что они делают.

  • VRS

    ДА, я тоже озаботилась защитой своих блогов и правильной индексации поисковиками… Нашла пример robots.txt конкретно для блога на вордпресс, но статья на англ. http://codex.wordpress.org/Search_Engine_Optimization_for_Wordpress Может у автора статьи найдется время ее перевести/прокомментировать для тех кто не спикует в инглише.

    • http://www.simplecoding.org/ Владимир

      Переводить я не буду (там самые общие сведения о поисковом продвижении), но прокомментирую :)
      1) Вы можете просто скопировать содержимое файла robots.txt. Оно составлено с учетом структуры папок WP.
      При этом правила вроде
      Disallow: /trackback
      Disallow: /feed
      Disallow: /comments
      Disallow: /category/*/*
      используются для того, чтобы не индексировался дублированный контент.

      2) Нужно ли вам блокировать доступ для digg mirror и Archiver Wayback Machine – решайте сами.

      3) Если указываете Sitemap, убедитесь, что вы его создали. Сам движок WP этого не делает. Нужен плагин Google XML Sitemaps.

      4) Я видел несколько статей о настройке robots.txt под WP (кроме этой). С ними будьте аккуратны, добавляйте правила только после того, как поймете, что они делают.

  • http://avtotrec.ru/ Автолюбитель

    Скажите как запретить к индексации одну страницу? Мне не нужно запрещать целую директорию. Вот пример: http://site.ru/articles/example – эту конкретную страницу нужно запретить к индексации.
    Как правильно поступить. Конечно можно было проверить методом проб и ошибок но у меня нет времени. Я приведу три варианта, а вы скажите какой правильный.

    Вариант 1
    User-agent: *
    Disallow: /articles/example

    Вариант 2
    User-agent: *
    Disallow: site.ru/articles/example

    Вариант 3
    User-agent: *
    Disallow: http://site.ru/articles/example

  • http://avtotrec.ru/ Автолюбитель

    Скажите как запретить к индексации одну страницу? Мне не нужно запрещать целую директорию. Вот пример: http://site.ru/articles/example – эту конкретную страницу нужно запретить к индексации.
    Как правильно поступить. Конечно можно было проверить методом проб и ошибок но у меня нет времени. Я приведу три варианта, а вы скажите какой правильный.

    Вариант 1
    User-agent: *
    Disallow: /articles/example

    Вариант 2
    User-agent: *
    Disallow: site.ru/articles/example

    Вариант 3
    User-agent: *
    Disallow: http://site.ru/articles/example

]]>
Tweet