ナビゲーションをスキップ

方法論

概要

Web Almanacは、HTTP Archiveによって組織されたプロジェクトです。HTTP Archiveは、2010年にSteve Soudersによってウェブがどのように構築されているかを追跡する使命で始まりました。月に数百万のウェブページの構成を評価し、そのテラバイトのメタデータをBigQueryで分析用に提供しています。

The Web Almanacの使命は、Webの現状に関する公共知識の年間リポジトリになることです。我々の目標は、HTTP ArchiveのデータウェアハウスをWebコミュニティにとってさらにアクセスしやすくすることであり、専門家がコンテキストに沿った洞察を提供することでこれを実現します。

2024年版のWeb Almanacは、コンテンツ、エクスペリエンス、パブリッシング、ディストリビューションの4つの部分に分かれています。それぞれの部分では、複数の章がさまざまな角度からその全体的なテーマを探ります。たとえば、第2部では、パフォーマンス、セキュリティ、アクセシビリティの章などでユーザーエクスペリエンスを異なる視点から探求しています。

データセットについて

HTTP Archiveのデータセットは、毎月新しいデータで継続的に更新されています。2024年版のWeb Almanacでは、とくに章で記載がない限り、すべての指標は2024年6月のクロールから取得されました。これらの結果は、BigQuery上の `httparchive.all.*` テーブルの date = '2024-06-01'公開クエリが可能です。

Web Almanacで提示されているすべての指標は、BigQuery上のデータセットを使用して公開再現可能です。すべての章で使用されたクエリは、GitHubリポジトリで閲覧できます。

たとえば、アクセシブルなカラーコントラストを持つページ数を理解するには、color_contrast.sqlを参照してください:

SELECT
  client,
  is_root_page,
  COUNTIF(color_contrast_score IS NOT NULL) AS total_applicable,
  COUNTIF(CAST(color_contrast_score AS NUMERIC) = 1) AS total_good_contrast,
  COUNTIF(CAST(color_contrast_score AS NUMERIC) = 1) / COUNTIF(color_contrast_score IS NOT NULL) AS perc_good_contrast
FROM (
  SELECT
    client,
    is_root_page,
    date,
    JSON_VALUE(lighthouse, '$.audits.color-contrast.score') AS color_contrast_score
  FROM
    `httparchive.all.pages`
  WHERE
    date = '2024-06-01'
)
GROUP BY
  client,
  is_root_page,
  date
ORDER BY
  client,
  is_root_page;

各指標の結果は、たとえばJavaScriptの結果など、章ごとのスプレッドシートで公開されています。各章の末尾には、生データとクエリへのリンクが記載されています。また、指標ごとの結果とクエリは各フィギュアから直接リンクされています。

ウェブサイト

データセットには16,935,953のウェブサイトが含まれています。そのうち、16,130,357はモバイルウェブサイトで、12,740,973はデスクトップウェブサイトです。ほとんどのウェブサイトは、モバイルおよびデスクトップの両方のサブセットに含まれています。

HTTP Archiveは、Chrome UX ReportからウェブサイトのURLを取得しています。Chrome UX Reportは、Googleによる公開データセットで、Chromeユーザーが積極的に訪問している何百万ものウェブサイトにおけるユーザーエクスペリエンスを集約しています。これにより、最新の実際のWeb使用状況を反映したウェブサイトのリストを入手できます。Chrome UX Reportのデータセットにはフォームファクターの次元が含まれており、これを使用してデスクトップまたはモバイルユーザーがアクセスしたすべてのウェブサイトを取得しています。

Web Almanacで使用された2024年6月のHTTP Archiveクロールは、もっとも最近利用可能なChrome UX Reportリリースをウェブサイトのリストとして使用しました。202406のデータセットは2024年7月8日にリリースされ、2024年6月にChromeユーザーが訪問したウェブサイトをキャプチャしています。

リソースの制約により、HTTP Archiveは以前、Chrome UX Reportの各ウェブサイトから2ページしかテストできませんでした。ホームページは必ずしもウェブサイト全体を代表しているわけではないため、結果にバイアスがかかる可能性があることに注意してください。今年、セカンダリページを導入し、多くの章でこの新しいデータを使用しています。しかし、一部の章ではホームページのみを使用しました。

HTTP Archiveは、ラボテストツールとも見なされており、データセンターからウェブサイトをテストし、実際のユーザーエクスペリエンスからのデータを収集していません。すべてのページは、キャッシュが空の状態で、ログアウトした状態でテストされており、実際のユーザーがアクセスする方法を反映していない場合があります。

メトリクス

HTTP Archiveは、Webがどのように構築されているかについて何千ものメトリクスを収集しています。これには、ページごとのバイト数、ページがHTTPSで読み込まれたかどうか、個々のリクエストおよびレスポンスヘッダーなどの基本的なメトリクスが含まれます。これらのメトリクスの大部分は、各ウェブサイトのテストランナーとして機能するWebPageTestによって提供されます。

他のテストツールは、ページに関するより高度なメトリクスを提供するために使用されます。たとえば、Lighthouseは、アクセシビリティやSEOなどの分野でページの品質を分析するための監査を実行するために使用されます。これらのツールの詳細については、下のツールセクションで説明しています。

ラボデータセットの固有の制約を回避するために、Web Almanacは、とくにウェブパフォーマンスの分野でのユーザーエクスペリエンスに関するメトリクスのためにChrome UX Reportも使用しています。

一部のメトリクスは完全に把握できません。たとえば、ウェブサイトを構築するために使用されたツールを検出する能力は必ずしも持っていません。create-react-appを使用してウェブサイトが構築されている場合、そのサイトがReactフレームワークを使用していることはわかりますが、特定のビルドツールが使用されているかどうかは必ずしもわかりません。これらのツールがウェブサイトのコードに検出可能な指紋を残さない限り、それらの使用を測定することはできません。

他のメトリクスは測定が不可能ではないにしても、挑戦的であるか、信頼性が低いことがあります。たとえば、ウェブデザインの側面は本質的に視覚的であり、ページに煩わしいモーダルダイアログがあるかどうかなど、定量化が困難です。

ツール

Web Almanacは、次のオープンソースツールの助けを借りて実現されています。

WebPageTest

WebPageTestは、著名なウェブパフォーマンステストツールであり、HTTP Archiveの基盤です。私たちは、プライベートインスタンスのWebPageTestを使用しており、各ウェブページをテストするためのプライベートテストエージェント(実際のブラウザ)を使用しています。デスクトップおよびモバイルウェブサイトは、異なる構成でテストされています:

設定 デスクトップ モバイル
デバイス Linux VM エミュレートされたMoto G4
ユーザーエージェント Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 PTST/240613.172707 Mozilla/5.0 (Linux; Android 8.1.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36 PTST/240613.172707
ロケーション Google Cloud Locations, USA Google Cloud Locations, USA
接続 Cable (5/1 Mbps 28ms RTT) 4G (9 Mbps 170ms RTT)
ビューポート 1376 x 768px 512 x 360px

デスクトップウェブサイトは、Linux VM上のデスクトップChrome環境内で実行されます。ネットワーク速度はケーブル接続に相当します。

モバイルウェブサイトは、エミュレートされたMoto G4デバイス上のモバイルChrome環境内で実行され、ネットワーク速度は4G接続に相当します。

テストエージェントは、米国に拠点を置くさまざまなGoogle Cloud Platformロケーションから実行されます。

HTTP ArchiveのWebPageTestのプライベートインスタンスは、最新のパブリックバージョンと同期されており、カスタムメトリクスが追加されています。これらは、各ウェブサイトでテストの終了時に評価されるJavaScriptのスニペットです。

各テストの結果は、ウェブページに関するメタデータを含むJSON形式のアーカイブファイルであるHARファイルとして利用可能です。

Lighthouse

Lighthouseは、Googleによって開発された自動ウェブサイト品質保証ツールです。ウェブページを監査し、最適化されていない画像やアクセシビリティのないコンテンツなど、ユーザーエクスペリエンスに反するパターンが含まれていないことを確認します。

HTTP Archiveは、すべてのページで最新バージョンのLighthouseを実行しています。2024年6月のクロール時点で、HTTP Archiveは12.0.0バージョンのLighthouseを使用しました。

Lighthouseは、WebPageTest内から独自のテストとして実行されますが、独自の設定プロファイルを持っています:

設定 デスクトップ モバイル
CPUの速度低下 N/A 1x/4x
ダウンロードのスループット 10.0 Mbps 1.6 Mbps
アップロードのスループット 10.0 Mbps 0.75 Mbps
RTT 40 ms 150 ms

LighthouseおよびHTTP Archiveで利用可能な監査に関する詳細は、Lighthouse開発者ドキュメントを参照してください。

Wappalyzer

Wappalyzerは、ウェブページで使用されている技術を検出するツールです。JavaScriptフレームワーク、CMSプラットフォーム、さらには暗号通貨マイナーまで、108のカテゴリにわたる技術がテストされています。サポートされている技術は3,944を超えています。

HTTP Archiveは、最後のオープンソース版Wappalyzer(v6.10.65)のフォークを実行しており、その後いくつかの追加検出機能が加えられています。

Wappalyzerは、WordPress、Bootstrap、jQueryなどの開発者ツールの人気を分析する多くの章で利用されています。たとえば、CMS章では、Wappalyzerが検出したCMSカテゴリの技術に大きく依存しています。

Wappalyzerを含むすべての検出ツールには制限があります。その結果の正確性は、検出メカニズムの精度に依存します。Web Almanacは、Wappalyzerが使用されるすべての章において、特定の理由で分析が正確でない可能性がある場合、その旨を注記します。

Chrome UX Report

Chrome UX Reportは、実際のChromeユーザーのエクスペリエンスに関する公開データセットです。エクスペリエンスは、ウェブサイトのオリジンごとにグループ化されます。たとえば、https://www.example.comです。このデータセットには、ペイント、ロード、インタラクション、レイアウト安定性などのUX指標の分布が含まれています。月ごとにグループ化されるだけでなく、国レベルの地理、フォームファクター(デスクトップ、電話、タブレット)、有効な接続タイプ(4G、3Gなど)などの次元で分割することもできます。

Chrome UX Reportのデータセットには、相対的なウェブサイトランキングデータも含まれています。これらは ランクマグニチュード と呼ばれ、1位や116位のような細かな順位ではなく、上位1k、上位10k、最大で上位10Mまでのランクバケットにウェブサイトがグループ化されます。各ウェブサイトは、すべてのページを合わせた対象となるページビューの数に基づいてランク付けされます。今年のWeb Almanacでは、この新しいデータを広範に使用し、サイトの人気によってWebの構築方法にどのような違いがあるかを探る手段としています。

Web Almanacのメトリクスで、Chrome UX Reportからの実際のユーザーエクスペリエンスデータを参照しているものには、2024年6月のデータセット(202406)が使用されています。

データセットの詳細については、Using the Chrome UX Report on BigQueryガイドをdeveloper.chrome.comでご覧ください。

Blink Featuresは、特定のWebプラットフォーム機能が使用されていると検出された際にChromeがフラグを立てる指標です。

私たちは、Blink Featuresを使用して機能の採用状況を別の視点から捉えています。このデータは、ページに実装されている機能と実際に使用されている機能を区別するのにとくに有用です。

Blink Featuresは、WebPageTestの通常のテストの一環として報告されています。

Third Party Web

Third Party Webは、HTTP ArchiveおよびLighthouseデータを使用して、Web上のサードパーティリソースの影響を特定し分析するPatrick Hulce2019年のサードパーティ章の著者)による研究プロジェクトです。

ドメインは、少なくとも50の異なるページに表示される場合、サードパーティプロバイダーと見なされます。このプロジェクトでは、プロバイダーを広告、分析、ソーシャルなどのカテゴリごとにグループ化しています。

Web Almanacのいくつかの章では、このデータセットのドメインとカテゴリを使用して、サードパーティの影響を理解しています。

Rework CSS

Rework CSSは、JavaScriptベースのCSSパーサーです。スタイルシート全体を取り込み、各スタイルルール、セレクター、ディレクティブ、値を区別するJSON形式のオブジェクトを生成します。BigQuery上のHTTP Archiveデータセットとの統合方法については、このスレッドを参照してください。

Parsel

Parselは、CSSセレクターパーサーおよび特異性計算機で、元々は2020年のCSS章のリーダーであるLea Verouによって書かれ、別のライブラリとしてオープンソース化されました。これは、セレクターや特異性に関連するすべてのCSS指標で広く使用されています。

分析プロセス

Web Almanacは、ウェブコミュニティの100人以上の寄稿者との調整を伴い、計画および実行に約1年かかりました。このセクションでは、Web Almanacで選ばれた章がどのような理由で選ばれ、その指標がどのようにクエリされ、どのように解釈されたかを説明します。

計画

2024年のWeb Almanacは、2024年3月に寄稿者募集の呼びかけでスタートしました。プロジェクトは前年と同じ章でスタートし、コミュニティから提案された追加のトピックの中から、今年の新しい1章となりました:Cookie

私たちは創刊年の方法論で述べた通り:

Web Almanacの将来の版の1つの明確な目標は、著者やピアレビュアーとして代表されていない多様な声をさらに奨励することです。

そのために、今年も著者選定プロセスを続けています:

  • 以前の著者には、新しい視点を提供するため、再び執筆することをとくに奨励しませんでした。
  • 2024年の著者を推薦する全員に対して、外見や考え方が同じ人々を推薦しないようにとくに意識するよう求めました。
  • プロジェクトリーダーはすべての著者の推薦をレビューし、新しい視点をもたらし、コミュニティ内の代表されていないグループの声を増幅する著者を選出する努力をしました。

私たちは、Web Almanacがさらに多様で包括的なプロジェクトとなるよう、このプロセスを将来的に反復し、すべての背景を持つ寄稿者からの意見を取り入れることを望んでいます。

分析

2024年の4月と5月に、データアナリストは著者およびピアレビュアーと協力して、各章でクエリを実行する必要がある指標のリストを作成しました。場合によっては、分析能力のギャップを埋めるためにカスタムメトリクスが作成されました。

2024年5月を通じて、HTTP Archiveのデータパイプラインは数百万のウェブサイトをクロールし、Web Almanacで使用されるメタデータを収集しました。これらの結果は後処理され、BigQueryに保存されました。

5年目となる今年、以前のアナリストによって書かれたクエリを更新して再利用することができました。それでも、ゼロから書かれる必要がある多くの新しい指標がありました。GitHub上のオープンソースクエリリポジトリで、年度および章ごとのすべてのクエリを閲覧できます。

解釈

著者はアナリストと協力して結果を正しく解釈し、適切な結論を導き出しました。著者がそれぞれの章を書く際には、これらの統計を利用してウェブの状態を枠組みとして支えました。ピアレビュアーは著者と協力して分析の技術的正確さを保証しました。

結果を読者により容易に理解してもらうために、ウェブ開発者およびアナリストは章に埋め込むデータビジュアリゼーションを作成しました。いくつかのビジュアライゼーションは、ポイントをより明確にするために簡略化されています。たとえば、完全な分布を示すのではなく、いくつかのパーセンタイルのみが表示されます。とくに記載がない限り、すべての分布はパーセンタイルを使用して要約され、とくに中央値(50パーセンタイル)が使用され、平均は使用されません。

最後に、編集者が章を見直して単純な文法的な誤りを修正し、読書体験全体の一貫性を保証しました。

将来に向けて

2024年版のWeb Almanacは、ウェブコミュニティの内省と前向きな変化への取り組みとして(2023年は一時休止しましたが)ほぼ年次の伝統の第5回目です。この地点に到達するまで、多くの献身的な寄稿者のおかげで壮大な努力がなされました。私たちは、将来の版をさらに効率的にするために、可能な限りこの作業を活用することを望んでいます。