Главная

Неправильные robots.txt - примеры

Правильный файл robots.txt - одно из важных условий для эффективного продвижения сайта. Часто легче понять "как правильно" - разбирая именно неправильные случаи. Потому буду публиковать здесь найденные на реальных сайтах подобные примеры неправильных или не совсем правильных вариантов роботс.тхт. Здесь и далее примеры из реальной жизни, однако вебмастера могут (надеюсь данная статья этому также поможет :) ) их сменить, потому публикую именно исходники, пропуская слишком объёмные примеры).

Пустая строка между User-agent  и директивами robots.txt

http://www.shkaffkupe.ru/robots.txt - 2004 -  Google - 183 / Yandex - 6  / Rambler - 2  *

* - Здесь и далее значения индексации в поисковиках даны на момент "занесения в книжку" (потому, когда вы читаете эту статью - они могут быть другими), если сайт "не самый новый" - указывается "год рождения" по WebArchive).

User-agent: Yandex

Disallow: /index.php?menu_id=122
Disallow: /calc/
Disallow: /index.php?menu_id=188
Disallow: /index.1.htm
Disallow: /about.php
Disallow: /contact.php
Disallow: /gallery.php
Disallow: /index.1.php
Disallow: /inside.php
Disallow: /mater.php
Disallow: /price.php
Disallow: /zakaz.php
Disallow: /backlinks.html
Disallow: /linkexch.php
Disallow: /resurs.txt
Disallow: /inc/
Disallow: /gallery/
Disallow: /what_is_it.htm
Disallow: /index.php?menu_id=104
Host: www.shkaffkupe.ru
Sitemap: http://www.shkaffkupe.ru/sitemap.xml

User-agent: *

Disallow: /index.php?menu_id=122
Disallow: /index.php?menu_id=123
Disallow: /calc/
Disallow: /index.php?menu_id=188
Disallow: /index.1.htm
Disallow: /about.php
Disallow: /contact.php
Disallow: /gallery.php
Disallow: /index.1.php
Disallow: /inside.php
Disallow: /mater.php
Disallow: /price.php
Disallow: /zakaz.php
Disallow: /backlinks.html
Disallow: /linkexch.php
Disallow: /resurs.txt
Disallow: /inc/
Disallow: /gallery/
Disallow: /index.php?menu_id=104

Главная ошибка - между строкой User-agent: * и User-agent: * и следующей директивой имеется пустая строка, которая по правилам robots.txt считается "разделительной" (относительно блоков описаний). Это значит, что спрогнозировать применимость следующих за пустой строкой директив - нельзя. Косвенно данную ошибку подтверждает значения индексации в Rambler.


Пустые строки в блоке директив robots.txt (сайт на WordPress)

http://professia.by/robots.txt - 78 / 59 / 68

User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /feed/

Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /comments

User-agent: Yandex
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /feed/

Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /comments

Host: professia.by
Sitemap: http://professia.by/sitemap.xml.gz

Пустые строки между директивами также не допустимы, т.к. робот считает, что начинается описание для следующего юзер-агента, а его не находит и в результате спрогнозировать "восприятие" подобных "роботов" - сложно.


Директива Host в начале блока описаний для User-agent: *

http://www.lestshop.ru/robots.txt - 2006 - Google - 272 / Яндекс - 3 / Rambler - 43
 

User-agent: *
Host: www.lestshop.ru
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /img/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /old/
Disallow: /?
Disallow: /?2
Disallow: /*?
Disallow: /index.php
Disallow: /?2f4dc3cce5bb551a9523f9ea93d83623=6d17a4fd9dd8f05179f7246a97b6cac6
Disallow: /?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /stepladders.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /ladder.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /bridges.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /scaffolds.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /scaffolding.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /formwork.html?2f4dc3cce5bb551a9523f9ea93d83623=0cbe8ec136812c2d85500fc632aa7247
Disallow: /ladder.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6
Disallow: /stepladders.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6
Disallow: /bridges.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6
Disallow: /scaffolds.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6
Disallow: /scaffolding.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6
Disallow: /formwork.html?2f4dc3cce5bb551a9523f9ea93d83623=6a41b1bb6e46fb7581179cff70cbc3e6

Тонкий, но потенциально проблематичный момент - директивы, которые имеют "различное толкование" в разных поисковиках, тем более, если они не всеми поддерживаются - должны располагаться в конце блока. Это снизит вероятность того, что робот, встретив "ненормальную" по его мнению директиву, отбросит другие, следующие за ней директивы.
Соответственно, моя рекомендация - располагать "яндексовскую" директиву Host - максимально ближе к концу (в блоке описаний User-agent: * - "для всех роботов").


Ошибки самописанных движков

http://testo-sale.ru/robots.txt - Google - 13 / Яндекс - 34 / Rambler - 0

User-agent: *
Disallow: /http://testo-sale.ru/index.php
Disallow: /http://testo-sale.ru/catalog/index.php

При использовании "нестандартных" движков (в т.ч. "самописанных") - будьте внимательными, что за "роботов" вы "подсовываете" поисковикам, дабы после не удивляться и не пенять на яндексы-гугляндексы, что они "непонятно как" индексируют да и ранжируют ваш сайт.
Как видно в примере - путь для директив Disallow явно сгенерирован и сгенерирован неправильно - с добавлением "лишнего" префикса http://. Текущие значения индексации сайта в поисковиках косвенно подтверждают данные проблемы.




Продолжение следует (здесь, далее - в комментариях).

А стоит ли вообще заморачиваться с такими директивами? В чем суть robots.txt как такового для обычного вебмастера?

 
Стоит ли учиться в школе, если "и так можно работать"? Стоит ли учиться SEO, если "и так, вроде, приходят"? Стоит ли "заморачиваться с роботами", если "и без них, вроде, нормально"?
Всё это из одного разряда. Да - можно без них. Некоторые живут без них и не задумываются. Но правильно - с ними. Потому для тех, кто привык делать правильно - однозначно стоит использовать роботов. При чём - правильных роботов.
А чтобы, повторюсь, знать, как правильных - здесь примеры неправильных.
 

Блин, жесть полная на testo-sale. =)

 
А вот позвольте не согласиться по поводу установки директивы Host в конец файла. Яндекс в помощи пишет так:
...в целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow')...
 
Совершенно верно - после, а не "перед". ;)
Что и звучит в моей рекомендации - после всех директив, т.е. это и есть "конец файла robots.txt". :)
 
Обратите внимание на слово "непосредственно". То есть не в конце файла, а сразу после...
 
В данном случае мы говорим об одном и том же. Просто я всегда рекомендую использовать лишь один (единственный) блок директив "User-agent: *", потому "непоредственно после" - и получится "в конце файла". ;)
 
На счет пустых строк - тем не менее в Яндекс.Вебмастер все строчки учтены (пример по professia.by).
 
Совершенно верно - поисковики в курсе про орды "вебмастеров-двоечников", потому давно научились учитывать многие ошибки и несоблюдения общепринятых стандартов.
Однако, повторюсь, это не отменяет ошибки как таковой и другие поисковики (в другой ситуации и с другим сайтом) могут не проявить такого "расположения" и/или "понятливости" к вашим "роботоизлияниям". :)
 

Пустая строка после User-agent...

http://rspch.by/robots.txt - 2003 - Google - 313 / Яндекс - 31 / Rambler - 175
User-Agent : *

Disallow : /Docs/
Disallow : /Images/
 

А как сделать так, чтоб Яндекс и Гугл как можно быстрее проиндексировали сайт?

 
Роботами как правило замедляют скорость индексации - с помощью директивы Crawl-delay (все поисковики, кроме Google - он её не учитывает, т.к. у него в админке можно напрямую задать скорость сканирования сайта).
С другой стороны, правильно настроенный robots.txt позволяет не тратить время на индексацию "ненужных" страниц, в результате чего "нужные" индексируются быстрее (чаще). Таким образом можно считать, что правильный robots.txt может ускорить индексацию сайта в Яндексе, Гугле и других поисковиках.

Однако скорей всего подразумевалось "ускорение индексации нового сайта". В данном случае, ежели нет денег - помогут обычные соцзакладки или просто твиттер. Если есть - идём в Сапу и берём на недельку ссылочку с какой-нибудь кошерной морды PR 6 / тИЦ 10000. ;)
 

Может ускорить, а может и нет.

 

Роман, спасибо за полезную статью, нужно еще добавить, что не допустимо написание команд в строчку...

 

robots.txt в одну строку

http://postup.brama.com/robots.txt - 2000 - Google - 16800 / Яндекс - 3312 / Rambler - 62
User-Agent: * Disallow: /admin/ Disallow: /include/ Disallow: /inserts/
 

robots.txt в стиле "Да я этих команд знаю - роботову тучу!..."

Роботы одного из комментаторов - люди, не стоит писать в robots.txt "всё что знаете". Наоборот - максимально консервативно относитесь к каждой новой (и старой) записи в данном файле.

http://www.izero.ru/robots.txt - Google - 411 / Яндекс - 40 / Rambler - 103
User-agent: *
Disallow: /out/*
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /*?*
Disallow: /*?
Allow: /wp-content/uploads

User-agent: Googlebot-Image
Disallow:
Allow: /*

User-agent: Mediapartners-Google*
Disallow:
Allow: /*

User-agent: ia_archiver
Disallow: /

User-agent: duggmirror
Disallow: /

Sitemap: http://www.izero.ru/sitemap.xml

User-agent: Yandex
Crawl-delay: 5

Disallow: /tag
  1. Незачем использовать директиву Allow, если только нет "особых случаев" (типа Disallow: /) - "по умолчанию" и так Allow для всего сайта (а уже для отдельных страниц - регулируется уже метатегами noindex, nofollow и т.п.) .
  2. Аналогично для директивы "Disallow: " (без пути) - не путайте ни себя ни роботов. :)
  3. Точно также "для звёздочки" - незачем её ставить, по умолчанию все последующие символы могут быть любыми, если же нужно сделать условие, что этими символами должен заканчиваться URL - используем символ "$" (Disallow: /*.htm$, в то время как, например, Disallow: /*.htm - запретит индексацию и страницы "mypage.htm" и страницы "mypage.html" и "mypage.html-editor.html" и т.п.)
  4. Строго соблюдайте "блочность" - сначала User-agent, за ним, без пустых строк - остальные директивы.
  5. Если так уж нужно использовать разные условия для разных роботов/поисковиков (повторюсь, я рекомендую пользоватьс я лишь одним единственным "общим блоком "User-agent: *") - сначала перечисляйте блоки для конкретных роботов/поисковиков, а в конце - "блок для всех" (User-agent: *).
 

Несколько строк User-agent подряд

Попытка "облегчить себе жизнь" или "усовершенствовать" robots.txt частенько приводит к различным "перлам":

http://agropromholod.ru/robots.txt - Google - 181 / Яндекс - 188 / Rambler - 210
User-agent: Yandex
User-agent: Aport
User-agent: Googlebot
User-agent: StackRambler
Disallow: /fckeditor/
Disallow: /ajax/
Disallow: /dumper/
Disallow: /flash/
Disallow: /include/
Disallow: /js/
Disallow: /modules/
Disallow: /smarty/
Disallow: /upload/
Disallow: /userfiles/
Disallow: /templates/

Кто не понял: сделать "один" блок для "нескольких" роботов/поисковиков - нельзя. Иначе не учтётся никто (либо, сработает, как в данном случае, скорей всего - лишь для Рамблера, как последнего из "правильных строк" юзер-агентов).
А в общем случае - да, придётся, "как придурок", повторять одни и те же директивы для каждого из них. Либо же (что однозначно лучше) - ограничиться лишь "User-agent: *".
 
Есть ли разница, файл называется robots.txt или Robots.txt?
 

Есть и потому точно не стоит экспериментировать.

 

Рекорд по "пустым строкам" в robots.txt :)

http://grate.ru/robots.txt - 2005 - Google - 232 / Яндекс - 2000 / Rambler - 3361
User-agent: *

Disallow: /itemlist.php

Disallow: /send.php

Disallow: /article_full.php

Disallow: /privacy2.php

Host: grate.ru
п.с. Для новичков таки прокомментирую - кажущаяся "красивой" вышеописанная "чересстрочная" конструкция абсолютно некорректна с точки зрения правил построения robots.txt, т.к. пустая строка отделяет друг от друга (лишь) директивы User-agent, после которой (без пустых строк) должны последовательно идти все остальные директивы (Disallow сотоварищи).

Update: Новый найденный рекордсмен по "чересстрочной конструкции robots.txt":
http://www.220volter.ru/robots.txt - Google - 161 / Yandex - 266 / Rambler - 226
User-agent: *

Disallow: /bitrix/
Disallow: /links.php

Disallow: /search/

Allow: /search/map.php

Disallow: /club/search/

Disallow: /club/group/search/

Disallow: /club/forum/search/

Disallow: /communication/forum/search/

Disallow: /communication/blog/search.php

Disallow: /club/gallery/tags/

Disallow: /examples/my-components/

Disallow: /examples/download/download_private/

Disallow: /auth/

Disallow: /auth.php

Disallow: /personal/

Disallow: /communication/forum/user/

Disallow: /e-store/paid/detail.php

Disallow: /e-store/affiliates/

Disallow: /club/$

Disallow: /club/messages/

Disallow: /club/log/

Disallow: /content/board/my/

Disallow: /content/links/my/

Disallow: /*/search/

Disallow: /*PAGE_NAME=search

Disallow: /*PAGE_NAME=user_post

Disallow: /*PAGE_NAME=detail_slide_show

Disallow: /*/slide_show/

Disallow: /*/gallery/*order=*

Disallow: /*?print=

Disallow: /*&print=

Disallow: /*register=yes

Disallow: /*forgot_password=yes

Disallow: /*change_password=yes

Disallow: /*login=yes

Disallow: /*logout=yes

Disallow: /*auth=yes

Disallow: /*action=ADD_TO_COMPARE_LIST

Disallow: /*action=DELETE_FROM_COMPARE_LIST

Disallow: /*action=ADD2BASKET

Disallow: /*action=BUY

Disallow: /*print_course=Y

Disallow: /*bitrix_*=

Disallow: /*backurl=*

Disallow: /*BACKURL=*

Disallow: /*back_url=*

Disallow: /*BACK_URL=*

Disallow: /*back_url_admin=*

Disallow: /*index.php$

 

Повторение одинаковых блоков для разных юзер-агент-ов

http://www.persokovr.ru/robots.txt - Google - 10 / Яндекс - 11 / Рамблер - 9
User-agent: Yandex
Disallow:
HOST: www.persokovr.ru

User-agent: Googlebot
Disallow:
HOST: www.persokovr.ru

User-agent: *
Disallow:
HOST: www.persokovr.ru

Совершенно незачем повторять "для каждого" из роботов, от этого они не станут "более признательны", увидев "персональные настройки". :) То есть в данном случае однозначно правильней использовать лишь "общий" User-agent (хотя я такое рекомендую для всех случаев):
User-agent: *
Disallow:
Host: www.persokovr.ru
 

Отсутствие пустой строки между блоками директив robots.txt

Очередные роботы очередного комментатора (Wordpress).
http://www.alchy.ru/robots.txt - Google - 143 / Яндекс - 62 / Рамблер - 65
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /xmlrpc.php
Allow: /wp-content/uploads
User-agent: Yandex
Crawl-delay: 5
Host: www.alchy.ru
Sitemap: http://www.alchy.ru/sitemap.xml

Перед каждым новым юзер-агент-ом обязательно должна быть пустая строка ТЧК
 
Та твою ж дивизию. :D
Правда роботам сугубо пофиг, но поправил. :)
 

Верно, в таких случаях роботам может быть "пофиг" на всё, что обнаружится после "неожиданной" инструкции User-agent, а результате чего тот же Яндекс может не признать "свою" директиву Host со всеми вытекающими. Т.е. в очередной раз не стоит утверждать "так и так ж работает", ибо, во-первых, вопрос "как и насколько корректно", а, во-вторых, если действительно всё работает и корректно, то это заслуга интеллекта роботов, а никак не Вашего. ;)

 
Объясните мне - зачем самому писать роботс.тхт, если есть специальные программы и сервисы?
 
"Специальные программы и сервисы" лишь вставляют инструкции, которые вы указываете - в нужном количестве и порядке. А потому их можно считать реально полезными лишь только для тех, кто паталогически сыплет ошибками в словах User-agent, Disallow и Host. ;)
 
Сам на личном опыте убедился что настройка robots важна! К тому же ускоряет индексацию сайта, т.к. вы исключате не нужные и не интересные страницы, спасибо за статью.
 
Роботсы реально важны! На своём первом сайте на дешёвом хостинге я помню попал из-за них... Пошел как-то робот по сайту, а хостеру сил вовремя всё отдать не хватило и как результат около 80% сайта не вошли в поиск после обхода =(.
 
По результатам рейтинга SEO-компаний Беларуси 2010 решил провести тест их сайтов на правильность файла robots.txt, качество которого вполне можно считать одним из показателей "SEO-грамотности". Результаты - треть(!) сайтов оптимизаторских контор имеют проблемные (с точки зрения "классической правильности") robots.txt.
...
Сначала я хотел опубликовать всё в подробностях, однако передумал. :) (Кто таки хочет - может и сам пробежаться да посмотреть). В любом случае, могу лишь подтвердить, что данный фактор (грамотно составленный robots.txt) чётко подтвердил "справедливость" рейтинга, т.к. все "проблемные" - в нижней части таблицы. И что значительный отрыв лидирующей тройки - явно "не просто так". Они вполне прилично владеют искусством робототекстники. ;)
 

Неправильная последовательность директив в robots.txt

Нельзя забывать, что есть правило - первой директивой после User-agent должна идти директива Disallow. И вообще, любой блок (во главе с User-agent) без Disallow считается некорректным. Потому следующие роботы являются наглядным примером подобной ошибки:

http://avtoprofit.ru/robots.txt - Google - 26 / Яндекс - 46 / Rambler - 46
User-Agent: *
Host: avtoprofit.ru
Disallow: /index.htm
Sitemap: http://avtoprofit.ru/sitemap.xml
Внешне "нормальный" пример будет полностью корректным, если строчку с Host сделать последней, а с Disallow - второй.
 

Пустой блок директив в robots.txt

После строки с директивой User-agent обязательно должна быть минимум одна строка с Disallow, иначе подобная конструкция является некорректной и реакция поисковиков труднопредсказуемо. Вот следующий "печальный" пример:

http://rusantro.livejournal.com - Google - 603 / Яндекс - 0 / Rambler - 1
User-Agent: Mediapartners-Google*
Disallow:

User-Agent: *
Последний "незаконченный" блок для всех поисковиков ("User-agent: *") ими может восприниматься по-разному. И даже просто судя по тому, что в Рамблере лишь одна страница, а в Яндексе вообще ноль - это вполне может быть причиной неправильных роботов. /* Сайту на момент написания коммендария - полтора года (информация от его автора). */
 

Можно подумать, что я сам этот файл писал. Что ЖЖ дало, с тем и живём.
У того же LJ user ibigdan такой же robots.txt

User-Agent: Mediapartners-Google*
Disallow:

User-Agent: *

И, ничего - его замечательно индексирует.

 

Спасибо за комментарий, буду знать. Только вот с популярными сайтами - отдельное дело, и "качество" роботов к ним применять сложней. А то, что у "монстровидных" бывают проблемы по части их (роботс.тхт) качества - известная пестня, достаточно глянуть даже ту же русскую википедию:

...

# Участник:*/
Disallow: /wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:*/


# Википедия:Проект:Инкубатор/Статьи/
Disallow: /wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%98%D0%BD%D0%BA%D1%83%D0%B1%D0%B0%D1%82%D0%BE%D1%80/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8/
# Обсуждение Википедии:Проект:Инкубатор/Статьи/
Disallow: /wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D0%B8:%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%98%D0%BD%D0%BA%D1%83%D0%B1%D0%B0%D1%82%D0%BE%D1%80/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8/

# Википедия:Черновики/
Disallow: /wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA%D0%B8/

...

 

 

Подскажите, если Host написан после Sitemap - это считается как ошибка?

Пример:

User-agent: *
Disallow: /contacts.php
Sitemap: http://site.ru/sitemap.xml
Host: site.ru

 

Нет, это не ошибка, наоборот - всё правильно, именно так я и рекомендую оформлять. Т.к. директива Sitemap - поддерживается большинством поисковиков, а Host - лишь Яндексом., потому считается "нестандартной".

А всё "нестандартное" должно быть максимально "ниже" (в конце файла robots.txt), чтобы не сделать поводом для игнорирования роботами поисковиков (не знающих подобных инструкций) части директив после такого "нестандартного" кода.

 

Подскажите, если Host написан после Sitemap - это считается как ошибка?

А если у меня три блока, то как тогда лучше? Дублировать в каждом блоке директиву Sitemap или написать её один раз в самом низу, пропустив одну строку?

User-agent: Yandex
Disallow: /contacts.php
Host: site.ru

User-agent: Googlebot
Disallow: /contacts.php

User-agent: *
Disallow: /contacts.php

Sitemap: http://site.ru/sitemap.xml

Заранее благодарен за ответ.

 

Host после Sitemap - это как раз правильно. Т.к. Host - "нестандартная" директива, а потому желательно должна быть "максимально в конце", в отличие от "стандартной" Sitemap.

Далее, дублировать Sitemap не надо - ведь у вас обязательно будет блок для всех ботов "User-agent: *" - в нём и стоит прописать Sitemap.

User-agent: *
Disallow: /contacts.php
Sitemap: http://site.ru/sitemap.xml

(без "пустой строки")

С другой стороны, практика показывает, что, похоже, robots.txt парсится поисковиками "в первую очередь" для поиска в нём всех записей о Sitemap, потому как бы вы не писали - вашу карту сайта "найдут и обезвредят".

Хотя, это не отменяет того, что "правильно" - делать "правильно", т.е. прописывать его в "общем" блоке.

 

Спасибо за статью - глянул на свой файл robots.txt и сразу увидел ошибку, уже с год как висит...

 

Неудачный шаблон для запрета служебных адресов

Попытка "оптимизировать" robots.txt может быть не совсем удачной, если не до конца понимать тонкости работы директив шаблонов (использование *). Вот подобный пример:

http://home-soft.com.ua/robots.txt - Google - 1260 / Яндекс - 5814 / Rambler - 6000

User-agent: *
Disallow: /*print
Disallow: /backup/
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /go/
Disallow: /*rss
Disallow: /*rrs
Host: home-soft.com.ua
Sitemap: http://home-soft.com.ua/sitemap.xml

Жирным выделены "неудачные" директивы, которые преследуют, в принципе, "правильную" вещь - запретить дубликаты служебных страниц. Почему они не шибко удачные можно объяснить на следующих примерах. Если на сайте будут следующие "обычные" материалы с адресами типа:

http://home-soft.com.ua/books/magazine/78-russkij-sprinter-vyigral-zabeg.html
http://home-soft.com.ua/news/news-it/google-zapretil-giperssylki-na-yandex.html
http://home-soft.com.ua/news/review/obzor-rrsat-global-internet-tv.html

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

Чтобы такого не было, достаточно было их оформить, указав "конец строки" (т.е. что они находятся в самом конце урла):

Disallow: /*print$
Disallow: /*rss$
Disallow: /*rrs$

И хотя при таком раскладе тоже остаётся вероятность "неудачных совпадений", но это уже действительно - минимум.

 

Занимаюсь продвижением сайтов, поэтому приходится хорошо ориентироваться в robots.txt. Хотелось бы услышать Ваше мнение по конкретной ситуации. Мне перепала на продвижение пара сайтов, один из которых был зазеркален и скрыт от индексации. Мои предшественники много чего наворотили, но здесь есть интересный момент. robots.txt такой у сайта (назовем его "www.второстепенное-зеркало.ru"):

User-agent: *
Disallow: /
Host: www.главное-зеркало.ru
(Второй домен)

Яндекс не индексирует www.второстепенное-зеркало.ru, а Google индексирует все страницы.
Перед директивой User-agent: * мои предшественники не поставили пустую строку... Но Яндекс-то корректно его прочитал.

Это не единственный случай, когда Google индексирует сайты, закрытые от индексации.

Есть ли у Вас подобные интересные примеры? И прокомментируйте этот.

 

Яндекс не индексирует по причине наличия директивы Host, указывающей, что это не основное зеркало, что более важней, чем Disallow: /.

Почему всё индексирует Google - нужно видеть. Предположу по словам "Перед директивой User-agent: * мои предшественники не поставили пустую строку", что значит в роботах были и другие блоки директив, где индексация могла разрешаться, и которую Google счёл руководством к действию...

 

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.

Подробнее о форматировании

Image CAPTCHA
Тут буквоцифры
Яндекс.Метрика
Яндекс.Метрика




Рейтинг блогов
Подписаться на статьи NOINDEX.by
Твиттер Тутбайкиллера