Tipps zur wp-config.php – So kannst du deine wp-config.php erstellen und anpassen

wp-config blog

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 jedoch in sich hat. Worauf du achten musst und welche sinnvollen Anweisungen für eine stabile Webseite geeignet sind, erfährst du in diesem Artikel.

 

Inhaltsverzeichnis

    1. Installation für WordPress und wo die wp-config.php zu finden ist
    2. Zum Aufbau der wp-config.php
    3. Erweiterungen und original Code für Einstellungen

 

1. Installation der wp-config.php

Während der Installation von WordPress erfolgen Abfragen, deren Ergebnis in der Konfigurationsdatei wp-config.php gespeichert werden. Wo du die Datei findest und mehr kannst du auch hier in unserem Help-Center nachlesen. 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

 

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

 

2. Der Aufbau der wp-config.php

 

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

Warum die wp-config.php wichtig ist

 

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.

 

Datenbankeinstellungen

änderungen der login-parameter
so sehen die Datenbankeinstellungen im Editor aus

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>“;

?>

 

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

 

 


Kostenloser Speedtest CTA Box

Wie schnell ist deine WordPress Seite?

Teste jetzt kostenlos die Ladezeit deiner Webseite!

✔ Du bekommst das Testergebnis direkt per E-Mail.


Dateischutz durch die .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.

 

3. Liste der zulässigen Erweiterungen in der 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.


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.

 

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.
Schreib uns doch gerne in die Kommentare, wie du diesen Einblick ins Thema findest. Falls es noch Fragen gibt, beantworten wir diese natürlich gerne!