Статья перепечатана из MarketPosition (tm) Monthly October 2000 Issue
Некоторые из Вас спрашивают: ” Как мне запретить ‘поисковику №1' индексировать страницы, разработанные для ‘поисковика №2'.' Ответ состоит в использовании robots.txt. Имеются также другие причины для предохранения поисковых систем от индексации некоторых или всех страниц на сайте. Поэтому я написал эту детальную статью, чтобы показать Вам, как сделать это, и избежать общих ошибок.
Если Вы создаете различные версии по существу одного и того же дорвея или страницы и каждый механизм поиска индексирует каждую копию страницы, то Вы, в теории, занимаетесь спамом. AltaVista в особенности, как известно, ненавидит дубликат или похожее содержание на страницах. Поэтому, если Вы создаете страницы, которые являются слишком похожими, Вы подвергаетесь риску получить красную карточку от поисковых машин. Практически, большинство людей не беспокоятся относительно наличия слишком большого количества дублирующих страниц, проиндексированных одной поисковой системой, потому что они не создают огромные числа похожих страниц. Если ваши страницы изменяются достаточно в размере и числе слов, то Вы не должны волноваться.
Если Вы сосредаточиваетесь прежде всего на оптимизации существующих страниц на вашем сайте, которые имеют уникальноесодержание а не на создании большого количества новых страниц, которые являются похожими, вы также избежите любых потенциальных проблем. Другие люди просто сабмитят страницы, разработанные для определенной поисковый машины только поисковику, для которого они созданы. Это самый простой метод избежать обвинения в спаме поисковых систем. Это может работать. Однако, любой другой робот любой другой поисковой системы также может найти такую страницу, даже если ее ему не сабмитили.
Если вы хотите создать много дорвеев, а они неизбежно будут иметь похожее содержание, оптимизированных под разные поисковые системы, вам необходимо использовать файл robots.txt.
Этот файл может сообщить роботу поисковой системы, который индексирует страницы, что ему нельзя индексировать определенные страницы. Таким образом Вы можете формировать страницы для поисковика А и сообщать роботу поисковика Б, чтобы он их игнорировал. Роботы обычно следуют таким указаниям, потому что это предохраняет их от индексации страниц, которые не обращаются к ним. Кроме того, поисковые системы имели проблемы с некоторыми компаниями, и дело даже доходило до суда - относительно индексации защищенных авторским правом материалов без разрешения обладателя авторского права. Наиболее важный параметр поисковых систем для способности индексировать защищенный авторским правом материал без разрешения - то, что владелец сайта всегда имеет возможность исключить их индексацию, создавая robots.txt. Поэтому, маловероятно, чтобы поисковые системы преднамеренно игнорировали бы robots.txt, или что они могли ввязаться в ненужные юридические проблемы. Они могли бы, теоретически говоря, проиндексировать страница и затем, после проверки robots.txt выкинуть страницу из базы. Это может объяснять отчетную документацию, я получал сообщения от некоторых людей, которые утверждают, что паук игнорировал их файл robots.txt, о чем можно судить по логам сервера. Другое объяснение - то, что Webmaster использовал неправильный синтаксис при создании robots.txt. Поэтому дважды проверьте все!
Я буду пробовать подчеркивать распространенные ошибки в этой статье. Пожалуйста, не пугайтесь. Это не так трудно, как кажется. Имеется также метод, с помощью которого вы можете все сделать сразу и больше никогда не трогать. Я поясню этот метод в конце этой статьи.
Чтобы создавать robots.txt, откройте Блокнот или любой другой редактора, который может сохранять простой ASCII .txt файл. Используйте следующий синтаксис, чтобы исключить имя файла для определенной поисковой машины:
User-agent: {SpiderNameHere}
Disallow: {FilenameHere}
Например, чтобы сообщить пауку Excite, который называется ArchitextSpider, не индексировать файлы с названиями orderform.html, product1.html, и product2.html, нужно записать в robots.txt следующее:
User-agent: ArchitextSpider
Disallow: /orderform.html
Disallow: /product1.html
Disallow: /product2.html
Согласно спецификации на robots.txt, текст в нем чувствителен к регистру, так что Вы должны записать User-agent, а не User-Agent. Вызывает ли это проблему практически, я не могу говорить наверняка. Чтобы быть уверенным, соблюдайте требования спецификаций. Кроме того, убедитесь, что Вы включаете косую черту перед именем файла, если напильник находится в корневом каталоге. Строка User-agent - идентификатор робота поисковой системы, которому вы запрещаете индексировать страницу. Это подобно “кодированному названию” для паука поисковой машины, которыйиндексирует страницы в Интернете. Имя робота может быть похоже на название поисковика, или полностью отличаться. Я перечислю официальные названия User-agent осноных поисковых машин позже в этой статье. Как только Вы создали ваш robots.txt, этот текстовый файл нужно загрузить в корневому каталогу вашего сайта. Хотя robots.txt не является обязательным, большинство главных механизмов поиска выполнит его. Если Вы не имеете своего домена, а используете субдомен или директорию внутри домена, то ваш robots.txt может быть не прочитан, так как по стандарту робот проверяет наличие его только в корневом каталоге домена. Это еще одна причина вложить капитал в ваше собственное имя домена!
Вы можете добавлять дополнительные строки, чтобы исключить страницы из других поисковиков, определяя параметр User-Agent снова в том же самом файле, ставя за ним строки Disallow. Каждое вхождениеDisallow будет применено к последнему User-agent, который был определен. Если Вы хотите исключить целыйкаталог, используйте синтаксис:
User-agent: ArchitextSpider
Disallow: /mydirectory/
Общая ошибка состоит в том, чтобы поставить * после директивного названия, чтобы указать, что Вы хотите исключить все файлы в этом каталоге. Однако, правильно будет НЕ включать никаких звездочек и символов умолчания в поле Disallow. Согласно технических требований, подразумевается, что запись выше отвергнет все файлы в “mydirectory”. Чтобы закрыть от индексирования файл, названный product.htm в “mydirectory” подкаталоге, сделайте так:
User-agent: ArchitextSpider
Disallow: /mydirectory/product.htm
Вы можете исключать страницы для ВСЕХ пауков следующей записью:
User-agent: *
В строк User-agent Вы МОЖЕТЕ использовать звездочку как групповой символ. Чтобы запретить индексацию всех страниц на сайте, запишите
Disallow: /
Вы используете только косую черту, чтобы указать, что Вы хотите весь сайт. Не используйте звездочку здесь. Важно, чтобы Вы не допускали ошибок. Если Вы сделаете ошибки, это не может работать, и Вы не будете знать это, покане будет слишком поздно! Возможно, что некоторые поисковые системы могут обрабатывать общие вариации синтаксиса без проблем. Однако, это не гарантирует, что они будут все допускать расхождения в синтаксисе. Поэтому не устраивайте себе проблем. Если в некоторой точке Вы находите, что ваш синтаксис был неправилен, исправьте проблему, и затем сабмитьте повторно. Поисковая машина повторно проиндексирует ваш сайт и выполнит все указания в robots.txt. Если Вы желаете включить комментарий в robots.txt , Вы должны перед ним поставить поставить # наподобие следующего: # Here are my comments about this entry. Каждый набор Disallow должен быть отделен пустой строкой. Например, для исключения различных страниц из различных поисковых систем можно написать следующее:
User-agent: ArchitextSpider
Disallow: /mydirectory/product.htm
Disallow: /mydirectory/product2.htm
User-agent: Infoseek Disallow: /mydirectory/product3.htm Disallow: /mydirectory/product4.htm
Пустая строка между двумя группами записей необходима. Если, с другой стороны, Вы хотели бы исключить один и тот же набор файлов для более чем одного паука, можно написать следующее:
User-agent: ArchitextSpider
User-agent: Infoseek
Disallow: /mydirectory/product.htm
Disallow: /mydirectory/product2.htm
Примечание относительно подкаталогов: Некоторый Webmasters любят организовывать дорвеи в различные подкаталоги, согласно поисковой системы для которой они оптимизированы. Однако, некоторые поисковые машины подозреваются в придании более низкого ранга страницам, находящимся в подкаталогах по сравнению с корневым каталогом сайта. Если они чувствуют, что те страницы принадлежат сайту, который разделяет домен с основным сайтом, они могут считать такие страницы, как являющиеся потенциально худшего качества. Я спрашивал у трех консультантов по поисковым машинам их мнение относительно подкаталогов. Они сошлись на том, что страницы в корневом каталоге ранжируются, вероятно, лучше, но они не замечали доказательств, что это вызвало проблемы. Если Вы все еще беспокоитесь относительно хранения страниц в подкаталогах и желали использовать их, Вы можете попросить хостинговую компанию предоставить вам субдомен, ведущий на подкаталог и использовать субдомен для сабмита. Таким образом, угроза со стороны поисковиков уменьшается, так как они не будут видеть подкаталог в URL. Кроме того, Вы можете включать ключевые слова в субдомен, от чего может также улучшиться положения ваших страниц. (Примечание: субдомен - обычно только ” WWW. ” Однако, в этом качестве можно использовать любое слово, лучше характеризующее ваш сайт).
Нас часто спрашивают относительно правильных имен роботов. Название робота не всегда соответствует названию механизма поиска. Поэтому, Вы не можете просто написать Altavista в User-agent и ожидать, что AltaVista исключит ваши обозначенные страницы. Не спрашивайте меня, почему нельзя все сделать проще. Возможно это - заговор со стороны профессионалов :-)
В любом случае, дискуссии относительно правильных имен роботов имеются. Беспорядок происходит от вебмастеров, просматривающих логи сервера и видящих сложные названия типа Scooter/2.0 G.R.A.B. X2.0, Infoseek Sidewinder/0.9, или Slurp/2.0. Названия роботов, перечисленные в ваших логах - не обязательно то, что Вы, как ожидается, будете использовать в robots.txt. Причина очень проста, стоит только задуматься. Называть робота Infoseek Sidewinder/0.9 в robots.txt не очень полезно, если поисковая система модифицирует его программное обеспечение и решает использовать Infoseek Sidewinder/2.0 как их новое название в следующем месяце. Имело бы смысл, чтобы миллионы людей узнавали это и модифицировали бы robots.txt для нового названия робота? Они ожидали бы, что люди модифицируют напильник, КАЖДЫЙ РАЗ когда любая поисковая система модифицировал бы версию робота и делать это точно, когда изменение названия произошло? Это маловероятно. В действительности, название, которое должно быть в robots.txt - любое название, которое паук поисковой системы запрограммирован искать. Поэтому, лучший источник информации для этого названия - логи, а справочная информация непосредственно от самой поисковой системы. В теории, робот может искать широкое многообразие вариаций названия. Однако, вообще они будут просто искать общий наименьший знаменатель типа “Scooter” скорее чем “Scooter/2.0”. Если поисковая система гибка, они позволят Вам использовать Scooter/2.0 также, но этому не гарантируют. Поэтому, если вы имеете уже установку robots.txt на вашем сайте, проверьте синтаксис и названия роботов против списка ниже. Все названия чувствительны к регистру.
Большинство их получено напрямую от поисковых систем или от других уважаемых источников:
Search Engine: User-Agent
AltaVista: Scooter
Infoseek: Infoseek
Hotbot: Slurp
AOL: Slurp
Excite: ArchitextSpider
Google: Googlebot
Goto: Slurp:
Lycos: Lycos
MSN: Slurp
Netscape: Googlebot
NorthernLight: Gulliver
WebCrawler: ArchitextSpider
Iwon: Slurp
Fast: Fast
DirectHit: Grabber
Yahoo Web Pages: Googlebot
Looksmart Web Pages: Slurp
Обратите внимание, что многие из двигателей используют “Slurp”, который является пауком Inktomi, использованным на HotBot и других системах на базе Inktomi. К сожалению, я не знаю способ, как Вы можете исключать страницы из паука HotBot и не исключать их из всех других Inktomi сайтов. Насколько я могу сообщить, они используют того же самого паука, чтобы индексировать страницы и таким образом читают только одну строку в robots.txt . Впрочем, если вы создаете несколько страниц, ориентированных на Inltomi, то это не имеет большого значения, так как все поисковые системы на этой базе ранжируют страницы примерно одинаково.
Так дискриминируют ли поисковые системы файлы в подкаталогах? Консультанты, с которыми я общался так не думают. Поэтому, если Вы должным образом проектируете холвей в вашем КОРНЕВОМ КАТАЛОГЕ, который связывается с дорвеем в вашем подкаталоге, сабмитите холвеи в поисковые машины, все должно быть в порядке. Это демонстрирует системе, что страницы, скорее всего являются под-страницами главного сайта. Кроме того, это было бы опасно для поисковых машин дискриминировать страницы в подкаталогах, так как наиболее большие сайты должны организовать свои страницы в подкаталоги, чтобы избежать полного хаоса. В качестве дополнительной предосторожности, Вы можете назначать субдомены на подкаталоги, как я упоминал ранее в этой статье.
Мое заключение: Если все ваши страницы имеют хорошее содержание и довольно уникальны, не волнуйтесь относительно robots.txt. Если Вы работаете только над оптимизацией существующих страниц на вашем сайте, не волнуйтесь относительно robots.txt. Если, однако, Вы решаете, что вам нужно экспериментировать с более чем несколькими страницами, которые являются довольно похожими, используйте robots.txt, особенно с AltaVista.
Наконец, после создания вашего robots.txt, Вы можете проверить его с помощью бесплатного сервиса на:
Однако, я испытывал этот сервис на нескольких файлах, и он иногда жаловался относительно вещей, которые были совершенно правильны. Поэтому, этот сервис, по моему мнению, немного глючен, что мешает его шширокому использованию. Если он указывает на ошибки в вашем файле, обратитесь к этой статье или статье ниже, чтобы проверить, что это действительно ошибки. Для технического обсуждения robots.txt протокола, смотрите: