Why are not all product variations appearing in WooCommerce?
When syncing large variable products (products with dozens or hundreds of variations) to WooCommerce, you might notice that some variations are missing. For example, you might send 200 variations but only see 7 in WooCommerce.
The Root Cause: Server Limits
This issue is rarely caused by a bug in the code. Instead, it is usually due to the WooCommerce REST API being interrupted by web server or PHP limits. A large JSON payload (containing hundreds of variations) can easily reach several megabytes. If the server hits a limit mid-process, it may truncate the data or time out, leading WordPress to process only a partial set of variations.
Server Configuration to Check
To resolve this, you or your hosting provider should increase the following PHP and server limits:
1. POST Data Limits
post_max_size: Increase this to at least32Mor64M. If this is too low, the server will reject the large JSON payload entirely.upload_max_filesize: While primarily for files, some server configurations use this to limit POST requests as well.
2. Input Variable Limits
max_input_vars: This is a common culprit. Large WooCommerce products involve many variables. Increase this to5000or higher.max_input_nesting_level: Ensure this is at least64.
3. Timeouts
max_execution_time: The StoreLinkr sync process handles heavy data. Increase this to120seconds (2 minutes) to prevent the script from being killed early.
4. PHP Memory
memory_limit: Ensure PHP has enough memory to decode and process the large JSON objects. We recommend at least256Mor512Mfor large catalogs.
How to verify these settings
You can check these values in your WordPress dashboard under Tools -> Site Health -> Info -> Server, or by creating a phpinfo() file on your server.
If you are on managed hosting and cannot change these values yourself, contact your host's support team and ask them to "Increase PHP limits for processing large REST API requests."