Ошибки в файле robots.txt, которые могут помешать индексации сайта

Сегодня наш клиент, которому не так  давно сдали сайт обратился с претензией, что Яндекс упорно сайт не ищет.

Проверила сайт — тайтлы, вроде как ничего, дескрипшины не прописаны — но это не должно было повлиять…

Блин — понадеялась на добросовестность своих программистов — просила же — проверьте робота!!!!

Говорят — проверили — все в порядке!!!!!

Я сегодня тоже проверирила — а НИФИГА!!!!!!!

Короче — по этому поводу — Ошибки в файле robots.txt, которые могут помешать индексации сайта.

Перепутанные инструкции

Одна из самых распространённых ошибок в robots.txt – перепутаные между собой инструкции. Например:

User-agent: /
Disallow: Yandex

Правильно писать вот так:

User-agent: Yandex
 Disallow: / 

"Случайно" запретили роботам индексировать весь сайт

Самый простой способ – поместить в /robots.txt следующие строчки:

User-agent: *
Disallow: /

Слеш после директивы Disallow указывает на корень сайта, запрещая роботам  индекситровать все, что находится "ниже". Если Вы хотите, чтобы сайт индексировался весь — конструция должны выглядеть следующим образом:

User-agent: *
Disallow: 
 

Указание нескольких каталогов в одной инструкции Disallow

Многие владельцы сайтов пытаются поместить все запрещаемые к индексации каталоги в одну инструкцию Disallow.

Disallow: /css/ /cgi-bin/ /images/

Такая запись нарушает стандарт, и невозможно угадать, как ее обработают разные роботы. Некоторые могут «отбросить» пробелы и интерпретируют эту запись как «Disallow: /css/cgi-bin/images/». Некоторые могут использовать только первую или последнюю папки (/css/ или /images/ соответственно). Кто-то может просто отбросить непонятную инструкцию полностью.

Конечно, какие-то роботы могут обработать эту конструкцию именно так, как расчитывал веб-мастер, но расчитывать на это все же не стоит. Правильно надо писать так:

Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/

Имя файла содержит заглавные буквы

Файл должен называться robots.txt, а не Robots.txt или ROBOTS.TXT.
Использование файла robot.txt вместо robots.txt

Еще раз – файл должен называться robots.txt.

Пустая строка в User-agent

Так неправильно:

User-agent:
Disallow:

Так правильно:

User-agent: *
Disallow:

Url в директиве Host (которую, кстати можно указывать только в секции для агента Яндекса — User-agent: Yandex)

Следует писать без аббревиатуры протокола передачи гипертекста, то есть без http:// и без закрывающего слеша /

Неправильно:

User-agent: Yandex
Disallow: /cgi-bin
Host: http://www.site.ru/

Правильно:

User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru

Директива host Является корректной только для робота Яндекса

Использование в Disallow символов подстановки

Иногда хочется написать что-то вроде:

User-agent: *
Disallow: file*.html

для указания все файлов file1.html, file2.html, file3.html и т.д.  Но нельзя, к сожалению (некоторые роботы поддерживают символы подстановки).

Плохой стиль

Комментарии на одной строке с инструкциями

По стандарту, такая запись вполне возможна:

Disallow: /cgi-bin/ #запрещаем роботам индексировать cgi-bin

В прошлом некоторые роботы не обрабатывали такие строки. Вероятно, сейчас ни у одной из основных поисковых систем уже нет такой проблемы, но стоит ли рисковать? Лучше помещать комментарии отдельно.

Редирект на страницу 404-й ошибки:

Довольно часто, на сайтах без файла robots.txt при запросе этого файла делается переадресация на другую страницу. Иногда такая переадресация происходит без отдачи статуса 404 Not Found. Пауку самому приходится разбираться, что он получил – robors.txt или обычный html-файл. Эта ситуация вряд ли создаст какие-то проблемы, но все-таки лучше всегда класть в корень сайта пустой файл robots.txt.

Заглавные буквы – это плохой стиль

USER-AGENT: GOOGLEBOT
DISALLOW:

Хотя по стандарту robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файов и директорий. Кроме того, написание robots.txt сплошь заглавными буквами считается плохим стилем.

User-agent: googlebot
Disallow:

Перечисление всех файлов

Еще одной ошибкой является перечисление каждого файла в директории:

User-agent: *
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html

Вместо этого можно просто закрыть от индексации директорию целиком:

User-agent: *
Disallow: /AL/
Disallow: /Az/

Использование дополнительных директив в секции * (секция — "для всех")

Некоторые роботы могут неправильно отреагировать на использование дополнительных директив. Это значит, что не стоит использовать дополнительные директивы в секции «*».
То есть рекомендуется создавать специальные секции для нестандартных директив, таких как «Host».

Так неправильно:

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

А вот так – правильно:

User-agent: *
Disallow: /css/

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

Отсутствие инструкции Disallow

 Даже если мы хотим просто использовать дополнительную директиву и не хотим ничего запрещать, лучше всего указать пустой Disallow. По стандарту интрукция Disallow является обязательной, и робот может «неправильно вас понять». (так исторически сложилось, что первоначально была ТОЛЬКО директива Disallow — директивы Allow просто не существавало, и посковые агенты/роботы ее не понимали)

Так неправильно:

User-agent: Yandex
Host: www.example.com

Так правильно:

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

Отсутствие слешей при указании директории

Как в этом случае поступит робот?

User-agent: Yandex
Disallow: john

По стандарту, он не будет индексировать файл с именем “john” и директорию с именем “john”. Для указания только директории надо писать так:

User-agent: Yandex
Disallow: /john/

Неправильный http-заголовок

Сервер должен возвращать в HTTP-заголовке для robots.txt «Content-Type: text/plain» а, например, не «Content-Type: text/html». Неправильный заголовок может привести к тому, что некоторые роботы не обработают файл.

И еще на эту тему:

Мне понравилось описание файлика ROBOTS.TXT

Обсуждение этого вопроса на Searchengines.ru

Ошибки в файле robots.txt, которые могут помешать индексации сайта: 3 комментария

  1. Хватит копировать везде одно и тоже, хоть немного добавте своего

  2. Согласна — такого контента в нете хватает — ну вот только вчера — опять те же грабли… Пришла на работу «молодежь»… И «немного ошиблись»… а я как … нет слов… Тыкаю просто всех носом….

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *