Best Practice

WordPress Sicherheits-Checkliste

8. Februar 2026

WordPress betreibt uber 40% aller Websites weltweit, was es zum bevorzugten Ziel automatisierter Angriffe macht. Die gute Nachricht: Die meisten erfolgreichen WordPress-Hacks nutzen bekannte, leicht vermeidbare Schwachstellen aus. Diese Checkliste fuhrt dich durch jede Sicherheitsebene, von der Transportverschlusselung bis zur Server-Hartung. Arbeite sie systematisch durch, und deine Seite wird deutlich schwerer angreifbar sein als die grosse Mehrheit der WordPress-Installationen.

WordPress-Absicherung mit SSL und HTTPS

HTTPS verschlusselt alle Daten zwischen dem Browser deiner Besucher und deinem Server. Ohne SSL werden Anmeldedaten, Formulareinreichungen und Session-Cookies im Klartext ubertragen, was sie in offentlichen Netzwerken trivial abfangbar macht.

  • Gultiges SSL-Zertifikat installieren: Die meisten Hosting-Anbieter bieten kostenlose Let's-Encrypt-Zertifikate an, die sich alle 90 Tage automatisch erneuern. Falls dein Hoster kein Let's Encrypt unterstutzt, bietet Cloudflare im kostenlosen Tarif ein gemeinsames SSL-Zertifikat. Es gibt keinen Grund mehr, ohne HTTPS zu arbeiten.
  • Gesamten HTTP-Traffic per 301-Redirect auf HTTPS umleiten: Richte eine permanente Weiterleitung ein, damit jede Anfrage an http:// automatisch auf https:// umgeleitet wird. Fur Apache fugt man dies in die .htaccess ein:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Fur Nginx einen Server-Block, der weiterleitet:
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
  • Alle Mixed-Content-Warnungen beheben: Nach der Umstellung auf HTTPS prufe, ob noch Bilder, Skripte oder Stylesheets uber HTTP geladen werden. Die Browser-Konsole markiert diese als "Mixed Content"-Warnungen. Aktualisiere fest codierte http://-URLs in deiner Datenbank mit einem Werkzeug wie Better Search Replace.
  • HSTS-Header aktivieren: HTTP Strict Transport Security weist den Browser an, deine Domain immer uber HTTPS aufzurufen, selbst wenn der Nutzer manuell http:// eingibt. Setze den Header mit einem max-age von mindestens sechs Monaten (15768000 Sekunden). Aktiviere includeSubDomains nur, wenn alle deine Subdomains ebenfalls HTTPS unterstutzen.

HTTP-Sicherheitsheader fur WordPress konfigurieren

Sicherheitsheader sind Anweisungen, die dein Server an den Browser sendet. Sie kosten keine Performance, bieten aber erheblichen Schutz gegen gangige Angriffsarten wie Clickjacking, MIME-Type-Verwechslung und Cross-Site-Scripting.

  • X-Frame-Options: SAMEORIGIN: Verhindert, dass deine Seiten in iframes auf fremden Domains eingebettet werden. Das blockiert Clickjacking-Angriffe, bei denen ein Angreifer unsichtbare Elemente uber deine Seite legt, um Nutzer zu tauschen.
  • X-Content-Type-Options: nosniff: Verhindert, dass Browser den MIME-Typ einer Datei erraten. Ohne diesen Header konnte ein Browser eine Textdatei als JavaScript ausfuhren, wenn der Inhalt wie Code aussieht.
  • Referrer-Policy: strict-origin-when-cross-origin: Kontrolliert, wie viele URL-Informationen beim Navigieren zu externen Seiten mitgesendet werden. Das verhindert, dass sensible URL-Parameter (wie Passwort-Reset-Tokens) an Drittanbieter-Server weitergegeben werden.
  • Permissions-Policy: Beschrankt den Zugriff auf Browser-Funktionen wie Kamera, Mikrofon, Geolokalisierung und Payment-APIs fur eingebettete Inhalte. Selbst wenn du diese Funktionen nicht nutzt, verhindert die Policy, dass eingeschleuste Skripte sie missbrauchen.
  • Content-Security-Policy (CSP): Der machtigste Sicherheitsheader, aber auch der komplexeste. CSP definiert, welche Quellen Skripte, Styles, Bilder und andere Ressourcen laden durfen. Beginne mit Content-Security-Policy-Report-Only, um Verstossse zu uberwachen, ohne deine Seite zu beschadigen. Ein minimaler Ausgangspunkt:
    Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;

Du kannst diese Header in deiner .htaccess-Datei (Apache), deiner Nginx-Konfiguration oder uber ein WordPress-Sicherheitsplugin setzen. Bei Cloudflare lassen sich die meisten auch unter Security > Settings konfigurieren.

WordPress-Core-Hartung: Wichtige Sicherheitsmassnahmen

WordPress selbst wird gut gewartet und regelmasig gepatcht, aber die Standardkonfiguration lasst einige Turen offen, die du bewusst schliessen solltest.

  • WordPress Core, Plugins und Themes konsequent aktuell halten: Die Mehrzahl der WordPress-Hacks nutzt bekannte Schwachstellen in veralteter Software aus. Aktiviere automatische Minor-Updates (sind standardmassig an) und prufe mindestens wochentlich auf grosse Updates. Erwage, automatische Plugin-Updates fur vertrauenswurdige Plugins zu aktivieren.
  • Ungenutzte Plugins und Themes vollstandig deinstallieren: Ein deaktiviertes Plugin entfernt nicht seinen Code vom Server. Angreifer konnen Schwachstellen auch in deaktivierten Plugins ausnutzen. Losche alles, was du nicht aktiv nutzt, und behalte nur ein Standard-Theme als Fallback.
  • XML-RPC deaktivieren: Die XML-RPC-Schnittstelle (/xmlrpc.php) wurde fur Remote-Publishing und Pingbacks entwickelt. Heute wird sie hauptsachlich fur Brute-Force-Amplification-Angriffe und DDoS missbraucht. Sofern du sie nicht fur Jetpack oder die WordPress-Mobile-App benoetigst, deaktiviere sie komplett. Blockierung auf Server-Ebene:
    # Apache .htaccess
    <Files xmlrpc.php>
        Order Deny,Allow
        Deny from all
    </Files>
  • REST-API-Benutzer-Endpunkt einschranken: Standardmassig gibt /wp-json/wp/v2/users Benutzernamen fur jeden preis. Damit konnen Angreifer trivial gultige Login-Namen ermitteln. Beschranke diesen Endpunkt auf authentifizierte Anfragen, entweder mit einem Plugin oder einem eigenen Code-Snippet.
  • Benutzer-Enumeration uber Autoren-Archive blockieren: Auch ohne REST API konnen Angreifer Benutzernamen ermitteln, indem sie /?author=1, /?author=2 usw. aufrufen. Blockiere dies durch Umleitung der Autoren-Archiv-Anfragen oder deaktiviere sie vollstandig, wenn deine Seite sie nicht benotigt.
  • WordPress-Versionsnummer entfernen: WordPress gibt seine Version in einem Meta-Tag und in den URLs von Core-CSS/JS-Dateien aus. Das Entfernen der Version zwingt Angreifer zum Ausprobieren, anstatt einfach bekannte Schwachstellen fur deine exakte Version nachzuschlagen.
  • Debug-Log absichern oder loschen: Wenn WP_DEBUG_LOG aktiviert ist, schreibt WordPress Fehler in /wp-content/debug.log. Diese Datei kann Datenbankabfragen, Dateipfade, Plugin-Fehler und andere fur Angreifer nutzliche Informationen enthalten. Lass Debug-Logging auf Produktivsystemen niemals aktiviert, und wenn die Datei existiert, losche sie oder blockiere den Zugriff.
  • Starke, einzigartige Passworter und Zwei-Faktor-Authentifizierung verwenden: Jedes WordPress-Konto sollte ein Passwort mit mindestens 16 Zeichen haben, das einzigartig fur diese Seite ist. Fuege Zwei-Faktor-Authentifizierung (2FA) mit einem Plugin wie WP 2FA oder Wordfence Login Security hinzu. Diese einzelne Massnahme blockiert praktisch alle Brute-Force-Angriffe.
  • Login-Versuche begrenzen: WordPress erlaubt standardmassig unbegrenzte Anmeldeversuche. Verwende ein Plugin wie Limit Login Attempts Reloaded, um IP-Adressen nach einigen fehlgeschlagenen Versuchen zu sperren, oder nutze eine Web Application Firewall (WAF) mit eingebautem Brute-Force-Schutz.
  • Standard-Datenbank-Tabellenprafix andern: WordPress verwendet wp_ als Standard-Prafix. Eine Anderung zu einem einzigartigen Wert bei der Installation erschwert automatisierte SQL-Injection-Angriffe leicht. Falls deine Seite bereits live ist, kannst du es nachtraglich andern, aber sichere vorher deine Datenbank.

WordPress-Dateiberechtigungen und Server-Sicherheit

Dateiberechtigungen bestimmen, wer Dateien auf deinem Server lesen, schreiben und ausfuhren darf. Falsche Berechtigungen gehoren zu den haufigsten Sicherheitsfehlern.

  • Korrekte Dateiberechtigungen setzen: Verwende 644 fur Dateien und 755 fur Verzeichnisse. Die wp-config.php sollte auf 600 oder 640 gesetzt sein. Verwende niemals 777, da dies jedem vollen Lese-, Schreib- und Ausfuhrungszugriff gibt.
  • wp-config.php vor Webzugriff schutzen: Diese Datei enthalt deine Datenbank-Zugangsdaten, Authentifizierungsschlussel und Salts. Fur Apache in der .htaccess:
    <Files wp-config.php>
        Order Allow,Deny
        Deny from all
    </Files>
    Einige Sicherheitsleitfaden empfehlen, wp-config.php ein Verzeichnis uber den Web-Root zu verschieben. Das funktioniert bei den meisten Setups, kann aber bei manchen Hosting-Anbietern Probleme verursachen.
  • Den eingebauten Datei-Editor deaktivieren: WordPress enthalt einen Datei-Editor im Admin-Panel, mit dem Administratoren Theme- und Plugin-Dateien direkt bearbeiten konnen. Wenn ein Angreifer Admin-Zugang erlangt, kann er uber diesen Editor Schadcode in jede PHP-Datei einschleusen. Deaktiviere ihn mit dieser Zeile in der wp-config.php:
    define('DISALLOW_FILE_EDIT', true);
  • Zugriff auf sensible Dateien blockieren: Dateien wie readme.html, license.txt und wp-config-sample.php verraten Informationen uber deine WordPress-Version und Konfiguration. Blockiere den offentlichen Zugriff uber deine Server-Konfiguration.
  • Verzeichnisauflistung deaktivieren: Wenn Directory Listing aktiviert ist, kann jeder deinen /wp-content/uploads/-Ordner durchbrowsen und jede hochgeladene Datei sehen. Deaktiviere dies mit Options -Indexes in deiner .htaccess.

WordPress-Backup-Strategie und Wiederherstellungsplanung

Kein Sicherheitskonzept ist vollstandig ohne eine zuverlassige Backup-Strategie. Im schlimmsten Fall ist ein aktuelles Backup der Unterschied zwischen einer kleinen Unannehmlichkeit und einem Totalverlust.

  • Tagliche Backups automatisieren: Verwende ein Plugin wie UpdraftPlus, BlogVault oder BackWPup, um automatische Backups nach Zeitplan auszufuhren. Sichere mindestens taglich. Seiten mit hohem Traffic oder WooCommerce-Shops sollten Echtzeit-Backups in Betracht ziehen.
  • Backups extern speichern: Bewahre Kopien auf einem externen Dienst wie Amazon S3, Google Cloud Storage oder Dropbox auf. Wenn dein Server kompromittiert wird, konnen lokale Backups ebenfalls betroffen sein.
  • Den Wiederherstellungsprozess testen: Ein Backup, das du nie getestet hast, ist ein Backup, dem du nicht vertrauen kannst. Stelle dein Backup mindestens einmal pro Quartal in einer Staging-Umgebung wieder her, um zu bestatigen, dass es funktioniert.
  • Mehrere Backup-Generationen vorhalten: Behalte mindestens 30 Tage taglicher Backups. Manche Infektionen bleiben wochenlang unentdeckt, daher brauchst du die Moglichkeit, auf einen bekannt sauberen Zustand zuruckzurollen.

Laufende WordPress-Sicherheitsuberwachung

Sicherheit ist kein einmaliges Projekt. Regelmasig werden neue Schwachstellen entdeckt, und die Konfiguration deiner Seite kann sich mit der Zeit verandern, wenn Plugins hinzugefugt oder Einstellungen geandert werden.

  • Ein Sicherheitsplugin installieren: Wordfence, Sucuri oder NinjaFirewall bieten Echtzeit-Schutz mit Firewall-Regeln, Malware-Scanning und Login-Sicherheit. Wahle eines (nicht mehrere, da sie sich gegenseitig storen konnen) und konfiguriere die Benachrichtigungen.
  • Automatische InspectWP-Scans einrichten: Plane regelmasige Scans, um deine Sicherheitslage uber die Zeit zu uberwachen. InspectWP benachrichtigt dich uber neue Probleme wie fehlende Header, exponierte Debug-Logs oder Versionsnummer-Leaks, sobald sie auftreten.
  • Update-Benachrichtigungen aktivieren: Stelle sicher, dass WordPress dir E-Mail-Benachrichtigungen sendet, wenn Core-, Plugin- oder Theme-Updates verfugbar sind. Sicherheitspatches mussen oft innerhalb von Stunden nach der Veroffentlichung eingespielt werden.
  • Benutzerkonten regelmasig uberprufen: Entferne inaktive Konten, besonders solche mit Administrator- oder Redakteur-Rollen. Prufe deine Benutzerliste mindestens monatlich und entziehe sofort den Zugriff fur alle, die ihn nicht mehr benotigen.
  • Zugriffsprotokolle uberwachen: Prufe deine Server-Logs auf ungewohnliche Muster, wie wiederholte Anfragen an /wp-login.php, /xmlrpc.php oder Pfade, die nicht existieren. Viele Sicherheitsplugins bieten eine vereinfachte Log-Ansicht.

WordPress-Sicherheit mit InspectWP uberprufen

Fuhre einen umfassenden InspectWP-Scan durch, um alle sicherheitsrelevanten Punkte auf einmal zu prufen. Der Sicherheitsbereich deckt SSL-Konfiguration, HTTP-Sicherheitsheader, WordPress-Versionsanzeige, REST-API-Benutzer-Enumeration, Debug-Log-Zuganglichkeit und vieles mehr ab. Richte automatische Scans ein, um Benachrichtigungen zu erhalten, sobald sich deine Sicherheitslage andert, damit du neue Probleme beheben kannst, bevor sie ausgenutzt werden.

Prüfe jetzt deine WordPress-Seite

InspectWP analysiert deine WordPress-Seite auf Sicherheitslücken, SEO-Probleme, DSGVO-Konformität und Performance — kostenlos.

Seite kostenlos analysieren