web-dev-qa-db-ja.com

example.com/#!/page URLをGoogleに送信する

HTML5 Webサイトには、index.phpという単一のページがあります。そのコードには他の5ページが含まれています。

AJAXナビゲーションが使用されるため、他のページのURLはexample.com/#!/page_Exampleのようになります。

私は、XMLサイトマップを使用してこの種の多くのアドレスをGoogleに送信しようとしましたが、Googleはメインページのみをインデックス化します。

また、example.com/Exampleからexample.com/#!/page_Exampleへの301リダイレクトを行い、それらを送信しましたが、メインページだけがまだインデックス化されています。

これらのURLをGoogleに送信するにはどうすればよいですか?

6
RazvanZ

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 の指示に従ってサイトをセットアップしてください。

3
Ilmari Karonen

ハッシュ(#)の後のURL内のすべては fragment です。これは、クライアント側でのみ処理され、サーバーに直接送信されたり、処理されたりすることのないデータです。これをGoogleに直接送信する方法はありません。

Googleには、これらの制限を回避する手順があります。

https://developers.google.com/webmasters/ajax-crawling/

1
Digital Chris