JPKCom Hide Login — Anleitung & Tipps
Wie du mit JPKCom Hide Login die WordPress-Login-URL umbenennst, Brute-Force-Schutz aktivierst und IPs per Whitelist absicherst — Installation, Konfiguration und WP-CLI.
JPKCom Hide Login ersetzt die Standard-Login-URL wp-login.php durch einen frei wählbaren Slug und bringt zusätzlich Brute-Force-Schutz mit IP-Blocking und eine IP-Whitelist mit. Automatisierte Bots, die /wp-login.php scannen, bekommen nur noch einen 404 — ohne Hinweis, wo der Login tatsächlich liegt.
Anleitung
Voraussetzungen
- WordPress 6.9 oder neuer (getestet bis 7.0)
- PHP 8.3 oder neuer
- Multisite wird voll unterstützt (das Plugin ist netzwerkfähig)
- WooCommerce 8.0+ ist kompatibel
Das Plugin modifiziert keine Core-Dateien — es arbeitet ausschließlich über WordPress-Hooks und -Filter. WordPress-Updates bleiben damit unkritisch.
Installation
- Lade die Plugin-ZIP von GitHub herunter.
- Im Admin-Bereich: Plugins → Installieren → Plugin hochladen, ZIP wählen, Jetzt installieren.
- Klicke auf Plugin aktivieren.
Alternativ per FTP: den Ordner jpkcom-hide-login nach /wp-content/plugins/ hochladen und über das Plugins-Menü aktivieren.
Direkt nach der Aktivierung:
- Eine Erfolgsmeldung zeigt deine neue Login-URL (Standard:
https://deine-domain.de/jpkcom-login/). - Speichere dir diese URL sofort als Lesezeichen!
- Öffne Einstellungen → Hide Login, um alles anzupassen.
- Optional deine eigene IP zur Whitelist hinzufügen, um dich nicht versehentlich auszusperren.
Konfiguration
Alle Einstellungen liegen unter Einstellungen → Hide Login.
Eigener Login-Slug
Trage im Feld Custom Login URL Slug deinen Wunsch-Slug ein. Verbotene Slugs sind login, admin, dashboard, wp-admin und wp-login; außerdem darf der Slug nicht mit einer bestehenden Seiten- oder Beitrags-URL kollidieren. Nach Save Changes lautet deine Login-URL https://deine-domain.de/dein-slug/.
Brute-Force-Schutz
Der Schutz ist automatisch aktiv. Voreingestellt blockt das Plugin eine IP nach 5 fehlgeschlagenen Logins innerhalb von 60 Sekunden für 10 Minuten. Maximale Versuche (1–100), Zeitfenster (1–3600 s) und Sperrdauer (1–86400 s) sind frei konfigurierbar. Aktuell gesperrte IPs siehst du im Abschnitt Currently Blocked IPs; Clear All Blocked IPs hebt alle Sperren manuell auf.
IP-Whitelist
Vertrauenswürdige IPs werden nie geblockt. Im Abschnitt IP Whitelist trägst du eine einzelne IP (192.168.1.100) oder einen CIDR-Bereich (192.168.1.0/24, 10.0.0.0/8) ein und klickst auf Add to Whitelist. Deine aktuelle IP wird zur Orientierung angezeigt; Einträge lassen sich jederzeit per Remove löschen.
Multisite
Unter Netzwerk-Admin → Einstellungen → Hide Login (Network) kannst du einen netzwerkweiten Slug für alle Sites setzen. Bleibt das Feld leer, darf jede Site ihren eigenen Slug wählen. Ein gesetzter Netzwerk-Slug hat Vorrang vor den Einstellungen der einzelnen Site.
Verwaltung per WP-CLI
Das Plugin bringt vollständigen WP-CLI-Support mit:
# Status und Konfiguration anzeigen
wp jpkcom-hide-login status
# Slug auslesen / setzen
wp jpkcom-hide-login get-slug
wp jpkcom-hide-login set-slug my-secure-login
# Whitelist verwalten (CIDR möglich)
wp jpkcom-hide-login whitelist list
wp jpkcom-hide-login whitelist add 192.168.1.0/24
wp jpkcom-hide-login whitelist remove 192.168.1.100
# Gesperrte IPs verwalten
wp jpkcom-hide-login blocked list
wp jpkcom-hide-login blocked clear
# Schwellenwerte setzen
wp jpkcom-hide-login protection max-attempts 10
wp jpkcom-hide-login protection attempt-window 120
wp jpkcom-hide-login protection block-duration 1800
# Abgelaufene Login-Versuchsdaten aufräumen (läuft auch täglich per WP-Cron)
wp jpkcom-hide-login cleanupTipps & Tricks
- Notfall-Zugang konfigurieren: Hast du die Login-URL vergessen, kannst du in
wp-config.phpeinen Slug erzwingen —define( 'JPKCOM_HIDE_LOGIN_DEFAULT_SLUG', 'emergency-login' );. Im äußersten Fall sperrt das Umbenennen des Plugin-Ordners per FTP das Plugin aus. - Aus IP-Sperre befreien: Die Sperre läuft nach 10 Minuten (bzw. deiner Sperrdauer) von selbst ab. Schneller geht es per SQL — etwa
DELETE FROM wp_options WHERE option_name = 'jpkcom_hide_login_blocked_ips';oder das Eintragen der eigenen IP injpkcom_hide_login_ip_whitelist. - Eigene Optionsnamen: Über die Konstanten
JPKCOM_HIDE_LOGIN_OPTIONundJPKCOM_HIDE_LOGIN_NETWORK_OPTION(inwp-config.php) lassen sich die Optionsnamen für Per-Site- und Netzwerk-Slug überschreiben. - REST API & AJAX bleiben unberührt: Das Plugin erkennt REST-,
admin-ajax.php- und WooCommerce-AJAX-Anfragen und blockt nur den direkten Browser-Zugriff aufwp-login.phpundwp-adminfür nicht eingeloggte Nutzer. - WooCommerce-kompatibel: My-Account-Login, Login-/Logout-Redirects und der Checkout-Login funktionieren weiter; Passwort-Reset-Mails nutzen automatisch die neue Login-URL.
- Keine Doppelungen mit anderen Security-Plugins: Schalte bei Wordfence, iThemes Security oder All-in-One WP Security die jeweils eigene „Login-URL ändern"-Funktion ab, damit sich die Verfahren nicht ins Gehege kommen.
- Saubere Deinstallation: Bei Deaktivierung werden alle Optionen und Transients restlos entfernt — keine Datenbank-Rückstände.
Weiterführende Informationen
- Quellcode auf GitHub: https://github.com/JPKCom/jpkcom-hide-login
- Changelog dieses Projekts