Сканеры Google интерпретируют Javascript? Что делать, если я загружаю страницу через AJAX?

Когда пользователь вводит мою страницу, я должен сделать еще один вызов AJAX... для загрузки данных внутри div. Это то, как работает мое приложение.

Проблема в том, что... когда я просматриваю исходный код этого кода, он не содержит источник этого AJAX. Конечно, когда я делаю wget URL... он также не отображает AJAX HTML. Имеет смысл.

Но как насчет Google? Будет ли Google иметь возможность обходить контент, как если бы он был браузером? Как разрешить Google сканировать мою страницу так же, как пользователь увидит ее?

Ответы

Ответ 1

Обновлено: Из ответа на этот вопрос о "Ajax сгенерированном контенте, обходе и черном листинге" Я нашел этот документ о способ Google сканирует запросы AJAX, который является частью коллекции документов о Создание Приложения AJAX Crawlable.

Вкратце, это означает, что вам нужно использовать <a href="#!data">...</a>, а не <a href="#data">...</a>, а затем предоставить реальный серверный ответ на URL path/to/path?_escaped_fragment_=data.

Также рассмотрите тег <link/>, чтобы предоставить сканерам подсказку для контента, ориентированного на SEO. <link rel="canonical"/>, который в этой статье немного объясняет, является хорошим кандидатом

Примечание. Я ответил на этот вопрос: https://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925, потому что, похоже, я не могу удалить здесь.

Ответ 2

Несмотря на приведенные выше ответы, очевидно, что делает интерпретацию JavaScript в некоторой степени в соответствии с Matt Cutts:

"Некоторое время мы просматривали JavaScript, и мы искали ссылки. Google стал более разумным в отношении JavaScript и может выполнить какой-то JavaScript. Я бы не сказал, что мы выполняем весь JavaScript, поэтому есть некоторые условия в что мы не выполняем JavaScript. Конечно, есть некоторые распространенные, известные JavaScript-вещи, такие как Google Analytics, которые вы даже не захотите выполнять, потому что вы не захотите пытаться генерировать phantom посещения из Googlebot в свой Google Analytics".

(Зачем отвечать на ответный вопрос? В основном потому, что я только что видел его из-за дублированного вопроса, который был опубликован сегодня, и не видел эту информацию здесь.)

Ответ 4

То, что я делаю в этой ситуации, всегда изначально заполняет страницу содержимым, основанным на параметрах по умолчанию независимо от того, что делает вызов Ajax. Затем я использую только javascript ajax, чтобы делать обновления на странице.

Ответ 5

Как говорят другие, сканер Google (и я считаю, что другие поисковые системы) не интерпретирует Javascript - и вы не должны пытаться дифференцировать пользовательский агент и т.п. (рискуя понизить ваш сайт или заблокирован для представления различного содержимого пользователям и роботам). Скорее, предлагайте некоторый (возможно, минимальный) уровень контента посетителям, у которых Javascript заблокирован по какой-либо причине (включая случаи, когда причина заключается в "роботах";-) - в конце концов, что сама причина noscript существует... чтобы сделать очень-очень просто предложить такой "минимальный уровень контента" (или, что более чем минимально, если вы так выберите;-) для не-пользователей Javascript!

Ответ 6

У веб-сканеров сложное время с ajax и javascript, которые динамически загружают контент. На этом сайте есть некоторые идеи, которые показывают, как помочь Google индексировать ваш сайт http://www.softwaredeveloper.com/features/google-ajax-play-nice-061907/

Ответ 7

Если вы создадите страницы таким образом, чтобы они работали с OR без javascript (например, вернитесь к использованию фреймов или стандартных запросов GET/POST на сервер, если javascript завершит сбой, либо автоматически, либо через ссылку "показать как простой html" ), поисковым системам будет намного проще сканировать страницу.

Для них имеет смысл не сканировать "динамический" контент - потому что это просто... динамический.

Я понимаю, что в большинстве случаев Google не сканирует клиентский динамический контент.

Ответ 8

Теперь это выглядит так, как бот Google не ограничен простым lynx как браузер.

Google бот пытается захватить текст Humanly visible и Humanly contrasting, чтобы придать значение в разных секторах страницы. Таким образом, он отображает страницу с Layout Engine так же, как и другой браузер, например, FF или Chrome.

Возможно, у него даже есть поддержка v8 Javascript Engine. и бот может загрузить страницу и дождаться, пока dom будет ready и даже может подождать несколько секунд, пока страница не станет устойчивой. а затем обрезать контрастный текст.