Veelvoorkomende fouten

Fouten na een CMS-update: van vastgelopen update tot incompatibel thema

Fouten na een CMS-update: van vastgelopen update tot incompatibel thema
Foto: BinaryApe — CC BY 2.0 · Flickr

Dit is iets anders dan een pluginconflict

Waar problemen na een pluginupdate meestal draaien om één specifieke uitbreiding die niet meer past, gaat het bij een mislukte CMS-update om het fundament zelf: de WordPress-kern die halverwege vastloopt, of een update die wel voltooit maar niet meer overeenkomt met de rest van de site. Dat maakt de symptomen breder en soms hardnekkiger: de melding 'Bijwerken mislukt' of 'Er wordt momenteel een update uitgevoerd', een volledig onbereikbare site, of een reeks kleinere fouten verspreid over meerdere onderdelen tegelijk.

Oorzaak 1: de update loopt vast door een serverstoring

Bij gedeelde hosting kan een automatische update door een tijdelijke serverstoring of timeout halverwege stoppen. WordPress laat dan een vergrendeling (`core_updater.lock`) in de database achter om te voorkomen dat de update dubbel start, maar die vergrendeling wordt daarna niet altijd automatisch opgeruimd. Het gevolg is dat u de melding 'er wordt momenteel bijgewerkt' blijft zien, ook uren later. De oplossing is deze verouderde vergrendelingsregel handmatig te verwijderen uit de database (via de `wp_options`-tabel), waarna u de update opnieuw kunt starten.

Oorzaak 2: onvoldoende geheugen tijdens de update

Een update die halverwege blijft hangen kan ook simpelweg te weinig PHP-geheugen tot zijn beschikking hebben gehad. Verhoog de limiet in `wp-config.php`:

``` define('WP_MEMORY_LIMIT', '256M'); ```

en probeer de update daarna opnieuw. Blijft dit zich herhalen, dan is dat een signaal dat uw hostingpakket krap bemeten is voor de rest van uw site, en is het verstandig om met uw hostingprovider te bespreken of een pakket met meer geheugen nodig is.

Oorzaak 3: thema of plugin niet compatibel met de nieuwe kernversie

Soms voltooit de update wél, maar blijkt achteraf dat een specifiek thema een niet-standaard manier gebruikte om sjabloonbestanden te laden — een patroon dat bij een eerdere WordPress-kernversie nog werkte, maar na de update tot een wit scherm aan de voorkant leidde bij een aantal premium thema's. Dit soort compatibiliteitsproblemen wordt doorgaans snel met een hotfix-release verholpen, maar tot die tijd blijft uw site stuk. Controleer daarom na elke kernupdate of het thema en de belangrijkste plugins een update hebben die specifiek compatibiliteit met de nieuwe versie vermeldt, voordat u ervan uitgaat dat alles verder naar behoren werkt.

Groot verschil tussen kleine en grote kernupdates

Niet elke WordPress-update draagt hetzelfde risico. Kleine onderhoudsupdates (bijvoorbeeld van 6.9.1 naar 6.9.2) bevatten doorgaans alleen beveiligings- en bugfixes en verlopen zelden problematisch. Grote versie-updates daarentegen kunnen dieperliggende wijzigingen bevatten in hoe thema's en plugins met de kern communiceren, met een groter risico op compatibiliteitsproblemen. Behandel een grote update daarom nooit als routine: lees vooraf de changelog, controleer of uw belangrijkste plugins al aangeven compatibel te zijn, en plan de update op een moment waarop u tijd heeft om eventuele problemen direct op te lossen, niet vlak voor het weekend of een drukke periode.

Vergeet eigen aanpassingen niet te controleren

Heeft u ooit zelf een stukje code toegevoegd, bijvoorbeeld via een 'functions'-bestand of een snippet-plugin, dan verdient dit na een grote kernupdate aparte aandacht. Zulke aanpassingen worden zelden automatisch getest tegen nieuwe WordPress-versies, terwijl ze wel kunnen leunen op functies die in een nieuwere versie zijn gewijzigd of afgeschaft. Controleer na een update daarom niet alleen of de site er goed uitziet, maar ook of eerder toegevoegde functionaliteit (een aangepast formulier, een speciale weergave, een koppeling met een extern systeem) nog werkt zoals bedoeld.

De beste bescherming: testen vóór livegang

Een volledige back-up vlak vóór de update, getest op een staging-omgeving, blijft de meest betrouwbare manier om dit soort problemen zonder stress op te lossen: gaat er iets mis, dan zet u simpelweg de vorige versie terug in plaats van onder tijdsdruk te moeten uitzoeken wat er stuk is. Zie backups controleren voor hoe u dit inricht. Voor sites waar dit risico niet acceptabel is, kan Websitechecken kernupdates begeleiden en, mocht er toch iets misgaan, de site binnen korte tijd herstellen.

Veelgestelde vragen

Hoe weet ik of mijn update is vastgelopen door een vergrendeling in de database?
Herkenbaar aan de melding dat er 'momenteel wordt bijgewerkt', ook als dat allang niet meer zo is. Dit wijst op een achtergebleven core_updater.lock-regel in de database.
Moet ik altijd wachten op een hotfix bij een thema-incompatibiliteit?
Niet per se. Vaak kunt u tijdelijk overschakelen naar een standaardthema om de site weer online te krijgen, en teruggaan naar uw eigen thema zodra de compatibiliteitsfix beschikbaar is.
Is het risicovoller om een grote versie-update over te slaan en later in één keer te doen?
Ja. Hoe verder u achterloopt, hoe groter de kans dat meerdere wijzigingen tegelijk samenkomen, wat het lastiger maakt om een probleem tot één specifieke oorzaak te herleiden. Regelmatig kleinere updates zijn doorgaans voorspelbaarder dan een grote inhaalslag.