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

Владимир | | HTML, SEO.

Практически каждый начинающий 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» – нельзя индексировать и нельзя переходить по ссылкам.

Постовой

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

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

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

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

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

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

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

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

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

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

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

  • Спасибо!
    Пошел регистрироваться 🙂

  • Спасибо!
    Пошел регистрироваться 🙂

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Всегда пожалуйста! Будут вопросы — обращайтесь 😉

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

    • Всегда пожалуйста! Будут вопросы — обращайтесь 😉

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

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

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

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

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

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

    • Это зависит от 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/robots.txt — кто жет сказать, правильно ли составлен файл?

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

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

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

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

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

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

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

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

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

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

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

  • Благодарю.

  • Благодарю.

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

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

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

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

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

    • В настройках 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: /

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

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

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

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

  • Богдан

    Я закачиваю на сайт 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: /

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

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

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

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

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

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

    User-agent: Twiceler
    Disallow: /

    User-agent: *
    Disallow:

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

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

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

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


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

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

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

    User-agent: Twiceler
    Disallow: /

    User-agent: *
    Disallow:

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

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

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

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


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

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

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

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

  • VRS

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

    • Переводить я не буду (там самые общие сведения о поисковом продвижении), но прокомментирую 🙂
      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 Может у автора статьи найдется время ее перевести/прокомментировать для тех кто не спикует в инглише.

    • Переводить я не буду (там самые общие сведения о поисковом продвижении), но прокомментирую 🙂
      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://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://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