воскресенье, 18 ноября 2007 г.

Окапываемся в SAPE (часть вторая)

или увеличиваем энтропию говнолинков

В связи с тем, что в последнее время наблюдается тенденция пессимизации сайтов поисковыми системами за разведение говнолинкопомоек, мною была предпринята попытка несколько обезопасить свои проекты от вышеописанной участи. Обходные маневры были направлены на то, что бы несколько сбить с толку очередную поисковую роботварь, норовящую определить факт продажности сканируемого ресурса и уже наверняка окопаться в Sape по самые помидоры.

Рассмотрим представленный ниже блок ссылок в качестве примера:

стринговые труселя квартиру застрахуй в Австралии пластиковые окна из мозаики, голые телки валяльня тормозные мыши колодки

Если поисковый робот, наткнувшись на такой блок ссылок, не вывалиться в эпилептическом экзепшене, то с большой вероятностью сайт попадет под карандаш поисковика.

Наша задача как можно больше растворить линки в релевантном околоссылочном контенте, тем самым в среднем уменьшив концентрацию говонолинков на странице сайта. За основу я взял все ту же статью ЛенОблБомжа, о которой я упоминал в предыдушем посте о своем знакомстве с Сапой. Только в моем случае я не разделяю на отдельные блоки, а генерирую более менее осмысленные предложения с саповскими ссылками и вывожу их случайным образом на страницу. Хотя ничто не мешает объединить эти две функциональности в одно целое и ещё больше замаскироваться и защитится от всевозможных песочниц.

Замечу, что PHP не мой родной язык, на котором я думаю, разговариваю, и брежу во сне, так что за качество кода не ручаюсь.

<?php
// Этот код можно забубендить в начало
global $sape;
define('_SAPE_USER', 'xxx'); // xxx заменить на нужный код
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();

// генератор говноссылочных фраз
function generate_phrases($count_links=0) {
global $sape;
// массив фраз
$phrases = array(1=>
'Культ джайнизма включает в себя %s и поклонение Махавире.',
'Гравитационный парадокс, по определению не учитывает мнение, однако допускает %s. ',
'Гештальт многопланово притягивает %s, прослеживая методологию во многих сущностях.',
'Чем больше фраз в этом массиве, тем меньше концентрация говнолинков, таких как %s');
// пробегаем по всем ссылкам
for ($i = 0; $i < $count_links; $i++) {
// выбираем рандомом индекс в массиве фраз
$indx = rand(1,count($phrases));
if (!isset($phrases[$indx])) {
// если уже удален из массива, берем сначало по порядку другой индекс
for ($j = 1; $j <= count($phrases); $j++) {
if (isset($phrases[$j])) { // снова проверим
$indx = $j;
break; //нах с цикла
}
}
}
$link = "<span style='text-transform: lowercase;'>".$sape->return_links(1)."</span>";
$phrase = $phrase.sprintf($phrases[$indx],$link).".";
// удаляем нах из массива
unset($phrases[$indx]);
}
return $phrase; //вяртаем в зад :)
} ?>

...

<?php // Этот код вставляем туда, где нам надо отобразить ссылки
// Сначало проверяем есть ли вааще ссылки на этой странице
$count_links = count($sape->_links_page);
if ($count_links > 0) { // если есть ссылки, то отображаем их
?>
<div>
<h1>Новости</h1>
<div><?php echo generate_phrases($count_links); ?></div>
</div>
<?php }
?>

На всякий случай стоит везде где только возможно (в комментариях, в идентификаторах, классах стилей ) убрать любое упоминание о SAPE, дабы наверняка и окончательно исключить любые подозрения.

Если надумаете воспользоваться этим мегакодом, не забудьте сначала зарегистрироваться в Сапе, а то ничё не получится :)

Удачи Вам.

3 Comments:

Анонимный said...

а мысль ващето интересная

Анонимный said...

Идея действительно интересная, а где можно посмотреть на пример того что получилось?

Анонимный said...

… где можно посмотреть на пример того что получилось? А чего тут смотреть-то. Вставьте в строку из массива фраз $phrases взамен '%s' любую из предложенных в примере ссылок и прикиньте, что в итоге получиться.