=== Michael, Check My Shop – Product Data Audit for WooCommerce ===
Contributors: m1sh0u
Tags: woocommerce, products, audit, product data, google shopping
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find products with missing or broken data: weights, dimensions, images, alt text, SKUs, GTINs. One score, clear fix lists.

== Description ==

Missing product data quietly costs a store money. A product without a weight is undercharged for shipping. A product without an image hardly sells. An invalid GTIN gets the product rejected from Google Shopping. And nobody notices until a customer, a carrier invoice or a feed error points it out.

**Check My Shop** checks every product in your WooCommerce store, gives your catalog a health score from 0 to 100, and lists exactly which products need what.

https://www.youtube.com/watch?v=EiPwCqFsuws

= What it checks =

**Shipping data**

* Products and variations without a weight
* Products without length, width, or height
* Sizes or weights that can't be right, like a side over 3 metres or a weight that's impossible for the size (usually a value typed in the wrong unit)

**Images**

* Products without a product image
* Images that are gone: deleted from the Media Library, or the file is missing on the server
* Product and gallery images without alt text
* Alt text that is really a file name, like "IMG_4821" or "DSC0193.jpg"
* Product images under 800 pixels, which look blurry when zoomed
* Image files over 1 MB or over 2560 pixels, which slow the product page

**Identifiers**

* Products without a SKU
* SKUs used by more than one product or variation (from imports or sync tools)
* GTINs, UPCs, EANs, and ISBNs with the wrong length or check digit
* GTINs used by more than one product or variation, which Google Shopping rejects
* Products without a brand, in stores that use WooCommerce Brands (at least 1 in 10 products has one)
* Products without a GTIN, in stores that use GTINs (at least 1 in 10 products has one)

**Titles and descriptions**

* Products with no description at all
* Very short descriptions
* Titles over 150 characters (Google Shopping's limit)
* Titles written in capital letters
* Products with the same title as another product, or one that differs only in spaces, punctuation, accents or capitals

**Price, stock and categories**

* Products and variations without a price
* Prices that are set but not active, so the product can't be added to the cart (usually after an import)
* Prices of 0, which let customers order without paying
* Sale prices more than 90% off, usually a typo like 1.99 instead of 19.99
* Variations that cost 10 times more or less than the others, usually a misplaced decimal point
* Negative stock
* Products only in the default category

= Features =

* **Health score and grade** for the whole catalog, plus a percentage for each area, and how the score changes over the last 90 days.
* **Fix lists** for every check, with product images, SKUs and variation names, filters by severity and category, and **CSV export** to work through them in a spreadsheet or hand them to someone.
* **Fix in the list:** type a missing weight, dimensions, SKU, GTIN, price or stock, or pick a category, straight in the fix list and save. The product is re-checked at once, and WooCommerce's own rules still apply (it refuses a SKU another product already has).
* **Ignore** an issue that's fine for a product (a handmade item without a GTIN, say): it stops counting in the score and moves to an "Ignored issues" list, where you can undo it.
* **Health column** in the product list, with a filter for products with issues.
* **Health box** on the product screen, listing that product's issues.
* **Dashboard widget** with your score and biggest problems.
* **Weekly email report** (opt-in): your score, how it changed and the three biggest problems, sent through your site's own email.
* **Always up to date:** a product is re-checked as soon as you save it or change the alt text of one of its images. A full check runs in the background once a week, in batches, so even very large catalogs never slow your site down.
* Variable products are checked variation by variation.

= Private by design =

Everything runs on your own server. The plugin makes no external requests, sends no data anywhere (the optional weekly report goes only to the address you choose, through your site's own email), has no tracking and adds nothing to your shop's front end.

= From the same team =

When the check finds products without weights or dimensions, or images without alt text, it suggests our AI plugins that fill those in: **BoxIntellect** and **AmazImg**. The suggestions appear only on the Check My Shop page, next to the problem they solve, and you can hide them. A hidden suggestion only comes back after 90 days if the problem is still there, or sooner if it grows a lot. Every check and fix list works fully without them.

== Installation ==

1. Install and activate the plugin. WooCommerce must be active.
2. Go to **WooCommerce → Check My Shop**. The first check starts by itself and runs in the background.
3. Open a check's product list, fix the products, and watch the score go up.

== Frequently Asked Questions ==

= Does it change my products? =

No. It only reads your product data and shows what's missing. You fix products in the normal product editor.

= Will it slow down my store? =

No. Nothing runs on the front end. The full check runs in the background in batches of 200 products, and saving a product re-checks only that product.

= Does it check draft products? =

Yes, by default, because stores often prepare products as drafts. You can turn that off on the Settings tab of the Check My Shop page.

= How is the score calculated? =

Each product starts at 100 and loses 25 points for each critical issue, 10 for each warning and 2 for each tip (never below 0). The store score is the average of all checked products. A is 90 or more, B 75, C 60, D 40, F below.

= Can I turn a check off or add my own? =

Yes, with the `cathc_checks` filter. The minimum image size can be changed with `cathc_min_image_size`, the limits for large image files with `cathc_max_image_bytes` and `cathc_max_image_pixels`, and the checked product statuses with `cathc_product_statuses`.

= Can it email me a report? =

Yes. Turn on the weekly report on the Settings tab of the Check My Shop page. It goes to the site's admin email, or to any address you enter, through WordPress's normal email. If your site can't send email, an SMTP plugin fixes that.

= Does it send my data anywhere? =

No. See "Private by design" above.

== Screenshots ==

1. The Check My Shop page: score, grade, the percentage complete for each area, what to fix, and our other plugins.
2. A fix list: every product with that problem, with fields to fix it right there, filters, and CSV export.
3. The Health column and filter in the product list.
4. The health box on the product screen.
5. The dashboard widget.
6. The Settings tab, with the weekly email report.
7. The weekly email report.

== Changelog ==

= 1.0.1 =
* The duplicate title check also finds titles that differ only in spaces, punctuation, accents or capitals, like "Blue T-Shirt" and "blue t shirt", a common sign of a product imported twice. The other title is shown, so you can see the difference.

= 1.0.0 =
* First release.

== Upgrade Notice ==

= 1.0.1 =
Finds near-identical product titles too. Run a new scan to see them.

= 1.0.0 =
First release.
