Когда Googlebot выполняет javascript?

У меня есть несколько одностраничных веб-приложений на нескольких доменах, которые в значительной степени полагаются на javascript/ajax для извлечения и отображения содержимого. На основе журналов и результатов поиска я могу сказать, что googlebot запускает javascript на некоторых доменах, но не на других. На некоторых он индексирует все, что доступно только с js на других, он даже не запускает js вообще.

Может ли кто-нибудь сказать мне, как googlebot решает, что js запускать, и могу ли я что-нибудь сделать, чтобы запустить js в других моих доменах?

PS: Я знаю, что для этого я обычно должен использовать что-то вроде рендеринга serveride, но я отнюдь не зависел от результатов поиска и ранжирования, поэтому его не стоит усилий. Мне просто интересно, как googlebot решает, следует ли запускать js или нет, и если что-то легко сделать, чтобы изменить это на других моих доменах.

Ответ 1

Вы можете узнать больше о том, как Google представляет веб-сайт ajax и список лучших практик непосредственно с сайта разработчика Google здесь:

https://webmasters.googleblog.com/2014/10/updating-our-technical-webmaster.html https://developers.google.com/webmasters/ajax-crawling/

Что касается вашей конкретной проблемы, в первую очередь, я предлагаю вам проанализировать каждый домен с помощью инструмента Google Webmaster с функциональностью "Fetch as Google" и пройти все технические аспекты, упомянутые в руководстве Google.

https://support.google.com/webmasters/answer/158587?hl=en

Ответ 3

Теперь функция поиска вашей страницы с помощью Google Bot и просмотра результатов перенесена в консоль поиска Google.

Вы можете использовать URL Inspection Tool для анализа вашего живого URL.

Я протестировал его в приложении AngularJS, и Google Bot смог сканировать контент страницы с данными, полученными из запроса AJAX.

Ответ 4

Одним очень важным ограничением является то, что робот Googlebot не разрешает запросы AJAX во время загрузки страницы.

В своем сообщении в блоге я объясняю как адаптировать одностраничное приложение так, чтобы оно стало сканируемым - без необходимости делать снимок HTML на сервера.