In een perfecte wereld zou je nooit problemen hebben met je WordPress site en is ‘debuggen’ een onbestaand woord. Maar in de echte wereld loop je vrijwel zeker wel eens tegen problemen aan met je WordPress site en is het soms nodig om onder de motorkap te kijken.

Gelukkig is WordPress wat dit betreft een waardevolle partner, niet alleen dankzij de ingebouwde debug modus (foutopsporingsmodus), maar ook dankzij de vele externe hulpmiddelen die je kan aanwenden om fouten op te sporen in WordPress.

In dit artikel zullen we ingaan op de ingebouwde WordPress debug modus en hoe je deze kan inschakelen. Vervolgens zullen we ook een aantal manieren met je delen waarop je je WordPress site kan debuggen.

In dit artikel behandelen we het volgende:

Wat doet WP debug?

De software van de WordPress kern is geschreven in PHP, net als de plugins en thema’s.

Als je problemen ondervindt met je site, dan kan de WordPress debug modus je helpen om erachter te komen wat er misgaat. Dit doet het door alle PHP fouten, meldingen en waarschuwingen weer te geven.

Zodra je de debug modus hebt ingeschakeld, krijg je bij problemen een bericht te zien als hieronder (zelfs als het niet direct voor een acuut probleem zorgt):

WP_DEBUG voorbeeld van fout op WordPress site
WP_DEBUG voorbeeld van fout op WordPress site

Vervolgens kan je het probleem zelf oplossen, het doorgeven aan je developer of de maker van het thema/de plugin in kwestie benaderen.

Wat is de WordPress debug log?

Wanneer je de WordPress debug modus inschakelt, zie je op je site realtime berichten (zoals bovenstaand) – maar de berichten zelf worden nergens opgeslagen.

Als je ze wil opslaan, moet je de de WordPress debug log inschakelen. Hiermee sla je alle berichten en fouten op naar een bestand op je server.

Je kan deze inschakelen door de WP_DEBUG_LOG constante in te stellen op “true”. Vervolgens slaat WordPress alle problemen op in het volgende bestand:

wp-content/debug.log

Je kan echter ook een ander bestand/map op een andere serverlocatie kiezen om logs naartoe te schrijven.

Als je wel alle meldingen wil opslaan in de log, maar deze niet op een openbare HTML pagina wil laten zien (zoals in het voorbeeld hierboven), kan je de WP_DEBUG_DISPLAY constante gebruiken om de debug modus ingeschakeld te houden, maar de berichten niet op je site weer te geven.

In de meeste gevallen wil je WP_DEBUG_DISPLAY combineren met WP_DEBUG_LOG.

Hoe schakel je WordPress debug modus in

Er zijn een aantal manieren om WordPress debug modus in te schakelen. Wij behandelen er drie:

Hoe schakel je WordPress debug modus in binnen MyKinsta

Als je je WordPress site host bij Kinsta, dan heb je geluk. Wij hebben namelijk een tool gebouwd die het je enorm makkelijk maakt om de WordPress debug modus in te schakelen – en zonder je wp-config.php bestand te hoeven wijzigen.

Deze tool is handig om snel de debug modus in te schakelen en de berichten op je site te laten zien, maar je hebt geen controle over de WordPress debug log of dat je berichten op live pagina’s wil weergeven of niet. Als je alleen de debug log wil gebruiken, dan geef je misschien de voorkeur aan de pluginmethode van de volgende sectie.

Om te beginnen:

  • Open je MyKinsta dashboard.
  • Selecteer in de Websites lijst de site waar je de debugging wil inschakelen.
  • Ga naar het Tools tabblad in het dashboard van de site.
  • Klik op Inschakelen onder WordPress debugging.
Hoe schakel je WordPress debug modus in in MyKinsta
Hoe schakel je WordPress debug modus in in MyKinsta

Je kan de tool gebruiken in zowel live als staging omgevingen. Waar mogelijk raden we aan om het in je staging omgeving te gebruiken. Het inschakelen van de WordPress debug modus kan details over de PHP code van je site weergeven aan bezoekers (wat niet alleen voor verwarring kan zorgen, maar het is ook een potentieel veiligheidsrisico).

Als je klaar bent, kan je de debug modus uitschakelen door in je Kinsta dashboard op de Uitschakelen knop te klikken:

Hoe schakel je de WordPress debug modus uit in MyKinsta
Hoe schakel je de WordPress debug modus uit in MyKinsta

Hoe gebruik je een WordPress debug plugin

Als je je site niet bij Kinsta host, dan zijn er gratis WordPress debugplugins te vinden die het je makkelijk maken om de debug modus in te schakelen. Op WordPress.org vind je verschillende opties, maar wij raden de gratis WP Debugging plugin van Andy Fragen aan.

WP Debugging WordPress plugin
WP Debugging WordPress plugin

Zodra je de plugin hebt geïnstalleerd en geactiveerd, begint deze meteen te werken. Standaard zet het de volgende constanten op true (dat wil zeggen, het schakelt de volgende functies in):

  • WP_DEBUG – schakelt debug modus in.
  • WP_DEBUG_LOG – slaat berichten op in een logbestand.
  • SCRIPT_DEBUG
  • SAVEQUERIES

Verderop in dit artikel leggen we uit wat deze laatste twee constanten doen.

Om de instellingen van de plugin te wijzigen, ga je naar Gereedschap WP Debugging:

Instellingen van de plugin WP Debugging
Instellingen van de plugin WP Debugging

Zorg wel dat je de plugin uitschakelt wanneer je klaar bent om de debug modus weer uit te schakelen.

Hoe schakel je handmatig WordPress debug modus in

Ten slotte kan je ook zelf de WordPress debug modus inschakelen door handmatig de constanten toe te voegen aan je wp-config.php bestand.

Maak om te beginnen verbinding met je server via FTP en bewerkt het wp-config.php bestand. Normaal gesproken zou je dit bestand vinden in de rootmap van je site (tenzij je deze om veiligheidsredenen hebt verplaatst).

Om alleen de standaard WordPress debug modus aan te zetten, voeg je het volgende codefragment toe boven de regel die zegt: /* That’s all, stop editing! Happy blogging. */:

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

Afhankelijk van je voorkeuren kan je ook enkele van de volgende constanten gebruiken:

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Als je klaar bent met het debuggen, kan je de debug modus uitzetten door de constanten op false zetten of gewoon de code te verwijderen.

Zorg dat je de WordPress debug modus uitschakelt als je klaar bent

De debug modus is bijzonder handig om problemen met WordPress op te lossen, maar je moet het niet 24/7 ingeschakeld laten, omdat het stukken van de PHP code van je site aan bezoekers kan laten zien.

We gaven het eerder ook al aan – maar dit is nogmaals een herinnering om altijd de debug modus uit te schakelen wanneer je klaar bent met het opsporen van fouten.

Andere manieren om WordPress te debuggen

Naast de ingebouwde debug tool die we hierboven hebben besproken, zijn er ook een aantal ingebouwde én externe tools die je kunnen helpen bij het debuggen van je WordPress site.

Script debug

SCRIPT_DEBUG is een andere ingebouwde constante die WordPress dwingt om de dev-versies van de kern CSS– en JavaScript bestanden te gebruiken in plaats van de geminificeerde versies die het gewoonlijk laadt.

Dit kan van pas komen als je wijzigingen aan de ingebouwde .js of .css bestanden wil testen.

Om SCRIPT_DEBUG in te schakelen, kan je:

  • De eerder besproken plugin WP Debugging gebruiken, die deze standaard inschakelt.
  • De volgende constante toevoegen aan je wp-config.php bestand – define( 'SCRIPT_DEBUG', true );

Debuggen van databasequery’s

Als je problemen ondervindt met de database van je site, dan kan je de logboekregistratie van databasequery’s inschakelen met de constante SAVEQUERIES. Hiermee kan je het volgende tracken:

  • Elke databasequery.
  • De functie die de databasequery heeft opgevraagd.
  • Hoelang de query duurde.

Om query-logging in te schakelen kan je:

  • De eerder besproken plugin WP Debugging gebruiken, die deze standaard inschakelt.
  • De volgende constante toevoegen aan je wp-config.php bestand – define( 'SAVEQUERIES', true );

Opmerking: dit heeft invloed op de prestaties van je site. Probeer dit dus waar mogelijk te doen op een staging site en schakel de functie weer uit als je klaar bent.

Query Monitor plugin

De Query Monitor plugin is een gratis plugin die met name handig is voor het debuggen van specifieke gebieden in WordPress, waaronder:

Het is een van de beste WordPress debug tools die je kan vinden en daarom heeft het een bijna perfecte 5-sterrenbeoordeling uit meer dan 320 beoordelingen.

Zodra je de plugin hebt geïnstalleerd en geactiveerd, krijg je een aantal nieuwe opties met debug informatie te zien in de WordPress toolbar. Als je hierop klikt, openen deze opties een nieuwe Query Monitor box die je meer informatie geeft:

De Query Monitor plugin
De Query Monitor plugin

Als je meer over de plugin wil weten: we hebben een heel artikel gewijd aan hoe je de Query Monitor plugin gebruikt.

New Relic

New Relic is een premium tool voor het analyseren en debuggen van de performance van je site. Het kan je helpen om knelpunten en problemen te ontdekken die de prestaties van je site beïnvloeden.

Kinsta bevat de ingebouwde APM tool. Je kunt echter nog steeds New Relic gebruiken in het MyKinsa dashboard, mits je een eigen licentie hebt.

Serverlogs

Je serverlogs kunnen ook een handig hulpmiddel zijn bij het debuggen van WordPress.

Als je je site host bij Kinsta, kan je al je serverlogs inzien in het Logs tabblad in het dashboard van je site:

De serverlogs bekijken in MyKinsta dashboard
De serverlogs bekijken in MyKinsta dashboard

Als je je site ergens anders host, raadpleeg dan de documentatie van de host om te zien hoe en waar je toegang krijgt tot je serverlogs.

Samenvatting

Als je WordPress moet debuggen, dan is de ingebouwde WordPress debug modus een betrouwbare en handige kompaan om PHP fouten en meldingen in te zien.

Als je je site bij Kinsta host, dan kan je deze functie rechtstreeks vanuit je dashboard inschakelen. In andere gevallen kan je dit doen met een plugin of door zelf codefragmenten aan het wp-config.php bestand van je site toe te voegen.

Voor meer hulp kun je ook andere ingebouwde tools of externe tools gebruiken, zoals New Relic (je eigen licentie is vereist) en de gratis Query Monitor plugin.

Heb je vragen over het debuggen van WordPress? Laat een reactie achter en laat het ons weten!

Jon Penland

Jon is the Chief Operating Officer at Kinsta and is involved with Kinsta's sales, customer service, and technical support teams on a daily basis. Jon's a family man. So when he isn't feverishly tapping the keys of his laptop he's usually helping one of his kids fix a bike or setting up Netflix for an impatient preschooler.