Image SEO connects four jobs: the image must help the page, remain accessible when it cannot be seen, be discoverable by search systems and load at the right quality without delaying the experience. Alt text matters, but it cannot repair an irrelevant image, blocked file or oversized hero.
Google uses the image, alt text and surrounding page context together. W3C guidance also changes the text alternative according to whether an image is informative, functional, decorative, complex or redundant. Decide the job first; then write or omit alternative text correctly.
The quick answer: optimize in this order
| Layer | Question | Pass condition |
|---|---|---|
| Purpose | Does this image help a real page task? | It explains, proves, compares, identifies or enables an action |
| Accessibility | What is lost if the image cannot be seen? | Equivalent meaning or function remains available |
| Discovery | Can Google find the actual file and its landing page? | Crawlable HTML, page and image URL |
| Context | Can a system understand why it matters here? | Relevant nearby text, caption or structured data |
| Delivery | Does the browser receive an appropriate version? | Correct dimensions, format and responsive source |
| Priority | Is it critical to the first viewport? | LCP candidate loads early; later images defer |
| Measurement | Did the work improve the intended outcome? | Search, accessibility and performance evidence |
Classify the image before writing alt text
Every <img> needs an alt attribute, but it does not always need words. Empty alt="" tells assistive technology to ignore a decorative or redundant image; omitting the attribute can cause a filename or URL to be announced.
| Image job | Text alternative | Example decision |
|---|---|---|
| Informative photo or screenshot | Briefly communicate the useful meaning in this context | Describe the finding shown, not every colour |
| Functional image inside a link or button | Describe the destination or action | “Download the SEO audit template” |
| Decorative image | Use alt="" | Abstract background shape adds no information |
| Redundant image | Use alt="" when nearby text already provides the same meaning | Icon beside the visible word “Search” |
| Complex chart or diagram | Short alt plus a full nearby explanation or data table | Name the chart and explain the trend in text |
| Image containing essential text | Include the essential text if it is not available nearby | Campaign poster with date available only in the image |
| Logo | Use the organization name when the logo identifies it | “SEOWithJack” |
| Portrait | Use the person’s name or role when identity is relevant | “Jack Lee, SEO consultant” |
Write alt text for this page and this use
Alt text is contextual. The same photo can require different text on a team page, a case study or a decorative banner. Describe what a person needs to understand or do—not the filename, a list of keywords or the phrase “image of”.
For an image link, alt text acts like anchor text. Describe where the link goes rather than repeating visual details. The title attribute is not a substitute for alt text.
| Situation | Weak | Useful |
|---|---|---|
| Audit screenshot | “SEO screenshot dashboard ranking report SEO” | “Search Console report showing indexed and excluded pages” |
| Product comparison | “Two laptops” | “13-inch and 15-inch laptops compared side by side” |
| Linked PDF cover | “Report cover” | “Download the 2026 technical SEO checklist” |
| Chart | “Traffic chart” | “Organic clicks declined after the March migration” |
| Decorative gradient | “Purple orange gradient background” | alt="" |
| Photo already captioned with identical meaning | Repeat the full caption | alt="" when the image adds no separate information |
Make the image discoverable in real HTML
Google says it can find images in the src attribute of a standard <img>, including an <img> inside <picture>. It does not index CSS images. Use CSS backgrounds for decoration; use normal image markup for content, evidence and likely representative images.
If a JavaScript gallery hides the real URLs in data-src until interaction, verify the rendered HTML and crawler access. Important images should not depend on a click, login or blocked script before they exist.
- The landing page returns a successful indexable response.
- The image URL returns the image with a correct content type.
- Robots rules do not block the landing page or image file.
- Important images appear in
<img src>or a crawlable responsive pattern. <picture>andsrcsetretain an<img src>fallback.- The image does not require login, cookies or a user action to become available.
- CDN URLs remain stable and accessible to Googlebot.
- Broken, placeholder and hotlinked files are removed or replaced.
Use stable filenames and one consistent file URL
Google describes filenames as a light clue—not a place to repeat keywords. Use short, descriptive names when practical, and keep the extension consistent with the actual format. If the same image appears on several pages, consistently reference the same URL so crawlers and browsers can reuse it.
Avoid changing an already indexed image URL only to improve its filename. The migration cost may outweigh the small naming benefit. For new assets, a predictable naming system makes ownership and maintenance easier.
| Asset | Working filename | Avoid |
|---|---|---|
| Case study screenshot | redirect-validation-report.webp | IMG_4821-final-final.webp |
| Service process photo | technical-seo-audit-review.jpg | best-seo-seo-agency-malaysia.jpg |
| Chart | organic-clicks-before-after-migration.svg | chart1.svg |
| Team portrait | jack-lee-seo-consultant.jpg | DSC00038.jpg |
| Localized diagram | zh-cn-crawl-index-flow.svg | using an English diagram with unreadable text |
Choose format by visual job—not fashion
Google currently supports BMP, GIF, JPEG, PNG, WebP, SVG and AVIF in image src. Browser support, visual quality, editing workflow and fallback needs still matter. There is no universal “best” format or file-size target.
Modern formats can reduce transfer size, but compare the actual output. Text-heavy screenshots may need lossless or near-lossless settings, while photographs can usually tolerate perceptual compression.
| Content type | Typical starting point | Watch for |
|---|---|---|
| Photograph | AVIF or WebP; optimized JPEG fallback where required | Skin texture, gradients and over-compression |
| UI screenshot | WebP/AVIF with high quality or optimized PNG | Blurred text and colour fringing |
| Logo or simple icon | SVG when safe and suitable | Untrusted scripts, missing accessible name |
| Transparent raster | WebP, AVIF or PNG | Unexpected background and edge artefacts |
| Simple animation | Animated WebP/AVIF, CSS or video depending on the job | Large GIF transfer and distraction |
| Complex illustration | Test SVG versus modern raster | Excessive SVG complexity or huge raster dimensions |
Size images for the rendered slot
CSS can make a 4,000-pixel image look 700 pixels wide, but the browser may still download the larger file. Generate a small set of useful candidates around real layout widths and device pixel density instead of dozens of arbitrary variants.
srcset lists available sources; sizes describes the expected rendered width. The browser then chooses a candidate using its viewport, density and network information. Use <picture> when you need explicit format choice or a genuinely different crop—not simply because it looks more advanced.
| Layout slot | Candidate strategy | QA |
|---|---|---|
| Full-width hero | Several widths up to the real design maximum | Desktop and mobile crop retain the subject |
| Article body image | Widths around the content column and high-density display | Text and labels remain readable |
| Four-card grid | Small candidates based on card width | Mobile does not download desktop-grid assets |
| Thumbnail list | Dedicated thumbnail sizes | No full hero file in a 120px slot |
| Art-directed banner | <picture> with intentional mobile crop | Alternative sources communicate the same meaning |
Reserve space before the file arrives
Set intrinsic width and height attributes, or otherwise provide a reliable aspect ratio, so the browser can reserve layout space. Responsive CSS can still scale the image fluidly. The HTML dimensions describe the source ratio; they do not force a fixed visual size.
A reserved box does not solve every layout shift. Test captions, consent-controlled embeds, galleries, ads and font changes around the image as part of the full page.
- Width and height match the intrinsic aspect ratio.
- CSS preserves the intended ratio across breakpoints.
- The final crop does not hide essential text or evidence.
- Gallery and carousel containers have a stable initial height.
- Captions do not overlay or push content unexpectedly.
- Error and fallback states keep the layout usable.
- Mobile orientation changes do not create a jump.
- Real-user CLS data is checked, not only a single lab run.
Treat the LCP image differently from later images
A likely Largest Contentful Paint image should be discoverable in the initial HTML, must not be lazy-loaded and should begin loading early. If measurement confirms it is the LCP candidate, fetchpriority="high" can help the browser prioritize it. Do not assign high priority to every image.
Preload is useful for a truly critical image that the browser cannot otherwise discover early, such as some CSS background cases. An ordinary <img> already visible in initial HTML may not need both preload and extra complexity. Use the Core Web Vitals guide to diagnose TTFB, resource delay, transfer duration and render delay rather than assuming compression is the only problem.
| Image position | Loading | Priority |
|---|---|---|
| Likely hero / LCP | Eager or default | Consider fetchpriority="high" after measuring |
| Other above-fold image | Default | Let browser prioritize unless evidence shows a problem |
| Below-fold editorial image | loading="lazy" | Default priority |
| Hidden carousel slide | Lazy or lower priority where appropriate | Do not compete with the visible slide |
| CSS LCP background that cannot be replaced | Preload carefully | Test the exact responsive URL and avoid double downloads |
Lazy-load by position, not by habit
Native loading="lazy" can reduce initial work for offscreen images. It is not a badge to add to every <img>. Images visible on load—especially the LCP candidate—should not wait for layout and proximity calculations.
Avoid JavaScript lazy-loading patterns that replace src with nonstandard attributes unless the platform has a crawlable fallback. Test fast and slow connections, keyboard navigation and disabled JavaScript when relevant.
- Identify the LCP element on representative templates.
- Exclude likely above-fold and LCP images from lazy loading.
- Use native lazy loading for suitable offscreen images.
- Keep real source URLs available in HTML.
- Avoid preloading many images and creating bandwidth competition.
- Version long-cached files when the visual changes.
- Verify CDN resizing returns the requested dimensions and format.
- Track image errors and unusually large transfers in production.
Place images where their context explains them
Google uses captions, image titles and nearby page text to understand the subject. A relevant image on a relevant landing page is stronger than a generic stock photo repeated across unrelated articles. The page title, main heading and body still need to explain the topic in text.
Do not lock the only important answer inside a screenshot. Search systems and assistive technology need visible text, and users need information they can copy, translate and resize.
| Element | Job | Good decision |
|---|---|---|
| Nearby paragraph | Explains why the image matters | Interpret the screenshot rather than merely introducing it |
| Caption | Adds source, date or takeaway | Use only when it benefits the reader |
| Figure / figcaption | Associates media with a visible caption | Useful for charts, evidence and credited images |
| Alt text | Provides nonvisual equivalent or function | Do not duplicate a long caption unnecessarily |
| Text transcript / table | Carries complex data accessibly | Use for diagrams, charts and text-heavy visuals |
Choose a representative image deliberately
Google selects previews automatically, but you can indicate a preferred image using relevant structured data such as primaryImageOfPage or an Article image, and with og:image. The image should be relevant, high quality and available on the visible page where appropriate.
Avoid using the same generic logo, an unrelated stock photo or an extreme aspect ratio as every page preview. Keep structured data consistent with visible reality through the structured data workflow, and review stale visuals through the content refresh workflow.
| Surface | Field | Check |
|---|---|---|
| Visible page | <img> / figure | Relevant evidence or useful representation |
| WebPage schema | primaryImageOfPage | Absolute accessible URL |
| Article schema | image | Matches the article and required guidelines |
| Social preview | og:image | Correct crop, title context and URL |
| Image results | Landing page + image context | Page is accessible and useful after the click |
Use Image Sitemaps and CDN controls for discovery gaps
An Image Sitemap can expose image URLs that Google might not otherwise discover. It does not make an irrelevant image rank and it does not replace normal HTML. Include useful image URLs on canonical pages; keep generated, placeholder and private assets out.
Image Sitemaps can reference CDN domains. Google recommends verifying CDN ownership in Search Console so crawl issues can be reported. If a CDN changes URLs on every transformation or blocks bots, fix the delivery system before adding more Sitemap entries.
- The canonical landing page is indexable.
- The submitted image URL returns the intended file.
- Only useful public images are included.
- CDN and source domains are verified where practical.
- Robots and signed-URL rules do not expire crawler access.
- The same asset does not fragment across unnecessary URLs.
- Old image URLs are mapped or removed during migration.
- Image discovery is tested after deployment, not assumed.
Track ownership, permission and licensing
SEO visibility does not grant permission to reuse an image. Record whether the file is original, client-provided, licensed stock, commissioned, public-domain or generated, along with the usage terms and source evidence.
For licensors and publishers, Google supports image rights information through structured data or IPTC photo metadata. Useful fields can include creator, credit, copyright notice, license and an acquire-license page. Retain critical rights metadata where required; stripping metadata for a few bytes can create legal and attribution problems.
| Record | Why keep it |
|---|---|
| Source / creator | Shows where the asset came from |
| Owner and permission | Confirms the website can publish it |
| License scope | Records commercial, editorial, territory or modification limits |
| Credit requirement | Ensures visible attribution is correct |
| Expiry / renewal | Prevents continued use after rights end |
| Original and derivatives | Supports future crops and replacements |
| AI or composite provenance | Supports transparency and internal policy |
| Removal contact | Speeds correction if a rights issue appears |
Audit from template to individual asset
- List image URLs, landing pages, status, format, intrinsic dimensions and transfer size.
- Classify each image as informative, functional, decorative, redundant or complex.
- Check whether alt is missing, empty by design or needs rewriting.
- Verify the landing page and file are crawlable and publicly accessible.
- Find CSS-only key images and nonstandard lazy-loading sources.
- Compare intrinsic dimensions with the rendered slot on mobile and desktop.
- Identify the actual LCP element and resource timing on core templates.
- Check width, height, aspect ratio, crop and fallback behaviour.
- Review filenames, nearby text, captions and representative-image metadata.
- Test broken URLs, redirects, CDN variants, caching and content types.
- Confirm ownership, credits and license evidence.
- Prioritize by user impact, template scale, image-search opportunity and effort.
Measure image outcomes separately
In Search Console, the Image search type represents results from the Google Images tab. Segment by page, query, country, device and date; do not assume it measures every image shown inside standard web results or Discover.
Pair search data with real-user performance and business outcomes. An image can succeed by explaining a process, reducing support questions or improving conversion even when it earns no Image Search click.
| Objective | Evidence | Interpret carefully |
|---|---|---|
| Image discovery | Image-search impressions and indexed landing pages | Indexing does not guarantee visibility |
| Relevant visits | Image-search clicks, queries and landing pages | Check what visitors do after arrival |
| Page speed | Field LCP and image resource timing | Lab tests diagnose; field data represents users |
| Layout stability | Field CLS and visual QA | The image may not be the only shifting element |
| Accessibility | Alt classification review and assistive-technology test | Automated “missing alt” checks cannot judge meaning |
| Conversion support | Form completion, product view or assisted action | Do not attribute a result from one change alone |
| Operational health | Broken images, transfer weight and CDN errors | Prioritize template-wide problems first |
Common image SEO mistakes
- Adding keywords to every alt attribute.
- Writing words for decorative images instead of using empty alt.
- Leaving informative images with no alt attribute.
- Using CSS backgrounds for key editorial images.
- Lazy-loading the LCP hero.
- Serving the original camera file in a small card.
- Using one desktop crop everywhere without checking mobile meaning.
- Preloading or assigning high priority to many images.
- Replacing every article preview with the same generic logo.
- Assuming an Image Sitemap can fix blocked or irrelevant images.
- Deleting rights metadata without checking legal and attribution needs.
- Measuring only file size and ignoring usefulness, accessibility and conversions.
Frequently asked questions
Does every image need written alt text?
Every <img> needs an alt attribute, but decorative and fully redundant images usually need empty alt="". Informative and functional images need a useful equivalent.
How long should alt text be?
There is no SEO character quota. Make it concise enough to understand the meaning or action in context; move complex detail into nearby visible text.
Should alt text include a keyword?
Use the natural words needed to describe the image. If the topic is genuinely part of the image, it may appear naturally; do not force or repeat keywords.
Are WebP and AVIF always better?
They often compress well, but the best output depends on the image, quality setting, browser support and production workflow. Test the actual visual and transfer.
What image size should I target?
There is no universal KB target. Set a performance budget based on the rendered slot, visual detail, number of images and real-user conditions.
Should the hero image be lazy-loaded?
Not when it is visible on load or likely to be LCP. Make it discoverable early and measure whether high fetch priority helps.
Does Google index CSS background images?
Google states that it does not index CSS images. Use standard HTML image elements for meaningful images you want discovered.
Do I need an Image Sitemap?
Use one when important images are difficult to discover or the site is image-heavy. It supplements, but does not replace, crawlable HTML and useful landing pages.
Can I use stock or AI-generated images?
Only when you have the right to use them and they genuinely help the page. Keep provenance and licensing records, and do not present generated evidence as a real customer, result or event.
How do I measure Image SEO?
Filter Search Console to Image search, then pair page and query data with field performance, accessibility review and the landing page’s business outcome.
Official references
- Google Search Central: Google Images best practices
- Google Search Essentials
- Google Search Central: Image license metadata
- web.dev: Responsive images
- web.dev: Image performance
- web.dev: Optimize Largest Contentful Paint
- web.dev: Browser-level image lazy loading
- W3C WAI: Alt decision tree
- MDN: The img element
- Ahrefs: Image SEO best practices
- Google Search Console API: Search Analytics query
Share representative templates or an image crawl. Jack can separate accessibility, discovery, responsive delivery, LCP, metadata and licensing problems into a prioritized implementation plan.



How Google Ranking Evolved: From PageRank to Modern Search SystemsSeptember 2, 2026
Google AI Content and SEO: What Is Allowed, What Is Spam, and How to Publish SafelySeptember 2, 2026
Google Florida Update (2003): What We Know, What Remains TheorySeptember 2, 2026