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 minimaal32Mof64M. 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 naar5000of hoger.max_input_nesting_level: Zorg dat dit minimaal64is.
3. Time-outs
max_execution_time: Het synchronisatieproces van StoreLinkr verwerkt zware data. Verhoog dit naar120seconden (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 minimaal256Mof512Maan 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.
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."