2009-07-23 6 views
6

私はいつもAJAX主導のコンテンツが検索エンジンには見えないと考えていました。場合...AJAXサイトは検索エンジンによってクロール可能ですか?

http://www.trustedsource.org/query/terra.cl

:たとえば

、このサイトでは、メインのコンテンツは、ブラウザによってAJAXリクエストを介してロードされる

(XMLHTTPRequestを経由してDOMに挿入すなわちコンテンツ)あなたはこのページをで表示しています。JavaScriptが無効になっています、メインコンテンツエリアはです。

しかし、GoogleのキャッシュはAJAX負荷後の完全な内容を示しています

http://74.125.155.132/search?q=cache:JqcT6EVDHBoJ:www.trustedsource.org/query/terra.cl+http://www.trustedsource.org/query/terra.cl&cd=1&hl=en&ct=clnk&gl=us

ので、明らかに検索エンジンは、AJAXによってロードされたインデックスの内容を実行します。

質問:

  • これは、検索エンジンの新機能ですか?ウェブ上の の投稿では、 は、 という検索エンジン用の重複した静的HTML コンテンツを公開する必要があることを示しています。
  • 検索エンジンでAJAX主導のコンテンツをクロールする方法はありますか( 重複しない静的なHTMLコンテンツの作成以外に)。
  • 別のサブドメイン からロードされている場合、AJAX主導のコンテンツは にインデックスされますか? 別のドメインについてはどうですか?
+2

"...このページをJavascriptで無効にすると、メインコンテンツ領域が空白になります。"いいえ、そうではありません。それは実際にかなり混乱しているように見えます。 – NickFitz

+0

あなたはどのブラウザを使用していますか? Javascriptを無効にしてFirefoxの最初のリンクにアクセスすると、「terra.cl 'の情報が表示され、空白のボックスが表示されます。 HTMLソースの表示ID = query-contentの空のDIVが表示されます。ここではAJAXコンテンツが表示されます。 – frankadelic

答えて

0

通常は、最初のページロード後にサンプル内のセカンダリHTTPリクエストを使用して読み込まれるコンテンツは、検索エンジンのクローラに表示されます。

しかし、これを超えるコンテンツは、ユーザーの操作に続いてajax経由で読み込まれます。タブやボタンなどをクリックしても表示されず、インデックスに登録されません。それらは「本当の」アンカーリンクを持っている場合にのみ表示または索引付けされます。

+1

Alexが、ページが読み込まれたときにAJAXリクエストが実行されるページでGoogleがAJAXリクエストを実行するというエビデンスを提供できますか? – Josh

+1

@Josh、いいえ、それは本当ではないからです。 :) – bzlm

1

AJAX駆動の検索エンジンではクロールされません(少なくともGoogleではなく)。

Googleキャッシュにページが表示される理由は、キャッシュに.jsファイルを含む完全なページがあるためです。したがって、ページが表示されたら、ブラウザはGoogleキャッシュの.jsファイルを使用します。

静的な.htmlを使用する以外は、検索エンジンでクロールするような手口はありません。 2010年4月27日に

編集は、:Googleが役立つかもしれないmake AJAX crawlable

Google webmaster toolkitへの道を発表しました。

+2

これは本当だとは思わない。 Javascriptを無効にしてGoogleキャッシュのリンクを表示しても、AJAX主導のコンテンツは引き続き表示されます。 ソースを見ると、コンテンツはHTMLの中にあります。 – frankadelic

1

検索エンジンは、Ajaxコンテンツのインデックスに必要なJavaScriptを実行することができますが、難しく計算コストがかかります—私は実際にそのことを認識していません。

Ajaxを使用しているサイトでは、progressive enhancementの原則に従って使用してください。 JavaScriptを実行することなく、主要な機能は引き続き利用できます。

一方、JavaScriptを使用してフレームを再構成する(そしてプログレッシブエンハンスメントを使用しない)サイトでは、フレームの通常の問題すべてに悩まされますが、検索エンジンの不可視性のために孤立したページを扱います。

+0

プログレッシブエンハンスメントのための権利。 –

1

NoScriptがインストールされており、アクティブです。どちらのリンクも同じコンテンツを表示します(+/- Googleヘッダーバー)。したがって、Googleキャッシュには静的に表示されるものだけが表示されます。

+0

私はあなたとは異なる結果を得ています。私はnoscriptをインストールしました。元のページにメインのコンテンツは表示されず、Googleキャッシュのページに表示されます。私がソースを見ると、ID = query-contentのDIVの内部にさまざまな内容が見えます。 (これはAJAXコンテンツが挿入されているdivです) IEで試すことはできますか? – frankadelic

1

jQueryタブのようなものを使用している場合、同じディレクトリ内のHTMLファイルにリンクしていても、javascriptなしで正常に戻り、タブは実際のページに似ています。それは醜いですが、それは動作します。また、これらのバージョンのスタイルを設定することもできます。

+0

ええ、あなたが読み込むAJAXのコンテンツは、検索エンジンや古い/ javascriptを無効にしている人が見るべき何かを持つように、すてきなエレガントなフォールバックを持つべきです。 – Sam152

0

Googleはちょうど彼らのクローラは、すべての開発者の変更なしでJavascriptを実行しました!

http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html

彼らは国家:

を今日、限り、あなたはあなたのJavaScriptやCSSファイルをGooglebotのクロールからブロックしていないとして、我々は一般的に、現代のようなWebページをレンダリングし、理解することができますブラウザ。

関連する問題