Die beiden Dateien .htaccess und wp-config.php sind das Herzstück einer jeden WordPress Installation. Mit einigen Codeergänzungen kann man in Punkto Sicherheit und Performance schon recht viel bewirken, ohne gleich auf irgendwelche Plugins zurückgreifen zu müssen. Einige empfehlenswerte Optimierungsmassnahmen möchte ich heute einmal vorstellen.

Optimierung der .htaccess

Im Hinblick auf Suchmaschinenfreundliche URL’s sollte der erste Schritt bei jeder WordPress Installation die Einstellung der Permalink-Struktur sein. Bei der Standardeinstellung wird in WordPress eine Seite oder ein Artikel generell mit der Seiten/Artikel-ID ausgegeben. Das sieht dann ungefähr so aus:

www.3d-mediadesign.de/page_id123

Damit kann eine Suchmaschine natürlich nicht viel anfangen. Optimal wäre natürlich die Darstellung mit dem richtigen Seitennamen, bzw. bei einem Artikel, die Artikelbenennung, hier am besten noch mit dem Veröffentlichungsdatum.

www.3d-mediadesign.de/beispielseite/
www.3d-mediadesign.de/2011/06/ein-artikel/

Um dies nun umzusetzen müssen in der .htaccess folgende Zeilen ergänzt werden:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Im Backend von WordPress muss jetzt nur noch unter Einstellungen >>Permalinks folgende Option mit dem Eintrag /%year%/%monthnum%/%postname%/ aktiviert werden:

Permalinkstruktur in WordPress

Ein weiterer Aspekt, der für die Suchmaschinenoptimierung von Vorteil sein kann, ist die Ladezeit Deiner WordPress-Installation. Auch hier kann ein Eintrag in der .htaccess schon einiges bewirken. In der Regel unterstützen fast alle Apache-Server die Komprimierung einzelner Dateitypen von Haus aus. Die Komprimierungstypen sind hier entweder mod_gzip oder mod_deflate. Welche Variante auf Deinem Webserver zum Einsatz kommt, solltest Du bei Deinem Provider in Erfahrung bringen können. In meinem Fall kommt mod_deflate zum Einsatz. Der Eintrag in der .htaccess sieht demnach folgendermaßen aus:

<FilesMatch „\.(js|css|html|htm|php|xml)$“>
SetOutputFilter DEFLATE
</FilesMatch>

Mit diesem Eintrag werden sämtliche HTML, CSS, PHP und Javascript-Dateien komprimiert.

Eine weitere Möglichkeit die Performance zu verbessern betrifft den Browsercache. Hier gibt es die Möglichkeit unnötige Browseranfragen an den Server zu verhindern. Das betrifft insbesondere Bilddateien.

<FilesMatch „.(ico|jpg|jpeg|png|gif|js|css|swf)$“>
ExpiresActive on
ExpiresDefault „access plus 35 days“
Header unset ETag
FileETag None
</FilesMatch>

Der Eintrag ExpiresDefault „access plus 35 days“ gibt demnach an, das alle Dateien im Browsercache noch 35 Tage gültig sind.

Was die Sicherheit angeht, kann man mit folgendem Eintrag seine wp-config.php vor ungewolltem Zugriff und evtl. Manipulation schützen.

<files wp-config.php>
Order deny,allow
deny from all
</files>

Was die Sicherheit Deiner WordPress Seiten angeht, kann ich ebenfalls die Plugins Secure WordPress und Login Lockdown empfehlen. Hierzu mehr unter WordPress Plugins.

Optimierung der wp-config.php

Auch in der wp-config.php kann man einiges Ergänzen, das sowohl der Performance als auch der Sicherheit zu gute kommt. Was die Sicherheit betrifft, sollte man den sogenannten Einsatz des Sicherheitsschlüssels einsetzen. Ursprünglich bestand dieser Schlüssel aus 4 Phrasen. Mit der Einführung der Multi-User-Funktionalität in WordPress 3.0 sind zusätzlich 4 Phrasen hinzugekommen. Der Eintrag in der wp-config.php sieht dann beispielsweise so aus:

define('AUTH_KEY',         '%Pi|AeG+z}~7=C986kRvtc6dL17-Dtz8< >8-6mL&_jo+C? +r2Er3HEcPlsvzu1');
define('SECURE_AUTH_KEY',  'dKZ%M.gIaQcdIk${.j;7n=PhK9:rb~./Wr<;+(R3I4F*-XGu[,nXM%]hP5fU~QWl');
define('LOGGED_IN_KEY',    'tCiwwpWf`}}[v6]IZ#Q=VW72dCWSEf~&e?!CaKz|5CwdmIT-$d++x4((qnFO+y~b');
define('NONCE_KEY',        'S/v>0Pr/k[A7bp8M^ghvOtme$M0rF_NL)~*A^8>|BP1}VedqVG!YXt>$GS)/X+%3');
define('AUTH_SALT',        '*5^)qN$ljR&Q_}nxG^Ue{{.V{{|B9*K1P%bQ#%x?k$+BJ|Tx8EPVQc@]$gnB*Cy#');
define('SECURE_AUTH_SALT', 'RC;!}MK=3Bc!4&kSn$9dY22:1M~LzKPq{J6YrG0h$g)<[hbI`@)%.|Y+Vb+1cl>{');
define('LOGGED_IN_SALT',   'V2*9zUiqt,Z7X}ZT3{A^H*46ea y+40<4}3-|uHtVg;Y~wl;bMd-UeHb4D>T|?iW');
define('NONCE_SALT',       'Q$BLFwz)~>E~>aLs3CfuiNC!wg`E:OU=A$$r+/X/q<`PJZ):?z++}6PJqTn+u53?');

Den Sicherheitsschlüssel kann man sich auch automatisch über die WordPress API generieren lassen. Hierzu einfach folgenden Link anklicken: https://api.wordpress.org/secret-key/1.1/salt/

Seit der WordPress-Version 2.6 gibt es die Versionsverwaltung, dies bedeutet nichts anderes, das WordPress z.b. beim schreiben eines Artikels alle 60 Sekunden eine automatische Speicherung durchführt. Arbeitet man also 5 Minuten an einem Artikel, legt WordPress insgesamt 5 Sicherungen an. Das kann bei längeren Sitzungen recht schnell zu vielen abgelegten Versionen eines Artikels, und damit zum unnötigen Aufblähen der Datenbank führen. WordPress bietet uns allerdings einige Parameter, mit denen man in der wp-config.php das ganze eingrenzen kann.

Mit folgendem Eintrag wird die Anzahl der Versionen auf 3 begrenzt:

// Anzahl der Revisionen limitieren
define('WP_POST_REVISIONS', 3);

Auch den Zeitraum nach wieviel Sekunden eine automatische Sicherung angelegt werden soll, kann man einstellen. In folgendem Beispiel wird der Intervall auf 10 Minuten gesetzt:

// Speicherintervall
define('AUTOSAVE_INTERVAL', 600);

Will man die automatische Speicherung ganz deaktivieren, wird mit folgendem Code die Versionsverwaltung ganz abgeschaltet:

// Versionsverwaltung ausschalten
define('WP_POST_REVISIONS', false);

Möchte man seine Datenbank der alten Revisionen entledigen, geht das bequem mit dem Plugin „Delete Revision„. Das Plugin entfernt alle vorhandenen Revisionen aus der Datenbank.

Wie bei allen Änderungen, die man an Dateien einer WordPress-Installation durchführt, sollte man in jedem Fall eine Kopie der Originaldateien anlegen bevor man diverse Änderungen vornimmt.

The following two tabs change content below.

Frank Viehmann

Geschäftsinhaber bei 3D Mediadesign
Ursprünglich Projektleiter in der 3D-Produktentwicklung, seit 2006 spezialisiert auf 3D Visualisierungen mit Cinema 4D und Webdesign auf Basis von WordPress. Begeisterter Schäferhundefan und Hundesportler mit unserer Freya. Folge mir auch auf Google+, Twitter oder Facebook.

Neueste Artikel von Frank Viehmann (alle ansehen)

4 Kommentare zu “WordPress: htaccess und wp-Config

  1. Hi,

    nach etwas Recherche bin ich auf diverse Postings gekommen, die empfehlen, die wp-config.php mit einer htaccess zu sichern.

    Wozu? So lange ein „hacker“ doch keinen ftp-user access zum Folder, in dem die WP Files liegen hat, wie soll er dann die wp-config auslesen?

  2. Hallo,

    hatte die mod_rewrite-Konfiguration für die .htaccess mal wie oben beschrieben übernommen, allerdings griff die 1. RewriteRule nicht und so kam es zu einem endlosen Redirect, was der Apache dann abgebrochen hat. Habe die RewriteRule daher abgeändert, so hat’s funktioniert (slash am Anfang hinzugefügt):

    RewriteRule ^/index.php$ – [L]

Kommentare sind geschlossen.