Security 16 december 2025 8 min leestijd

wp-config.php Buiten Root Plaatsen: Ultieme Beveiliging

Een van de meest effectieve maar minst bekende WordPress security technieken: verplaats je wp-config.php buiten de webroot. Zo wordt dit cruciale bestand onbereikbaar voor aanvallers.

Thomas de Groot Security Expert bij wpts.nl
/home/user/ wp-config.php /httpdocs/ wp-admin/ wp-content/ wp-includes/ Verplaatsen Beveiligd Niet via browser bereikbaar
Let op: Maak altijd een backup van je volledige website voordat je wp-config.php verplaatst. Test na de verplaatsing grondig of je website nog correct functioneert.

Waarom wp-config.php verplaatsen?

Het wp-config.php bestand bevat de meest gevoelige informatie van je WordPress installatie: database credentials, authentication keys en security salts. Als een aanvaller dit bestand kan uitlezen, heeft hij volledige toegang tot je website.

Standaard staat wp-config.php in de webroot - de map die toegankelijk is via je browser (meestal httpdocs, public_html, of www). Dit betekent dat bij een misconfiguratie of kwetsbaarheid het bestand potentieel kan worden uitgelezen.

Voordelen van verplaatsen:

  • Onbereikbaar via browser: Het bestand kan niet worden opgevraagd via HTTP/HTTPS
  • Bescherming bij PHP-fouten: Als PHP faalt, wordt de broncode niet getoond
  • Extra beveiligingslaag: Zelfs bij .htaccess misconfiguratie blijft het veilig
  • Best practice: Aanbevolen door WordPress security experts

Hoe werkt dit technisch?

WordPress heeft een ingebouwde feature die automatisch zoekt naar wp-config.php in de map één niveau hoger dan de installatie. Dit is bewust zo ontworpen door het WordPress team voor precies dit beveiligingsdoel.

Wanneer WordPress opstart, voert het de volgende check uit:

WordPress Core Logic (vereenvoudigd)
// WordPress zoekt eerst in de huidige map
if ( file_exists( ABSPATH . 'wp-config.php' ) ) {
    require_once( ABSPATH . 'wp-config.php' );
}
// Als niet gevonden, zoek één map hoger
elseif ( file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) {
    require_once( dirname( ABSPATH ) . '/wp-config.php' );
}

Dit betekent dat je geen enkele code hoeft aan te passen - WordPress vindt het bestand automatisch.

Belangrijk: WordPress zoekt alleen één niveau hoger. Je kunt wp-config.php dus niet twee of meer mappen hoger plaatsen zonder aanvullende configuratie.

De mapstructuur begrijpen

Laten we eerst kijken naar de typische mapstructuur van een webhosting account:

Typische server mapstructuur
/home/gebruiker/               ← Je account root (NIET via browser bereikbaar)
├── wp-config.php              ← HIER plaatsen! Veilig!
├── httpdocs/                  ← Webroot (WEL via browser bereikbaar)
│   ├── wp-admin/
│   ├── wp-content/
│   ├── wp-includes/
│   ├── index.php
│   ├── wp-load.php
│   └── (andere WordPress bestanden)
├── logs/
└── tmp/

Verschillende webroot namen:

Afhankelijk van je hosting provider kan de webroot map anders heten:

  • httpdocs - Plesk
  • public_html - cPanel, DirectAdmin
  • www - Sommige hosting providers
  • web - Sommige VPS setups
  • html - Nginx standaard
Let op: Alles binnen de webroot map (httpdocs/public_html) is potentieel bereikbaar via de browser. Alles daarbuiten is alleen toegankelijk via FTP/SSH of door PHP scripts op de server.

Stap-voor-stap handleiding

Volg deze stappen om wp-config.php veilig te verplaatsen:

  1. 1
    Maak een backup

    Download een kopie van je huidige wp-config.php bestand via FTP of je hosting file manager.

  2. 2
    Verbind via FTP/SFTP

    Gebruik een FTP-client zoals FileZilla. Je hebt host, gebruikersnaam, wachtwoord en poort (21/22) nodig.

  3. 3
    Navigeer naar de map boven je webroot

    Ga naar de map boven httpdocs of public_html (bijvoorbeeld /home/gebruiker/).

  4. 4
    Verplaats wp-config.php

    Sleep het bestand van httpdocs/ naar de bovenliggende map. In FileZilla: rechts-klik → "Move to".

  5. 5
    Test je website

    Open je website en controleer: laadt de homepage? Kun je inloggen? Werken plugins?

  6. 6
    Verifieer de beveiliging

    Ga naar https://jouwsite.nl/wp-config.php - je zou een 404 error moeten krijgen.

Geen aanpassingen nodig! WordPress zoekt automatisch één map hoger als wp-config.php niet in de root staat. Je hoeft niets aan te passen.

Specifiek voor Plesk & cPanel

Plesk

In Plesk is de standaard mapstructuur:

Plesk mapstructuur
/var/www/vhosts/jouwdomein.nl/
├── wp-config.php              ← Verplaats hierheen
├── httpdocs/                  ← Je WordPress installatie
│   ├── wp-admin/
│   ├── wp-content/
│   └── ...
├── logs/
├── private/
└── statistics/

Gebruik de Plesk File Manager of FTP om wp-config.php van httpdocs/ naar de domein root te verplaatsen.

cPanel

In cPanel is de standaard mapstructuur:

cPanel mapstructuur
/home/gebruiker/
├── wp-config.php              ← Verplaats hierheen
├── public_html/               ← Je WordPress installatie
│   ├── wp-admin/
│   ├── wp-content/
│   └── ...
├── logs/
├── mail/
└── tmp/

Gebruik de cPanel File Manager: ga naar de home directory en verplaats wp-config.php uit public_html.

Veelgestelde Vragen

Website toont witte pagina of error na verplaatsen

Controleer deze punten:

  1. Staat wp-config.php exact één map hoger?
  2. Zijn de file permissions correct (644)?
  3. Is er geen tweede wp-config.php in httpdocs?

Herstel je backup als niets werkt.

"Error establishing database connection"

WordPress kan wp-config.php niet vinden of lezen:

  • Controleer of het bestand op de juiste plek staat
  • Controleer de file permissions
  • Controleer of de database gegevens correct zijn
WordPress staat in een submap (/blog/). Wat nu?

Verplaats wp-config.php naar de map erboven (bijvoorbeeld van /httpdocs/blog/ naar /httpdocs/). Let op: in dit geval is het bestand nog wel via de browser bereikbaar en moet je ook .htaccess bescherming toevoegen.

Werkt dit met alle hosting providers?

Ja, dit werkt met vrijwel alle hosting providers (Plesk, cPanel, DirectAdmin, etc.). Je hebt alleen FTP/SFTP toegang nodig tot de map boven je webroot.

Kan ik wp-config.php twee mappen hoger plaatsen?

Nee, WordPress zoekt alleen één niveau hoger. Voor meer niveaus is aanvullende configuratie nodig die we niet aanraden.

Blijft dit werken na WordPress updates?

Ja! Dit is een ingebouwde WordPress feature die al jaren bestaat. Updates veranderen dit gedrag niet.

Extra beveiligingstips

Naast het verplaatsen van wp-config.php zijn er nog meer maatregelen die je kunt nemen:

1. Correct file permissions instellen

Via SSH
# Striktere permissions voor wp-config.php
chmod 600 wp-config.php

# Of als dat problemen geeft:
chmod 640 wp-config.php

2. Extra .htaccess bescherming

Voor extra zekerheid (vooral als WordPress in een submap staat):

.htaccess
# Blokkeer directe toegang tot wp-config.php
<Files wp-config.php>
    Require all denied
</Files>

3. Database credentials roteren

Als je vermoedt dat wp-config.php ooit is uitgelezen, verander dan onmiddellijk:

  • Database wachtwoord
  • Alle Authentication Keys en Salts
  • Eventuele API keys in wp-config.php

Conclusie

Het verplaatsen van wp-config.php buiten de webroot is een van de meest effectieve beveiligingsmaatregelen die je kunt nemen. Het is eenvoudig uit te voeren, vereist geen code-aanpassingen, en maakt je gevoeligste configuratiebestand onbereikbaar voor aanvallers.

Gecombineerd met andere security maatregelen zoals .htaccess beveiliging en wp-config.php hardening, heb je een solide basis voor een veilige WordPress website.

Checklist:

Hulp nodig met WordPress beveiliging?

Onze experts helpen je graag met het implementeren van deze en andere beveiligingsmaatregelen.

Neem contact op
Deel dit artikel:

Gerelateerde artikelen

<?php wp-config
Security

WordPress wp-config.php Beveiliging

.htaccess Security
Security

WordPress .htaccess Beveiliging: 12 Regels

Security

SSL Certificaat Installeren: Stap-voor-Stap