Comparer deux catalogues WooCommerce : prix, stock et produits manquants

Rapprocher deux catalogues WooCommerce par SKU, puis par nom, et lire les écarts de prix, de stock et les produits d'un seul côté. Vérifié sur deux boutiques de test et deux démos.

Comparer deux catalogues WooCommerce : prix, stock et produits manquants

Vous avez deux boutiques WooCommerce sous les yeux. C'est la vôtre et celle d'un concurrent, une boutique et sa copie après une migration, ou le catalogue d'un fournisseur et le vôtre. Vous voulez savoir quels produits coûtent plus cher d'un côté, lesquels sont en rupture d'un seul côté, et lesquels n'existent que d'un côté.

Comparer deux catalogues, c'est faire deux choses. D'abord, rapprocher chaque produit de son équivalent dans l'autre boutique. Ensuite, lire les écarts sur chaque paire. Le rapprochement commande tout le reste : une mauvaise paire invente un écart de prix, une paire manquée invente un produit absent. Le comparateur de catalogues gratuit fait les deux à partir des adresses des deux boutiques. Il rapproche les produits par SKU, puis par nom, et signale les écarts de prix, les écarts de stock et les produits présents d'un seul côté.

Pour voir où cette règle tient et où elle demande un œil humain, nous avons monté deux boutiques de test qui se recoupent volontairement. Nous leur avons appliqué le rapprochement de l'outil. Nous avons ensuite lancé l'outil sur deux démos publiques d'éditeurs de thèmes.

Comment nous avons vérifié

Le 15 octobre 2026. Deux boutiques de test sous WooCommerce 11.2.1 et WordPress 7.1.3, avec le thème Twenty Twenty-Five et aucune autre extension, montées en français puis en anglais. La boutique A comptait 14 produits publiés et la boutique B 15. Les recoupements étaient prévus : SKU communs ou en conflit, noms presque identiques, une promotion, un produit variable, un réapprovisionnement. Le code de rapprochement de l'outil a tourné sur la liste publique des produits des deux boutiques. Le comparateur lui-même a été lancé sur deux démos publiques de thèmes, tel qu'il fonctionne aujourd'hui.

Ce que la comparaison lit dans chaque boutique

Vous saisissez deux adresses, rien d'autre : ni connexion, ni clé, ni accès à l'une ou l'autre administration. L'outil lit la liste publique des produits de chaque boutique, celle que la route des produits de la Store API de WooCommerce donne à tout visiteur. Il prend jusqu'à 100 produits par boutique, dans l'ordre de leur identifiant, les plus anciens d'abord. Pour chaque produit, il garde le nom, le SKU, le prix et l'état du stock.

Le SKU est la référence que l'administration française de WooCommerce appelle UGS. Voici comment la comparaison utilise chacun de ces champs :

Champ Usage dans la comparaison
SKU (UGS) Première clé de rapprochement, sans tenir compte de la casse ni des espaces autour
Nom Deuxième clé, pour tous les produits que le SKU n'a pas rapprochés ; accents, casse et ponctuation ignorés
Prix Le prix que paie un client aujourd'hui, tarif promo compris ; une devise différente compte comme un écart
Stock En stock ou en rupture

Le rapport donne quatre totaux : les correspondances, les correspondances avec un écart, les produits uniquement dans la première boutique et ceux uniquement dans la deuxième. Il liste ensuite les paires qui présentent un écart, avec leur clé de rapprochement, les deux prix et les deux états de stock. Viennent enfin les noms des produits présents d'un seul côté. Les listes montrent jusqu'à 12 paires et jusqu'à 5 noms par côté ; les totaux portent sur tous les produits lus.

Comment les produits sont rapprochés

Le premier passage cherche le même SKU dans les deux boutiques. La casse ne compte pas : notre mug portait MUG-01 dans la boutique A et mug-01 dans la boutique B, sous deux noms différents, et l'outil les a rapprochés.

Le second passage reprend tous les produits restants et cherche le même nom. Avant de comparer, il retire les accents, ignore la casse et remplace toute suite de ponctuation ou d'espaces par un seul espace. « Torchons brodés – lot de 3 » et « Torchons brodes (lot de 3) » sont ainsi devenus le même nom et ont été rapprochés. Ce passage rattrape aussi les produits dont les SKU diffèrent. Notre bougie au cèdre était CND-CEDAR d'un côté et SC-114 de l'autre : elle a été rapprochée par son nom.

Une clé ne sert que si elle est unique des deux côtés. La boutique B vendait deux produits nommés « Serviette en lin », une blanche et une grise, et la boutique A une seule. L'outil ne peut pas savoir laquelle des deux correspond à celle de A : il n'en a rapproché aucune. Les trois sont apparues dans les listes d'un seul côté, et la note du rapport le dit : les doublons ambigus restent sans correspondance plutôt que d'être associés au hasard.

Comment le comparateur a rapproché nos deux boutiques de test : 8 paires par le même SKU, 3 par le même nom, dont deux paires qui sont des articles différents, et 7 produits restés d'un seul côté Le même schéma du rapprochement des deux boutiques de test, en mode sombre
Les paires formées par la règle de rapprochement entre nos deux boutiques de test, le 15 octobre 2026.

Nos deux boutiques de test, comparées

Les boutiques A et B partageaient l'essentiel de leur catalogue, avec une différence placée sur chaque produit. Voici chaque produit des deux côtés, et ce que la comparaison en a dit :

Produit Boutique A Boutique B Rapport
Tablier en lin, APR-01 34 € 29 € Paire par SKU, écart de prix
Sac cabas en toile, TOTE-01 24 € 24 €, en promo à 19 € Paire par SKU, écart 24 € → 19 €
Plaid en laine, BLK-01 En stock En rupture Paire par SKU, écart de stock
Bougie au cèdre 22 €, CND-CEDAR 24 €, SC-114 Paire par nom, écart de prix
Planche à découper, sans SKU Chêne, 45 € Bambou, 19 € Paire par nom, écart de prix
SKU 1001 Carafe en verre, 32 € Cache-pot en céramique, 27 € Paire par SKU, écart de prix
Chemise en lin, tailles S et L 60 € et 70 €, toutes deux en stock 60 € et 80 €, S en rupture Paire par SKU, aucun écart
Étagère en pin En stock En réapprovisionnement Paire par SKU, aucun écart
Emballages à la cire d'abeille 50 en stock 2 en stock Paire par SKU, aucun écart
Cuillère en bois d'olivier OWS-1 « Cuillère bois d'olivier », WS-22 Dans les deux listes d'un seul côté
Jardinière à herbes Publiée Brouillon Uniquement dans A
Décapsuleur en laiton Absent Publié Uniquement dans B

Au total : 11 correspondances, dont 6 avec un écart (5 de prix, 1 de stock), 3 produits uniquement dans A et 4 uniquement dans B. Les cinq autres paires ne présentaient aucun écart : le mug, les torchons, la chemise, l'étagère et les emballages. La paire de boutiques en anglais, avec des noms anglais et des prix en dollars, a donné les mêmes totaux.

Fausses correspondances et paires manquées : ce qu'il faut vérifier à la main

La règle rapproche des identifiants, pas des articles. Quand un identifiant et un article ne concordent pas, le rapport affiche un écart ou un produit absent qui relève en fait du rapprochement.

Le même SKU sur deux articles différents

La boutique A utilisait 1001 pour une carafe en verre, la boutique B pour un cache-pot en céramique. Le passage par SKU les a rapprochés, et le rapport a affiché « Carafe en verre » avec un écart de 32 € à 27 €. La ligne montre le nom de la première boutique et le SKU : rien n'y indique que le produit d'en face est un cache-pot.

Dans une même boutique, un SKU ne peut pas servir deux fois. Nous avons tenté par script de donner APR-01 à un second produit. WooCommerce a refusé : « UGS non valide ou dupliqué. » Mais rien ne coordonne les SKU entre deux boutiques. Une référence courte ou numérotée comme 1001 peut désigner n'importe quoi de l'autre côté. Ouvrez les deux fiches produit avant de vous fier à une paire par SKU qui affiche un gros écart.

Le même nom sur deux articles différents

Les deux boutiques vendaient une « Planche à découper » sans SKU : en chêne à 45 € dans A, en bambou à 19 € dans B. Le passage par nom les a rapprochées et a signalé un écart de prix. Ce sont les noms génériques comme celui-ci qu'il faut surveiller. Le rapport indique la clé de chaque paire, « SKU » ou « Nom ». Une paire par nom avec un gros écart est la première ligne à vérifier.

Le même article sous deux noms

Notre cuillère s'appelait « Cuillère en bois d'olivier », OWS-1, dans A et « Cuillère bois d'olivier », WS-22, dans B. Aucune clé ne concordait, elle est donc apparue dans les deux listes d'un seul côté. La règle ne rapproche pas des mots voisins, ce qui évite d'associer des produits aux noms proches mais différents. Lisez les deux listes côte à côte : un produit présent dans chacune sous deux noms est une paire manquée, pas un produit absent.

Un nom en double, et un produit non publié

Les deux serviettes sont restées sans correspondance parce que leur nom n'était pas unique. La jardinière existait dans les deux administrations, mais elle était en brouillon dans B, et un brouillon ne figure pas dans la liste publique d'une boutique. « Uniquement dans la première » peut donc aussi vouloir dire « non publié dans la deuxième ». Pour la boutique d'un autre, c'est la lecture utile. Pour votre propre copie, vérifiez l'état du produit dans l'administration. Le guide pour transférer des produits WooCommerce vers une autre boutique liste les autres vérifications à faire après un import.

Lire les écarts de prix et de stock

Le prix comparé est celui que paie le client aujourd'hui. Le sac cabas avait le même tarif régulier dans les deux boutiques. B le proposait en promo à 19 €, et le rapport a affiché 24 € → 19 €.

Un produit variable est comparé comme un seul produit, au prix que la Store API donne pour lui : le prix de sa variation la moins chère. Notre chemise démarrait à 60 € dans les deux boutiques, le rapport n'a donc signalé aucun écart. Pourtant, la taille L coûtait 10 € de plus dans B, et la taille S y était en rupture. La chemise comptait quand même comme en stock, puisqu'une de ses tailles l'était.

Le stock est comparé en deux états : en stock ou en rupture. Les emballages à la cire comptaient 50 unités dans A et 2 dans B : aucun écart. L'étagère en réapprovisionnement dans B était en stock pour la comparaison, comme pour un client qui peut encore la commander.

Des prix dans deux devises comptent comme un écart. Le rapport affiche chaque prix dans la devise de sa boutique, sans conversion.

Deux démos de thèmes, comparées

Nous avons lancé le comparateur sur la boutique de démonstration du thème Flatsome et sur celle du thème React. Toutes deux reprennent le même jeu de produits d'exemple, dont « Woo Logo », « Ship Your Idea » et « Flying Ninja ». Le rapport a lu tous les produits : 67 dans la première boutique, 23 dans la deuxième.

Rapport du comparateur pour demos.flatsome.com et react.themecatcher.net : 8 correspondances, 8 avec écarts, 59 uniquement dans la première boutique, 15 uniquement dans la deuxième, 67 et 23 produits vérifiés ; huit paires rapprochées par le nom, chacune avec un prix en dollars et un prix en livres, comme 35,00 $US et 35,00 £GB pour Patient Ninja, 20,00 $US et 12,00 £GB pour Flying Ninja ; Woo Logo, Premium Quality, Ship Your Idea, Ninja Silhouette et Woo Ninja dans les deux listes de produits présents d'un seul côté Le même rapport du comparateur, en mode sombre
Le rapport pour les démos des thèmes Flatsome et React, le 15 octobre 2026.

Huit produits ont été rapprochés, tous par leur nom, et les huit figurent avec un écart de prix. La démo React vend en livres sterling et la démo Flatsome en dollars : chaque paire diffère par la devise. Chaque ligne du rapport place un prix en dollars face à un prix en livres. Sept des huit affichent le même montant des deux côtés, comme 35 pour « Patient Ninja ». Le huitième est un vrai écart. « Flying Ninja » est un produit variable à partir de 20 $ chez Flatsome, et une affiche en promo à 12 £ (au lieu de 15 £) chez React.

Les 15 produits « uniquement dans la deuxième » sont le chiffre le plus parlant. Six noms reviennent de chaque côté, deux ou trois fois chacun. Dans la démo React, « Ship Your Idea » désigne un t-shirt, un sweat à capuche et une affiche. Un seul des 90 produits des deux démos porte un SKU : le nom est donc la seule clé. Un nom partagé par trois produits ne dit pas quel t-shirt est lequel, et l'outil les a tous laissés sans correspondance. C'est pourquoi les deux listes de produits présents d'un seul côté, en bas du rapport, affichent les cinq mêmes noms.

Quand un même motif existe en plusieurs types de produits, une comparaison produit par produit demande des SKU. Sans eux, l'outil donne quand même la taille des deux boutiques, les produits uniques qu'elles ont en commun et les noms en double à trier à la main.

Les grands catalogues, et garder le résultat

Pour voir ce qui se passe au-delà des 100 premiers produits, nous avons ajouté 100 produits à la boutique B, puis publié une nouvelle jardinière après eux. Le rapport a alors indiqué « 100 premiers produits vérifiés » sous la boutique B. La jardinière est restée « uniquement dans A » : c'était le 116e produit sur 116. Sur un grand catalogue, le rapport gratuit montre comment se comparent les produits les plus anciens des deux boutiques.

Pour le catalogue entier, exportez-le. Le bouton « Ouvrir le premier catalogue » du rapport ouvre ScrapeWoo avec l'adresse de la première boutique. Vous parcourez ses catégories et ses produits, vous les exportez en CSV standard ou en JSON, puis vous faites de même pour la deuxième boutique. Le CSV standard compte une ligne par produit et une par variation. Chacune porte son SKU, son prix, son tarif régulier, sa devise et son état de stock, ainsi que la quantité quand la boutique la publie.

Rapprochez les deux fichiers sur la colonne SKU, puis sur le nom pour les lignes qui n'en ont pas, comme le fait l'outil. Les lignes de variation portent ce que la comparaison en une ligne laisse de côté. Pour notre chemise, ce sont la taille L à 80 € et la taille S en rupture. Pour choisir entre CSV et JSON, le guide quel format choisir pour exporter des produits WooCommerce les compare.

L'outil et ScrapeWoo ne lisent que ce que chaque boutique publie pour tout visiteur. L'article sur ce que la Store API WooCommerce expose détaille cette liste champ par champ. Pour commencer, saisissez vos deux boutiques dans le comparateur de catalogues, et lisez d'abord les paires par nom et les listes d'un seul côté.

Sources

  1. Store API : route des produitsdeveloper.woocommerce.com

■  À lire ensuite

Voir tous les guides

Besoin de récupérer ce catalogue dans un fichier ?

Collez une URL WooCommerce publique. ScrapeWoo détecte le catalogue, vous laisse choisir les produits et prépare un export CSV ou JSON propre.