Ga naar hoofdinhoud

Waarom verschijnen niet alle productvariaties in WooCommerce?

Wanneer je grote variabele producten (producten met tientallen of honderden variaties) synchroniseert naar WooCommerce, kan het voorkomen dat sommige variaties ontbreken. Je verstuurt bijvoorbeeld 200 variaties, maar ziet er slechts 7 terug in WooCommerce.

De oorzaak: serverlimieten

Dit probleem wordt zelden veroorzaakt door een bug in de code. Meestal komt het doordat de WooCommerce REST API wordt onderbroken door limieten van de webserver of PHP. Een grote JSON-payload (met honderden variaties) kan al snel enkele megabytes groot worden. Als de server halverwege een limiet bereikt, kan de data worden afgekapt of kan er een time-out optreden, waardoor WordPress slechts een deel van de variaties verwerkt.

Serverconfiguratie om te controleren

Om dit op te lossen, verhoog jij of je hostingprovider de volgende PHP- en serverlimieten:

1. POST-datalimieten

  • post_max_size: Verhoog dit naar minimaal 32M of 64M. Is dit te laag, dan wijst de server de grote JSON-payload volledig af.
  • upload_max_filesize: Dit is primair bedoeld voor bestanden, maar sommige serverconfiguraties gebruiken dit ook om POST-requests te beperken.

2. Limieten voor invoervariabelen

  • max_input_vars: Dit is een veelvoorkomende boosdoener. Grote WooCommerce-producten bevatten veel variabelen. Verhoog dit naar 5000 of hoger.
  • max_input_nesting_level: Zorg dat dit minimaal 64 is.

3. Time-outs

  • max_execution_time: Het synchronisatieproces van StoreLinkr verwerkt zware data. Verhoog dit naar 120 seconden (2 minuten) om te voorkomen dat het script te vroeg wordt afgebroken.

4. PHP-geheugen

  • memory_limit: Zorg dat PHP genoeg geheugen heeft om de grote JSON-objecten te decoderen en verwerken. We raden minimaal 256M of 512M aan voor grote catalogi.

Zo controleer je deze instellingen

Je kunt deze waarden bekijken in je WordPress-dashboard onder Tools -> Site Health -> Info -> Server, of door een phpinfo()-bestand op je server aan te maken.

Pro-tip

Zit je op managed hosting en kun je deze waarden niet zelf aanpassen? Neem dan contact op met de support van je hostingprovider en vraag hen om "de PHP-limieten te verhogen voor het verwerken van grote REST API-requests."