Image Alt Text: Writing It for SEO and Accessibility
What alt text is really for, how to write it well, the mistakes that quietly hurt you, and how to find every page that's missing it across your whole site.

Alt text is one of those small HTML attributes that almost everyone knows they should fill in, and almost everyone leaves half-done. It's the alt on an <img> tag — a short text alternative for an image — and it quietly serves two audiences at once: people who can't see the picture, and search engines that can't really "see" it either.
Get it right and you improve accessibility, give Google Images something to work with, and add a little more context to the page. Get it wrong — or skip it — and you leave screen-reader users guessing and hand search engines a blank where a description should be. Here's how to write alt text that actually does its job, and how to find the pages where it's missing.
What alt text is actually for
It helps to separate the two jobs alt text does, because writing for one without the other is how most people get it slightly wrong.
For people who can't see the image
This is the original purpose, and it's still the most important one. Screen-reader users — and anyone whose image simply failed to load — rely on the alt attribute to know what an image conveys. The screen reader reads it aloud; the browser shows it in place of a broken image. Under the WCAG accessibility guidelines, every image that carries meaning needs a text alternative. This isn't a nice-to-have: for a lot of users it's the difference between a usable page and a confusing one.
The mental test we use: if you covered the image and replaced it with your alt text, would the sentence around it still make sense? If yes, you've described its function, not just its pixels.
For search engines
Google can't read an image the way a person does, so alt text is one of the main signals it uses to understand what a picture shows and whether it's relevant to a query. That matters for Google Images (a real source of traffic for product, recipe, and how-to sites) and it adds topical context to the page itself. It's a modest ranking input, not a magic one — but it's free, and it compounds across every image on a content-heavy site.
The key thing: these two jobs align. Alt text written to genuinely help a blind user is almost always the alt text Google wants too. Write for the person, and the SEO follows.
How to write good alt text
There's no rigid formula, but a few habits cover the vast majority of cases.
- Describe the meaning in context, not every detail. "Bar chart showing organic traffic doubling after the redesign" beats "a chart". The first tells the reader why the image is there; the second makes them ask.
- Be specific but concise. Aim for roughly a sentence — somewhere under ~125 characters is a good guide, since some screen readers cut off around there. If an image genuinely needs a paragraph, put that in the surrounding text and keep the alt short.
- Don't start with "image of" or "picture of". Screen readers already announce that it's an image. "Photo of a red bicycle" becomes, in effect, "image, image of a red bicycle".
- Match the image's purpose. A product photo's alt should name the product ("Blue ceramic mug, 350 ml"); a diagram's alt should explain what it demonstrates; a photo illustrating a story should describe what's happening.
A quick before/after. Weak: alt="seo". Better: alt="Search Console report highlighting twelve pages with duplicate titles". The second works for a screen reader and tells Google exactly what the screenshot is about.
Decorative images are the exception
Not every image needs a description. Purely decorative images — background textures, dividers, an icon that sits next to a text label that already says the same thing — should have an empty alt attribute: alt="". That's deliberate, not lazy: an empty alt tells the screen reader to skip the image entirely, so the user isn't read a list of meaningless "decorative swirl, decorative swirl" announcements.
The distinction that trips people up:
alt=""(present but empty) → "this image is decorative, skip it." Correct for decoration.- no
altattribute at all → the screen reader has nothing to fall back on and may read out the file name (img_4032_final_v2.jpg). This is the one to avoid.
So the rule isn't "every image needs words" — it's "every image needs a decision: describe it, or mark it decorative with alt=""."
The mistakes that quietly hurt
Most alt-text problems fall into four buckets, and they tend to hide on the templated pages nobody reviews by hand.
Missing the attribute entirely
A meaningful image with no alt at all is the worst case: no accessibility fallback, and a file name read aloud. It's extremely common on CMS uploads where the field was left blank, and on theme components that forgot it.
An empty alt on a meaningful image
alt="" on your hero product shot or an infographic is almost as bad — it tells assistive tech to ignore something the user actually needs. Empty alt is only correct for decoration.
Keyword-stuffed alt
Cramming keywords into alt text (alt="cheap shoes buy shoes best shoes running shoes") is spam. It reads as gibberish to a screen-reader user and Google treats it the same way it treats keyword stuffing anywhere else — as a low-quality signal. Describe the image honestly; if your keyword genuinely describes it, it'll appear naturally.
Alt that just repeats the caption
If a visible caption already describes the image, repeating it word-for-word in the alt makes a screen reader announce the same sentence twice. Either vary the alt to add what the caption leaves out, or — if the caption fully covers it — a short, distinct alt is fine.
Finding the pages missing alt text
Spot-checking a few images in the browser will never catch this, because the offenders are almost always the pages you forget about — old posts, bulk-uploaded product galleries, auto-generated archives. The only reliable approach is to check every page.
That's one of the things our Content Analyser does: it crawls every URL in your sitemap and counts how many images on each page are missing alt text, so instead of guessing you get a ranked list of the worst offenders to fix first. Pair it with the Sitemap Checker to make sure the crawler reaches every page worth auditing — a page that isn't in your sitemap is a page whose images you'll never get around to reviewing.
Work through the results by impact: fix missing alt on your most important, most-linked pages first (product pages, cornerstone content), then the long tail. You'll usually find a handful of templates or a single bulk import is responsible for most of the gaps, so one fix can clear dozens of images.
Key takeaways
- Alt text serves two aligned audiences — screen-reader users and search engines. Write it for the person and the SEO benefit follows.
- Describe the image's meaning in context, keep it to about a sentence, and don't start with "image of".
- Decorative images take an empty
alt=""(so they're skipped); meaningful images need a real description. Never omit the attribute entirely. - The mistakes that cost you: missing alt, empty alt on meaningful images, keyword stuffing, and blindly duplicating the caption.
- Audit at scale, not page by page — use the Content Analyser to flag every page missing alt text across your whole site.
Put this into practice
Run a free SeoSitemap audit and spot these issues on your own pages in seconds — up to 500 pages, no signup.
Start a free scanRelated articles

Keyword Cannibalization: How to Find and Fix It
What keyword cannibalization actually is, how to tell whether two of your pages are competing, and a practical workflow to fix it — merge, differentiate, or canonicalise.

Title & Meta Description Length: What Google Actually Shows
The practical limits for title tags and meta descriptions, why Google rewrites them, and how to write ones that survive truncation and earn more clicks.

Multiple H1 Tags: Does It Still Hurt Your SEO?
Whether multiple H1s actually hurt rankings today, what Google really says, why one clear H1 is still the safe default, and how to audit your whole site for H1 problems.