AJAX クロールのページのレンダリング

2017 年 12 月 4 日(月曜日)

AJAX クロール スキームは、Googlebot が JavaScript ベースのウェブページにアクセスできるようにする方法として導入されましたが、廃止の予定であることは以前にお知らせしたとおりです。長期間にわたる Google のエンジニアの取り組みによって、Googlebot による JavaScript のレンダリング能力は大幅に向上してきました。こうした進歩を踏まえて、2018 年の第 2 四半期に、サイト側に JavaScript ベースのページのレンダリングを求めるのではなく、Google 側でレンダリングする形へと移行します。つまり、AJAX クロール スキームは使用されなくなります。

なお、AJAX クロール スキームは、URL に #! が含まれるページ、または fragment meta タグが含まれるページを受け入れ、URL に ?_escaped_fragment_= をマッピングしてページをクロールします。この URL でクロールされるページは、完全にレンダリング済みのページか、それと同等の状態のページ(そのウェブサイト自体で作成されるもの)であることが必要です。

このたびの変更により、Googlebot は #! の URL を直接レンダリングすることになり、ウェブサイトの所有者がレンダリングされたバージョンのページを提供する必要はなくなります。Google 検索結果にもこの URL がそのまま表示されます。

ほとんどの AJAX クロールのウェブサイトに対しては、今回のアップデートに伴う大きな変化はないものと想定しています。以下で詳細に説明するように、ウェブマスターの皆様はページを再度ご確認いただけます。サイトに潜在的な問題が検出された場合は通知が送信されます。

サイトで現在 #! URL または fragment meta タグを使用している場合は、次のことをおすすめします。

  • Google Search Console でウェブサイトの所有権を確認して Search Console のツールへのアクセス権を取得し、問題が検出された場合に Google から通知が届くようにします。
  • Search Console の取得してレンダリングを使用してテストします。#! URL と「escaped fragment」を含む URL のテスト結果を比較して、違いを確認してください。ウェブサイトのさまざまな部分についてこのテストを実施します。サポートされている API の詳細については、デベロッパー向けドキュメントをご覧ください。また、必要に応じてデバッグガイドをご覧ください。
  • Chrome の要素を検証を使用して、リンクに a HTML 要素が使用されていることと、必要に応じて(ユーザー作成コンテンツ内など)rel=nofollow が指定されていることを確認します。
  • Chrome の要素を検証を使用して、ページのタイトルdescription meta タグrobots meta タグ、その他のメタデータを確認します。また、レンダリングされたページで構造化データが利用可能となっているかどうかも確認します。
  • Flash や Silverlight といったプラグイン ベースのテクノロジーに含まれているコンテンツを検索のインデックスに登録するには、JavaScript または「標準の」HTML に変換する必要があります。

この変更によりウェブサイトの運営と管理が少しでも楽になり、サイト側でページをレンダリングする必要性が軽減されれば幸いです。ご質問やご意見がありましたら、ウェブマスター ヘルプ フォーラムまでお寄せいただくか、JavaScript サイトのワーキング グループにご参加ください。