WordPress: xmlrpc.php mittels BrowserMatch absichern

.htaccess-Datei im WordPress-Root-Verzeichnis um folgende Zeilen ergänzen:

<IfModule mod_setenvif.c>
  <Files xmlrpc.php>
    BrowserMatch "WordPress" allowed
    BrowserMatch "wp-iphone" allowed
    BrowserMatch "Jetpack by WordPress.com" allowed
    Order Deny,Allow
    Deny from All
    Allow from env=allowed
  </Files>
</IfModule>

Anderslautende User-Agents werden vom Server abgewiesen.

WordPress: Verzeichnis wp-admin mit Jetpack-Whitelist absichern

.htaccess-Datei mit folgendem Inhalt generieren und unter /wp-admin/ speichern:

order deny,allow
deny from all
allow from 122.248.245.244/32
allow from 54.217.201.243/32
allow from 54.232.116.4/32
allow from 192.0.80.0/20
allow from 192.0.96.0/20
allow from 192.0.112.0/20
allow from 195.234.108.0/22
allow from 192.0.96.202/32
allow from 192.0.98.138/32
allow from 192.0.102.71/32
allow from 192.0.102.95/32
### EIGENE IP ###
allow from 127.0.0.1
### EIGENE IP ###

127.0.0.1 ist durch die eigene, externe IP-Adresse zu ersetzen.

Über die oben dargestellten IPv4-Ranges ist sichergestellt, dass Jetpack auf das Verzeichnis zugreifen kann. Dies ist erforderlich, wenn die Website in einem WordPress.com-Konto registriert ist und das Posten neuer Beiträge über die WordPress-App auf einem mobilen Endgerät erfolgen soll.

Die Liste wird regelmäßig aktualisiert und kann hier abgerufen werden.

Domain-Root auf HTTPS umleiten

Folgender Code gilt nur für den direkten Aufruf von domain.tld und nicht für domain.tld/index.php oder Unterordner:

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ https://domain.tld/ [L,R=302]

302 = Temporärer Redirect, um Browser-Caching zu vermeiden