Leitfaden zu WordPress wp-config.php

Was ist wp-config.php
Die Datei wp-config.php ist eine der wichtigsten Dateien in einer WordPress-Installation, da sie die Konfiguration enthält, die steuert, wie WordPress mit der Datenbank kommuniziert, die Sicherheit verwaltet, Fehler verarbeitet und Systemressourcen zuweist. Diese Datei wird während der WordPress-Installation erstellt und befindet sich im Root-Verzeichnis der Website. Im Gegensatz zu Einstellungen im Admin-Panel, die in der Datenbank gespeichert werden, werden die wp-config.php-Einstellungen angewendet, bevor WordPress überhaupt eine Verbindung zur Datenbank herstellt.
Das Verständnis von wp-config.php ist für jeden, der eine WordPress-Website ernsthaft verwaltet, unerlässlich. Eine ordnungsgemäße Konfiguration dieser Datei kann die Leistung, Sicherheit und Stabilität der Website erheblich verbessern. Fehler in wp-config.php können die Website vollständig unzugänglich machen, da die Datei vor allem anderen geladen wird. In diesem Leitfaden gehen wir jede wichtige Einstellung durch und erklären, was sie tut, welche Werte zu verwenden sind und wann sie geändert werden sollten.
Datenbankeinstellungen
Grundkonstanten
DB_NAME definiert den Namen der Datenbank, die WordPress verwendet. Dieser Name wird im Hosting-Kontrollpanel oder über die MySQL-Befehlszeile vor der WordPress-Installation erstellt. DB_USER ist der Benutzername für den Datenbankzugriff mit ausreichenden Berechtigungen zum Lesen und Schreiben. DB_PASSWORD ist das Passwort für diesen Benutzer, das stark und eindeutig sein sollte. Verwenden Sie niemals den Root-Benutzer für WordPress, da dies ein Sicherheitsrisiko darstellt.
DB_HOST ist die Adresse des Datenbankservers, die normalerweise localhost ist, wenn sich Webserver und Datenbank auf demselben Server befinden. Auf einigen Hosting-Plattformen kann dieser Wert anders sein, wie eine IP-Adresse oder ein Socket-Pfad. DB_CHARSET definiert den Zeichensatz der Datenbank und sollte utf8mb4 sein, der alle Unicode-Zeichen einschließlich Emojis unterstützt. DB_COLLATE definiert Regeln für Sortierung und Vergleich von Text und wird normalerweise leer gelassen, damit MySQL die Standard-Collation für den ausgewählten Charset verwendet.
Tabellenpräfix
Die Konstante table_prefix definiert das Präfix für alle WordPress-Tabellen in der Datenbank. Der Standardwert ist wp_, aber es wird empfohlen, ihn während der Installation auf etwas Eindeutiges wie abc123_ zu ändern. Dies ist eine grundlegende Sicherheitsmaßnahme, die SQL-Injection-Angriffe erschwert, da der Angreifer die Tabellennamen nicht erraten kann. Eine Änderung des Präfixes nach der Installation ist möglich, erfordert aber sorgfältige Umbenennung aller Tabellen und Aktualisierung der Referenzen in Optionen und Benutzermetadaten.
Sicherheitsschlüssel und Salts
Was sind Sicherheitsschlüssel
WordPress verwendet acht Sicherheitskonstanten AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY und ihre entsprechenden SALT-Varianten. Diese Schlüssel werden zur Verschlüsselung von Informationen verwendet, die in Cookies der Benutzer gespeichert sind. Ohne diese Schlüssel wären Benutzersitzungen anfällig für Abfangen und Identitätsdiebstahl. Jeder Schlüssel sollte einzigartig, lang und zufällig sein, mit einer Kombination aus Buchstaben, Zahlen und Sonderzeichen.
WordPress bietet einen Online-Generator auf api.wordpress.org/secret-key, der acht zufällige Schlüssel generiert, die zum Kopieren in wp-config.php bereit sind. Es wird empfohlen, die Schlüssel periodisch zu ändern, besonders nach einem Sicherheitsvorfall, da die Änderung alle bestehenden Sitzungen ungültig macht und alle Benutzer zwingt, sich erneut anzumelden. Dies ist eine effektive Methode, um sofort alle Benutzer abzumelden, einschließlich eines potenziellen Angreifers, der das Administratorkonto kompromittiert hat.
Richtige Implementierung
Kopieren Sie die generierten Schlüssel und ersetzen Sie die Platzhalterwerte in wp-config.php. Jeder Schlüssel muss eindeutig sein und verwenden Sie niemals die gleichen Schlüssel auf zwei verschiedenen Websites. Wenn Sie eine Website auf einen neuen Server migrieren, kopieren Sie die Schlüssel aus der alten wp-config.php, damit sich Benutzer nicht erneut anmelden müssen. Bewahren Sie ein Backup der Schlüssel an einem sicheren Ort auf, da deren Verlust keinen dauerhaften Schaden verursacht, aber eine erneute Anmeldung aller Benutzer erfordert.
Debug-Modus
WP_DEBUG
Die Konstante WP_DEBUG steuert, ob WordPress PHP-Fehler, Warnungen und Hinweise anzeigt. Der Standardwert ist false, was alle Fehler vor Besuchern verbirgt. Das Setzen auf true aktiviert die Fehleranzeige und ist während der Entwicklung oder Diagnose von Problemen nützlich. Auf einer Produktions-Website sollte WP_DEBUG niemals true sein, da das Anzeigen von Fehlern vor Besuchern Informationen über die Struktur der Website preisgibt, die ein Angreifer ausnutzen kann.
WP_DEBUG_LOG
Wenn WP_DEBUG_LOG auf true gesetzt ist, schreibt WordPress alle Fehler in die Datei wp-content/debug.log, anstatt sie auf dem Bildschirm anzuzeigen. Dies ist ideal für Produktions-Websites, auf denen Sie Fehler verfolgen möchten, ohne sie Besuchern anzuzeigen. Sie können einen benutzerdefinierten Pfad mit WP_DEBUG_LOG definieren, der auf einen absoluten Pfad zur Log-Datei gesetzt ist. Überprüfen Sie regelmäßig die Log-Datei und löschen Sie sie, wenn sie zu groß wird, da sie erheblichen Speicherplatz beanspruchen kann.
WP_DEBUG_DISPLAY
WP_DEBUG_DISPLAY steuert, ob Fehler auf der HTML-Seite angezeigt werden. Setzen Sie es auf false in Kombination mit WP_DEBUG true und WP_DEBUG_LOG true, damit Fehler in die Log-Datei protokolliert, aber nicht den Besuchern angezeigt werden. SCRIPT_DEBUG zwingt WordPress, wenn auf true gesetzt, unkomprimierte Versionen von CSS- und JavaScript-Dateien zu verwenden, was für die Entwicklung von Themes und Plugins nützlich ist, aber die Website in der Produktion verlangsamt.
Memory Limit
WP_MEMORY_LIMIT
WP_MEMORY_LIMIT definiert die maximale Menge an PHP-Speicher, die WordPress zur Verarbeitung von Anfragen im Frontend verwenden kann. Der Standardwert ist 40M für Standardinstallationen und 64M für Multisite. Für Websites mit vielen Plugins, großen Medienbibliotheken oder WooCommerce wird eine Erhöhung auf 128M oder 256M empfohlen. Dieser Wert darf die PHP memory_limit-Einstellung auf dem Server nicht überschreiten, da WordPress nicht mehr Speicher anfordern kann, als PHP zulässt.
WP_MAX_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT definiert das Memory Limit für das Administrator-Panel, das normalerweise mehr Speicher benötigt als das Frontend, aufgrund der Bildverarbeitung, Aktualisierungen und Inhaltsverwaltung. Der Standardwert ist 256M. Wenn Sie Fehler wie Allowed memory size exhausted im Admin-Panel erhalten, erhöhen Sie diesen Wert. Beachten Sie, dass ein zu hohes Memory Limit ein Problem mit einem Speicherleck in einem Plugin oder Theme maskieren kann, anstatt es zu lösen.
Erweiterte Konstanten
Autosave und Revisionen
AUTOSAVE_INTERVAL definiert das Intervall in Sekunden zwischen dem automatischen Speichern von Beiträgen im Editor. Der Standardwert ist 60 Sekunden. Die Reduzierung auf 30 Sekunden bietet häufigere Backups des Inhalts während des Schreibens, erhöht aber die Anzahl der Anfragen an den Server. WP_POST_REVISIONS steuert, wie viele Revisionen für jeden Beitrag gespeichert werden. Standardmäßig speichert WordPress eine unbegrenzte Anzahl von Revisionen, was die Datenbank auf Websites mit viel Inhalt füllen kann. Setzen Sie auf eine konkrete Zahl wie 5 oder 10 für einen vernünftigen Kompromiss zwischen Inhaltssicherheit und Datenbankgröße.
Papierkorb
EMPTY_TRASH_DAYS definiert, wie viele Tage gelöschter Inhalt im Papierkorb aufbewahrt wird, bevor er dauerhaft gelöscht wird. Der Standardwert ist 30 Tage. Reduzieren Sie auf 7 Tage, wenn Sie gelöschten Inhalt schneller automatisch bereinigen möchten. Setzen Sie auf 0, um den Papierkorb vollständig zu deaktivieren, was bedeutet, dass der Inhalt sofort dauerhaft gelöscht wird. Dies wird nicht empfohlen, da keine Möglichkeit zur Wiederherstellung versehentlich gelöschten Inhalts besteht.
Automatische Aktualisierungen
WP_AUTO_UPDATE_CORE steuert automatische Aktualisierungen des WordPress-Kerns. Der Wert true aktiviert alle Aktualisierungen einschließlich Major-Versionen, minor aktiviert nur Minor-Sicherheitsaktualisierungen, was Standard ist, und false deaktiviert automatische Aktualisierungen vollständig. AUTOMATIC_UPDATER_DISABLED, das auf true gesetzt ist, deaktiviert alle automatischen Aktualisierungsprozesse einschließlich Plugins und Themes, die eine Option für automatische Aktualisierungen haben.
SSL und URLs
FORCE_SSL_ADMIN auf true gesetzt erzwingt die Verwendung von HTTPS für die Anmeldung und das Admin-Panel. Erfahren Sie mehr über die Einrichtung eines SSL-Zertifikats. Dies ist auf jeder Website mit SSL-Zertifikat obligatorisch, da es die Anmeldedaten des Administrators vor dem Abfangen schützt. WP_HOME und WP_SITEURL definieren die URL der Website und können bei der Migration einer Website an eine neue Adresse nützlich sein. Diese Konstanten haben Vorrang vor den Datenbankeinstellungen, was bedeutet, dass Sie sie für eine schnelle URL-Änderung ohne Zugriff auf das Admin-Panel verwenden können.
Cron und geplante Aufgaben
WordPress verwendet das wp-cron-System für geplante Aufgaben wie das Veröffentlichen geplanter Beiträge, die Prüfung auf Aktualisierungen und das Senden von E-Mail-Benachrichtigungen. Wp-cron wird bei jedem Besuch der Website ausgeführt, was nicht ideal für Websites mit niedrigem oder sehr hohem Traffic ist. DISABLE_WP_CRON auf true gesetzt deaktiviert dieses System und erfordert die Konfiguration eines System-Crons, der wp-cron.php in regelmäßigen Intervallen ausführt, normalerweise alle 5 oder 15 Minuten.
ALTERNATE_WP_CRON verwendet eine alternative Methode zum Auslösen geplanter Aufgaben, die in einigen Hosting-Umgebungen zuverlässiger ist. WP_CRON_LOCK_TIMEOUT definiert die Zeit in Sekunden, für die wp-cron gesperrt wird, um das gleichzeitige Ausführen mehrerer Instanzen zu verhindern. Bei BeoHosting unterstützen unsere Hosting-Pakete System-Cron, der zuverlässiger ist als das interne Cron-System von WordPress, und wir können es für Ihre Website konfigurieren.
Sicherheitskonstanten
Dateisystemschutz
DISALLOW_FILE_EDIT auf true gesetzt deaktiviert den integrierten Theme- und Plugin-Editor im Admin-Panel. Dies ist eine wichtige Sicherheitsmaßnahme, denn wenn ein Angreifer ein Administratorkonto kompromittiert, kann er den Editor nicht zum Einschleusen von bösartigem Code in Theme- oder Plugin-Dateien verwenden. DISALLOW_FILE_MODS geht einen Schritt weiter und deaktiviert die Installation und Aktualisierung von Themes und Plugins über das Admin-Panel und erzwingt, dass alle Änderungen über FTP oder SSH vorgenommen werden.
Das Verschieben von wp-config.php ein Verzeichnis über das Root der Website ist möglich, da WordPress die Datei automatisch im Parent-Verzeichnis sucht. Dies verhindert direkten Zugriff auf die Datei über den Webbrowser, falls PHP nicht mehr funktioniert und der Server PHP-Dateien als Text bereitstellt. Die Kombination dieser Maßnahmen mit korrekten Dateiberechtigungen 644 für wp-config.php oder sogar 440 auf Servern, auf denen der Webserver-Benutzer Zugriff hat, verbessert die Sicherheit erheblich.
Leistungsoptimierung
Caching und Komprimierung
WP_CACHE auf true gesetzt aktiviert den Mechanismus für erweiterte Cache-Plugins wie WP Super Cache oder W3 Total Cache. Diese Konstante ermöglicht das Laden der advanced-cache.php-Datei, die das Cache-Plugin zur Verarbeitung von Anfragen erstellt, bevor WordPress alle Plugins und das Theme lädt. Ohne diese Konstante können Cache-Plugins nicht optimal funktionieren. Die Inhaltskomprimierung mit define COMPRESS_CSS true und define COMPRESS_SCRIPTS true kann die Größe von CSS- und JavaScript-Dateien reduzieren.
Datenbank
SAVEQUERIES auf true gesetzt protokolliert alle Datenbankabfragen und die Ausführungszeit in der globalen Variable wpdb queries. Dies ist nützlich zur Diagnose einer langsamen Website, da Sie Abfragen identifizieren können, die zu lange dauern oder unnötig wiederholt werden. Lassen Sie dies niemals in der Produktion aktiviert, da das Speichern aller Abfragen im Speicher den Ressourcenverbrauch erhöht. Verwenden Sie es nur vorübergehend zur Leistungsanalyse in Kombination mit einem Plugin wie Query Monitor.
Fazit
Die Datei wp-config.php ist das Kontrollzentrum der WordPress-Installation, das das Verhalten der Website auf grundlegender Ebene definiert. Die richtige Konfiguration von Sicherheitsschlüsseln, Debug-Modus, Memory Limits und erweiterten Konstanten kann die Sicherheit, Leistung und Stabilität der Website erheblich verbessern. Überprüfen und aktualisieren Sie regelmäßig die Einstellungen entsprechend dem Wachstum der Website und Änderungen in der Infrastruktur. Bei BeoHosting kann unser Team bei der Optimierung der wp-config.php-Einstellungen für maximale Leistung auf unserer Hosting-Plattform helfen.
BeoHosting Team
10+ Jahre Erfahrung — Spezialisten für Webhosting und Infrastruktur
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Zuletzt aktualisiert: