Image Alt Sync scans selected posts and updates any 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 (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
- Choose your filters (date range, min/max post ID, or “Apply to all posts”).
- Set Batch size and optional Delay between batches to throttle load.
- Choose a Date Range, or click a shortcut button (autofills Date after/Date before).
- (Optional) Enter Lowest/Highest Post ID or click the quick-fill buttons.
- (Optional) Check Skip posts without
. - (Optional) Enter Exclude extensions like
.svg,.gif. - Optionally enable Dry run to preview changes without saving.
- Click Start. Progress and detailed per-post changes appear in the log.
- 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.