Zum Hauptinhalt springen

Ein regelmässiger Plugin-Audit reduziert Angriffsfläche, Ladezeit und Wartungsaufwand zugleich. Jedes Plugin ist Angriffsfläche, Wartungsaufwand und Performance-Kosten. Viele Sites schleppen Plugins mit, die niemand mehr braucht. Ein regelmässiger Audit (z. B. quartalsweise) hält das im Griff.

Schritt 1: Inventar

wp plugin list --fields=name,status,version,update,auto_update --format=csv > plugins.csv
wp theme list --fields=name,status,version,update --format=csv > themes.csv

Schritt 2: Sofort entfernen

  • Deaktivierte Plugins: Auch deaktivierter Code liegt auf dem Server und kann bei manchen Lücken direkt angesprochen werden. Löschen, nicht nur deaktivieren.
  • Ungenutzte Themes: Nur das aktive Theme, ggf. dessen Parent-Theme und ein aktuelles Standard-Theme als Fallback behalten.
  • Duplikate: Zwei SEO-Plugins, zwei Caching-Plugins, mehrere Slider.
  • Einmal-Tools: Migrations-, Import- und Debug-Plugins nach Gebrauch entfernen.

Schritt 3: Bewerten

Für jedes verbleibende Plugin:

Kriterium Frage
Notwendigkeit Welche Funktion liefert es?
Nutzt das noch jemand? Pflege Letztes Update?
Noch im Verzeichnis verfügbar? Sicherheit Bekannte offene Lücken?
Historie? Performance Lädt es Assets auf allen Seiten?
Viele Queries?
Grosse Autoload-Options? Ersetzbarkeit Kann der Core das inzwischen (z. B.
Lazy Loading, Sitemaps, Fonts, Breadcrumbs-Block)? Reichen 20 Zeilen in einem MU-Plugin?

Schritt 4: Performance-Kosten messen

  • Query Monitor: Queries, Hooks und HTTP-Requests pro Komponente.
  • wp profile stage --all bzw. wp profile hook --all --spotlight
  • Autoload-Grösse pro Plugin-Option prüfen (siehe Datenbank-Optimierung).
  • Frontend: Welche CSS/JS-Dateien laden auf welchen Seiten?

Schritt 5: Sauber entfernen

Viele Plugins hinterlassen beim Löschen Tabellen, Options, Cronjobs und Benutzer-Meta.

wp cron event list --fields=hook,next_run_relative | grep -i pluginname
wp option list --search='*pluginname*' --fields=option_name,autoload
wp db tables --all-tables | grep -i pluginname

Reste erst nach Backup und nur, wenn eindeutig zugeordnet, entfernen.

Schritt 6: Dokumentieren

Ein kurzes Plugin-Register mit Zweck, Verantwortlichem, Lizenz-Ablaufdatum (Premium!) und Begründung erleichtert künftige Audits und Übergaben. Abgelaufene Premium-Lizenzen bedeuten oft: keine Sicherheitsupdates mehr.

Weiterführende Artikel

Quellen und Dokumentation