Why variable products drift
Variable products are one of the easiest places for multilingual WooCommerce data to drift. The parent product may be translated correctly while one language has fewer combinations, the wrong attribute terms, a missing price, an incorrect default, or a variation that cannot be purchased.
The result is often subtle. The source-language product works, but a shopper in another language sees an empty dropdown, an unavailable combination, a missing image, or no add-to-cart button.
This guide explains how to compare translated variable products safely and how to use TranslateGuard for WooCommerce to surface variation-related inconsistencies for review.
Why variation inconsistencies matter
WooCommerce treats each variation as a purchasable child of a variable parent product. A variation can carry its own price, SKU, stock behavior, image, weight, dimensions, shipping class, tax class, and other settings. WooCommerce also notes that a variation without a price is not shown in the store.
Polylang for WooCommerce adds synchronization rules. Its documentation explains that commercial metadata such as SKU, price, tax, weight, dimensions, shipping class, and stock are synchronized. Custom attributes and related variations are copied and synchronized; previously translated global attributes and their related variations are translated and synchronized.
Common warning signs
- Different variation counts. The source product has twelve valid combinations while the translation has ten, fourteen, or a different set.
- Wrong attribute terms. A translated product uses source-language terms, unlinked duplicate terms, or a local custom attribute when a translated global attribute is required.
- Missing price or disabled variation. A combination exists in the admin but is not purchasable on the translated storefront.
- Stock disagreement. One language shows an item in stock while another shows it unavailable, despite an expectation of synchronized inventory.
- Incorrect defaults. The default color or size points to a term that does not exist, is not translated, or maps to the wrong combination.
- Image mismatch. The variation image is missing, contains source-language text, or represents the wrong option.
- Broken add-to-cart flow. A valid-looking selection produces an unavailable message or fails to add the expected variation.
Manual variation audit: step by step
- Work from staging and a current backup. Variation edits can affect price, inventory, and purchasability. Avoid experimenting on a live catalog that is processing orders.
- Choose one translation group. Start with a variable product that has a known source language and at least one translated counterpart. Confirm the parent products are correctly linked in Polylang.
- Confirm product type, status, and visibility. Both parents should be variable products and have the intended publication status and catalog visibility.
- Audit global attributes before variations. Go to Products → Attributes and confirm that translatable attribute names and terms have correct language assignments and translation relationships.
- Compare the parent Attributes tabs. Check which attributes are assigned, which terms are selected, whether each is used for variations, and whether intended default values exist in both languages.
- Build a variation signature list. Write one row per valid combination, such as
Color: Blue | Size: Medium. Compare translated meanings and combinations rather than raw term IDs. - Compare every variation’s commercial fields. Review enabled status, regular and sale price, SKU behavior, stock management, quantity, backorders, tax class, weight, dimensions, shipping class, virtual or downloadable status, and image.
- Check default attributes. A default selection should correspond to a valid, enabled, purchasable combination in that language. Test with and without a default.
- Test visible combinations on the storefront. Switch languages, select attributes in different orders, confirm the price and image update, and add representative combinations to the cart.
- Recheck after imports or bulk edits. CSV imports, duplication, bulk actions, translation changes, and plugin updates can all alter catalog structure.
How to fix mismatches safely
Do not begin by deleting and regenerating every variation. That can remove variation-specific settings and make the problem harder to diagnose. Repair the structure in a controlled order:
- Identify the authoritative product and expected combinations. Confirm which language and catalog record reflect the correct offer.
- Repair language and term relationships first. Correct global attribute translations before changing the variation list.
- Correct parent attributes and save them. Make sure the expected terms are selected and marked for variations.
- Repair only affected variations. Create a genuinely missing combination, remove a confirmed duplicate, or correct the field that differs. Record what changed.
- Save variations and update the product. Allow the installed synchronization layer to complete its normal save actions.
- Clear relevant caches and test the storefront. Confirm selected attributes resolve to the correct variation and that cart data matches the product page.
- Run a follow-up audit. The translation group should now have equivalent expected combinations and no unexplained commercial-field differences.
Use TranslateGuard to find variation drift
TranslateGuard scans multilingual WooCommerce product data and reports issues without changing the catalog. For variable products, use its attribute, variation, commercial-field, relationship, and freshness findings to narrow the manual review.
- Run a scan for the required languages. Keep relevant attribute, variation, and commercial checks enabled.
- Filter to the affected product or issue type. Open the detail view and compare the reported source and translated records.
- Confirm the business expectation. A difference is not automatically wrong if the store intentionally sells a different offer in a specific market. Document intentional exceptions.
- Fix the underlying WooCommerce or Polylang data. TranslateGuard does not auto-repair products, so the store remains under administrator control.
- Rescan and retain the result. Use scan history or CSV export as evidence that the issue was reviewed and retested.
Variation QA checklist
- Parent relationship: Source and translated variable products are correctly linked.
- Global attributes: Attribute names and terms have correct languages and translation relationships.
- Selected terms: Both parents contain equivalent intended attribute choices.
- Combinations: Each valid source combination has the intended translated counterpart.
- Commercial fields: Price, sale state, SKU, stock, tax, shipping, and dimensions match the expected synchronization model.
- Defaults: Default selections map to valid, enabled, purchasable variations.
- Media: Variation images are correct for the language and selected option.
- Storefront: Dropdowns, price changes, availability, images, and add-to-cart behavior work in every language.
- Regression: The product is rescanned after fixes, imports, bulk edits, or updates.
Frequently asked questions
Should translated variations have the same database IDs?
No. Translated products and taxonomy terms are separate records. Compare translated meaning, relationship, expected combination, and commercial behavior rather than expecting identical IDs.
Should I use custom or global attributes?
For attributes customers need to see in different languages, Polylang’s documentation directs stores to use translated global attributes. Custom product attributes can be copied and synchronized, but they are not the right choice when labels or values themselves must be translated.
Why does a variation exist in the admin but not appear on the storefront?
Check whether it is enabled and has a regular price, whether its attribute combination is valid, whether it is available under current stock rules, and whether the translated parent contains corresponding terms. WooCommerce states that variations without prices do not appear in the store.