Image SEO is one of those topics where most published advice is either three years out of date or so abstract you can't act on it. What follows is the checklist we actually apply — same one we used on this site, and the same one we recommend to friends building content sites in 2026. Every step is here because we've measured it moving the needle, not because a plugin told us to.
1. File names still matter (a bit)
Google downplays the ranking weight of file names, but the crawler still uses them as a hint when the alt text is missing or generic. More importantly, descriptive file names show up in Google Images results and give humans a clue what they're saving. IMG_9273.jpg tells nobody anything.
- Use lowercase, hyphenated names: iphone-15-camera-comparison.jpg.
- Include the primary keyword once, naturally — not iphone-15-camera-review-best-iphone-camera-2026.jpg.
- Keep names under 60 characters. Long file names are harder to share and don't help ranking.
2. Alt text: describe the image, not the keyword
Alt text has two jobs — accessibility (a screen reader reads it aloud) and search (Google uses it to understand what the image shows). Both jobs are served by the same rule: describe what a person would see if the image loaded.
Good vs bad alt text
- ❌ alt="" (empty, and the image is not decorative) — invisible to search, invisible to screen readers.
- ❌ alt="png to jpg converter png to jpg free" — keyword stuffed. Google actively demotes this.
- ✅ alt="iPhone 15 Pro back camera showing three-lens layout in natural titanium" — one sentence, describes the image, keyword appears naturally.
3. Serve the right format at the right size
In 2026, the default should be WebP with a JPG fallback for photographs, and WebP or PNG for graphics with transparency. AVIF is now viable but the encoder is slower and Safari older than 16.4 handled it inconsistently — check your analytics before defaulting to AVIF.
<picture>
<source type="image/avif" srcset="hero-800.avif 800w, hero-1600.avif 1600w" />
<source type="image/webp" srcset="hero-800.webp 800w, hero-1600.webp 1600w" />
<img
src="hero-800.jpg"
srcset="hero-800.jpg 800w, hero-1600.jpg 1600w"
sizes="(max-width: 800px) 100vw, 800px"
alt="iPhone 15 Pro back camera showing three-lens layout"
width="800" height="500"
loading="lazy"
decoding="async"
/>
</picture>4. Always set width and height
The width and height attributes let the browser reserve space for the image before it loads. Without them, the browser guesses (usually zero), then the page jumps when the image arrives — Cumulative Layout Shift (CLS) tanks, and CLS is a Core Web Vitals metric Google explicitly ranks on. This is the single easiest 5-minute fix that most sites are missing.
5. Lazy-load below the fold — but never the hero
loading="lazy" defers image download until the browser thinks the image is about to enter the viewport. That is a massive win for pages with lots of images. But applying it to the hero image (the LCP element) does the opposite — it delays the largest paint and destroys your LCP score.
- Hero / above-the-fold image: loading="eager" fetchpriority="high", and add a <link rel="preload" as="image" href="..." /> in the head.
- All other images: loading="lazy" decoding="async".
- Icons and small UI graphics: don't bother with lazy loading — the request overhead exceeds the benefit for anything under 10 KB.
6. Core Web Vitals thresholds you're actually optimising for
Two out of three of those are dominated by images on most sites. Get the images right and the rest is polish.
7. Structured data for images that matter
If an image is a product photo, add it to the Product schema. If it's a recipe, Recipe schema. If it's a how-to, HowTo schema. Google Images now surfaces these images preferentially in the shopping and how-to carousels. This is one of the few remaining places where structured data still meaningfully moves image traffic.
8. The mistakes we still see every week
- Serving a 3 MB hero on mobile because the CMS only exports one size.
- Using an <img> tag inside a link and forgetting alt — Google reads the alt as the link text.
- Blocking Googlebot from /images/ in robots.txt because 'they don't need to see those'. Yes it does — Google Images is a real traffic source.
- Uploading photos with GPS EXIF still attached. Not a ranking issue but a real privacy leak.
“Almost every image-SEO win is either 'compress it more' or 'make sure the browser knows what size it will be'. Both are free.”
Frequently asked questions
Does the file name of an image still affect SEO in 2026?
Yes, but only a little. Google treats it as a weak signal used when alt text is missing or generic. Descriptive lowercase hyphenated names help both Google Images and human sharing.
Should I use AVIF or WebP for images in 2026?
WebP is the safer default because browser support is universal and encoders are fast. Use AVIF as an additional source in a <picture> element for the biggest hero images — the file-size win is real but the encoder is slower.
Does alt text really help ranking?
Yes, but not for stuffing keywords. Google uses alt text to understand what the image shows, and images that match the query rank in Google Images. Descriptive alt text also improves accessibility, which is itself a ranking factor via user-experience signals.
What's the ideal size for a hero image?
For most sites, keep the hero under 200 KB. On modern connections that renders in a few hundred milliseconds and leaves room for the rest of the page to load. Above 500 KB you'll see LCP degrade on mid-tier phones.
Shariq founded ImageConvertToJPG after a decade of shipping image pipelines for e-commerce and publishing platforms. Every tool on the site runs entirely in the browser — no uploads, no accounts, no tracking on tool pages.