CLOUDFEST 2023 HACKATHON PROJECT
Eco-mode: Reduce outgoing network traffic of your WordPress server
Recurring outgoing HTTP requests in WordPress can be a source of needless energy and bandwidth usage that can be recalibrated and optimized.
This project intends to optimize those recurring requests by hooking into wp_*_remote_get|post calls and/or the Requests library that ships with WordPress to monitor and control such requests.
A management console will be built through which the user can throttle how often recurring remote requests are happening—for example, checking a certain plugin’s updates weekly instead of daily.
There will be automatic optimization by using a hard-coded list of hooks we know we can safely throttle, as well as manual optimization by providing a UI for users to fiddle with stuff even if we don’t know about it, at the user’s responsibility. Moreover, we can identify which requests were fired during a cron process, which makes them a great candidate for automatic throttling.
Lastly, we can try to calculate/guesstimate the energy and bandwidth usage and show reports on how much you can save with certain settings.
Experience with PHP is needed, preferably but not necessarily coupled with WordPress experience.
Experience with JS is welcomed, to help with building the dashboard.
General web development experience is appreciated, around calculating and optimizing energy and bandwidth usage in applications.
The goal is to create a canonical plugin (https://make.wordpress.org/core/2022/09/11/canonical-plugins-revisited/) that is extensible, with smart defaults for everyday users and hides all manual controls behind an “Advanced” switch. This plugin, when enabled, will potentially save a lot of bandwidth and energy by optimizing redundant outgoing HTTP requests—without breaking anything.