5

GoogleによるAJAXクロールについて話しましょう:

history.jsは見苦しいハッシュバン URL の優れた代替手段であるため、特定の問題について疑問に思っていました。HTML5 以外のブラウザー (IE 9 は history.pushState をサポートしていないなど) では、古いハッシュバンが使用されます。

では、Google にはどのバージョンが表示されるのでしょうか。Google が重複したコンテンツ (ナイス URL で 1 回、ハッシュバンで 1 回) を検出するリスクはありますか?

それについての考えをありがとう。

4

3 に答える 3

0

API をサポートするブラウザー (ブラウザーの約 70%) には HTML5 History API のみを使用し、非サポートのブラウザーには通常の静的ページを提供することをお勧めします。このように、検索エンジンが完全な正規の静的 URL と異なるものを認識する可能性はありません。

于 2013-02-05T16:51:43.553 に答える
0

ajax ページを Google でインデックス化する必要がある場合は、サーバーからページの html スナップショットをサーバーに送信する必要があります。

例: xyz.com/page1#!name=john

Google クローラーはこの #! を見つけます。識別子とリクエストhttp://xyz.com/page1?_escaped_fragment_=name=john このようにして、サーバーはページの html スナップショットを提供できます。

これで、URL が整形されて #! が追加されます。ajax ページがインデックス化されます。

URL に # しか追加されていないページの場合、Google クローラーは ajax 経由で読み込まれたコンテンツを認識できず、インデックスに登録されません。したがって、重複の可能性はありません

メールの URL を指す rel cannonical url を使用して、ページの head セクションで link タグを使用することもできます。http://googlewebmastercentral.blogspot.in/2009/02/specify-your-canonical.htmlを参照してください。

于 2013-02-03T10:22:49.320 に答える
0

HTML

<a href="http://some/other/page/1" data-history='{"some":"data"}' title="...">link1</a>
<a href="http://some/other/page/2" data-history='{"some":"data"}' title="...">link2</a>

JavaScript

$(document).on('click', '[data-history]', function(e){
    e.preventDefault();
    History.pushState($(this).data().history, this.title, this.href);
})

JavaScript が有効になっているクライアントの場合、hisotory.js はこれを AJAX リクエストに処理し、JavaScript を使用しないクライアントの場合は、通常のページをリクエストします。

于 2013-02-03T14:32:20.400 に答える