This document outlines our recommended steps for launching a BigCommerce for WordPress site. It assumes that you have a reasonable understanding of WordPress and BigCommerce and know how to install the BigCommerce for WordPress plugin. For an overview of BigCommerce and the BigCommerce for WordPress plugin, see the following articles:
While you can use BigCommerce for WordPress on a vast majority of WordPress hosts, it is best to use stable versions of PHP, MySQL, and WordPress to ensure the most performant, secure experience.
BigCommerce for WordPress connects to the BigCommerce API with a set of API credentials. These credentials are for a single BigCommerce app. For production sites, you will need to create a separate set of API credentials to ensure proper rate limits are applied.
A separate set of API credentials is required if you want more than one WordPress channel configured in your account, as using the standard connect to BC flow in the plugin will disconnect previous app connections from your other sites. For instructions on how to create additional API credentials, see Multi-site Setup.
API credentials can be set using constants in the site’s wp-config.php file, as shown below. Values set in wp-config.php will override options in the database.
Setting API credentials in wp-config.php file:
The product sync occurs every 5 minutes, by default. All newly-added BigCommerce products will be automatically listed on the WordPress site.
These settings can be configured to match business requirements. The frequency of new products being added and whether all of the catalog should be for sale online determines the correct settings.
The plugin uses the standard WP-Cron system, which needs traffic to run. If you would like to process regardless of site visitors, we recommend setting a cron job on the server to force processing. For information on how to use the system task scheduler for WP-Cron, see the Plugin Handbook.
Product, inventory, and checkout webhook events are automatically set up when the plugin is installed. Their actions in BigCommerce will automatically trigger a future partial sync for only the affected products.
Within BigCommerce for WordPress, there are multiple ways to configure how the cart interactions work. Take the time to select the right experience from the following:
The checkout type determines which payment methods and checkout customizations are available to the site.
Embedded Checkout creates a deeply integrated experience, where the user stays on the WordPress site. However, this checkout type does not support many payment methods. For example, Embedded Checkout cannot be used with hosted wallets, such as Amazon Pay.
Redirected Checkout unlocks the full checkout experience of BigCommerce, including hosted wallets and ability to customize the checkout layout through the Stencil framework and Checkout SDK. To make the hand off from WordPress to BigCommerce seamless, set up a subdomain such as checkout.your-domain.com. For details on how to change your store domain, see Changing Domains.
Note that in either case, the links within checkout, such as Register Account and Edit Cart, will be automatically set by the plugin to link back to the correct pages on the WordPress site using the Sites and Routes API.
For BigCommerce for WordPress to handle registration of new customers, membership of new users needs to be enabled on the WordPress site. You can enable this in the Settings > General section of the WordPress admin by turning on Anyone can register for the Membership option.
Customer specific pages such as Cart, My Account, and Checkout should not be cached by any plugins or the WordPress host.
Once you install BigCommerce for WordPress, you can access the BigCommerce section inside the WordPress Customizer. There you can customize the following areas of your theme:
Buttons
Colors and theme
Product single
Product catalog
Cart
Embedded checkout
To set up a staging site on WordPress without affecting the main site, you need to set up an additional channel for the staging site. This will ensure you can test the shopper experience end-to-end with all the URLs linking back to the staging instance and an independent set of products listed.
You can do this by installing BigCommerce for WordPress on a second WordPress site using the API credentials connection method and choosing to create a new channel during the setup process.
The default setup of WordPress shows an admin bar at the top of every page for every logged in user. It provides a link back to the main site, the user’s name, and the ability to log out. This is reasonable for sites that are mainly content and might have additional custom actions in the bar, but for commerce-focused sites you may want to hide it.
For a BigCommerce for WordPress child plugin that hides the bar for customers, see BC4WP plugin.
BigCommerce contains a number of webhooks that your site may benefit from. We recommend disabling unused webhooks to enhance performance. To disable the webhooks you do not need, use the Webhooks API and update the is_active fields to false.
Because webhooks are associated by client ID, make sure you are using BigCommerce for WordPress API credentials to make these Webhook API calls.
More than one channel can be connected to BigCommerce for WordPress to drive multi-region and other complex shopper experiences. For example, you can set up channels for US, FR, and UK regions that reference different names, descriptions, and price lists for each, and then have them activate when certain subdirectories are accessed. Alternatively, you can have a B2B channel that activates only when someone has a certain cookie set.
This requires activation of the multi-channel mode, which is a one-line command you add to your WordPress code, and some customization to tell WordPress when to use each channel.
Multi-channel mode:
For more details on how to build a multi-region storefront with BigCommerce for WordPress, see Building a Multi-Region Storefront.
The import process will run faster and more reliably if run from the command line.
Ensure that your host has WP-CLI installed and configured to manage your WordPress site.
The initial import will likely take longer than subsequent imports. Run the following command for the first import:
wp bigcommerce import products
Set up a system cron job to run the import at your desired frequency. For example, to run every 10 minutes:
*/10 * * * * /usr/bin/wp bigcommerce import products --quiet > /dev/null 2>&1
This does not disable the WordPress cron-based import process. As long as the CLI import runs more frequently than the import configured on the settings screen, the cron-based import should never be triggered. In the event that both are running concurrently, safeguards are in place to ensure that only one process runs at a time.

Subsequent imports will only update products that have changed since the last import. To force an update on all products, add the --force flag to the import command:
wp bigcommerce import products --force
WordPress sites will generally operate more efficiently if WordPress’s default cron is disabled and replaced with a server-side cron job.
To disable WordPress’s default cron, follow these steps:
your wp-config.php:Running the job every minute is generally recommended.
If the site is not importing as expected, enable diagnostic logging to produce a detailed log of the import process.

After the next import has run, click Get Diagnostics to display data from the logs.
If running an import from the command line, add the --debug flag to get additional information as the import runs, including API error messages.
wp bigcommerce import products --debug
If network latency is causing your API requests to timeout, the timeout duration can be increased with a filter:
The duration of the import process depends on a number of factors, including network latency, system load, number of products, and the volatility of the catalog.
For an initial import, one can presume roughly 1-2 seconds per product. A catalog of 30 products may take around a minute to import, whereas 10,000 products may take several hours.
Subsequent imports only update products that have changed in some way. This can reduce the overall processing time to less than a second per product, which includes some overhead to determine which products have changed.
It is important to note changes that will cause a product to be updated:
"total_sold" property.The BigCommerce for WordPress plugin should be able to run in any environment supported by the current version of WordPress:
There is a growing list of plugins that support BigCommerce either through added support to their core plugin or additional child plugins. This enables you to add more complex functionality like faceted search without coding it yourself.