Warum sind kommerzielle Themes und Plugins so aufgebläht?
Leider sind viele Themes und Plugins heutzutage voller Mist (den man meistens nicht braucht), der die Seite verlangsamt. Sie können sich nicht mehr einfach auf die wesentlichen Funktionen beschränken.
Je mehr ich Plugins selbst entwickle, desto mehr beginne ich die traurige Wahrheit zu erkennen. Es kommt von dem kommerziellen Geschäftsmodell der Plugins.
Das liegt daran, wie Plugins ihren Umsatz machen.
Sie sind gezwungen, einen Wert für Kunden zu schaffen und mit anderen Plugins zu konkurrieren. Und wir wissen, was das bedeutet.
- Es bedeutet, dass man einen Haufen unnötiger Funktionen in ein Plugin packt.
- Wie sonst rechtfertigen sie es, Geld für Ihr Plugin zu verlangen? (mehr Funktionen, mehr Funktionen!)
Und das unvermeidliche Aufblähen von Funktionen macht auch Sinn! Denn je mehr Funktionen man hinzufügt, desto mehr Benutzer kann man unterbringen. Das ist eine intelligente Geschäftsentscheidung.
Und da haben Sie es also. Es dauert nicht lange, bis ein erfolgreiches, kommerzielles Plugin zu einem riesigen, aufgeblähtem Frankenstein-Plugin wird, das einfach nur aus 4 oder 5 separaten, kostenlosen Community-Plugins hätte bestehen können.
Müssen es immer Funktionen sein, die die Kosten rechtfertigen?
Nein. Es könnte der Support sein. Es könnte eine spezielle Integration eines Drittanbieter-Dienstes sein. Oder ein anderer einzigartiger Wert oder eine Funktion. Aber in den meisten Fällen ist es eine Abwärtsspirale, um zu sehen, welches Plugin mehr unwesentliche Funktionen hat.
Überladung und schlechte Autoloads
Das kotzt mich an. Plugins enden mit so vielen Einstellungen, dass sie anfangen, ihr eigenes internes Caching, Leistungsoptimierungen und sogar speicherfressende Index-Autoloads einzubauen!
Wenn Ihr Plugin so aufgebläht ist, dass Sie das Gefühl haben, es mit Performance-Optimierungen verbessern zu müssen, gehen Sie einfach zurück und entfernen Sie einige Sachen oder schreiben die Funktionen neu. Sehr schlecht!
Die Masse der Benutzer macht Optimierungen (fast) unmöglich!
Das ist der Punkt, an dem es gaaanz schlimm wird. Wenn das Plugin so viele Benutzer hat, dass es unmöglich wird, den Code zu verbessern und zu überarbeiten). Denn selbst wenn Sie die Erfahrung, die Zeit, das Budget und das Personal hätten, um es zu tun – können Sie es nicht! Weil es all die tausenden von existierenden Webseiten, die darauf laufen, kaputt machen würde.
Das ist der Grund, warum mega-aufgeblähte Plugins wie Elementor ihre Codebasis nicht verbessern können. Sie wissen, wie sie ihr Plugin umprogrammieren können, um so viel besser zu sein, aber dafür ist es jetzt zu spät. Die Art und Weise, wie sie ihren Code gebaut haben, ist permanent in den bestehende Kundenseiten eingefügt. Es gibt keine Möglichkeit, alte Einstellungen und Datenbankeinträge sauber zu entkoppeln und eine neue Version ihres Plugins zu installieren, während alles in Takt bleibt.
Wie halten wir uns von überladenden Plugins fern?
Es gibt wirklich keine einfache Antwort.
Eine Möglichkeit ist, Plugins in Entwicklerqualität zu haben, die superschlank gestaltet sind, sich auf nur eine Kernfunktion konzentrieren und quasi "unfertig" sind. Kein Styling. Keine stumpfsinnigen, vorkonfigurierten Einstellungen, durch die man sich durchwühlen muss. Sie sind halbfertige Produkte, damit andere Entwickler sie so anpassen können, wie sie wollen. Keine Erklärung nötig. Keine Unterstützung nötig. Nur das Gute der Community, die sich gegenseitig hilft. Das einzige Problem ist, dass diese Plugins nicht für Einsteiger gebaut sind.
Eine andere Antwort ist, das Plugin mit Blick auf die Zukunft zu bauen. Das klingt so einfach, ist aber alles andere als das. Wenn Sie wissen, was Ihr Plugin in der Zukunft haben wird, können Sie die Code-Architektur dafür vorbereiten, so dass zukünftige Add-Ons es nicht langsamer machen werden. Aber dies ist meist nicht möglich und jedes zukünftige Add-on wird zu einem Hack. Und das ist fast immer der Fall, wenn sich Branchentrends ändern und Wettbewerber mit so großartigen Funktionen aufwarten, dass Sie keine andere Wahl haben, als diese zu Ihrem eigenen Plugin hinzuzufügen.
Wie verbessert man also ein unweigerlich aufgeblähtes Plugin?
Man muss es refaktorisieren. Man muss es mit der Zeit immer wieder von Grund auf neu aufbauen. Nach 5 Jahren oder so, bauen Sie es einfach komplett neu auf, um sich den Trends anzupassen. Und die kritischen Funktionen von den unkritischen zu trennen. Der Schmerz, dass bestehende Kundenseiten kaputt gehen, könnte mit einem Migrations-Plugin behoben werden. Und wie ich schon einmal gesagt habe… der Schmerz beim Refactoring ist, dass selbst wenn man es machen wollte, man es vielleicht nicht kann, da es die Kompatibilität mit den Setups vieler Benutzer brechen könnte.