Guide : Image Optimization

Comment optimize images pour le SEO et performances — modern formats comme WebP et AVIF, compression, correct dimensions, et lazy chargement — à améliorer Core Web Vitals et LCP.

Première publication : 2 juil. 2026 · Dernière mise à jour : 3 août 2026 · Avancé

Image optimization est a speed discipline, pas a classement lever. Formats (WebP, AVIF), compression, et correct sizing exist à shrink bytes et améliorer LCP — il y a aucun direct classement boost pour le format itself (Mueller confirmed ce three séparé times). Le unique highest-valeur règle: jamais lazy-charger votre LCP image (généralement le hero) — il delays le exact metric vous êtes trying à corriger. Que un obtient chargement="eager" plus fetchpriority="élevé". Native chargement="lazy" est pour images à l’extérieur le initial viewport, pas a fixed 'ci-dessous le fold' line. Compression a aucun universal "right" qualité — tester per image. Correct size = rendu container size × device pixel ratio, et que container size itself moves avec responsive layout, qui est pourquoi vous deliver a srcset range. None de ce guarantees a passing Core Web Vitals score, a classement modifier, or plus trafic — mesurer LCP et CLS avant et après. Ce est le comment-à companion à le Image SEO hub, qui owns le ce que/pourquoi.

«> TL;DR — Image optimization is a page-speed / Core Web Vitals discipline, not a

direct ranking lever. Format choice (WebP, AVIF) shrinks bytes but gives no SEO boost — Mueller has said so three separate ways; also weigh transparency, animation, and current browser support, not just compression ratio. The single most valuable rule: never lazy-load your LCP image (usually the hero); that delays the very metric you’re optimizing. Give it loading="eager" + fetchpriority="high", though priority hints only help a discovery/fetch-timing bottleneck, not every LCP problem. Native loading="lazy" is for images outside the initial viewport — not a fixed “below the fold” pixel line. Compression has no universal “right” quality — test per image type. Correct dimensions = rendered container size × device pixel ratio, and that container size itself shifts with responsive layout, so deliver a srcset/sizes range (a wrong sizes value quietly downloads an oversized image) with a <picture> fallback. Images are the most common LCP element on the web, which is why this article cross-lists into Web Performance — but none of this guarantees a passing Core Web Vitals score, a ranking change, or more traffic; measure before and after. » (Traduction) (Résumé en français de la section quatorze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Ce que image optimization optimizes pour (définir the myth up front)

Let me kill le biggest myth avant n’importe quoi sinon: image format est a speed lever, pas a classement lever. Converting à WebP or AVIF ne fait pas earn vous a classement bump. Il earns vous plus petit fichiers, qui earn vous a faster page, qui feeds Core Web Vitals — et c’est le partie recherche systèmes utiliser. Le chain est réel mais indirect, et collapsing il dans “next-gen formats rank better” est où la plupart concurrent guides go incorrect.

Google’s docs sont blunt à propos de pourquoi images matter pour speed: ils sont “souvent le largest contributor à overall page size, qui peut faire pages lent et expensive à charger,” et le advice est à “appliquer le latest image optimization et responsive image techniques à provide a élevé qualité et rapide utilisateur experience” (Recherche Google Central — Images). Remarque le framing: rapide utilisateur experience, pas a classement reward pour le fichier format.

Preuve à l’appui de cette affirmation Images are often a major contributor to page weight, and Google recommends responsive image and optimization techniques for a fast user experience. Portée : Google Search image guidance about performance; no claim that a particular format directly improves rankings. Niveau de confiance : élevé · Vérifié : Google Search Central: Google Images SEO

Pour le ce que/pourquoi de image SEO overall — texte alternatif, filenames, image sitemaps, structured données, image-recherche classement — c’est le parent Image SEO hub’s job. Ce article est le canonical comment: formats, compression, sizing, et chargement stratégie.

Lead avec le règle everyone breaks: jamais lazy-charger votre LCP image

Si vous prendre un chose depuis ce page, prendre ce. Le Plus grand affichage de contenu (LCP) element — le biggest chose painted dans le viewport on charger — est “soit an image or a web font,” per web.dev (Optimize LCP), et on la plupart pages c’est an image: le hero, le featured image, le produit shot. web.dev puts le règle à propos de as bluntly as Google ever phrases n’importe quoi:

“Jamais lazy-load votre LCP image, as que va toujours lead to unnecessary resource charger delay, and va have a negative impact on LCP.”

Preuve à l’appui de cette affirmation Lazy-loading an LCP image adds resource load delay; web.dev recommends loading it eagerly and considering high fetch priority. Portée : web.dev guidance for image-based LCP elements. Niveau de confiance : élevé · Vérifié : web.dev: Optimize LCP

Ce est le nuance la plupart “just use lazy loading” advice misses entirely. Lazy-loading est great — pour images ci-dessous le fold. Appliquer il à le LCP image et vous actively delay le un metric vous êtes trying à améliorer. web.dev’s lazy-loading guide dit le même chose depuis le autre direction: “ne pas lazy-charger images que sont probable à être dans-viewport quand le page charge, surtout LCP images” (Navigateur-level lazy chargement).

j’ai fait le même argument dans mon propre LCP article on Ahrefs: le largest element “est généralement going à être a featured image or maybe le <h1> balise,” et le corrections suivre depuis que. “Si vous ne pas besoin le image, le la plupart impactful solution est à simplement obtenir rid de il. Si vous doit ont le image, Je suggest optimizing le size et qualité à garder il as petit as possible.” Vous devrait “lazy charger quelconque images que vous ne pas besoin immédiatement” — mais le flip side est a difficile règle Je put dans caps pour a reason: “Ne faites pas lazy charger images ci-dessus le fold!”

fetchpriority="high" on the LCP image

Pas lazy-loading le hero est necessary mais pas sufficient. À assurez-vous le LCP image charge as early as possible, hint son priority à le navigateur. Depuis web.dev:

“Vous pouvez hint à le navigateur as à qui resources sont la plupart important en utilisant le fetchpriority attribut… c’est a bon idea à définir fetchpriority=\"high\" on an <img> element si vous think c’est probable à être votre page’s LCP element.”

<img src="/hero.webp" alt="…" fetchpriority="high" width="1200" height="675">

Dans mon LCP écrire-up Je décrire fetchpriority="high" le même façon — il “peut être utilisé on <img> or <link> balises et indique navigateurs à obtenir le image early” — et Je pair il avec Early Hints (a 103 réponse) as a complementary façon à commencer le récupérer avant le principal HTML même arrives. Donc le LCP recipe est: eager charger + fetchpriority="high" (+ Early Hints si votre stack prend en charge les). Tout sinon on lune page peut lazy-charger.

Treat fetchpriority et preload as bottleneck-spécifique outils, pas a guaranteed corriger. Ils aider quand le LCP image est découvert or récupéré late; ils ne faites pashing pour a lent serveur réponse, a rendre-blocking resource ahead de le image, or a genuinely oversized fichier. Confirmer qui bottleneck vous en réalité ont (PageSpeed Insights or Lighthouse breaks LCP dans son subparts) avant assuming a priority hint alone va déplacer le number.

Native loading="lazy" — gratuit, simple, et correct ci-dessous le fold

Pour chaque image que n’est pas dans le initial viewport, native lazy chargement est le easiest win dans performances. web.dev: “Vous pouvez utiliser le loading attribut à lazy-charger images sans le besoin à écrire custom lazy-loading code or utiliser a séparé JavaScript library.”

<img src="/below-the-fold.webp" alt="…" loading="lazy" width="800" height="600">

Two choses garder ce safe:

«- Base it on the initial viewport, not a fixed “below the fold” line. “The fold” isn’t a fixed pixel count — it shifts with viewport size and layout. The actual test is whether the image is likely to be visible when the page first paints. Anything that is — and especially the LCP image — gets loading="eager" (the default), never lazy. » (Traduction) (Résumé en français de la section trente-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Prefer the native attribute over JS hacks. JavaScript lazy-loaders that hide the real URL in data-src and never expose a src risk not being indexed at all. Native loading="lazy" (or a clean IntersectionObserver) keeps the src visible to crawlers. The parent Image SEO hub covers that indexing caveat in full. » (Traduction) (Résumé en français de la section trente-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Modern formats: WebP vs. AVIF vs. JPEG/PNG » (Traduction) (Résumé en français de la section trente-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Formats sont où le myth-busting matters la plupart, donc let’s être precise à propos de ce que chaque buys vous — qui est bytes, pas rankings.

  • WebP — “souvent a meilleur compression que JPEG, PNG, or GIF, offering les deux lossy et lossless compression” (web.dev — Image performances). Roughly 25–35% plus petit que JPEG avec near-universal navigateur prise en charge. Le sûr par défaut pour photos aujourd’hui.
  • AVIF — “prend en charge les deux lossy et lossless compression, et tests ont affiché supérieur que 50% savings quand comparé à JPEG dans some cas.” Meilleur-dans-class compression, slightly moins universal prise en charge, donc pair il avec a WebP or JPEG fallback.
  • JPEG — le universal fallback pour photographs.
  • PNG — quand vous besoin transparency or crisp-edged graphics.
  • SVG — logos et icons: vector, scales infinitely, tiny.

«Which format to reach for also depends on what the image needs to do, not just which one compresses hardest: transparency, animation, and how consistently a browser or tool supports that specific combination all factor into the choice alongside the raw size savings above — check current support for the exact feature you need, especially for anything animated, before you commit to one format as the default. » (Traduction) (Résumé en français de la section trente-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Google Search supports “BMP, GIF, JPEG, PNG, WebP, SVG, and AVIF” referenced in an <img> src. Serve the modern format with a graceful fallback using <picture>: » (Traduction) (Résumé en français de la section trente-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

<picture>
  <source srcset="/photo.avif" type="image/avif">
  <source srcset="/photo.webp" type="image/webp">
  <img src="/photo.jpg" alt="…" width="1200" height="800" loading="lazy">
</picture>

«The <img src> at the bottom is your safety net — older browsers and crawlers fall back to it, and it’s the URL Google actually indexes. » (Traduction) (Résumé en français de la section quarante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«### Does format affect rankings? (No — and Mueller has said so three ways) » (Traduction) (Résumé en français de la section quarante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«This is the single myth-busting thread worth pulling through the whole topic. Three separate, independently-timed John Mueller statements all land on the same conclusion — format affects crawl/index mechanics and page weight, never ranking directly: » (Traduction) (Résumé en français de la section quarante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«1. AVIF gives no SEO boost. After Google added native AVIF support, Mueller confirmed there’s no “SEO boost” for using AVIF over other supported formats (SE Roundtable coverage). 2. WebP is “fine.” “WebP images are fine for Image Search” — “fine,” notably, not “better” (SE Roundtable coverage). 3. WebP indexing quirks aren’t format-specific. When people saw WebP files show as “Crawled – currently not indexed” in GSC, Mueller’s point was that image files aren’t indexed as HTML pages, and he didn’t believe the phenomenon was limited to WebP at all (SEJ coverage). » (Traduction) (Résumé en français de la section quarante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«These rep statements are quoted via verbatim secondary coverage (SE Roundtable, Search Engine Journal) of office-hours and social posts rather than a deep-linkable primary page; they’re the same citations used in the parent Image SEO hub, kept consistent here. The SEJ piece paraphrases/summarizes Mueller rather than block-quoting him. » (Traduction) (Résumé en français de la section quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Compression and quality: there’s no universal “right” setting » (Traduction) (Résumé en français de la section quarante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

The la plupart courant bad advice in image guides is a unique “compress to 80%” bullet. web.dev is explicit que aucun tel magic number exists:

“Quand compressing, là n’est pas a universal paramètre suitable pour tout cas. Le recommended approche voudrait être à experiment avec différent compression levels jusqu’à vous trouver a bon compromise entre image qualité et fichier size.”

Practically: tester per image type. Photographs tolerate aggressive lossy compression bien; graphics, logos, et screenshots avec texte montrer artifacts quickly et souvent vouloir lossless or a plus élevé qualité paramètre. Au lieu de trusting un slider, export le même image à deux or three qualité levels et eyeball les à afficher size — le smallest un vous pouvez’t visually distinguish depuis le original est votre réponse. c’est a réel workflow, pas “exécuter il via TinyPNG et hope.”

«## Correct dimensions: container size × device pixel ratio » (Traduction) (Résumé en français de la section cinquante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

“Just make it smaller” n’est pas le règle — matching le rendu size × le device pixel ratio (DPR) est. Depuis web.dev:

“An image affiché in a 500 pixel by 500 pixel container voudrait be optimally sized at 500 pixels by 500 pixels.”

“Si le device a a DPR de 2 et le image est affiché dans a 500 pixel par 500 pixel container, alors a square 1000 pixel image… est maintenant le optimal size.”

«So a 500×500 container on a 2× (Retina-class) display wants a 1,000×1,000 source. Go bigger than that and you waste bytes with no perceptible gain; go smaller and it looks soft on high-DPR screens. This is why you serve a range of sizes and let the browser pick, using srcset + sizes: » (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

<img
  src="/photo-800.webp"
  srcset="/photo-400.webp 400w, /photo-800.webp 800w, /photo-1600.webp 1600w"
  sizes="(max-width: 600px) 100vw, 500px"
  alt="…" width="800" height="600" loading="lazy">

«The browser reads the container width (sizes) and its own DPR, then picks the right candidate from srcset — the responsive-delivery version of the DPR math above. Google recommends <picture> or srcset for responsive images and says to “always specify a fallback URL using the src attribute.” » (Traduction) (Résumé en français de la section cinquante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Obtenir sizes incorrect et rien warns vous. Si le valeur vous declare ne fait pas match comment wide le image en réalité renders — a courant bug après a layout or CSS modifier — le navigateur a aucun façon à know que et simplement picks a candidate fondé on le inaccurate number vous gave il, qui typically signifie il downloads a plus grand fichier que le layout nécessite. Que silently undoes le format et compression fonctionner ci-dessus. Le seulement fiable façon à catch il: ouvrir DevTools’ Network panel, trouver le image requête, et comparer le delivered fichier’s dimensions contre le container’s réel rendu width.

Que 500×500 exemple ci-dessus est illustrative, pas a site-wide number à difficile-code — le même hero image peut rendre à a différent width on mobile que on desktop, donc “container size” moves avec votre responsive layout plutôt que staying fixed. c’est exactly pourquoi vous deliver a srcset range au lieu de exporting un “optimal” size et appel il fait.

Pourquoi ce tout ties back to Core Web Vitals

Le throughline connecting chaque technique ci-dessus est LCP. Images sont le la plupart courant LCP element on le web, et LCP est un de le three Core Web Vitals. Google’s cible: “LCP devrait occur dans 2,5 seconds” à le 75th percentile de page charge à travers mobile et desktop (web.dev — Vitals). Core Web Vitals “appliquer à tout pages web, devrait être mesuré par tout site owners, et va être surfaced à travers tout Google outils.”

Donc image optimization n’est pas a discrete facteur de classement — c’est a contributor à a page-experience signal (Core Web Vitals) que classement systèmes faire utiliser. Que distinction est le précis framing, et c’est pourquoi ce article lives dans les deux le Image SEO cluster et le Web Performances cluster. Pour le deep dive on le metric itself, voir Core Web Vitals et LCP dans Web Performances.

Un plus caution worth stating plainly: none de le corrections on ce page guarantee n’importe quoi. Image bytes sont seulement un possible component de LCP — web.dev’s propre breakdown de LCP subparts inclut choses comme serveur réponse temps et ressources qui bloquent le rendu ahead de le image, none de qui format or compression touch — et image dimensions sont seulement un entrée dans CLS, pas a guarantee de a particulier score. Shrinking a hero image peut measurably aider, ne faites pashing, or (si quelque chose sinon est le réel bottleneck) barely déplacer le number à tout. Optimizing images aussi ne fait pas itself guarantee a passing Core Web Vitals assessment, a classement modifier, plus trafic, plus conversions, or an AI-recherche citation — ceux depend on far plus que image bytes. Treat chaque image corriger as a hypothesis, pas a fait deal: mesurer LCP et CLS avant et après, dans le lab et dans le champ, et let que données — pas le assumption que optimizing “worked” — tell vous si il déplacé n’importe quoi.

Courant implementation pitfalls

  • CSS background images ne sont pas indexé. Devs parfois swap an <img> pour a background-image pour layout convenience. Google “peut trouver images dans le src attribut de <img> element (même quand c’est a child de autre elements, tel as le <picture> element)” mais “ne fait pas indexer CSS images.” Si vous vouloir le image dans recherche d’images, garder il dans an <img>. (Ce un’s performance-adjacent, mais le mistake est courant suffisant à flag.)
  • ne pas bulk-rename existing fichiers pour a performances/SEO “refresh.” Mueller has said it takes “a lot de time” pour Google’s systèmes à reprocess renamed images et le effect est minimal si votre context est déjà bon — le parent Image SEO hub covers ce dans complet.
  • Manquant width/height. Toujours définir intrinsic width et height (or CSS aspect-ratio) donc le navigateur peut reserve space avant le image charge — ce reduces image-driven layout shift, mais c’est un entrée dans CLS parmi plusieurs, pas a guarantee de a particulier score.

Rapide recipe

  • Hero / LCP image: modern format, right-sized, loading="eager", fetchpriority="high".
  • Tout ci-dessous le fold: loading="lazy".
  • Servir WebP/AVIF avec a <picture> src fallback.
  • Size à container × DPR; deliver a srcset range avec sizes.
  • Compress per image type — tester 2–3 qualité levels, ne pas confiance un slider.
  • Toujours définir width/height.

Pour le rest de image SEO — texte alternatif, filenames, image sitemaps, données structurées, et image-recherche classement — head back à le Image SEO hub.

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.