Title: Ebaltix &#8211; Alt Text Audit and AI Alt Text
Author: EcomBack
Published: <strong>September 17, 2026</strong>
Last modified: September 17, 2026

---

Search plugins

![](https://ps.w.org/ebaltix/assets/banner-772x250.png?rev=3700164)

![](https://ps.w.org/ebaltix/assets/icon-256x256.png?rev=3700164)

# Ebaltix – Alt Text Audit and AI Alt Text

 By [EcomBack](https://profiles.wordpress.org/ecomback/)

[Download](https://downloads.wordpress.org/plugin/ebaltix.0.3.3.zip)

 * [Details](https://wordpress.org/plugins/ebaltix/#description)
 * [Reviews](https://wordpress.org/plugins/ebaltix/#reviews)
 *  [Installation](https://wordpress.org/plugins/ebaltix/#installation)
 * [Development](https://wordpress.org/plugins/ebaltix/#developers)

 [Support](https://wordpress.org/support/plugin/ebaltix/)

## Description

WordPress stores alt text in three unrelated places, and most plugins only fix one
of them.

 1. **Attachment metadata** (`_wp_attachment_image_alt`) – what the Media Library edits.
 2. **Baked into post content** – when an editor inserts an image, WordPress copies
    the alt attribute _literally_ into the post HTML. Fixing the Media Library afterwards
    does **not** change it. Your visitor still gets `alt=""`.
 3. **Images that are not attachments** – theme-hardcoded, external, or offloaded to
    a CDN. There is no attachment metadata to fix.

Ebaltix handles all three, and shows you which layer each image needs fixing at,
so the report matches what an accessibility checker actually sees on your pages.

#### What it does for free

Everything below runs on your own server, needs no account, and has no limit:

 * **Scan and audit** every image – Media Library, post and page content, featured
   images, WooCommerce galleries and ACF fields.
 * **Classify** each one as missing, needs improvement, or properly described, with
   the reason (filename as alt text, stray symbols, over 120 characters, generic
   placeholder).
 * **Used vs unused** – see which images actually appear on your site, so you can
   skip the uploads nobody sees.
 * **Write alt text from metadata** – built from the title, caption and filename.
   Unlimited, instant, no network request.
 * **Fix rendered pages without editing your content.** Alt text is injected at 
   render time, so your posts are never rewritten and deactivating the plugin restores
   the previous behaviour exactly.
 * **Review before anything is written.** Every suggestion is shown next to the 
   image and is fully editable.
 * **Undo.** Every change is logged with its original value and any run can be reversed
   in one click.
 * **Never overwrites human-written alt text**, unless you turn that guard off.
 * **Decorative images are left alone.** A spacer, divider or icon should have empty
   alt – describing it makes screen readers worse, not better.

#### Optional: AI descriptions

Metadata can only describe what WordPress already knows. For a photograph, the filename
tells you nothing, so the plugin can optionally send the image to our hosted service
to be described.

This is **entirely optional**. The plugin is fully functional without it, and nothing
is sent anywhere until you press **Connect this site** and agree.

### External services

This plugin can connect to **SmartAlt Gen AI**, a service operated by EcomBack, 
to generate alt text by looking at your images. This only happens if you choose 
to connect, and only when you press Generate with the AI option selected.

**Service endpoint:** `https://accessibilitygenerator.com/alt-text-pro-wp/api/wp`

**What is sent when you press “Connect this site”:**

 * Your site address
 * The email address of the administrator connecting
 * Your WordPress version, plugin version, and site language

This is used to create your account, issue a licence key, and count usage against
your plan.

**What is sent when you generate AI alt text:**

 * A small thumbnail of the image (typically the `medium_large` size), or its URL
   if your media is offloaded to a CDN
 * The image filename and its own title field
 * The title of the post it is uploaded to in the Media Library, if any
 * Your chosen language, maximum length, and any extra instructions you have set

The image is held in memory only for the length of one description request and then
discarded.

**What the service stores:** your site address, administrator email, plan and usage
counters. **It does not store image files, the alt text produced, or any of your
page content.**

**Terms of Service:** https://www.ecomback.com/eb-altix-terms-of-service
 **Privacy
Policy:** https://www.ecomback.com/eb-altix-pro-privacy-policy

Generating alt text with AI is a metered service. A free allowance is included; 
beyond that it requires a paid plan. Scanning, auditing, metadata-based alt text,
applying and undoing are always free and never require an account.

## Screenshots

[⌊The overview: scan your site and see the four-step workflow - scan, choose, generate,
embed.⌉⌊The overview: scan your site and see the four-step workflow - scan, choose,
generate, embed.⌉[

The overview: scan your site and see the four-step workflow – scan, choose, generate,
embed.

[⌊The overview: coverage across your whole site, and what needs attention.⌉⌊The 
overview: coverage across your whole site, and what needs attention.⌉[

The overview: coverage across your whole site, and what needs attention.

[⌊The alt text report: every image, its current alt text, and which layer needs 
fixing.⌉⌊The alt text report: every image, its current alt text, and which layer
needs fixing.⌉[

The alt text report: every image, its current alt text, and which layer needs fixing.

[⌊Generate and embed: pick a category of images, choose how the text is written.⌉⌊
Generate and embed: pick a category of images, choose how the text is written.⌉[

Generate and embed: pick a category of images, choose how the text is written.

[⌊Review and embed: edit every suggestion before anything reaches your site.⌉⌊Review
and embed: edit every suggestion before anything reaches your site.⌉[

Review and embed: edit every suggestion before anything reaches your site.

## Installation

 1. Upload the plugin to `/wp-content/plugins/` or install it through **Plugins > Add
    New**.
 2. Activate it through the **Plugins** screen.
 3. Go to **Ebaltix** and press **Scan my site**.
 4. Review the audit, then generate alt text from metadata (free) or connect for AI
    descriptions.

Nothing is written to your site until you review the suggestions and press Embed.

## FAQ

### Do I need an account?

No. Scanning, auditing, metadata-based alt text, applying and undoing all work with
no account and no limit. An account is only needed for AI descriptions.

### Will this change my posts?

No. Alt text is written to the attachment, and rendered pages are corrected by a
filter at output time. Your post content is left exactly as it is, and deactivating
the plugin returns your pages to how they were.

### Can I undo it?

Yes. Every change is recorded with its previous value. Open **Bulk edit tasks** 
and press Undo on any run.

### Will it overwrite alt text I wrote myself?

No. Anything the audit considers properly described is left alone by default.

### What about decorative images?

Spacers, dividers and icons are detected and excluded from generation. A decorative
image should have empty alt text – a screen reader announcing “a thin grey line”
is worse than saying nothing.

### Does it work with WooCommerce, ACF or page builders?

Product galleries, featured images, ACF image fields and images inside post and 
page content are all found by the scan.

### Is the AI any good?

It describes what is visible in the image and follows WCAG guidance on length and
phrasing. You review and edit every suggestion before it is written, because an 
automatic description is a starting point, not a guarantee.

### Does it work on WordPress Multisite?

Yes, per sub-site. Each sub-site keeps its own settings, its own image inventory
and its own plan, and each is licensed and metered independently – so a plan bought
for one sub-site applies to that sub-site only.

Centralised licensing across a network, where one subscription covers every sub-
site, is not available.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Ebaltix – Alt Text Audit and AI Alt Text” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ EcomBack ](https://profiles.wordpress.org/ecomback/)

[Translate “Ebaltix – Alt Text Audit and AI Alt Text” into your language.](https://translate.wordpress.org/projects/wp-plugins/ebaltix)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ebaltix/), check out
the [SVN repository](https://plugins.svn.wordpress.org/ebaltix/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/ebaltix/) by [RSS](https://plugins.trac.wordpress.org/log/ebaltix/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.3

 * Internal hardening of how the plugin talks to its own database tables. Every 
   query is now built from bound parameters rather than assembled as text, and table
   names are passed as identifiers. No screen, setting or stored result changes.

#### 0.3.2

 * The plugin is now called Ebaltix. Only the name and the admin menu have changed–
   your settings, your scan results and your history are untouched, and any link
   or bookmark to an old screen still works.
 * Updated Action Scheduler, the library that runs scans and generation in the background,
   to 4.1.
 * Now requires WordPress 6.8 or newer. That is what the new Action Scheduler needs;
   on an older site the plugin says so and stops rather than half-working.
 * On a site below that minimum, background scheduling is no longer loaded at all,
   so an unsupported WordPress can still reach wp-admin.

#### 0.3.1

 * Buy extra AI descriptions without changing plan – a block of images added to 
   your account, bought once. They do not expire at the end of the cycle and stay
   with you if you change or cancel your plan.
 * Plan & usage now shows your plan’s monthly allowance and any credits you have
   bought as separate figures, so a purchase is visible arriving rather than folded
   into one number.
 * Annual plans, billed once a year with two months free and a larger monthly allowance
   on every paid tier.
 * **Skip images that already have alt text** – a checkbox when generating for a
   hand-picked selection, so a bulk run can top up only what is missing without 
   touching descriptions already written.
 * Search the image picker by filename.
 * Privacy Policy and Terms of Service are now linked from every screen.
 * Illustrations on the Review, Generate, Bulk tasks, Plan and Settings screens.
 * Choosing a plan no longer reports a failure when a single network request is 
   dropped – it tries once more first.

#### 0.3.0

 * Scheduled tasks now run at the time you set them for, instead of up to five minutes
   later.
 * Scheduled times now show which timezone they are in, and whether a task is due
   yet or still waiting – so a task set for your own clock can no longer look overdue
   when it is simply early.
 * A one-off task set for a time that has already passed is now refused, with the
   reason, instead of being quietly moved to the next day.
 * A scheduled task that finds nothing left to describe is reported as finished 
   rather than as an error.
 * Scheduling a task now confirms it on screen, and says which timezone the time
   was read in.
 * Media items with no image file behind them – the kind an interrupted import leaves
   behind – are no longer sent to the AI. They are reported as needing a re-upload
   or removal, and no longer count against your plan on every attempt.
 * Review and embed now explains when a run produced nothing to review, instead 
   of suggesting you generate the suggestions you had just asked for.
 * Scheduled work is more reliable on a site whose owner is not in wp-admin, and
   now survives deactivating and reactivating the plugin.
 * New setting, off by default: delete this plugin’s own records if the plugin is
   deleted. Your alt text is never removed either way – it lives in WordPress’s 
   own field and stays on your site.
 * New navigation, and a refreshed Generate screen.

#### 0.2.0

 * AI generation now tells the difference between a temporary failure and a permanent
   one. An image the AI could not describe because the service was busy is tried
   again; only an image that genuinely cannot be described is reported as such.
 * Images that failed temporarily are offered for retry instead of quietly disappearing
   from the report.
 * A run no longer reports itself finished while images are still waiting to be 
   tried again.
 * Runs now wait between retries, and pause altogether when the AI service is overloaded
   rather than continuing to ask.
 * Images are claimed before work starts, so two overlapping runs can no longer 
   describe – or count – the same image twice.
 * The Generate button in the Media Library now says why it could not write anything,
   instead of showing the same message for every cause. An image it failed on temporarily
   is offered for retry like any other.
 * Database update to version 6, applied automatically on update.

#### 0.1.1

 * Initial release.
 * Scan and audit across the Media Library, post content, featured images, WooCommerce
   galleries and ACF fields.
 * Local classification and metadata-based alt text generation.
 * Optional AI descriptions through the SmartAlt Gen service.
 * Review-before-apply, render-time fixes for content images, and per-run undo.

## Meta

 *  Version **0.3.3**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [accessibility](https://wordpress.org/plugins/tags/accessibility/)[Alt Text](https://wordpress.org/plugins/tags/alt-text/)
   [image seo](https://wordpress.org/plugins/tags/image-seo/)[media library](https://wordpress.org/plugins/tags/media-library/)
   [wcag](https://wordpress.org/plugins/tags/wcag/)
 *  [Advanced View](https://wordpress.org/plugins/ebaltix/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ebaltix/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ebaltix/reviews/)

## Contributors

 *   [ EcomBack ](https://profiles.wordpress.org/ecomback/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ebaltix/)