WordPress·2 min lezen

WordPress veilig updaten met WP-CLI (en automatisch terugdraaien)

Plugins, thema's en WordPress updaten via de terminal zonder je site te breken, met de juiste PHP-versie en automatische terugval per plugin.

Updates via het WordPress-dashboard zijn prima tot er iets misgaat. In de terminal heb je meer controle. Dit zijn de lessen uit het updaten van WordPress-sites op onze servers.

De snelle, veilige route

Op onze hosting staat een kant-en-klaar script:

wp-safe-update jouwsite.nl --dry-run   # eerst zien wat er bijgewerkt wordt
wp-safe-update jouwsite.nl             # uitvoeren

Het doet in volgorde:

  1. een volledige backup,
  2. plugins één voor één, met na elke plugin een check of de homepage nog werkt,
  3. gaat de site kapot na een plugin-update, dan zet het die plugin terug naar de vorige versie,
  4. thema's, daarna WordPress zelf plus de database-update,
  5. de cache legen en een eindcheck van homepage en loginpagina.

Claude gebruikt dit script ook als je vraagt om "update WordPress en alle plugins".

Zelf doen: vier valkuilen

1. De verkeerde PHP-versie

wp draait op de standaard-PHP van de server. Gebruikt je site een andere versie, dan update en controleer je op een andere PHP dan je bezoekers krijgen. Roep WP-CLI dan aan met de juiste versie:

/usr/local/php84/bin/php /usr/local/bin/wp --path=$HOME/domains/jouwsite.nl/public_html plugin list

2. Plugins die bij elke wp-aanroep iets doen

Sommige plugins en thema's printen meldingen of voeren zelfs acties uit bij elke WP-CLI-aanroep. Wij zagen een site die bij elk commando "Purged all caches successfully" teruggaf. Dat vervuilt je uitvoer en maakt scripts onbetrouwbaar.

Lees en update daarom zonder plugins en thema's te laden:

wp --skip-plugins --skip-themes plugin list --update=available
wp --skip-plugins --skip-themes plugin update contact-form-7

Alleen commando's van een plugin zelf (zoals wp litespeed-purge all) hebben de plugins nodig.

3. De "nieuwste" WordPress-versie

wp core check-update kan meerdere versies teruggeven, bijvoorbeeld een beveiligingsupdate binnen je huidige reeks én een nieuwe hoofdversie. Kijk welke je wilt voordat je wp core update draait.

4. Terugdraaien per plugin

Gaat het mis na een plugin-update, zet dan alleen die plugin terug:

wp plugin install naam-van-plugin --version=1.2.3 --force

Werkt de site dan nog niet: wp plugin deactivate naam-van-plugin, en daarna pas een volledige backup terugzetten.

Na afloop

  • Leeg de cache: wp litespeed-purge all (LiteSpeed Cache) of wp cache flush.
  • Controleer homepage en /wp-login.php: curl -s -o /dev/null -w '%{http_code}' https://jouwsite.nl/.
  • Twee sites met dezelfde database (zelfde DB_NAME en $table_prefix in wp-config.php) beïnvloeden elkaar. Controleer beide.
MK
Maarten Keizer

Oprichter van Invoker. Ruim twintig jaar hosting, systeembeheer en webdevelopment; bouwt de Claude-hosting zelf en test alles eerst op de eigen servers.

over maarten