Image SEO is the on-page lever that gets the most generic advice and the least actual measurement. Every guide for "image seo" tells you to use modern formats, write descriptive alt text, set width and height, and lazy-load below the fold. Almost none of those guides ships modern formats on the page where the advice appears. The result is a SERP full of WebP-preaching JPEG-shipping articles, most of which were last touched in 2022 or 2023 even when the title says 2026.
I ran a live audit of 10 top-ranking guides on Google EN and DE for "image seo" and "bild seo" using Lumina's Alt Text Checker, Schema Validator, and PageSpeed Insights. The pattern is consistent: zero of 97 article-body images across the 10 pillars use WebP or AVIF in the img source, only 6 of 97 use fetchpriority="high" on the LCP candidate, only Yoast wires the author Person with any sameAs array (2 entries), and Löwenstark ranks fourth on google.de with a 1,411-day-stale article whose title still proudly says "2026". This guide is the complete evergreen reference: what image SEO actually is, the six ranking factors that move it, the alt-text rule most sites still get wrong, modern format adoption (and why nobody does it), the LCP image pattern, image schema, the AI-search layer that's new in 2026, the six mistakes the SERP keeps repeating, and a five-step workflow you can run in one sprint.
What Image SEO Actually Is
Image SEO is the practice of optimizing every image on a page so search engines and AI search engines can crawl it, understand what it shows, and rank or cite the page accordingly. The work splits into three layers. Technical attributes cover format, dimensions, alt text, structured data, and srcset. Performance attributes cover lazy loading, fetchpriority, and responsive sizing. Accessibility signals cover descriptive alt text, semantic context, and proper figure markup. Each layer affects a different ranking surface.
The technical mechanism is straightforward. Googlebot fetches the page, parses every <img> tag, extracts the src, alt, width, height, loading, and surrounding HTML context, and uses that data to decide three things. Whether to crawl the image. Whether to index it in Google Images. How heavily to weight the image in the page's overall content signal. Modern Google also runs Google Lens against the actual pixels to extract objects, scenes, and embedded text — meaning a well-named image with weak alt can still rank if the pixels speak clearly.
What changed in 2026 is the AI-search layer. ChatGPT Search, Perplexity, Claude with web access, and Google AI Overviews all run multimodal vision models against the images on pages they fetch for citation. They read alt text the way Google has always read it, but they also extract image meaning the way humans do — looking at the picture, not just the markup. A page with strong alt text and visually clear images becomes more citable than a page with strong text alone.
The 6 Ranking Factors That Move the Needle
Six factors reliably move image-SEO outcomes in 2026. They aren't equally weighted — alt text and Core Web Vitals do most of the work, while structured data and filename play supporting roles. Here's what each does and how Google's documentation describes it.
1. Alt text quality
Alt text is the primary signal Google reads to understand what an image shows. Google's image SEO documentation explicitly recommends descriptive alt text, and Lighthouse plus standard accessibility audits flag missing alt on meaningful images as a quality signal that feeds into Page Experience scoring. Modern alt text describes the image factually in 5 to 15 words: "Lumina dashboard showing GSC clicks rising 38% week over week" beats "dashboard" and beats "Lumina SEO tool dashboard screenshot 2026 best".
2. Modern image format
WebP and AVIF compress 30 to 60 percent smaller than JPEG at the same visual quality, which directly improves LCP. Browser support reached 98% for WebP and 94% for AVIF in 2025. The pragmatic 2026 setup ships AVIF first with WebP as fallback, served through a <picture> element. Shipping bare JPEG or PNG on a content-heavy page is the single most common image SEO failure across the SERP.
3. Largest Contentful Paint priority
The LCP image (usually the hero on a content page) needs loading="eager" and fetchpriority="high". The eager attribute prevents lazy-loading from delaying the fetch. The fetchpriority attribute tells the browser this resource is critical-path before layout runs. Both are documented as Lighthouse recommendations and both move the LCP metric by 200 to 600 ms in real measurements.
4. Explicit width and height
Setting width and height attributes on every <img> lets the browser reserve space before the image loads, which eliminates layout shift. Cumulative Layout Shift (CLS) is one of the three Core Web Vitals, and unsized images are the most common cause of CLS failures. Modern responsive images set width and height to the intrinsic source dimensions and use CSS to scale visually — the aspect ratio is what matters for layout reservation.
5. Filename and URL
The image filename feeds into Google's understanding of the image, especially when alt text is thin. lumina-dashboard-gsc-clicks.webp beats IMG_4827.webp for the same reason a descriptive URL beats a numeric slug. Use lowercase, hyphens between words, and keep filenames under 40 characters. The CDN-mangled hashes common on Next.js and Gatsby builds are fine — Google reads alt text first, filename second.
6. Image structured data
ImageObject schema (typically nested inside Article, Product, or Recipe schema) lets you declare image metadata explicitly: caption, license, creator, content URL, and contentLocation. The signal mostly affects Google Images vertical ranking and licensed-image carousels rather than blue-link organic, but it's free, well-documented, and supports AI citation when the image is the main entity of the page (product photos, recipe photos, infographics).
What 10 top-ranking image SEO guides actually ship
I audited the top 5 EN + top 5 native DE results for "image seo" / "bild seo" via Lumina's Alt Text Checker, Schema Validator, and direct fetch. Every site preaches modern formats and LCP optimization. Most of them ship neither.
<picture> with format negotiation; the rest rely on raw JPEG and PNG in <img src>.Run the same audit on any URL with Lumina's Alt Text Checker →
Alt Text: The Rule Most Sites Still Get Wrong
Alt text is the most-misunderstood image SEO surface. Three patterns dominate the SERP and all three are wrong in subtly different ways. The first is keyword-stuffed alt: "lumina seo tool dashboard best seo 2026 keyword research". The second is empty alt on meaningful images: alt="" on a content screenshot. The third is missing alt entirely on bot-uploaded images from Markdown templates that strip the attribute.
The correct pattern is descriptive factual prose, 5 to 15 words, written for someone who can't see the screen. "GSC Dashboard showing clicks rising 38% week over week" beats "dashboard". "Plumber repairing a kitchen sink trap" beats "plumber sink". The alt text becomes the image's name in Google Images, the screen reader's announcement, and the AI engine's textual handle on the visual content. All three audiences are served by the same descriptive prose.
Three rules cover almost all real cases. First, decorative images (background gradients, separator lines, icon decorations) take alt="" deliberately — this tells screen readers to skip them and tells Google the image carries no semantic meaning. Second, meaningful images take 5 to 15 words of factual description, ideally including the page's primary topical concept when the image relates to it. Third, complex images (charts, infographics, dense screenshots) take a short alt plus a longer description in nearby caption or text — the alt covers the headline, the surrounding text covers the detail.
The keyword question comes up often. The honest answer: include the page's primary keyword when the image relates to it directly, in natural prose. Don't repeat the keyword across every image's alt. Don't construct alt text from comma-separated keyword stuffing. Google's image documentation explicitly calls out keyword stuffing as a quality signal that can hurt the page. A page with 12 images all anchored to the same keyword in alt looks manipulated; a page with 12 images each describing what they actually show looks natural.
Modern Formats: WebP, AVIF, and Why Almost Nobody Uses Them
Every image SEO guide for the last four years has recommended WebP. Most guides written since 2023 also recommend AVIF. The Lumina audit found zero of 97 article-body images across 10 top-ranking pillars actually serve either format in the img src. The advice is universal. The adoption is essentially nonexistent.
WebP launched in 2010 and reached 98% browser support by 2024. It compresses about 30% smaller than JPEG at equivalent quality, supports both lossy and lossless modes, and handles transparency. Every major image CDN ships WebP variants automatically. Every modern build tool (Next.js, Astro, Nuxt, Hugo) generates WebP outputs by default. There's no compatibility excuse left. Sites that still serve raw JPEG and PNG in 2026 are paying the bandwidth penalty entirely from inertia.
AVIF launched in 2019 and reached 94% browser support in 2025 (Chrome, Edge, Firefox, Safari from iOS 16 and macOS Ventura). It compresses about 50% smaller than JPEG and about 30% smaller than WebP at the same visual quality. Encoder complexity is higher (AVIF encodes are 10 to 50 times slower than JPEG), but build-pipeline tools cache encoded outputs so the cost runs at build time, not request time. AVIF is the right primary format for new sites in 2026.
The pragmatic 2026 setup is a <picture> element with three sources: AVIF for the 94% of browsers that support it, WebP for the 4% that don't but support WebP, and JPEG or PNG as the final fallback. The <img> inside the picture is the JPEG fallback plus the alt text, width, and height. Browsers walk the source list and load the first one they support, downloading exactly one image per slot.
<picture>
<source srcset="hero.avif" type="image/avif">
<source srcset="hero.webp" type="image/webp">
<img src="hero.jpg" alt="Lumina dashboard showing GSC clicks rising"
width="1200" height="630" loading="eager" fetchpriority="high">
</picture>
LCP Image: The Pattern That Works
The Largest Contentful Paint metric measures how long it takes for the largest visible element to render. On content-heavy pages it's almost always an image — the hero on an article page, the product photo on an e-commerce page, the recipe photo on a food page. Bad LCP is the single most common Core Web Vitals failure, and unoptimized hero images are the single most common cause of bad LCP.
Three attributes move LCP measurably on hero images. Set loading="eager" to override any automatic lazy-loading behavior — a lazy-loaded LCP image gets its fetch deferred until layout runs, which adds 200 to 400 ms to the metric on a typical mobile connection. Set fetchpriority="high" to tell the browser this resource is critical-path before layout runs — the browser then bumps it ahead of other resources in the same priority bucket. Set explicit width and height attributes (or aspect-ratio CSS) so the browser can reserve layout space and start the fetch immediately.
For above-the-fold images that are NOT the LCP candidate (icons, decorative graphics, badges), the opposite applies: ship them with loading="lazy" and no fetchpriority. The browser then deprioritizes these in favor of the LCP image. The mistake most sites make is treating all above-fold images uniformly with eager loading, which spreads bandwidth across non-critical images and slows down the actual LCP. Pick one LCP candidate per page, give it priority hints, lazy everything else.
Lumina's audit found 6 of 97 audited images use fetchpriority equals high — and several of those 6 sit on guides that explicitly teach LCP optimization. The Yoast image SEO guide, ranked 3rd on Google for "image seo", is one of the better examples (1 image with fetchpriority on the hero). The rest of the SERP ships eager-only or lazy-only patterns with no priority hints at all.
Image Schema and Structured Data
ImageObject schema is the JSON-LD structured data type Google uses to attach metadata to images: caption, license, creator, content URL, content location, and width/height. The schema mostly affects Google Images results (licensed-image carousels, image search result snippets) and rarely moves regular organic rankings — but for product photos, recipe photos, infographics, and any page where the image IS the primary entity, ImageObject is worth shipping.
The minimum useful pattern nests an ImageObject inside the page's main schema. On a BlogPosting, the image field can either be a simple URL string (Google's most-recommended baseline) or a full ImageObject with width, height, and caption. On a Recipe, the image field is required. On a Product, the image is required for Google Shopping eligibility. On a NewsArticle, the image affects Top Stories carousel eligibility.
"image": {
"@type": "ImageObject",
"url": "https://example.com/hero.avif",
"width": 1200,
"height": 630,
"caption": "Lumina dashboard showing GSC clicks rising 38% week-over-week"
}
The deeper pattern uses the License property to declare image licensing, which moves the image into Google Images' licensable-image filter. Major stock-photo providers (Shutterstock, Getty) ship this on every image; most blog content doesn't need it. The Schema Markup Guide covers the broader schema landscape; ImageObject sits inside that as one type of many.
Image SEO for AI Search: The New Layer
AI search engines read images differently from classical Google search. ChatGPT, Perplexity, Claude with web access, and Google AI Overviews all run multimodal vision models against the images on pages they fetch for citation. They read alt text (same input Google has always read), they read surrounding HTML context (caption, nearby paragraph, heading), and they read the actual pixels via vision models that extract objects, scenes, and embedded text. Three inputs per image — and a page that aligns all three signals becomes more citable than a page with strong text alone.
The practical implication for image SEO content: alt text matters more than ever. AI engines that run multimodal vision can verify whether the alt text matches what the pixels actually show. An image of a dashboard with alt text saying "dashboard" passes the old Google check but fails the AI alignment check — the AI engine can read the dashboard's chart labels and knows the alt is too thin. The same image with alt text "GSC Dashboard showing organic clicks rising 38% week over week" passes both: Google has rich text to index, and the AI engine confirms the alt matches the pixels.
Image filenames also feed AI retrieval. When ChatGPT Search fetches a page and decides which images are relevant to the user's query, descriptive filenames like lumina-gsc-dashboard-clicks-trend.webp are easier for the model to ground than IMG_4827.png. Treat filename as a secondary alt text — describing what the image shows, in 3 to 7 hyphenated words, lowercase.
The new constraint for 2026: AI crawlers (GPTBot, ClaudeBot, PerplexityBot) don't always run JavaScript, which means images loaded via lazy-loading libraries that depend on JS execution can be invisible to AI retrieval. Native loading="lazy" works fine because it's HTML-attribute-level. Custom JS lazy-loaders that swap src on scroll do not — the bot sees the placeholder src and never the real image. Lumina's JS vs No-JS tool renders any page with and without JavaScript so you can confirm which images are present in both views.
The 6 Mistakes Most Sites Make
Six mistakes show up consistently across the audited pillars and the wider SERP. Each one is fixable in an afternoon once you find it. Most sites have three or four of them simultaneously.
1. Shipping raw JPEG or PNG when WebP or AVIF is one build step away
The defining mistake of the 2026 image SEO SERP. WebP has 98% browser support. AVIF has 94%. Every modern build tool generates both automatically. Sites that still ship raw JPEG and PNG are leaving 30 to 50 percent bandwidth savings on the table for no reason. The fix is one config change in your build pipeline plus a <picture> element in your image template.
2. Treating all above-fold images as LCP candidates
Eager-loading every above-fold image (logo, hero, secondary images, icons) spreads bandwidth thin and slows the actual LCP. Pick the one image most likely to be the LCP candidate, ship it with loading="eager" and fetchpriority="high", and ship everything else with loading="lazy". The exception: navigation logos that appear on every page benefit from eager but never need fetchpriority.
3. Empty or missing alt on meaningful images
Bot-uploaded images from Markdown templates and CMS content blocks frequently strip alt text. The result is a page with 6 informative screenshots all carrying alt="" or no alt at all — invisible to Google Images, invisible to AI vision-text alignment, and a hard fail on accessibility. Audit periodically with Lumina's Alt Text Checker and add alt to any non-decorative image.
4. Keyword-stuffed alt text
"lumina seo tool image checker free 2026 best alt text dashboard" doesn't help Google rank the image — Google's documentation explicitly flags keyword stuffing in alt as a quality signal that can hurt the page. Write factual prose. If the page's primary keyword fits naturally in one or two image alts, fine. If you're forcing it into ten, you're optimizing in the wrong direction.
5. Missing width and height (or aspect-ratio) attributes
Without intrinsic dimensions, the browser can't reserve layout space, the image pop-in causes Cumulative Layout Shift, and CLS is one of three Core Web Vitals. Set width and height to the source image's intrinsic dimensions (the pixels in the file), use CSS to scale visually, and the aspect ratio is preserved. Modern alternative: aspect-ratio: 16/9 in CSS plus width-only or height-only on the img — both work.
6. Hosting images on a domain with no CDN or HTTP/2
Image-heavy pages benefit massively from a CDN that ships HTTP/2 or HTTP/3, supports modern formats automatically, and serves geographically close to the user. Self-hosted images on a single-region Apache server with HTTP/1.1 typically add 200 to 500 ms to image load times compared to Cloudflare, Vercel, or Netlify (which is what runs Lumina). For a content-heavy site, the CDN switch is the single highest-impact image SEO change you can make in an afternoon.
A 5-Step Image SEO Workflow
Five steps in two weeks cover the work that moves real numbers. The order matters: format and LCP changes affect Core Web Vitals first, alt-text changes affect Google Images second, schema changes affect rich results last. Start where the user-visible payoff is biggest.
Run Lumina's Alt Text Checker against your top 10 traffic pages. Note: images missing alt, images shipping raw JPEG/PNG, images without width/height, and images using lazy when they should be eager.
Run Alt Text Checker →Configure your build pipeline (Next.js, Nuxt, Astro, Hugo, Eleventy) to emit AVIF + WebP automatically. Wrap images in <picture> with both sources + JPEG fallback in <img>. Verify with DevTools Network tab.
On every page, identify the LCP candidate (usually the hero image). Add loading="eager" + fetchpriority="high". Switch everything else to loading="lazy". Re-test PageSpeed Insights mobile + desktop.
Replace empty, missing, or keyword-stuffed alt with factual 5-to-15-word descriptions. Lumina's Alt Text Checker flags each problem image; fix them one by one. Audit quarterly to catch CMS-stripped alts.
Re-audit alts →Where the image is the page's primary entity (product, recipe, infographic), add ImageObject schema with caption, width, height, and license if applicable. Validate with Lumina's Schema Validator. Skip for blog hero images — the BlogPosting image URL field is enough.
Validate schema →FAQ
Where to Start
If you can do exactly one thing this week, configure your build pipeline to emit AVIF and WebP automatically. Every modern static-site framework supports it with a one-line config change: Next.js (next/image with formats), Astro (astro:assets), Nuxt (nuxt-img), Hugo (resources.GetMatch with mediaType), Eleventy (eleventy-img). Wrap your images in <picture> with both sources + a JPEG fallback in <img>. Re-test Core Web Vitals with Lumina's PageSpeed. The LCP improvement is usually visible within the same day's measurement window.
If you have more time, fix the LCP priority hints on every page in step 2. Identify the LCP candidate (usually the hero image), set loading="eager" + fetchpriority="high" on it, switch every other image on the page to loading="lazy", and re-test. Pages with strong LCP priority hints typically rank better in Google's Page Experience scoring and lose fewer mobile users to slow loads. Both changes compound: AVIF cuts the transfer time by half, fetchpriority gets the cut transfer scheduled correctly, and the LCP metric reflects both.
Audit your image SEO now
Lumina's Alt Text Checker scans every image on a page, flags missing alt, weak alt, missing dimensions, lazy/eager mismatches, and old formats. Free, no signup.
Run Alt Text Checker →