The Eco-mode project: reducing the energy consumption of WordPress websites

A few weeks back, CloudFest organized its yearly Hackathon and Yoast was proud to be a partner and sponsor for this edition. During this event, developers and other web professionals from around the globe came together to solve some real-world problems. While having lots of fun! Of course, we couldn’t sit back and just enjoy the show from afar. A few of us Yoasters also joined the event and participated in the eco-mode project, a project with the goal to have an impact on global internet energy consumption. And it was quite a success!

What is the CloudFest Hackathon?

CloudFest, the world’s top cloud computing conference, has returned to Germany in March 2023, and Yoast was thrilled to be part of the hackathon this year. The three-day event brought together 11 open-source projects and 120 attendees with the aim of creating innovative solutions to intriguing tech challenges in the OSS community.

As a returning sponsor from last year, sadly not having been able to attend in person in 2022, we definitely wanted to get more involved in the event this time around. We sent not just one, but three representatives to join in on the fun and experience firsthand the positive vibes we had heard so much about from previous year’s attendees. Not only did we send Yoasters to attend the hackathon, but our very own Diede Exterkate and I (Leonidas Milosis) co-led one of the hackathon projects, the Eco-mode project. And let me tell you, it was an experience we won’t forget anytime soon!

The Eco-mode project

As the project’s description on the hackathon website states:

Recurring outgoing HTTP requests in WordPress can be a source of needless energy and bandwidth usage that can be recalibrated and optimized.

The Eco-mode project was born, prior to the hackathon, out of the intention to lower the total energy consumption of WordPress websites, by reducing the outgoing HTTP requests a website performs. The basic idea was that we wanted to investigate whether there are outgoing requests that WordPress sites perform that can be throttled without any functionality breaking.

The long-term goal of all that would be to create a plugin that performs those recalibrations and if that got widely adopted (perhaps by turning into a canonical plugin), it would translate in a big number of prevented external requests, thus making a dent in the total energy consumption of the internet! Needless to say, as the days of the hackathon were getting closer, I was starting to get more and more excited, realizing that the project could actually make a difference. The responsibility of the task at hand started to get real, which brings us to the event.

Timeline of the hackathon

Day 1: Inspiring chaos

The whole thing started with the lead of each project making a quick pitch, trying to persuade people to join their project. Our approach for the Eco-mode pitch was simple: We were looking for developers that cared about optimizing the performance of WordPress sites while also reducing their energy consumption. That’s an easy sell, right?

Turns out, it was. We managed to assemble a great team, featuring Thierry Muller, Moritz Bappert, Zsolt Revay, Christoph Daum and Yoast’s Petar Ratkovic. Once the team gathered at the project’s table and we explained the task at hand, it was time to brainstorm. I would describe this first day as chaotic but in an inspiring way. At the end of the day, minimal code had been written but we had shared a couple of ideas and some routes each subgroup could try and follow the next day.

Day 2: Time to get serious

This was the time to see if we had any ideas that were actually worth pursuing. I’m not going to lie, at some point I had this nerve-wracking feeling that we were heading toward a dead-end. Every idea shared was proving to be either not doable or not impactful. But then, something weird happened. While we were about to abandon yet another idea for being too disruptive to WordPress’s normal flow, our collective brainstorming created a slight modification of that idea with a bit more sophisticated logic behind it. And that seemed to unlock us because, within an hour, we had 3 different subgroups working on different things with promising potentials.

The team working on the Eco-mode project
The team working on the Eco-mode project. Photo: René Lamb ©CloudFest

After checking with the event’s mentors that our ideas were viable, we now had a clear goal in sight. Each subgroup had tasks and things were finally clicking. The only problem now was time running out. Luckily, in a hackathon setting, you mostly try to build something that proves an idea can work. You know how as a developer you always try to have pristine code, adhering to all sorts of best practices and conventions? Well, you can throw most of those requirements out of the window during a hackathon: “Build now, improve later” as they say. By the end of the day, we had most things ready, with only a couple of loose ends remaining.

Day 3: The last day

We had two hours to finish everything and prepare a presentation, which we did – although we did hand in our slides literally at the last minute. We were happy with our progress and decided to have the whole team on stage for the presentation. It was a proper team effort, after all! Once all projects presented their work, it was time for the award ceremony. To create friendly competition, Cloudfest had 6 awards including the #CFHack2023 Champion Award, the ultimate prize. Our experience in the hackathon would have been awesome even without winning anything, so our team wasn’t that stressed about the results. But to make things even better, our Eco-mode project won 3 awards! 

  • The Visionary Catalyst award
  • The Future of The Web award
  • The #CFHack2023 Champion award
The Eco-mode project winning an award
The Eco-Mode project team winning an award.

Project’s progress and next steps

To sum it up, in one weekend we managed to create a plugin that implements:

  • A couple of ways to automatically reduce a WordPress site’s external requests, thus decreasing its carbon footprint.
  • An API that website owners can use to reduce the site’s external requests even further, depending on each site’s needs and functionalities.
  • A draft of a dashboard where a user could later see estimations of saved requests and user controls for manual optimization.

Although those implementations should and will be improved in order for the plugin to be considered production-level, this has been a great start to a project that can, if widely adopted, potentially affect global internet energy consumption considerably.

So, what’s next?

As for its next steps, a repo has been set up in GitHub, where a bunch of issues have been created to iterate on the plugin. Getting into technical details, on top of the existing tasks in the repo, we have to think about scalability issues and how best to solve them so the plugin can be installed on the high-traffic sites, where it matters most. Furthermore, we want to explore ways of both estimating and measuring the real impact and feed those results back into the optimization process to provide smarter heuristics.

In general, if the project can properly communicate and sell the vision of a “carbon-aware” WordPress that saves on both carbon and bandwidth costs at the same time, this would be a major win for all of us. The plugin can be the first glimpse of those possibilities, but also even act as the discussion starter for getting both WordPress Core and the plugin ecosystem to be more conscious in their use of resources and improve their code to be more ecological even without the eco-mode plugin. 

Our commitment to sustainability

We, here at Yoast, care deeply about the environment and so, the project’s objectives deeply align with our values. That’s why we already included the project in the latest Yoast Contributor Day we organized, where the plugin got even further contributions and we hope to do the same in the future as well.

But our commitment to sustainability runs deeper. We’re working towards a greener world, with our company culture and the products we offer. That’s why we’ve recently introduced a new feature in Yoast SEO that helps our users reduce their website’s carbon footprint. By using the crawl optimization settings you can prevent unnecessary crawling. This makes your site easier to crawl, costing less energy and increasing the chance that Google will crawl the right URLs. Less crawling reduces the strain on your website and the environment as a whole.

Final thoughts

All in all, this has been an absolutely thrilling experience, to say the least. Being able to meet interesting people from your line of work, while also working on a project that has the potential to make a dent in the environmental effects of WordPress, was truly unique. We hope this project will help WordPress users and eventually contribute to a greener web!

Read more: Why you should care how green your website is »

Coming up next!

Original Article

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: