How to Write Alt Text that Helps and Ranks
A website skill for alt text that helps and ranks. Name the subject and the function, skip decorative images, ban keyword stuffing, then run ChatGPT, Claude, or Gemini and do one eyes-closed human pass.
Anyone shipping images can write alt text that helps and ranks in one pass per asset: one subject, one function, no stuffed keywords. Run it in ChatGPT, Claude, or Gemini before you paste the filename into the alt field and hope a crawler is generous.
Alt text is not a caption and it is not a meta tag. It is a replacement for the image when the image is gone. If a line only exists to host a keyword, it helps no one and it ranks for nothing you want.
Screen readers speak it. Image search and answer engines use it as a label. Write it for a person who cannot see the file. Ranking follows.
This loop is a skill, not an afterthought in the CMS. If you are still pasting "write alt text for this" into a blank chat, read what a skill prompt actually is and save the card at the end.
Write alt text that helps and ranks in five steps
Function first. Subject second. Keywords last, if at all.
1. Name why the image is on the page
One sentence you write yourself. "Shows the before-and-after of the nav labels." "Is the product at three-quarter view." "Is a chart of the 15-minute loop."
Instruct ChatGPT, Claude, or Gemini: "The image exists to do this job. If I cannot name a job, mark it DECORATIVE and stop. Do not write alt for decorative images. Do not infer a job from the filename."
Filenames lie. A decorative texture gets empty alt. Empty is honest.
If the image still needs a prompt of its own, use the three-layer image prompt structure for generation. Alt is a later, shorter sentence. Do not paste the full prompt into alt.
2. Force one subject, one function
Every informative alt, same bones:
- Subject — who or what is in the frame, count included if it matters.
- Function — what the reader should understand because the image is there.
- No opener like "image of" or "picture of." The reader already knows it is an image.
Example: "One-line landing hero on a laptop, cursor on the only button."
Tell the model: "One sentence, 80 to 150 characters. Subject first. Function second. Do not mention resolution, camera, or 'high quality.' If a fact is not in my job sentence or a caption I pasted, write UNKNOWN."
3. Ban stuffing and caption clones
Paste this list:
best, cheap, buy, official, stock photo of, stunning, SEO, keyword, click here.
Then add any exact-match phrase you were tempted to wedge in.
Instruct: "If the alt repeats the nearby heading verbatim, rewrite. If it repeats the caption verbatim, rewrite. If it stuffs a query, rewrite the whole line. Do not swap in a synonym for a stuffed word. Change the thought."
Alt must stay usable when the caption is already being read. Two identical strings are noise.
Keep a scrap pile of good alts in the Promptcrates library of reusable prompts so the next page does not reinvent "smiling team in an office."
4. Batch the page, not the whole site
Paste the list of images on this URL only: filename, job sentence, nearby heading. Ask for one alt per row.
Refuse a set that spreads the focus keyword across every image. One page, one primary noun, only on the image that shows it. A sitewide keyword blanket is not alt text.
5. One human pass with eyes closed
Close the preview. Hear the page. Read the heading, then the alt, then the caption. If the alt adds nothing, it is decorative. If the alt surprises you with a claim the image does not make, it is a lie.
Kill:
- A smile you cannot verify.
- A location you did not name.
- A product claim the photo cannot prove.
Fix those in your own words. Send the edit back: "Replace only the alts I changed. Do not re-expand."
One pass. Then stop. Save the job-then-alt loop with the Promptcrates tools for reusable website skills. The images will change. The rule should not.
Reusable skill card
Trigger: A page is about to ship with filenames, empty alts, or the same keyword under every figure.
Input: Per image: a job sentence, optional caption, nearby heading, and a yes/no on whether the image is informative.
Output: Empty alt for decorative images; one 80–150 character sentence per informative image; subject then function; UNKNOWN where you did not supply a fact.
Stop: After one eyes-closed read of heading, alt, caption. No stuffing. No "image of." No sitewide keyword blanket.
Takeaways
- Alt replaces the image. It is not a second caption or a meta tag.
- Decorative gets empty alt. Informative gets one sentence.
- Subject, then function. Ban stuffing before you generate.
- Answer engines label images from alt. Save the loop. The next hero is not a new policy.
Frequently Asked Questions
Should every image on the page have alt text?
Every informative image should. Decorative images get empty alt. Stuffing a keyword into a swirl is how you fail users and look spammy to answer engines.
Can I mention the brand or product in alt?
Yes, if the product is what is in the frame and a screen-reader user needs that fact. Once. Not as a slogan.
Should I use ChatGPT, Claude, or Gemini to write alt text?
Yes, if you paste what the image is for, not just a filename. Claude is strict with "do not stuff." All three need your eyes-closed pass.
How long should alt text be?
One sentence, about 80 to 150 characters. If you need two sentences, the image is doing two jobs. Split the image or cut the second job.
What if the image is a chart?
Say the chart type, the comparison, and the takeaway number. "Bar chart of Q2 churn, 4% down from 6%" helps. "Nice dashboard" does not.