Нет, потому что поисковые роботы извлекают статический поток HTML.Они не запускают какие-либо события инициализации, такие как init()
или myObj.init()
, которые есть в вашем коде JavaScript.Они не загружают никакие внешние библиотеки, такие как jQuery, не выполняют код $(document).ready
и не слушают ни стандартных слушателей .click()
.Поэтому, если у автора поискового бота нет особой причины намеренно создавать своего поискового бота для запуска или выполнения <script>
блоков, находящихся на странице, они обычно не будут запускать код JavaScript.
Я написалпоисковый бот.Все, что меня волнует, это извлечение ссылок и текста со страницы.Однако я не хочу запускать чужой компонент календаря на стороне клиента или компонент видеопроигрывателя.Я не хочу, чтобы этот код JS был вставлен в мою базу данных, где он мог бы оказаться на странице результатов поисковой системы ( SERP ).Таким образом, нет никакой причины запускать команду eval()
для любого кода в блоках <script>
и не запускать какие-либо события инициализации в слое JS.
Когда поисковые роботы загружают HTML DOM, появляютсяобычно в них встраиваются внешние файлы .js.Таким образом, для выполнения JS потребуется анализ строк для нескольких файлов .js, затем создание конкатенатора для этих файлов и затем попытка выполнить все, что было загружено.Это дополнительная работа для автора поискового бота, без какой-либо чистой выгоды.Мы просто не хотим, чтобы этот код JS появлялся где-либо в наших поисковой выдаче.В противном случае, просмотр кода JS в поисковой выдаче выглядит как плохой результат поиска.Однако боты могут видеть содержимое в тегах <script>
и ищут только ссылки для сканирования.Возможно, именно поэтому люди начинают думать, что боты могут выполнять JavaScript, но на самом деле они только анализируют их для своих текстовых ссылок.