08.09 2009

Примеры составления robots

Автор: admin | Категории: Статьи


Примеры составления robots

Примеры составления robots. txt Закрываем дублированный контент от индексации Использование директивы Clean-param Много раз сталкивался на форумах с вопросами про robots. txt, казалось-бы, что тут такого, обычный файл с инструкциями для ПС, написал его, сунул в корень сайта и все готово. Но на деле выходит, так что начинающие веб мастера с трудом понимают, зачем вообще нужен этот самый robots. txt, а самое главное не понимают, как правильно его составить. Вот я и решил привести несколько развернутых примеров того как нужно составлять robots. txt. Первое что нужно знать это то что нет единых стандартов для этого документа, то есть те инструкции которые вы задаете для ботов Яндекса, могут не подходить для Google. По этому составляя robots. txt убедитесь в том что та или иная ПС поймет то что вы на ваяли для нее. Следующий момент, который тоже нам не помешает знать – не все поисковые боты будут слушаться вашего robots. txt, объяснюсь почему. Дело в том что есть огромное количество недружелюбных ботов, которые бороздят Интернет с целью сбора адресов электронной почты, или контента, потом электронную почту в своих целях «употребляют» спамеры, а контент просто воруется, недобросовестными веб мастерами. По этому таким ботам нет смысла давать инструкции, лучше сосредоточится на основных поисковых системах. После того как вы составили свой robots. txt заведите учетные записи в поисковых системах (если конечно вы этого еще не сделали), нужно это для того что бы проверить работоспособность вашего файла, в панелях для веб мастеров, есть сервисы, позволяющие это сделать. Простые примеры на подобие этого: User-agent: * Disallow: были затронуты в статье robots. txt в примерах, сейчас будем разбираться с более сложной задачей. Я уже затрагивал тему дубликатов страниц, решить эту проблему можно несколькими способами, в том числе и с применением robots. txt. Особенно такой вариант подходит тем кто не силен в PHP. Сегодня расскажу как это сделать для Яндекса а в следующий раз для Google. Допустим, что робот Яндекса, заходит к нам на сайт, и вместе с нормальными страницами, видит URL подобного вида: http://www. luboi-site. ru/products/catalog/?tab=1&_id=242&name=2_&kat=3 http://www. luboi-site. ru/products/catalog/?kat=1&_id=242&name=2 http://www. luboi-site. ru/products/catalog/?tab=1&_id=242&name=3 http://www. luboi-site. ru/products/catalog/?name=1&_id=242&tab=1 http://www. luboi-site. ru/products/catalog/?price=1&_id=242&kat=2 вместе с обычными вот такого вида: http://www. luboi-site. ru /catalog/id=242 Адрес страницы с такими окончанием? tab=2&top_id=242&price=1_&kat=3 может появиться в результате различного отображения сортировки товара на странице. Получается что у нас отображается какое то количество динамических параметров в различных вариантах в нашем случае это tab=, price=, name= и kat=. Следовательно нам нужно закрыть от индексации все страницы где в адресе попадаются эти параметры сортировки. Вначале как обычно пишем для какой ПС написаны инструкции: User-agent: Yandex Потом мы заблокируем те страницы где имеется результат сортировки, для этого добавим в robots. txt вот такие строчки: User-agent: Yandex Disallow: /*/catalog/?kat= Disallow: /*/catalog/?tab= Disallow: /*/catalog/?name= Disallow: /*/catalog/?price= После того как мы закрыли все ненужное пропишем директиву Sitemap, которая сообщит боту что на нашем сайте есть карта и где она находится (не путать с картой сделанной для посетителей). User-agent: Yandex Disallow: /*/catalog/?kat= Disallow: /*/catalog/?tab= Disallow: /*/catalog/?name= Disallow: /*/catalog/?price= Sitemap: http://www. luboi-site. ru И последним что мы пропишем будет директива Host: User-agent: Yandex Disallow: /*/catalog/?kat= Disallow: /*/catalog/?tab= Disallow: /*/catalog/?name= Disallow: /*/catalog/?price= Sitemap: http://www. luboi-site. ru/sitemap. xml Host: http://www. luboi-site. ru После всех манипуляций идем в Yandex, нас интересует панель веб мастера и делаем проверку нашему robots. txt. В поле Robots. txt добавляем составленный нами текст Форма проверки robots. txt Рядом со «Список URL» кликаем на слово добавить, в открывшееся окно вносим адреса проверяемых страниц и жмем «проверить» Результат проверки robots. txt После того как мы убедились что все правильно работает, можно наш robots. txt выкладывать в корень сайта. С одной из разновидностей дублированного контента, мы с вами разобрались, теперь будем решать другую задачу, которая подходит больше для форумов, где часто используются идентификаторы сессий. Как вы уже знаете идентификаторы сессий, нужны для того, что бы отслеживать действия пользователя на сайте. При этом CMS генерирует уникальные динамические адреса, не предназначенные для индексации поисковыми системами. Давайте разберем конкретный пример. Предположим что у нас есть страницы такого вида: http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=1 http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=2 http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=3 и т. д. по сути получается что это разные URL
адреса одной страницы. И нам нужно сделать так чтобы робот приходящий на сайт не тратил время и не нагружал сервер, собирая одну и ту же страницу. Для этого у Яндекса есть еще одна директива – Clean-param. Вначале пропишем робота для которого составляем инструкции: User-agent: Yandex Потом директивой Disallow закроем административные разделы сайта, страницы с профилями пользователей, поиска, и различной статистики: User-agent: Yandex Disallow: /admin Disallow: /profile. php Disallow: /viewonline. php Disallow: /login. php Disallow: /search. php Disallow: /memberlist. php В вашем случае административные разделы могут быть другими. Далее директивой Clean-param опишем динамический параметр из адреса страницы – sessionid User-agent: Yandex Disallow: /admin Disallow: /profile. php Disallow: /viewonline. php Disallow: /login. php Disallow: /search. php Disallow: /memberlist. php Clean-param: sessionid /view/seo/ Согласно записи в строке Clean-param поисковая система будет приводить к единому виду все адреса ветки данного форума www. luboi-forum. ru/view/seo/ где содержится параметр sessionid. Все наши рассматриваемые адреса: http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=1 http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=2 http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=3 будут сведены к одному адресу: http://www. luboi-forum. ru/view/seo/them=1765&page=2&sessionid=1 И ниже допишем директивы Host и Sitemap: User-agent: Yandex Disallow: /admin Disallow: /profile. php Disallow: /viewonline. php Disallow: /login. php Disallow: /search. php Disallow: /memberlist. php Clean-param: sessionid /view/seo/ Sitemap: http://www. luboi-forum. ru/sitemap. xml Host: http://www. luboi-forum. ru Таким образом, бот Яндекса наткнувшись в robots. txt на директиву Clean-param перестанет собирать дублированные адреса, и ваш форум будет очищен от ненужного мусора в выдаче. robots. txt 0 коммент. Метки:   clean-param, Disallow, robots. txt, Яндекс

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus