web-dev-qa-db-ja.com

「Fetch as Google」がAJAXコンテンツのHTMLスナップショットを見つけられない

私のWebページでは、JavaScriptを介してコンテンツを生成するため、?_escaped_fragment_を使用してHTMLスナップショットにGoogleをリダイレクトします。

Apache用のRewriteRuleがあります

 RewriteEngine on
 RewriteCond %{REQUEST_URI}  ^/$
 RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$
 RewriteRule ^(.*)$ /snapshot/.snapshot_.html [NC,L]

?_escaped_fragment_=/snapshot/.snapshot_.htmlhttp://example.com/?_escaped_fragment_=)にリダイレクトします。これは正常に機能します。

また、<meta name="fragment" content="!">をホームページに追加しました。

ウェブマスターツールで「Fetch as Google」を実行すると、いURLのコンテンツは取得されず、example.comから取得されます。

私が考慮しなかったものはありますか?

5
misantronic

「Fetch as Google」は、Googleと同じ方法で取得しません。 「Fetch as Google」は、メタタグのページをチェックしません。 (クロールアルゴリズムはそうします)

回避策は、「fetch as Google」ステートメントに手動で追加することです。例:

www.example.com/?_escaped_fragment_=

4
Toon Gijbels

GoogleのJohn Mueller Googleプロダクトフォーラムで同様の質問に答えました

AJAXクロールスキームを使用するURLの場合、Fetch as Googleで「エスケープフラグメント」バージョンを送信する必要があります。 「ハッシュバン」URL自体はそこで機能しません。

「Fetch as Google」はハッシュバンURLまたはフラグメントメタタグを処理できないようです。

1