Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Чек-лист ошибок robots.txt

Автор Владимир75, 22-06-2015, 17:10:03

« назад - далее »

Владимир75Topic starter


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


User-agent: /
Disallow: Yandex


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


User-agent: Yandex
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
Следует писать без аббревиатуры протокола передачи гипертекста, то есть без 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. Пауку самому приходится разбираться, что он получил – robots.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/


Инструкции Allow не существует! [перевод устаревший]
Примечание: Не существовало на момент перевода данного текста, сейчас эта инструкция поддерживаетcя и Гуглом, и Яндексом. Уточняйте по использованию для других роботов.


Нет инструкции Allow, есть только Disallow. Файл robots.txt ничего не разрешает, только запрещает!


Отдельные роботы (например googlebot) понимают директиву Allow


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


User-agent: Yandex
Disallow: /john/
Allow: /jane/


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


User-agent: Yandex
Disallow: /john/
Disallow:


Использование дополнительных директив в секции *
Некоторые роботы могут неправильно отреагировать на использование дополнительных директив. Это значит, что не стоит использовать дополнительные директивы в секции «*».
То есть рекомендуется создавать специальные секции для нестандартных директив, таких как «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 является обязательной, и робот может «неправильно вас понять».


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


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». Неправильный заголовок может привести к тому, что некоторые роботы не обработают файл.
Источник
Услуги: Сайты в топ за две неделм Мобильный, WatsApp., Viber +79964788889, telegram @xiceer.
  •  


xwildx

В дерективе host должен быть указан протокол в случае если используется ssl.
https://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml#host
Рыбалка - Все о рыбалке в России.
  •  


MBR

не всё рассмотрено, что можно записать в роботс
  •  

Dogica

очень полезный материал
спасибо вам!
DOGICA® 3D World of Dog & Puppy
HTTP://WWW.DOGICA.COM  ;)
  •  

Владимир75Topic starter

Цитата: MBR от 02-07-2015, 12:03:33
не всё рассмотрено, что можно записать в роботс
Ну так дополняйте, на то и форум.
Услуги: Сайты в топ за две неделм Мобильный, WatsApp., Viber +79964788889, telegram @xiceer.
  •  


Русская-Майолика

Цитата: Владимир75 от 02-07-2015, 14:57:38Ну так дополняйте, на то и форум.

Владимир, cкажите, пожалуйста, могу я прописать в роботсе следующее указание:
Disallow:/*?  или правильнее будет Disallow: *?
чтобы закрыть от индексирования бесчисленно генерируемые дубли, например, такого вида:
www.site.ru/category/figures/?sort=name&dir=asc

Или это вообще не годится и надо что-то другое писать?
Всю голову сломала, как мне убрать эти дубли....???

Спасибо заранее.


Krokodilchik

Disallow: /*?
закрывает все ссылки содержащие знак вопроса.

alexburn

Приветствую. Не могли бы помочь с настройкой файла.
В файле прописываю такую констуркцию: Dissalow: /tag/*, но один фиг, поисковики индексируют такие страницы :(, пните пожалуйста в нужном направлении :(



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....