Syncing errors

common-issue

Updated on: October 28, 2018

We've taken great steps to ensure that the syncing process works across multiple different environments. However sometimes a webhost may have certain restrictions and limitations in place that prevent the process from finishing successfully. If none of the below information helps, please send us an email or purchase a WP Shopify Pro license to receive dedicated live support in our private Slack channel.

First things to check

  1. Make sure you've set the proper API permissions for your Shopify private app. Specifically, ensure that "Read and Write" is selected for "Product Information".
  2. Ensure you meet WP Shopifys minimum requirements.
  3. Check your PHP and Apache/Nginx logs to see if any errors are shown. If you don't know how to do this, contact your webhost and ask them to look on your behalf. If you find any errors please send them to us by email or in the private Slack channel for further help.
  4. Ask your webhost if they have a firewall enabled that restricts numerous third-party API requests during a short period of time.
  5. If they do have a firewall, ask them to make an exception for requests sent to ".myshopify.com". Afterwards, try resyncing to see if that solves the issue.
  6. Make sure you have a working SSL certificate on your WordPress site. This is necessary for any changes made post-sync to show up in WordPress. If you're working in a local dev environment take a look at Ngrok.


Error messages

[API] This action requires merchant approval for ...

This error occurs when you have have the incorrect permissions set for your Shopify private app. WP Shopify requires that following to be set to "Read and write":

  • Product Information
  • Customer details and customer groups
  • Orders, transactions and fulfillments
  • Price rules
  • Products, variants and collections

Be sure these permissions are set correctly and then perform a Resync from within WP Shopify.

Shopify API permissions screen

Error: The data you're trying to sync is too large for the database to handle.

This error happens when the database is unable to handle the amount of data during sync. Usually this happens when your Shopify store either has thousands of products or thousands of product variants.

By default, there's a limit to the amount of data a MySQL server can handle for any given query. This limitation is known as the max_allowed_packet and you can read more about it here. WP Shopify is continuously making MySQL queries during sync, and sometimes these queries can exceed the max_allowed_packet limit if the store is very large.

The easiest fix is to adjust the "Items per request" option from within the plugin settings. Changing this from 250 to 100 usually works. Setting this lower will force the sync to make many smaller queries, so you may notice the sync taking longer to complete.

WP Shopify items per request setting

400 Error: The request sent to Shopify was either malformed or corrupt.

If you see this error it usually means that there's something wrong with the JavaScript being sent to the server. Open your browser's developer tools and check the console for any errors. If you find errors, please send them to us in the official Slack channel for further help.

400 Error: The request was not understood by the server.

This error is usually returned when the Shopify connection to WordPress is either broken or invalid. Disconnecting and reconnecting the plugin from Shopify may fix the issue. For more information please see Shopify's status codes.

401 Error: The necessary authentication credentials are not present in the request or are incorrect.

This error is usually returned when the private Shopify app you created was deleted somehow. Disconnecting and reconnecting the plugin from the Connect tab should fix the issue. For more information please see Shopify's status codes.

402 Error: The requested shop is currently frozen.

This error is sent when a shop is either unavailable (no payment on record at Shopify), or when it doesn't have access to a specific feature. Make sure that you have an active Shopify plan and that the private app you created has been given read and write access for each scope as described in Step 6. of the connecting process. Once this has been updated, resync your store from the WP Shopify settings page.

403 Error: The server is refusing to respond to the request.

This error is sent when WP Shopify doesn't have access to a specific scope of your private app. Make sure that the private app you created has been given read and write access for each scope as described in Step 6. of the connecting process. Once this has been updated, resync your store from the WP Shopify settings page.

404 Error: The requested resource was not found.

If you receive this error make sure that your Shopify private app has enabled the setting "Allow this app to access your storefront data using the Storefront API". You can find this toward the bottom next to the Storefront API section.

406 Error: The requested resource contained the wrong HTTP method or an invalid URL.

If you're experiencing this error you can be confident that it's probably a bug in the plugin. Please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Also, here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.

422 Error: The request body was well-formed but contains semantical errors.

The most common reason for this error is that the value for the setting "Webhooks callback URL" does not have "https" in it. Shopify requires that your site have a valid SSL certificate to function properly. If you don't care about the webooks and simply wish to finish the syncing, just add "https" to the "Webhooks callback URL" setting. Also, please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Also, here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.

429 Error: The request was not accepted because the application has exceeded the rate limit. 

This error occurs because the syncing process is making too many requests to Shopify at once. You can try enabling the "Use titles for alt attributes" setting from within WP Shopify -> Settings and then try resyncing. (Note: this will use the product's title as the alt attribute value for any image it may have).

Also, please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.

500 Error: An internal error occurred at Shopify.

If you receive this error you should try disconnecting and reconnecting from within the WP Shopify Settings page. Sometimes this error is an indication that the Shopify servers are down so be sure to take a look at their status page as well.

If this doesn't work, please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.

501 Error: The requested endpoint is not available on that particular shop.

If you're receiving this error make sure that the private app you created has been given read and write access for each scope as described in Step 6. of the connecting process. Once this has been updated, resync your store from the WP Shopify settings page.

If this doesn't work, please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.

503 Error: The server is currently unavailable.

When this error is thrown it usually means that either your PHP memory_limit or max_execution_time is set too low.

The simplest solution is to add the following to the bottom of your .htaccess file and re-sync.

php_value memory_limit 256
php_value max_execution_time 300

If this doesn't work and you're using Nginx, ask your webhost to add the following rules within your http, location, or server blocks. A useful guide for doing this can be found here.

proxy_read_timeout 300;
fastcgi_read_timeout 300;

Finally, be sure to clear the WP Shopify cache located in the Tools tab on the settings page and reconnect your Shopify store.

504 Error: The request could not complete in time.

When this error is thrown it usually means that either your PHP memory_limit or max_execution_time is set too low.

The simplest solution is to add the following to the bottom of your .htaccess file and re-sync.

php_value memory_limit 256
php_value max_execution_time 300

If this doesn't work and you're using Nginx, ask your webhost to add the following rules within your http, location, or server blocks. A useful guide for doing this can be found here.

proxy_read_timeout 300;
fastcgi_read_timeout 300;

Finally, be sure to clear the WP Shopify cache located in the Tools tab on the settings page and reconnect your Shopify store.

504 Error: The syncing process timed out or exceeded its allocated memory.

When this error is thrown it usually means that either your PHP memory_limit or max_execution_time is set too low.

The simplest solution is to add the following to the bottom of your .htaccess file and re-sync.

php_value memory_limit 256
php_value max_execution_time 300

If this doesn't work and you're using Nginx, ask your webhost to add the following rules within your http, location, or server blocks. A useful guide for doing this can be found here.

proxy_read_timeout 300;
fastcgi_read_timeout 300;

Finally, be sure to clear the WP Shopify cache located in the Tools tab on the settings page and reconnect your Shopify store.

Error: An unknown Shopify API response was received during syncing.

If you're experiencing this error you can be confident that it's probably a bug in the plugin. Please check your PHP / Apache / Nginx logs to see if any additional information is shown and send this information to us in the official Slack channel. Also, here's a resource explaining how to enable the PHP debug logging if you're not sure whether it's already enabled.
Copied!