Danny van Kooten entwickelt das WordPress Plugin Mailchimp für WordPress – mit aktuell fast zwei Millionen aktiven Installationen. Durch eine schlanke Entwicklung spart die Erweiterung geschätzt 59.000 kg CO2 ein, und das pro Monat. Wir sprachen mit Danny über effiziente Programmierung und nachhaltiges WordPress.
Das Internet, WordPress sowie WordPress Hosting verbrauchen jede Menge Energie. Wie “grün” ist das führende Content Management System? Und welchen Beitrag hierzu können wir alle leisten, egal ob als EntwicklerIn oder in der Anwendung von WordPress? Neun Fragen an Danny zu seiner Initiative CO2 emissions on the web.
Nachhaltiges WordPress: Sei mit dabei
Danny, effiziente WordPress Projekte helfen dem Klimaschutz. Wie funktioniert die Einsparung?
Um eine Webseite anzuschauen muss eine Reihe von Dateien auf den Computer heruntergeladen werden. Anschließend verarbeitet der Browser diese Dateien, um sie auf dem Bildschirm darzustellen (“rendern”). Je kleiner diese Dateien sind, desto weniger Daten werden über das Internet übertragen. Dies spart Energie an allen Knotenpunkten im Netzwerk – also zwischen dem Computer und dem Server, auf dem die Webseite gehostet wird.
Nachhaltige WordPress Entwicklung
Wenn eine Webseite sehr viele Besucher hat, dann lohnt es sich enorm, sie so schlank wie möglich zu halten. Denn selbst eine geringfügige Optimierung summiert sich auf diese Weise.
Welche Optimierungen für welche Sprachen bzw. Formate haben den größten Einfluss?
Das Bereitstellen von Videos und Bildern mit niedrigerer Auflösung und das Ausführen von weniger JavaScript ist in der Regel der größte Gewinn. Die Energiekosten, die bei der Übertragung einer Datei im Internet anfallen, hängen zusätzlich davon ab, welches Netzwerk verwendet wird. Eine feste Internetverbindung ist beispielsweise viel effizienter als eine drahtlose mobile Verbindung.
Aus diesem Grund besteht der größte Hebel wahrscheinlich darin, deine Webseite so zu optimieren, dass Bilder und Videos mit niedrigerer Auflösung bereitgestellt werden.
WordPress Plugin optimieren
Mailchimp für WordPress spart etwa 59 Tonnen CO2 pro Monat. Wie kommst du auf diese Zahl?
Mailchimp für WordPress lädt eine JavaScript-Datei auf jede Webseite, auf der das Plugin installiert ist. Ich habe die Größe dieser Datei um 20 KB reduziert, indem ich eine Bibliothek eines Drittanbieters durch einige benutzerdefinierte Codezeilen ersetzt habe. Denn wir nutzten eigentlich nur einen sehr speziellen Teil der Bibliothek.
Da das Plugin auf etwa zwei Millionen Websites aktiviert ist, spart dies ungefähr 40 GB Datenübertragung, wenn jede Website genau einen Besucher hat. Wenn man das nun mit einem geschätzten Durchschnitt von 10.000 monatlichen Besuchern pro Webseite multipliziert, dann kommt man auf eine Einsparung von ca. 400.000 GB pro Monat.
Bei angenommenen 0,5 kWh pro GB Datenübertragung und 295 Gramm CO2 pro kWh Energie bedeutet dies, dass durch die Reduzierung um 20 kB insgesamt ca. 0,5 * 0,295 * 400.000 = 59.000 kg CO2 pro Monat eingespart werden.
Ich mache hier viele Annahmen über die Anzahl der monatlichen Besucher pro Website, wie gut Geräte Dateien zwischenspeichern und welche Netzwerke verwendet werden. Meine Hauptabsicht war es jedoch nicht, eine genaue Zahl anzugeben. Sondern zu zeigen, wie effizient es sein kann, auch bei unserer Arbeit über CO2-Einsparungen nachzudenken. Und nicht nur in anderen Lebensbereichen.
Bibliotheken von Drittanbietern
Wie schaffst du es, mögliche Einsparungen in deinen Entwicklungsprozess einzubauen?
Bei meinen WordPress Plugins bin ich sehr vorsichtig beim Abrufen von Bibliotheken von Drittanbietern. Und zwar immer dann, wenn ich an einer Datei arbeite, die in den öffentlich zugänglichen Bereich einer Website geladen werden soll, auf der das Plugin aktiviert ist. Mit dem Aufkommen von NPM und CDN ist es sehr einfach geworden, eine Abhängigkeit einzubauen.
Das ist prima, wenn man an serverseitiger Software arbeitet. Aber es ist weniger sinnvoll, wenn man an JavaScript sitzt, das im Browser ausgeführt werden soll. Ich denke Folgendes hilft:
- Eine grobe Vorstellung davon, wie Sprachen auf niedrigerer Ebene funktionieren
- Zu wissen: Welche Algorithmen kommen bei der Verwendung einer Funktion der Sprache, in der man programmiert, ins Spiel?
Beides ist nützlich bei der Entscheidung, welche Tools für den Job die richtigen sind. Das Erlernen von C ist ideal dafür. Denn C ist eine Sprache, in der man sich um viele Details kümmern muss, die andere Sprachen dir abnehmen bzw. abstrahiert haben.
Welche Werkzeuge gibt es, um den Code schlanker und effizienter zu machen?
Für JavaScript und GitHub gibt es compressed-size-action. Damit kannst du die Reduzierung der Dateigröße nachverfolgen. Bei jeder Änderung an deiner Codebasis siehst du so sofort, ob wichtige Dateien größer geworden sind – und ob sich diese Änderung lohnt. Für komplette Webseiten empfehle ich Chrome Lighthouse.
Um als Nutzer die Nachhaltigkeit eines WordPress Plugins oder Themes zu überprüfen kannst du Folgendes tun: Am einfachsten ist es, Chrome Lighthouse auszuführen, bevor du ein Theme oder Plugin aktivierst. Danach lässt du es erneut laufen, sobald die Erweiterung aktiviert und konfiguriert ist. So kann jeder selbst entscheiden, ob die Funktion den Rückgang an Performance wert ist.
„Grüne“ Newsletter
Meine Empfehlung: Sende E-Mails im reinen Textformat, wann immer es möglich ist. Diese landen mit einer geringeren Wahrscheinlichkeit im Spam-Ordner. Zudem zeigt eine Studie nach der anderen, dass plain Text zusätzlich zu besseren Konversionsraten führt. Und natürlich verbrauchen solche Mails weniger Ressourcen – es ist also eine Win-Win-Situation!
Was sind die wichtigsten Hebel im Online-Alltag, um CO2 zu sparen? Auch abseits von WordPress?
Der wichtigste Hebel sind Emissionen, die man anderen auferlegt, ohne dass diese die Kontrolle darüber haben. Du kannst deine Streaming-Software so konfigurieren, dass Videos mit niedrigerer Auflösung geladen werden. Der Effekt wäre jedoch weitaus größer, wenn unsere Streaming-Software dies für uns tun würde. Eine Webseite ist hier nicht anders.
Ein paar Worte zu dir und deinen WordPress Plugins?
Ich arbeitete bereits mit WordPress, noch bevor es Post Types gab. Mein erstes Plugin habe ich vor etwas mehr als einem Jahrzehnt veröffentlicht. Seit 2013 arbeite ich mit einem kleinen Remote-Team und baue in Vollzeit WordPress Plugins. Heutzutage konzentrieren wir uns hauptsächlich darauf, Plugins zu erstellen, die Webseiten effizienter machen. Oder die den Datenschutz hervorheben, so wie unser neuestes Plugin Koko Analytics auf WordPress.org.
Was für ein interessantes Interview! Weniger auf Drittanbieter zu setzen ist ein sehr löbliches Ziel. Problematisch ist es allerdings dann, wenn man diesen Anbieter benötigt, oder dieser halt eine Sache ganz besonders gut macht. Gibt schließlich auch Gründe für die weite Verbreitung der meisten Plattformen.
Abgesehen davon: Es ist immer wieder schön weitere Themen zu Nachhaltigkeit und Online-Praktiken zu lesen. Das gibt uns viel Inspiration und zum Nachdenken, wo es Verbesserungsmöglichkeiten gibt. Haltet das bei, Raidboxes!
Liebe Grüße
Danke Nils. Machen wir!