Die wp-config.php ist eine der wichtigsten Dateien in jeder WordPress-Installation. Sie enthält essenzielle Konfigurationsdaten, die die Verbindung zur Datenbank steuern, Sicherheitsmechanismen festlegen und die Funktionsweise der Website optimieren. In diesem umfassenden Leitfaden zeigen wir, wie Sie die wp-config.php optimal nutzen, um die Sicherheit, Leistung und Stabilität Ihrer WordPress-Website zu verbessern.

Zugriff auf und Bearbeitung der wp-config.php

Die wp-config.php-Datei befindet sich im Stammverzeichnis Ihrer WordPress-Installation, meist neben den Ordnern wp-content, wp-includes und wp-admin. Um die Datei zu bearbeiten, können Sie einen FTP-Client oder den Dateimanager Ihres Hosting-Anbieters nutzen.

Wichtig: Bevor Sie Änderungen vornehmen, sollten Sie eine Sicherungskopie der Datei erstellen, um Probleme im Falle eines Fehlers zu vermeiden.

Wichtige Grundeinstellungen

Datenbankverbindung konfigurieren

Damit WordPress mit der Datenbank kommunizieren kann, müssen folgende Einstellungen in der wp-config.php definiert werden:

/** Name der WordPress-Datenbank */
define( 'DB_NAME', 'datenbankname' );

/** MySQL-Datenbank-Benutzername */
define( 'DB_USER', 'datenbankbenutzer' );

/** MySQL-Datenbank-Passwort */
define( 'DB_PASSWORD', 'passwort' );

/** MySQL-Hostname */
define( 'DB_HOST', 'localhost' );

Ersetzen Sie die Platzhalter durch Ihre tatsächlichen Datenbankinformationen. Der DB_HOST ist bei den meisten Hostern localhost, kann jedoch abweichen.

Zeichenkodierung und Kollation

/** Zeichenkodierung für die Datenbanktabellen */
define( 'DB_CHARSET', 'utf8' );

/** Datenbank-Kollation (nicht ändern, wenn unsicher) */
define( 'DB_COLLATE', '' );

utf8 ist eine bewährte Einstellung für die Zeichenkodierung. Die Kollation sollte in den meisten Fällen leer bleiben, damit MySQL die Standardwerte setzt.

Sicherheits-Keys und Salts

WordPress verwendet einzigartige Schlüssel und Salts zur Authentifizierung:

define( 'AUTH_KEY',         'individueller_schlüssel' );
define( 'SECURE_AUTH_KEY',  'individueller_schlüssel' );
define( 'LOGGED_IN_KEY',    'individueller_schlüssel' );
define( 'NONCE_KEY',        'individueller_schlüssel' );
define( 'AUTH_SALT',        'individueller_schlüssel' );
define( 'SECURE_AUTH_SALT', 'individueller_schlüssel' );
define( 'LOGGED_IN_SALT',   'individueller_schlüssel' );
define( 'NONCE_SALT',       'individueller_schlüssel' );

Sie können diese Schlüssel unter WordPress.org Secret-Key Service generieren.

Tabellenpräfix ändern

$table_prefix = 'wp_';

Aus Sicherheitsgründen sollten Sie wp_ durch ein individuelles Präfix ersetzen, z. B. meinprefix_. Das Präfix darf nur Buchstaben, Zahlen und Unterstriche enthalten.

Erweiterte Konfigurationen

Debugging aktivieren

Während der Entwicklung oder bei Fehlersuche kann das Aktivieren des Debug-Modus helfen:

/** Debug-Modus aktivieren */
define( 'WP_DEBUG', true );

/** Fehler in einer Datei speichern */
define( 'WP_DEBUG_LOG', true );

/** Fehler nicht im Frontend anzeigen */
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

WordPress speichert Fehler in der Datei wp-content/debug.log.

Arbeitsspeicher erhöhen

Falls Ihr Server Speicherprobleme hat, können Sie das Limit erhöhen:

define( 'WP_MEMORY_LIMIT', '128M' );

Ein höherer Wert kann bei komplexen Webseiten oder speicherintensiven Plugins erforderlich sein.

Automatische Updates steuern

WordPress führt standardmäßig automatische Updates für Sicherheits- und Wartungsversionen durch. Sie können dieses Verhalten wie folgt anpassen:

/** Alle automatischen Updates deaktivieren */
define( 'WP_AUTO_UPDATE_CORE', false );

/** Alle Updates (inkl. Hauptversionen) aktivieren */
define( 'WP_AUTO_UPDATE_CORE', true );

/** Nur kleinere Updates aktivieren (Standard) */
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Automatische Updates sind aus Sicherheitsgründen empfehlenswert.

Sicherheitsmaßnahmen

Dateibearbeitung im Admin-Bereich deaktivieren:

define( 'DISALLOW_FILE_EDIT', true );

SSL für das Admin-Panel erzwingen:

define( 'FORCE_SSL_ADMIN', true );

Externe HTTP-Anfragen blockieren:

define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );

Ersetzen Sie die Hostnamen durch erlaubte Domains.

Verzeichnisse anpassen

wp-content Verzeichnis umbenennen:

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/custom-content' );
define( 'WP_CONTENT_URL', 'https://example.com/custom-content' );

Plugins-Verzeichnis anpassen:

define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/custom-plugins' );
define( 'WP_PLUGIN_URL', 'https://example.com/custom-plugins' );

Uploads-Ordner definieren:

define( 'UPLOADS', 'custom-uploads' );

Multisite aktivieren

Falls Sie ein WordPress Multisite-Netzwerk aufsetzen möchten, aktivieren Sie dies mit:

define( 'WP_ALLOW_MULTISITE', true );

Nach der Aktivierung können Sie das Netzwerk in WordPress einrichten.

Sicherheit der wp-config.php erhöhen

Da die Datei kritische Daten enthält, sollten Sie sie besonders schützen:

Datei in ein übergeordnetes Verzeichnis verschieben:

WordPress erkennt die Datei auch eine Ebene über dem Root-Verzeichnis.

Zugriff über .htaccess einschränken (Apache-Server):

<files wp-config.php>
order allow,
deny deny from all 
</files>

Dateiberechtigungen setzen:

Empfohlene Rechte: 440 oder 400, um den Zugriff auf das System zu beschränken.

Mit diesen Optimierungen können Sie die wp-config.php effektiv nutzen, um Ihre WordPress-Website sicherer, leistungsfähiger und stabiler zu machen. Denken Sie immer daran, die Zugriffsberechtigung deiner wp-config.php auf 440 oder 400 zusetzen, um zu verhindern, dass andere Benutzer auf dem Server sie lesen können.

Bildnachweiß:
Photo courtesy of Gratisography