私の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_.html
(http://example.com/?_escaped_fragment_=
)にリダイレクトします。これは正常に機能します。
また、<meta name="fragment" content="!">
をホームページに追加しました。
ウェブマスターツールで「Fetch as Google」を実行すると、いURLのコンテンツは取得されず、example.comから取得されます。
私が考慮しなかったものはありますか?
「Fetch as Google」は、Googleと同じ方法で取得しません。 「Fetch as Google」は、メタタグのページをチェックしません。 (クロールアルゴリズムはそうします)
回避策は、「fetch as Google」ステートメントに手動で追加することです。例:
www.example.com/?_escaped_fragment_=
GoogleのJohn Mueller Googleプロダクトフォーラムで同様の質問に答えました :
AJAXクロールスキームを使用するURLの場合、Fetch as Googleで「エスケープフラグメント」バージョンを送信する必要があります。 「ハッシュバン」URL自体はそこで機能しません。
「Fetch as Google」はハッシュバンURLまたはフラグメントメタタグを処理できないようです。