Appearance
Energy & Carbon ​
Cabin measures how much data each of your pages moves, and turns that into an estimate of the carbon your site emits. It runs automatically on the pages your visitors actually load, so there's nothing to set up.
How It Works ​
Our carbon tracking system analyzes all files loaded on your website to calculate the total data transfer. A page analysis is triggered when:
- The page receives visitor traffic
- At least 3 days have passed since the previous analysis
- The page content has been modified (detected by checking the last-modified header and comparing the HTML against our stored hash)
This intelligent approach prevents unnecessary processing of unchanged assets, conserving both computational resources and energy.
Each analysis is recorded in a historical log specific to that page.
Visitor Load Calculation ​
We determine how much data each visitor loads by applying a percentage based on their browsing history:
| Visit Type | Asset Load |
|---|---|
| First visit to your website | 100% of page assets |
| First visit to the specific page, but has visited your domain before | 50% |
| Returning visitor to the specific page | 5% |
CO2 Calculations ​
Our carbon emissions calculations are powered by The Green Web Foundation's CO2.js library.
Digital activities have a carbon footprint, and our goal is to help you understand and reduce yours. The CO2.js library allows us to estimate the environmental impact of your website's data transfer by converting bytes into carbon emissions estimates.
The calculations take into account various factors in the digital supply chain, including network infrastructure, user devices, and data centers.
We automatically check your hosting provider against The Green Web Foundation database to determine if you're using a green hosting service, which can significantly reduce your website's carbon footprint.
Why some pages show no energy data ​
Occasionally a page shows no page size or carbon estimate. The most common reasons are:
- The site blocks automated requests. To measure a page Cabin loads it the way a browser would. If your site (or a service in front of it, like Cloudflare) blocks automated visitors, the analysis can't complete.
- The page returned an error or doesn't exist. A
404, a redirect loop, or a page that requires logging in can't be measured. - The page was too slow to respond and the analysis timed out.
This is usually nothing to worry about. If a page blocks automated visitors, your bot protection is doing its job, and you still get full analytics for that page (visits, referrers, events); only the energy estimate is missing. For most sites that's a perfectly reasonable trade-off and you don't need to change anything. Cabin also re-checks pages automatically as they receive traffic, so transient problems clear on their own.
If you want energy data for a blocked page ​
Measuring a protected page means letting Cabin's analyzer past your bot protection, which is a security trade-off rather than a free win. Weigh it against why the protection is there.
Cabin's requests identify themselves with a User-Agent of Cabin-Size/0.1 withcabin.com and an X-Cabin-Bot: 1 header.
WARNING
These are just labels, and anyone can copy them. A firewall rule that allows traffic based on this user-agent or header will let any request that sets the same values through your bot protection, weakening it on those pages. Only do this if you accept that, and keep the rule as narrow as you can.
We're working on publishing a fixed IP address you'll be able to allowlist instead. Matching on IP can't be spoofed and is the safer way to do this. Until then, prefer the most targeted option below.
Cloudflare ​
- Bot Fight Mode (Free) can't be skipped with a rule: it runs outside Cloudflare's rules engine. The only lever is to turn it off (Security → Bots), which lowers protection across your whole site. Consider whether that's worth it just for carbon data.
- Super Bot Fight Mode (Pro/Business) does run on the rules engine: prefer it. Add a WAF custom rule with the Skip action matching
http.user_agent contains "Cabin-Size", set to skip Super Bot Fight Mode only. That's far more targeted than disabling protection globally. - AI Crawl Control (all plans): a separate feature from Bot Fight Mode, often on by default, and a common reason a page comes back blocked even when nothing else looks unusual. Go to Security → AI Crawl Control: Cloudflare generates its own WAF rule for this, and supports editing that rule directly to add an exception (an extra user-agent condition) rather than turning the whole thing off. Add a clause excluding
http.user_agent contains "Cabin-Size"and every other AI crawler stays blocked. Worth keeping in mind this one exists specifically to keep AI training scrapers out, so an exception here is a more pointed trade-off than the Bot Fight Mode case above, because anyone who spoofs the same header gets past the AI-scraper block too, not just generic bot detection.
Other firewalls and WAFs ​
Add a narrowly-scoped allow rule for requests where the User-Agent contains Cabin-Size (or the X-Cabin-Bot header is present), keeping the spoofing caveat above in mind.
Once allowed, Cabin picks the page back up on its next visit.
