Наконец-то готовы результаты эксперимента с индексацией javascript-текста в Google и работы ссылок, спрятанных через яваскрипт. Ниже приведены подробности этого исследования.
Гипотеза
Судя по
Гипотеза состояла в том, что поисковая ситема Google распознает лишь простые варианты скриптов и контент можно спрятать, усложнив скрипт.
Цель эксперимента
Целью данного исследования является подтвердить или опровергнуть гипотезу, а также в случае опровержения определить, какие все же скрипты Google не распознает.
Проведение эксперимента
Для проведения эксперимента 20 февраля 2011 г. была создана
Ссылка на экспериментальную страницу была добавлена в Твиттере с просьбой заретвитить (спасибо всем за помощь, в сумме было 27 ретвитов). Другими словами, тви-друзья помогли сделать страницу популярной для Google, чтобы ускорить индексацию и быстрее узнать результаты. Через несколько минут страница уже была в индексе, но ссылки пока не работали. На данный момент основной робот Google проиндексировал весь необходимый контент, и можно проверять результаты.
Результаты эксперимента
Рассмотрим полученные результаты по каждому из видов используемого javascript-подхода.
1. Безатрибутная ссылка
Этот приём использует ссылку без атрибута href и для роботов такой тег не является ссылкой. На экспериментальной странице с помощью DOM был добавлен атрибут href:
безатрибутный индекс.
Результаты в данном случае показали, что такая ссылка не работает для Google, то есть, вес не передаёт. По уникальному анкору «безатрибутный индекс» страница-акцептор не находится.
2. Кусочный document.write
Здесь использовалось небольшое усложнение, когда строка была разбита на несколько строк с их конкатенацией:
document.write("Немного контента с уникальной фразой devjslink и обещанной ссылкой " + «» + «кусочная js ссылка» + «» + «.»);
Такая конструкция не помогла, Google проиндексировал контент, как видит это пользователь. По уникальному тексту
3. Вызов внутренней функции и document.write
Внутри документа была описана функция, содержащая document.write с выводом определенного текста и ссылки. В нужном месте документа была вызвана эта функция.
Результаты показывают, что в этом случае яваскрипт-контент индексируется, и ссылка находится. Такая ссылка тоже
4. Вызов функции из внешнего файла и document.write
Эта часть похожа на предыдущую. Только функция была определена во внешнем доступном файле
Результаты показали, что вызов функции из внешнего файла также обрабатывается Google, и результаты аналогичные предыдущим — контент индексируется,
Интересно было посмотреть серверные логи, когда именно поисковый робот заходил за дополнительными .js файлами. Анализ логов показал, что Google читает внешние файлы не сразу, а через какой-то промежуток времени (около недели) и приходит с тем же юзер-агентом «Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)». Также интересно, что внешние файлы для страниц запрашиваются, практически, одновременно (в отличие от html-страниц сайта) с частотой около 2 раз в месяц.
5. Внешний скрипт и document.write
Во внешнем скрипте (
6. Обфускейченный внешний скрипт с document.write
В этой части эксперимента было создано два обфускейченных файла:
Результаты показали, что и
7. Запрет индексации внешнего скрипта в robots.txt
В этой части был создан файл
Результаты показывают, что контент из этого файла так и не проиндексировался (
8. Работа с DOM документа
Следующий текст с ссылкой были созданы с помощью работы с DOM документа.
var a = document.createElement("A");
a.setAttribute("href«, «http://seodic.ru/terms/%D1%80%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C»);
a.innerHTML = «экспериментальная dom ссылка»;
var s = document.createElement("SPAN«);
s.innerHTML = «Этот текст и ссылка добавлены с помощью работы объектной модели DOM... »;
s.appendChild(a);
var span = document.getElementById("b");
span.appendChild(s);
9. Комплексный вариант скрипта
И последний случай — комплексный вариант, в котором задействованы все предыдущие модели: обфускейченный
Результаты такого варианта прогнозируемы, контент не индексируется, ссылка соответственно.
Выводы
Как видно из результатов эксперимента, от робота Google не так просто что-то скрыть. Все варианты ссылок работают, за исключением тех, что размещены во внешних файлах, закрытых от индексации. Также в ряде случаев при работе с объектной моделью документа, поисковый парсер не всегда распознает ссылки, но посмотрим, что будет в будущем. Наша гипотеза не подтвердилась.