Michael Oeser - Fotografie, Film, Webdesign - Logo

Die WP-Config Datei – ein machtvolles Werkzeug

Jeder, der schon mal eine WordPress Seite installiert hat, kennt die Datei wp-config.php – die Konfigurationsdatei von WordPress – mehr oder weniger gut. In der aktuellen Version von WordPress wird diese automatisch angelegt und speichert beispielsweise Informationen zur verwendeten Datenbank, oder einfach die Sprachversion von WordPress. Durch die Installationsroutine von WordPress muss man mittlerweile die Datei nicht mehr direkt in einem Texteditor bearbeiten. Allerdings lohnt sich ein Blick dennoch, da man weitaus mehr Dinge damit machen kann, als die Installationsroutine vorsieht. Im Folgenden zeige ich einige Features der wp-config.php Datei.

Security Key

Die Security Keys oder einfach Sicherheitsschlüssel sind eine zufällig generierte Zeichenfolge, die seit WordPress 2.6 für zusätzliche Sicherheit der Website sorgen. Hier ein Beispiel:

define('AUTH_KEY',        ':~fTE2U<[DKv{S|LK|qa+eU|OMBZtW6O~mTmH+/T_|Xs 7WF^Q-^/D *^ssr)zZ='); define('SECURE_AUTH_KEY', 'G?yg[ASZejuF2:6c|jtA7GhYg p1nMn]iz-eZ,!wL7Gp-Eu0e9> ge(}W|gDA)0L');
define('LOGGED_IN_KEY',   'x54?}Katl+u.mfe-61njf|TK+J=CCgrJ~d7j-#.![?=pxIj,;-[@)gDD^*ufC~_j');
define('NONCE_KEY',       'X,BvriT/og2J0aj 0M][`RCjYc-FdYQi)_eO$;$pfy3:[1nxqJ_w{tW:0(?FEA>X');

Um diese Keys zu generieren, besuchen Sie einfach folgende Website: https://api.wordpress.org/secret-key/1.1/

WordPress- und Blogadresse festlegen

Die Adresse bzw. URL der WordPress Installation und die URL der Website (oder des Blogs, wie es bei WordPress immer noch heißt) sind in der Regel identisch, müssen es aber nicht sein. Diese Einstellung kann man in der Administrationsoberfläche unter Einstellungen >> Allgemein vornehmen, oder eben auch in der wp-config.php festlegen.

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress');
define('WP_HOME',    'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress');

Der Vorteil hierbei ist, die dynamische Serveradresse. Wenn man z.B. von einer Entwicklungsumgebung auf eine Liveumgebung wechselt, findet WordPress automatisch den aktuellen Server und man muss in der Regel nichts anpassen.

Das wp-content Verzeichnis verschieben

Unter Umständen kann es sinnvoll sein, den wp-content Ordner – also das Verzeichnis, dass die Themes und Plugins enthält (und einiges mehr) – an eine andere Stelle zu verschieben. Ich persönlich habe es zwar noch nie angewendet, aber ich wollte es hier der Vollständigkeit halber aufführen.

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content');
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');

Das Verschieben des Verzeichnisses kann ebenfalls eine zusätzliche Sicherheitseinstellung sein.

Post Revisionen und automatisches Speichern

Post Revisonen – also mehrere Versionen eines Beitrag – können durchaus hilfreich sein, da sie einem die Möglichkeit geben, ältere Versionen von Artikeln wieder herzustellen. Aber sie „müllen“ auch die Datenbank zu. Jeder muss selbst entscheiden, ob er diese Funktion benötigt, oder nicht.

Mit ein paar simplen Codezeilen, kann man die Datenbank deutlich entlasten

define('AUTOSAVE_INTERVAL', 120 );  // Sekunden(Standard = 60)
define('WP_POST_REVISIONS', false ); // Post Revisionen ausschalten (Einschalten mit "true")
define('WP_POST_REVISIONS', 3); // Anzahl der Post Revisionen, die erstellt werden

Debbuging einschalten

Für Entwickler kann das Einschalten der Debugging Funktionalität sinnvoll sein. Hierbei werden Fehler in WordPress ausgegeben.

define('WP_DEBUG', true);
define('SCRIPT_DEBUG', true); // WordPress javascript debugging

Diese Funktion sollte im Livebetrieb allerdings nicht verwendet werden.

Datenbankabfragen – Queries – anzeigen

Um zu sehen, wieviele Datenbankabfragen auf einer WordPress Seite überhaupt vorkommen, kann man die Anzahl einfach im Frontend – also im Theme selbst – ausgeben lassen. Dazu platzieren wir diesen Code wieder in unserer wp-config.php

define('SAVEQUERIES', true);

Und folgenden Code in den Footer (footer.php) des aktiven Themes

queries);
}
?>

Ist man nun als Administrator angemeldet, sieht man im Footer die Anzahl der Datenbank-Queries. Auch das sollte man aus Performancegründen nicht unbedingt im Livebetrieb nutzen.

Automatische Reparieren von Datenbanktabellen

WordPress bringt von Haus aus bereits die Möglichkeit Datenbanktabellen automatisch zu reparieren mit. Seit der WordPress Version 2.9 benötigt man dafür auch kein Plugin mehr.

Platzieren dieses Codeschnipsels in der wp-config.php schaltet die automatische Reparatur der Datenbanktabellen ein.

define('WP_ALLOW_REPAIR', true);

Anschließend besucht man http://ihreseite.de/wp-admin/maint/repair.php und los geht die Reparatur. Wichtig zu wissen ist, dass man dazu keine Benutzerautentifizierung benötigt!

Papierkorb anpassen oder ausschalten

Seit WordPress 2.9 gibt es den Papierkorb, in den Beiträge etc. geschoben werden, anstatt sie sofort vollständig zu löschen. Das kann praktisch sein, weil man diese Beiträge ganz einfach wieder herstellen kann – ähnlich wie auf dem PC oder Mac.

Die Voreinstellung liegt bei 30 Tagen. Solange verbleiben „gelöschte“ Objekte im Papierkorb und können wieder hergestellt werden. Diese Zeitspane kann man ganz einfach ändern.

define('EMPTY_TRASH_DAYS', 15);  // 15 Tage
define('EMPTY_TRASH_DAYS', 0 );  // Null Tage (schaltet den Papierkorb komplett ab)

Das waren nur einige Beispiele für Anpassungen in der Konfigurationsdatei von WordPress. Jeder muss natürlich für sich selbst herausfinden, was er davon benötigt und was nicht.