JavaScript и поисковые роботы

Mister Gold

Создатель
Регистрация
23 Июл 2013
Сообщения
1
Реакции
0
Доброе время суток!

Это вставляется в начале html страницы:

Код:
<script type="text/javascript">
var spider_detect = function(user_agent) {
var agent_dump = [
['Aport', 'Aport robot'],
['Google', 'Google'],
['msnbot', 'MSN'],
['Rambler', 'Rambler'],
['Yahoo', 'Yahoo'],
['AbachoBOT', 'AbachoBOT'],
['accoona', 'Accoona'],
['AcoiRobot', 'AcoiRobot'],
['ASPSeek', 'ASPSeek'],
['CrocCrawler', 'CrocCrawler'],
['Dumbot', 'Dumbot'],
['FAST-WebCrawler', 'FAST-WebCrawler'],
['GeonaBot', 'GeonaBot'],
['Gigabot', 'Gigabot'],
['Lycos', 'Lycos spider'],
['MSRBOT', 'MSRBOT'],
['Scooter', 'Altavista robot'],
['AltaVista', 'Altavista robot'],
['WebAlta', 'WebAlta'],
['IDBot', 'ID-Search Bot'],
['eStyle', 'eStyle Bot'],
['Mail.Ru', 'Mail.Ru Bot'],
['Scrubby', 'Scrubby robot'],
['Yandex', 'Yandex'],
['Mediapartners-Google', 'Mediapartners-Google (Adsense)'],
['Slurp', 'Hot Bot search'],
['WebCrawler', 'WebCrawler search'],
['ZyBorg', 'Wisenut search'],
['ia_archiver', 'Alexa search engine'],
['FAST', 'AllTheWeb'],
['YaDirectBot', 'Yandex Direct']
];
for(var j=0;j<agent_dump.length;j++) {
if(user_agent.toLowerCase().indexOf(agent_dump[j][0].toLowerCase())!=-1) {
return agent_dump[j][1];
}
}
return false;
}
</script>
[/spoil]

Это вставляется в то место где расположен тизер либо баннер:

[spoil]
Код:
<script type="text/javascript">
if(!spider_detect(navigator.userAgent))
{
document.write("рекламный материал");
}
</script>

Проверял на браузере Opera, при вписывании User Agent браузера, реклама не отображалась.

Возник вопрос, способен ли робот от Яндекса и Google обрабатывать сию конструкцию и не отображать рекламу поисковому роботу?
 
Я бы не рискнул. Будь я ботом, меня бы насторожила проверка, являюсь ли я user_agent поисковой системы. Вполне логично, что мне могут показать контент отличный от того, который видит пользователь.
Правда не знаю, прокатит ли такая схема, если код пропустить через обфускатор.
 
я думаю если бот сам видит этот скрипт полностью и сам себе должен запрещать это , то подозрительно конечно.. А если сайт будет запрещать сам выдачу контента то и бот не узнает ничего.
 
Вообще, всё тоже самое делается на стороне сервера (будь то PHP или другой серверный язык)...
Код:
<?php
if (!is_search_bot()){
// тут выводим блок с рекламой
}
Реализацию можно подсмотреть здесь, например..
Для просмотра ссылки Войди или Зарегистрируйся
при необходимости - дополнить (yandex, rambler и тд)

Однако, формально это чистой воды клоакинг, который не приветствуется поисковыми системами.
 
Постарайтесь "замаскировать" логику выполнения под что то другое.. Например под вывод комментариев (что поисковые боты вполне хорошо понимают). Используйте в именах переменных и функций завуалированные слова типа "comments, show_comments, detect_comment"... Чем сложнее логика функции тем меньше шансов что клоакинг будет распознан )
 
Лучше такую логику выполнять на стороне сервера и боту подсовывать уже сформированную страницу. Поисковый робот может и не обрабатывать javascript-ы на странице или расценивать результат их действий с минимальным весом.
 
Назад
Сверху