定制 sustainableweb/website-carbon-calculator 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sustainableweb/website-carbon-calculator

最新稳定版本:2.0.1

Composer 安装命令:

composer require sustainableweb/website-carbon-calculator

包简介

Lightweight and framework-agnostic PHP library to calculate web page carbon emissions based on real-time parameters. No external API required — ideal for custom integrations, CLI tools, or backend automation.

README 文档

README

The internet consumes a lot of electricity. 1021 TWh per year to be precise. To give you some perspective, that’s more than the entire United Kingdom.

From data centers to transmission networks to the billions of connected devices that we hold in our hands, it is all consuming electricity, and in turn producing carbon emissions equal to or greater than the global aviation industry. Yikes!

The Website Carbon Calculator empowers website owners to assess and minimize their carbon footprint. Drawing inspiration from the acclaimed Website Carbon Calculator algorithm 2.0 and leveraging The Green Web Foundation's co2.js, it allows you to calculate the CO₂ impact and performance of any url.

Installation

$ composer require sustainableweb/website-carbon-calculator

API

Estimate web page carbon footprint and performance

View the Google documentation to generate a Google Pagespeed Api Key

use SustainableWeb\WebsiteCarbonCalculator\WebsiteCarbonCalculator;

$websiteCarbonCalculator = new WebsiteCarbonCalculator('GooglePagespeedApiKey');
$websiteCarbonCalculator->calculateByURL('https://www.websitecarbon.com/how-does-it-work/', ['strategy'=>'desktop'])

Output

{
  "url": "https://www.websitecarbon.com",
  "isGreenHost": true,
  "bytesTransferred": 135289,
  "networkRequests": 16,
  "performanceScore": 0.94,
  "loadingExperience": "FAST",
  "domSize": 308,
  "speedIndex": 934,
  "firstMeaningfulPaint": 491,
  "interactive": 692, 
  "bootupTime": 94,
  "serverResponseTime": 150,
  "mainthreadWork": 762,
  "energy": 0.000171,
  "co2PerPageview": 0.0739
}

For better performance, detect hosting energy type and store it in a database to avoid repetitive call to The Green Web Foundation API.

Detect hosting energy type

use SustainableWeb\WebsiteCarbonCalculator\WebsiteCarbonCalculator;

$isGreenHost = WebsiteCarbonCalculator::isGreenHost('https://www.websitecarbon.com')
$websiteCarbonCalculator->calculateByURL('https://www.websitecarbon.com/how-does-it-work/', ['isGreenHost'=>$isGreenHost, 'strategy'=>'desktop'])

How does it work

Calculating the carbon emissions of website is somewhat of a challenge, but using five key pieces of data we can make a pretty good estimate:

  • Data transfer over the wire
  • Energy intensity of web data
  • Energy source used by the data center
  • Carbon intensity of electricity
  • Website traffic

Under the hood, it uses Google pagespeed api and The green web foundation api

Website Carbon Calculator

This project is widely inspired by the Website Carbon Calculator algorithm 2.0 and The Green Web Foundation co2.js

Glossary

Tests

Run tests

$ pagespeedApiKey=xxxxxx php vendor/bin/phpunit

Changelog

2.0.1

  • remove warnings thrown when Google API response is not complete

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-30