Plugins erweitern schnell und einfach den Funktionsumfang einer WordPress-Installation. Nur zu oft geraten sie nach einiger Zeit aber in Vergessenheit und fristen ein Schattendasein in den entlegenen Ecken einer Website.
Um potentiellen Sicherheitsproblemen vorzubeugen und die Performance einer Website nicht zu beeinträchtigen, sollten unbenutzte Plugins daher deaktiviert und gelöscht werden.

Schauen wir uns an, wie wir hinter einem Plugin aufräumen können, das auf dem Weg nach draußen nicht alle seine Spuren beseitigt.

Deinstallation – logischer erster Schritt

Wir starten die Plugin-Deinstallation auf die einfachste denkbare Art im WordPress-Backend. Alle Benutzerinnen und Benutzer mit Admin-Rechten können Plugins direkt in der Plugin-Übersicht unter Plugins zunächst deaktivieren und anschließend deinstallieren.


Bevor WordPress den Befehl ausführt, fragt es noch einmal nach, ob wir uns wirklich sicher sind.

Doch dieser Vorgang wäre keinen Artikel wert, hätte er nicht seine Tücken. Allzu oft bleiben nach so einer Deinstallation nämlich Rückstände eines Plugins zurück, die etwas mehr Aufwand und technisches Fingerspitzengefühl erfordern.

Plugin-Rückstände abkratzen

Weil wir im Folgenden etwas tiefer in den Innereien unserer WordPress-Installation hantieren, empfiehlt sich auch hier zunächst ein vollständiges Backup der betreffenden Website.

Der Deinstallation-Prozess, den wir im vorherigen Schritt angestoßen haben, entfernt in der Regel alle Dateien aus dem Plugins-Ordner (wp-content/plugins/<plugin-name>). Zusätzlich können Inhalte, die das Plugin vorher in die WordPress-Datenbank gespeichert hat, gelöscht werden, wenn das von den Plugin-Entwicklern berücksichtigt wurde.

(S)FTP

Plugins können theoretisch Dateien an allerlei Orten innerhalb des WordPress-Dateisystems ablegen. Um diese dann auch zu finden, ist etwas detektivisches Geschick und ein FTP-Client gefragt.

Im Uploads-Ordner können sich neben regulären Uploads auch Dateien von Backup-Plugins und allerlei anderem finden.

Sobald wir uns in unserem FTP-Client mit dem Server verbunden haben, öffnen wir den Ordner wp-content. Wo wir nun bei unserer Suche am ehesten erfolgreich sein werden, hängt meist ein wenig davon ab, welches Plugin wir gerade entfernt haben. Handelt es sich zum Beispiel um ein Caching-Plugin, wäre wp-content/cache/ für mich eine erste Anlaufstelle. Aber auch in wp-content/uploads könnten sich Überreste eines Caching-Plugins finden. In den meisten Fällen sind die betreffenden Dateien oder Ordner mit dem Namen des gelöschten Plugins benannt, was uns die Suche deutlich erleichtert.

Einige Plugins ergänzen zusätzlich auch noch die .htaccess-Datei um eigene Einträge, auch hier lohnt sich also ein genauerer Blick.

Datenbank

Zusätzlich zu Dateien im Dateisystem können Plugins auch Einträge in der Datenbank unserer WordPress-Installation speichern.

WP-Optimize stellt die Datenbank-Tabellen übersichtlich dar und gibt in den meisten Fällen sogar an, von welchem Plugin sie angelegt wurden.

Statt auf ein Werkzeug wie phpMyAdmin zurückzugreifen, würde ich hier den Weg des geringsten Widerstands wählen und auf ein Plugin wie WP-Optimize setzen. Einmal installiert stellt uns das Plugin ein brauchbares (wenn auch etwas überladenes) Interface zur Verfügung.

Shortcodes

Plugins, die Inhalte mit Hilfe der Shortcodes genannten Platzhalter ausgeben, hinterlassen eben diese Shortcodes auch nach ihrer Deinstallation überall da im Seiteninhalt, wo sie verwendet wurden.

Wann immer möglich würde ich versuchen diese verwaisten Shortcodes manuell zu entfernen. Wurde ein Shortcode zum Beispiel nur an einer oder zwei Stellen verwendet, ist es ein Leichtes, die entsprechenden Seiten im Editor aufzurufen und den Shortcode zu löschen.

Handelt es sich dagegen um ein Plugin, das großflächig zum Einsatz kam, ist das nicht unbedingt ein gangbarer Weg. Für diesen Fall hat das Internet eine Lösung in der Hinterhand, die ich als geschickten Workaround bezeichnen würde:

add_shortcode( 'old-shortcode', '__return_false' );Code-Sprache: JavaScript (javascript)

Wenn diese Code-Zeile in ein Plugin oder zum Beispiel die functions.php-Datei des aktiven Themes eingefügt wird, führt sie dazu, dass der Shortcode [old-shortcode] nichts mehr ausgibt. Hier muss natürlich vor dem Einsatz der korrekte Shortcode eingetragen werden.

Ich persönlich würde auf diese Lösung nur übergangsweise zurückgreifen, bis es zum Beispiel möglich ist, alle Seiten manuell zu überarbeiten oder mittels Search&Replace die alten Shortcodes zu entfernen.

Keine Angst vor Deinstallation!

Mir ist wichtig, abschließend noch einmal zu notieren, dass nicht für jede Deinstallation zwingend alle diese Schritte erforderlich sind. Viele Plugin-Entwicklerinnen und -Entwickler kümmern sich ordentlich ums Aufräumen bei der Deinstallation ihrer Plugins.
Und auf keinen Fall sollte die Aussicht auf aufwändigere Putzaktionen irgendjemanden davon abhalten, ein Plugin zu deinstallieren.