Skip to main content

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 least 32M or 64M. 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 to 5000 or higher.
  • max_input_nesting_level: Ensure this is at least 64.

3. Timeouts

  • max_execution_time: The StoreLinkr sync process handles heavy data. Increase this to 120 seconds (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 least 256M or 512M for 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.

Pro Tip

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."