In short
- Alt text describes an image for people who cannot see it and for search engines. Write what the image shows and why it is on the page.
- One short, specific sentence is usually enough. Use a keyword only where it describes the image; never stuff.
- Decorative images get an empty alt attribute (
alt=""), so screen readers skip them. - In WordPress the alt text of a post’s image is stored in the post: changing it in the Media Library later does not update existing posts.
Alt text is one of the few SEO tasks that also makes a site more accessible. It is short, it is under your control, and on most WordPress sites it is missing on a large share of images. This guide explains what alt text is, how to write it so it helps visitors and search engines, where WordPress keeps it, and how to find every image that is missing it.
What Alt Text Is (and What It Is Not)
Alt text is the alt attribute of an HTML image: <img src="team.jpg" alt="Our five support staff at the Budapest office">. Screen readers read it aloud, browsers show it when the image does not load, and search engines use it to understand the image.
It is easy to confuse with three other things:
- The file name (team.jpg) is a weak hint for search engines and is never read to visitors.
- The title attribute shows as a tooltip for some mouse users; screen readers do not read it reliably.
- The caption is visible text under the image, for every visitor.
Why It Matters for SEO and Accessibility
Google uses alt text, together with the text around the image and its own image understanding, to decide what an image shows and which searches it fits. This matters most in Google Images, where a good image can bring visitors on its own. When an image is a link, its alt text works like the link text and tells search engines what the linked page is about.
For accessibility, text alternatives for images are the first success criterion of the Web Content Accessibility Guidelines (WCAG 1.1.1, level A). Since June 2025 the European Accessibility Act also applies to many online shops and services selling in the EU, and missing alt text is one of the most common problems automated audits find.
How to Write Good Alt Text
Describe what the image shows, in the context of the page. Ask: if the image disappeared, what would a reader need to know?
- Be specific. “Red leather ankle boots with a side zip” instead of “shoes”.
- Keep it short. Usually one sentence; many accessibility guides suggest staying under about 125 characters.
- Skip “image of” and “picture of”. Screen readers already say it is an image.
- Use a keyword only where it fits. If the page is about ankle boots and the image shows ankle boots, say so once. A list of keywords is not a description, and search engines treat it as spam.
- Describe the purpose of linked images. A logo that links home: “Clearyvo home page”, not “logo”.
- Put information from charts and screenshots in the text. The alt text can summarise (“Bar chart: traffic doubled from March to June”); details belong in the page.
- Leave decorative images empty. Dividers, background shapes and icons next to text that says the same thing get
alt="".
| Image | Weak alt text | Better alt text |
|---|---|---|
| Product photo | IMG_4521 | Oak coffee table with black steel legs, side view |
| Team photo | team | Five members of the support team at their desks |
| Recipe step | food blog recipe pasta best recipe | Mixing egg yolks and grated pecorino in a bowl |
| Logo linking home | logo | Clearyvo home page |
| Divider line | divider | (empty: alt="") |
How to Add Alt Text in WordPress
In the block editor
Select the image, open the block settings in the sidebar and type into Alternative text. This text is saved in the post’s content, for this use of the image only.
In the Media Library
Open Media → Library, click the image and fill in Alternative Text. This is the default the editor copies when you insert the image later, and the text that many themes and WooCommerce use for featured images and product images. It does not change posts that already contain the image.
In the classic editor and page builders
The classic editor asks for alt text when you insert an image (“Alternative Text” in the image details). Page builders usually have their own alt field in the image widget, or read the Media Library’s text; check your builder’s image settings.
Find Every Image Missing Alt Text
On a small site you can open each page and check the images in your browser’s developer tools, or run an accessibility checker. On a site with hundreds of posts, a site-wide audit is the practical way.
Disclosure: Clearyvo SEO is our own free SEO plugin. Other SEO plugins handle alt text too, for example Rank Math SEO, whose free version adds alt and title attributes to images automatically; see our comparison of Clearyvo SEO, Yoast SEO and Rank Math.
The site audit of Clearyvo SEO loads every published page (up to 5,000) the way a visitor gets it, so it also sees images added by the theme and page builders, and lists every image without alt text. For each one it drafts an alt text from what the page says about the image: the caption, the heading above it, a meaningful image title or the page title. You read the draft, correct it and approve it, one by one or all at once, and mark decorative images. Approved text is saved into the page as a new revision, and optionally into the Media Library, so it stays even if you switch the plugin off.
- Install Clearyvo SEO. It is coming to the WordPress.org directory; until then download it from its page. Moving from Yoast SEO or Rank Math? Its import copies your titles, descriptions and settings.
- Click Scan site on the plugin’s Overview.
- Open Image ALT and work through the drafts. The plugin cannot see the picture, so check that each draft describes it.
- Mark decorative images as decorative.
The drafts come from the page’s text. If you want descriptions written from the picture itself, the paid add-on Clearyvo SEO Pro (also included in Clearyvo Pro) writes them with your own Claude or OpenAI API key; after buying it, see Install your Pro plugin. The free Accessibility Checker also flags missing and meaningless alt text, among other WCAG checks.
Common Mistakes
- Copying the file name into the alt text (“DSC_0042”).
- The same alt text on every image of a page or gallery.
- Keyword lists instead of a description.
- Alt text on purely decorative images, which makes screen readers read noise.
- Important text only inside an image (a banner with the offer), with no alt text or page text that repeats it.
Frequently Asked Questions
Does alt text help SEO?
Yes. Google uses alt text, together with the page’s text and its own image understanding, to work out what an image shows, which matters for Google Images in particular. Alt text is also the text of an image link, so it tells search engines what the linked page is about.
How long should alt text be?
As long as it takes to describe what matters, usually one short sentence. There is no fixed limit in HTML; many accessibility guides suggest staying under about 125 characters so the description stays easy to listen to. If an image needs more (a chart, a diagram), describe it in the text around it.
Does every image need alt text?
Every image needs an alt attribute, but not every alt attribute needs words. Purely decorative images, such as dividers, background shapes or an icon next to text that says the same thing, should have an empty alt (alt="") so screen readers skip them.
Is the image title the same as alt text?
No. The title attribute shows as a tooltip for some mouse users and is not read reliably by screen readers. The caption is visible text under the image. Alt text replaces the image for people who cannot see it and for search engines.
I changed the alt text in the Media Library. Why do my posts still show the old one?
When you insert an image with the block editor, its alt text is copied into the post. Changing it in the Media Library later changes new insertions and places that read it from the library (featured images in many themes, WooCommerce product images), not the posts it is already in. Change it in each post, or use a tool that updates the posts for you.