Robots.txt – различные мелочи + допускаемые ошибки по незнанию. Часть 2

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


Директива Allow


Как везде пишут, эта директива разрешает что-то для индесации.
Давайте обратимся к сайту www.robotstxt.org/



Нажимаем на пункт «The /robots.txt»
В самом низу видим следующее.



Они пишут «Вообще-то, директивы Allow — нет». Это пишут разработчики самого стандарта robots.txt. Типа, нет такой команды. Однако, некоторые поисковики, включая Яндекс – её понимают.

Изначально, когда планировался файл robots.txt, он планировался по принципу – «разрешено всё, кроме указанного». Allow – специально разрешить. Такой директивы нет и она не нужна. Вот об этом они и пишут.

Последний момент, на котором некоторые ошибаются


К примеру, используем наш 3wcom.ru/robots.txt

Вот так выглядит правильный файл.

User-agent: Yandex
Disallow: /top/
Disallow: /index/discussed/
Disallow: /blog/$
Disallow: /blog/new
Disallow: /blog/good
Disallow: /blog/bad
Disallow: /blog/*/users/
Disallow: /blogs/?order
Disallow: /people
Disallow: /stream
Disallow: /tag
Disallow: /comments
Disallow: /talk
Disallow: /search
Disallow: /qipsmiles
Disallow: /shoutbox
Disallow: /logs
Disallow: /registration
Disallow: /login
Disallow: /profile
Disallow: /settings
Disallow: /goto
Host: 3wcom.ru

User-agent: *
Disallow: /top/
Disallow: /index/discussed/
Disallow: /blog/$
Disallow: /blog/new
Disallow: /blog/good
Disallow: /blog/bad
Disallow: /blog/*/users/
Disallow: /blogs/?order
Disallow: /people
Disallow: /stream
Disallow: /tag
Disallow: /comments
Disallow: /talk
Disallow: /search
Disallow: /qipsmiles
Disallow: /shoutbox
Disallow: /logs
Disallow: /registration
Disallow: /login
Disallow: /profile
Disallow: /settings
Disallow: /goto

А что будет, если СЛУЧАЙНО оставить директиву Disallow пустой? Ведь среди такого кода, случайно при написании можно оставить пустое значение.

User-agent: Yandex
Disallow: /top/
Disallow: /index/discussed/
Disallow: /blog/$
Disallow: /blog/new
Disallow:
Disallow: /blog/bad
Disallow: /blog/*/users/
Disallow: /blogs/?order
Disallow: /people
Disallow: /stream
Disallow: /tag
Disallow: /comments
Disallow: /talk
Disallow: /search
Disallow: /qipsmiles
Disallow: /shoutbox
Disallow: /logs
Disallow: /registration
Disallow: /login
Disallow: /profile
Disallow: /settings
Disallow: /goto
Host: 3wcom.ru

User-agent: *
Disallow: /top/
Disallow: /index/discussed/
Disallow: /blog/$
Disallow: /blog/new
Disallow:
Disallow: /blog/bad
Disallow: /blog/*/users/
Disallow: /blogs/?order
Disallow: /people
Disallow: /stream
Disallow: /tag
Disallow: /comments
Disallow: /talk
Disallow: /search
Disallow: /qipsmiles
Disallow: /shoutbox
Disallow: /logs
Disallow: /registration
Disallow: /login
Disallow: /profile
Disallow: /settings
Disallow: /goto

Это будет значить – дальше не обрабатывай. То есть, дальнейших правил и указаний бот не видит. То есть, в случае

Disallow: /top/
Disallow: /index/discussed/
Disallow: /blog/$
Disallow: /blog/new
Disallow: 
Disallow: /blog/bad
Disallow: /blog/*/users/
….

Будут разрешены
Disallow: /blog/bad
Disallow: /blog/*/users/
И так далее.

Это как бы стоп.

Иные возможности файла Robots.txt


В этом файле, кроме запретов, можно указывать еще и дополнительные параметры.
Sitemap – карта сайта. Эту директиву понимают все роботы.

Но вот есть и такие директивы, которые понимает только Яндекс.
Host: имя главного зеркала
Crawl-delay: задержка при индексации
Clean-param: не учитывать параметры GET-запроса

В зеркале нужно указывать «главный адрес» сайта. Формально, www.site.ru и site.ru это разные сайты.

Иногда бывает нужно снизить нагрузку на сайт, при помощи Crawl-delay. Например, попросить робота делать паузы.

Специально писать не надо! Только в том случае, если у вас появляются проблемы.

Clean-param


Порой, бывает так, что из-за ошибок написания кода, некорректной настройки сервера и прочего, появляется PHPSESSID.

Пример:

PHPSESSID=b19c8985f72e2bda543050f891d14dbf 
http://site.ru/file.php?PHPSESSID=b19c8985f72e2bda543050f891d14dbf

Что происходит в этом случае? Каждый раз добавляется GET-запрос вашей сессии. В итоге, бот, придя на сайт, постоянно будет видеть новые ссылки и никогда не проиндексирует сайт.

Если у вас такая проблема, и вы не можете исправить это (а это нужно сделать обязательно), то тогда хотя бы укажите следующее

Clean-param: PHPSESSID

В результате этого робот не будет видеть этот PHPSESSID. В URL для него этого параметра не будет.

Яндекс будет видеть как
site.ru/file.php
Внимание. Это работает только с роботом Yandex.

В скором времени я расскажу детально и подробно про sitemap.

0 комментариев