Synchronizing WooCommerce Product Data Across Multiple Sites

In a recent Business Bloomer Club discussion, a member shared their plan to create a network of WooCommerce stores by cloning a master site into two separate domains with unique branding.

The goal was to sync product details—additions, deletions, and modifications—from the master site to the “slave” sites in real time, while omitting orders and user data.

Additionally, the slave sites won’t have a shopping cart or checkout; users will simply be redirected to the master site to complete purchases.

This setup required a straightforward, cost-effective solution, and while many plugins offer extensive syncing capabilities, the user sought a minimalistic approach for basic product data synchronization. Below, we explore potential solutions to achieve this streamlined WooCommerce sync across multiple sites.

Solution 1: Sync Products With WP All Export + WP All Import

WP All Export and WP All Import, when bought together in the Import + Export Pro Package, provide a seamless way to synchronize WooCommerce product data across multiple sites, ensuring accuracy in inventory, pricing, and product details.

The process starts with WP All Export, which extracts the necessary product information into a structured export file. This file is then bundled with the import settings, creating a complete package for effortless data transfer.

With built-in support for Bundles—a zip file containing both the data file and pre-configured import settings—WP All Import eliminates the need for manual setup. Once the export is complete, the Bundle can be downloaded and used to import products into another WooCommerce store instantly. Because all import settings are already included, store owners don’t have to configure anything manually, reducing the risk of errors and ensuring a smooth migration.

This method is particularly useful for businesses managing multiple stores, marketplaces, or staging environments. Whether updating product catalogs, synchronizing inventory levels, or replicating store data, WP All Export and WP All Import streamline the process, saving time and minimizing complexity.

While WP All Import doesn’t offer “real-time” sync, the scheduling functionality can keep the data relatively up-to-date without extensive manual intervention.

Solution 2: Custom Code Solution for Direct Sync

For real-time synchronization, a custom integration using the WooCommerce REST API offers a powerful alternative.

By developing an automated system that detects product updates on the master site and immediately pushes changes to the slave sites, product data remains perfectly in sync. This method provides greater control but requires development expertise and ongoing maintenance.

A custom API integration can monitor product changes—such as price updates, stock adjustments, or description edits—on the master store. When a change occurs, a webhook triggers an API request to update the corresponding product on the connected sites. To optimize performance, the system can be designed to sync only specific fields instead of pushing the entire product dataset.

Here’s a simple example of how to automatically update product prices across multiple sites using the WooCommerce REST API:

/**
 * @snippet       Sync product prices between Woo sites via REST API
 * @tutorial      https://businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 9
 * @community     https://businessbloomer.com/club/
 */

add_action( 'woocommerce_update_product', 'bbloomer_sync_product_price' );

function bbloomer_sync_product_price( $product_id ) {
    $product = wc_get_product( $product_id );
    $regular_price = $product->get_regular_price();
    $sale_price = $product->get_sale_price();
    $slave_site = 'https://site1.com';    
    $slave_site_api_credentials = [
        'consumer_key' => 'ck_xxxxx',
        'consumer_secret' => 'cs_xxxxx',
    ];
    $url = $slave_site . '/wp-json/wc/v3/products/' . $product_id;  
    wp_remote_post( $url, [
        'method' => 'PUT',
        'body' => json_encode( [ 'regular_price' => $regular_price, 'sale_price' => $sale_price ] ),
        'headers'   => [
            'Authorization' => 'Basic ' . base64_encode( $slave_site_api_credentials['consumer_key'] . ':' . $slave_site_api_credentials['consumer_secret'] ),
            'Content-Type'  => 'application/json',
        ],
    ]);
}

This function listens for product updates, retrieves the new price, and sends it to the corresponding product on the slave site via the WooCommerce REST API. While this is a basic example, the same principle can be expanded to sync additional product details, such as stock levels or descriptions.

Although this approach offers complete customization, it requires technical expertise to build, manage, and troubleshoot. Businesses without in-house development resources may need to hire a developer, which can affect budget and timelines.

Solution 3: WooCommerce Product Data Sync Plugins

If you prefer a no-code solution, a product sync plugin may be your best bet. Misha Rudrastyh explains it clearly in his “Sync WooCommerce Products Between Sites” tutorial: “The plugin is also using the API, but you don’t need to code anything here and even to know what it is exactly and how it works“.

Misha’s “Simple WordPress Crossposting” plugin allows you to sync any content between multiple sites, including custom fields, custom post types, and WooCommerce products. When editing products on your “master website“, you can select which stores to sync them to:

You also have full control over what product data gets synced, including inventory, pricing, taxonomies, and shipping details:

The plugin supports all WooCommerce product types—simple, variable, grouped, external, and more. The only requirement is admin access to the secondary sites so you can add them to the sync list.

If you’re considering a multisite setup instead of standalone WooCommerce websites, plugins designed for WooCommerce multisite synchronization could be valuable.

One such example is, once again, Misha Rudrastyh’s multisite product sync guide, which outlines methods to sync products within a multisite network using either a code-only approach or a plugin.

Solution 4: Business Bloomer’s Sync Guide

For a broader perspective on syncing WooCommerce data, check out this guide on synchronizing products, stock, and orders across multiple WooCommerce stores.

With this method, you can automatically import orders from multiple stores into a single WooCommerce store, allowing third-party services like accounting and shipping fulfillment to access order data from one central location. This eliminates the need for separate third-party software licenses for each store, helping you reduce costs by consolidating everything into a single system.

Beyond orders, you can also sync coupons, minimize server storage by sharing the same images across all WooCommerce sites, export all orders—or only those from specific stores—and synchronize products across hundreds of WooCommerce stores, whether they operate on different domains, subdomains, or subdirectories.

Related content

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

Reply

Your email address will not be published. Required fields are marked *