Merchlint – Duplicate SKU and GTIN Finder for WooCommerce

Description

Two products with the same SKU throw off stock levels, integrations and every export file your store
produces. Two products with the same GTIN tell a shopping service they are the same item, so one of
them quietly disappears from search. A product with no identifier at all usually drops out of the
feed altogether.

None of this breaks your store, which is why it goes unnoticed for years. Nothing in the WooCommerce
admin points at any of it.

This plugin checks three things and nothing else:

  • Two products share the same SKU. Translations of one product are not counted as a duplicate —
    a multilingual store gives every translation the same code on purpose, and reporting that pair
    would be a false alarm. We read the translation groups of Polylang and WPML.
  • Product with no GTIN, UPC, EAN or ISBN. Stays quiet in shops that do not use identifiers at
    all: if not one product has the field filled, you get a single sentence saying so instead of a
    list of your entire catalogue. Handmade goods, services and your own production carry no
    manufacturer’s barcode and need none.
  • Two products share the same identifier.

What it does not do

It never writes to your catalogue. There is no “Fix it” button, and there will not be one: a
bulk change to product data is not something a report should do on your behalf. Every finding shows
the value that was read, so you can check the claim before you act on it.

It reads no order data, which makes the scan far cheaper than a full audit. The scan still runs
in a single request, so on a very large catalogue it can run into your host’s time limit — the
screen says so when that becomes likely, and the WP-CLI command has no such limit.

Evidence, not adjectives

Every finding shows the field that was read and the value found, with a link straight to the product
in your admin. A rule that could not run says so by name — on WooCommerce older than 9.2 the
identifier field does not exist at all, and the report says that rather than reporting every product
as faulty.

Where the audit engine comes from

The scanning engine is the one behind Merchlint, a full WooCommerce catalogue audit from the same
author. This plugin carries its own copy with its own class names, so both can run side by side.

Screenshots

Installation

  1. Install and activate.
  2. Open Tools Duplicate SKU and GTIN Finder.
  3. Press Scan now.

For large catalogues there is a WP-CLI command: wp merchlint-duplicate-sku-finder scan.

FAQ

Does it change anything in my shop?

No. It reads the catalogue and writes nothing back. The only thing it stores is the last result, so
that reloading the page does not require another scan.

My shop is multilingual. Will translations be reported as duplicates?

No. Translations of one product share an SKU on purpose, and the check treats one translation group
as one product. Polylang and WPML are both read.

I do not use GTINs at all. Will I get a list of every product?

No. If not one product in the catalogue has the field filled, the check stays quiet and tells you
why, in one sentence.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Merchlint – Duplicate SKU and GTIN Finder for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

“Merchlint – Duplicate SKU and GTIN Finder for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Merchlint – Duplicate SKU and GTIN Finder for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.1

  • Renamed on the request of the plugin directory review: the display name now leads with the
    Merchlint brand, and the slug and text domain are “merchlint-duplicate-sku-finder”.
  • One name for everything, so nothing is left half-renamed: the WP-CLI command is now
    wp merchlint-duplicate-sku-finder scan, the screen sits at
    Tools -> Duplicate SKU and GTIN Finder (tools.php?page=merchlint-duplicate-sku-finder) and the
    export is saved as merchlint-duplicate-sku-finder.csv. The checks, the findings and the columns
    of the CSV file are unchanged.
  • The name also says what the plugin actually looks at: duplicate SKUs and duplicate or missing
    product identifiers, not SKUs alone.
  • Accessibility: the table headers now carry scope, and each Edit link says which product it
    edits, so a screen reader no longer reads eight links called only “Edit”.
  • Declared compatibility with the Cart and Checkout blocks, next to the existing High-Performance
    Order Storage declaration. The plugin adds nothing to the front end; without the declaration
    WooCommerce listed it among extensions of uncertain compatibility.

0.1.0

  • First release. Duplicate SKU, missing GTIN and duplicate GTIN, with evidence on every finding,
    CSV export and a WP-CLI command.