About this plugin
A shopping channel marks a product disapproved and does not really tell you why. The usual advice is to open Merchant Center once a week and work through the diagnostics tab. That means you find out after the disapproval, and a disapproved product sells nothing in the meantime. This plugin runs those checks in your own shop instead, before anything is sent. It does two things, in the order that actually helps. First it tells you what is wrong. Thirty-five checks against what the shopping channels ask for, run over your real products, sorted by whether the problem stops your whole shop, stops one product, or just costs you position. Ten products with no barcode become one line that says so, with links to three of them. Then it builds the feed. For channels that read an address, you get an address to paste in. For channels that ask you to upload the file yourself, you get the file. Products with a blocking problem are left out rather than sent broken, because a feed full of rejects gets the whole shop marked down, including the products that were fine. Barcode check digits A barcode with one digit mistyped is worse than no barcode at all. It looks right on your product screen, it passes an “is this field filled in” test, and the channel silently fails to match it. From the outside nothing appears to be wrong, so there is nothing prompting you to look. This plugin does the arithmetic. A GTIN, UPC, EAN or ISBN carries a check digit calculated from the digits before it, so a mistyped code can be caught before it costs you anything. It also catches the commonest version of the mistake: a thirteen digit code with the last digit dropped, which still looks like a valid twelve digit one. Be clear about what this can and cannot know. The channels separate a code that is invalid , meaning the arithmetic does not come out, from one that is incorrect , meaning the arithmetic is fine but the code belongs to a different product. Arithmetic finds the first. Only the manufacturer’s own records can settle the second, so no plugin should claim to. What it checks Whether your shop can be listed at all: policy pages, return window, currency, shipping Barcodes: missing, wrong length, and check digit arithmetic Titles and descriptions: too short, empty, formatted in a way that will not survive Images: missing, too few, too small Prices: missing, and sale prices entered above the regular price Stock: status missing, quantity not tracked where a channel needs the number Variations: colour and size missing, variations with no parent Products a channel refuses outright, and downloads where only physical goods are accepted What it will never do Change or delete anything in your shop. It reads. Send your products, customers or orders to the plugin author. Put a feed at a public address for a channel that asks you not to. Tell you your shop is fine when it could not run the check. Built for a real catalogue A shop with twenty thousand products cannot be checked inside one page load, and a screen that dies halfway is worse than a slow one. The check runs in pieces with a progress bar, and each piece hands back well inside what your host allows. The feed is written to a working file and swapped into place only when it is whole, so a channel reading at that moment gets the previous feed or the new one, never half of either. Keeping up without updating The shopping channels change what they ask for. Those requirements live in a signed rule file the plugin fetches once a day, so a change on their side does not wait for a plugin release. Every file is checked against a signature made with a key that is not in this plugin, refused if it is older than the one already in use, and refused if it describes anything the plugin does not already know how to do. If any of that fails, or the server cannot be reached, your shop carries on with the rules it already had. External services This plugin connects to one service, run by the plugin author, to keep its list of channel requirements current. What is sent: nothing. The request asks for a file and sends no shop data, product data, customer data or identifying information of any kind. What is received: a rule file describing what each shopping channel asks for, and a signature for it. When: once a day, and when you press “Check for new rules now”. Where: https://podsync.lifeinsight-365.com/rules/ only. Who runs it: globalmatchhub, the author of this plugin. Terms of service: podsync.lifeinsight-365.com/rules/terms Privacy policy: podsync.lifeinsight-365.com/rules/privacy The plugin works without this service. Every release carries a full copy of the rules, and a shop that never reaches the service keeps using the copy it already has. Nothing is sent to it, so there is no data of yours to opt out of. The plugin does not contact the shopping channels themselves. Feeds are built inside your shop; you decide who reads them.