Es kann verschiedene Gründe dafür geben, einen Blog auf WordPress-Basis mit einem Kennwort schützen zu wollen. So kann es z.B. ein rein privater Blog sein, auf den nicht jeder Zugriff erhalten soll oder der Blog ist Teil einer Firmenpräsenz und steht nur für Außendienstmitarbeiter zur Verfügung.

Um das Ziel eines Kennwort- bzw. Zugangsschutzes zu erreichen gibt es mehrere Möglichkeiten. Der erste Gedanke bei WordPress besteht meist darin, ein passendes Plugin zu suchen.

So stehen unter anderem Password Protected und Private Blog zur Verfügung. Beide haben gemein, das sie schnell installiert und eingerichtet sind und den Zugriff auf den Blog nur mit einer Anmeldung zulassen.

Allerdings verhindern diese Plugins nicht den direkten Zugriff auf Medien, die im Blog auf einer Seite oder in einem Artikel verlinkt sind. Ein Zugriff auf Bilder, vorausgesetzt man hat die URL, ist nach wie vor möglich. Somit stellen diese Plugins mitunter nur die halbe Miete dar.

Eine Kombination aus Plugin und Webserver-Konfiguration bietet Basic Authentication an. Vorausgesetzt es kommt der Apache-Webserver zum Einsatz. Das Plugin wird in WordPress installiert und konfiguriert. Hierbei kann sowohl ein Kennwort für alle oder die vorhandenen WordPress-Konten verwendet werden. Damit ist zunächst nur ein Schutz wie bei den voran genannten Plugins möglich. Um zusätzlich Bilder und andere Medien schützen zu können, muss die .htaccess-Datei bearbeitet und folgende Zeile eingefügt werden:

RewriteRule ^/wp-content/uploads/(.*) wp-content/plugins/basic-authentication/basic-auth-fileprotect.php?_folder=upload&_protect=$2 [QSA]

Alternativ kann man auf die Authentifizierungsmechanismen des verwendeten Webservers zurückgreifen. Hierbei wäre die HTTP-Authentifizierung bei Apache über .htaccess der Klassiker.

Update 12.09.2012

Leider funktioniert die RewriteRule von Basic Authentication nicht (mehr). Als der Artikel geschrieben wurde war das noch anders. Im Plugin ist diese Funktionalität als Experimental gekennzeichned.