Skip to content

エネルギーとCO₂ ​

対象プランPlusScale

Cabinは、各ページがどれだけのデータを転送しているかを計測し、それをもとにサイトのCO₂排出量を推計します。訪問者が実際に読み込んだページを対象に自動で動くため、設定は不要です。

仕組み ​

CO₂トラッキングの仕組みでは、サイトで読み込まれるすべてのファイルを分析し、データ転送量の合計を算出します。ページの分析は次の条件で実行されます。

  1. ページに訪問者のトラフィックがある
  2. 前回の分析から3日以上経過している
  3. ページの内容が変更されている(last-modifiedヘッダーの確認と、HTMLを保存済みのハッシュと比較することで検出します)

この仕組みにより、変更のないアセットを無駄に処理することがなくなり、計算資源とエネルギーの両方を節約できます。

各分析結果は、そのページごとの履歴ログに記録されます。

訪問者ごとの読み込み量の計算 ​

各訪問者が読み込むデータ量は、閲覧履歴に応じた割合を掛けて求めます。

訪問の種類アセットの読み込み量
サイトへの初回訪問ページアセットの100%
そのページへの初回訪問(ドメインには以前に訪問済み)50%
そのページへの再訪問5%

CO₂の計算 ​

CO₂排出量の計算には、The Green Web FoundationのCO2.jsライブラリを使っています。

デジタルな活動にもカーボンフットプリントがあります。私たちの目標は、その量を把握し、減らすお手伝いをすることです。CO2.jsライブラリを使うと、バイト数をCO₂排出量の推計値に換算して、サイトのデータ転送が環境に与える影響を見積もれます。

計算では、ネットワークインフラ、ユーザーの端末、データセンターなど、デジタルのサプライチェーンにおけるさまざまな要素を考慮しています。

また、ホスティングプロバイダーをThe Green Web Foundationのデータベースと自動で照合し、グリーンホスティングを利用しているかを判定します。グリーンホスティングを使うと、サイトのカーボンフットプリントを大きく減らせます。

エネルギーデータが表示されないページがある理由 ​

まれに、ページサイズやCO₂の推計値が表示されないページがあります。よくある原因は次のとおりです。

  • サイトが自動化されたリクエストをブロックしている。 Cabinはページを計測する際、ブラウザと同じ方法で読み込みます。サイト(またはCloudflareなど、その前段にあるサービス)が自動化された訪問者をブロックしていると、分析を完了できません。
  • ページがエラーを返した、または存在しない。 404、リダイレクトのループ、ログインが必要なページは計測できません。
  • ページの応答が遅すぎて、分析がタイムアウトした。

通常、心配する必要はありません。 ページが自動化された訪問者をブロックしているなら、ボット対策が正しく機能しているということです。そのページの解析データ(訪問、参照元、イベント)はすべて取得でき、欠けるのはエネルギーの推計値だけです。ほとんどのサイトにとって、これは十分に妥当なトレードオフであり、何も変更する必要はありません。また、Cabinはトラフィックのあったページを自動で再チェックするため、一時的な問題は自然に解消されます。

ブロックされたページのエネルギーデータが必要な場合 ​

保護されたページを計測するには、Cabinの分析ツールがボット対策を通過できるようにする必要があります。これは無条件の改善ではなく、セキュリティとのトレードオフです。そもそもなぜ保護しているのかと照らし合わせて判断してください。

Cabinのリクエストは、Cabin-Size/0.1 withcabin.comというUser-AgentとX-Cabin-Bot: 1ヘッダーで自身を識別します。

WARNING

これらは単なるラベルで、誰でも真似できます。このユーザーエージェントやヘッダーを条件にトラフィックを許可するファイアウォールルールを作ると、ボット対策をどんなリクエストでも通過できるようになります。それを受け入れられる場合にだけ設定し、ルールはできるだけ限定的にしてください。

Cloudflare ​

  • Bot Fight Mode(Free) はルールで除外できません。Cloudflareのルールエンジンの外で動作するためです。できるのはオフにする(Security → Bots)ことだけで、その場合はサイト全体の保護が弱まります。CO₂データのためだけにそうする価値があるか、よく検討してください。
  • Super Bot Fight Mode(Pro/Business) はルールエンジン上で動作します。こちらを使うのがおすすめです。http.user_agent contains "Cabin-Size"に一致するSkipアクションのWAFカスタムルールを追加し、Super Bot Fight Modeだけをスキップするよう設定します。保護を全体的に無効にするよりも、はるかに対象を絞れます。
  • AI Crawl Control(全プラン):Bot Fight Modeとは別の機能で、多くの場合デフォルトで有効になっています。ほかに変わった点がないのにページがブロックされる、よくある原因の1つです。Security → AI Crawl Controlを開いてください。Cloudflareはこの機能用に独自のWAFルールを生成しており、機能全体をオフにしなくても、そのルールを直接編集して例外(ユーザーエージェントの条件の追加)を加えられます。http.user_agent contains "Cabin-Size"を除外する条件を追加すれば、ほかのAIクローラーはすべてブロックされたままです。ただし、この機能はAIの学習用スクレイパーを締め出すために存在している点に注意してください。同じヘッダーを偽装すれば誰でも、一般的なボット検出だけでなくAIスクレイパーのブロックも通過できてしまいます。そのため、ここでの例外は上記のBot Fight Modeの場合よりも踏み込んだトレードオフになります。

その他のファイアウォールとWAF ​

User-AgentにCabin-Sizeが含まれる(または**X-Cabin-Botヘッダーがある**)リクエストを許可する、対象を絞ったルールを追加してください。その際は、上記の偽装に関する注意点を念頭に置いてください。

許可すると、次の訪問時にCabinがそのページの計測を再開します。