Какие редиректы Google и другие поисковики могут обрабатывать

В первом примере кода, обработанного поисковым роботом, мы видим стандартную
команду редиректа.

<script language=”JavaScript”>
document.location.href = “http://www.site.com/directory/1.html”;
</script> 

Во втором примере редирект осуществляется при помощи зашифрованного скрипта:

<script language=’JavaScript’>var str =
‘wbs%21s%3Eepdvnfou%2Fsfgfssfs-u%3E%23%23-r%3C

%0B%21%21%21%21%21%21%21%21%21%21%21%21%21%21

epdvnfou%2Fmpdbujpo%3E%23iuuq%3B00xxx%2Fbetpgu.efwfmpqnfou

%2Fdpn0uftukt03fod%2Fiunm%23%3C’; str = unescape(str); res = ”; for (var i = 0;
i < str.length; i++){ res += String.fromCharCode(str.charCodeAt(i)-1); }
eval(res);</script>

В третьем примере индексирующему роботу предстояло обработать часть скрипта в
iframe, с чем он успешно справился и перешел по ссылке:

<iframe xsrc=”http://www.site.com/directory/f.html”
width=”100%” height=”100%” frameborder=0 hspace=0 vspace=0 marginwidth=0
marginheight=0 allowtransparency=true scrolling=no></iframe> 

Редиректы которые пока не "палятся":


На одной из
страниц редирект был сделан таким образом, что обработать и
исполнить его мог либо браузер, либо краулер с функциями
форматирования и обработки блоков HTML страницы, подобными
браузерным. Скрипт выглядел примерно так:

<div
style=”overflow:auto; height: 1px;”>
<table width=”100%”>

<tr><td
id=”first”>1234567890</td><td>1234567890</td></tr>

<tr><td>1234567890</td><td
id=”second”>1234567890</td></tr>

</table>
</div>

<script language=”JavaScript”>

var D=document;

function AbsPos(O, Parent){
var X=0, Y=0, Next, D=document;

Next=O; if (Parent==null) Parent=D;
while (Next!=null && Next!==Parent){
Y+=Next.offsetTop; X+=Next.offsetLeft; Next=Next.offsetParent;
}
return [X, Y];
}

var first =
AbsPos(D.getElementById(’first’));

var second =
AbsPos(D.getElementById(’second’));

if (first[0] != second[0]) {
document.location.href = “http:/’+'/www.site.com/directory/t.html”;
}

else {
document.write(’whatever‘);
}

</script>

Как выяснилось,
боты поисковых систем такими свойствами  не
обладают. Воспользовавшись этим наблюдением, можно редиректить
только браузеры реальных пользователей, полностью скрывая
истинное назначение объекта javascript от краулеров поисковых
систем.

В следующем
примере редирект должен был срабатывать при наведении курсора
мыши на активное окно браузера:

<script language=”JavaScript”>

function f(){
document.location.href = “http://www.site.com/directory/x.html”;
}

window.onFocus = f()

</script> 

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

В третьем образце
кода URL-ссылка помещалась в теле js-объекта, но не служила
редиректом.

<script language=”JavaScript”>
function rnb() {
http://www.site.com/directory/abc.html
}
</script> 

По этой ссылке
краулеры тоже не прошли, из чего следует еще один вывод. Команды
языка javascript индексирующие роботы компании Google и других
поисковых систем обрабатывают корректно, то есть исполняют
скрипт, и “видят” результат выполнения скрипта. Однако
раскладывать скрипт на составляющие, т.е. парсить, не умеют.
