Jeder WordPress Nutzer hat sie, doch die wenigsten nutzen sie auch: die Datei wp-config.php. Dabei ist sie eine der wichtigsten Dateien, über die du recht einfach die Performance oder auch Sicherheit deiner WordPress Website optimieren kannst. Wo du die wp-config findest und was du darin alles konfigurieren kannst, erfährst du in diesem Beitrag.
Was ist die wp-config.php?
Die Datei wp-config.php ist eine der bedeutendsten Dateien einer WordPress Installation. Denn sie beinhaltet die grundlegenden Einstellungen wie beispielsweise die Verbindungsdaten zur Datenbank, ohne die eine WordPress Website nicht lauffähig wäre. Aber auch zusätzliche Einstellungen sind möglich wie z.B.:
- Anpassung des Upload-Limits
- Erhöhung des PHP Memory Limits
- Aktivierung eines Debug-Logs
- Beschränkung der Revisionen
- Sicherheitseinstellungen
Wo finde ich die wp-config Datei?
Wenn du dir das WordPress Installationspaket auf wordpress.org herunterlädst, wirst du darin die wp-config-Datei nicht finden. Enthalten ist darin nämlich nur die Datei wp-config-sample.php. Also eine Beispieldatei oder Vorlage, mit den wichtigsten Grundeinstellungen.
Erst im Verlauf der Installation von WordPress wird dann die wp config erstellt. Und zwar mit den Angaben, die du eingibst. Nach der Installation findest du sie dann auf oberster Ebene im Hauptverzeichnis, in dem deine WordPress Website liegt.
Wenn du WordPress manuell installieren möchtest, musst du selbst die wp-config.php erstellen und auch die benötigten Einträge vornehmen. Dazu kannst du die wp-config-sample.php als Vorlage nehmen und sie einfach in wp-config.php umbenennen. Anschließend musst du sie nur noch in das Verzeichnis deiner WP-Installation hochladen.
So bearbeitest du die wp config php
Wichtig: Bevor du Änderungen an dieser wichtigen Datei vornimmst, solltest du ein Backup machen. Alternativ kannst du auch einfach nur die wp-config-Datei sichern.
Wenn du die PHP-Datei anpassen möchtest, benötigst du Zugriff auf deinen FTP-Server. Sobald du den WordPress FTP-Zugang bei deinem Hoster eingerichtet hast, kannst du dich beispielsweise über das Tool FileZilla mit dem Server verbinden.
Die config-Datei findest du direkt im Root-Verzeichnis deiner WordPress Website und kannst sie nun auf deinen lokalen Rechner herunterladen und bearbeiten.
Zum Bearbeiten der Datei solltest du auf keinen Fall ein Schreibprogramm wie Word nutzen, sondern einen Texteditor wie z.B. Notepad++. Dadurch verhinderst du, dass es beim Abspeichern zu einer falschen Kodierung kommt, die deine Website lahmlegen könnte.
Wp-config-php absichern
Damit niemand auf die wichtige Konfigurationsdatei zugreifen kann, kannst du sie mit einem kleinen Eintrag in der htaccess Datei absichern.
<files wp-config.php>
order allow,deny
deny from all
</files>
Standard-Einstellungen der Konfigurationsdatei
Wenn du WordPress installierst, wird die wp-config automatisch mit den wichtigsten Grundeinstellungen abgespeichert. Diese betreffen vor allem die folgenden Bereiche:
- Verbindung zur mySQL Datenbank
- Secret Keys
- Tabellenpräfix
- Pfade
Bei einer manuellen WordPress-Installation kannst du die Angaben auch selbst eintragen. Dazu musst du zunächst die im Paket mitgelieferte Datei wp-config-sample.php in wp-config.php umbenennen. Anschließend ergänzt du die nötigen Angaben.
Datenbank-Angaben
Hier trägst du die Zugangsdaten zu deiner Datenbank ein, die du beim Webhoster einsehen kannst. Erst dann kann eine Datenbankverbindung hergestellt werden.
Bei Charset und Collate sind in der Regel keine Änderungen nötig. Diese Einträge beziehen sich auf die Codierung, mit der die Inhalte in der Datenbank abgespeichert werden. Hier solltest du nur Änderungen vornehmen, wenn du dich damit wirklich auskennst
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
Sicherheitsschlüssel
Die Security-Keys und Salts bestehen aus einer zufälligen Datenfolge, mit der die WordPress-Sicherheitsschlüssel in der Datei wp-config.php gehasht werden. Um diese zu erstellen, kannst du den kostenlosen Secret-Key Service von WordPress nutzen.
Wenn du die WordPress-Salts aus Sicherheitsgründen erneuern möchtest, solltest du beachten, dass dann alle eingeloggten User zum erneuten Einloggen gezwungen werden.
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
Tabellenpräfix
Im Standard beginnt jede WordPress-Tabelle mit dem Kürzel wp_. Das wissen natürlich auch Hacker und somit könnte das ein Sicherheitsrisiko darstellen. Daher ist es empfehlenswert hier einen eigenen Präfix zu verwenden.
Erlaubt sind Buchstaben und Zahlen, allerdings muss der Unterstrich am Ende bleiben.
$table_prefix = 'wp_'; // Standard
$table_prefix = '3jT5v_'; // Beispiel
Debugging
Falls du Probleme mit deiner Website hast, kannst du über die wp-config.php einen Debug-Modus aktivieren. Im Standard steht diese Einstellung jedoch auf „false“.
define( 'WP_DEBUG', false ); // Debug-Modus ist deaktiviert
Eigene Angaben
Zwischen diesen Beiden Code-Kommentaren ist der richtige Platz für deine individuellen Eintragungen. Welche hier möglich sind, erfährst du im nächsten Abschnitt.
/* Add any custom values between this line and the "stop editing" line. */
Hier ist Platz für deine Eintragungen.
/* That's all, stop editing! Happy publishing. */
Pfade
Hier sind die Pfade zum WP-Verzeichnis hinterlegt.
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
Nützliche Einträge für die wp-config-php
Neben den benötigten Standard-Konfiguration kannst du über die Config-Datei noch viele weitere Einstellungen für deine Website vornehmen. Die wichtigsten und nützlichsten davon habe ich hier zusammengestellt. Weitere Tweaks und auch weiterführende Infos findest du in den WordPress Developer Resources.
Performance
Revisionen beschränken oder deaktivieren
Damit deine Datenbank im Lauf der Zeit nicht zugemüllt wird, solltest du vorbeugend die Anzahl der WordPress Revisionen begrenzen. Auf Wunsch kannst du das Speichern auch komplett abstellen.
define('WP_POST_REVISIONS', 3); //Anzahl der Revisionen, die gespeichert werden
define('WP_POST_REVISIONS', false); // Es werden gar keine Revisionen gespeichert
Papierkorb leeren
Möchtest du deinen Papierkorb automatisch nach einem bestimmten Zeitraum leeren lassen? Auch das kannst du in der wp-config.php eintragen.
define('EMPTY_TRASH_DAYS', 30); //Alle 30 Tage wird der Inhalt des Papierkorbs gelöscht
Autosaves begrenzen
Wenn du eine Seite oder einen Beitrag bearbeitest, speichert das System im Standard alle 60 Sekunden deine Arbeit. In manchen Fällen kann das häufige Zwischenspeichern jedoch den Admin-Bereich langsam machen. Hier hilft es dann oft, das Intervall hochzusetzen.
define('AUTOSAVE_INTERVAL', 120); //Automatisches Speichern erfolgt alle 2 Minuten
Memory-Limit festlegen
Nutzt du einen Page Builder und hast häufig Performance-Probleme beim Bearbeiten von Seiten? Dann solltest du das Memory Limit erhöhen. Durch die Erhöhung des Arbeitsspeichers in der Konfig-Datei laufen Plugins wie z.B. Elementor oder WooCommerce sehr viel flüssiger.
define('WP_MEMORY_LIMIT', '512M'); //Memory Limit auf 512 MB erhöhen
define('WP_MAX_MEMORY_LIMIT', '512M'); //Du kannst das Memory-Limit des Servers auch begrenzen
Caching aktivieren
Diesen Eintrag nutzen auch die meisten WordPress Caching Plugins wie z.B. WP Rocket.
define('WP_CACHE', true); // Aktiviert das interne Caching von WordPress
Datenbank reparieren
Über dieses Snippet kann WordPress automatisch deine Datenbank auf Probleme untersuchen und diese dann reparieren. Zusätzlich kannst du die Datenbank auch noch optimieren lassen. Aufrufen lässt sich diese Option dann unter deinewebsite/wp-admin/maint/repair.php.
Aus Sicherheitsgründen solltest du vorher ein Backup erstellen und nach der Aktion diesen Eintrag wieder löschen.
define('WP_ALLOW_REPAIR', true); //Datenbank reparieren und optimieren
Sicherheit
Mit folgenden Eintragungen in der wpconfig-Datei kannst du auch etwas für die Sicherheit deiner Website tun.
Theme-Editor und Plugin-Editor deaktivieren
So kannst du beispielsweise das direkte Bearbeiten von Theme- und Plugin-Dateien im Backend verbieten.
Falls sich also ein Dritter Zugriff zu deiner Website verschafft, kann er nicht über das Menü > Design > Theme-Datei-Editor den Code ändern. Du natürlich auch nicht.
define('DISALLOW_FILE_EDIT', TRUE); // Verhindert das Editieren der Dateien im Dashboard
define( 'DISALLOW_FILE_MODS', true ); //Updates und Installation von Plugins verbieten
Installation und Update von Plugins verbieten
Eine weitere Sicherheitsmaßnahme ist die Deaktivierung von der Möglichkeit, Updates und Plugin-Installationen durchzuführen.
define( 'DISALLOW_FILE_MODS', true ); //Updates und Installation von Plugins verbieten
SSL Login erzwingen
Mit diesen beiden Einträgen sorgst du dafür, dass sowohl der Login als auch der Admin-Bereich deiner Website ausschließlich über eine gesicherte Verbindung erfolgen.
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
Debugging
Du hast Probleme mit deiner Website? Über den Debug-Modus kannst du die Ursachen herausfinden. Dazu musst du zunächst in der wp-config Datei den Debug-Modus aktivieren. Über die weiteren Angaben wird dann ein Log-File geschrieben und Fehlermeldungen im Frontend unterdrückt.
Auslesen kannst du die Fehler dann über die Datei debug.log, die im Ordner wp-content zu finden ist.
define( 'WP_DEBUG', true ); // WP_DEBUG mode aktivieren
define( 'WP_DEBUG_LOG', true ); // Logfile wird in /wp-content/debug.log erstellt
define( 'WP_DEBUG_DISPLAY', false ); // Fehlermeldungen werden nicht angezeigt.
@ini_set( 'display_errors', 0 );
Sonstige Optionen
Ordner wp-content verschieben
Wenn du möchtest, kannst du den kompletten wp-content Ordner auch außerhalb der regulären Struktur verschieben..
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' ); //lokaler Pfad oder volle URL
define( 'WP_CONTENT_URL', 'https://example/blog/wp-content' );
Automatische Updates deaktivieren
Du möchtest verhindern, dass Updates automatisch installiert werden? Mit dieser Zeile kannst du das abstellen.
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Multisite aktivieren
define( 'WP_ALLOW_MULTISITE', true ); // Aktiviert das WordPress Multisite Feature
Arbeitsumgebung festlegen
Nutzt du eine WordPress Staging Website? Dann kannst du für deine Testumgebung in der wp-config-php einen entsprechenden Eintrag machen. Bei einigen Plugins wie z.B. Real Cookie Banner oder Elementor wird dadurch keine zusätzliche Lizenz aktiviert.
define( 'WP_ENVIRONMENT_TYPE', 'staging' ); // kennzeichnet die Website als Staging-Seite
Standard-Theme festlegen
define( 'WP_DEFAULT_THEME', 'twentytwentyfive' ); // WordPress Theme als Standard-Theme festlegen
Seiten-Adresse festlegen
Diese beiden Optionen findest du ganz regulär im Dashboard unter > Einstellungen > Allgemein. Bei einem WordPress Umzug kann es jedoch manchmal nötig sein, diese Einstellungen manuell in der Konfigurations-Datei zu überschreiben.
define('WP_SITEURL','https://deinewebsite.de'); //Im Browser aufrufbare Website Adresse
define('WP_HOME','https://deinewebsite.de'); // Adresse der WP-Installation
Wiederherstellungs-Mail bestimmen
An welche Mail-Adresse soll bei einem Fatal-Error die Wiederherstellungs-Mail gesendet werden? Hier kannst du das festlegen.
define( 'RECOVERY_MODE_EMAIL', 'info@domain.de' );
WordPress Cronjobs abschalten
define( 'DISABLE_WP_CRON', true ); // WP-Crons deaktiviert
Häufige Fragen
Die mit einem * markierten Links sind Affiliate Links. Wenn Du darüber ein Produkt kaufst, erhalte ich dadurch eine kleine Provision. Für dich entstehen dabei natürlich keine zusätzlichen Kosten, aber du unterstützt damit meinen Blog!