Готовы результаты следующего эксперимента, целью которого было узнать, какие из поисковых систем понимают JavaScript код, и передается ли ссылочный вес через яваскрипт-ссылки.
Сама экспериментальная страница расположена здесь: Парсят ли поисковики JavaScript. В ней находятся одно текстовое слово “джаватекст” и две ссылки, обе заключены в document.write, но адрес во второй ссылке записан не в атрибуте href, а с помощью свойства onclick. То есть,
<script type="text/javascript">document.write("<a href="#" onclick="location.href='http://seogen.net/';">онкликссылка</a>");</script>
Результаты показывают, что яваскрипт понимает Google и российский поисковик Nigma. Остальные поисковые системы (Yahoo, Bing, Яндекс, Рамблер, AltaVista) с яваскриптом не работают. Итак, о результатах.
Закрытие ссылок в яваскрипт для Google
Google прекрасно понимает яваскрипт код, даже если он не очень простой (информация в том числе для дорвеистов).
Если искать по слову из ссылки, то находится и донор и акцептор, то есть, ссылочное через яваскрипт-ссылки передается. Это работает для первого случая, то есть, когда адрес в ссылке расположен в атрибуте href.
Для ссылки с переходом по событию onclick ссылочный вес в гугле не передался, но Google распознает такие ссылки, и ходит по ним, как заявлял у себя на блоге Мэтт Катс. А если он их распознает, значит они также участвуют в перераспределении веса, таким образом, являясь аналогом использования атрибута rel=nofollow.
Nigma понимает яваскрипт
Для меня это было открытием. С Яндексом было известно, что с яваскриптом он не работает, однако найти в Рунете поисковую систему, понимающую js-код, было неожиданно. Вы это можете проверить, введя одно или несколько слов с экспериментальной страницы.
Более того, ссылочный вес через подобные ссылки передается в Нигме также, как и в гугле акцептору (исключение – onclick ссылка).
Кстати, в недавнем интервью с Александром Садовским, на вопрос “Какие российские поисковики Вы могли бы отметить как наиболее перспективные и, возможно, конкурентные?“ он ответил: Наиболее живая “Нигма” — они постоянно что-то добавляют и меняют, на это интересно смотреть.
Выводы
Повторяясь, подытожим результаты эксперимента.
1. Google прекрасно автоматически палит доры и сайты, содержащие вирусы.
2. Ссылочное по яваскрипт-ссылкам в Google передается. Соответственно, передается PageRank со всеми вытекающими последствиями. Cпособ использования события onclick является аналогом использования атрибута rel=nofollow.
3. Яндекс javascript не парсит, соответственно, это можно использовать в своих целях, например, перелинковке. По текстам, выводимых на странице с помощью скрипта, невозможно найти акцептор.
4. Nigma — перспективная поисковая система.






Kreatiff
Июнь 24, 2009 at 12:48
1Спасибо Автору ! Очень познавательная статья, как раз сейчас изучаю Java – было интересно почитать про передачу ссылочного.
Kinatope
Июнь 24, 2009 at 12:55
2Интересный эксперимент. Добавил Нигму в закладки.
e-Surfer
Июнь 24, 2009 at 12:58
3т.е. Яндекс в силу того что не работает с яваскриптом не может попалить ява-редирект в дорах?!я правильно понимаю?
Devaka
Июнь 24, 2009 at 13:02
4e-Surfer, возможно, Яндекс какие-то паттерны использует для доров, но напрямую javascript он не парсит, чтобы искать по нему текст и/или ссылки. С дорами надо более детально проводить эксперименты.
Slasyz
Июнь 24, 2009 at 14:12
5Юзаю Нигму, тоже очень доволен.
defs
Июнь 24, 2009 at 14:43
6Nigma использует результаты поиска нескольки других поисковиков, в т.ч. и Гугла. Наверняка для эксперимента Nigmу Сергей использовал только с одной последней галкой, но этого не указано и вопрос поэтому возникает: не усосала ли Нигма ссылку с Гугла?
defs
Июнь 24, 2009 at 14:46
7Кстати на скриншоте галки как раз стоят все, что означает использование результатов всех перчисленных поисковых систем
http://devaka.ru/images/429.gif
Николай
Июнь 24, 2009 at 14:50
8Это был один из пунктов моей диссертации :)
В 2004 году Google не понимал джаваскрипт. Собираемую строку можно было прятать от поисковиков и роботов.
Devaka
Июнь 24, 2009 at 15:12
9defs, да, верно. Денис Иванов попросил логи посмотреть. Оказалось, что Нигма не обращалась к экспериментальной странице. Выводы относительно Нигмы тогда немного другие…
Николай, приятно, что среди нас находятся ученные.
Николай
Июнь 24, 2009 at 15:17
10Спасибо :)
Более приятно, что технологии не стоят на месте и их постоянно кто-то прорабатывает и испытывает (на прочность)! :)
TiamatInc
Июнь 24, 2009 at 15:37
11Никогда не замечал этих галочек в Нигме. Вот ведь бывает
wat
Июнь 24, 2009 at 16:56
12Интересный эксперимент, спасибо за результаты.
Xager
Июнь 25, 2009 at 04:57
13Отлично, спасибо за эксперимент, теперь буду знать точно о передаче веса.
А как насчёт других способов делать ссылки через Яву. На серче говорилось, что если вынести урлы в отдельный файл и оттуда их забирать, то вес не передаётся. И вообще какие есть способы сделать человеческую ссылку для людей, но чтобы вес не передавался?
Dimox
Июнь 28, 2009 at 19:05
14От Гугла можно легко спрятать ссылки с помощью jQuery, причем вариантов можно придумать множество.
Виктор Фомин
Июнь 29, 2009 at 07:05
15Отлично. Наконец то кто-то провел этот долгожданный эксперимент. Удачных экспериментов в дальнейшем тебе Сергей.
topmaster
Июнь 30, 2009 at 15:37
16не одобряю
если речь идет о javascript, то зачем было использовать <a href вообще? естесственно поисковик такое схавает, хоть там и onclick.
“дорвеисты” народ технически неблондинистый (в основном) :) , мои эксперементы показали, что особым интеллектам зухмашины пока не отличаются.
но пасаран
Nyusa
Июнь 30, 2009 at 22:33
17Интересный эксперимент. Добавил Нигму в закладки. Буду юзать…
Денис
Июль 1, 2009 at 13:30
18Ещё бы Google понимал ссылки сделанные через мета-refresh (как ВКонтакте: вы покидаете сайт, бла-бла и ссылка), было бы совсем круто.
Ванька
Июль 1, 2009 at 16:09
19Devaka на скринах поменяй запрос на “онкликссылка”
Так как на странице http://devaka.ru/experiments/javascript-links#
Js ссылка: <script type=“text/javascript”>document.write(”<a href=\“http://seodic.ru\”>джавассылка</a>”);</script><a href=“http://seodic.ru”>джавассылка</a> – прямая ссылка
А ссылка с анкором онкликссылка <script type=“text/javascript”>document.write(”<a href=\”#\” onclick=\“location.href=‘http://seogen.net/’;\”>онкликссылка</a>”);</script>
Minin
Июль 8, 2009 at 06:19
20Значит тепеь можно отказывать в отдельных случаях от невалидного <noindex> в пользу js – яндексу пофиг, так и так не пойдет по ссылке, а гугл без мусора
Алексей
Июль 14, 2009 at 14:41
21Кто то распознает, а кто-то пока нет. В любом случае надо стараться дублировать меню обычным текстовым, очень часто помогает пользователю не заблудиться на сайте.
Stan
Июль 21, 2009 at 18:27
22Статья познавательная, но все это уже месяца 3 как озвучено на западе. Сейчас завис вопрос, как сделать правильную перелинковку, а точнее закрыть часть ссылок от индексации Гуглом, чтобы увеличить вес страниц.
роааоа
Июль 22, 2009 at 22:33
23кривой эксперимент, ни фига гугл не парсит! ‘ < ‘‘ a ‘ ‘ h ‘ + и тд.
v@g
Июль 23, 2009 at 09:54
24Так и невыяснено, как спрятать ссылку от гула (чтоб вообще не парсил)? Необходимо для грамотных перелинковок в внутри сайта. :(
Devaka
Июль 24, 2009 at 12:16
25v@g, ссылку от гугла никак не спрятать, только сильно обфускейченым яваскриптом, но смысл? Не надо пытаться обмануть кого-то (в данном случае пс), просто лучше и проще подстроиться под неё.
Николай
Июль 24, 2009 at 13:04
26Devaka, полностью согласен с topmaster: эксперимент не доказывает то, что поисковики понимают ЖС. Они понимают текст по шаблону.
В данном случае гугл нашел *текст* вида <a href и не разбирая в какой он секции написан — посчитал это за линку.
v@g, чтобы спрятать линку от поисковика — не нужна хитрая обфускация. Достаточно написать
document.write(”<” + “a href=http://” + link_to_be_hidden….
Если нужно спрятать серию линков – можно сделать функцию.
поднятие такой линки докажет, что поисковики строят ДОМ модель страницы, а потом ее анализируют.
В описано в статье случае доказано лишь то, что поисковики игнорируют секции ХТМЛ документа и читают его как ТЕКСТ.
Vladimir
Июль 26, 2009 at 04:55
27Сергей, на мой взгляд, не все так просто. Тэг в скрипте прописан весьма явно, также известно, что Google ходит по всем href и src. Получается, что парсер гугла распознал тэг, нашел в нем атрибут href и перешел по нему (как вариант). Так что это не подтверждает то, что JavaScript на самом деле парсится.
Скептик
Июль 30, 2009 at 16:05
28Девака, а что думаешь про такую штуку:
Text <a id=lin>link</a> text.
<script language=javascript>
lin.href=“http://goooogle.com/”;
</script>
Cron
Август 22, 2009 at 09:37
29Подход половинчатый. Следовало ставить эксперимент с внешним js-файлом и с более сложным алгоритмом. Ждем продолжения ;)
Дэйв
Август 22, 2009 at 09:51
30Девака, прав, незачем обманывать поисковики, они и так предлагают средство для закрытия ссылок.
Но еще есть цели обмана людей, при этом сохраняя закрытые ссылки для поисковиков, например чтобы люди думали что ссылки открыты, хотя это не так.
Rustik
Сентябрь 5, 2009 at 12:20
31Отлично! Молодец! Буду пользоваться!
Klim
Ноябрь 25, 2010 at 11:25
32Честно говоря развеялись окончательные сомнения по данной теме. Спасибо учЫтель :)
Derlescom
Февраль 14, 2011 at 05:15
33На тестовой странице проиндексирован текст страницы, в котором есть описание Java кода, для закрытия ссылки от индексации не нужно дублировать эту ссылку в основном тексте странички
doc
Июль 1, 2011 at 05:34
34делать жаваскрипт в файле и выносить его в каталог который закрыт роботсом и никито не доберется , соответственно и индексировать не будет
artgrafics
Март 25, 2012 at 19:32
35Не давно наткнулся на 6-месячную, бесплатную версию антивируса “Касперский+Ябар” два в одном. Позже установив нормальный дистрибутив 2012, обратил внимание что в поиске в выдаче, на против каждого сайта стоит значек, доверенный, либо нет, сайт – по мнению базы Касперского. Возможно это и есть попытки Яндекса, как то сломить ситуация в свою пользу?