Die 10 häufigsten Fehler von WordPress-Plugins
Veröffentlicht: 2019-08-27Eine der erfolgreichsten Funktionen von WordPress ist, dass es eine Community von Entwicklern ermutigen konnte, die die Grundfunktionalität dieses Content-Management-Systems durch die Erstellung von Plugins zu erweitern. Das und die Tatsache, dass der Marktanteil von WordPress in den letzten Jahren nicht aufgehört hat zu wachsen, ist der Schlüssel, um Talente anzuziehen.
WordPress-Plugins sind die besten. Wenn Sie wissen, dass Sie Ihre Website anpassen können, indem Sie einfach nach einem Plugin suchen, das das tut, was Sie brauchen, können Sie beruhigt sein. Und es reduziert auch die Kosten erheblich.
Es ist eine Erleichterung, (in den meisten Fällen) keine kundenspezifischen Lösungen entwickeln zu müssen. Es demokratisiert den Zugang zu komplexen Websites zu einem Bruchteil dessen, was sie vor ein paar Jahren kosten würden.

Aber nicht alles ist auf Rosen gebettet. Bei der Auswahl eines WordPress-Plugins müssen wir sehr vorsichtig sein. Die Popularität von WordPress zieht Talente an. Aber es zieht auch weniger erfahrene Entwickler an, die manchmal Plugins erstellen, die nicht die gewünschte Qualität haben. Sie zu erkennen ist nicht so einfach wie das Zählen der Anzahl positiver Bewertungen, die sie haben, oder auf wie vielen Websites sie installiert sind. Es ist viel komplexer.
Etwas, das wir in Nelio gelitten haben, seit wir angefangen haben, die WordPress-Installationen unserer Kunden zu analysieren, ist die Menge an Müll, die wir dort installiert finden können. Wir haben Dinge gesehen, die Sie nicht glauben würden…
Aus diesem Grund werde ich heute einige der häufigsten und merkwürdigsten Probleme erklären, auf die wir in diesen Jahren mit WordPress-Plugins gestoßen sind.
WordPress-Plugin-Problemliste
Hier überlasse ich Ihnen die Liste der Probleme, die Sie mit WordPress-Plugins finden können. Es handelt sich um allgemeine Probleme, und wir werden keine spezifischen Namen von Plugins nennen, die darunter leiden, aber es gibt sie, und Sie müssen darauf achten, sie zu vermeiden.
Erstellen Sie zusätzliche Tabellen in der Datenbank
Die WordPress-Datenbank ist ein Kriegsgebiet. Viele Plugins erweitern es, um ihre eigenen Tabellen hinzuzufügen. Das muss nicht falsch sein, ist aber meistens nicht nötig.

Die WordPress-Datenbank ist generisch genug, um keine neuen Tabellen für Ihr Plugin hinzufügen zu müssen. Warum sieht ein Entwickler also die Notwendigkeit, mehr Tabellen zu WordPress hinzuzufügen? Die Antwort ist ganz einfach: Trost und Ignoranz.
Oft ist es für jemanden mit wenig Erfahrung in WordPress einfacher, zusätzliche Tabellen zu erstellen und Abfragen direkt in SQL durchzuführen, um Daten zu lesen und zu ändern. Dies ist nicht nur eine Sicherheitslücke, wenn es nicht gut gemacht wird, sondern Sie vermeiden auch die Verwendung von Metatabellen.
Wenn Sie Benutzerinformationen erweitern möchten, haben Sie die Tabelle wp_usermeta . Dasselbe gilt für die Inhalte ( wp_postmeta ), Kommentare ( wp_commentmeta ) oder sogar Taxonomie-Begriffe (Labels und Kategorien, mit der wp_termmeta Tabelle).
WordPress bietet Methoden zum Lesen und Ändern dieser Metainformationen auf standardmäßige und sichere Weise. Verwenden Sie keine zusätzlichen Tabellen in Ihren Plugins, es sei denn, Sie haben eine Leistungsbegründung, lieber WordPress-Entwickler.
Laden Sie schlechte Skripte und Stile
Die meisten WordPress-Plugins müssen früher oder später ihre eigenen JavaScript- und CSS-Dateien laden, manchmal im WordPress-Adminbereich und manchmal im vorderen Bereich des Webs. Und das Traurige ist, dass dies oft falsch gemacht wird.

Um einen CSS-Stil oder eine JavaScript-Datei in WordPress hinzuzufügen, müssen Sie sie in die Standard-WordPress-Warteschlange einreihen. Registrieren Sie es dazu zuerst mit den Funktionen wp_register_style und wp_register_script und stellen Sie es dann mit wp_enqueue_style bzw. wp_enqueue_script in die Warteschlange.
Beachten Sie, dass Sie mit diesen Funktionen die Abhängigkeiten Ihrer Stile und Skripte definieren können, sodass WordPress die Abhängigkeiten korrekt verwaltet und nur das einreiht, was Sie benötigen.
Alles andere ist falsch. Und hier ist sogar die Entwicklerdokumentation schuld. Schauen Sie sich die Beispiele an, die im wp_head Hook im WordPress-Codex enthalten sind. Entwickler werden dies als Referenz nehmen, und was dann passiert, ist, dass sie Dinge kaputt machen?
Denken Sie nicht einmal daran, wp_dequeue_script oder wp_dequeue_style zu verwenden, um Skripte oder Stile aus WordPress zu entfernen. Wir haben oft gesehen, wie Plugins die mit WordPress gelieferte Version von jQuery aus der Warteschlange entfernen, um ihre eigene (die normalerweise veraltet ist) hinzuzufügen, und von da an funktioniert alles nicht mehr …
Wenn Sie ein Plugin entdecken, das Skripte und Stile nicht korrekt gemäß den WordPress-Richtlinien lädt, ist dies Grund genug, es sofort aus Ihrer Installation zu deaktivieren.
Keine Reinigung der Datenbank beim Deaktivieren des Plugins
Dies ist ein weiterer klassischer Aspekt von WordPress-Plugins und vielleicht der häufigste, den Sie finden werden. Um zu funktionieren, müssen WordPress-Plugins Datensätze in Ihrer Datenbank hinzufügen. Das Problem dabei ist, dass, wenn Sie das Plugin deaktivieren, diese Datensätze für immer in Ihren Datenbanktabellen verbleiben.
WordPress-Plugins löschen normalerweise nicht die Daten, die sie in Ihrer Datenbank erstellen, wenn Sie sie deaktivieren. Und nein, es gibt keinen Müllwagen, der ab und zu vorbeifährt und diese unnützen Daten mitnimmt.
Ein WordPress-Plugin sollte die zusätzlichen Tabellen, die es erstellt hat, und die Daten, die es in die Standardtabellen hinzugefügt hat, entfernen, wenn der Benutzer es deaktiviert. Aber es kommt sehr selten vor. Ich ermutige Sie, zu Ihrer Datenbank zu gehen und sie im Auge zu behalten. Da findet man bestimmt nutzlosen Müll.

Wenn der Entwickler vorsichtig ist, werden Sie beim Deaktivieren des Plugins in Ihrem WordPress gefragt, ob Sie es vorübergehend oder dauerhaft deaktivieren möchten. Die letztere Option löscht alle Daten, die während des Betriebs hinzugefügt wurden, und entfernt so den Müll, um alles sauber zu lassen.
Keine Benutzerführung bereitstellen
Wenn Sie ein WordPress-Plugin installieren und aktivieren, erwarten Sie normalerweise, dass ein neues Menü auf dem WordPress-Dashboard erscheint, in dem Sie die Funktionen des Plugins finden. Aber das ist nicht immer der Fall.

Es gibt Zeiten, in denen das neue Plugin ein Menü innerhalb eines vorhandenen Menüs hinzufügt, normalerweise das Menü „Extras“ oder das Menü „Einstellungen“. Der Benutzer muss also nachsehen, wo sich das Menü befindet, das das gerade installierte und aktivierte neue Plugin enthält.
Es ist normalerweise eine gute Praxis, in der README.txt -Datei des Plugins zu beschreiben, was passieren wird, wenn Sie das Plugin in Ihrem WordPress aktivieren. Auf diese Weise reduzieren Sie die Angst des Benutzers und machen das Leben ein wenig einfacher. Andernfalls, wenn der Benutzer nicht findet, wo die Funktionen sind, die das Plugin hinzufügt, wird er es am Ende deaktivieren, und als Entwickler ist das das Letzte, was Sie wollen.
Sie denken vielleicht, dass dies etwas ist, was nur Neulingen passiert. Aber das ist nicht der Fall. Kürzlich habe ich ein bestimmtes Plugin installiert, um bestimmte Dinge zu tun (ich erinnere Sie daran, dass ich es vermeiden wollte, Namen anzugeben?), und ich befand mich in derselben Situation. Ich konnte nicht finden, wo die Plugin-Einstellungen waren. Und wenn es mir passiert, der angeblich schon lange mit WordPress arbeitet, ist die gleiche Situation für jemanden mit weniger Erfahrung schrecklich.
Ändern der WordPress-Benutzeroberfläche
WordPress ist einfach zu bedienen, sagen sie zumindest. Und ein wichtiger Teil davon ist der Benutzeroberfläche zu verdanken, die WordPress standardmäßig enthält. Diese Schnittstelle ist in einer neuen WordPress-Installation einfach, wird jedoch komplizierter, wenn wir immer mehr Plugins hinzufügen.

Darüber hinaus besteht ein häufiges Problem bei WordPress-Plugins darin, dass sie manchmal eine völlig andere Benutzeroberfläche verwenden, als die Benutzer auf dem WordPress-Dashboard erwarten.

Ich weiß, die WordPress-Benutzeroberfläche ist aus der Sicht eines Designers etwas langweilig, aber manchmal ist es viel klüger, denselben Stilen und derselben Benutzererfahrung zu folgen, an die Ihre Benutzer gewöhnt sind, als sich für eine völlig andere Lösung zu entscheiden.
In unseren Plugins versuchen wir, die gleichen WordPress-Stile beizubehalten und jedes Element der Benutzeroberfläche dort zu platzieren, wo wir glauben, dass der Benutzer es erwartet. Aber wir haben viele Plugin-Oberflächen gesehen, die wenig oder gar nicht wie WordPress aussehen und die Benutzer verwirren.
Die Empfehlung lautet, dass Sie als Designer eines WordPress-Plugins den WordPress-Styleguides folgen und sogar die jetzt bereitgestellten Komponenten wiederverwenden, um Schnittstellen in React zu erstellen, die direkt aus dem Gutenberg-Blockeditor exportiert werden. Wir verwenden sie bei der Renovierung, die wir von Nelio A/B Testing durchführen, und sie sind großartig.
Überschreiten Sie die Grenzen Ihres Eigentums
Das WordPress-Dashboard hat aus der Sicht eines Entwicklers zwei verschiedene Arten von Zonen. Auf der einen Seite haben wir die privaten Bereiche, das sind die Seiten, die ein bestimmtes Plugin hinzufügt. Innerhalb dieser Zonen sollten nur CSS-Stile und Skripte, die von dem Plug-in enthalten sind, zu dem diese Seiten gehören, in die Warteschlange eingereiht werden.
Auf der anderen Seite haben wir die gemeinsamen Bereiche, die alle standardmäßig in WordPress enthalten sind. Beispiele für gemeinsame Bereiche sind der Inhaltseditor, der Menü- oder Widget-Editor, die Einstellungen usw.

Gut programmierte Plugins, die den WordPress-Richtlinien folgen, werden Skripte und Stile in die Warteschlange stellen, die nur ihre private Zone betreffen. Das bedeutet, dass sie beim Einreihen dieser Ressourcen eine Bedingung im Code haben, um zu prüfen, ob sie versuchen, dies auf einer privaten Seite ihres eigenen Eigentums zu tun oder nicht. Andernfalls werden sie nichts außerhalb dieses Bereichs einreihen.
Leider gibt es viele Plugins, die „vergessen“, diese Bedingung in ihren Code aufzunehmen. Dies führt dazu, dass ihr JavaScript-Code und ihre Stile jederzeit auf allen Seiten geladen werden, was die anderen gemeinsamen Seiten oder sogar die privaten Seiten anderer Plugins beschädigen kann.
Es zu erkennen ist einfacher als es scheint. Wenn Sie ein Plug-in verwenden und dessen Benutzeroberfläche beschädigt aussieht, ist es durchaus möglich, dass ein anderes Plug-in JavaScript oder CSS dort platziert, wo es nicht sein sollte, und die Stile und das Verhalten des ersten Plug-ins beeinträchtigt. Wir haben es gesehen. Es ist uns passiert (dass sie unsere Schnittstelle kaputt machen) und leider wird es auch weiterhin passieren.
Nichtbefolgung guter Programmierpraktiken
Man muss nicht der beste Hacker der Welt sein, um in WordPress zu programmieren, aber ein Mindestmaß an Programmierqualität ist zu erwarten.
Einer der Vorteile (wenn nicht der größte) von WordPress ist seine Open-Source-Philosophie. Das Erkunden des Quellcodes von Plugins ist etwas, das Sie immer tun können (zumindest die Plugins im offiziellen Repository).

Sie können alles finden: Code, der schön anzusehen ist, und Code, der Sie zum Weinen bringt. Und das heißt nicht, dass das eine leistungsmäßig schlechter ist als das andere. Aber wenn Sie gut dokumentierten, gut eingerückten Code sehen, der auch nach einer logischen Verteilung von Dateien und Ordnern strukturiert ist, haben Sie den heiligen Gral gefunden.
Wenn der Code eines WordPress-Plugins gut zu sehen ist, liegt es wahrscheinlich daran, dass der Programmierer sorgfältig und ausgefeilt ist. Das ist ein klares Qualitätsmerkmal.
Öffnen von Sicherheitslücken
Ein WordPress-Plugin ist nichts anderes als eine Reihe von Codeanweisungen. Üblicherweise PHP und JavaScript, das die Funktionalität von WordPress erweitert. Dieser Code wird ziemlich sicher Daten vom Benutzer erhalten und am Ende Informationen auf dem Bildschirm darstellen.

Es ist möglich, dass Sie beim Abrufen von Daten und Drucken auf dem Bildschirm Sicherheitslücken hinzufügen, wenn Sie diese Daten nicht korrekt verarbeiten. WordPress legt großen Wert darauf, die Eingabedaten zu validieren und zu bereinigen und die Daten bei der Ausgabe zu umgehen.
Es gibt viele Funktionen, um die Daten zu validieren und sicherzustellen, dass die Eingaben des Benutzers in das Plugin wirklich das sind, was wir wollen, und so Code-Injection zu vermeiden. Wenn der Plugin-Entwickler sie nicht verwendet, liegt das an Faulheit oder Unwissenheit. Seien Sie vorsichtig, was Sie am Ende in Ihrem WordPress installieren, oder Sie werden es am Ende bereuen.
Durchführung ungeeigneter Aktivitäten
In Fortsetzung des vorherigen Abschnitts gibt es Plugins, die aus Quellen zweifelhafter Herkunft stammen. Um etwas Geld zu sparen, tauchen Sie manchmal durch dunkle Orte im Internet auf der Suche nach einer .zip -Datei, die das gewünschte Plugin enthält, für das Sie jedoch nicht bezahlen möchten.

Wenn Sie es finden, ist alles Glück, bis Sie feststellen, dass dieses Plugin ein Geschenk enthält. Von Crawlern, Kryptowährungs-Minern, Spam bis hin zu bösartigem Code, der die Kontrolle über Ihre Website übernehmen kann. Sie können alles finden.
Achten Sie auf die Herkunft der Plugins, die Sie dort finden. Das offizielle WordPress-Repository und die bekanntesten Marktplätze sind die einzige zuverlässige Quelle für Ihre WordPress-Plugins. Um in diese Repositories zu gelangen, müssen Plugin-Entwickler einige Qualitätstests bestehen. Vertrauen Sie nur bekannten Orten und vermeiden Sie Plugins, die aus unzuverlässigen Quellen stammen.
Kein Mehrwert
Der schlimmste Fehler, den ein WordPress-Plugin machen kann, besteht darin, seinen Benutzern keinen Mehrwert zu bieten. Als Entwickler hat man manchmal verrückte Ideen, von denen man glaubt, dass sie für andere sehr nützlich sein können. Die Wahrheit ist, dass, wenn die Anzahl der Benutzer, die Ihr Plugin bringt, sehr klein ist, die Anzahl der Benutzer am Ende ähnlich sein wird.
Es gibt viele Plugins im offiziellen WordPress-Repository, deren Wert gering ist. Aber das ist etwas, das auf jedem Marktplatz oder Anwendungs-Repository passiert.
Wenn Sie sich als Entwickler vom Rest der Konkurrenz abheben möchten, konzentrieren Sie sich darauf, Ihren potenziellen Benutzern einen Mehrwert zu bieten. Auf diese Weise gewinnt Ihr Plugin am Ende die Popularität, die notwendig ist, um innerhalb von WordPress ein Erfolg zu werden.
Die Auswahl von WordPress-Plugins ist kompliziert
Nicht alles basiert auf der Anzahl der Benutzerbewertungen und dem Zählen von Sternen. Die Auswahl eines guten WordPress-Plugins ist kompliziert. Es gibt viele versteckte Überraschungen, die nur durch die Analyse des Quellcodes des Plugins selbst entdeckt werden. Und wenn Sie nicht das Wissen haben, es zu verstehen, seien Sie vorsichtig.
Schauen Sie sich die Kommentare an, die Sie im Plugin-Support-Forum im Repository finden, um zu sehen, welche Art von Problemen die Leute damit haben. Probieren Sie das Plugin in einer kontrollierten Umgebung aus und wenden Sie sich an den Entwickler, wenn Sie etwas Seltsames sehen.
Wenn Sie danach mit dem, was Sie sehen, nicht zufrieden sind, suchen Sie nach einer Alternative. Es gibt Tausende von Plugins, die auf Sie warten. Oder hinterlassen Sie uns unten einen Kommentar. Wir sind immer auf der Suche nach Ideen für neue interessante Plugins, die wir unserer Sammlung hinzufügen können.
Beitragsbild von Goh Rhy Yan auf Unsplash .
