Как создать правильный robots.txt для joomla?

Joomla!

Уже где то у себя на блоге писал про то, как работать с robots.txt – какие правила его написания и т.п. В этой статье хочу сделать небольшое дополнение.

Недавно просматривая находящиеся в индексе страницы, заметил парочку совершенно не нужных там вещей.  Была там несколько динамических страниц с атрибутом ?start= . Как я понял это проиндексировались разбивки блога на страницы (ну это страницы соответствующие циферкам 1-2-3-4 и т.п. внизу главной страницы). Но это полбеды, буквально на днях появилась группа страниц с атрибутом ?layout= .

Включая у joomla SEO, мы тем самым создаем два типа ссылок на страницы нашего сайта. А это есно не гуд. Поэтому что бы у нас в индексе не сидели ссылки вида бла бла бла/index.php?что-нитьтамещё, нужно внести соответствующую запись. Единственная проблема что ссылки подобное вида могут формировать некоторые нужные компоненты, на которых местный sef не работает. Например, такие компоненты как карта сайта. Она формирует ссылку вида http://www.butart.ru/index.php?option=com_xmap&sitemap=1&view=xml. Поэтому чтобы карта сайта индексировалась – разрешите её индексацию. Про allow помним да?

Дубли страниц с /index2.php тоже нам не очень нужны.

Так же всевозможные ленты закрываем к индексации. Я о rss и atom. А то у меня на этом сайте проиндексировались rss у коментов. В итоге яшка нашел в 3 раза больше страниц чем нужно. Поэтому эти вещи тоже запрещаем, даже если вы ими не пользуетесь.

Бывают, выскакивают динамические ссылки с параметром sl, так же безбожно убиваем.

Запретим на всякий случай и ссылки на всякие pdf, отправка почтой (emailform) и на принтер (print).

Так же некоторые компоненты бывает безобразничают. Поэтому не забываем и это добро закрыть /component/.

В связи со всем вышесказанным решил внести пару новых запретов в файл robots.txt для своего блога на joomla. Ну и немного его подкорректировал – перенес правила для яшки в начало, а для всех остальных в конец.

Вот ещё что вспомнил. Нарыл в справке яшки – перед каждой директивой 'User-agent', было бы чудествно и очень желательно добавлять пустую строку. Т.е. начинаем наш файл robots.txt заполнять со второй строки.

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

User-agent: Yandex
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/*
Disallow: /component/search/
Disallow: /component/content/
Disallow: /component/jcomments/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*?layout
Disallow: /*?start
Disallow: /*rss.html
Disallow: /*atom.html
Disallow: /*?sl
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*print=1
Disallow: /*format=pdf
Disallow: /index.php?
Disallow: /index2.php?
Host: www.butart.ru
Sitemap: http://www.butart.ru/index.php?option=com_xmap&sitemap=1&view=xml

User-agent: *
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/*
Disallow: /component/search/
Disallow: /component/content/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*?layout
Disallow: /*?start
Disallow: /*rss.html
Disallow: /*atom.html
Disallow: /*?sl
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*print=1
Disallow: /*format=pdf
Disallow: /index.php?
Disallow: /index2.php?
Sitemap: http://www.butart.ru/index.php?option=com_xmap&sitemap=1&view=xml

Надеюсь, все правильно сделал. Впрочем, скоро посмотрим чего у меня в индексе останется :). Думаю созданный подобным образом robots.txt, будет более правильным.

Вообще иной раз, смотря, что попадает в индекс, возникает  желание запретить всё и ставить разрешения только на нужные вещи. На данный момент яша знает про 393 страницы, хотя в поиске используется только 139. Полечим, посмотрим. Попозже можно добавить ещё это Disallow: /index.php. Просто пока у меня в индексе много таких страниц, удалим сначала иные ненужности и доберемся до index.php.

 

Комментарии  

 
#4 avadon7 02.11.2011 20:34
Цитирую Алекс:
тебе хост бы ещё добавить в робота, покрайней мере яша так же его просит прописывать

все прописано ;)
Цитировать
 
 
#3 avadon7 02.11.2011 20:31
Цитирую Михаил:
А разве деректива User-agent: * не распостраняется на всех роботов?, Зачем еще повторять для Яндекса? User-agent: Yandex

Хотя бы для того, что не все роботы понимают директиву Host:
Цитировать
 
 
#2 Гость 17.10.2011 15:42
А разве деректива User-agent: * не распостраняется на всех роботов?, Зачем еще повторять для Яндекса? User-agent: Yandex
Цитировать
 
 
#1 Гость 08.09.2011 10:13
тебе хост бы ещё добавить в робота, покрайней мере яша так же его просит прописывать
Цитировать