Getting started
Requirements
- WordPress 6.0 or newer (tested up to 7.0)
- PHP 7.4 or newer
- WooCommerce installed and active — the plugin declares it as a required plugin and is HPOS-compatible
Installation
- In your WordPress admin go to Plugins → Add New and search for Flance Product Image SEO, or upload the plugin ZIP.
- Click Install Now, then Activate.
- A new top-level Product Image SEO menu appears in your admin sidebar with five screens: Dashboard, Product Images, Bulk Fix, Audit Report and Settings.
With WP-CLI:
Install → paste your free API key in Settings → open the Dashboard and click Run Audit. You'll see your catalog-wide image SEO score in under a minute.
Connect your API key
All auditing and scoring runs locally and needs no account. AI alt text generation uses the Alt Audit API, which requires a free API key.
- Create a free account at altaudit.com — the free plan includes 25 AI credits every month, no credit card required.
- Copy your API key from the Alt Audit dashboard.
- In WordPress, open Product Image SEO → Settings → API, paste the key, and click Test Connection. You should see a success message.
- Click Save Settings.
Credits are account-wide: the same key works in both this plugin and the Alt Audit media-library plugin.
Dashboard
The Dashboard is your catalog-wide overview. All headline numbers are image-level: every featured, gallery and variation image of every published product counts.
- Average score — the mean 0–100 alt text quality score across all product images. Decorative images (intentionally empty alt) don't drag the average down.
- Missing alt text — how many product images currently have no alt text.
- Weak alt text — images whose alt text scores in the weak band (1–60).
- Coverage — how many featured, gallery and variation images already have alt text.
Click Run Audit to scan the catalog. The scan walks every product, computes coverage and status, and refreshes all numbers. It is a local operation and uses no credits.
Product Images catalog
The Product Images screen lists every product image — not your whole media library — with one row per image:
- Image / File Name / Product — thumbnail, attachment link and the parent product.
- Role — whether the image is the product's featured image, a gallery image, or a variation image.
- Alt Text — the current alt text (or (no alt text)).
- Status & Quality Score — the scoring band badge and 0–100 score bar (see Scoring).
Filter by status band or image role, search by file name, and sort by quality score. Two actions are available on every row:
- Generate — asks the AI for an alt text suggestion for that image (uses 1 credit). The suggestion opens in a review modal with a live character counter; you can edit, regenerate, or save it.
- Recalc Score — re-computes the local quality score after you've changed alt text elsewhere. Free.
Bulk actions
Select multiple rows with the checkboxes and choose Generate Alt Text or Recalculate Scores from the bulk-actions dropdown. Images are processed one at a time with a sticky progress banner — a live counter of generated / skipped / failed — and each row updates in place. You can cancel between images.
Bulk Fix
Bulk Fix processes the whole catalog in the background, so you can leave the page while it works. The headline number always tells you exactly what the next run will do:
- Skip mode (default — "Skip images with existing alt text" is ON): only images that are missing alt text are generated. If nothing is missing, the button is disabled with "Nothing to fix".
- Overwrite mode (skip turned OFF in Settings): every product image is regenerated and existing alt text is replaced. The page shows an orange warning and asks you to confirm — this uses one credit per image.
Jobs run through Action Scheduler, the same background queue WooCommerce uses, one product per job — so bulk runs survive page reloads and PHP time limits. The page shows a live progress bar with per-image counters ("Generating alt text… 23 of 75 images · 22 generated · 8 skipped · 1 failed") and a run summary when it completes.
Each generated image uses one API credit. Skipped images cost nothing. If a run reports failures, check your credit balance and API connection, then run again — already-covered images will be skipped automatically in skip mode.
Audit Report
The report summarizes the catalog for stakeholders:
- Average score gauge and total product/image counts.
- Coverage breakdown — featured, gallery and variation images that already have alt text.
- Score distribution — how many images fall in each band, using the same colors as the catalog badges.
Download CSV Report exports one row per product image — file name, product, role, current alt text, status and quality score — ready for client reporting or a spreadsheet workflow.
Scoring explained
Every image gets a deterministic 0–100 score computed locally from measurable signals: alt text length, word count, descriptiveness, keyword structure and accessibility criteria. The same alt text always produces the same score, and every score comes with a plain-English explanation.
| Band | Score | Meaning |
|---|---|---|
| MISSING | 0 | No alt text at all. Invisible to image search and screen readers. |
| WEAK | 1–60 | Alt text exists but is too short or non-descriptive to help. |
| GOOD | 61–85 | Solid, descriptive alt text. Could add product-specific detail. |
| EXCELLENT | 86–100 | Descriptive, well-structured, accessible — ready for image search. |
| DECORATIVE | — | Intentionally empty alt (correct accessibility practice). Counted separately and never penalizes your average. |
Products also get a roll-up: the average of their images' scores, with the band of the worst image — because one missing image is what a shopper (and Google) will notice.
Settings reference
| Setting | Default | What it does |
|---|---|---|
| API Key API tab | — | Your Alt Audit key. Required only for AI generation; everything else works without it. Use Test Connection to verify. |
| Alt Text Style Generation tab | Balanced | Tone of generated alt text: SEO Focused, Accessibility Focused, or Balanced. |
| Include in context Generation tab | Name, Category, SKU on; Price off | Which product data is sent with generation requests to make alt text product-aware. |
| Max Length Generation tab | 125 | Character cap for generated alt text (50–255). The review modal's counter uses the same limit. |
| Auto-generate on save Auto-fix tab | Off | When ON, saving or updating a product queues its images for background generation automatically. Uses credits on every product save — leave off during imports unless that's what you want. |
| Skip images with existing alt text Auto-fix tab | On | ON = only fill gaps (skip covered images). OFF = overwrite mode: bulk runs regenerate everything, with a confirmation prompt. |
| Delete data on uninstall Advanced tab | Off | When ON, deleting the plugin removes its options, postmeta and status terms. Your images' alt text itself is never deleted. |
Credits
- Free without credits: catalog scanning, quality scoring, dashboards, audit reports, CSV export, manual alt text editing, score recalculation.
- One credit per image: each AI generation — single, bulk, or auto-generate.
- Out of credits: the plugin keeps working; AI generation pauses until your monthly reset or an upgrade. Free 25/month · Pro $19/month (1,000) · Agency $59/month (5,000) — full pricing.
Privacy & data
The plugin contacts exactly one external service — the Alt Audit API at altaudit.com — and only when you generate alt text:
- Sent per generation: the product image plus product title, category, attributes and SKU (as enabled in Settings), and your API key for authentication.
- Nothing is sent on activation, deactivation, page loads, or without an API key.
- Auto-generate on save is off by default — no automatic transmission unless you enable it.
- The service does not store your images; only generated text and usage metadata are retained.
See the Alt Audit privacy policy and terms of service.
Troubleshooting
"Test Connection" fails
- Re-copy the API key from your Alt Audit dashboard — no spaces before or after.
- Make sure your server can reach
https://altaudit.com(some hosts block outgoing requests). - Check your account is active at altaudit.com.
Bulk Fix seems stuck at "Queued"
- Background jobs run via Action Scheduler, which needs WP-Cron (or a real cron) to fire. Visit any admin page to nudge it, or check WooCommerce → Status → Scheduled Actions.
- If a run was interrupted, the status endpoint self-heals: once the queue is empty the run completes and reports what finished.
The catalog page is empty
- The catalog lists product images only. Make sure you have published products with featured, gallery or variation images.
- Newly added product images appear within a few minutes (a short cache) — or immediately after you save the product.
Generated alt text isn't visible on my site
- The plugin writes the standard WordPress alt attribute. If your theme or builder overrides alt text manually, check its image settings.
- Clear any page cache after bulk runs.
Write to us via the contact form or admin@flance.info — we answer every message.