「AJAXアプリケーションをクロール可能にする」 に関するGoogleのアドバイスでは、ハッシュバンフラグメント(#!)を使用してクロールできないAJAX URLを作成するようアドバイスしています。 <meta name="fragment" content="!">
をページ<head>
に追加します。
誰かがこれで成功しましたか?ウェブマスターツールで「Fetch as Googlebot」を使用しているときに、GooglebotがページのHTMLスナップショットを取得するのを見つけることができません。
googleフォーラムでこのスレッドを確認してください メタタグではなくハッシュで動作するAJAXクロール 。 Google Fetchツールに問題があります。
AJAXコンテンツのクロールを許可する前のセクションで、 Googleの状態 :
一部のページにはハッシュフラグメントがない場合があります。たとえば、ホームページをwww.example.com
ではなくwww.example.com#!home
にしたい場合があります。このため、ハッシュフラグメントのないページには特別な規定があります。
注:このオプションは、Ajaxで作成された動的なコンテンツを含むページにのみ使用してください。静的コンテンツのみを含むページの場合、クローラーに追加の情報は提供されませんが、Googleサーバーに余分な負荷がかかります。
ハッシュフラグメントのないページをクロール可能にするには、ページのHTMLの先頭に特別なメタタグを含めます。
メタタグの形式は次のとおりです:
<meta name="fragment" content="!">
これは、このURLのいバージョンをクロールする必要があることをクローラーに示します。上記の合意に従って、クローラーは一時的にpretty URLを対応するcorrespondingいURLにマップします。つまり、ページwww.example.comに配置すると、クローラーはこのURLを一時的にwww.example.com?_escaped_fragment_=
にマッピングし、サーバーに要求します。サーバーは、www.example.com
に対応するHTMLスナップショットを返す必要があります。このメタタグには1つの重要な制限が適用されることに注意してください。有効なコンテンツは「!」のみです。言い換えると、メタタグは常に正確な形式を取ります。<meta name="fragment" content="!">
は空のハッシュフラグメントを示しますが、AJAXコンテンツを含むページです。
したがって、ヘッドレスブラウザーを使用して、?_escaped_fragment_=
を含む「ugい」バージョンへのURLのマッピングを有効にする必要があります。
彼らは警告でフォローアップします:
www.example.com?_escaped_fragment_=
のコンテンツが404コードを返す場合、www.example.com
!のコンテンツはインデックス付けされません
そのため、同様にテストする必要があります。