=== Ranklify for WooCommerce ===
Contributors: ranklify
Tags: woocommerce, seo, product description, ai, content
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Write SEO-optimised WooCommerce product titles, descriptions, bullet points, tags and meta with Ranklify AI — from the product screen or in bulk.

== Description ==

Ranklify turns what you already know about a product into listing copy that reads well and ranks. Open a product, press Generate, review what comes back, and apply the parts you want.

**What it writes**

* Product title
* Long description
* Short description as bullet points
* Product tags
* Focus keyphrase and meta description for your SEO plugin
* An SEO score breakdown so you can see why a listing is or isn't strong

**How it fits your workflow**

* A panel on the normal product edit screen — no separate app to learn
* Bulk generation from Products → Bulk actions, spaced so it never trips a rate limit
* Nothing is written to a product until you tick the fields and press Apply
* One-click undo restores the copy from before the last apply

**Works with your SEO plugin**

Yoast SEO, Rank Math, SEOPress and All in One SEO are detected automatically. If you run more than one — a migration in progress, say — the keyphrase and meta description are written to each of them.

**Plans**

Connecting is free and works on every Ranklify plan, including the free one. Each generated listing uses one credit from your monthly Ranklify allowance.

== External services ==

This plugin connects to Ranklify (https://www.getranklify.com), a third-party AI service, to generate listing copy. The plugin is useless without it: the generation happens on Ranklify's servers, not on your site.

**When data is sent**

* When you press **Generate** on a product, or run the bulk action.
* When you open the plugin's settings screen or a product screen, to read your plan and remaining credits.
* When you connect the store, to exchange the one-time authorisation code for a token.

**What is sent**

* Product name, categories, price, short description or visible attributes, and SKU
* The tone and brand profile you select
* Your store's address, so the connection can be identified and revoked
* Your WordPress and plugin version, in the request User-Agent

**What is never sent**

* Customer data, orders, or any personal data of your shoppers
* Your WordPress password or any WordPress user credentials

Generated listings are stored in your Ranklify account history so you can find them later from the Ranklify dashboard.

Service terms: https://www.getranklify.com/terms
Privacy policy: https://www.getranklify.com/privacy

== Installation ==

1. Install and activate the plugin. WooCommerce 7.0 or newer must already be active.
2. Go to **WooCommerce → Ranklify** and press **Connect to Ranklify**.
3. Approve the connection on Ranklify. You'll be brought straight back.
4. Open any product. The Ranklify panel is under the product data box.

== Frequently Asked Questions ==

= Do I need a paid Ranklify plan? =

No. The connection works on every plan including the free one, which includes three listings a month. Paid plans raise the monthly allowance.

= Will it overwrite my existing product copy? =

Only when you tell it to. Generating stores a draft against the product and changes nothing. You choose which fields to apply, and if you leave the backup option on (it is on by default) an **Undo last apply** button restores what was there before.

= Why does generating take 20-35 seconds? =

Because a real generation takes that long. Rather than hold a PHP request open — which many hosts kill at 30 seconds — the plugin queues the job and collects the result in the background. You can navigate away and come back; the result will be waiting.

= What happens if I bulk generate 500 products? =

They're queued and processed in the background, spaced out so the API rate limit is never hit. If your remaining credits don't cover the whole selection, the batch is trimmed to what you can pay for and you're told how many were skipped. Results wait in the Ranklify column until you review them.

= Does it work with the new product editor? =

The classic product editor is fully supported. The React-based product editor that's still in beta is not, so the panel won't appear there yet.

= Where is my connection token stored? =

In your site's options table, encrypted with a key derived from your WordPress salts where your server supports it. If you move the site to a new host and change salts, the token can't be decrypted and the plugin will ask you to reconnect.

= How do I revoke access? =

**Disconnect this store** on the settings screen stops this site using the token. To revoke it entirely, go to **API & Connections** in your Ranklify dashboard.

== Screenshots ==

1. The Ranklify panel on the product edit screen.
2. A generated listing with SEO scores, ready to review.
3. Bulk generating from the Products list.
4. Connection and defaults on the settings screen.

== Changelog ==

= 1.0.3 =
* Housekeeping for the WordPress.org listing: the Plugin URI now points to a
  reachable page, and WooCommerce is declared as a required plugin via the
  Requires Plugins header so WordPress can enforce the dependency on 6.5+.
  No functional changes.

= 1.0.2 =
* Security: the Ranklify API base URL is now forced to HTTPS. The connection
  token is sent as a Bearer credential on every request, so a filter or
  constant pointing the plugin at an http:// endpoint could have exposed it in
  cleartext. Local development hosts (localhost, 127.0.0.1, *.local) are exempt.

= 1.0.1 =
* Once a generated listing is applied, the product screen now shows an "Applied"
  confirmation and a "Generate another product description" button in place of
  the Apply/Dismiss controls.
* The Products list shows an "Applied" status instead of "Ready to review" for
  products whose generated copy is already live.
* A re-generated listing correctly returns the product to "ready to review"
  until it is applied again.

= 1.0.0 =
* First release.
* Connect flow with per-store tokens; works on every Ranklify plan.
* Generate from the product screen with live progress.
* Bulk generation from the Products list, rate-limit aware and credit aware.
* Field-by-field apply with a one-click undo.
* Yoast SEO, Rank Math, SEOPress and All in One SEO support.
* HPOS declared compatible.

== Upgrade Notice ==

= 1.0.3 =
Listing metadata only — Plugin URI fixed and WooCommerce declared as a required
plugin. No functional changes.

= 1.0.2 =
Security fix: forces HTTPS for the Ranklify API connection so the store token
can't be sent in cleartext. Recommended for all sites.

= 1.0.0 =
First release.
