HTML5 Webサイトには、index.phpという単一のページがあります。そのコードには他の5ページが含まれています。
AJAXナビゲーションが使用されるため、他のページのURLはexample.com/#!/page_Example
のようになります。
私は、XMLサイトマップを使用してこの種の多くのアドレスをGoogleに送信しようとしましたが、Googleはメインページのみをインデックス化します。
また、example.com/Example
からexample.com/#!/page_Example
への301リダイレクトを行い、それらを送信しましたが、メインページだけがまだインデックス化されています。
これらのURLをGoogleに送信するにはどうすればよいですか?
Googleによると 、あなたはshouldあなたが言った通りに正確にAJAX URLをサイトマップにリストする完了:
"4.新しいAJAX URLをリストするためにサイトマップを更新することを検討してください
クローラはサイトマップを使用して、発見クロールを補完します。サイトマップには、検索結果に表示するURLのバージョンを含める必要があります。そのため、ほとんどの場合、
http://example.com/ajax.html#!key=value
になります。
この時点で、問題は別の場所にあると仮定する必要があります。
特に、GoogleがAJAXページを取得するために使用する方法は、not通常のブラウザが行う方法と同じであることに注意してください。また、追加のサーバー側サポート(_escape_fragment_
クエリパラメーターを解析し、それに基づいてAJAXコンテンツの適切なサーバー側生成バージョンを提供する必要があります)。 index.php
がそれを行うように設定されていない場合、GoogleはAJAXのコンテンツを見ることもないため、インデックスを作成できません。
まず、Googleウェブマスターツールの Fetch as Googlebot 機能を使用して、GoogleがAJAXコンテンツをロードできるかどうかを確認することをお勧めします。できない場合は、 here の指示に従ってサイトをセットアップしてください。
ハッシュ(#
)の後のURL内のすべては fragment です。これは、クライアント側でのみ処理され、サーバーに直接送信されたり、処理されたりすることのないデータです。これをGoogleに直接送信する方法はありません。
Googleには、これらの制限を回避する手順があります。