Product sets not updating
There are a number of reasons why Product Sets stall and prevent products from being imported into (or updated on) your store.
Below we have covered some of the reasons and the steps to take to resolve them. After following the steps for each reason, check if your Product Sets have started to run.
Inappropriate Update Settings
Sometimes your Product Set update settings need to be re-configured and/or re-saved.
- Go here WordPress Admin Area > Product Sets > Configuration > Advanced Update Settings
- Change the following fields to these values:
- Update Interval: Every 3 days
- Cron Interval: Every minute
- Products per Update: 100
- Products per API Request: 100
- Preprocess Maximum: 100
- Postprocess Maximum: 100
- Click the [Save Changes] button (even if you didn't make any changes to the above).
A Product Set Returns an API Error
If one of your Product Sets has an error in it, your Product Set updates will all be held up until the error is fixed.
To find a Product Set error, go here WordPress Admin Area > Product Sets > All Product Sets. Paginate through all of your pages. If there is an error, it will appear under the "Completed" column.
Common Product Set update errors are Datafeedr API Errors when no merchants are selected. To fix this, remove the Merchants filter from your Product Set search.
Site is Password Protected or in Maintenance Mode
Product Sets are unable to import or update products if your website's directory is password protected or if your website is in maintenance mode.
Incorrect Timezone Settings
Make sure your website's timezone settings are set correctly. You can do so here WordPress Admin Area > Settings > General > Timezone.
WordPress Cron Stuck
Occasionally the WordPress Cron gets stuck. You can try jump starting it by going here WordPress Admin Area > Product Sets > Tools and clicking the [Reset Cron] button.
Trashed Product Set Updating
If you have recently deleted a Product Set, deleting products added by that Product Set from your store is a priority. It could be that the deleted Product Set is currently being processed. You can check if any Trash'ed Product Sets are being processed here WordPress Admin Area > Product Sets > Trash. If this is the case, just wait until your Trash'ed Product Sets are finished being deleted.
You can learn more about deleting Product Sets here.
wp-cron.php Generates Errors
wp-cron.php file generates an error, this will prevent your Product Sets from updating. To check, open the following page in your browser:
If you see anything other than a blank white page, something is probably wrong. Try contacting your webhost to determine the reason your
wp-cron.php page is displaying something other than a blank white page.
Object and/or Database Cache Enabled
If you are using a caching plugin such as plugins like WP Super Cache or W3TC (W3 Total Cache), you must disable Object Cache. Object Cache bypasses WordPress Transient data which prevents Product Sets from updating properly.
If you are using a caching plugin such as plugins like WP Super Cache or W3TC (W3 Total Cache), you must disable Database Cache. Database Cache bypasses WordPress Transient data which prevents Product Sets from updating properly.
Disabled HTTP Loopbacks
This is usually an issue related to your web server (ie. your web hosting company) blocking HTTP loopbacks. In order for a Product Set to import products into your site, it relies on a Cron job which loads a specific function which is responsible for importing/updating products on your site automatically. You can test your HTTP Loopbacks by going here WordPress Admin Area > Product Sets > Tools and clicking the [Test Loopbacks] button.
More information about HTTP Loopbacks can be found here.
Cron Disabled by Web Host
Often times you will find your web host has disabled WordPress Cron for one reason or another. To test this follow these steps:
- Go here WordPress Admin Area > Posts and click the [Add New] button.
- Fill in the Post Title with "Test Post".
- In the top-right column, click the "Edit" link next to the text Publish immediately.
- Set the publish time to 3 minutes in the future.
- Click the [OK] button.
- Click the [Schedule] button.
- In about 5 minutes, go here WordPress Admin Area > Posts.
If you see that your "Test Post" is still unpublished, it will say something like " Missed Schedule". This means that your web host has disabled the WordPress Cron. If this is the case you will need to contact your web host and ask them to stop disabling the WordPress Cron functionality.
Here's more information on Scheduling Posts.
Update is Stuck
Sometimes an update might be stuck. Try adding the following custom code to your custom plugin.
add_filter( 'dfrps_doing_update', '__return_false' );
Cron Disabled in wp-config.php
Some plugins will disable your WordPress Cron functionality by adding a setting to your site's
wp-config.php file. To check this, open your site's
wp-config.php file in a text editor and look for this line:
define( 'DISABLE_WP_CRON', 'true' );
If you find that line in your
wp-config.php file, either delete it or comment it out by placing 2 forward slashes in front of the line like this:
// define( 'DISABLE_WP_CRON', 'true' );
PHP Errors Occurring
If you are getting PHP Errors (Warnings or Fatal Errors), these could prevent your Product Sets from updating. PHP Errors could be generated by WordPress itself, your theme or one of your plugins.
To check if your site is generating PHP Errors, you need to open your PHP error_log and inspect it for PHP Warnings or Errors.
If you don't have (or don't have access to) a PHP error_log, you can try a plugin like the Error Log Monitor plugin.
After you access to your error log, check it for PHP errors and warnings and fix them as necessary.
Conflict with WooCommerce Catalog Visibility Options Plugin
If you have activated the WooCommerce Catalog Visibility Options plugin, you should deactivate it. It has previously generated Fatal Errors when loading the wp-cron.php file.
CloudFlare IPV6 Support Enabled
If you are using CloudFlare and you have enabled IPV6 support, please disable IPV6 support.