SharedArrayBufferに警告メール

先日、Google Search Consoleを通してSharedArrayBufferというJavaScriptのオブジェクトを使用しているWebサイトオーナー向けに警告メールが届いたようです。専門的過ぎて全く良く分からない、という人に向けてGoogleは米国現地時間3月19日にSearch Central Blogで説明をしてくれていますので、一応ここでもご紹介しておきます。対象の方やコーダーの方には分かると思いますが、ほとんどの人は理解していなくても良さそうですし、良く分かりません(笑)。

ふわふわ

Search Central Blogの和訳

まずは、Search Central Blogに掲載されている内容を和訳してご紹介します。

SharedArrayBufferメッセージについての説明

Google Search Consoleから「New requirements for SharedArrayBuffer」という件名のメールを受け取った方もいらっしゃると思います。このメッセージが紛らわしいというフィードバックを受け、この問題についてもう少し詳しく説明し、次のステップとして何が適切かを判断できるようにしたいと考えました。また、cross-origin isolationの有効化に関するガイドを更新し、詳細を記載しました。

なぜこのようなメッセージが表示されたか?

メッセージが表示されたということは、Webサイト上のJavaScriptがSharedArrayBufferオブジェクトを使用していることが検出されたためです。このオブジェクトが使用されているのは、Webサイトに含まれるフレームワークやライブラリ、その他の第三者のコンテンツである可能性があります。

SharedArrayBufferとは何か?

SharedArrayBufferは、Webサイトのスレッド間でメモリ空間を共有するためのJavaScriptのオブジェクトです。Spectreと呼ばれる脆弱性が発見される前からWebサイトで使用されていました。しかし、SpectreはCPUレベルの脆弱性であり、まだまだ改善される見込みがないため、ブラウザ側でSharedArrayBufferオブジェクトを無効にすることを決定しました。

デスクトップではChromeが暫定的にSite Isolationで機能を再有効化したものの、SharedArrayBufferオブジェクトを安全に有効化する方法としてCross-Origin Isolationを標準化することにしました。2021年5月下旬にリリースが予定されているChromeバージョン91から、Chromeはcross-origin isolationがないと、SharedArrayBufferオブジェクトが機能しないようになります。Firefoxではバージョン76で、既にcross-origin isolation環境上でSharedArrayBufferオブジェクトを有効になっています。他のブラウザもこの2つに追随していくことを期待しています。

自身のサイトでのSharedArrayBufferオブジェクトの使用有無を見つける

2つの方法があります:

  1. Chromeデベロッパーツールを使用して、重要なページを検査する。
  2. (上級者向け)Reporting APIを使用して、レポート内の最終箇所に回避報告を送信する。

上記のアプローチ方法は、WebサイトのどこでSharedArrayBufferが使用されているかを判断するのにご活用ください。

次のステップ

次のステップとして以下を推奨します。

  1. WebサイトのどこでSharedArrayBufferオブジェクトが使用されているかを判断する。
  2. その使用が必要であるかどうかを判断する。
  3. 機能を削除するか、cross-origin isolationを有効にすることで問題を解決する。

SharedArrayBufferオブジェクトについて聞いたことがなく、Search Consoleのメッセージを受け取った場合は、Webサイト上の第三者のリソースが使用している可能性が高いです。影響を受けるページとリソースの所有者を特定したら、リソースの提供者に連絡を取り、問題の修正を依頼してください。

Chrome 91がリリースされると、Cross-Origin isolationを持たないSSharedArrayBufferオブジェクトは機能しなくなります。実際にそのサイトのChromeユーザーには、SharedArrayBufferオブジェクトがサポートされていない状態の表示になり、パフォーマンスが低下する可能性があることを意味します。

今回のメッセージを受け取らなかった方も、この説明がお役に立てば幸いです。ご不明な点がありましたら、Search Centralヘルプコミュニティに投稿し、他の専門家の意見を聞くことをお勧めします。

引用)Search Consoleヘルプより和訳

簡単に私の言葉でご説明します。

JavaScriptの中でオブジェクトとして使用されるSharedArrayBufferは、(簡単に言うとデバイスがバグる)Spectre(スペクター)というCPUの脆弱性がありました。これはCPUに関わる話なので、すぐにどうこう対応できるものではなく、基本的にブラウザ側で無効化するように対応をしていました。そんな中、2018年9月に、Chromeでは、Site Isolationというセキュリティ機能を用いることで、SharedArrayBufferを機能できるようにしていました。しかし今回、SharedArrayBufferを安全に利用するために、Cross-Origin Isolationの設定をすることで、SharedArrayBufferを機能させるルールを策定したようです。

ですので、今年の5月下旬にリリースされるChrome 91から、このCross-Origin Isolationが設定されていないと、SharedArrayBuffer機能を無効化します、という警告内容です。

ただ、Googleからの警告メールではどこにSharedArrayBufferが使用されているか指摘してくれません。そこで、サイトオーナー側はChromeデベロッパーツールでSharedArrayBufferがどこに使用されているか特定し、必要か不要か判断した上で、Cross-Origin IsolationをHTTPヘッダーで設定するなり、そもそもSharedArrayBufferを削除するなりして対応しましょう、という話です。

ただ得てして、身に覚えがない場合、サイト内に入れ込んでいる広告の中やタグの中にSharedArrayBufferオブジェクトが入り込んでいるケースがあります。その場合は広告配信元に連絡して対処してもらうか、その広告やタグを使わないかしなければなりません。

何も対処しないままSharedArrayBufferを使用している場合は、その部分がバグるか表示されなくなるかと思います。

ふわふわ

そこまで特別な話ではなく、使用注意の話

過去にもこういった特殊なオブジェクトに関する注意喚起をGoogle(Chrome)がすることはありました。なので、今回のSharedArrayBufferも同様の話です。通知が来たWebマーケターで、詳しくない人はそのままコーダーに相談しながら対処すると良いのではないでしょうか。


関連記事

目次の順序はランキングに影響する?

コラム等の記事を読んでいると、どの記事も面白いように「とは」「種類」「メリットデメリット」「使い方」「注意点」の順番で目次設定されていて、その通りのストーリー順序で記事化されています。これは以前にも私は触れています。しかし、この順序はSEO評価(検索順位が上がりやすいこと)に繋がるのでしょうか。私の ...(続きを読む)

検索結果タイトル生成アップデート

Googleは米国現地時間8月24日、Webサイトページを検索結果に表示する際、タイトルを生成する新しいシステムを導入したと発表しました。記事内容を和訳しながらご紹介したいと思います。 検索結果表示のタイトルについて 元々、ずいぶん前からタイトルの書き換えは起こっていました。私も以前記事にしていまし ...(続きを読む)

Googleが検索の仕組みを案内

もう何度も何度も何度もGoogleは案内してきていると思いますが、改めてGoogleは「Google検索の仕組み」ページのデザインをリニューアルして公開しました。合わせてThe Keywordでもその内容を案内していますので、和訳してご紹介します。 Google検索の仕組みについて 新しくGoogl ...(続きを読む)

構造化データテストツールは別モノへ

2020年の7月に構造化データテストツールが廃止予定であることをGoogleは予告していました。要はリッチリザルトテストツールに統合されるという話でした。そして8月9日に構造化データテストツールはSchema.orgのテストツールとして変貌しました。 そもそもどうだったの? もともと、構造化データの ...(続きを読む)

コメントを書く

コメントは承認から反映までしばらく時間がかかる場合がございます。メールアドレスが公開されることはございません。