wp-config.php – erstellen / finden / bearbeiten

JohannaVon Johanna|15. Januar 2023

Ohne diese Datei läuft bei WordPress nichts: Die wp-config.php

Eine WordPress-Installation dauert wirklich nur wenige Minuten, doch die eigentliche Anpassung und Sicherheitseinstellungen nehmen manchmal mehrere Tage in Anspruch. Damit deine Webseite gut und stabil läuft, wird die wp-config.php benötigt. Eine kleine PHP-Datei, die es in sich hat. Worauf du achten musst und welche sinnvollen Anweisungen für eine stabile Webseite geeignet sind, erfährst du in diesem Artikel.

 

Noch mehr Informationen zu wp.config und wo du die Datei genau findest, kannst du in unserem HostPress Docs nachlesen. Außerdem findest du bei uns auch die Antwort auf die Frage: Was ist eigentlich PHP und wofür wird es verwendet? Außerdem findest du hier jetzt auch alle Infos und Neuerungen zu Php 8.2.

Inhaltsverzeichnis

    1. Was ist Wp-config?
    2. Die Installation der wp-config
    3. Der Aufbau von wp-config.php
    4. WP-config – Datenbankeinstellungen
    5. WP-config – Schutz durch .htaccess
    6. Die zulässigen Erweiterungen in der wp-config.php
    7. Fazit

1. Was ist Wp-config?

Wp-config ist die WordPress Konfigurationsdatei und wird am häufigsten zum Einrichten von Datenbankverbindungen verwendet.

 

In dieser Datei werden wichtige Einstellungen wie die Datenbankverbindung, die Sicherheitseinstellungen und andere optionale Einstellungen definiert. Die Wp-config-Datei befindet sich im Root-Verzeichnis derWordPress-Installation. Nach dem WordPress-Codex, ist die Konfigurationsdatei eine der wichtigsten Dateien im Stammverzeichnis und enthält viele wichtige Informationen. Die Grundeinstellungen sind in der wp-config-sample.php Datei dokumentiert. Erst nach der Installation dieser Datei kann sie in wp-config.php umbenannt und an den Webserver angepasst werden.

 

Warum ist die wp-config.php überhaupt so wichtig?

WordPress greift bei einem Seitenzugriff auf zahlreiche Dateien zu, bevor eine Webseite geladen wird. Bei diesen Zugriffen werden Daten empfangen und gesendet, aber auch gespeichert. In der wp-config befinden sich unter anderem die Anweisungen, wo die Datenbank zu finden ist, oder ob ein eigener Cache verwendet werden soll.

2. Installation der Wp-config.php

Während der Installation von WordPress erfolgen Abfragen, deren Ergebnis in der Konfigurationsdatei wp-config.php gespeichert werden. Abgelegt wird sie im Root-Verzeichnis der Webseite. Im Root-Verzeichnis wird folgende Ordner- und Dateistruktur angelegt:

 

Meine Webseite (Hauptordner der Webseite)wp-admin (Unterordner für administrative Funktionen)

  • wp-content (beinhaltet Dateien und Ordner für die Webseitendarstellung und Plugins)
  • wp-includes (Programmdateien für WordPress)
  • Dateien für die Konfiguration und Backendanmeldung

Hier findest du die wp-config.php im File Manager der HostPress Verwaltungsoberfläche / Plesk.

3. Der Aufbau von Wp-config

In den ersten Zeilen befinden sich häufig die Angaben für die Verwaltung von automatischen Updates. In den folgenden Zeilen kann direkt Einfluss genommen werden auf das Laufverhalten von WordPress. Grob eingeteilt ergeben sich folgende Möglichkeiten:

  • Anweisung für die Verwaltung von Updates
  • Anweisung für den Datenbankzugriff
  • Anweisung für das Laufverhalten
  • Sicherheitseinstellungen
wp-config.php ausschnitt
Beispiel einer wp-config.php im Texteditor

4. WP-config – Datenbankeinstellungen

Zu den ersten Einträgen während der WordPress Installation zählen die Zugangsdaten für die MySQL Datenbank. Diese 

Einträge finden sich in der wp-config.php und schauen wie folgt aus:

 

  • define(‚DB_NAME‘, ‚deine Datenbank‘); // Der Name der Datenbank, die du benutzt.
  • define(‚DB_USER‘, ‚deinBenutzername‘); // Dein MySQL-Datenbank-Benutzername.
  • define(‚DB_PASSWORD‘, ‚PASSWORD‘); //Dein MySQL-Passwort.
  • define(‚DB_HOST‘, ‚localhost‘); // Bei HostPress ist deine Datenbank von außen nicht erreichbar und kann nur über localhost auf Port 3306 angesprochen werden.
  • define(‚DB_CHARSET‘, ‚utf8‘); // Zeichensatz der Datenbank.
  • define(‚DB_COLLATE‘, “); // Datenbank collation (Sortierung der Datenbank – meist leer) Collations bestimmen die Sortierreihenfolgen eines SQL-Servers, beispielsweise in ORDER BY-Abfragen. Wenn eine SQL-Abfrage Textfelder auf- oder absteigend sortieren soll, ist es wichtig zu wissen, wie beispielsweise deutsche Umlaute behandelt werden sollen. Dies wird durch die verwendete Collation festgelegt.

 

Jedoch kannst du die Struktur in eine andere Datei auslagern und schützt damit deine Webseite und die Datenbank. Es wird eine neue Datei angelegt und alle Angaben zur Datenbank eingefügt. Aus der wp-config.php wird der Datenbank-Abschnitt gelöscht und durch einen Verweis auf die neu angelegte Datei ersetzt.

 

Der Dateiname der neuen Datei spielt keine Rolle. Er sollte aber keine Umlaute beinhalten. Nennen wir sie in unserem Beispiel wp-config1.php. Der Dateiinhalt besteht aus den Angaben der Datenbank und dem Präfix. Bei der wp-config.php wird folgende Anweisung unterhalb der PHP-Einleitung eingefügt:

 

  • include(“/var/www/vhosts/deinedomain/sicherer-ordner/wp-config1.php‘);

 

Die Datei wp-config1.php muss nun auf dem Hostlaufwerk abgelegt werden. Bestenfalls oberhalb des Ordners, in dem sich die WordPress Installation befindet, damit dieser selbst gar nicht erst übers Web aufgerufen werden kann. Bitte beachte: alle Laufwerksangaben sind nicht aus der Sicht der Webseite vorzunehmen, sondern aus Serversicht. In unserem Falle besteht ein gewährter Zugriff seitens des Hosters ab /wwwroot. Die Pfadangaben erhältst du von deinem Provider oder in der Datenbankverwaltung. Alternativ geht es auch über den Aufruf eines PHP-Scripts. Füge den folgenden Code in eine Datei ein und lege diese in das Hauptverzeichnis der Webseite mit dem Dateinamen info.php.

<?php

$dir = dirname(__FILE__);

echo „<p>Voller Pfad zu diesem Verzeichnis: “ . $dir . „</p>“;

?>

Wp-config.php
So könnte eine Datenbank aussehen.

Jetzt erfolgt der Aufruf des Scripts mit www.deineWebseite/info.php und es wird der Serverpfad angezeigt.


! Kostenloser Speedtest (CTA-Box) - 04/22 - /blog/

Wie schnell ist deine WordPress Seite?

Teste jetzt kostenlos die Ladezeit deiner Webseite!

✔ Du bekommst das Testergebnis direkt per E-Mail.

Mit dem Absenden dieses Formulars stimmst du unseren Datenschutzbestimmungen zu.


5. WP-config – Dateischutz durch .htaccess

Der Schutz der MySQL Zugangsdaten ist die eine Sache, doch nun musst du deine Konfigurationsdatei vor neugierigen Blicken schützen. Dies geht über die Datei .htaccess. Hier wird folgender Eintrag vorgenommen:

 

<files wp-config.php>

Order Allow,Deny

Deny from all

</files>

 

Bei dieser Anweisung wird jedoch nur die wp-config.php geschützt. Mit diesen zwei Maßnahmen

  • Auslagerung der Zugangsdaten
  • Dateischutz über die .htaccess

wird es Angreifern zumindest schwerer gemacht.

6. Die zulässigen Erweiterungen in Wp-config.php

Nachfolgend eine Liste gültiger Anweisungen, die optional in der Konfigurationsdatei verwendet werden können. Die Funktion einer Codeanweisung ergibt sich meistens aus dem Codetext. Sind in einer Anweisung Zahlen oder Parameter möglich, beziehen sich diese immer auf folgende Werte:

  • Sekunden
  • Tage
  • Anzahl
  • true, false
  • Megabyte (M)

Auswahl des Zeichensatzes

Mit der nachfolgenden Codezeile verwendet WordPress einen anderen Zeichensatz. In unserem Falle findet jetzt der türkische Zeichensatz seine Verwendung.

  • define( ‚DB_COLLATE‘, ‚utf8_turkish_ci‘ );

Festlegen abweichender Verzeichnisse

Hierbei ist allerdings äußerste Vorsicht geboten. Eine fehlerhafte Einstellung führt dazu, dass dein WordPress nicht mehr funktioniert.

  • define( ‚WP_CONTENT_DIR‘, dirname(__FILE__) . ‚/zumBeispiel‘ );
  • define( ‚WP_CONTENT_URL‘, ‚https://deineWebseite.de/zumBeispiel‘ );
  • define( ‚WP_PLUGIN_DIR‘, dirname(__FILE__) . ‚/zumBeispiel/plugins‘ );
  • define( ‚WP_PLUGIN_URL‘, ‚https://deineWebseite.de/zumBeispiel/plugins‘ );
  • define( ‚UPLOADS‘, ‚/zumBeispiel/media‘ );

Unbeaufsichtigte Updates und automatische Textspeicherung

  • define( ‚AUTOMATIC_UPDATER_DISABLED‘, true );
  • define( ‚WP_AUTO_UPDATE_CORE‘, false );
  • define( ‚AUTOSAVE_INTERVAL‘, 120 ); // Wert bezieht sich auf Sekunden

 

Autoupdates können jedoch schnell zu Inkompatibilitäten oder teilweise fehlerhaften Darstellungen der Inhalte führen. Wir empfehlen daher unseren SecurePlan, wobei ein WordPress-Experte deine Seite nach Durchführung aller Updates noch einmal prüft, wodurch die korrekte Funktionalität gewährleistet werden kann.


„Die WP-config ist das Herzstück jeder Webseite und daher die wichtigste Datei in WordPress. Sie wird für grundlegende Dinge genutzt, wie zum Beispiel, ob das Debugging aktiv ist, ob Fehler auf der Seite angezeigt oder versteckt werden sollen oder um einzustellen, ob Updates automatisch ausgeführt werden sollen.“

– Alex, Entwickler bei HostPress


Anzahl der gespeicherten Artikelversionen und endgültige Löschung des Papierkorbes

  • define( ‚WP_POST_REVISIONS‘, 25 ); // Wert bezieht sich auf Anzahl
  • define( ‚EMPTY_TRASH_DAYS‘, 30 ); // Wert bezieht sich auf Tage

Einfluss auf Ladezeiten der aufgerufenen Webseite

  • define( ‚WP_CACHE‘, true);
  • define( ‚WPCACHEHOME‘, ‚/var/www/deineWebseite/plugins/wp-super-cache/‘);
  • define(‚COMPRESS_SCRIPTS‘, true);
  • define(‚COMPRESS_CSS‘, true);
  • define(‚ENFORCE_GZIP‘, true);
  • define(‚WP_MEMORY_LIMIT‘, ‚256M‘); // Wert bezieht sich auf Speichernutzung bzw. PHP-Memory – Frag lieber unseren Support, sonst beschneidest du dich hier selbst.

Verwaltung und Webseitenzugriff

  • define(‚W3TC_EDGE_MODE‘, true);
  • define( ‚COOKIE_DOMAIN‘, ‚hootproof.de‘);
  • define( ‚WP_ALLOW_MULTISITE‘, true );
  • define( ‚FORCE_SSL_ADMIN‘, true );
  • define( ‚DISALLOW_FILE_EDIT‘, true );
  • define( ‚DISALLOW_FILE_MODS‘, true);

So manche Codeanweisung in der wp-config.php macht das ein oder andere Plugin überflüssig. Die hier gelisteten Codezeilen sind zudem nur ein Auszug der Möglichkeiten der WordPress Konfigurationsdatei. Mit dem sinnvollen Einsatz wird WordPress nicht nur sicherer, es finden auch weniger Abfragen der Datenbank statt. Bemerkbar machen sich Änderungen natürlich bei stark frequentierten Webseiten. Hier vor allem beim Einsatz der Cache-Parameter.

7. Fazit

Bevor du jetzt voller Euphorie deine wp-config anpasst, ist es eine gute Idee sich über die Auswirkung einer Codezeile zu informieren. Wenn du keine WordPress-Multisite Installation betreibst, macht die Anweisung „define( ‚WP_ALLOW_MULTISITE‘, true );“ keinen Sinn. Die komplette Codebeschreibung für die wp-config findest du beim Hersteller von WordPress.

 

Wenn du auf der Suche nach einem verlässlichen Hostingpartner bist, der dir auch mal bei solchen alltäglichen Herausforderungen einen Rat gibt, solltest du nach einem gut bewerteten Anbieter von Managed WordPress Hosting Ausschau halten.