2009-11-23 3 views
22

Сегодня много контента в Интернете генерируется с использованием JavaScript (в частности, с помощью фоновых вызовов AJAX). Мне было интересно, как сканеры веб-страниц, такие как Google, обрабатывают их. Знают ли они о JavaScript? Есть ли у них встроенный механизм JavaScript? Или они просто игнорируют весь созданный JavaScript контент на странице (я думаю, это маловероятно). Используют ли люди специальные методы для индексации контента, которые в противном случае были бы доступны через фоновые запросы AJAX для обычного пользователя Интернета?Как веб-сканеры обрабатывают javascript

+0

http://stackoverflow.com/questions/1739898/html-how-to-get- my-subspages-list-on-a-google-search См. ответы здесь для «получения контента с индексом» –

ответ

14

JavaScript обрабатывается как Bing, так и Google crawlers. Yahoo использует данные об искателях Bing, поэтому их также следует обрабатывать. Я не смотрел в другие поисковые системы, поэтому, если вы заботитесь о них, вы должны искать их.

Bing published guidance in March 2014 о том, как создать JavaScript на основе веб-сайты, которые работают с их гусеничным (в основном связанным с pushState), которые являются передовой практикой в ​​целом:

  • Избегайте создание неработающих ссылок с pushState
  • Избегайте создание два разные ссылки, которые ссылаются на один и тот же контент с pushState
  • Избегайте cloaking. (Here's an article Bing published about their cloaking detection in 2007)
  • Поддержка браузеров (и сканеров), которые не могут обрабатывать pushState.

Google later published guidance in May 2014 о том, как создать JavaScript на основе веб-сайтов, которые работают с их гусеничном и их рекомендации также рекомендуется:

  • Не блокировать JavaScript (и CSS) в файле robots.txt файл.
  • Убедитесь, что вы можете справиться с нагрузкой сканеров.
  • Это хорошая идея для поддержки браузеров и искателей, которые не могут обрабатывать (или пользователей и организаций, которые не разрешают). JavaScript
  • Неверный JavaScript, основанный на тайных или специфических особенностях языка, может не работать с искателями ,
  • Если ваш JavaScript удаляет контент со страницы, он может не индексироваться. вокруг.
+0

Будет ли будущее выглядеть, как веб-сканеры станут умнее и больше сосредоточиться на AJAX? –

+0

@Shailesh - Я скажу, что это возможно. Они немного рассказывают о проблемах сканирования сайтов с поддержкой Javascript или AJAX здесь: http://searchengineland.com/google-io-new-advances-in-the-searchability-of-javascript-and-flash-but- is-it-enough-19881 –

+0

Этот ответ очень устарел. Googlebot определенно обрабатывает JavaScript сейчас: http://googlewebmastercentral.blogspot.com/2014/05/understanding-web-pages-better.html Не уверен в отношении других сканеров, но я предполагаю, что они, скорее всего, вскоре последуют этому примеру, если они еще этого не сделали. – Ajedi32

7

Большинство из них не обрабатывают Javascript в любом случае. (По крайней мере, у всех основных поисковых роботов нет.)

Вот почему все еще важно, чтобы ваш сайт изящно обрабатывал навигацию без Javascript.

+0

К сожалению, Google-бот определенно обходит внутри JavaScript ... [link] (http: // stackoverflow .com/questions/5749348/jquery-cause-404-errors-in-webmaster-tools-on-a-directory) – Sparky

+0

Они просто не обрабатывают javascript, или они просматривают сайт с помощью тегов

2

Именно то, что сказал Бен С. И любой доступ к вашему сайту с помощью Lynx также не будет выполнять JavaScript. Если ваш сайт предназначен для общего пользования, он, как правило, может использоваться без JavaScript.

Также, связанный: если есть страницы, которые вы хотели бы найти в поисковой системе, и которые обычно возникают только из JavaScript, вы можете подумать о создании статических версий их, достижимых с помощью карты сайта для сканирования, где эти статические страницы используют JavaScript для загрузки текущей версии при нажатии браузера с поддержкой JavaScript (в случае, если человек с браузером следует вашей карте сайта). Поисковая система увидит статическую форму страницы и сможет ее проиндексировать.

1

Сканеры не анализируют Javascript, чтобы узнать, что он делает.

Они могут быть построены для распознавания некоторых классических фрагментов, таких как onchange="window.location.href=this.options[this.selectedIndex].value;" или onclick="window.location.href='blah.html';", но они не беспокоятся о вещах, таких как контент, полученный с помощью AJAX. По крайней мере, пока нет, и контент, полученный таким образом, всегда будет вторичным.

Итак, Javascript следует использовать только для дополнительной функциональности. Основной контент, который вы хотите найти поисковик, должен по-прежнему быть простым текстом на странице и регулярными ссылками, которые легко могут выполнять сканеры.

3

Я проверил это, поставив страницы на моем сайте только на Javascript, а затем наблюдая их присутствие в поисковых индексах.

Страницы моего сайта, которые были доступны только Javascript, были впоследствии проиндексированы Google.

Содержимое было получено с помощью Javascript с использованием «классической» методики или создания URL-адреса и установки соответствующего окна.

1

сканерам может обрабатывать Javascript или Ajax звонки, если они используют какие-то рамки, как «HtmlUnit» или «селен»

+0

Знаете ли вы о каких-то сканерах, которые это делают? –

+0

Не хотите указывать какие-либо конкретные сканеры, но это возможно. – Srikanth

Смежные вопросы