| 
				
					| Леголегс | Отправлено: 13 марта 2010 — 19:16   |  
					| 
 
  Junior Member
 
  
 Покинул форум
 Сообщений всего: 87
 Дата рег-ции: Март 2010
 Репутация: 12
 
 
 
 
  
 | Апнем тему. Я тут решил составить "идеальный" robots.txt раз и навсегда. Получилось вот такое:
 
 CODE:User-agent: *Disallow: /admincenter.php
 Disallow: /forums.php?action=markall
 Disallow: /index.php?c=
 Disallow: /loginout.php
 Disallow: /messenger.php
 Disallow: /postings.php
 Disallow: /post.php
 Disallow: /printpage.php
 Disallow: /profile.php?action=lostpassword
 Disallow: /register.php
 Disallow: /search.php
 Disallow: /set*.php
 Disallow: /tools.php?action=chat
 Disallow: /tools.php?action=mail
 Disallow: /tools.php?action=online
 Disallow: /tools.php?action=preport
 Disallow: /tools.php?action=smiles
 Disallow: /tools.php?action=threadstop
 Disallow: /index.php$
 Disallow: /forums.php?forum=*&p=1$
 Disallow: /tools.php?action=members&s=&order=ASC&p=1$
 Disallow: /topic.php?forum=*&topic=*&p=1$
 Disallow: /topic.php?forum=*&topic=*&postid=
 Disallow: /topic.php?forum=*&topic=*&v=l
 
 Делалось для форума на своём домене. Если ваш форум в поддиректории forum - везде исправьте /messenger.php на /forum/messenger.php и т.д.
 Задачи, решаемые этим robots.txt: минимизация никому не интересных вещей в выдаче (например, отлупы незареганым), минимизация слишком динамических вещей, минимизация дублирования инфы. Задача продвижения в результатах не стояла.
 Какие-то вопросы/коменты/исправления?
 
 Заранее скажу: / и /index.php - одинаковые, так что одну надо выкинуть. Тоже самое касается
 /forums.php?forum=*&p=1$ и /forums.php?forum=*$
 /tools.php?action=members&s=&order=ASC&p=1$ и
 /tools.php?action=members$
 /topic.php?forum=*&topic=*&p=1$ и /topic.php?forum=*&topic=*$
 Отдельно надо упомянуть /topic.php?forum=*&topic=*&postid= и /topic.php?forum=*&topic=*&v=l - они страшно замусоривают выдачу.
 
 Правила форума на подопечном ресурсе свои, так что они не исключены из выдачи. Если кому надо -
 
 CODE:Disallow: /tools.php?action=rules (Отредактировано автором: 13 марта 2010 — 19:20) |  
					|  |  |  
				
					| Леголегс | Отправлено: 13 марта 2010 — 22:23   |  
					| 
 
  Junior Member
 
  
 Покинул форум
 Сообщений всего: 87
 Дата рег-ции: Март 2010
 Репутация: 12
 
 
 
 
  
 | nikk пишет:Главная - это /Зачем закрывать главную страницу? 
 vipraskrutka пишет:А. Ты имеешь ввиду, что спецсимволы * и $ нестандартны? Да, наверно надо отделить. User-agent: * лучше сделать попроще 
 alexx пишет:Ты противоречишь сам себе. То предлагаешь "остальное" убрать, то приводишь вариант с закрытыми /cache/ и т.д. Я, кстати, служебные директории (например, templates) не вносил в список. Там и так пустые страницы видны. А можно даже чмоднуть их поособому, чтоб php их читать мог, а httpd напрямую - нет. Но это не на всех хостах получится.Думаю, нужно оставить, то что относится к контекту форума.Остальное нафиг с пляжа.
 |  
					|  |  |  
				
					| Леголегс | Отправлено: 13 марта 2010 — 22:52   |  
					| 
 
  Junior Member
 
  
 Покинул форум
 Сообщений всего: 87
 Дата рег-ции: Март 2010
 Репутация: 12
 
 
 
 
  
 | vipraskrutka пишет:Не понял. Вылетала - в смысле показывалась или наоборот, исчезала?что все было так просто, я закрывал index.php - в яндексе вылетала морда / 
 
 vipraskrutka пишет:Ясно. Я писал под яндекс, думал различия не сильно велики.ага, смотреть нужно спецификацию конкретных ботов 
 
  Вот что я в вебдеве ненавижу - так это ситуацию с всевозможными стандартами. Куда ни плюнь - либо стандарта нет вообще, либо его все нарушают, либо в стандарте три строчки и все лепят расширения. Хорошо, что мой доход от этой помойки не зависит. (Отредактировано автором: 13 марта 2010 — 22:56) |  
					|  |  |  
				
					| Леголегс | Отправлено: 13 марта 2010 — 23:22   |  
					| 
 
  Junior Member
 
  
 Покинул форум
 Сообщений всего: 87
 Дата рег-ции: Март 2010
 Репутация: 12
 
 
 
 
  
 | Zeg пишет:Ну я ж говорю, SEO не было целью. А на серьёзных форумах правила часто правятся. Но, в принципе наверно можно заблочить правила в роботс, а в коментах файла правил оставить пометку: если меняете этот файл, возможно, стоит разрешить его индексацию. хелп и рулесы не такая уж ценная инфа, особенно учитывая, что она у 98% форумов одинаковая (типовая), что не есть гуд для искалок. 
 Zeg пишет:Почему? Вообще не понимаю этот геноцид незарегистрированных в рунете. Ссылки скрывают, картинки скрывают. Если в поиске мне попадается такой сайт - ctrl-w и всё. Регистрироваться ещё я должен, обойдутся.А список юзеров и вовсе лучше закрыть от посторонних (незарегистрированных) глаз. 
 
 Zeg пишет:Ага, спасибо.Disallow: index.php?action=resetall (Отредактировано автором: 13 марта 2010 — 23:25) |  
					|  |  |  
				
					| Zeg | Отправлено: 14 марта 2010 — 01:21   |  
					| 
  
 
  Super Member
 
  
 Покинул форум
 Сообщений всего: 891
 Дата рег-ции: Март 2009
 Откуда: Беларусь
 Репутация: 89
 
 
 
 
  
 | Леголегс пишет:Кроме того, тут уже упоминалось, что с символом $ надо осторожнее. Специально полистал доки, проблем с * и $ ни у Яндекса, ни у Гугла быть не должно, т.к. эти символы и там, и там описаны, как рекомендованные к применению. До остальных искалок как-то дела нет, но думаю дела там не хуже обстоят.
 
 Как гугл попадает - хез, но попадает же...
 (Добавление)
 С Гугла:
 
 
 Цитата:Чтобы задать соответствие конечных символов URL-адреса, используйте символ $. Например, чтобы заблокировать доступ к URL, оканчивающемуся на .xls, используйте следующие строки:  CODE:User-agent: GooglebotDisallow: /*.xls$
 
 С Яндекса:
 
 
 Цитата:Использование спецсимволов "*" и "$". 
При указании путей директив Allow-Disallow можно использовать спецсимволы '*' и '$', задавая, таким образом, определенные регулярные выражения. Спецсимвол '*'  означает любую (в том числе пустую) последовательность символов. Примеры: 
 CODE:Спецсимвол '$'.User-agent: YandexDisallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx'
 # и '/cgi-bin/private/test.aspx'
 Disallow: /*private # запрещает не только '/private',
 # но и '/cgi-bin/private'
 
По умолчанию к концу каждого правила, описанного в robots.txt, приписывается '*', например: 
 CODE:User-agent: YandexDisallow: /cgi-bin* # блокирует доступ к страницам
 # начинающимся с '/cgi-bin'
 Disallow: /cgi-bin # то же самое
 
чтобы отменить '*' на конце правила, можно использовать спецсимвол '$', например: 
 CODE:User-agent: YandexDisallow: /example$ # запрещает '/example',
 # но не запрещает '/example.html'
 CODE:User-agent: YandexDisallow: /example # запрещает и '/example',
 # и '/example.html'
 CODE:User-agent: YandexDisallow: /example$ # запрещает только '/example'
 Disallow: /example*$ # так же, как 'Disallow: /example'
 #запрещает и /example.html и /example
 |  
					|  |  |  
				
					| Zeg | Отправлено: 31 марта 2010 — 21:58   |  
					| 
  
 
  Super Member
 
  
 Покинул форум
 Сообщений всего: 891
 Дата рег-ции: Март 2009
 Откуда: Беларусь
 Репутация: 89
 
 
 
 
  
 | Проанализировал статистику по 5 разным форумам и их индексации в Яндексе. На тех форумах, которые Яндекс не любит особо часто посещать и вдаваться в дебри вот эти строки не рекомендованы: 
 
 CODE:Disallow: /forums.php?forum=*&p=1$Disallow: /tools.php?action=members&s=&order=ASC&p=1$
 Disallow: /topic.php?forum=*&topic=*&p=1$
 
 По логике - они верны, т.е. "отсекаются" дубли страниц, которые искалки серьезные (аля Гугл) не приветствуют. Т.е., к примеру,адреса мой.сайт/forums.php?forum=1&p=1 и мой.сайт/forums.php?forum=1 идентичны. И это плохо.
 
 Но! Яндекс же не всегда поддаётся логике, поэтому, дальше страницы 1, т.е. с &p=1 он почему-то не идет, хотя на другие страницы явно есть ссылки (даже с той же первой страницы без &p=1). И эти страницы с параметром тоже в индекс не добавляет, т.к. они запрещены в robots-е. Почему так себя ведет Яндекс - понять нельзя.
 
 
 
  Немного оффтоп. Юра , есть смысл вообще на уровне движка избавится от дублей таких страниц, т.е. сразу при генерации на странице ссылок очень хорошо бы отбрасывать этот параметр (&p=1 ) за ненадобностью. Леголегс  об этом писАл раньше .
 Еще нужно добавить в robots.txt вот такую строку:
 
 CODE:Disallow: /forum/printfile.php?action=attach* 
 Яндекс на вложениях тоже иногда такую "дурь" выкидывает, страх.
 
 А вот строку со ссылкой на "Рейтинг популярных тем":
 
 
 CODE:Disallow: /tools.php?action=threadstop 
 я бы в robots.txt не писал. Наоборот с этой страницы масса ссылок на популярные и последние темы. Перелинковка здоровская!
 
 зы. Раньше уже писал, нужно ссылки на последние сообщения форумов и подфорумов привести в "божеский" вид, т.е. они вот такие ваш.сайт/forum/topic.php?forum=ХХ&topic=Н&v=l#12345678 и, в соответствии с robots.txt, просто запрещены к индексации. Для тех, кто хочет это сделать самостоятельно, инструкиция под спойлером ниже.
 
 
 Инструкция (Отобразить)
Открываем файл index.php  и строку
 CODE:$sub_lastpost = '<a href="topic.php?forum='.$subid.'&topic='.$allforums[$subid]['last_post_id'].'&v=l#'.$allforums[$subid]['last_key'].'" title="'.$allforums[$subid]['last_post'].'">'.$sub_lastpost.'</a>'; 
заменяем на
 CODE:$sub_lastpost = '<a href="topic.php?forum='.$subid.'&topic='.$allforums[$subid]['last_post_id'].'&postid='.$allforums[$subid]['last_key'].'#'.$allforums[$subid]['last_key'].'" title="'.$allforums[$subid]['last_post'].'">'.$sub_lastpost.'</a>'; 
Строку
 CODE:$LastTopicName  = '<img src="./templates/'.DEF_SKIN.'/im/lastpost.gif"> '.($fm->exbb['show_hints'] ? '<span class="hint">' : '').'<a href="topic.php?forum='.$id.'&topic='.$forum['last_post_id'].'&v=l#'.$forum['last_key'].'" title="'.$forum['last_post'].'">'.$LastTopicName.'</a>'.($fm->exbb['show_hints'] ? '</span>' : ''); 
заменяем на
 CODE:$LastTopicName  = '<img src="./templates/'.DEF_SKIN.'/im/lastpost.gif"> '.($fm->exbb['show_hints'] ? '<span class="hint">' : '').'<a href="topic.php?forum='.$id.'&topic='.$forum['last_post_id'].'&postid='.$forum['last_key'].'#'.$forum['last_key'].'" title="'.$forum['last_post'].'">'.$LastTopicName.'</a>'.($fm->exbb['show_hints'] ? '</span>' : ''); 
При желании можно поправить по аналогии файлы forums.php :
 
строку
 CODE:$LastTopicName  = '<img src="./templates/'.DEF_SKIN.'/im/lastpost.gif"> '.($fm->exbb['show_hints'] ? '<span class="hint">' : '').'<a href="topic.php?forum='.$id.'&topic='.$forum['last_post_id'].'&v=l#'.$forum['last_key'].'" title="'.$forum['last_post'].'">'.$LastTopicName.'</a>'.($fm->exbb['show_hints'] ? '</span>' : ''); 
заменить на
 CODE:$LastTopicName  = '<img src="./templates/'.DEF_SKIN.'/im/lastpost.gif"> '.($fm->exbb['show_hints'] ? '<span class="hint">' : '').'<a href="topic.php?forum='.$id.'&topic='.$forum['last_post_id'].'&postid='.$forum['last_key'].'#'.$forum['last_key'].'" title="'.$forum['last_post'].'">'.$LastTopicName.'</a>'.($fm->exbb['show_hints'] ? '</span>' : ''); (Отредактировано автором: 31 марта 2010 — 23:52) |  
					|  |  |  |