How Can We Help?
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 --allbzw.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
- Supply-Chain-Risiken: verwaiste, verkaufte und „nulled“ Plugins
- Datenbank-Optimierung: Autoload, Transients, Indizes und Cron
- Update-Strategie: Auto-Updates, Staging und Rollback