Sustainable Web Development

The internet is responsible for over 1 billion tonnes (over 2%) of the worlds' carbon emissions per year.

As engineers for the web, we have a responsibility to ensure that our solutions take that fact into account. I want to use this post to discuss techniques that don't actively contribute to generating avoidable emissions, and why I think it's important that we all contribute to building a sustainable future.

Design

One of the most important things if you work with dedicated designers as an engineer is collaboration. Intentional, open minded teamwork often leads to positive outcomes.

  • Good UX reduces the amount of time a user spends looking for their desired outcome

  • Images should only be used where necessary, next gen formats (webp, svg) should be preferred

  • Video is HEAVY - it should only be used where appropriate and should be hosted on a specialty video platform and embedded onto the page. Videos should never play automatically!

Development

Developers are in a unique position to ensure that their work is running in an environmentally friendly way. Other non-technical stakeholders might not be aware of the carbon emissions of computers, so it is our job as developers to educate and inform when appropriate.

As well as educating others, developers are responsible for the efficiency and consumption of their code executing on a machine. Application performance can have a significant impact on energy consumed by server hardware, so it's important that websites and web apps are optimised for performance! (Search engines consider performance in their ranking data, so this also helps SEO.)

Here is what I try to live by when building websites and software:

  • Optimise font loading - don't pull in all variations if the design only requires 1

  • Use Static Site Generation if that's appropriate for your project

  • Ensure assets are being served in next gen, efficient formats

  • Ensure correct headers are set on assets and files, allow the browser to cache a file for an appropriate length of time!

Deployment / Hosting

Any website or application depends on a machine somewhere to serve that website or application. If the machine is powered completely by renewable power, the carbon emissions of that machine are eliminated.

Because of this, one of the most important things to validate when deploying an application is that the hosting provider use green energy. The Green Web Foundation provide a tool to validate whether a website is running on green energy and host a directory of validated green hosting providers.

Some further significantly impactful techniques are listed below:

  • Appropriate asset and response caching

  • Use servers close to your userbase

  • Use CDNs

  • Stay up to date with tech stack versions

Tools

  • Website Carbon - a fairly straightforward website carbon calculator

  • EcoPing - a toolbox for organisations to calculate their own website carbon emissions, compare to other businesses, and more

Hopefully this collection of tools and techniques is valuable for your own sustainability journey online.

Thanks to Wholegrain Digital for creating their Sustainable Web Manifesto.

(Disclaimer: I don't have any stake in any product, service, or service provider listed in this article.)

⇽ back to thoughts.