Google、Ajaxクローリングのサポートを2018年第2四半期に終了することを告知

[レベル: 上級]

Ajax クローリングのサポートを終了することを Google は告知しました。
2018年の第2四半期にサポート打ち切りを予定しています。

#! の URL でも直接クロール

Ajax を利用して生成されたコンテンツをクロールするために、Google は独特な仕様を推奨していました。

  1. URL に “#!” を含める
  2. その URL で配信されるコンテンツのスナップショットをサーバー側で事前に作成しておく
  3. #!” を “?_escaped_fragment_=” に置き換えた URL で Googlebot にそのスナップショットを配信する

しかし今後は、#! を含んだ URL を Googlebot が発見しても ?_escaped_fragment_= に置き換えた URL はクロールせず、#! の URL をそのまま直接クロールします。
スナップショットを取得することはありません。

もし必要であれば対応を

Ajax クローリングのスキームを今でも利用しているサイトはほとんどないのではないかと思います。
今の Googlebot は JavaScript コンテンツをほとんどの場合適切にレンダリングできます(正確に言えば、Googlebot ではなく WRS がレンダリングする)。

もし今でも Ajax クローリングでスナップショットを配信していたとしたら、スナップショットではない本来の URL を Googlebot が正常にレンダリングできるかどうかをチェックしておいてください。

とはいえ、URL を変更する必要はありません。
“#!” を含む URL をそのまま使用できます。

チェック方法を公式ブログが説明しています。
日本語訳記事が間もなく公開されるはずなので、(日本語を好むのであれば)細かなことは、日本語訳の公開まで待ってください。
ここでは、概要に触れるにとどめます(一部内容をいじっています)。

  • Search Console の Fetch as Google でレンダリング検証する(#! の URL に Fetch as Google が対応しているので、#! 付き URL をそのまま検証可能)
  • Chrome デベロッパー ツール の [Elements] パネルで DOM が正しく処理されているか検証する。たとえば、設定していたとしたら、nofollow 属性がリンクにきちんと付いているか、title タグや meta description タグ、構造化データがきちんと出力されているか

僕からの補足を加えます。

Googlebot は Chrome 41 相当です。
Chrome の デベロッパーツールで検証するとしたら、古いバージョンをダウンロードして使ったほうが確実でしょう。

Fetch as Google を使うには、そのサイトを Search Console に登録している必要があります。
SC に登録していないサイトを調べる必要が出てきたら、モバイル フレンドリー テスト ツールをレンダリングチェックツールとして代わりに使うことができます。

また、Fetch as Google で検証する場合でも、PC とモバイルの両方で正しくレンダリングされているかどうかを必ず確認します。

Ajax クローリングのサポート終了日程が決まったことは、JavaScript の Google グループでは、1か月近く前にアナウンスが出ていました。
なので、公式アナウンス前に知っていた人もいるかもしれません。

そもそも終了する予定であることは、2015年3月の SMX West で話が出ていました。
間もなくやめるよと公式に伝えたのは同年の10月でした。
2年以上前の話ですから、正式な終了時期の確定までにかなり時間がかかりましたね。

サポート終了で対応を迫られるサイトは多くはないとは思いますが、もしあなたの管理サイトが該当するようであれば問題が発生しないことを来年の第2四半期までに確実にしておいてください。