wp-config.php basisinstellingen: bestand & geheugen, revisies — handleiding voor SSH, SFTP en cPanel

Affiliatemelding v3.1
Affiliatemelding v3.2 (mobiel)

Het bestand wp-config.php is het belangrijkste configuratiebestand van een WordPress-website. Het bevat de kerngegevens die WordPress nodig heeft om verbinding te maken met de database en te werken, en is daarmee het hart van de site.

Ⅰ. Wat wp-config.php doet

Dit bestand bevat de volgende gevoelige instellingen.

  • Gegevens voor de databaseverbinding
  • ↳ De gegevens die nodig zijn om verbinding te maken met de database waarin de WordPress-inhoud staat, zoals de naam van de MySQL- of MariaDB-database, de gebruikersnaam, het wachtwoord en de host.
  • Beveiligingssleutels en salts
  • ↳ Unieke, willekeurige tekenreeksen waarmee de inlogsessies en cookies van gebruikers worden versleuteld. Zonder deze sleutels kunnen sessies niet veilig blijven.
  • Andere kerninstellingen
  • ↳ Hier staan belangrijke constanten die bepalen hoe WordPress werkt, zoals het tabelvoorvoegsel, het in- of uitschakelen van de debugmodus en het uitschakelen van bestandsbewerking.
Het WordPress-bestand wp-config.php

Daarom is wp-config.php voor aanvallers van buitenaf het eerste doelwit. Staan de rechten verkeerd of raakt de inhoud openbaar, dan kan de hele database uitlekken of kunnen aanvallers de beheerrechten overnemen. Dat maakt het tot een ernstig beveiligingslek. De eerste stap om de beveiliging van WordPress te versterken, is dus dit bestand veilig houden.

1️⃣ Waar wp-config.php staat

wp-config.php staat in de hoofdmap van de WordPress-installatie, naast de mappen [wp-admin], [wp-content] en [wp-includes]. Bij cPanel-hosting is dat de map [public_html]; op mijn Lightsail-VPS staat het in [/home/uknew/www/wp-config.php].

Zie je het bestand niet in de hoofdmap, kijk dan één map hoger. WordPress zoekt wp-config.php eerst in de installatiemap en laadt het, als het daar niet staat, uit de map direct erboven.

2️⃣ wp-config.php openen

Ga in [Bestandsbeheer] van het beheerpaneel van je hosting naar de hoofdmap, klik met de rechtermuisknop op wp-config.php en kies [Edit]. Zo pas je het bestand direct in de browser aan, zonder extra programma.

Met een FTP-programma (FileZilla) download je het bestand naar je computer, bewerk je het in een editor en upload je het weer. Bewaar vóór het uploaden een kopie van het origineel, dan kun je meteen terug als er iets misgaat.

Op servers zoals een VPS, waarmee je verbinding maakt via SSH, start je de editor [vi] met het bestandspad erachter; [nano] opent het op dezelfde manier.

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

3️⃣ wp-config-sample.php en de basisstructuur

Een vers gedownload WordPress-pakket bevat geen wp-config.php, alleen [wp-config-sample.php] op dezelfde plek. Vul je op het installatiescherm de databasegegevens in, dan maakt WordPress op basis van dit bestand wp-config.php aan; zelf kopiëren en hernoemen geeft hetzelfde resultaat.

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 de vier regels [DB_NAME], [DB_USER], [DB_PASSWORD] en [DB_HOST] komen de databasegegevens van je hosting. Klopt er ook maar één waarde niet, dan krijg je in plaats van de site de foutmelding [Error establishing a database connection].

De acht regels van [AUTH_KEY] tot en met [NONCE_SALT] versleutelen de inlogcookies; haal een nieuwe set op bij [https://api.wordpress.org/secret-key/1.1/salt/] en vervang ze in één keer. Als je ze wijzigt, worden alle ingelogde gebruikers uitgelogd.

[$table_prefix] is het voorvoegsel voor de namen van databasetabellen, standaard [wp_], en houdt meerdere WordPress-installaties in één database uit elkaar. Zet je [WP_DEBUG] op [true], dan verschijnen PHP-fouten op het scherm; laat het op een live site dus op [false] staan.

Ⅱ. Basisinstellingen in wp-config.php na de installatie van WordPress

Alle instellingsregels komen boven de opmerking /* That’s all, stop editing! Happy publishing. */. Kies in de simulator hieronder hoe je verbinding maakt (SSH, cPanel of FTP) en open wp-config.php; de instelling die je links aanklikt, springt meteen naar haar regel.

⚙️ wp-config.php-instellingenInstellingensimulator
/* That’s all, stop editing! Happy publishing. */
Technisch gezien doet deze opmerking (/* That’s all, stop editing! Happy publishing. */) als PHP-code niets bijzonders. Het is gewoon commentaar.
user_a@server: ~
Last login: Mon Oct 5 14:10:02 2026 from 10.0.0.12
[user_a@server ~]$
Maar het WordPress-team heeft hem laten staan als ‘markering‘ voor gebruikers: “onder deze opmerking staat de kerncode die WordPress nodig heeft om te werken, dus niet aankomen”.
  1. Instellingsconstanten (define) erboven: De meeste constanten voor WordPress-instellingen (define) moeten /* That’s all, stop editing! Happy publishing. */ direct boven de opmerking worden gedefinieerd, zodat WordPress ze goed laadt terwijl het de instellingen initialiseert.
  2. Het laden van WordPress begint eronder: Onder deze opmerking staan de definitie van [ABSPATH] en de code [require_once( ABSPATH . ‘wp-settings.php’ );]. Zodra dit [wp-settings.php]-bestand wordt geladen, gaan de kernfuncties van WordPress echt draaien.
Wil je dus extra instellingen toevoegen (bijvoorbeeld bestandsbewerking uitschakelen met [define(‘DISALLOW_FILE_EDIT’, true);] of een geheugenlimiet instellen met [define(‘WP_MEMORY_LIMIT’, ‘256M’);]), schrijf ze dan vóór het laden van het kernbestand van WordPress, dus direct boven de opmerking, zodat ze zonder fouten worden toegepast.
In wp-config-sample.php staat direct boven de opmerking [stop editing] nog een opmerking: [Add any custom values between this line and the “stop editing” line.]. Je eigen instellingen zet je tussen deze twee opmerkingen.
WordPress-geheugeninstellingen
In WordPress-tutorials en de officiële documentatie zie je meestal [define(‘WP_MEMORY_LIMIT’, ‘256M’);] als enige regel staan.
Met de geheugeninstelling leg je vast hoeveel geheugen WordPress maximaal in PHP mag gebruiken, zodat er geen geheugenfouten (Fatal error: Allowed memory size exhausted) optreden terwijl thema's of plugins draaien. Voor een stabiele site die zijn middelen niet overschrijdt, is het dus een basisveiligheidsmaatregel.
‘WP_MAX_MEMORY_LIMIT’ is een instelling die de backend meer geheugen geeft dan de frontend.
WP_MEMORY_LIMIT is de “geheugenlimiet voor bezoekers van de site”,
WP_MAX_MEMORY_LIMIT is de “ruimere limiet voor beheer en interne taken”.
Pas als je beide instelt, heb je volledige controle over het WordPress-geheugen.
Is de waarde in wp-config.php hoger dan wat in php.ini of de PHP-FPM-pool van de server staat, dan geldt de serverinstelling.
Revisies beperken
Om het aantal revisies vast te leggen hoef je geen aparte plugin te installeren. Eén regel met de constante hieronder in wp-config.php geeft hetzelfde resultaat, en er blijven ook geen plugininstellingen in de database achter die je later moet opruimen.
WordPress-revisies stapelen eerdere versies van berichten steeds verder op, waardoor de website trager wordt. Vooral op sites zonder cache, maar ook op sites met cache terwijl je in het dashboard werkt — zeker bij het maken van berichten of pagina's — kunnen zelfs de pagina's voor bezoekers trager worden.
Gebruikt de server bijvoorbeeld zo'n 50% van zijn totale CPU, dan kunnen pagina's voor bezoekers trager worden, welke cacheplugin je ook gebruikt.
Daarom schakel je revisies uit of beperk je het aantal.
Gebruik je WP Rocket of Perfmatters, dan kun je dit ook in hun instellingen regelen. WP Rocket verwijdert met [Revisions] op het tabblad [Database] revisies die zich al hebben opgestapeld, maar heeft geen instelling om het aantal te beperken.
WP Rocket-scherm voor het opschonen van databaserevisies
Perfmatters stelt met [Limit Post Revisions] in hoeveel revisies er per bericht blijven en met [Autosave Interval] het interval voor automatisch opslaan.
Perfmatters-instelling voor het beperken van revisies
Interval voor automatisch opslaan aanpassen
WordPress slaat berichten standaard elke minuut automatisch op. Je kunt dat bijvoorbeeld verhogen van de standaard 60 seconden naar 5 minuten (300 seconden).
Heartbeat-instellingen
Voor Heartbeat bestaat geen constante in wp-config.php, dus via dit bestand kun je het niet regelen. Zet je de code hieronder in wp-config.php, dan draait die voordat WordPress de functie [add_action] laadt, en loopt de site vast met de fout [Call to undefined function add_action()].
De WordPress-‘Heartbeat’ is een signaal dat controleert of de server en de website nog verbonden zijn. De Heartbeat API gebruikt 
/wp-admin/admin-ajax.php om vanuit de browser AJAX-aanroepen te doen. In het WordPress-dashboard stuurt dit bestand elke 15 seconden een POST-verzoek.
Je kunt het zo instellen dat het alleen werkt op de schermen voor het schrijven van berichten, [post.php]·[post-new.php].
WP Rocket: op het tabblad [Heartbeat] kies je voor de backend, de berichteditor en de frontend telkens [Do not limit], [Reduce activity] of [Disable].
WP Rocket-scherm met Heartbeat-instellingen
Perfmatters stelt met [Disable Heartbeat] in op welke schermen Heartbeat mag draaien en met [Heartbeat Frequency] het interval tussen de verzoeken.
Perfmatters Heartbeat-instellingen
Heb je geen van beide plugins, installeer dan niet nog een plugin alleen voor Heartbeat. Plugins laten hun instellingen ook na het verwijderen in de database achter, dus zet je de code hieronder in de [functions.php] van je thema.
/** 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 instellingen
Globale instellingen is wp-config.php met alle instellingen uit dit artikel erin.
De twee geheugenregels, de limiet van 3 revisies en automatisch opslaan om de 300 seconden staan op volgorde boven de opmerking [stop editing].
Heartbeat staat niet in de globale instellingen, omdat het in wp-config.php een fout geeft.
Klik op het kopieericoon rechtsboven in het scherm om alleen de regels te kopiëren die je moet toevoegen.
Werkt alleen in je browser en verandert geen echt bestand. Kies bovenaan hoe je verbinding maakt en klik de chips op volgorde aan om wp-config.php te openen; de instelling die je links kiest, springt dan naar haar regel. In plaats van de chips kun je ook op de terminal klikken en de commando's en vi-toetsen zelf typen. De virtuele server bevat alleen de bestanden die dit artikel nodig heeft, en de cPanel- en FileZilla-schermen zijn vereenvoudigde tekeningen van de echte.

🔢 FAQ & aanbevolen content

Ontbreekt er in de regel die je net hebt opgeslagen een aanhalingsteken of puntkomma, dan kan PHP wp-config.php niet tot het einde lezen en opent de site niet. Zet het origineel terug dat je vóór het bewerken hebt bewaard en controleer daarna alleen de regels die je hebt gewijzigd.

Het artikel over wp-config.php-beveiliging raadt [600] aan, zodat alleen de eigenaar het bestand kan lezen en schrijven. Draait PHP op de server onder een ander account dan de eigenaar van het bestand, dan kan PHP het bij 600 niet lezen; controleer dus direct na de wijziging of de site nog opent.

Bij het activeren zet WP Rocket bovenaan het bestand de regel [define( ‘WP_CACHE’, true ); // Added by WP Rocket]; ook in mijn wp-config.php staat die op regel 2. Alleen met deze regel laadt WordPress het cachebestand [advanced-cache.php].

Is dezelfde constante hoger in het bestand al gedefinieerd, dan gebruikt PHP de eerst gedefinieerde waarde en laat het bij de latere regel alleen de waarschuwing [Constant WP_MEMORY_LIMIT already defined] achter. Doorzoek het hele bestand op de naam van de constante om regels te vinden die je hosting of een plugin heeft toegevoegd.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 8   +   2   =