=== AltPost – Free AI Alt Text, No API Keys ===
Contributors: a63digital
Tags: alt, alt-text, alt-text-generator, accessibility, image-seo
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 7.5.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free AI alt text generator for WordPress. Bulk-generate SEO-ready alt text and rename generic filenames like image-1.jpg — no API keys needed.

== Description ==

AltPost is an AI alt text generator for WordPress that creates SEO-friendly image alt text for new uploads and your existing media library. There is no API key to create and no OpenAI account to manage — AltPost Managed handles the AI for you.

Start free (60 images in your first month, then 15/month), then scale with bulk generation built for WooCommerce stores, publishers, agencies, and image-heavy WordPress sites.

AltPost also includes optional AI image renaming so generic files like `image-1.jpg`, `IMG_1234.png`, or `DSC0001.jpg` become clear, descriptive, SEO-friendly filenames as part of the same workflow.

Built by A63 Digital, a working WordPress agency in Dublin, Ireland.

**Included in this free plugin**

* Vision-based alt text — the AI actually sees and describes your images
* Optional AI renaming of generic filenames (e.g. image-1.jpg → descriptive-slug.jpg)
* Batch runner with Start / Pause / Stop controls
* Inline editable results table with debounced autosave
* Rollback to previous alt text with one click
* Filename-as-alt detection (treats `IMG_1234.jpg` as missing)
* Alt Text Health Score — 0–100 site score with issue filters
* Compliance Report export (Print/PDF + CSV) for alt text documentation
* WPML and Polylang compatible — alt text in every language of your site
* Batch history with one-click undo for entire runs
* Optional sync of alt text into post content (Gutenberg, classic, Elementor) — off by default
* WP-CLI: `wp altpost scan`, `generate`, and `rollback`
* Compatibility with major page builders (Gutenberg, Elementor, Beaver Builder, Divi, WPBakery, Bricks, Oxygen)
* Cache plugin support (WP Rocket, W3 Total Cache, LiteSpeed Cache, and others)

Use AltPost as an alt text checker: it scans your media library for images with missing alt text or filename-based placeholders such as `IMG_1234.jpg`, then lets you generate proper descriptions for those images in bulk.

Meaningful alt text is required under WCAG 2.1 and the European Accessibility Act (in force since June 2025). AltPost helps WordPress sites meet those accessibility requirements by generating accurate, human-readable alt text at scale.

**Free tier (service credits)**

New free registrations get **60 AI-generated images in their first calendar month**, then **15 images per month** after that — register your email during setup (no credit card required). Credits are enforced by the AltPost Managed API (`api.a63.ai`), not by locking PHP features inside this plugin.

**AltPost Pro (separate plugin — not in this zip)**

Advanced features (context-aware SEO alt text, background processing, Image Manager, Broken Image Scanner, title & description generation, higher monthly limits) ship in a **separate** AltPost Pro plugin from [a63.ai/altpost](https://a63.ai/altpost/). This WordPress.org build does **not** include those modules and does **not** gate them behind a license key.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/altpost/`
2. Activate through the WordPress Plugins menu
3. Open the setup wizard and register your email for the free tier
4. Visit **AltPost → Dashboard → Run selected** to begin processing

== Screenshots ==

1. Dashboard — batch runner, image stats, monthly quota, and live results feed
2. Settings — AltPost Managed account, quality tier, and privacy disclosure
3. Upgrade — free account summary with Free / Standard / Max pricing (AltPost Pro is a separate plugin)

== External services ==

This plugin connects to **AltPost Managed** at `https://api.a63.ai`.

When you generate alt text, the plugin sends a request to `https://api.a63.ai/api/altpost/v1/vision`. Each request includes:

* the public URL of the image being described
* the requested quality tier, language, and maximum length
* your site URL and the plugin version (sent as request headers)

The service calls an AI vision provider on your behalf, tracks your monthly credit usage, and returns the generated text plus your remaining credits. Images are not retained after processing.

Free-tier users also submit a registration request to `https://api.a63.ai/api/altpost/v1/register-free` during setup. This sends your email address, site URL, plugin version, and optional marketing consent preference (opt-in only — not required to use the free tier).

* Terms of Service: https://a63.ai/terms-of-service/
* Privacy Policy: https://a63.ai/privacy-policy/

== Frequently Asked Questions ==

= Do I need an OpenAI or Google AI account? =

No. AltPost Managed runs the AI for you. You only need to register your email for the free tier.

= What image formats are supported? =

JPEG, PNG, GIF, WebP, BMP, SVG, and HEIC (WordPress image attachments).

= How do I get more than the free monthly allowance? =

Install **AltPost Pro** from [a63.ai/altpost](https://a63.ai/altpost/) — a separate plugin with higher limits and advanced automation.

= Is this trialware? =

No. Everything in this WordPress.org zip is fully usable. The free tier limit is a remote API credit quota (60 images in the first month, then 15 images/month). Pro features are not present in this codebase; they ship as a separate plugin.

= Do I have to opt in to marketing emails? =

No. Marketing updates are optional. Email registration is only used to identify your free-tier site for credit tracking.

= Does AltPost work with WPML or Polylang? =

Yes. When either plugin is active, AltPost can generate alt text for each selected site language (1 credit per language per image). Shared-media setups store extra languages in meta and serve them on the frontend.

= Can AltPost prove my site's images meet EAA/WCAG requirements? =

AltPost can export a Compliance Report that documents alt text coverage, open issues, and remediation history (with WCAG 2.1 SC 1.1.1 and European Accessibility Act context). It is an operational record — not a legal certification of compliance.

= Does AltPost rename image files? =

Optionally. Enable **Rename Generic Filenames** in Settings to replace names like `image-1.jpg` or `IMG_1234.png` with descriptive, SEO-friendly filenames when alt text is generated. Uses the same AI credit as alt generation.

= Can I sync alt text into post content? =

Yes, optionally. Enable **Sync Alt Into Post Content** in Settings (off by default), preview how many occurrences would change, then confirm. Gutenberg, classic markup, and Elementor image widgets are updated; undo restores both attachment meta and content.

= Does AltPost support WP-CLI? =

Yes: `wp altpost scan`, `wp altpost generate` (`--limit`, `--missing-only`, `--dry-run`, `--force`), and `wp altpost rollback` (`--batch` or `--last`).

== Changelog ==

= 7.5.7 =
* Fix: history prune SQL placeholder count (Plugin Check)
* Title, Caption, and Description are filled from alt text with no extra AI cost

= 7.5.6 =
* Fix: fill empty Caption and Description, and replace filename-like Titles, when generating alt text
* Fix: Plugin Check prepared SQL for the history table

= 7.5.5 =
* Fix: reject stock-style titles with underscores and fall back to a short phrase from alt text

= 7.5.4 =
* Compliance Report moved to its own admin tab/submenu
* Health Score → Batch Runner feedback and overwrite confirm when Settings overwrite is off
* Generated titles sanitized to short human phrases

= 7.5.3 =
* Changed: Standard plan quota 500 images/month; Max plan 5,000 images/month (pricing page alignment)
* New: Settings help tips for Rename Generic Filenames and Sync Alt Into Post Content
* New: Inline Dashboard free registration with admin email prefilled
* Changed: Language setting is a major-language dropdown that defaults to the site locale

= 7.5.2 =
* Fix: free-tier monthly quota always remaps legacy API limit 10 to 60/15 (including cached reads)
* Fix: get_plan() no longer misclassifies free users as Standard when plan slug is "free"

= 7.5.1 =
* Fix: free-tier first-month quota (60) when Managed API still reported legacy limit 10
* Upgrade page: full feature pricing table with monthly/yearly toggle

= 7.5.0 =
* WPML and Polylang multilingual alt text generation with per-language history and Health Score breakdown

= 7.4.0 =
* Compliance Report export (Print / Save as PDF + CSV) with date range and report history
* `altpost_report_branding` filter for white-label via separate Pro plugin

= 7.3.1 =
* Fix: Free-tier credits show 60 first month, then 15/month (clears legacy “10” cache)

= 7.3.0 =
* Optional post-content alt sync (off by default) with dry-run preview; Gutenberg, classic, and Elementor support
* Content sync changes logged for batch undo and per-image rollback
* WP-CLI: scan, generate, rollback
* Optional AI renaming of generic filenames (e.g. image-1.jpg)
* Updated plugin description for alt text + filename renaming

= 7.2.0 =
* Alt Text Health Score dashboard (donut, issue counts, filtered batch queue) plus WP admin widget
* Batch history with undo-entire-batch; per-image rollback now uses `wp_altpost_history`
* Free tier: 60 images in the first month, then 15 images per month (Managed API quota)

= 7.1.0 =
* Free tier: 60 images in the first month, then 15 images per month (Managed API quota)

= 7.0.9 =
* Improved readme description and tags

= 7.0.8 =
* Clearer WordPress.org plugin title: AltPost – Free AI Alt Text, No API Keys
* Add “Upgrade to Pro” link on the Plugins screen
* Plugin directory icons and banners
* Fix “View plans” links to use Upgrade page on the free edition
* Hide other plugins’ admin notices on AltPost screens
* Default image queue order: newest uploads first

= 7.0.7 =
* WordPress.org Guideline 5: no local plan/license locks on features shipped in the free build (API credit quotas remain).
* Moved admin inline CSS/JS to wp_enqueue_* / wp_add_inline_* APIs.

= 7.0.6 =
* Initial WordPress.org free edition
* Fully usable batch alt-text generation (10 images/month via AltPost Managed)
* Inline edit, rollback, page-builder compatibility, dark mode
* Soft upgrade CTA to AltPost Pro on a63.ai (separate plugin — Pro modules not included)
* Optional (not required) marketing consent on free registration
* External service disclosure for api.a63.ai

== Upgrade Notice ==

= 7.0.6 =
Initial WordPress.org release. Register your email during setup to unlock the free tier (10 images/month).
