Woordenlijst

Wat is WP-CLI? De WordPress-opdrachtregel uitgelegd

5 augustus 2026

WP-CLI is de officiële opdrachtregelinterface voor WordPress. In plaats van door wp-admin te klikken, typ je opdrachten in een terminal op de server: wp core update werkt WordPress bij, wp plugin update --all werkt elke plugin bij, wp db export maakt een back-up van de database, en wp search-replace wisselt een domein over de hele site zonder geserialiseerde data te beschadigen. Het project werd in 2011 gestart door Andrés Cifuentes en Cristi Burcă, wordt tegenwoordig onderhouden als officieel WordPress.org-project en is uitgegroeid tot het standaardgereedschap achter professioneel WordPress-onderhoud, hostingautomatisering en deploymentpijplijnen. De praktische verkooppitch is simpel: alles wat wp-admin doet, doet WP-CLI sneller, plus een lange lijst dingen die wp-admin helemaal niet kan, zoals corebestanden verifiëren tegen officiële checksums na een vermoedelijke hack, een site repareren waarvan het beheerscherm door een fatale fout onbereikbaar is, of hetzelfde onderhoudsscript over vijftig sites draaien voordat je koffie koud wordt.

Wat is WP-CLI en wie onderhoudt het?

WP-CLI is een PHP-applicatie die WordPress in de terminal laadt en de functionaliteit ervan als opdrachten aanbiedt. Omdat het de echte WordPress-installatie opstart, werkt het met je echte data, je geïnstalleerde plugins en je configuratie, niet met een simulatie daarvan. Het project woont op wp-cli.org en op GitHub, releases worden afgestemd op het WordPress-project, en het opdrachtenoverzicht in het WordPress developer handbook documenteert elke ingebouwde opdracht.

De eisen zijn bescheiden: SSH-toegang tot de server, PHP op de opdrachtregel en een UNIX-achtige omgeving (Linux, macOS of Windows via WSL). Die eerste eis is de enige echte poortwachter. Op shared hosting zonder SSH-toegang kun je WP-CLI niet gebruiken, terwijl de meeste managed WordPress-hosters het niet alleen toestaan maar ook voorinstalleren.

Hoe installeer je WP-CLI?

Voordat je iets installeert, controleer je of het er al staat. Op veel hosters beantwoordt wp --info in een SSH-sessie die vraag meteen. Zo niet, dan is de installatie een klusje van twee minuten, want WP-CLI wordt geleverd als één Phar-bestand:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# De installatie controleren
wp --info

Voor lokale ontwikkeling hoef je het zelden handmatig te installeren, want Local, DDEV, Lando en het officiële wp-env leveren WP-CLI allemaal mee. Eenmaal geïnstalleerd voer je opdrachten uit vanuit de hoofdmap van WordPress, of vanaf een willekeurige plek met de vlag --path die naar de installatie wijst.

Onmisbare WP-CLI-opdrachten voor dagelijks gebruik

De opdrachtstructuur is altijd wp, een onderwerp, een subopdracht en opties. Een rondleiding langs de opdrachten die het meeste echte onderhoud dragen:

# Core: controleren, bijwerken, verifiëren
wp core version
wp core update
wp core verify-checksums

# Plugins: opsommen, installeren, alles bijwerken
wp plugin list
wp plugin install wordpress-seo --activate
wp plugin update --all

# Themes werken op dezelfde manier
wp theme list
wp theme update --all

# Gebruikers: aanmaken, opsommen, wachtwoord resetten
wp user list
wp user create anna anna@example.com --role=editor
wp user update admin --user_pass="nieuw-sterk-wachtwoord"

# Database: exporteren voordat je iets aanraakt
wp db export backup-$(date +%F).sql
wp db size --human-readable

Twee details maken de list-opdrachten nuttiger dan ze eruitzien. Elke lijst accepteert filters en uitvoerformaten, dus wp plugin list --update=available --format=csv geeft je een machineleesbaar rapport van openstaande updates. En wp core verify-checksums vergelijkt elk corebestand met de officiële checksums van WordPress.org, waarmee de vage vraag heeft iemand mijn corebestanden aangepast in vijf seconden een ja of nee wordt. Het is een van de eerste opdrachten die de moeite waard is op elke site waarvan je vermoedt dat die is gecompromitteerd.

Search-replace: de opdracht die het opzetten terugverdient

De ene functie die de meeste sceptici overtuigt is wp search-replace. Een domein wijzigen, van staging naar productie verhuizen of overstappen op HTTPS vraagt telkens om het vervangen van URL's door de hele database heen. Dat met kale SQL doen sloopt WordPress, want themes, plugins en widgets slaan instellingen op als geserialiseerde PHP-data, waarbij elke string wordt voorafgegaan door zijn lengte. Vervang http door https in een geserialiseerde string via SQL en de opgeslagen lengte klopt niet meer, waardoor WordPress de hele instelling stilletjes weggooit. WP-CLI deserialiseert de data, vervangt de waarde, serialiseert opnieuw met kloppende lengtes en schrijft het terug:

# Eerst een dry run: laat zien wat er zou veranderen, verandert niets
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run

# De echte run, met een rapport per tabel
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --report-changed-only

De vlag --dry-run verdient een vaste plek in je spiergeheugen. Hij beantwoordt wat er zou gebeuren voordat er iets gebeurt, en dat is precies de bevestigingsstap die de rest van WP-CLI niet heeft.

WP-CLI voor onderhoud en probleemoplossing

Een handvol opdrachten lost problemen op die via de browser oprecht pijnlijk zijn:

  • Kapot beheerscherm na een update. Een fatale fout in een plugin kan je volledig uit wp-admin sluiten. wp plugin deactivate broken-plugin werkt dan alsnog, want WP-CLI heeft de beheerinterface niet nodig om te renderen.
  • Cron inspecteren. wp cron event list toont elke geplande taak met de volgende uitvoertijd, en wp cron event run --due-now voert achterstallige taken uit. De pseudo-cron van WordPress debuggen zonder dit is giswerk.
  • Transients opruimen. wp transient delete --expired verwijdert verlopen transients die de optionstabel op oudere sites opblazen.
  • Cache legen. wp cache flush leegt de objectcache, handig na een deployment wanneer Redis of Memcached verouderde data serveert.
  • Rewriteregels. wp rewrite flush verhelpt het klassieke 404-na-migratiesymptoom zonder dat je de instellingenpagina voor permalinks hoeft te bezoeken.

WordPress automatiseren met WP-CLI-scripts en aliassen

Omdat elke opdracht scriptbaar is, verandert WP-CLI terugkerend onderhoud van iets wat je moet onthouden in iets wat in een bestand staat. Een wekelijkse updateroutine wordt een kort shellscript: database exporteren, core, plugins en themes bijwerken, checksums verifiëren, klaar. Hetzelfde script draait vanuit een cronjob of een CI-pijplijn, en een lus over een lijst installatiepaden onderhoudt een hele portefeuille sites.

#!/bin/bash
# Minimaal wekelijks onderhoud voor één site
wp db export ~/backups/backup-$(date +%F).sql
wp core update
wp plugin update --all
wp theme update --all
wp core verify-checksums

Om over omgevingen heen te werken ondersteunt WP-CLI aliassen in een bestand wp-cli.yml. Definieer @staging en @production één keer met hun SSH-gegevens, en daarna draait wp @staging plugin list op afstand vanuit je lokale terminal. In combinatie met de vlag --ssh wordt de terminal op je laptop de regiekamer voor elke WordPress-site die je beheert.

Veiligheidstips voor WP-CLI

De efficiëntie snijdt aan twee kanten: opdrachten worden meteen uitgevoerd en er is geen ongedaan maken. Een paar gewoonten voorkomen dat het krachtige gereedschap een krachtig probleem wordt:

  • Exporteer vóór destructieve opdrachten. wp db export kost seconden en maakt van een ramp een ongemak. Opdrachten als db reset, site empty en search-replace verdienen er elke keer een.
  • Doe een dry run waar die wordt aangeboden. search-replace heeft --dry-run precies om deze reden.
  • Draai het niet als root. WP-CLI waarschuwt luidkeels, want een proces dat als root draait voert de PHP-code van de site uit met volledige systeemrechten en maakt bestanden aan waar de webservergebruiker niet bij kan. Draai het als dezelfde gebruiker als de site.
  • Eerst staging. Elke opdracht die je nooit eerder hebt gebruikt, verdient haar productiedebuut op een kopie.

WP-CLI en InspectWP: bevindingen erin, oplossingen eruit

Een InspectWP-rapport vertelt je wat er aandacht nodig heeft op een WordPress-site: een verouderde coreversie, plugins met openstaande updates of bekende kwetsbaarheden, themes die zijn achtergebleven. WP-CLI is de snelste manier om precies op die bevindingen te handelen, want wp core update en wp plugin update --all lossen het gros ervan binnen een minuut op, en wp core verify-checksums controleert de integriteit nog eens extra wanneer een rapport beveiligingszorgen opwerpt. Samen vormen ze een natuurlijke cyclus voor iedereen die beroepsmatig WordPress-sites onderhoudt: geplande InspectWP-rapporten brengen het werk boven water, een WP-CLI-sessie ruimt het op, en het volgende rapport bevestigt de oplossing.

Controleer nu uw WordPress-site

InspectWP analyseert uw WordPress-site op beveiligingsproblemen, SEO-problemen, GDPR-naleving en prestaties — gratis.

Analyseer uw site gratis