close
BERJAYA

Image Alt Sync

Beskrywing

Image Alt Sync scans selected posts and updates any <img> tags found in the post content that reference media items (class wp-image-###), and replaces their alt attributes with the attachment’s _wp_attachment_image_alt value:
– If the image is in the Media Library, it prefers the attachment’s Alt Text.
– If no attachment alt is set, it falls back to the image filename (without extension) or the post title (configurable in the UI).
– Optionally skip images that aren’t found in the Media Library.
– Optionally restrict by image file extensions (e.g. jpg,webp).

Run in dry run first to see exactly what would change. The log shows each post processed and any per-image alt changes.

Highlights
– Processes per post in batches with a customizable delay (default 100 posts, 1s).
– Filter by post status and date range (quick buttons: Today, Yesterday, Last week, Last month, YTD, All).
Validate that “Date after” ≤ “Date before”.
– Limit by Post ID range with buttons to auto-fill lowest and highest post IDs.
Skip posts without <img> (optional).
Exclude image extensions (comma-separated, e.g. .svg,.gif).
Dry run (browser & WP-CLI) shows clickable post IDs, post titles, filenames, and detailed old new alt replacements.
– Only processes posts that have at least one image attachment.

For more details you can send mail with your suggestions, recommendation to dufour_l@hotmail.com

Usage

  1. Choose your filters (date range, min/max post ID, or “Apply to all posts”).
  2. Set Batch size and optional Delay between batches to throttle load.
  3. Choose a Date Range, or click a shortcut button (autofills Date after/Date before).
  4. (Optional) Enter Lowest/Highest Post ID or click the quick-fill buttons.
  5. (Optional) Check Skip posts without <img>.
  6. (Optional) Enter Exclude extensions like .svg,.gif.
  7. Optionally enable Dry run to preview changes without saving.
  8. Click Start. Progress and detailed per-post changes appear in the log.
  9. If needed, click Stop to pause after the current batch finishes.

Tips
– Use the “Lowest ID” and “Highest ID” buttons to auto-fill the ID range.
– Use the extension filter (e.g. jpg, jpeg, png, webp) to target specific image types.
– Check “Skip images not in media library” to avoid external or missing files.

Usage (WP-CLI)

From your WordPress root:

wp image-alt-sync run --status=publish --after=2025-01-01 --before=2025-08-13 --batch-size=100 --delay=1 --dry-run --low-id=1 --high-id=9999 --skip-noimg=1 --exclude-ext=".svg,.gif"

Args
--status= publish|pending|draft|any (default: publish)
--after= YYYY-MM-DD (optional)
--before= YYYY-MM-DD (optional)
--batch-size= integer (default: 100)
--delay= seconds (float, default: 1)
--dry-run flag (no changes saved if provided)
--low-id= minimum post ID (optional)
--high-id= maximum post ID (optional)
--skip-noimg= 1|0 (default 0)
--exclude-ext= comma-separated list like .svg,.gif

Credits

Crafted with ❤️ for accessible content.

Installation

  1. Download the ZIP and install via Plugins Add New Upload Plugin.
  2. Activate Image Alt Sync.
  3. Go to Tools Image Alt Sync.

Kwel-vrae

Will it update the Media Library alt text?

No. This tool updates <img alt=""> inside post content. It does not edit attachment fields.

Does Dry Run modify anything?

No changes are saved during Dry Run. You’ll only see a preview in the log.

Which “ tags are updated?

Tags containing a class wp-image-### so we can map to the attachment ID and read its media-library alt text.

Does it also change the media alt in the library?

No—this version focuses on replacing alt inside post content from the media library value.

What if an “ has no `alt`?

The plugin injects alt="..." based on the media alt.

Aanbevelings

There are no reviews for this plugin.

Contributors & Developers

“Image Alt Sync” is oopbron sagteware. Die volgende mense het bygedra tot die ontwikkeling van hierdie uitbreiding:

Contributors

Translate “Image Alt Sync” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.4.6 / 1.4.7 / 1.4.8 / 1.4.9 / 1.4.10 / 1.4.11

  • Fix: Code cleanup

1.4.5

  • Added two new date button ( last 4 weeks, since first of the month )

1.4.4

  • Fix: Code cleanup

1.4.2 / 1.4.3

  • Fix: Copyright sanitization.

1.4.1

  • Fix: Ajax not working.
  • Add private to the post status
  • Tested in WordPress 6.8.2

1.4

  • Fix: Eliminated [object Object] messages by robust JSON/error-string logging.
  • Improvement: Processing now continues when a post/batch fails; errors are reported in the log.
  • Security: Added nonce checks to all AJAX endpoints.
  • DX: Structured JavaScript in a separate file and passed ajaxurl/nonce via wp_localize_script.
  • UI: Clearer batch progress messages and safer scrolling of the log.

1.3

  • Restored the v1.1 UI while keeping the v1.2 functionality and enhancements.
  • Post ID range quick-fill buttons; dry run shows filenames and detailed changes.
  • Maintains batching, delay, status/date filters, and WP-CLI parity.

1.2

  • Replace alt inside <img> tags using media alt; added ID ranges, skip & exclude options.

1.1

  • Batch processing; status/date filters; dry run logging; WP-CLI support.