Image SEO in 2026: Alt Text, Filenames, Formats, and a Local Prep Workflow
A complete image SEO guide for 2026 — write inclusive alt text, name files for crawlers, ship AVIF and WebP with responsive srcset, strip EXIF metadata, and prep assets locally before WordPress, Shopify, or static deploys.

Image SEO in 2026 is not a single checkbox. It is a pipeline: name files so crawlers understand them, write alt text so humans and screen readers get equal access, ship modern formats so pages load fast on slow connections, and mark up responsive variants so phones do not download desktop-sized heroes.
Most teams still upload 4 MB camera JPEGs and hope a CMS plugin fixes everything later. That approach fails on three fronts — search discovery, accessibility law and best practice, and Core Web Vitals. This guide is the pillar for the Performance & SEO topic cluster — a complete local prep workflow you can run before any upload, with links to deeper guides on LCP, responsive images, sitemaps, and social previews.
What this guide covers
| Step | Topic | Section |
|---|---|---|
| 1 | Filenames for crawlers | Name files |
| 2 | Inclusive alt text | Write alt text |
| 3 | Modern formats | Choose formats |
| 4 | Responsive delivery | Ship srcset |
| 5 | Privacy hygiene | Strip EXIF |
| 6 | Structured data | Sitemaps & JSON-LD |
| 7 | CMS workflows | WordPress, Shopify, static |
| — | Deep dives | Guides in this topic |
| — | By site type | Ecommerce, blog, SaaS |
| — | Google Images | Visual search traffic |
Why image SEO matters more in 2026
Three forces converged:
- Google Images and visual search still drive meaningful traffic for ecommerce, travel, food, and how-to content. Filename, alt text, and page context help Google match queries to your assets.
- Page experience signals — LCP, CLS, INP — penalize bloated, poorly marked-up images. HTTP Archive data puts images at 45–55% of median page weight. Smaller files rank better on experience, not because Google counts kilobytes, but because users stay longer.
- Privacy expectations rose. Surveys consistently show a majority of users worry about uploading personal photos to third-party tools. EXIF metadata can leak GPS coordinates accurate to a few meters. Stripping metadata before publish is now part of responsible image hygiene, not a paranoid extra step.
The good news: you do not need an enterprise DAM or a $500/month CDN to get 90% of the benefit. You need a repeatable checklist and a local tool for the bytes.
The three pillars of image SEO
Think of every image as serving three audiences at once:
| Pillar | Who benefits | What you control |
|---|---|---|
| Discoverability | Search crawlers, Google Images | Filename, alt text, captions, structured data, image sitemaps |
| Accessibility | Screen reader users, voice assistants | Alt text, decorative empty alt, text in image vs. around it |
| Performance | Everyone on slow networks | Format, dimensions, srcset, compression, metadata stripping |
Neglect any pillar and the others suffer. A perfectly compressed AVIF with alt="" on an informative chart fails accessibility audits. Beautiful alt text on a 3 MB PNG still hurts LCP.
Use our image SEO checklist as a printable audit once you understand the pipeline below — it distills these three pillars into a pre-publish gate you can run on every template.
Image SEO by site type
The pipeline is the same everywhere. The priorities shift by business model.
Ecommerce
Images are the product for many shoppers. Prioritize:
- Unique alt text per variant angle — "Blue running shoe side view" not "product image" × 12
- Descriptive filenames before Shopify upload — filenames become URL segments
- Consistent thumbnail dimensions — CLS on collection grids kills trust
- Image sitemaps when you have thousands of SKUs — see image sitemap guide
- Pre-upload compression — Shopify workflow
Google Shopping and Google Images both consume alt text, filenames, and page context. Treat every product photo as a discoverability asset, not only a conversion asset.
Blogs and editorial
Most blog image SEO wins come from:
- Featured image + OG export at 1200×630 — social size guide
- Inline figures with accurate alt, not keyword-stuffed captions
- Responsive srcset so mobile readers do not download desktop heroes — responsive images guide
- One decorative hero per post — skip image sitemaps unless images are the primary content
Editorial sites rarely need image sitemaps. They always need fast LCP on post templates.
SaaS and documentation
Documentation sites mix screenshots (PNG, lossless WebP) and marketing photos (AVIF/WebP). The common failure mode is treating them the same:
- Screenshots need text-readable alt describing the UI state, not "dashboard screenshot"
- Marketing heroes need byte budgets and
fetchpriority="high" - Do not AVIF-compress annotated screenshots — small text becomes illegible
Portfolios and visual businesses
Photographers, agencies, and studios should assume Google Images is a primary channel:
- Filename and alt text describe the work, client industry (when permitted), and subject
- Image sitemaps help when each page showcases distinct visual work
- Strip GPS from location shoots before publish — EXIF leaks are a reputational risk in creative industries
Optimizing for Google Images
Google Images is not separate from web SEO — it reads the same signals with different weighting.
What helps images appear in visual search:
- Descriptive filenames and alt text aligned with page topic
- Surrounding copy that contextually supports the image subject
- Page quality — thin pages with stock photos rarely rank in either web or image search
- Structured data (
ImageObject) when the image is central to the page intent - Image sitemaps for large catalogs — optional for text-first blogs
What does not help:
- Keyword-stuffed alt text
- Hidden text near images
- Identical alt across a gallery
- Uploading 4000px files and relying on Google to resize
Track performance in Google Search Console → Performance → filter by Image search appearance. Flat impressions with good web rankings usually means filename/alt/context gaps — not format choice alone.
Step 1: Name files for humans and crawlers
Search engines read filenames. IMG_4832.jpg tells them nothing. oak-dining-table-natural-finish-front-view.webp tells them exactly what the product is.
Filename rules that work
- Use lowercase and hyphens —
blue-running-shoes-side.webp, notBlue Running Shoes (1).JPG - Put the primary subject first —
avif-compressor-screenshot.webpbeatsscreenshot-avif-compressor.webpwhen "AVIF compressor" is the topic - Include one meaningful modifier — color, angle, year, or locale when relevant:
team-offsite-2026-group-photo.webp - Match the exported format extension —
.webp,.avif,.jpg— so your repo and CDN stay honest - Avoid stop-word stuffing —
best-cheap-discount-oak-table.jpgreads as spam
For responsive sets, pick a consistent prefix and width suffix:
/images/products/oak-table-640.webp
/images/products/oak-table-960.webp
/images/products/oak-table-1280.webp
Batch-export those widths in Asset Melt with a max-dimension preset, then drop the ZIP into your media library.
When filenames do not matter as much
Decorative background textures buried in CSS, sprite sheets, and icon fonts rarely need keyword-rich names. Focus filename effort on indexable content images — heroes, product shots, blog figures, OG images.
Step 2: Write alt text everyone can use
Alt text is the most misunderstood part of image SEO. It is not a place to dump keywords. It is a text alternative for people who cannot see the image — and a concise description for search engines trying to understand page content.
The inclusive alt text framework
Ask: If I read this aloud, would someone understand the same information the image conveys?
| Image type | Alt text approach | Example |
|---|---|---|
| Informative photo | Describe subject and relevant context | "Oak dining table with natural oil finish, front view on white background" |
| Functional UI | Describe the action, not the icon shape | "Open settings" not "gear icon" |
| Chart or diagram | Summarize the takeaway; put data table nearby | "Bar chart: AVIF files 50% smaller than JPEG at equal quality" |
| Decorative | alt="" (empty) | Swirl background with no informational value |
| Text-heavy image | Repeat essential text in alt; offer full text in body | "Sale banner: 30% off winter coats through March 15" |
| Complex art | Short alt + longer description in figcaption or adjacent copy | Alt: "Team at 2026 offsite"; caption expands names and roles |
Inclusive writing habits
- Do not start with "Image of" or "Picture of" — screen readers already announce it as an image.
- Describe people with relevant context, not stereotypes — role or action ("Presenter pointing at Q3 revenue chart") beats vague appearance assumptions.
- Translate intent, not just pixels — for ecommerce, include color, material, or scale when a sighted user would use that to decide.
- Keep decorative images out of the accessibility tree —
alt=""is correct; do not omit the attribute entirely. - Never use alt text for captions — use
<figcaption>for credit lines, dates, or photographer names.
Common alt text mistakes
- Keyword stuffing — "best cheap SEO image optimization tool free download 2026" helps nobody.
- Duplicate alt across a gallery — ten product angles need ten distinct descriptions.
- Leaving alt off informative images — fails WCAG 2.x success criterion 1.1.1.
- Using alt for SEO-only text — if sighted users do not need it, it probably should not be alt.
- Copy-pasting the filename —
oak-table-640.webpis not a description.
Step 3: Choose formats that search engines and browsers agree on
Format choice affects crawl efficiency (smaller downloads), LCP, and compatibility. The 2026 default stack:
<picture>
<source srcset="/images/hero.avif" type="image/avif" />
<source srcset="/images/hero.webp" type="image/webp" />
<img src="/images/hero.jpg" alt="Descriptive alt text" width="1200" height="750" />
</picture>
| Format | Best for | SEO / perf notes |
|---|---|---|
| AVIF | Photos, heroes, large product shots | Smallest bytes → best LCP; slower encode — fine for pre-publish prep |
| WebP | General web images, thumbnails | Fast encode, 25–35% smaller than JPEG; universal support |
| JPEG | Email, legacy embeds, final fallback | Compatibility king; larger files |
| PNG | Logos with transparency, UI screenshots | Use only when lossless edges matter; try WebP lossless first |
| SVG | Icons, simple logos, diagrams | Infinitely scalable; keep SVGs lean; sanitize untrusted uploads |
Google's crawler indexes the resolved image URL — typically what non-supporting browsers would fetch, or the img src fallback. Ensure that fallback is high quality, not a blurry thumbnail.
Open the AVIF compressor for hero images, or the batch compressor when a catalog refresh ships dozens of files. For a deeper format comparison, see AVIF vs WebP in 2026.
Step 4: Ship responsive images (not one size fits all)
Sending a 2400px-wide file to a 390px phone wastes bandwidth, hurts LCP, and annoys users on metered data plans. Responsive images fix that with srcset and sizes.
How srcset and sizes cooperate
srcset— menu of available widths (800w,1200w,1920w)sizes— how wide the image renders at each breakpoint- Browser — picks one file based on viewport, DPR, and
sizes
Without an accurate sizes attribute, the browser assumes 100vw and may download the largest variant — the bug that makes people say "srcset did nothing."
Try the responsive image planner
Use the interactive planner below to generate export widths and starter markup. Pick a layout preset, tune your max CSS width, and copy the <picture> block into your template.
Responsive image planner
Pick a layout, get export widths for Asset Melt and copy-paste <picture> markup. Adjust values to match your real CSS.
Export these widths in Asset Melt
Batch-export AVIF + WebP at each width. Keep a JPEG at the largest width as the img src fallback.
<picture>
<source
type="image/avif"
srcset="
/images/hero-600.avif 600w,
/images/hero-900.avif 900w,
/images/hero-1200.avif 1200w,
/images/hero-1800.avif 1800w,
/images/hero-2400.avif 2400w
"
sizes="(min-width: 1024px) 1200px, 100vw"
/>
<source
type="image/webp"
srcset="
/images/hero-600.webp 600w,
/images/hero-900.webp 900w,
/images/hero-1200.webp 1200w,
/images/hero-1800.webp 1800w,
/images/hero-2400.webp 2400w
"
sizes="(min-width: 1024px) 1200px, 100vw"
/>
<img
src="/images/hero-2400.jpg"
alt="Descriptive alt text for this image"
width="2400"
height="1500"
loading="lazy"
decoding="async"
/>
</picture>sizes="auto" in 2026
Major browsers now support sizes="auto" for lazy-loaded images. The browser measures rendered width after layout, then picks a srcset candidate — no hand-written media queries required.
<img
src="/images/article-800.webp"
srcset="/images/article-400.webp 400w, /images/article-800.webp 800w, /images/article-1200.webp 1200w"
sizes="auto"
alt="Compression comparison chart"
width="800"
height="500"
loading="lazy"
/>
Rules:
- Use
sizes="auto"on below-the-fold content images withloading="lazy". - Do not use it on your LCP hero — above-the-fold images need explicit
sizesandfetchpriority="high". - Always set
widthandheight(or CSSaspect-ratio) to prevent CLS.
For art direction — different crops at different breakpoints — see the dedicated responsive images guide. The planner above covers the common single-aspect-ratio case.
LCP images deserve special treatment
Your largest contentful paint element is often an image. Above-the-fold heroes need:
- Explicit
sizes, notsizes="auto" fetchpriority="high"on the LCP<img>- No
loading="lazy"on the LCP candidate - Preload in
<head>when the hero is consistent across templates - Smallest viable file after format + resize — how images affect LCP
If PageSpeed flags "Properly size images" or "LCP image lazy loaded", start with fix large image LCP issues.
Step 5: Strip EXIF and publish clean bytes
Every smartphone JPEG carries EXIF metadata: GPS coordinates, capture time, camera model, lens data, sometimes serial numbers. When you upload to a blog, marketplace listing, or client preview site, you may expose more than the visible pixels.
What stripping removes
| Metadata | Risk if published | Stripped on re-encode? |
|---|---|---|
| GPS lat/long | Home or workplace location leak | Yes |
| Date/time | Pattern-of-life inference | Yes |
| Device serial | Hardware fingerprinting | Yes |
| Orientation | Broken display if mishandled | Handled — Asset Melt applies orientation before export |
| Color profile | Usually harmless | Optional — keep for print-bound assets |
Major social platforms often strip GPS on upload — but Discord, email attachments, forums, and direct file links frequently do not. iMessage can send originals with full EXIF. The safe default: strip before you publish, regardless of platform.
In Asset Melt, enable Strip metadata in the studio settings (on by default in the Web Optimized preset). Re-encoding to AVIF or WebP produces a fresh file with pixels only — the same privacy property that makes browser compression trustworthy for NDA client work.
Step 6: Structured data and image sitemaps
ImageObject JSON-LD
When an image is central to the page — product hero, recipe photo, featured artwork — add ImageObject to your page schema:
{
"@context": "https://schema.org",
"@type": "ImageObject",
"contentUrl": "https://example.com/images/oak-table-1280.webp",
"description": "Oak dining table with natural oil finish, front view",
"width": 1280,
"height": 800
}
Align description with your alt text intent. Do not contradict what sighted users see.
Image sitemaps
For image-heavy sites, extend your sitemap:
<url>
<loc>https://example.com/products/oak-table</loc>
<image:image>
<image:loc>https://example.com/images/oak-table-1280.webp</image:loc>
<image:title>Oak dining table — natural finish</image:title>
<image:caption>Solid oak dining table, oil finish, seats six</image:caption>
</image:image>
</url>
Skip this if you run a text-first blog with one decorative header per post — standard URL sitemaps are enough. When you do need them, the image sitemap guide walks through XML structure, CMS plugins, and static generation.
Step 7: Platform-specific workflows
The SEO prep is the same everywhere. The upload step changes.
WordPress
- Batch-export AVIF + WebP + JPEG fallback locally.
- Upload finished files to Media Library — avoid 5 MB originals.
- Add alt text in the Media Library or block editor — WordPress stores it in
altattribute. - Use a block theme or plugin that outputs
<picture>if your theme only emits JPEG. - Let a caching plugin handle CDN delivery; do not rely on on-the-fly compression alone.
Shopify
- Export product images at 2048px max (Shopify zoom convention) in WebP or AVIF where your theme supports it.
- Name files before upload — Shopify preserves filenames in URLs.
- Fill alt text per variant image in the admin — critical for Google Shopping surfaces.
- Strip metadata on model shots if GPS was enabled during studio photography.
Static sites (Astro, Next.js, Hugo)
- Commit optimized assets to
public/orassets/— smallest git objects, fastest deploys. - Use framework image components where available (
<Image />in Next.js,astro:assetsin Astro). - Generate
srcsetat build time or hand-author with the planner above. - Preload only the LCP image in your layout head.
Newsletters and social cards
- Email — JPEG or PNG only; many clients ignore WebP. Keep heroes under 200 KB.
- Open Graph — exactly 1200×630, under 200 KB, meaningful alt in the meta
og:image:alttag where supported.
Team workflow and governance
Image SEO fails at scale when every publisher improvises. A lightweight governance model beats a 40-page policy nobody reads:
Minimum viable image policy
- Filename convention — lowercase, hyphens, subject-first (document with one example per asset type)
- Alt text standard — one sentence describing what the image communicates; link to the framework in Step 2 above
- Export presets — hero, inline, thumbnail, OG — with format and max width documented
- Pre-publish checklist — use the image SEO checklist for every new template or landing page
- Quarterly audit — top 20 URLs in PageSpeed Insights + Search Console image appearance
Collaboration tips
- Maintain a shared spreadsheet column for alt text during content review — easier to fix before upload than after
- Designers export web-ready formats; developers own
srcsetmarkup — split responsibility clearly - Never let CMS plugins re-compress already-optimized uploads without testing — double compression hurts quality and confuses debugging
The local prep checklist (copy this)
Run this before every publish batch:
| Step | Action | Tool |
|---|---|---|
| 1 | Rename files with descriptive slugs | Finder / Explorer |
| 2 | Resize to max display width × 2 for retina | Asset Melt max dimension |
| 3 | Export AVIF + WebP (+ JPEG fallback for heroes) | AVIF compressor or batch mode |
| 4 | Enable Strip metadata | Studio settings |
| 5 | Write alt text in a spreadsheet if collaborating | Shared doc column |
| 6 | Generate srcset markup | Planner above or framework |
| 7 | Set width / height on every <img> | Template |
| 8 | Lazy-load below fold; fetchpriority="high" on LCP only | HTML |
| 9 | Verify in PageSpeed Insights mobile | PSI |
| 10 | Spot-check alt with screen reader or browser a11y tree | VoiceOver / NVDA |
Measuring image SEO success
Track more than rankings:
- Google Search Console → Performance → Search appearance → Image — impressions and clicks from Google Images.
- PageSpeed Insights — "Properly size images," "Serve images in next-gen formats," LCP element audit.
- Accessibility — Lighthouse accessibility score; axe DevTools on templates with galleries.
- Core Web Vitals — Search Console experience report; 28-day CrUX window after deploy.
- Real User Monitoring — median LCP on product pages before/after a catalog re-export.
If Google Images traffic is flat but LCP improved, you still won — experience metrics affect engagement, which affects SEO over time.
Common image SEO mistakes (even experienced teams)
- Uploading originals, optimizing later — CMS plugins cannot recover detail lost to aggressive server compression.
- Same alt text on every gallery image — duplicates signal low quality to humans and crawlers.
- Ignoring slow connections — responsive images are an equity issue, not only a Lighthouse game.
- Trusting social platforms to strip EXIF — platform behavior changes; document uploads and DMs often leak GPS.
- WebP-only with no JPEG fallback — rare, but email clients and old embed contexts still matter.
- Omitting dimensions — CLS hurts rankings and disorients screen magnification users.
- Cloud optimizers for unreleased assets — NDA product shots should never leave the device; local prep solves both privacy and SEO.
Privacy and SEO share the same pipeline
It is tempting to treat "privacy" and "SEO" as separate tickets. They are the same prep step:
- Smaller files → faster LCP → better experience signals
- Stripped EXIF → safer publishing → fewer accidental location leaks in indexed images
- Local processing → no third-party retention policy for client work
- Consistent naming → cleaner repos and CDN caches
Asset Melt exists at that intersection — the same WASM codecs Google shipped in Squoosh, with batch export, metadata stripping, and offline support. See the Squoosh alternative guide if you are migrating from Google's deprecated tool.
Guides in this topic
This pillar covers the full image SEO pipeline. Each guide below goes deeper on one slice:
| Guide | Best for |
|---|---|
| Image SEO checklist | Printable pre-publish audit you can run on every page |
| How images affect LCP | Why image weight dominates Largest Contentful Paint |
| Fix large image LCP issues | Debugging and fixing slow hero delivery |
| Optimize images for Core Web Vitals | LCP, CLS, and INP tuning beyond alt text |
| Responsive images guide | srcset, sizes, and art direction in depth |
| Image sitemap guide | When and how to add image entries to your sitemap |
| Best image sizes for Open Graph and social | OG dimensions, crops, and preview file budgets |
Start here for the complete workflow. Jump to the guide that matches your audit finding — PageSpeed flag, accessibility gap, or Google Images traffic — and return when the next template ships.
Getting started today
- Audit your top 10 landing pages in PageSpeed Insights — note image-related audits.
- Export those heroes at 1200–1920px max width as AVIF + WebP under a 200 KB budget.
- Rewrite alt text using the framework above — one image at a time beats a vague policy doc.
- Add
width,height, and accuratesizesto your main template. - Batch the rest of the media folder before the next deploy.
Related reading: Optimize images for Core Web Vitals · Compress images in the browser · HEIC to JPG without uploading · AVIF vs WebP
Frequently asked questions
Related tools
More in this topic
Ready to compress images without uploading them?
Open Asset Melt Studio