=== Bulk Alt Text AI ===
Contributors: roddyka
Tags: alt text, accessibility, media library, images, ai
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.4.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Automatically write descriptive image alt text with AI — one click per image, on every upload, or in bulk across your whole media library.

== Description ==

Missing alt text is one of the most common accessibility and SEO problems on WordPress sites — and fixing it by hand across thousands of images is nobody's idea of fun.

**Bulk Alt Text AI** does it for you. It plugs into the native WordPress 7 AI connectors (bring your own provider — including a **local model like Ollama**) and writes clear, descriptive alt text for your images:

* **Audit (free)** — see exactly which images are missing alt text, and fix any of them manually.
* **AI, one click (Pro)** — generate alt text for any single image in the media library.
* **AI on your selection (Pro)** — audit, tick the ones you want, generate for just those.
* **AI automatically on upload (Pro)** — every new image gets alt text the moment it's added.
* **AI in bulk (Pro)** — fill in alt text across your entire library, with filters for scope and upload date, and a live progress bar.

= Trust, but verify =

* **AI connection test** — send a quick "hi" to your provider and see the reply before running anything.
* **Accessibility audit** — a table of your images showing exactly which ones are missing alt text and which are fine.
* **Manual mode (free)** — apply your own text to selected images with no AI at all, with full undo.
* **Page scanner (Pro)** — load any page of your site and audit it in your browser: WCAG accessibility checks (alt text, link names, form labels, headings, language, iframes) plus basic SEO signals (title, meta description, canonical, Open Graph, image dimensions). Read-only, with "Fix with AI" buttons for media-library images.

Better accessibility (WCAG / ADA), better Google Images ranking, less busywork.

= Why it's different =

Unlike SEO suites that make you fix images one at a time inside the post editor, Bulk Alt Text AI is built for **scale** and **legacy libraries** — the 4,000 old images nobody wants to touch. And because it uses the AI provider *you* configure in WordPress, your images and content go only where you decide.

* Works with the **native WordPress 7 AI client** — no third-party API keys baked into the plugin.
* Optional **local / self-hosted AI** (e.g. Ollama) — private and free to run.
* Choose the **language** and **maximum length** of generated alt text.
* Full **undo**: every change is tracked, so you can restore the original alt text at any time.

= Free vs Pro =

**Free** lets you find and fix accessibility gaps yourself:

* Audit your whole media library — see exactly which images are missing alt text.
* Manual mode — apply your own alt text to any selection of images, with full undo. No limits.

**Pro** lets the AI do the work for you:

* AI alt text — single image, your selection, or your entire library in bulk.
* Automatic alt text on every new upload.
* Scope + date filters and a live progress bar.
* The AI connection test and the accessibility + SEO **Page scanner**.
* A 3-day trial, and priority support.

Pro is a simple subscription handled by Freemius. Upgrade and manage your license from the **Bulk Alt Text AI** menu (Freemius adds the Upgrade and Account screens automatically).

== Installation ==

1. Upload the `bulk-alt-text-ai` folder to `/wp-content/plugins/`, or install the ZIP from **Plugins → Add New → Upload**.
2. Activate the plugin.
3. Make sure an AI provider is configured in WordPress (Settings → AI). A local provider such as Ollama works great.
4. Go to **Media → Bulk Alt Text AI** to generate in bulk, or click **Generate alt text with AI** on any image in the media library.

== Frequently Asked Questions ==

= Do I need an API key? =
You use whatever AI provider you configure in WordPress 7's AI settings. With a local provider like Ollama you may need no external key at all.

= Where do my images and content go? =
Only to the AI provider you connected in WordPress. This plugin sends nothing anywhere else.

= Can I undo the changes? =
Yes. Every generated alt text is tracked. Use **Restore original alt text** on the Bulk generate screen to roll everything back.

= Will it overwrite alt text I already wrote? =
No, unless you tick the "Overwrite existing alt text" option. By default it only fills in blanks.

= How do I upgrade to Pro? =
Click **Upgrade** in the Bulk Alt Text AI menu and complete the checkout. Selling, licensing and updates are handled by Freemius, so your license activates automatically and Pro unlocks right away.

== Screenshots ==

1. The Bulk generate screen: library stats and the guided 3-step flow (test the AI connection, audit, then fix) with clear Free/Pro markers.
2. The accessibility audit — every image with its thumbnail, filename and “Missing alt” status, ready to select and fix.

== Changelog ==

= 1.4.1 =
* Freemius compatibility: moved uninstall cleanup from uninstall.php to the Freemius `after_uninstall` hook, as required for deployment.

= 1.4.0 =
* Clearer free/Pro split: the free plan now covers the full image audit and unlimited manual alt text (with undo); all AI features — single, selection, whole-library bulk, auto-on-upload, the AI connection test and the accessibility/SEO Page scanner — are Pro. Removed the old monthly free-generation quota.

= 1.3.0 =
* Switched selling & licensing to Freemius: built-in checkout, license management, a 3-day trial and automatic plugin updates. The custom license screen was removed in favour of the Freemius Upgrade/Account pages.

= 1.2.1 =
* Licensing groundwork and internal cleanup.

= 1.2.0 =
* New: Page scanner — load any of your pages and audit it in the browser for accessibility (images without alt, links with no accessible text, unlabelled form fields, heading structure, missing lang, untitled iframes) plus basic SEO signals (title/meta description length, canonical, Open Graph, image dimensions / layout shift).
* New: "Fix with AI" buttons directly inside the scan report for WordPress media images missing alt text.
* The scanner is read-only: theme/markup issues are reported for you or your developer; the plugin only ever writes image alt text. If a dedicated SEO plugin is active, SEO results are shown as informational.

= 1.1.0 =
* New: AI connection test — send a quick "hi" to your provider and see the reply, so you know it works before running anything.
* New: accessibility audit table — see exactly which images are missing alt text, with thumbnails, current alt and status; select individual images or all of them.
* New: manual test mode — apply your own text to the selected images without calling the AI, to verify the write/undo mechanics first. Free and unlimited.
* New: generate with AI for the selected images only (available on the free plan, within your monthly quota).
* Improved: undo now covers manual test applications too.

= 1.0.0 =
* Initial release: single, automatic-on-upload and bulk image alt text generation, scope/date filters, full undo.

== Upgrade Notice ==

= 1.4.0 =
Free now includes the full audit and unlimited manual alt text; all AI features and the page scanner are Pro.


= 1.2.0 =
Adds the in-browser page scanner: accessibility + SEO audit of any page, with AI fix buttons for missing image alt text.

= 1.1.0 =
Adds the AI connection test, the image audit table with selection, and the manual (no-AI) test mode.

= 1.0.0 =
First public release.
