Почему файл robots.txt не всегда работает в Яндекс

Почему файл robots.txt не всегда работает в ЯндексВсем привет! В уроке 33 «настройка файла robots.txt», я писал, как правильно настроить этот файл. Он создается специально для поисковых систем, где нужно прописать специальные директивы для правильной индексации сайта. Но как оказалось, не все директивы в файлы будут работать для Яндекс. Некоторые страницы, файлы и документы, закрытые от индексации, могут все равно попадать в поиск.

Почему robots.txt не работают в Яндекс

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

Как правильно настроить файл robots.txt, читайте в уроке 33. Я там описал все важные директивы и как их правильно настроить.

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

1. Файл robots.txt должен находиться строго в корневой папке сайте. Если ввести в адресной строке http://вашдомен.ru/robots.txt - должно отобразиться содержимое этого файла. Есть 2 причины, почему файл не отображается:

1. Файл не существует
2. Он не находится в корневой папке.

Могут быть и другие причины, например файл, имеет запрещающие права (атрибуты) на чтение.

2. Все прописанные директивы в файле robots.txt будут учтены поисковиком, если страница будет возвращать код 200. Если страница имеет редирект (перенаправление), или выдает другой код, тогда поисковый бот не сможет получить содержимое этой страницы.

3. Размер файла, превышающий 32 Кб, поисковик посчитает сложным или ошибочным, и в этом случае воспримет его, как допущенным к индексации.

4. Поисковик Яндекс будет использовать только те правила, которые настроены именно для него. Правила для Яндекс начинаются со строки "User-agent: Yandex".

5. Если бот Ядекс встретить в файле конфликтующие директивы, например,

User-agent: Yandex
Allow: /
Disallow: *

то выбрана будет директива, допускающая к индексированию Allow: /

Соблюдая эти правила, можно быть уверенным, что поисковик Яндекс учтет все заданные директивы в файле. Отредактированный файл robots.txt ни сразу обновляется в поиске, обычно это занимает 1-2 недели.

9 Comments

  1. Привет Юра! Я заметил, что Яндекс начал относиться к файлу robots.txt так же как и Google. То есть, он не игнорирует все запрещенные дерективы в файле и также как и гугл вносит их в сопли индекса!
    У меня Роботс настроен правильно, но несмотря на это проиндексированы 251 страница, хотя в главном индексе только 62. Получается, что для Яндекса нужно прописывать файл Роботс по таким же критериям как и доя Google. Другими словами, нужно разрешить Яндексу индексацию всего сайта кроме wp

    • Приветствую, Игорь! Я до сих пор точно не могу понять, как работает robots.txt для Google, а как для Яндекс. В одной из статей, А. Борисов вообще написал, что многие директивы ненужно прописывать. Вот такой у него robots на данный момент:

      User-agent: Yandex
      Disallow: /wp-admin
      Disallow: /wp-includes
      Disallow: /wp-content/plugins
      Disallow: /wp-content/cache
      Disallow: /wp-content/themes
      Disallow: /feed/
      Disallow: */feed
      Disallow: */trackback
      Disallow: */comments
      Disallow: /*?
      Disallow: /*?*
      Disallow: /tag
      Host: site.ru
      Sitemap: http ://site.ru/sitemap.xml

  2. Да, Юра, я знаю что у него такой Роботс и не только у него, а также еще у некоторых популярных блогеров. Что интересно, так сам Борисов в своей нашумевшей статье советовал другой роботс, а сейчас взял и поменял!
    Информацию о дублях и файле роботс я уже изучаю более двух месяцев и на данный момент я пришел к такому варианту:
    Алгоритм Яндекса и Гугла работает одинаково по поводу дублей и роботса, поэтому запреты в файле должны выглядеть аналогичны друг другу. Поддержка Яндекса пишет тоже самое, что и Гугл, что нет никакой гарантии в игнорировании категорий закрытых в файле robots.txt и для того, что ПС не индексировала страницы нужно прописать мета-тег noindex/nofolow в файле function.php
    Неделю назад я это сделал и сейчас жду результатов. Вот мой robots.txt на сегодняшний день:
    user-agent: *
    Disallow: /cgi-bin
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /wp-admin
    Disallow: /wp-includes
    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-content/themes
    Disallow: /wp-feed

    User-agent: Yandex
    Disallow: /cgi-bin
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /wp-admin
    Disallow: /wp-includes
    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-content/themes
    Disallow: /wp-feed
    Host: igorchernomoretz.com
    Sitemap: http://igorchernomoretz.com/sitemap.xml
    Юра, ты меня прости за такой длинющий комент и возможно я тебя загрузил уже, но мне очень хотелось поделиться своим мнением 😛

    • Игорь, это нормально, что комментарий длинный. Интересные комментарии, и читать интересно ;). Я вот что хочу спросить. А что именно надо прописывать в файле function.php, Борисов что-то об этом тоже писал.

  3. Спасибо за понимание. Я сейчас не рядом с компьютером, пишу с смартфона. Завтра с утра сброшу сюда код.

  4. Привет Юра! Вот мета тег, который нужно вставить в файл function.php

    /*** ДОБАВЛЯЕМ meta robots noindex,nofollow ДЛЯ СТРАНИЦ ***/
    function my_meta_noindex () {
    if (
    is_paged() // Все и любые страницы пагинации
    ) {echo “”.”.”\n”;}
    }

    add_action(‘wp_head’, ‘my_meta_noindex’, 3); // добавляем свой noindex,nofollow в head

    Кстати, самое главное, это прописать редиректы в файле .htaccess

    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} ^replytocom= [NC]
    RewriteRule (.*) $1? [R=301,L]
    RewriteRule (.*)\.html\/([0-9]+)$ $1.html [R=301,L]
    RewriteRule (.+)/feed /$1 [R=301,L]
    RewriteRule (.+)/comment-page /$1 [R=301,L]
    RewriteRule (.+)/trackback /$1 [R=301,L]
    RewriteRule (.+)/comments /$1 [R=301,L]
    RewriteRule (.+)/attachment /$1 [R=301,L]
    RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
    RewriteRule (.*) $1? [R=301,L]

    Обо всём этом Борисов тоже писал в своей статье!
    Единственное, что я не сделал, как советовал Борисов, это изменил свой robots.txt 😛

    • Игорь, приветствую! Спасибо за коды! Я их установил, как ты написал. Посмотрю, может что-то к лучшему изменится.
      Понимаешь, какое дело. Перед тем, как прочитать статью Борисова, у меня в Google было 100% страниц в основном индексе. Когда я проделал некоторые манипуляции, которые советовал в статье Борисов, у меня процент сразу снизился. Я ему даже в комментарии написал об этом. Он же ответил, что надо подождать. Я ждать не стал, а вернул все на свои места :).

  5. У меня robots открытый, выглядит так:

    User-agent: *
    Disallow: /wp-includes
    Disallow: /feed
    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-content/themes
    Host: ……ru
    Sitemap: http://……ru/sitemap.xml.gz
    Sitemap: http://……ru/sitemap.xml

    User-agent: Googlebot-Image
    Allow: /wp-content/uploads/

    User-agent: YandexImages
    Allow: /wp-content/uploads/

    а в панели вебмастера google прописал параметр replytocom
    для удаления дублей.
    Увидел на форуме PR посоветовали так сделать,чтобы убрать дубли

    Сергей

Leave a Reply

Яндекс.Метрика