вторник, 20 января 2009 г.

Скрываем ссылки Sape (Перенесено с adres14.ru)

Потребности растут, желания тоже =) а вот возмоности как всегда не так безграничны, как желания и потребности.

Краткая предистория: сделал сайт засунул в sape, когда на сайте столо около 200 страниц и он полностью попал в индекс Яндекса, решил продать с него ссылки....

Получилось вот что: у сайта постоянно росло количество страниц и естетсвенно количество ссылок, которые с них продаются, Яндекс, как и многие интернет сайты которые проверяют на продажность, почему-то стали выдавать что у меня типа много ссылок, которые продаются =) и количество типа 5-3-2, - не имеет ни какого весомого смысла, можно ставить и 15-15-15 на самом деле.

Короче: смотрел как человеки борются с данным фактом и почему-то у меня с сайтами без реврайта выходила какая-то ерунда, то ссылки пропадали, хотя в нужных полях указывал все как надо.

после require_once(_SAPE_USER.'/sape.php'); (или что-то вроде этого)

делаем так:
//переменные которые фигурируют в адресной строке
//если не прописать все переменные, то они вырежуться из запроса
//так что внематочно смотрите какие переменные у вас передаются в адрсесной строке
$allowed_var=array("op", "name", "id", "idcat", "page");
// данные переменные пременялись в PHP-nuke, это как пример для размещения переменных

$mega_request = explode("?",$_SERVER['REQUEST_URI']);

if (isset($mega_request[1])) {
$kolvovars=preg_match_all("/(.*)=(.*)\&/Uis",$mega_request[1]."&",$matchaddress); //смотрим что засунули в адресную строчку....
$arrayofaddress=array();
for ($i=0; $i < $kolvovars; $i++) { //смотрим количество переменных вытащенных из адресной строики после "?"
if (in_array($matchaddress[1][$i],$allowed_var)) {//сравниваемс разрешенными полученными переменными и на пустоту переменных
$arrayofaddress[]=$matchaddress[1][$i]."=".$matchaddress[2][$i]; }
}
$mega_request[1]=implode("&",$arrayofaddress); //объединяем полученное значенеие адресной строки и восстанавливаем путь...
$implode = array($mega_request[0],$mega_request[1]);
$sape_options['request_uri']= implode("?",$implode);
$_SERVER['REQUEST_URI']= implode("?",$implode);
}

Исправлен косяк, обнаружен баг =)

И потом вводим данное чудо в код sape:
$sape = new SAPE_client($sape_options);

Блин опять косяк забыл про регистры.... надо у квантификатора preg_match_all убрать i, а то странички у поисковика заваливаются....

На самом деле работает везде где есть ссылки с подобных систем: linkfeed и пр.....

Комментариев нет:

Тык Тык UpToLike