Image crawlability
Khả năng bot tìm kiếm truy cập và đọc hình ảnh, phụ thuộc vào robots.txt, thẻ meta robots và cấu trúc URL.
Image crawlability là gì?
Image crawlability (khả năng thu thập hình ảnh) là mức độ mà các bot tìm kiếm — như Googlebot hoặc Bingbot — có thể truy cập, đọc và hiểu nội dung của tệp hình ảnh trên trang web. Đây không phải là khả năng hiển thị hình ảnh với người dùng, mà là khả năng máy tìm kiếm phát hiện, tải về và phân tích hình ảnh để đưa vào chỉ mục hình ảnh hoặc sử dụng làm tín hiệu xếp hạng.
Khả năng này phụ thuộc trực tiếp vào ba yếu tố kỹ thuật chính: cấu hình robots.txt, thẻ meta robots trên trang chứa ảnh, và cấu trúc URL của tệp ảnh (bao gồm đường dẫn, tên file, tham số truy vấn). Nếu một trong ba yếu tố chặn, bot có thể bỏ qua hoàn toàn hình ảnh — dù ảnh vẫn hiển thị bình thường với người dùng.
Tại sao quan trọng trong SEO?
Hình ảnh chiếm tới 20–30% lưu lượng tìm kiếm không văn bản trên Google (theo báo cáo Google Search Central 2023), đặc biệt ở các ngành như thời trang, bất động sản, ẩm thực và giáo dục trực quan. Khi hình ảnh không thể thu thập:
- Chúng không xuất hiện trong kết quả tìm kiếm hình ảnh — mất cơ hội tiếp cận hàng triệu lượt tìm kiếm/tháng;
- Google không thể đọc alt text, caption hoặc ngữ cảnh xung quanh — làm suy giảm tín hiệu liên quan cho trang;
- Hình ảnh không góp phần tăng thời gian ở lại (dwell time) hoặc giảm tỷ lệ thoát nếu người dùng không thấy nội dung trực quan;
- Các trang giàu hình ảnh (như danh mục sản phẩm) có thể bị đánh giá là thiếu nội dung chất lượng nếu bot không thu thập được ảnh.
Ngược lại, hình ảnh có khả năng thu thập tốt giúp Google xác định chủ đề trang rõ ràng hơn, hỗ trợ xếp hạng cả cho từ khóa hình ảnh lẫn từ khóa văn bản.
Cách hoạt động
Khi Googlebot duyệt một trang, nó thực hiện tuần tự các bước sau:
- Đọc thẻ
<img src="...">,<picture>, hoặc CSS background-image (nếu được cấu hình thu thập); - Kiểm tra URL ảnh: nếu nằm trong thư mục bị chặn bởi
robots.txt(ví dụ:Disallow: /images/), bot sẽ không gửi yêu cầu tải; - Nếu URL hợp lệ, bot gửi HTTP request đến ảnh — lúc này mới kiểm tra header phản hồi (status code 200 OK, không phải 403/404/503);
- Sau khi tải thành công, bot phân tích tên file, alt text, kích thước, định dạng (JPEG, PNG, WebP), và ngữ cảnh HTML xung quanh;
- Nếu trang chứa ảnh có thẻ
<meta name="robots" content="noindex">, ảnh vẫn có thể được thu thập — nhưng không được lập chỉ mục riêng. Tuy nhiên, nếu trang cónoindex, nofollow, bot thường không thu thập ảnh do không theo link nào từ trang đó.
Hướng dẫn thực hiện
Để đảm bảo image crawlability tối ưu, thực hiện từng bước sau:
- Kiểm tra robots.txt: Đảm bảo không có quy tắc
Disallowvô tình chặn thư mục chứa ảnh (ví dụ:/assets/img/,/uploads/). Dùng Google Search Console > Kiểm tra robots.txt để xác minh. - Dùng URL ảnh tĩnh và rõ ràng: Tránh tham số không cần thiết như
?v=1.2,&w=800— trừ khi dùng đúng cách vớirel="canonical"hoặc cấu hình trong Search Console. Tên file nên mô tả (ví dụ:ban-ghe-go-oak.jpgthay vìIMG_12345.jpg). - Không chặn ảnh qua thẻ meta: Đảm bảo trang chứa ảnh không có
<meta name="robots" content="noimageindex">— thẻ này tồn tại nhưng không được Google hỗ trợ (từ tháng 9/2022). Thay vào đó, dùngdata-nosnippethoặc cấu hình trong Search Console nếu muốn loại trừ ảnh khỏi kết quả. - Cho phép thu thập qua header HTTP: Đảm bảo server trả về
X-Robots-Tag: none(hoặc không gửi tag nào) cho tệp ảnh. Nếu gửiX-Robots-Tag: noindex, ảnh sẽ không được lập chỉ mục. - Sử dụng sitemap hình ảnh: Thêm thẻ
<image:image>vào sitemap XML hoặc tạo sitemap riêng cho ảnh — giúp bot ưu tiên thu thập, đặc biệt với ảnh mới hoặc ít liên kết.
Lỗi thường gặp
| Lỗi | Dấu hiệu nhận biết | Cách khắc phục |
|---|---|---|
| Ảnh bị chặn bởi robots.txt | Google Search Console báo “URL bị chặn bởi robots.txt” trong báo cáo Hình ảnh | Sửa quy tắc Disallow hoặc thêm Allow: *.jpg$ trước quy tắc chặn chung |
| URL ảnh trả về 403 hoặc 404 | Bot không tải được ảnh dù URL hiển thị đúng trên trình duyệt | Kiểm tra quyền truy cập thư mục, cấu hình CDN, hoặc tường lửa (WAF) chặn user-agent bot |
| Ảnh nằm trong iframe hoặc lazy-load không kích hoạt | Googlebot không thấy thẻ <img> trong HTML nguồn (do JS sinh sau) |
Dùng loading="eager" cho ảnh quan trọng; hoặc đảm bảo ảnh có trong HTML tĩnh, không phụ thuộc hoàn toàn vào JS |
| Tham số URL gây trùng lặp | Nhiều URL ảnh khác nhau trỏ cùng nội dung (ví dụ: /img.jpg?width=800 và /img.jpg?width=1200) |
Dùng thẻ <link rel="canonical" href="/img.jpg"> trong <head> trang chứa ảnh, hoặc cấu hình trong Search Console |
Ví dụ thực tế
Một website bán đồ gỗ sử dụng CMS WordPress với plugin lazy-load. Tất cả ảnh đều có thẻ <img data-src="..."> và không có src gốc. Kết quả: Googlebot không thấy ảnh trong HTML nguồn → không thu thập → không xuất hiện trong Tìm kiếm Hình ảnh.
Sau khi sửa: thay bằng <img src="ban-ghe-go-oak.jpg" loading="lazy" alt="Ghế gỗ sồi nguyên khối, thiết kế Bắc Âu">, đồng thời thêm ảnh vào sitemap hình ảnh. Trong vòng 12 ngày, số lượt hiển thị ảnh tăng 217%, và 37% traffic hình ảnh bắt đầu dẫn về trang sản phẩm chi tiết.
Câu hỏi thường gặp
Google có thu thập ảnh từ CSS background-image không?
Có, nhưng chỉ trong một số trường hợp — ví dụ ảnh nền được khai báo trực tiếp trong CSS nội tuyến hoặc file CSS được bot thu thập và phân tích. Tuy nhiên, Google khuyến nghị dùng thẻ <img> thay vì CSS background cho nội dung quan trọng, vì khả năng thu thập và lập chỉ mục cao hơn đáng kể.
File SVG có bị thu thập không?
Có, miễn là URL SVG không bị chặn và trả về status 200. Tuy nhiên, Google không đọc nội dung văn bản bên trong tệp SVG (như thẻ <text>) để lập chỉ mục — nên luôn cung cấp alt text hoặc mô tả trong HTML bao quanh.
Ảnh trong AMP có crawlability khác biệt không?
Không — AMP không ảnh hưởng đến khả năng thu thập ảnh. Tuy nhiên, nếu trang AMP bị chặn bởi robots.txt hoặc thiếu thẻ <link rel="canonical">, ảnh trên phiên bản AMP cũng sẽ không được xử lý. Cần đảm bảo cả phiên bản chuẩn và AMP đều mở cho bot.