wp-config.php: Grundeinstellungen für Datei & Speicherlimit, Revisionen – Anleitung für SSH, SFTP und cPanel

Affiliate-Hinweis v3.1
Affiliate-Hinweis v3.2 (mobil)

Die Datei wp-config.php ist die wichtigste Konfigurationsdatei einer WordPress-Website. Sie enthält die Kerninformationen, die WordPress braucht, um sich mit der Datenbank zu verbinden und zu arbeiten, und ist damit das Herzstück der Website.

Ⅰ. Aufgabe der wp-config.php

Diese Datei enthält folgende sensible Einstellungen.

  • Zugangsdaten zur Datenbank
  • ↳ Hier stehen die Angaben, die zum Verbinden mit der Datenbank nötig sind, in der WordPress seine Inhalte speichert, etwa Name, Benutzername, Passwort und Host der MySQL- oder MariaDB-Datenbank.
  • Sicherheitsschlüssel und Salts
  • ↳ Eindeutige Zufallszeichenketten, mit denen die Login-Sitzungen und Cookies der Nutzer verschlüsselt werden. Ohne diese Schlüssel lassen sich Sitzungen nicht sicher halten.
  • Weitere zentrale Einstellungen
  • ↳ Hier sind wichtige Konstanten definiert, die steuern, wie WordPress arbeitet, etwa das Tabellenpräfix, das Ein- und Ausschalten des Debug-Modus und das Deaktivieren der Dateibearbeitung.
WordPress-Datei wp-config.php

Deshalb ist die wp-config.php für Angreifer von außen das wichtigste Angriffsziel. Sind die Zugriffsrechte falsch gesetzt oder wird ihr Inhalt offengelegt, kann die gesamte Datenbank abfließen oder die Admin-Rechte der Website können verloren gehen – eine ernste Sicherheitslücke. Der erste Schritt zu mehr WordPress-Sicherheit ist deshalb, diese Datei abzusichern.

1️⃣ Wo die wp-config.php liegt

Die wp-config.php liegt im obersten Ordner der WordPress-Installation, neben den Ordnern [wp-admin], [wp-content] und [wp-includes]. Beim cPanel-Hosting ist das der Ordner [public_html]; diese Website legt sie auf einem Lightsail-VPS unter [/home/uknew/www/wp-config.php] ab.

Siehst du die Datei im obersten Ordner nicht, schau einen Ordner höher nach. WordPress sucht die wp-config.php zuerst im Installationsordner und lädt sie, wenn sie dort fehlt, aus dem Ordner direkt darüber.

2️⃣ So öffnest du die wp-config.php

Geh im [Dateimanager] deines Hosting-Panels in den obersten Ordner, klick mit der rechten Maustaste auf wp-config.php und wähle [Edit]. So bearbeitest du die Datei direkt im Browser, ohne zusätzliches Programm.

Per FTP-Programm (FileZilla): Du lädst die Datei auf deinen Computer herunter, bearbeitest sie im Editor und lädst sie wieder hoch. Sicherst du vor dem Hochladen eine Kopie des Originals, kannst du bei einem Fehler sofort zurück.

Auf Servern wie einem VPS verbindest du dich per SSH: Starte den Editor [vi] mit dem Dateipfad dahinter; [nano] öffnest du auf dieselbe Weise.

vi /home/uknew/www/wp-config.php

3️⃣ wp-config-sample.php und der Grundaufbau

Ein frisch heruntergeladenes WordPress-Paket enthält keine wp-config.php, sondern an derselben Stelle nur [wp-config-sample.php]. Gibst du im Installationsbildschirm deine Datenbankdaten ein, erstellt WordPress daraus die wp-config.php; kopierst du die Datei selbst und benennst sie um, kommt dasselbe heraus.

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

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' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

In die vier Zeilen [DB_NAME], [DB_USER], [DB_PASSWORD] und [DB_HOST] kommen die Datenbankdaten von deinem Hoster. Ist auch nur ein Wert falsch, erscheint statt der Website die Meldung [Error establishing a database connection].

Die acht Zeilen von [AUTH_KEY] bis [NONCE_SALT] verschlüsseln die Login-Cookies; hol dir unter [https://api.wordpress.org/secret-key/1.1/salt/] einen neuen Satz und ersetze sie komplett. Änderst du die Werte, werden alle angemeldeten Nutzer abgemeldet.

[$table_prefix] ist das Präfix vor den Namen der Datenbanktabellen, standardmäßig [wp_], und hält mehrere WordPress-Installationen in einer Datenbank auseinander. Setzt du [WP_DEBUG] auf [true], erscheinen PHP-Fehler, die sonst verborgen bleiben, direkt auf dem Bildschirm; auf einer Live-Website lässt du ihn deshalb auf [false].

Ⅱ. Grundeinstellungen in der wp-config.php nach der WordPress-Installation

Alle Einstellungszeilen kommen über den Kommentar /* That’s all, stop editing! Happy publishing. */. Wähle im Simulator unten, wie du dich verbindest (SSH, cPanel oder FTP), und öffne die wp-config.php; die Einstellung, die du links anklickst, springt direkt zu ihrer Zeile.

⚙️ Einstellungen in der wp-config.phpEinstellungs-Simulator
/* That’s all, stop editing! Happy publishing. */
Technisch gesehen tut dieser Kommentar (/* That’s all, stop editing! Happy publishing. */) als PHP-Code nichts Besonderes. Er ist einfach ein Kommentar.
user_a@server: ~
Last login: Mon Oct 5 14:10:02 2026 from 10.0.0.12
[user_a@server ~]$
Das WordPress-Team hat ihn aber als ‘Markierung‘ hinterlassen, die den Nutzern sagt: „Unter diesem Kommentar steht der Kerncode, den WordPress zum Laufen braucht, also nicht anfassen.“
  1. Einstellungskonstanten (define) gehören nach oben: Die meisten Konstanten für WordPress-Einstellungen (define) müssen /* That’s all, stop editing! Happy publishing. */ direkt über dem Kommentar definiert werden, damit WordPress sie beim Initialisieren der Einstellungen korrekt lädt.
  2. Darunter beginnt das Laden von WordPress: Unter diesem Kommentar stehen die Definition von [ABSPATH] und der Code [require_once( ABSPATH . ‘wp-settings.php’ );]. Sobald diese [wp-settings.php]-Datei geladen wird, laufen die Kernfunktionen von WordPress tatsächlich an.
Wenn du also zusätzliche Einstellungen vornimmst (zum Beispiel die Dateibearbeitung abschalten mit [define(‘DISALLOW_FILE_EDIT’, true);] oder das Speicherlimit setzen mit [define(‘WP_MEMORY_LIMIT’, ‘256M’);]), schreib sie vor dem Laden der WordPress-Kerndateien, also direkt über den Kommentar, dann greifen sie ohne Fehler.
Die wp-config-sample.php hat direkt über dem Kommentar [stop editing] noch eine Kommentarzeile, [Add any custom values between this line and the “stop editing” line.]; eigene Einstellungen kommen zwischen diese beiden Kommentare.
Speichereinstellungen für WordPress
In den meisten WordPress-Tutorials und auch in der offiziellen Dokumentation steht nur [define(‘WP_MEMORY_LIMIT’, ‘256M’);].
Die Speichereinstellung legt fest, wie viel Speicher WordPress in PHP höchstens nutzen darf, damit beim Ausführen von Themes oder Plugins kein Speicherfehler (Fatal error: Allowed memory size exhausted) auftritt. Für eine stabile Website, die ihre Ressourcen nicht überschreitet, ist sie also eine grundlegende Schutzmaßnahme.
‘WP_MAX_MEMORY_LIMIT’ ist eine Einstellung, die dem Backend mehr Speicher erlaubt als dem Frontend.
WP_MEMORY_LIMIT ist das „Speicherlimit für Website-Besucher“,
WP_MAX_MEMORY_LIMIT das „erweiterte Limit für Admin und interne Abläufe“.
Erst wenn du beide setzt, hast du volle Kontrolle über den WordPress-Speicher.
Ist der Wert in der wp-config.php höher als die Einstellung in php.ini oder im PHP-FPM-Pool des Servers, gilt die Servereinstellung.
Revisionen begrenzen
Um die Zahl der Revisionen festzulegen, brauchst du kein eigenes Plugin. Eine Konstante in der wp-config.php erledigt dasselbe, und es bleiben keine Plugin-Einstellungen in der Datenbank zurück, die du später aufräumen müsstest.
Bei WordPress-Revisionen sammeln sich frühere Fassungen jedes Beitrags immer weiter an, und das verlangsamt die Website. Auf Websites ohne Cache, aber auch mit Cache, während du im Dashboard arbeitest, vor allem beim Schreiben von Beiträgen oder Seiten, können sogar die Seiten für Besucher langsamer werden.
Nutzt der Server zum Beispiel rund 50 % seiner gesamten CPU, können Besucherseiten langsamer werden, egal welches Cache-Plugin du einsetzt.
Deshalb schaltest du Revisionen ab oder begrenzt ihre Anzahl.
Wenn du WP Rocket oder Perfmatters nutzt, kannst du das auch in deren Einstellungen regeln. WP Rocket: Unter [Revisions] im Tab [Database] löschst du bereits angesammelte Revisionen; eine Einstellung, die ihre Anzahl begrenzt, gibt es nicht.
WP Rocket: Bereinigung der Datenbank-Revisionen
Perfmatters: Unter [Limit Post Revisions] legst du fest, wie viele Revisionen pro Beitrag bleiben, unter [Autosave Interval] das Intervall für das automatische Speichern.
Perfmatters: Einstellung zur Begrenzung von Revisionen
Intervall für automatisches Speichern anpassen
WordPress speichert Beiträge standardmäßig jede Minute automatisch. Du kannst das zum Beispiel von 60 Sekunden auf 5 Minuten (300 Sekunden) erhöhen.
Heartbeat-Einstellungen
Für Heartbeat gibt es keine Konstante in der wp-config.php, über diese Datei lässt es sich also nicht steuern. Setzt du den Code unten in die wp-config.php, läuft er, bevor WordPress die Funktion [add_action] lädt, und die Website bricht mit dem Fehler [Call to undefined function add_action()] ab.
Der WordPress-„Heartbeat“ ist ein Signal, das prüft, ob Server und Website noch verbunden sind. Die Heartbeat API nutzt 
/wp-admin/admin-ajax.php, um AJAX-Aufrufe aus dem Browser auszuführen. Im WordPress-Dashboard schickt sie darüber alle 15 Sekunden eine POST-Anfrage.
Du kannst es auf die Editor-Ansichten im Backend beschränken, also [post.php]·[post-new.php].
WP Rocket: Wähle im Tab [Heartbeat] für Backend, Beitragseditor und Frontend jeweils [Do not limit], [Reduce activity] oder [Disable].
WP Rocket: Heartbeat-Einstellungen
Perfmatters: Unter [Disable Heartbeat] legst du fest, auf welchen Ansichten Heartbeat erlaubt ist, unter [Heartbeat Frequency] das Intervall der Anfragen.
Perfmatters: Heartbeat-Einstellungen
Nutzt du keines der beiden Plugins, installiere nicht extra eins nur für Heartbeat. Plugins hinterlassen ihre Einstellungen auch nach dem Löschen in der Datenbank, also setz den Code unten in die [functions.php] deines Themes.
/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
    global $pagenow;
    if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
        wp_deregister_script('heartbeat');
    }
}, 1);
Globale Einstellungen
Die globalen Einstellungen sind eine wp-config.php mit allen Einstellungen aus diesem Beitrag.
Die zwei Speicherzeilen, das Limit von 3 Revisionen und das automatische Speichern alle 300 Sekunden stehen der Reihe nach über dem Kommentar [stop editing].
Heartbeat fehlt in den globalen Einstellungen, weil es in der wp-config.php einen Fehler auslöst.
Mit dem Kopier-Symbol oben rechts im Fenster kopierst du nur die Zeilen, die hinzukommen.
Läuft nur in deinem Browser und ändert keine echte Datei. Wähle oben, wie du dich verbindest, und drück die Chips der Reihe nach, um die wp-config.php zu öffnen; die Einstellung, die du links anklickst, springt dann zu ihrer Zeile. Statt der Chips kannst du auch ins Terminal klicken und die Befehle und vi-Tasten selbst eingeben. Der virtuelle Server enthält nur die Dateien, die dieser Beitrag braucht, und die Ansichten von cPanel und FileZilla sind vereinfachte Zeichnungen der echten.

🔢 FAQ & empfohlene Inhalte

Fehlt in der gerade gespeicherten Zeile ein Anführungszeichen oder ein Semikolon, kann PHP die wp-config.php nicht bis zum Ende lesen, und die Website lädt nicht. Stell das Original wieder her, das du vor dem Bearbeiten gesichert hast, und prüf dann nur die geänderten Zeilen.

Artikel zur Sicherheit der wp-config.php: Dort wird [600] empfohlen, also Lesen und Schreiben nur für den Eigentümer. Läuft PHP auf dem Server unter einem anderen Konto als dem Dateieigentümer, kann PHP die Datei bei 600 nicht lesen; prüf nach der Änderung also sofort, ob die Website noch lädt.

Beim Aktivieren fügt WP Rocket ganz oben in die Datei die Zeile [define( ‘WP_CACHE’, true ); // Added by WP Rocket] ein; auch in der wp-config.php dieser Website steht sie in Zeile 2. Nur mit dieser Zeile lädt WordPress die Cache-Datei [advanced-cache.php].

Ist dieselbe Konstante weiter oben in der Datei schon definiert, behält PHP den ersten Wert und hinterlässt für die spätere Zeile nur die Warnung [Constant WP_MEMORY_LIMIT already defined]. Durchsuche die ganze Datei nach dem Konstantennamen, um Zeilen zu finden, die dein Hoster oder ein Plugin eingefügt hat.

ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Beweisen Sie, dass Sie ein Mensch sind: 9   +   5   =