=== CatalogLift - Product Audit for WooCommerce ===
Contributors: cataloglift
Tags: woocommerce, product catalog, product descriptions, product data, seo
Requires at least: 6.7
Tested up to: 7.1
Stable tag: 1.0.1
Requires PHP: 8.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find missing product data, weak descriptions and SEO issues in WooCommerce. Review your catalog and proposed fixes in CatalogLift.

== Description ==

CatalogLift helps you find and fix problems in your WooCommerce product catalog: missing descriptions, incomplete product data, incorrect sale prices and overlooked SEO fields. See which products need attention and why, then review proposed changes before applying them to your store.

Use it to check a new product import, work through a catalog cleanup, or keep track of issues as your store changes. Each finding points to the affected product and explains the problem, so you can decide what to tackle first.

**A CatalogLift account is required.** This plugin connects your store to the CatalogLift online service, where you view findings and review fixes. A free plan is available; applying changes to WooCommerce through the service requires a paid plan.

= Find the gaps in your product catalog =

* **Product descriptions:** find missing, thin or duplicated descriptions, weak short descriptions and leftover placeholder text.
* **Product SEO:** check SEO titles and meta descriptions stored by Yoast SEO or Rank Math, alongside the product content shoppers see.
* **Images and alt text:** spot missing main images, repeated gallery images and missing or placeholder image descriptions.
* **Product identifiers:** find missing or duplicated SKUs and GTINs that need attention.
* **Prices and variations:** flag missing prices, sale-price inconsistencies and problems with product variations.
* **Catalog organization:** identify missing brands, category issues and products hidden from the catalog.

= Turn findings into reviewed changes =

1. **Connect and scan.** Connect your store from WordPress and let CatalogLift check your catalog.
2. **See what needs attention.** Review findings with the affected products and the evidence behind each issue.
3. **Review a proposed fix.** For supported issues, compare the current value with the suggested change. AI can help draft product content for you to review.
4. **Apply and verify.** On a paid plan, apply approved fixes through CatalogLift. The service reads the saved values back from WooCommerce and records the result.

For issues that need your judgment or a manual edit in WooCommerce, use the finding to guide your next step.

= Keep control of your store =

Scanning and generating a draft do not change your products. You can review fixes in the CatalogLift panel; if you choose to connect your own AI agent, it can also approve and apply changes with the access you grant it.

Eligible verified changes can be undone from their change record for 150 days. Before restoring a value, CatalogLift checks that it still matches the value it wrote, protecting edits made in the meantime.

CatalogLift also tracks catalog changes after the first scan, helping you catch new issues as products are added or edited. Monitoring frequency depends on your plan.

= Start with a free catalog audit =

The free service plan covers one store and includes catalog checks, findings and a one-time allowance to try AI drafting. It does not apply changes to WooCommerce. Paid service plans add applying approved fixes, a recurring AI allowance and options for managing more stores.

The WordPress plugin is free. Service plans have catalog limits and AI allowances; see the [current plans and limits](https://cataloglift.com/pricing) before connecting.

== Installation ==

1. Install and activate WooCommerce 10.0 or newer.
2. Install this plugin from the WordPress plugin directory, or upload the zip under *Plugins → Add New → Upload Plugin*, and activate it.
3. Open *CatalogLift* in the WordPress admin menu and click *Connect*.
4. Sign in or create a CatalogLift account when asked. The connection finishes automatically and returns you to your store.
5. Open CatalogLift to review your first scan. Start with a finding, inspect the affected product and review the suggested next step.

To disconnect, open the CatalogLift screen in WordPress and click *Disconnect*.

== Frequently Asked Questions ==

= Where do I see the audit results? =

In your CatalogLift account. The WordPress screen manages the connection and links to the service. You need WooCommerce and a CatalogLift account to use this plugin.

= What can I do for free? =

Check one store, review findings and try AI drafting with the free plan's one-time allowance. All catalog checks are included. Applying changes through CatalogLift requires a paid service plan. See [pricing](https://cataloglift.com/pricing) for current limits and allowances.

= Will connecting my store change any products? =

No. Connecting, scanning and generating drafts do not write changes to your products. Changes require approval and an apply action in CatalogLift. An AI agent you explicitly connect can also perform those actions with your account's permissions.

= Can I undo a change? =

Eligible verified changes can be rolled back from their change record for 150 days. Availability depends on the field, its previous value and your connector. If someone has edited the value since CatalogLift changed it, the rollback is blocked to protect that newer edit.

= Does CatalogLift replace Yoast SEO or Rank Math? =

No. It works with the product SEO titles and meta descriptions those plugins store. Supported, approved fixes are saved to the same fields. Your SEO plugin continues to manage how that metadata appears on your site. CatalogLift also checks product data, images, prices and descriptions beyond those SEO fields.

= Can it write product descriptions with AI? =

Yes. CatalogLift can draft supported product content from the data available in your catalog. Review the proposed text before using it, especially product facts and claims. AI drafting uses your service plan's allowance; a draft is not automatically published.

= Will scans affect my storefront? =

CatalogLift analyzes your catalog in its online service. Your store still handles requests to read products and track changes, so scans use some hosting resources. The plugin does not run the catalog analysis as part of a shopper's page request.

= What happens when I deactivate or delete the plugin? =

Deactivating stops the plugin's scheduled tasks and removes nothing: the connection, its credentials and the plugin's records stay, and activating it again carries on where it stopped. Deactivation does not revoke the connection in CatalogLift.

Deleting the plugin removes everything it stored in your site — the connection and its credentials, its settings and both of its database tables. It does not contact CatalogLift, so use Disconnect on the CatalogLift screen first; otherwise the store stays listed in your CatalogLift account until you remove it there. Installing the plugin again always starts a new connection. One of the removed tables is the record of changes CatalogLift applied, and an undo is checked against that record: after deleting the plugin, changes applied before that can no longer be undone from CatalogLift. Changes already saved to your products remain in WooCommerce.

= My store uses plain permalinks. Will it connect? =

Yes. CatalogLift finds out how your store's REST API is addressed when you connect. If you later switch a connected store from friendly to plain permalinks, disconnect and connect it again so CatalogLift learns the new address.

= Where can I get help? =

For connection problems or questions about your CatalogLift account, [contact CatalogLift support](https://cataloglift.com/contact).

== External service ==

This plugin connects to [CatalogLift](https://cataloglift.com), a third-party online service required for catalog analysis, findings and proposed fixes. It does not provide a standalone audit inside WordPress.

The plugin does not send your catalog to CatalogLift until a store administrator starts the connection and authorizes it in a CatalogLift account. Disconnecting revokes the store's connection credentials.

The connection exchanges the following data with `cataloglift.com`:

* **During setup:** the store URL, plugin, WordPress, PHP and WooCommerce versions, store settings such as currency, supported capabilities and connection credentials, to establish and authenticate the connection and check compatibility.
* **During scans and monitoring:** products and variations (including names, descriptions, prices, SKU, GTIN, stock status, visibility and permalinks), categories, attributes and terms, brands, image URLs and alt text, and supported SEO fields. Catalog changes are reported so the service can refresh its findings. The connector sends image references, not image file uploads.
* **When applying or undoing a change:** the product field values needed to perform, verify and record the requested change.
* **While connected:** requests for a store summary displayed in WordPress.

The connector does not request order, customer account or payment records, or WordPress user passwords.

See the [Terms of Service](https://cataloglift.com/terms) and [Privacy Policy](https://cataloglift.com/privacy) for how CatalogLift handles data.

== Screenshots ==

1. Findings in CatalogLift: catalog problems grouped by type, each with the drafts ready to review.
2. Review a proposed fix: the field, the new value, and what approving it means before anything changes in WooCommerce.
3. The CatalogLift screen in WordPress after connecting: the loop's five stations, the product count, and the way into CatalogLift.

== Changelog ==

= 1.0.1 =
* Works on stores with plain permalinks: CatalogLift reaches the connector through `index.php?rest_route=` when `/wp-json/` is not available.
* Deactivating the plugin cancels all of its scheduled work and keeps the connection; deleting it removes its options, transients, user meta and both tables.
* Security hardening: request handling reads only the server values and headers it needs, and admin actions check the user's capability before the nonce.

= 1.0.0 =
* First public release: store connection, catalog export, change tracking, applying and rolling back approved fixes, SEO field support for Yoast SEO and Rank Math.

== Upgrade Notice ==

= 1.0.1 =
Adds support for plain permalinks, stops the plugin's scheduled work on deactivation and removes its data when the plugin is deleted. No action needed after updating.

= 1.0.0 =
First public release.
