Als WordPress-Nutzer wissen Sie natürlich, dass Sie das Layout Ihrer WordPress-Webseite durch verschiedene Themes immer wieder neu gestalten und auch eigene Themes erstellen können, wenn Sie eine vollständig personalisierte Webseite haben möchten. Doch nicht nur das Aussehen, sondern auch Teile der Konfiguration können recht einfach per wp-config.php geändert werden. In diesem Artikel werden wir einen genaueren Blick auf diese Datei werfen. Ich werden Ihnen zeigen, was man konfigurieren kann und wovon man besser die Finger lassen sollte, wenn man nichts kaputt machen möchte.
Die wp-config-Datei
Die WP-Config-Datei, oder wie sie korrekt heißt – wp-config.php – befindet sich im Wurzelverzeichnis Ihrer WordPress-Installation. Also dort, wo Sie auch die Ordner wp-admin, wp-includes und wp-content finden. Die Datei enthält eine Menge Informationen, die WordPress benötigt, um zu funktionieren. Wenn diese Datei nicht korrekt bestückt ist, wird WordPress nicht arbeiten. Ganz deutlich heißt das, dass Ihre Website nicht erreichbar ist oder die Installation bei falschen Angaben sogar zerstört werden kann.
Um diese Fehler zu verhindern, empfiehlt es sich, genau zu wissen, was in die wp-config-Datei hineingehört. Auf diese Weise sind Sie in der Lage, Angaben korrekt zu modifizieren und anzupassen. Es empfiehlt sich natürlich immer, Modifikationen zuerst einmal in einer Testumgebung zu prüfen, bevor man sie in das Live-System einbringt.
Wichtig zu wissen ist zudem, dass die wp-config.php nicht für die Installation angefasst werden muss. Der Installations-Assistent fragt alle benötigten Daten während der Installations-Routine ab und legt auch die wp-config.php an, wenn noch nicht vorhanden. Daher müssen Sie die Datei nur manuell bearbeiten, wenn Sie darüber hinaus Anpassungen vornehmen möchten. Im nächsten Abschnitt des Artikels gehen wir einmal die verschiedenen Einstellungen durch.
Falls Sie gerade WordPress heruntergeladen haben, existiert noch keine wp-config.php. Sollten Sie den Assistenten zur Installation nicht nutzen wollen, dann muss die wp-config-Datei manuell angelegt werden. Im WordPress-Ordner befindet sich eine Datei namens wp-config-sample.php, die dann in wp-config.php umbenannt werden muss.
Was in der wp-config-Datei zu finden ist
In diesem Abschnitt sehen wir uns die Liste der Einstellungen an, die man in der wp-config-Datei in der aktuellen Ausführung von WordPress 4.1.1 finden kann. Wir schauen ebenfalls, welche Einstellungen man ändern kann, wenn es nötig ist.
Die Datenbank-Einstellungen
Die Datenbankeinstellungen sind die einzigen verbindlichen Einstellungen. Sie müssen die richtigen Werte aufweisen. Tun sie dieses nicht, kann WordPress nicht die zur Arbeit notwendigen MySQL-Datenbanktabellen erzeugen. Diese Einstellungen – wie viele andere Einstellungen in dieser Datei auch – sind eine Liste mit Konstanten. Um eine Konstante in PHP zu definieren, verwenden Sie die Funktion define(), welche zwei Parameter benötigt. Der erste ist der Name der Konstanten, der zweite Parameter ist der Wert. Ein String, eine Zahl oder was auch immer.
Wie Sie erkennen, werden als erstes die Datenbank-Informationen hinterlegt, welche WordPress dringend zur Arbeit benötigt. Falls Sie die erforderlichen Informationen nicht zur Hand haben, schauen Sie entweder im Adminbereich Ihres Webhosting-Pakets nach oder kontaktieren Ihren Webhoster.
Die erste Konstante für die Datenbankeinstellungen ist DB_NAME. Wie der Name bereits ahnen lässt, benötigen Sie den Namen der Datenbank, mit der WordPress laufen soll. Der Wert sollte hier ein String sein, der den Namen der Datenbank darstellt.
Im Anschluss an den Datenbanknamen finden wir die DB_USER Konstante, die den Namen des Datenbank-Benutzers enthalten muss. Für diesen Datenbank-Benutzer gibt es auch ein Zugangs-Passwort, dass in der DB_PASSWORD Konstante vermerkt wird.
Die letzte Pflichteinstellung ist die DB_HOST Konstante, die den Server definiert, auf dem die Datenbank zu finden ist. In den meisten Fällen müssen Sie hier nichts eintragen, der Standard-Eintrag “localhost” bleibt bestehen. Manchmal jedoch gibt Ihnen Ihr Webhoster einen anderen Wert vor, wie zum Beispiel eine IP-Adresse oder sogar eine Subdomain. Dann gehören diese Angaben hier hinein.
Die nächsten beiden Konstanten beziehen sich nicht auf die Datenbank, sondern betreffen den Zeichensatz, den die WordPress-Tabellen verwenden sollen. Als Standard verwendet WordPress UTF-8, wenn Sie jedoch diese Einstellung ändern möchten, geben Sie den gewünschten Zeichensatz in die DB_CHARSET Konstante ein. Mit der DB_COLLATE Konstante können Sie sogar Ihren eigenen Zeichensatz zusammenstellen.
Einige Zeilen nach diesen beiden Konstanten ist der Tabellenpräfix ($table_prefix) zu definieren. WordPress verwendet diese Variable, um die generierten Tabellen zu benennen. Standardmäßig lautet der Wert “wp_“. Diesen Wert stellt WordPress allen Tabellen vor, die dann wp_posts oder wp_options und so weiter heißen. Im Hinblick auf eventuelle Angriffe auf die Datenbanken (MySQL-Injektionen) sollte dieser Wert in irgend etwas anderes benannt werden. Auch eine weitere WordPress-Installation mit der selben Datenbank erfordert hier einen abweichenden Wert von der ersten Installation.
Der Datenbank-Tabellenpräfix mit geändertem Wert
Die Authentifizierungsschlüssel
Für die Benutzeranmeldung verwendet WordPress Cookies. Die Informationen, welche in diesen Cookies abgespeichert werden, werden von WordPress verschlüsselt. Diese Verschlüsselung kann man dank einer Gruppe von acht Konstanten verbessern. Die Authentifizierungsschlüssel AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY und NONCE_KEY sind erforderlich, wenn Sie eine bessere Verschlüsselung und ein Plus an Sicherheit wünschen. Weiter verbessern kann man diese Verschlüsselung, wenn man sie durch Salts ergänzt. Die Salt-Konstanten sind: AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT und NONCE_SALT.
Die akzeptierten Werte dieser Konstanten sind Strings, die für eine höhere Sicherheit pro Konstante eindeutig sein müssen und möglichst auch Sonderzeichen beinhalten sollten. Zur Generierung wirklich sicherer Strings stellt WordPress einen Online-Generator zur Verfügung, mit Hilfe dieses Tools lassen sich eindeutige Zeichenfolgen erzeugen. Das Einzige, was Sie tun müssen, ist das Kopieren der erzeugten Strings und das Ersetzen der alten Konstanten und Strings durch die neu generierte Variante.
Den Online-Generator erreichen Sie unter folgender URL: https://api.wordpress.org/secret-key/1.1/salt/
Sie können Ihre Schlüssel und Salts jederzeit ändern. Wenn Sie dies tun, werden die in den Cookies Ihrer Benutzer gespeicherten Informationen ungültig: Ihre User müssen beim nächsten Mal manuell einloggen.
Die standardmäßigen Auth-Keys
Die neuen, mit dem Online-Generator erstellten Auth-Keys
Der Debugging Mode – Fehler suchen
Direkt nach der Deklarierung der Variablen für das Tabellenpräfix ($tables_prefix) finden Sie die WP_DEBUG Konstante, die normalerweise auf false steht. Wenn Sie Fehler in einem WordPress-Theme oder Plugin finden möchten, stellen Sie den Wert auf true, WordPress wird dann Fehlermeldungen und Informationen anzeigen, die wichtig sind zum Ausmerzen von fehlerhaften Stellen im Theme- oder Plugin-Code. Auf einem Live-System sollte der Wert immer auf false stehen.
Wenn Sie den Fehlersuchmodus (Debugging Mode) jedoch aktivieren, dann werden Sie in die Lage versetzt, einige weitere, nützliche Optionen hinzuzufügen.
Die Spracheinstellungen
Unterhalb des Tabellenpräfixes finden Sie Die Einstellungen für die Sprache von WordPress. Diese Einstellung wurde bereits bei der Installation durch den Assistenten getätigt, jedoch kann die Einstellung auch manuell geändert werden. Wenn die Einstellung bei Ihnen define(‘WPLANG’, ‘de_DE’); ist, dann können Sie zum Beispiel leicht auf eine englische Version wechseln, in dem Sie das “de_DE” auf “en_EN” ändern. Je nachdem, welche Sprache Sie einstellen möchten, kann es sein, dass Sie eine dafür nötige Sprachdatei ergänzen müssen.
Nur angucken, nicht anfassen!
Die WP_DEBUG Konstante ist die letzte der Konstanten, die man so einfach bearbeiten kann. Die nun folgende Konstante nennt sich ABSPATH und sollte keinesfalls in irgendeiner Weise geändert werden. WordPress nutzt die Konstante, um den absoluten Pfad der Installation abzurufen. Sollte die Konstante geändert werden, funktioniert WordPress nicht mehr. Die wp-config-Datei endet mit der Inkludierung der Datei wp-settings.php, die einige Konstanten, Variablen und Funktionen beinhaltet, welche von WordPress benutzt werden. Diese Datei befindet sich ebenfalls im Wurzelverzeichnis (root) der Installation. Auch hier gilt: Finger weg, ansonsten arbeitet WordPress nicht mehr.
WordPress anpassen – Konstanten hinzufügen
Im oberen Abschnitt behandelten wir die Möglichkeiten der Editierung der wp-config.php, doch man kann die Datei nicht nur editieren, sondern auch Einträge und Konstanten hinzufügen. Wichtig ist hierbei nur eines: Die Ergänzungen sollten zwischen den Konstanten WP_DEBUG und ABSPATH stehen. Auf keinen Fall dürfen Ergänzungen jedoch unterhalb von ABSPATH stehen.
Im Folgenden stelle ich Ihnen nun einige nützliche Ergänzungen im Einzelnen vor.
Alle Ergänzungen können unten unter “Links zum Beitrag” als Gist heruntergeladen werden.
Automatische Updates
WordPress bringt sich durch automatische Updates mittlerweile selbst auf den neuesten Stand. Falls Sie diese automatischen Updates jedoch unterbinden wollen – vielleicht weil Sie eine neue WordPress Version erst mal auf fehlerfreie Funktion mit Theme und Plugins testen wollen – dann ist das problemlos möglich. Fügen Sie folgende Konstante hinzu:
Sie können jedoch die Updates für die Core-Dateien ganz leicht aktivieren:
Ordner verschieben
WordPress speichert Ihre Themes und Plugins normalerweise in einem Unterordner des wp-content Ordners. Wenn Sie möchten, dann können Sie diesen Pfad in einen eigens dafür definierten Ordner mit der WP_CONTENT_DIR Konstante ändern. Damit das fehlerfrei geschehen kann, können Sie die PHP-Funktion dirname() verwenden, um den absoluten Pfad zur wp-config-Datei im Rootverzeichnis der WordPress-Installation zu finden.
Bitte keinesfalls einen Slash (/) zu diesem Pfad hinzufügen. Wenn das Verzeichnis geändert wird, sollte ebenfalls die URL geändert werden, die auf das neue Verzeichnis zeigt. Das geschieht über die WP_CONTENT_URL Konstante, die wiederum keinen abschließenden Slash haben darf.
Im selben Format können die Pfade zum Plugin-Verzeichnis geändert werden. Beispielhaft können Sie das soeben definierte Inhaltsverzeichnis auswählen.
Dank der Uploads-Konstante kann das Verzeichnis für die Uploads geändert werden.
Der Pfad muss wieder ohne abschließenden Slash eingegeben werden, und es muss kein absoluter Pfad sein, sondern relativ zur mit ABSPATH definierten Konstante. Den Pfad zum Theme-Verzeichnis zu verschieben ist nicht möglich, da es immer das Theme-Unterverzeichnis des Verzeichnisses sein muss, welches mit der WP_CONTENT_DIR Konstante bestimmt wurde.
Fehlersuche
Fehlerberichte
Weiter oben habe ich die Möglichkeit zur Aktivierung des Fehlermodus beschrieben, der ganz einfach über die Konstante WP_DEBUG bestimmt werden kann, indem man den Wert einfach auf “true” setzt. Wenn diese Option aktiviert ist, zeigt WordPress alle Fehlermeldungen an und gibt aus, ob deprecated (veraltete) Funktionen genutzt werden. Die Fehlerausgabe kann beeinflusst werden durch die Konstanten WP_DEBUG_LOG und WP_DEBUG_DISPLAY. Die erste Konstante wird einen Fehlerbericht schreiben und die zweite den Fehler direkt ausgeben.
WordPress Scripts and Styles
Eine andere nützliche Konstante ist die SCRIPT_DEBUG. Auch hier ist der Standard “false“. Wenn man den Wert auf “true” setzt, wird WordPress die Art der Einbindung der CSS- und JavaScript-Dateien ändern. Normalerweise bindet WordPress die minimierten Versionen der Scripte und Stylesheets (wenn vorhanden) ein. Setzt man den Wert auf “true“, bindet WordPress die nicht-komprimierten, vollen Versionen ein. Das ist hilfreich, wenn man auf Fehlersuche ist.
Abfragen (Queries)
Wenn Sie die Abfragen analysieren müssen, die WordPress bei der Anzeige einer Seite macht, dann setzen Sie folgende Konstante auf “true“.
Auf diese Weise werden sie in die Lage versetzt, alle Abfragen des $wpdb Objekt abzurufen. Sie könnten zum Beispiel in der Fußzeile alle Abfragen anzeigen, wenn der aktuelle Benutzer ein Administrator ist.
Beitragsrelevante Konstanten
Post Revisionen
Wie Sie vielleicht wissen, legt WordPress bei jedem Beitrag oder jeder Seite, die Sie verfassen, etliche Revisionen an. WordPress speichert während der Bearbeitung eines Artikels diesen etliche Male ab, damit Sie zu einer früheren Version zurückkehren können. Wenn Sie sich sicher sind, diese Funktion nicht zu benötigen, dann lassen sich die Revisionen entweder komplett abschalten, oder auf eine bestimmte Anzahl reduzieren. Hierzu nutzen Sie die WP_POST_REVISIONS Konstante.
Automatisches Abspeichern
Während der Bearbeitung oder der Erstellung eines Beitrags wird dieser automatisch mehrmals von WordPress gesichert. Dies geschieht mittels AJAX in einer mittels der AUTOSAVE_INTERVAL Konstante definierten Verzögerung. Als Standardwert nimmt WordPress alle 60 Sekunden eine Speicherung des Beitrags oder der Seite vor, damit im Fall eines Falles nicht der gesamte Artikel verloren ist. Allerdings können Sie die Zeitdauer zwischen den Speichervorgängen selbst bestimmen.
Der Papierkorb
Manchmal muss ein Beitrag gelöscht werden. WordPress bietet uns hierfür einen Papierkorb an und leert diesen alle 30 Tage aus. Sie können allerdings manuell definieren, wie oft der Papierkorb automatisch gelöscht werden soll. Die Konstante EMPTY_TRASH_DAYS gibt uns die volle Kontrolle über die Müll-Entsorgung. Setzt man den Wert auf 0, wird der Papierkorb deaktiviert und ein Beitrag sofort und unwideruflich gelöscht. Es erfolgt keine Bestätigung über den Löschvorgang.
Beachten Sie bitte, dass nicht nur der Papierkorb für Beiträge und Seiten gemeint ist, sondern diese Einstellungen auch für Kommentare, Anhänge und Medien gilt.
Sicherheit
Sogar eine Einstellung bezüglich der Sicherheit des Systems kann in der wp-config-Datei getroffen werden. Sicherheit bedeutet hier, sicher vor gleich 2 Szenarien: einmal bietet es eine kleine Sicherheit im Fall, dass die Website gehackt wurde und der zweite Fall betrifft eine weitere, recht große Fehlerquelle: den Administrator. Die Einstellung ist die vollständige Abschaltung der Datei-Editoren, mit denen man jede Datei von WordPress, den Plugins und den Themes umschreiben kann. Die Nutzung dieses Editors führt leider immer wieder zu den berühmten weißen Seiten. Daher sollten alle Änderungen immer über den (S)FTP-Zugang erledigt werden.
Manchmal schafft es dennoch ein Hacker-Lehrling, in die Webseite einzudringen. Diesem Herrn sollte man die zerstörerische Arbeit nicht noch durch die Datei-Editoren erleichtern. Ich empfehle also dringend, die Editoren abzuschalten. Das lässt sich über die Konstante DISALLOW_FILE_EDIT erreichen. Sie muss auf “true” gesetzt werden.
Fazit
Die wp-config-Datei ist ein ziemlich mächtiges Instrument, das nicht einfach nur die Datenbankeinstellungen beherbergt, sondern auch einige wirklich nützliche Optionen zu bieten hat. Jetzt wissen Sie, was man in dieser Datei vorfindet und können sie ohne Bedenken bearbeiten. Vergessen Sie nicht, die Änderungen immer auf einer lokalen Version von WordPress zu testen, um potenzielle Probleme auf einer aktiven Seite zu verhindern. Diese Liste erhebt keinen Anspruch auf Vollständigkeit. Ich habe lediglich die wichtigsten Konstanten und Änderungen vorgestellt. Wenn Sie sich mit der wp-config.php noch näher beschäftigen möchten, empfehle ich die betreffende Seite im WordPress-Codex zu besuchen.
Links zum Beitrag
- Service: Alle zusätzlich getätigten Einstellungen als Gist zum Download
- MySQL – Character Set Support
- Dominik Schilling: WordPress PHP Konstanten im Überblick
- Wikipedia: Salt (Kryptologie)
- WordPress Codex: Editing wp-config.php
(dpe)
7 Antworten
Selbst als alter Hase lernt man nicht aus.
Klasse Beitrag, vielen Dank dafür! 🙂
Neues dazu gelernt, vielen Dank für detaillierte Erklärung 🙂 Daumenhoch!
sehr lehrreich, andreas, fand ich gut.
eine frage habe ich zu “Die Spracheinstellungen”:
mein WP, genauer gesagt ist es wohl ein plugin, sagt mir:
Warning: WPLANG is deprecated and should be removed from wp-config.php
ist das eine neuere auffassung oder eine ältere und kann die weg?
Seit Version 4.0 ist diese Konstante nicht mehr nötig. Näheres dazu hier:
https://make.wordpress.org/core/2014/09/05/language-chooser-in-4-0/
danke für den link, torsten!
Sehr guter Artikel vielen dank für die ganzen Infos.
Ich habe mich nie an die wp-config getraut, weil ich anfangs eine Homepage zerschossen habe.
Aber mit der richtigen Anleitung und einer Sicherungsdatei kann man es wohl doch machen.
Liebe Grüße
5***** Sterne besser kann man es nicht erklären.
Vielen Dank und LG vom Niederrhein
Derk