Hướng dẫn về Image Optimization
Cách optimize images cho SEO và performance — modern formats như WebP và AVIF, compression, correct dimensions, và lazy loading — để improve Core Web Vitals và LCP.
Ngôn ngữ
Image optimization là một speed discipline, không một xếp hạng lever. Formats (WebP, AVIF), compression, và correct sizing exist để shrink bytes và improve LCP — có không trực tiếp xếp hạng boost cho đó format itself (Mueller confirmed này three tách biệt times). Đó single highest-giá trị rule: không bao giờ lazy-load của bạn LCP image (thường đó hero) — điều này delays đó chính xác chỉ số bạn là trying để cách sửa. Đó một nhận loading="eager" plus fetchpriority="cao". Native loading="lazy" là cho images bên ngoài đó ban đầu viewport, không một fixed 'dưới đó fold' line. Compression có không universal "right" quality — kiểm thử theo image. Correct size = được kết xuất container size × device pixel ratio, và đó container size itself moves với responsive layout, mà là vì sao bạn deliver một srcset range. None of này bảo đảm một passing Core Web Vitals score, một xếp hạng thay đổi, hoặc hơn traffic — đo lường LCP và CLS trước và sau. Này là đó cách-để companion để đó Image SEO hub, mà owns đó điều gì/vì sao.
Tóm tắt — Image optimization có nghĩ là đang làm của bạn pictures nhỏ hơn so các trang load fast, không có đang làm them look bad. sử dụng modern format như WebP, compress file, và không phục vụ picture đó way bigger hơn nó hiển thị on screen. một rule mọi người break phần lớn: big image tại rất top của bạn trang nên load right away — không bao giờ “lazy load” đó một. Đang làm điều này well không magically boost của bạn thứ hạng, và nó không bảo đảm passing speed score either — nó chỉ làm của bạn các trang fast, và speed là Điều gì được tính, so kiểm tra của bạn thực tế kết quả trước khi và sau khi.
Điều gì image optimization thực ra làm
Images là gần như luôn đó heaviest điều on một web trang. Google own tài liệu chẳng hạn images là “often the largest contributor to overall page size, which can make pages slow and expensive to load.” (bản dịch) «thường đó largest contributor để overall trang size, mà có thể làm các trang chậm và expensive để load.» So optimizing them là thực sự về một điều: cutting đó bytes của bạn khách truy cập có để download, so trang của bạn cho thấy lên quickly.
Evidence for this claim Images are often a major contributor to page weight, and Google recommends responsive image and optimization techniques for a fast user experience. Scope: Google Search image guidance about performance; no claim that a particular format directly improves rankings. Confidence: high · Verified: Google Search Central: Google Images SEOĐó part đó surprises mọi người: đó format itself không phải một xếp hạng boost. Switching của bạn JPEGs để WebP sẽ không lift của bạn positions on của nó own. Điều gì điều này làm là làm đó files nhỏ hơn, mà làm đó trang nhanh hơn, và speed là điều gì helps. Này là đó sister bài viết để đó rộng hơn Image SEO hub — đó một covers alt text, filenames, và image tìm kiếm; này một là đó hands-on “make it load fast” (bản dịch) «làm điều này load fast» hướng dẫn.
handful của điều đó quan trọng
- sử dụng modern format. WebP và AVIF làm files nhiều nhỏ hơn old JPEGs và PNGs không có looking tệ hơn. WebP là safe default hôm nay.
- Compress nó. Ngay cả WebP có thể là cũng big. Chạy images qua compressor và tìm point nơi file là nhỏ nhưng vẫn looks fine.
- không phục vụ giant image vào nhỏ space. nếu picture chỉ hiển thị tại 500 pixels wide, bạn không cần 3 000-pixel file — đó wasted download.
- Lazy-load images xuống trang. Thêm
loading="lazy"tells trình duyệt để chờ cho đến khi bạn scroll near image trước khi loading nó. Great cho images dưới fold. - không bao giờ lazy-load big top image. largest image mọi người see Khi trang đầu tiên loads là một Google times của bạn speed so với. đó một nên load immediately.
điều phần lớn mọi người nhận sai
They lazy-load mọi thứ — including đó hero image tại đó top. Điều này sounds smart (“load less stuff!” (bản dịch) «load ít hơn stuff!») nhưng đây là backwards: đó top image là đó một trang của bạn-speed score là measured so với, so delaying điều này làm của bạn score tệ hơn. Load điều này eagerly, và tell đó trình duyệt đây là quan trọng. I giải thích chính xác cách trong đó Advanced tab.
Evidence for this claim Lazy-loading an LCP image adds resource load delay; web.dev recommends loading it eagerly and considering high fetch priority. Scope: web.dev guidance for image-based LCP elements. Confidence: high · Verified: web.dev: Optimize LCPMuốn precise version — chính xác Google quotes, WebP-so với-AVIF trade-offs, sizing
math, và fetchpriority trick — chuyển để Nâng cao tab.
TL;DR — Image optimization là một trang-speed / Core Web Vitals discipline, không một trực tiếp xếp hạng lever. Format lựa chọn (WebP, AVIF) shrinks bytes nhưng cho không SEO boost — Mueller có đã nói so three tách biệt ways; cũng weigh transparency, animation, và hiện tại trình duyệt hỗ trợ, không chỉ compression ratio. Đó single hầu hết valuable rule: không bao giờ lazy-load của bạn LCP image (thường đó hero); đó delays đó very chỉ số bạn là optimizing. Cho điều này
loading="eager"+fetchpriority="high", though priority hints chỉ help một phát hiện/fetch-timing bottleneck, không mỗi LCP vấn đề. Nativeloading="lazy"là cho images bên ngoài đó ban đầu viewport — không một fixed “below the fold” (bản dịch) «dưới đó fold» pixel line. Compression có không universal “right” quality — kiểm thử theo image loại. Correct dimensions = được kết xuất container size × device pixel ratio, và đó container size itself shifts với responsive layout, so deliver mộtsrcset/sizesrange (một saisizesgiá trị âm thầm downloads an oversized image) với một<picture>fallback. Images là đó hầu hết phổ biến LCP element on đó web, mà là vì sao này bài viết cross-lists vào Web Performance — nhưng none of này bảo đảm một passing Core Web Vitals score, một xếp hạng thay đổi, hoặc hơn traffic; đo lường trước và sau.
Điều gì image optimization optimizes cho (đặt myth lên front)
Let me kill đó biggest myth trước bất cứ điều gì khác: image format là một speed lever, không một xếp hạng lever. Converting để WebP hoặc AVIF không earn bạn một xếp hạng bump. Điều này earns bạn nhỏ hơn files, mà earn bạn một nhanh hơn trang, mà feeds Core Web Vitals — và đó là đó part tìm kiếm các hệ thống dùng. Đó chain là real nhưng gián tiếp, và collapsing điều này vào “next-gen formats rank better” (bản dịch) «tiếp theo-gen formats xếp hạng tốt hơn» là nơi hầu hết đối thủ các hướng dẫn go sai.
Google tài liệu là blunt về vì sao images quan trọng cho speed: họ là “often the largest contributor to overall page size, which can make pages slow and expensive to load,” (bản dịch) «thường đó largest contributor để overall trang size, mà có thể làm các trang chậm và expensive để load,» và đó advice là để “apply the latest image optimization and responsive image techniques to provide a high quality and fast user experience” (bản dịch) «apply đó latest image optimization và responsive image techniques để cung cấp một cao quality và fast người dùng experience» (Google Search Central — Images). Note đó cách diễn đạt: fast người dùng experience, không một xếp hạng reward cho đó file format.
Evidence for this claim Images are often a major contributor to page weight, and Google recommends responsive image and optimization techniques for a fast user experience. Scope: Google Search image guidance about performance; no claim that a particular format directly improves rankings. Confidence: high · Verified: Google Search Central: Google Images SEOcho Điều gì/Vì sao của image SEO overall — alt text, filenames, image sitemaps, structured dữ liệu, image-tìm kiếm xếp hạng — đó parent Image SEO hub job. điều này bài viết là canonical Cách: formats, compression, sizing, và loading strategy.
Lead với rule mọi người breaks: không bao giờ lazy-load của bạn LCP image
Nếu bạn take một điều từ này trang, take này. Đó Largest Contentful Paint (LCP) element — đó biggest điều painted trong đó viewport on load — là “either an image or a web font,” (bản dịch) «either an image hoặc một web font,» theo web.dev (Optimize LCP), và on hầu hết các trang đây là an image: đó hero, đó featured image, đó sản phẩm shot. web.dev diễn đạt đó rule về as bluntly as Google bao giờ phrases bất cứ điều gì:
Evidence for this claim Lazy-loading an LCP image adds resource load delay; web.dev recommends loading it eagerly and considering high fetch priority. Scope: web.dev guidance for image-based LCP elements. Confidence: high · Verified: web.dev: Optimize LCP“Never lazy-load your LCP image, as that will always lead to unnecessary resource load delay, and will have a negative impact on LCP.” (bản dịch) «Không bao giờ lazy-load hình ảnh LCP, vì điều đó luôn gây ra độ trễ tải tài nguyên không cần thiết và tác động tiêu cực đến LCP.»
Này là đó nuance hầu hết “just use lazy loading” (bản dịch) «chỉ dùng lazy loading» advice misses hoàn toàn. Lazy-loading là great — cho images dưới đó fold. Apply điều này để đó LCP image và bạn actively delay đó một chỉ số bạn là trying để improve. web.dev lazy-loading hướng dẫn says cùng một điều từ đó other direction: “Don’t lazy-load images that are likely to be in-viewport when the page loads, especially LCP images” (bản dịch) «không lazy-load images đó là có khả năng để là trong-viewport khi đó trang loads, especially LCP images» (Trình duyệt-cấp độ lazy loading).
I’ve đã làm đó giống nhau argument trong my own LCP bài viết on Ahrefs:
đó largest element “is usually going to be a featured image or maybe the <h1> tag,” (bản dịch) «là thường going để là một featured image hoặc maybe đó thẻ h1 tag,»
và đó các cách sửa follow từ đó. “If you don’t need the image, the most impactful solution
is to simply get rid of it. If you must have the image, I suggest optimizing the size and
quality to keep it as small as possible.” (bản dịch) «Nếu bạn không cần đó image, đó hầu hết impactful giải pháp là để đơn giản nhận rid of điều này. Nếu bạn phải có đó image, I suggest optimizing đó size và quality để giữ điều này as nhỏ as có thể.» Bạn nên “lazy load any images that you don’t
need immediately” (bản dịch) «lazy load bất kỳ images đó bạn không cần immediately» — nhưng đó flip side là một hard rule I put trong caps cho một reason: “Do not
lazy load images above the fold!” (bản dịch) «Không lazy load images trên đó fold!»
fetchpriority="high" on LCP image
không lazy-loading hero là cần thiết nhưng chư đủ. để hãy đảm bảo LCP image loads as sớm as có thể, hint của nó priority để trình duyệt. từ web.dev:
“You can hint to the browser as to which resources are most important using the
fetchpriorityattribute… It’s a good idea to setfetchpriority=\"high\"on an<img>element if you think it’s likely to be your page’s LCP element.” (bản dịch) «Bạn có thể gợi ý cho trình duyệt về những tài nguyên quan trọng nhất bằngfetchprioritythuộc tính… Bạn nên đặtfetchpriority=\"high\"on an thẻ img element nếu bạn cho rằng đó có thể là phần tử LCP của trang.»
<img src="/hero.webp" alt="…" fetchpriority="high" width="1200" height="675">Trong my LCP ghi-lên I mô tả fetchpriority="high" cùng cách — điều này “can be used on
<img> or <link> tags and tells browsers to get the image early” (bản dịch) «có thể là dùng on thẻ img hoặc thẻ link tags và tells các trình duyệt để nhận đó image sớm» — và I pair điều này với
Sớm Hints (một 103 phản hồi) as một complementary way để bắt đầu đó fetch trước đó
main HTML ngay cả arrives. So đó LCP recipe là: eager load + fetchpriority="high" (+ Sớm
Hints nếu của bạn stack hỗ trợ them). Mọi thứ khác on đó trang có thể lazy-load.
Treat fetchpriority và preload as bottleneck-cụ thể tools, không guaranteed khắc phục. họ
help Khi LCP image là discovered hoặc fetched muộn; họ làm không có gì cho chậm máy chủ
phản hồi, render-blocking tài nguyên ahead của image, hoặc genuinely oversized file. xác nhận
mà bottleneck bạn thực ra có (PageSpeed Insights hoặc Lighthouse breaks LCP vào của nó
subparts) trước khi assuming priority hint alone sẽ move number.
Native loading="lazy" — free, đơn giản, và đúng dưới fold
Cho mỗi image đó không trong đó ban đầu viewport, native lazy loading là đó easiest
win trong performance. web.dev: “You can use the loading attribute to lazy-load images
without the need to write custom lazy-loading code or use a separate JavaScript library.” (bản dịch) «Bạn có thể dùng đó loading thuộc tính để lazy-load images không có đó cần để ghi custom lazy-loading code hoặc dùng một tách biệt JavaScript library.»
<img src="/below-the-fold.webp" alt="…" loading="lazy" width="800" height="600">Hai điều giữ điều này safe:
- Base điều này on đó ban đầu viewport, không một fixed “below the fold” (bản dịch) «dưới đó fold» line. “Đó fold” không một
fixed pixel count — điều này shifts với viewport size và layout. Đó thực tế kiểm thử là liệu đó
image có khả năng là visible khi đó trang đầu tiên paints. Bất cứ điều gì đó là — và especially
đó LCP image — nhận
loading="eager"(đó default), không bao giờlazy. - Ưu tiên đó native thuộc tính over JS hacks. JavaScript lazy-loaders đó hide đó real
URL trong
data-srcvà không bao giờ expose mộtsrcrisk không đang được lập chỉ mục tại all. Nativeloading="lazy"(hoặc một sạch IntersectionObserver) giữ đósrcvisible để các crawler. Đó parent Image SEO hub covers đó lập chỉ mục caveat trong đầy đủ.
Modern formats: WebP so với. AVIF so với. JPEG/PNG
Formats là nơi myth-busting matters phần lớn, so let là precise về Điều gì mỗi buys bạn — mà là bytes, không thứ hạng.
- WebP — “often has better compression than JPEG, PNG, or GIF, offering both lossy and lossless compression” (bản dịch) «thường có tốt hơn compression hơn JPEG, PNG, hoặc GIF, offering cả hai lossy và lossless compression» (web.dev — Image performance). Khoảng 25–35% nhỏ hơn JPEG với near-universal trình duyệt hỗ trợ. Đó safe default cho photos hôm nay.
- AVIF — “supports both lossy and lossless compression, and tests have shown greater than 50% savings when compared to JPEG in some cases.” (bản dịch) «hỗ trợ cả hai lossy và lossless compression, và các kiểm thử có shown greater hơn 50% savings khi compared để JPEG trong một số trường hợp.» Best-trong-class compression, slightly ít hơn universal hỗ trợ, so pair điều này với một WebP hoặc JPEG fallback.
- JPEG — đó universal fallback cho photographs.
- PNG — khi bạn cần transparency hoặc crisp-edged graphics.
- SVG — logos và icons: vector, scales infinitely, tiny.
Mà format để reach cho cũng phụ thuộc vào Điều gì image cần để làm, không chỉ mà một compresses hardest: transparency, animation, và Cách consistently trình duyệt hoặc tool hỗ trợ đó cụ thể combination all factor vào lựa chọn alongside thô size savings trên — kiểm tra hiện tại hỗ trợ cho chính xác feature bạn cần, especially cho bất cứ điều gì animated, trước khi bạn commit để một format as default.
Google Search hỗ trợ “BMP, GIF, JPEG, PNG, WebP, SVG, and AVIF” (bản dịch) «BMP, GIF, JPEG, PNG, WebP, SVG, và AVIF» referenced trong an <img>
src. Serve đó modern format với một graceful fallback dùng <picture>:
<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><img src> tại bottom là của bạn safety net — older các trình duyệt và các crawler fall lại để
nó, và nó URL Google thực ra indexes.
Làm format ảnh hưởng thứ hạng? (Không — và Mueller có đã nói so three ways)
Đây là single myth-busting chuỗi trao đổi worth pulling qua toàn bộ topic. Three tách biệt, independently-timed John Mueller statements all land on giống nhau conclusion — format ảnh hưởng crawl/chỉ mục mechanics và trang weight, không bao giờ xếp hạng trực tiếp:
- AVIF cho không SEO boost. Sau Google đã thêm native AVIF hỗ trợ, Mueller confirmed có không “SEO boost” cho dùng AVIF over other supported formats (SE Roundtable coverage).
- WebP là “fine.” “WebP images are fine for Image Search” (bản dịch) «WebP images là fine cho Image Tìm kiếm» — “fine,” notably, không “tốt hơn” (SE Roundtable coverage).
- WebP lập chỉ mục quirks không format-cụ thể. Khi mọi người saw WebP files cho thấy as “Crawled – currently not indexed” (bản dịch) «Được crawl – hiện tại không được lập chỉ mục» trong GSC, Mueller point đã là đó image files không được lập chỉ mục as HTML các trang, và he đã không believe đó phenomenon đã là limited để WebP tại all (SEJ coverage).
Compression và quality: có không universal “right” setting
Đó hầu hết phổ biến bad advice trong image các hướng dẫn là một single “compress to 80%” (bản dịch) «compress để 80%» bullet. web.dev là rõ ràng đó không such magic number tồn tại:
“When compressing, there isn’t a universal setting suitable for all cases. The recommended approach would be to experiment with different compression levels until you find a good compromise between image quality and file size.” (bản dịch) «Khi nén, không có một thiết lập chung phù hợp cho mọi trường hợp. Cách tiếp cận được khuyến nghị là thử nghiệm với các mức nén khác nhau cho đến khi tìm được sự cân bằng phù hợp giữa chất lượng hình ảnh và kích thước tệp.»
Practically: kiểm thử theo image loại. Photographs tolerate aggressive lossy compression well; graphics, logos, và screenshots với text cho thấy artifacts quickly và thường muốn lossless hoặc một cao hơn quality setting. Thay vì trusting một slider, export đó giống nhau image tại hai hoặc three quality levels và eyeball them tại display size — đó smallest một bạn không thể visually distinguish từ đó original là của bạn câu trả lời. đó là một real workflow, không “run it through TinyPNG and hope.” (bản dịch) «chạy điều này qua TinyPNG và hope.»
đúng dimensions: container size × device pixel ratio
“Just make it smaller” (bản dịch) «Chỉ làm điều này nhỏ hơn» không đó rule — matching đó được kết xuất size × đó device pixel ratio (DPR) là. Từ web.dev:
“An image displayed in a 500 pixel by 500 pixel container would be optimally sized at 500 pixels by 500 pixels.” (bản dịch) «Một hình ảnh hiển thị trong vùng chứa 500 pixel × 500 pixel sẽ có kích thước tối ưu là 500 pixel × 500 pixel.»
“If the device has a DPR of 2 and the image is displayed in a 500 pixel by 500 pixel container, then a square 1000 pixel image… is now the optimal size.” (bản dịch) «Nếu thiết bị có DPR bằng 2 và hình ảnh hiển thị trong vùng chứa 500 pixel × 500 pixel, thì hình vuông 1,000 pixel… là kích thước tối ưu.»
So 500×500 container on 2× (Retina-class) display wants 1 000×1 000 nguồn. Go bigger
hơn đó và bạn waste bytes với không perceptible gain; go nhỏ hơn và nó looks soft on
cao-DPR screens. Đây là Vì sao bạn phục vụ range của sizes và let trình duyệt pick, sử dụng
srcset + sizes:
<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">Đó trình duyệt đọc đó container width (sizes) và của nó own DPR, thì picks đó right
candidate từ srcset — đó responsive-phân phối version of đó DPR math trên. Google
khuyến nghị <picture> hoặc srcset cho responsive images và says để “always specify a
fallback URL using the src attribute.” (bản dịch) «luôn specify một fallback URL dùng đó src thuộc tính.»
Nhận sizes sai và không có gì warns bạn. nếu giá trị bạn declare không match Cách wide
image thực ra renders — phổ biến bug sau khi layout hoặc CSS thay đổi — trình duyệt có không way để
know đó và đơn giản picks candidate dựa trên inaccurate number bạn gave nó, mà
typically có nghĩ là nó downloads lớn hơn file hơn layout cần. đó silently undoes
format và compression hoạt động trên. chỉ reliable way để catch nó: open DevTools’ Network
panel, tìm image yêu cầu, và so sánh delivered file dimensions so với
container thực tế được kết xuất width.
Đó 500×500 ví dụ trên là illustrative, không một site-wide number để hard-code — đó giống nhau
hero image có thể render tại một khác nhau width on mobile hơn on desktop, so “container size” (bản dịch) «container size» moves
với của bạn responsive layout thay vì staying fixed. đó là chính xác vì sao bạn deliver một
srcset range thay vì exporting một “optimal” size và calling điều này đã xong.
Vì sao điều này all ties lại để Core Web Vitals
Đó throughline connecting mỗi technique trên là LCP. Images là đó hầu hết phổ biến LCP element on đó web, và LCP là một of đó three Core Web Vitals. Google đích: “LCP should occur within 2.5 seconds” (bản dịch) «LCP nên occur trong 2,5 seconds» tại đó 75th percentile of trang loads trên mobile và desktop (web.dev — Chỉ số quan trọng). Core Web Vitals “apply to all web pages, should be measured by all site owners, and will be surfaced across all Google tools.” (bản dịch) «apply để all web các trang, nên là measured by all chủ trang web, và sẽ là surfaced trên all Google tools.»
So image optimization không phải discrete xếp hạng factor — nó contributor để trang-experience tín hiệu (Core Web Vitals) đó xếp hạng các hệ thống làm sử dụng. đó phân biệt là chính xác cách diễn đạt, và nó Vì sao điều này bài viết lives trong cả hai Image SEO cluster và Web Performance cluster. cho deep dive on chỉ số itself, see Core Web Vitals và LCP trong Web Performance.
Một nhiều hơn caution worth stating plainly: none của các cách sửa on điều này trang bảo đảm bất cứ điều gì. Image bytes là chỉ một có thể component của LCP — web.dev own breakdown của LCP subparts bao gồm điều như máy chủ phản hồi time và render-blocking các tài nguyên ahead của image, none của mà format hoặc compression touch — và image dimensions là chỉ một input vào CLS, không bảo đảm của particular score. Shrinking hero image có thể measurably help, làm không có gì, hoặc (nếu điều gì đó khác là thực bottleneck) barely move number tại all. Optimizing images cũng không itself bảo đảm passing Core Web Vitals assessment, xếp hạng thay đổi, nhiều hơn traffic, nhiều hơn conversions, hoặc AI-tìm kiếm citation — những điều đó phụ thuộc on far nhiều hơn image bytes. Treat mỗi image khắc phục as hypothesis, không đã xong deal: đo lường LCP và CLS trước khi và sau khi, trong lab và trong trường, và let đó dữ liệu — không assumption đó optimizing “worked” — tell bạn liệu nó moved bất cứ điều gì.
phổ biến implementation pitfalls
- CSS background images không được lập chỉ mục. Devs sometimes đổi an
<img>cho mộtbackground-imagecho layout convenience. Google “can find images in thesrcattribute of<img>element (even when it’s a child of other elements, such as the<picture>element)” (bản dịch) «có thể tìm images trong đósrcthuộc tính of thẻ img element (ngay cả khi đây là một child of other elements, such as đó thẻ picture element)» nhưng “doesn’t index CSS images.” (bản dịch) «không chỉ mục CSS images.» Nếu bạn muốn đó image trong image tìm kiếm, giữ điều này trong an<img>. (Này một performance-liền kề, nhưng đó mistake là phổ biến đủ để flag.) - không bulk-rename existing files cho một performance/SEO “refresh.” Mueller có đã nói điều này takes “a lot of time” (bản dịch) «một lot of time» cho Google các hệ thống để reprocess renamed images và đó effect là minimal nếu của bạn context là đã good — đó parent Image SEO hub covers này trong đầy đủ.
- Bị thiếu width/height. Luôn set intrinsic
widthvàheight(hoặc CSSaspect-ratio) so đó trình duyệt có thể reserve space trước đó image loads — này reduces image-driven layout shift, nhưng đây là một input vào CLS among several, không phải là bảo đảm of một particular score.
Nhanh recipe
- Hero / LCP image: modern format, right-sized,
loading="eager",fetchpriority="high". - Mọi thứ dưới fold:
loading="lazy". - phục vụ WebP/AVIF với
<picture>srcfallback. - Size để container × DPR; deliver
srcsetrange vớisizes. - Compress theo image loại — kiểm thử 2–3 quality levels, không trust một slider.
- luôn đặt
width/height.
cho rest của image SEO — alt text, filenames, image sitemaps, dữ liệu có cấu trúc, và image-tìm kiếm xếp hạng — head lại để Image SEO hub.
AI summary
condensed take on Nâng cao version:
- Image optimization = speed, không một xếp hạng lever. Format lựa chọn (WebP/AVIF) shrinks bytes → nhanh hơn trang → tốt hơn Core Web Vitals. có không trực tiếp xếp hạng boost cho đó format itself — Mueller confirmed này three tách biệt ways (AVIF “no SEO boost,” (bản dịch) «không SEO boost,» WebP “fine,” WebP lập chỉ mục quirks không format-cụ thể).
- Đó #1 rule: không bao giờ lazy-load của bạn LCP image. Đó image có khả năng để là visible khi đó
trang đầu tiên paints (thường đó hero) times của bạn LCP; lazy-loading điều này delays đó chính xác
chỉ số bạn là sửa. Cho điều này
loading="eager"+fetchpriority="high"(tùy chọn Sớm Hints) — though priority hints chỉ cách sửa một phát hiện/fetch-timing bottleneck, không mỗi LCP vấn đề (kiểm tra LCP subparts trước assuming một hint alone sẽ help). - Native
loading="lazy"là free và correct — cho images bên ngoài đó ban đầu viewport, không một fixed “below the fold” (bản dịch) «dưới đó fold» pixel line. Tránh JS lazy-loaders đó hide đó URL trongdata-src. - Formats: WebP là đó safe default (~25–35% nhỏ hơn JPEG); AVIF compresses further
(50%+ trong some các kiểm thử) với một fallback. Lựa chọn cũng phụ thuộc vào transparency, animation, và
hiện tại trình duyệt/tool hỗ trợ, không chỉ compression ratio. Serve qua
<picture>với an<img src>fallback đó Google indexes. - Compression: không universal “right” quality — kiểm thử theo image loại (photos compress hard; text/graphics artifact fast).
- Sizing: correct size = được kết xuất container size × device pixel ratio (500px container
tại 2× DPR = 1 000px nguồn) — và đó container size itself shifts với responsive layout,
so deliver một range qua
srcset+sizesthay vì một fixed export. MỘT saisizesgiá trị silently làm đó trình duyệt download an oversized candidate. - Vì sao điều đó quan trọng: images là đó hầu hết phổ biến LCP element; LCP đích là 2,5s tại đó 75th percentile. đó là vì sao này cross-lists vào Web Performance — nhưng LCP có other subparts (thời gian phản hồi của máy chủ, render-blocking các tài nguyên) đó image bytes alone không cách sửa.
- Không bảo đảm: optimizing images không itself bảo đảm một passing Core Web Vitals score, một xếp hạng thay đổi, hơn traffic, hơn conversions, hoặc an AI-tìm kiếm citation. Đo lường LCP/CLS trước và sau, trong đó lab và đó trường.
- Pitfalls: CSS
background-imagekhông được lập chỉ mục; không bulk-rename files; luôn setwidth/height— điều này có thể reduce layout shift nhưng không bảo đảm một particular CLS score.
Tài liệu chính thức
Chính-nguồn tài liệu từ các công cụ tìm kiếm và Chrome team.
Google / web.dev
- Image performance (web.dev “Learn Performance” (bản dịch) «Learn Performance») — formats, đó “no universal compression setting” (bản dịch) «không universal compression setting» point, và đó DPR sizing math.
- Trình duyệt-cấp độ image lazy loading (web.dev) — cách native
loading="lazy"hoạt động và đó “don’t lazy-load in-viewport / LCP images” (bản dịch) «không lazy-load trong-viewport / LCP images» exception. - Optimize LCP (web.dev) —
fetchpriority, đó LCP tài nguyên là an image hoặc font, và “never lazy-load your LCP image.” (bản dịch) «không bao giờ lazy-load của bạn LCP image.» - Fetch Priority API (web.dev) — đó đầy đủ
fetchpriority="high"explainer cho LCP images. - Web Chỉ số quan trọng (web.dev) — Core Web Vitals definitions và đó LCP ≤ 2,5s / 75th-percentile ngưỡng.
- Google Images thực hành tốt nhất — supported formats,
<img>/<picture>lập chỉ mục (không CSS backgrounds), responsive images, và đó fallback-srckhuyến nghị.
Bing / Microsoft
- Bing làm không publish image-optimization-cụ thể kỹ thuật hướng dẫn as detailed as Google; relevant hướng dẫn lives bên trong chung Bing Quản trị viên web Guidelines, mà treat trang speed (including image weight) as consideration. I’m flagging điều này honestly thay vì manufacturing Bing “quote” đó không exist.
- Bing Visual Tìm kiếm — object-cấp độ visual tìm kiếm; relevant để image phát hiện, tách biệt từ trang-speed effects của format/compression.
Quotes từ nguồn
On—record statements từ Google Chrome team và Tìm kiếm Advocates. nơi trang exposes text, link là deep link đó jumps để quoted passage.
web.dev (Google Chrome team) — LCP rules
- “Never lazy-load your LCP image, as that will always lead to unnecessary resource load delay, and will have a negative impact on LCP.” (bản dịch) «Không bao giờ lazy-load hình ảnh LCP, vì điều đó luôn gây ra độ trễ tải tài nguyên không cần thiết và tác động tiêu cực đến LCP.» Nhảy đến trích dẫn
- “Don’t lazy-load images that are likely to be in-viewport when the page loads, especially LCP images.” (bản dịch) «không lazy-load images đó là có khả năng để là trong-viewport khi đó trang loads, especially LCP images.» Nhảy đến trích dẫn
- “It’s a good idea to set
fetchpriority=\"high\"on an<img>element if you think it’s likely to be your page’s LCP element.” (bản dịch) «đây là một good ý tưởng để setfetchpriority=\"high\"on an thẻ img element nếu bạn cho rằng đó có thể là phần tử LCP của trang.» — web.dev, Optimize LCP.
web.dev (Google Chrome team) — formats, compression, sizing
- “WebP often has better compression than JPEG, PNG, or GIF, offering both lossy and lossless compression.” (bản dịch) «WebP thường có tốt hơn compression hơn JPEG, PNG, hoặc GIF, offering cả hai lossy và lossless compression.» Nhảy đến trích dẫn
- “AVIF supports both lossy and lossless compression, and tests have shown greater than 50% savings when compared to JPEG in some cases.” (bản dịch) «AVIF hỗ trợ cả hai lossy và lossless compression, và các kiểm thử có shown greater hơn 50% savings khi compared để JPEG trong một số trường hợp.» — web.dev, Image performance.
- “When compressing, there isn’t a universal setting suitable for all cases. The recommended approach would be to experiment with different compression levels until you find a good compromise between image quality and file size.” (bản dịch) «Khi nén, không có một thiết lập chung phù hợp cho mọi trường hợp. Cách tiếp cận được khuyến nghị là thử nghiệm với các mức nén khác nhau cho đến khi tìm được sự cân bằng phù hợp giữa chất lượng hình ảnh và kích thước tệp.» — web.dev, Image performance.
- “An image displayed in a 500 pixel by 500 pixel container would be optimally sized at 500 pixels by 500 pixels.” (bản dịch) «Một hình ảnh hiển thị trong vùng chứa 500 pixel × 500 pixel sẽ có kích thước tối ưu là 500 pixel × 500 pixel.» … “If the device has a DPR of 2 … then a square 1000 pixel image … is now the optimal size.” (bản dịch) «Nếu đó device có một DPR of 2 … thì một square 1000 pixel image … là hiện tại đó optimal size.» — web.dev, Image performance.
Google Search Central — Vì sao images quan trọng cho speed
- “images are often the largest contributor to overall page size, which can make pages slow and expensive to load.” (bản dịch) «images là thường đó largest contributor để overall trang size, mà có thể làm các trang chậm và expensive để load.» Nhảy đến trích dẫn
web.dev — Core Web Vitals
- “Core Web Vitals are the subset of Web Vitals that apply to all web pages, should be measured by all site owners, and will be surfaced across all Google tools.” (bản dịch) «Core Web Vitals là đó subset of Web Chỉ số quan trọng đó apply để all web các trang, nên là measured by all chủ trang web, và sẽ là surfaced trên all Google tools.» Nhảy đến trích dẫn
John Mueller, Google — format không phải xếp hạng lever
Note: Mueller statements là quoted qua verbatim phụ coverage (SE Roundtable) của office-hours và social posts thay vì deep-linkable chính trang — giống nhau citations được sử dụng trong parent Image SEO hub. Bing publishes không image-optimization-cụ thể quote để cite ở đây, so none là fabricated.Image optimization checklist
Chạy điều này truyền on bất kỳ performance-sensitive trang:
- Identified LCP image (thường hero / featured image / đầu tiên sản phẩm shot).
- LCP image là không lazy-loaded — nó dùng
loading="eager"( default). - LCP image có
fetchpriority="high"(cân nhắc Sớm Hints nếu của bạn stack hỗ trợ nó). - mỗi image dưới fold có
loading="lazy". - Modern format phân phối (WebP default, AVIF nơi supported) với
<picture>srcfallback. - mỗi image là sized để của nó container × device pixel ratio — không 3 000px files trong 500px slots.
- Responsive phân phối qua
srcset+sizesnơi images render tại khác widths. - Compression tested theo image loại (2–3 quality levels compared tại display size), không một blanket setting.
- Intrinsic
widthvàheight(hoặc CSSaspect-ratio) đặt on mỗi image để reduce layout shift (CLS) — không bảo đảm của cụ thể score. - Không có nội dung image lives chỉ trong CSS
background-image(những điều đó không phải được lập chỉ mục). - Lazy loading dùng native thuộc tính (hoặc sạch IntersectionObserver), không JS hack đó hides URL trong
data-src. - Verified LCP trong trường (CrUX / PageSpeed Insights), aiming cho ≤ 2,5s tại 75th percentile.
Image optimization bảng tra nhanh
** levers — Điều gì mỗi làm và best practice**
| Lever | Điều gì nó làm | Best practice |
|---|---|---|
| Format | Shrinks file size → nhanh hơn trang; không trực tiếp xếp hạng boost | WebP default, AVIF nơi supported, <picture> với src fallback |
| Compression | Trades quality cho bytes | Không universal setting — kiểm thử 2–3 quality levels theo image loại |
| Dimensions | sai size wastes bytes hoặc looks soft | Container size × DPR (500px @ 2× = 1 000px nguồn) |
| Responsive phân phối | Right-sized image theo device | srcset + sizes; trình duyệt picks by width & DPR |
loading="lazy" | Defers off-screen images | Dưới fold chỉ — không bao giờ LCP image |
| LCP image | Times của bạn Largest Contentful Paint | loading="eager" + fetchpriority="high"; không bao giờ lazy-load |
width/height | Reserves layout space | luôn đặt intrinsic dimensions — reduces CLS, không bảo đảm score |
<img> so với CSS bg | chỉ <img> nhận được lập chỉ mục | giữ nội dung images trong <img>, không background-image |
Fast facts
- Format là speed lever, không xếp hạng lever — Mueller: không AVIF “SEO boost”; WebP “fine.”
- WebP ≈ 25–35% nhỏ hơn JPEG; AVIF thường 50%+ nhỏ hơn trong các kiểm thử.
- single highest-giá trị rule: không bao giờ lazy-load của bạn LCP image.
- LCP đích: ≤ 2,5s tại 75th percentile (mobile + desktop).
- Supported formats: BMP, GIF, JPEG, PNG, WebP, SVG, AVIF.
- đúng size = được kết xuất container size × device pixel ratio.
mistake đó costs bạn của bạn LCP score
Lazy-loading hero image là single phần lớn expensive mistake covered trong điều này bài viết, và nó một worth calling out on của nó own trước khi rest.
- Sai: applying
loading="lazy"(hoặc một JS lazy-loader) để đó largest trên-đó-fold image — thường đó hero, featured image, hoặc đầu tiên sản phẩm shot. Vì sao đây là sai: đó image là gần như luôn của bạn LCP element, và web.dev là rõ ràng đó lazy-loading điều này “will always lead to unnecessary resource load delay, and will have a negative impact on LCP.” (bản dịch) «sẽ luôn lead để unnecessary tài nguyên load delay, và sẽ có một negative impact on LCP.» Bạn end lên delaying đó chính xác chỉ số bạn đã là trying để improve. Làm thay vì: cho đó LCP imageloading="eager"(đó default) plusfetchpriority="high", và reserveloading="lazy"cho mọi thứ dưới đó fold.
Trusting một blanket compression setting
- Sai: đang chạy mỗi image qua đó giống nhau “compress to 80%” (bản dịch) «compress để 80%» preset regardless of nội dung. Vì sao đây là sai: web.dev says plainly đó “there isn’t a universal setting suitable for all cases” (bản dịch) «ở đó không một universal setting suitable cho all cases» — một preset tuned cho photographs sẽ over- compress logos, screenshots, và text-nặng graphics vào visible artifacts. Làm thay vì: export đó giống nhau image tại hai hoặc three quality levels và so sánh them tại thực tế display size; pick đó smallest một bạn không thể tell apart từ đó original, theo image loại.
Sizing images off file bạn có, không container
- sai: serving whatever resolution gốc file happens để là (hoặc
single fixed size cho mỗi layout), thay vì matching image để nơi
nó thực ra renders.
Vì sao nó sai: theo web.dev own math, đúng size là được kết xuất
container size × device pixel ratio — 500×500 container tại 2× DPR
cần 1 000×1 000 nguồn, không 500×500 và không 3 000×3 000. Go bigger và
bạn waste bytes với không visible gain; go nhỏ hơn và nó looks soft on
cao-DPR screens.
Làm thay vì: deliver
srcsetrange vớisizesso trình duyệt có thể pick right candidate cho container và device.
Hiding nội dung thực images behind CSS
- Sai: swapping an
<img>cho mộtbackground-imagecho layout convenience. Vì sao đây là sai: Google “doesn’t index CSS images” (bản dịch) «không chỉ mục CSS images» — một nội dung image đó chỉ tồn tại as mộtbackground-imagelà invisible để image tìm kiếm ngay cả nếu đây là fully optimized nếu không. Làm thay vì: giữ nội dung images trong an<img>(hoặc as đó<img>fallback bên trong một<picture>), và reserve CSS backgrounds cho purely decorative treatments.
Skipping width/height để “save markup”
- sai: leaving intrinsic
widthvàheight(hoặc CSSaspect-ratio) off<img>tags. Vì sao nó sai: trình duyệt có thể’t reserve layout space trước khi image loads, so trang jumps as mỗi image arrives — hurting CLS, Cốt lõi Web Vital đó sits alongside LCP. Làm thay vì: luôn đặtwidth/height(hoặcaspect-ratio) on mỗi image, ngay cả ones bạn’re cũng optimizing cho format và size.
mental models
1. không bao giờ lazy-load của bạn LCP image.
single highest-giá trị rule trong toàn bộ topic. largest trên—fold
element — thường image — là Điều gì của bạn LCP là timed so với. Lazy-loading
nó không save bất cứ điều gì; nó chỉ delays chỉ số bạn’re optimizing. Mọi thứ
khác on trang là candidate cho loading="lazy"; LCP image không bao giờ là.
2. có không universal compression setting. Treat “what quality should I compress to?” (bản dịch) «điều gì quality nên I compress để?» as một theo-image câu hỏi, không một site-wide policy. Photographs tolerate aggressive lossy compression; text-nặng graphics và screenshots không. Đó workflow là comparative — export tại hai hoặc three quality levels và eyeball them tại display size — không một single slider bạn set khi và forget.
3. Correct size = container size × device pixel ratio.
“Smaller is better” (bản dịch) «Nhỏ hơn là tốt hơn» không đó rule; matching là. Đó optimal nguồn
dimensions là đó size đó image thực ra renders tại, multiplied by đó
device pixel ratio — một 500×500 container tại 2× DPR wants một 1 000×1 000
nguồn. Này là đó single formula đó nên decide mỗi image export
size, và đây là vì sao bạn deliver một range qua srcset thay vì một fixed
file.
4. Format là một speed lever, không một xếp hạng lever. Collapse này chain correctly: format lựa chọn → nhỏ hơn files → nhanh hơn trang → tốt hơn Core Web Vitals → một tín hiệu xếp hạng các hệ thống làm dùng. Skipping straight để “next-gen formats rank better” (bản dịch) «tiếp theo-gen formats xếp hạng tốt hơn» là đó hầu hết phổ biến way đối thủ các hướng dẫn nhận này topic sai — Mueller có đã nói có không trực tiếp SEO boost cho đó format itself, three tách biệt times.
standing KPIs cho image-driven trang speed
những điều này là ongoing numbers đó tell bạn liệu của bạn image-optimization hoạt động là thực ra landing — tách biệt từ bất kỳ single image bạn resize hoặc convert điều này week.
| Chỉ số | Điều gì điều này tells bạn | Cách pull điều này | Benchmark / realistic range | Cadence |
|---|---|---|---|---|
| LCP tại đó 75th percentile (trường dữ liệu) | Liệu real khách truy cập’ Largest Contentful Paint — thường an image — là fast đủ, trên đó mix of devices và connections they thực ra dùng | CrUX (qua PageSpeed Insights hoặc đó Chrome UX Báo cáo API/BigQuery dataset) | web.dev published thresholds: ≤ 2,5s là “good,” lên để 4s là “needs improvement,” (bản dịch) «cần improvement,» trên đó là “poor” — measured tại đó 75th percentile theo web.dev Core Web Vitals hướng dẫn | 28-day rolling (CrUX window) |
| Core Web Vitals truyền/fail rate (LCP dimension) | Đó share of trang của bạn traffic đáp ứng đó “good” LCP ngưỡng, tracked theo thời gian as bạn ship image các cách sửa | Search Console’s Core Web Vitals báo cáo, hoặc CrUX history cho đó giống nhau URL/origin | Không universal đích beyond “trending toward 100% passing” (bản dịch) «trending toward 100% passing» — establish của bạn own baseline trước và sau một round of image các cách sửa, thì watch đó trend | Quarterly, plus immediately sau bất kỳ LCP-focused image thay đổi |
| Lab LCP on đó cụ thể trang bạn changed | MỘT fast, pre-deploy kiểm tra of liệu an riêng lẻ image cách sửa (eager-loading đó hero, resizing, format đổi) thực ra helped, trước đang chờ cho trường dữ liệu để catch lên | PageSpeed Insights hoặc Lighthouse chạy so với đó URL | Lab scores chạy nhanh hơn thực tế trường dữ liệu và sẽ không luôn match CrUX chính xác — dùng lab kết quả để catch regressions immediately, nhưng trust đó trường (CrUX) number as đó một đó reflects real người dùng | Trước/sau mỗi image thay đổi; không một substitute cho đó trường chỉ số trên |
Tự kiểm tra: Image Optimization
Five nhanh các câu hỏi on formats, compression, sizing, và loading strategy. Pick câu trả lời cho mỗi, sau đó kiểm tra.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 18 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.