新しいFetch as Googleの2つの特徴: Ajaxを取得できない、Cookieを受け入れる

[対象: 上級]

JavaScriptやCSSなどの外部リソースを取得してレンダリングする機能がFetch as Googleに追加されました。

この記事では、レンダリングを実行するGooglebotの動きに関する2つの事象を紹介します。

  • AjaxのURLを取得できない
  • Cookieを受け入れる

AjaxのURLを取得できない

Googleの推奨仕様に従った、“#!”を用いたAjaxのURLを新しいFetch as Googleでは取得できなくなってしまいました。

以前は取得可能でした。

現在は、元からある「取得」と新しい「レンダリングして取得」の両方ともが不可能です。

しかしGoogleのJohn Mueller(ジョン・ミューラー)がこのことをAaron Bradley(アーロン・ブラッドレー)氏によるGoogle+の投稿で知り、次のようにコメントしています。

修正してサポートしなければならないだろう。
しばらくの間は、自分で書き換えて送信してほしい。

具体的にいつとまでは言及していませんが、問題はGoogleに伝わっているのでいずれ今までのようにAjaxコンテンツもFetch as Googleで再び取得できるようになるでしょう。

それまでは、“#!”を“?_escaped_fragment_=”に置き換えたURLを送信して確認してほしいとのことです。

とはいえ、#を使った本来のAjax URLをGooglebotが正しく取得できているかを知りたいわけで、少し残念な状況になっています。
修正が完了するまで待つしかないですね。

Cookieを受け入れる

一方、こちらはレンダリング用のFetch as GoogleがCookieを受け入れるという興味深い発見です。

Tom Anthony(トム・アンソニー)氏が自作したスクリプトで検証した結果、GooglebotがCookieを受け入れていることを発見しました

Cookieを受け入れるGooglebot

Cookieを受け入れて保存し、(リファラーとともに)サーバーに送り返すことを確認できたそうです。

もっとも、Fetch as Googleでレンダリング取得したときのGooglebotに限った話です。

通常のGooglebotがCookieを受け入れるようになったということではありません。

そうは言っても、GooglebotがCookieを処理することが技術的に可能になっているということですよね。

今までは発見できなかったコンテンツを、Cookieを扱えることで発見できるようになるかもしれません。

JavaScriptの理解力向上だけでなく、ここで見たCookie処理を含め、ウェブで使われるさまざまな仕組みにGoogleは次々と対応を進めているようです。