I had 1,047 images in my WordPress media library. 863 had zero alt text, that's 82% of my entire image inventory. Here's what happened when I fixed them all at once using AI, and the actual results.
The Setup: A 1,047-Image Media Library
My site had been running for three years before I ran this experiment. It's a content and review site covering a mix of topics, productivity, home office setups, software tools, and some lifestyle content. Over three years of publishing, I'd uploaded images without any consistent system: some had hand-written alt text from early on when I was careful about it, most didn't. I knew the problem existed. I'd just never sat down and dealt with it at scale.
Running a quick audit before starting revealed the full picture of my compliance gap: 1,047 total images in the media library. Of those, 863 had no alt text whatsoever, that's 82% of my entire image inventory left untagged. The 184 images that had alt text were mostly from my first year of publishing, when I was more diligent about accessibility and SEO. Everything after that initial period was essentially invisible to search engines and assistive technology. Three years of image uploads, mostly undescribed.
I decided to use AI Image Alt Text Generator for the fix, specifically because I wanted to test whether the GPT-4 Vision output was actually usable at scale, not just on 10 or 20 carefully chosen test images, but on nearly 900 images representing three years of varied content: product shots, screenshots, lifestyle photography, food photos, workspace images, and app interface captures. Real-world data at scale.
Running the Bulk Scan
After installing the plugin and connecting my OpenAI API key (setup took about 4 minutes total), I ran the Bulk Scan. The plugin crawled all 1,047 images in my media library in just 90 seconds. It confirmed what the audit showed: 863 images missing alt text. The dashboard estimated an API cost of $1.12, $1.58 to generate all of them using GPT-4o. I configured the plugin to skip existing alt text (preserving the 184 hand-written descriptions I wanted to keep), selected GPT-4o as the model, and enabled SEO Mode for content that benefits from keyword inclusion.
Then I clicked Generate. The plugin confirmed it was processing in the background and told me I could navigate away from the page. I closed the tab, made coffee, and did some other work. Eleven minutes later, I returned to the media library dashboard and found 863 new alt text entries waiting for me in the WordPress Media Library. The generation had completed in the background without any intervention from me.
The pre-flight cost estimate was accurate. Final API charge: $1.23, well within the estimated range of $1.12, $1.58. OpenAI's billing is granular to fractions of a cent. There are no surprise charges beyond the estimate.
The Generation Process
The plugin processes images in batches using WordPress's background queue system (Action Scheduler). This means it doesn't run in your browser, it runs on your server, in the background, regardless of whether you're logged in or have the page open. For sites with shared hosting, generation may take longer due to server constraints and rate limits. On managed WordPress hosting providers like WP Engine, Kinsta, or Flywheel, the process is typically faster and more consistent because those platforms allocate more server resources to background tasks.
The plugin uses 30-day smart caching, which means if you've already generated alt text for an image and then accidentally delete it, regenerating it doesn't cost a new API call, it pulls from the cached result. This caching also helps if you run multiple bulk scans (for example, if you're testing different configuration modes or regenerating specific categories of images): you're not charged twice for the same image. It's an efficient system that avoids redundant API calls.
Quality Analysis: What Did the AI Actually Write?
After generation completed, I sampled 100 randomly selected images to evaluate quality systematically. My criteria were: Is the description accurate? Is it useful for someone who can't see the image? Does it include natural keyword context relevant to the image content? I scored each image as Excellent (accurate, specific, useful), Good (correct but generic or incomplete), or Needs Editing (inaccurate or unhelpfully vague).
Results: 79 out of 100 were Excellent, accurate, specific descriptions that I would have been proud to write manually. 14 were Good, correct, but I would have added more specificity or keyword emphasis if writing them by hand. 7 needed editing, the AI either got something wrong or produced a description too vague to be useful. These problem cases were almost exclusively images with ambiguous context: partially cropped faces, heavily stylized graphics, and a few images where the subject matter was obvious to me (I knew the brand) but visually indistinct in the photo itself.
The categories where output quality was highest: product photography on clean backgrounds, screenshots of software interfaces, food photography, workspace and desk setup photos, and landscape/outdoor photography. These image types had near-perfect accuracy because they're visually unambiguous. The categories requiring the most manual review: dense infographics with text that needed to be read to understand the graphic, images where context depended heavily on surrounding content or captions, and highly cropped detail shots where the larger context was missing from the frame.
| Image Type | Generated Alt Text | Quality |
|---|---|---|
| Overhead desk photo | "Overhead flat lay of wooden desk workspace with open MacBook Pro, white ceramic coffee mug, spiral notebook, and black ballpoint pen" | Excellent |
| Running shoes product shot | "Red Nike Air Max 270 men's running shoe on white background, right side profile view" | Excellent |
| WordPress dashboard screenshot | "WordPress admin dashboard showing Posts menu with 247 published posts and Media Library link in left sidebar" | Excellent |
| Dense infographic | "Colorful infographic with multiple data points and arrows" | Needs editing |
| Cropped portrait | "Person with brown hair partially visible in frame" | Needs editing |
| Sourdough bread photo | "Close-up of sourdough bread loaf with decorative spiral scoring pattern and golden-brown crust" | Excellent |
The Real Cost Breakdown
The total cost of fixing 863 images with missing alt text: $1.23 in OpenAI API fees, plus the one-time plugin purchase, plus about 15 minutes of my time (setup, running the scan, and reviewing the 7 images that needed manual correction). For context: at a conservative estimate of 30 seconds per image, writing these descriptions manually would have taken over seven hours of focused content work.
The value calculation isn't complicated. Seven hours of skilled content work versus $1.23 in API fees and fifteen minutes of my time. Even if you value your time at just $20/hour, the manual approach costs $140 in opportunity cost. The plugin approach costs $1.23 plus the plugin purchase, and produces results within minutes, not hours.
| Item | Cost |
|---|---|
| AI Alt Text Generator plugin | One-time purchase |
| OpenAI API fees (863 images, GPT-4o) | $1.23 |
| Time investment | ~15 minutes |
| Manual alternative (863 × 30 seconds) | ~7.2 hours |
| Manual cost at $25/hour | ~$180 |
SEO Results After 90 Days
I tracked results in Google Search Console over the 90 days following the bulk alt text fix. Within the first two weeks, Search Console showed a significant uptick in crawl activity on image URLs. Google had detected the updated alt text and was actively reprocessing my image inventory. The crawler prioritized pages with newly added metadata, which is expected behavior. By day 30, image impressions in the "Image" search type had increased noticeably compared to the prior 30-day period, not dramatically, but measurably.
By day 90, the numbers were concrete: image impressions up 38% compared to the same 90-day window the previous year. Image clicks up 22%. And fourteen images that had never previously appeared in Google Image search were now ranking in the top 10 results for their respective queries. Several of these were product review images that, once tagged with specific product names and descriptions, became discoverable in image search for those product terms. The alt text gave Google the semantic context it needed to surface the images for relevant queries.
I also noticed a more subtle effect: two pages that had been stuck just outside the top 10 in text search for competitive terms moved into positions 8 and 9 during this period. Whether this was directly caused by the alt text improvements (stronger topical relevance signals from the newly tagged images) or coincidental is hard to say with certainty, but the timing was consistent with when Google would have processed the updates. The images are part of the page's content signal.
Important caveat: These are results from one site, in one niche, over one 90-day period. SEO results vary significantly by domain authority, niche competition, content quality, and many other factors. Alt text improvement is one signal among hundreds that Google evaluates, it's unlikely to single-handedly transform rankings on a highly competitive site. But as a low-effort, low-cost intervention that directly addresses a known gap, it's hard to argue against doing it.
What I'd Do Differently
The main thing I'd change: I would have enabled auto-generate on upload from day one of using WordPress. The three-year backlog I had to fix in bulk existed entirely because I didn't have a systematic process in place. With auto-generation enabled from the start, every image I'd ever uploaded would have been tagged automatically at the moment of upload. The bulk fix would have been unnecessary. I would have maintained compliance continuously instead of accumulating a massive backlog.
I'd also spend more time configuring the plugin settings upfront. I used SEO Mode for this bulk run, which was appropriate for most of my mixed-content site. But for the handful of product images and technical screenshots where accessibility precision matters more than keyword inclusion, I would have used Accessibility Mode. Future bulk operations on new content additions will use a more intentional mode selection based on content type. Tailoring the configuration to your content type yields better results.
Ready to Run This on Your Own Site?
Your media library is almost certainly sitting with hundreds of untagged images. Fixing them takes 15 minutes and costs less than $2 in API fees. Here's the plugin I used.
Get AI Alt Text Generator →