web-dev-qa-db-ja.com

Ajaxを使用する#! Googleのサイトはもうクロールされていません

以前はページは?文字列を使用して定式化されていましたが、AJAXロードに​​変更したため、現在は#!を使用しています。たとえば:

  • 古いリンク:/post.php?idPost=5326
  • 新しいリンク:/post.php#!idPost=5326

adding _escaped_fragment_=の後に?で取得できるスナップショット。

すべて同じコンテンツを持っています。リンクシステムを変更してからサイトに何が起こりましたか?

2
user28231

hashbangs#!は引き続きサポートされていますが、 Googleが推奨 使用を避け、 History API を使用してURLを変更します。 History.js のようなライブラリを使用すると、簡単に作成できます。

これにより基本的に問題が完全に取り除かれ、History APIを使用するときに_escaped_fragment_でURLを設定する必要はありません。

3
fregante

Googleのガイド によると、URL /post.php#!idPost=5326/post.php?_escaped_fragment_=idPost=5326でクロールされます。サーバーは、/post.php?idPost=5326への応答に使用したのと同じ方法でそのURLに応答する必要があります。

次に、/post.php?idPost=5326から/post.php#!idPost=5326への301リダイレクトを使用する必要があります。

1