SharedArrayBuffer オブジェクトに関するメッセージについての説明

2021 年 3 月 19 日(金曜日)

Google Search Console から一部のお客様に、「SharedArrayBuffers の使用に必要な新しい要件」という件名のメールが送信されました。メッセージがわかりにくいとのフィードバックをいただいたため、次のステップについて適切に判断できるよう、この問題に関する詳細をお伝えいたします。また、クロスオリジン分離有効化ガイドの更新も行い、詳細情報を追加しました。

メールが届いた理由

メッセージは、メッセージの送信時点において、ウェブサイトの JavaScript で SharedArrayBuffer オブジェクトの使用が検出された方にお送りしています。このオブジェクトの使用は、フレームワーク、ライブラリ、またはウェブサイト内に含まれる他のサードパーティ コンテンツによるものである可能性があります。

SharedArrayBuffer とは

SharedArrayBuffer は、ウェブサイトのスレッド間でメモリ領域を共有する JavaScript オブジェクトです。Spectre と呼ばれる脆弱性が発見される前は、ウェブサイトで使用されていました。しかし、Spectre は CPU レベルの脆弱性であり、当面の間は解決される可能性が低いため、ブラウザでは SharedArrayBuffer オブジェクトを無効化することにしました。

Chrome では、一時的な対策として、デスクトップ上でのサイト分離で再度有効化していましたが、SharedArrayBuffer オブジェクトを安全に有効化する方法としてクロスオリジン分離が標準化されました。2021 年 5 月下旬にリリース予定のバージョン 92 以降、Chrome ではクロスオリジン分離により SharedArrayBuffer オブジェクトを有効化します。Firefox でも、バージョン 76 で、クロスオリジン分離環境での SharedArrayBuffer オブジェクトが有効化されました。他のブラウザでも早くサポートされることが望まれます。

サイトでの SharedArrayBuffer オブジェクトの使用を確認する

次の 2 つの方法があります。

  1. Chrome DevTools を使用して、重要なページを確認します。
  2. (上級者向け)Reporting API を使ってサポート終了の報告をレポート エンドポイントに送信します。

上記の方法については、SharedArrayBuffer オブジェクトが使用されている箇所を特定するをご覧ください。

次のステップ

次のステップとして、以下のことをおすすめします。

  1. ウェブサイト上で SharedArrayBuffer オブジェクトが使用されている箇所を特定します。
  2. このオブジェクトを使用する必要があるかどうかを判断します。
  3. その機能を削除するか、クロスオリジン分離を有効にして、問題を解決します。

SharedArrayBuffer オブジェクトについて聞いたことがなく、Search Console メッセージが届いた場合は、ウェブサイト上のサードパーティ リソースでこのオブジェクトが使用されている可能性があります。影響を受けているページとリソースのオーナーを特定したら、リソース プロバイダに問い合わせていただき、問題の解決を依頼してください。

Chrome 92 のリリース後は、クロスオリジン分離を構成しないと SharedArrayBuffer オブジェクトが機能しなくなります。実際には、SharedArrayBuffer オブジェクトがサポートされていない他のケースと同様、Chrome でサイトのパフォーマンスが低下する可能性があります。

メッセージが届いていなかった場合にも、今回の説明がお役に立てば幸いです。ご不明な点がありましたら、検索セントラル ヘルプ コミュニティに投稿し、他のエキスパートから回答をもらうことをおすすめします。