Как убрать Session ID (sid, &s=) в форуме vBulletin
Размещено 2010-07-04
в разделе SEO | Метки:
Яндекс, vBulletin
Наконец то удалось найти как убрать Session ID для Яндекса, так как это создавало кучу дублированных страниц. Дело в том что Яндекс как то криво либо вообще не поддерживает Cookies, в результате когда он обходит форум, то урлы получаются типа таких
77.88.29.246 - - [03/Jul/2010:21:44:35 -0500] "GET /showthread.php?t=28&page=1&s=0988eb13e1299364b005dbb56dc22936 HTTP/1.1" 200 12354 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 77.88.29.246 - - [03/Jul/2010:21:59:18 -0500] "GET /showthread.php?t=32&page=1&s=ef313fea3043774b0db6a2a4939bb59d HTTP/1.1" 200 9718 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 77.88.29.246 - - [03/Jul/2010:22:13:53 -0500] "GET /showthread.php?t=33&s=0beedb4d1ac65d98a47041aec15d37e0&pagenumber= HTTP/1.1" 200 10786 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
&s=0988eb13e1299364b005dbb56dc22936 - каждый раз появляется новый, в результате страниц получается тысячи, к счастью это можно легко исправить, открываем файл includes/init.php
находим
<?php
$show['search_engine'] = ($vbulletin->superglobal_size['_COOKIE'] == 0 AND preg_match("#(google|msnbot|yahoo! slurp)#si", $_SERVER['HTTP_USER_AGENT']));
?>заменяем на
<?php
$show['search_engine'] = ($vbulletin->superglobal_size['_COOKIE'] == 0 AND preg_match("#(yandex|google|msnbot|yahoo! slurp)#si", $_SERVER['HTTP_USER_AGENT']));
?>Так же для того чтобы Яндекс бот отображался в списке ботов в разделе "Кто онлайн" можно отредактировать файл includes/xml/spiders_vbulletin.xml и добавить в него
<spider ident="YandexBot"> <name>Yandex Bot</name> </spider>