Search engines cannot see a photograph. They infer what an image shows from the words around it: the file name, the alt attribute, the caption, the heading above it, and the sentence it sits beside. Supply those well and your images become findable, quotable and usable by people who cannot see them either. Supply nothing, and a photograph you paid for is invisible to everyone except sighted visitors already on the page.
This is also the rare SEO task with an unambiguous accessibility payoff, which is why it is worth doing properly rather than automating badly.
Start with the file name, because it is the cheapest signal you own
A camera produces IMG_4471.jpg and a phone produces something longer and worse. Uploaded as is, that file name tells a search engine nothing at all. Renamed before upload, it becomes a permanent, free description that travels with the file wherever it is embedded or shared.
Use lower case, separate words with hyphens rather than underscores, and describe the subject in three to six words. A photograph of a dining room becomes blue-olive-taverna-dining-room.jpg. A product shot becomes walnut-dining-table-six-seat.jpg. Do not stack keywords: halifax-seo-halifax-marketing-halifax-agency.jpg reads as spam to a search engine and as nonsense to a human.
Rename before uploading, not after. Changing a file name once it is live means a new URL, a broken old one, and a redirect to maintain.
Write alt text for the person who cannot see the image
The alt attribute exists so screen reader software can describe an image aloud. That is its job, and writing it for that job happens to satisfy search engines as a side effect. Writing it for search engines instead produces text that is useless when read aloud and transparent to Google, which is the worst of both outcomes.
The test is simple. Read your alt text out loud in place of the image and ask whether a listener would understand what they are missing. Blue Olive Taverna dining room set for service, with a wood fired oven behind the pass, passes that test. Blue Olive restaurant Halifax best Greek food Halifax catering does not.
Keep it to roughly one sentence. Do not begin with image of or photo of, because the screen reader has already announced that it is an image. Do include a brand name or a place when it is genuinely part of what the picture shows, which is often the case in commercial photography.
Know when alt text should be empty
Not every image needs describing, and describing the wrong ones actively degrades the experience. An image that carries no information, a divider, a background texture, a decorative flourish, should carry an empty alt attribute, written as alt="". That tells assistive software to skip it silently.
Leaving the attribute off entirely is a different thing and a worse one, because many screen readers respond by reading the file name aloud instead. A visitor then hears the characters of IMG underscore four four seven one dot jpg, which is the single most annoying outcome available.
The rule of thumb: if the image disappeared and the page lost meaning, describe it. If the page lost only decoration, use an empty alt. If the image is also a link, the alt text should describe where the link goes rather than what the picture shows.
Pick a format, and stop shipping four megabyte photographs
Format choice is mostly settled now. WebP is the sensible default for photographs and graphics alike, supported everywhere that matters, and typically twenty five to thirty five percent smaller than a JPEG of the same visible quality. AVIF compresses harder still and is worth using where your platform supports it. Keep JPEG as a fallback, use PNG only when you genuinely need transparency or crisp flat colour, and use SVG for logos, icons and anything drawn from shapes rather than captured.
Size matters more than format. A photograph displayed 800 pixels wide should not be a 4000 pixel file, and the browser will not thank you for the extra data it has to download and then discard. Export at roughly twice the largest display size to cover high density screens, then compress. Most photographs survive quality 75 to 85 with no visible difference and lose more than half their weight.
Images are the most common cause of a poor Largest Contentful Paint score, which is covered in website speed and Core Web Vitals.
Set width and height so the page stops jumping
An image without stated dimensions has no reserved space, so the browser lays out the text first and then shoves it down when the picture arrives. That shove is measured as Cumulative Layout Shift, it is one of the metrics Google reports on, and it is the reason people tap the wrong thing on mobile.
Put the real width and height attributes on every img tag and let CSS handle the responsive sizing. The browser uses the ratio to reserve the right space before a single byte of the image has arrived. It is a two attribute fix for a problem that looks like a much harder one.
While you are there, add loading="lazy" to images below the fold so they download only when needed, and leave the main hero image out of that, because deferring the largest visible image is exactly wrong.
Let the page around the image do some of the work
Search engines read proximity. An image gains meaning from the heading above it, the paragraph beside it and the caption beneath it, and a caption is worth more than most people assume because it is one of the most read pieces of text on any page.
This is also where you can be more specific than alt text allows. Alt text should stay short and functional. A caption can carry the location, the client, the date and the context, which gives both the reader and the crawler far more to work with.
Tell Google the images exist
If images matter commercially to you, and they do for restaurants, venues, trades, property and anyone selling something physical, list them in your sitemap. Image entries let you declare the image URL alongside the page it belongs to, so the crawler is not relying on discovery alone.
Beyond that, product and recipe structured data both accept image fields, and supplying them is what makes a thumbnail appear next to your result. That markup is covered in how to add schema markup, and you can confirm Google is reading it in Search Console.
Use original photography wherever you can
Stock images are fine as texture and useless as differentiation. The same twelve photographs of a smiling team at a laptop appear on several thousand agency websites, and a search engine that has seen a file ten thousand times has no reason to treat your copy as notable.
Original photography of your actual premises, staff, work and products is the version that ranks in image search, gets picked up in local results, and does not quietly tell visitors that you could not be bothered. It is also the asset that keeps working across your website, your listings and your social channels, which is why we shoot it as a matter of course. What that involves is set out in what to expect on a shoot day.
Serve the right size to the right screen
A phone on a slow connection and a desktop on fibre should not receive the same file. The srcset attribute lets you offer the browser several sizes of the same image and a description of how wide it will be displayed, and the browser picks the smallest one that will still look sharp on that device.
Most modern content systems generate these variants automatically on upload, which means the job is usually to confirm it is happening rather than to build it. Check by loading a page on a phone and looking at what was actually downloaded in the network panel. Finding a 2400 pixel wide original being sent to a 390 pixel wide screen is common, and it is often the single largest thing on the page.
The picture element goes one step further and lets you serve a different crop entirely at different widths, which is worth the effort for hero images where a wide landscape composition becomes unreadable once it is squeezed into a phone.
Do not let a plugin write your alt text
Several content systems offer to generate alt text automatically, either by copying the image title or by running a vision model over the file. The output is generic at best and wrong at worst, and wrong alt text is more harmful than none, because someone relying on a screen reader now has confidently incorrect information rather than an obvious gap.
Automation is fine for the mechanical parts: compressing on upload, generating responsive sizes, converting formats. Keep the describing human, and do it at the point of upload when you still remember what the photograph shows.
A workable standard for everyone who uploads
- Rename the file to describe the subject in lower case with hyphens, before uploading.
- Export at about twice the display width, convert to WebP, and compress to quality 80.
- Write one sentence of alt text that would make sense read aloud, or an empty alt for decoration.
- Add width and height attributes, and lazy loading for anything below the fold.
- Add a caption when there is genuine context to give, and check the surrounding heading is relevant.
Five steps, about ninety seconds per image, and it applies to every person in the business who touches the website. A shared standard that everyone follows beats an elaborate one that only the marketing team knows about.
How Social Signals Marketing handles images
We shoot original photography for the sites we build, name and compress every file before it goes near the content system, and write alt text as part of the upload rather than as a later audit. It is a small discipline that removes an entire category of problem: no layout shift, no four megabyte hero, no undescribed photographs, and no stock library that another agency in the same city is also using.
See our approach to website design, read how to write a blog post that ranks, or contact Social Signals Marketing about photography and site performance.
Frequently asked questions
Does alt text actually help SEO?
Yes, but modestly and indirectly. It helps search engines understand what an image shows, which is what makes image search results possible, and it is one of several signals that contribute to a page's topical relevance. Its larger value is accessibility, which is a legal requirement in many contexts and the reason the attribute exists at all. Write it for the screen reader and the search benefit follows.
How long should alt text be?
Roughly one sentence, or about 125 characters, which is where several screen readers pause. If an image genuinely needs more explanation than that, such as a chart or a diagram, put the detail in a caption or in the body text and keep the alt text as a short summary. Anything longer becomes tiring to listen to and starts to look like keyword stuffing.
What image format is best for SEO?
WebP for almost everything, with AVIF where your platform supports it and JPEG as a fallback. Use PNG only when you need transparency or flat graphic colour, and SVG for logos and icons. Format matters less than file size, though: a badly exported WebP can easily be larger than a well compressed JPEG.
Should every image have alt text?
Every image should have an alt attribute, but not every one should have text inside it. Images that carry meaning need a description. Purely decorative images should have an empty attribute, written as alt equals two quotation marks with nothing between them, so assistive software skips them. Omitting the attribute altogether is the option to avoid, because some screen readers then read the file name out loud instead.
Can I rename images after they are already on my site?
You can, but each rename creates a new URL and breaks the old one, so anything that linked to the original image will need a redirect. It is worth doing for a small number of important pages and rarely worth it across an entire library. Fix the process for everything uploaded from now on first, then work backwards through your highest traffic pages if time allows.