To improved sustainability of software like WordPress, it’s important to ask
- Where is power consumed?
- How much power is consumed in each place?
- What can be done to reduce that power consumption?
- What can be done to time-shift or geo-shift that power consumption to avoid using the most CO2-intensive power?
Where is power consumed? At the data center, at the client (the user’s machine or device), and in the network routers and line drivers used to transport the data.
To reduce data center power:
- Adopt power-efficient servers. This is behind the push to use ARM processors rather than Intel processors at the various hosting services.
- Optimize the software. Lots of the stuff going on in WordPress’s core performance team is focused on that work.
To reduce client power:
- Make websites easy to use. If users can get what they need and stop using the web site, they save power.
- Simplify the content clients must display. Send them smaller images and web pages. #core-performance people are working on that.
- Write the client-side Javascript so it goes quiet whenever possible. If Javascript is doing things continuously, laptop fans spin and mobile device batteries run down.
To reduce network power, make your web app work with fewer requests and smaller responses. And, be sure to use the persistent-connection stuff in HTTP/1.1 and later: establishing https connections takes lots of network handshaking.
As for time-shifting and geo-shifting, the typical WordPress site owner can’t do much about that. Adopting a good global CDN might be one way to put that work into the hands of a network operations team that can do some of it.
There’s nothing wrong with React. From the power-consumption point of view, it is just client-side Javascript talking to server-side code. Where React becomes a power hog is where it makes lots of gratuitous requests to the server. In WordPress, the Gutenberg editor uses React (and it doesn’t make too many gratuitous requests). For sites that have many more viewers than authors, Gutenberg’s React won’t be a significant factor. But if that bothers you, use the classic editor.