Jein. Der .htaccess-Passwortschutz für das Verzeichnis wp-admin birgt leider einige Tücken u. a.:
Blockierung von AJAX-Anfragen: Viele Plugins und Themes nutzen die Datei wp-admin/admin-ajax.php im Hintergrund, damit das Frontend (für Besucher sichtbar) reibungslos funktioniert. Ein .htaccess-Passwortschutz sperrt diese Schnittstelle, wodurch Formulare, Warenkörbe oder Live-Suchen auf der Website versagen.
Das, was ich auf allen Websites (mit einem oder wenigen Users) einrichte, ist der .htaccess-Passwortschutz auf wp-login.php. Das kann nicht über das Hosting gesetzt werden, sondern mit folgendem Code:
<Files wp-login.php>
AuthType Basic
AuthName "My Protected Area"
AuthUserFile "absoluter pfad/passwd"
Require valid-user
</Files>
absoluter pfad: ist je Website ein anderer; wie man ihn herausfindet:
https://software-lupe.de/tipp/wie-lautet-der-absolute-pfad/
Der Code (mit absolutem Pfad) wird an den Anfang der .htaccess-Datei eingefügt. Zusätzlich muss die Datei .htpasswd erstellt werden. Beide Dateien gehören in das Root-/Stammverzeichnis der WordPress-Installation.
Die Datei .htpasswd generiert man mit einem htpasswd-Generator, wie z. B. diesem:
https://hostingcanada.org/htpasswd-generator/
Wie man dort sieht, stehen verschiedene Methoden zur Auswahl: SHA1, Bcrypt, Argon usw. Muss man ggf. testen, was funktioniert. Außerdem benötigt man für die Erstellung der Dateien einen Editor, der das Ganze mit „UTF-8 ohne Bom“ abspeichert und FTP-Zugang. Drittens: Funktioniert das nicht auf nginx-Servern.
Alles Gründe, weswegen ich gezögert hatte, das hier als Lösung zu posten. Allerdings ist es auch kein Hexenwerk und kann gefahrlos getestet werden; geht irgendetwas schief, einfach nur wieder die zuvor auf dem Rechner gesicherte .htaccess-Datei wieder auf den Server hochladen.