Ảnh bị lỗi thường xuất hiện dưới dạng biểu tượng ảnh vỡ, vùng trống, ảnh tải mãi không xong hoặc hình ảnh không đúng với nội dung. Nguyên nhân có thể nằm ở đường dẫn, quyền truy cập, phản hồi máy chủ, chính sách bảo mật, giao thức HTTP/HTTPS hoặc cấu hình CDN.
Cách xử lý hiệu quả không phải là thay hàng loạt URL ngay lập tức. Trước tiên, cần xác định lỗi xảy ra ở một ảnh, một thư mục, một mẫu trang hay toàn bộ website; sau đó mới sửa đúng tầng gây lỗi và kiểm tra lại trên cả trình duyệt lẫn trình thu thập dữ liệu.
Dấu hiệu và phạm vi của lỗi hình ảnh
Hình ảnh bị lỗi có thể biểu hiện theo nhiều cách:
- Ảnh không hiển thị trên website nhưng URL ảnh vẫn mở được trực tiếp.
- URL trả về lỗi 404, 403 hoặc lỗi máy chủ.
- Ảnh hiển thị trên máy quản trị nhưng người dùng bên ngoài không xem được.
- Ảnh chỉ lỗi trên trang HTTPS hoặc trên một số trình duyệt.
- Ảnh cũ vẫn xuất hiện sau khi đã thay tệp mới.
- Ảnh hiển thị ở máy tính nhưng lỗi trên thiết bị di động.
- Ảnh tải được trong thẻ
imgnhưng lỗi khi dùng làm ảnh nền CSS. - Một số ảnh hoạt động, trong khi toàn bộ ảnh thuộc cùng thư mục hoặc tên miền CDN bị hỏng.
Trước khi kiểm tra kỹ thuật, hãy xác định phạm vi bằng các câu hỏi sau:
- Lỗi xảy ra trên một URL hay nhiều trang?
- Các ảnh lỗi có dùng chung thư mục, mẫu giao diện hoặc tên miền phân phối nội dung không?
- Lỗi xuất hiện với mọi người dùng hay chỉ tài khoản chưa đăng nhập?
- Lỗi bắt đầu sau khi chuyển tên miền, đổi HTTPS, cập nhật giao diện, di chuyển máy chủ hoặc cấu hình CDN?
- Trang sử dụng ảnh trong HTML, CSS, JavaScript hay cơ chế tải chậm?
Nếu nhiều trang cùng lỗi sau một thay đổi hệ thống, nên ưu tiên kiểm tra cấu hình chung thay vì chỉnh từng ảnh.
Sao lưu trước khi sửa ảnh bị lỗi

Không nên tìm và thay thế URL ảnh trên toàn bộ cơ sở dữ liệu khi chưa có bản sao lưu. Một thao tác thay sai có thể ảnh hưởng đến nội dung bài viết, biến thể ảnh, dữ liệu sản phẩm, đường dẫn có tham số hoặc cả những URL vốn đang hoạt động.
Trước khi sửa hàng loạt, nên:
- Sao lưu cơ sở dữ liệu và thư mục chứa tệp tải lên.
- Xuất danh sách URL ảnh lỗi và trang đang sử dụng chúng.
- Ghi lại cấu hình chuyển hướng, CDN, bộ nhớ đệm và quy tắc bảo mật hiện tại.
- Thử sửa trên một nhóm URL nhỏ hoặc môi trường kiểm thử.
- Chuẩn bị phương án hoàn tác nếu số lượng lỗi tăng sau thay đổi.
Nếu bắt buộc phải đổi cấu trúc URL, cần lập bảng đối chiếu giữa URL cũ và URL mới. Không nên dựa hoàn toàn vào thao tác thay chuỗi vì đường dẫn tương đối, tham số truy vấn, ký tự có dấu và tên tệp trùng nhau có thể tạo ra kết quả ngoài ý muốn.
Quy trình xác định nguyên nhân bằng trình duyệt
1. Kiểm tra URL được ghi trong mã trang
Mở công cụ dành cho nhà phát triển của trình duyệt, chọn phần tử ảnh và kiểm tra các thuộc tính liên quan:
src: địa chỉ ảnh chính.srcset: danh sách ảnh theo kích thước hoặc mật độ màn hình.sizes: quy tắc chọn ảnh đáp ứng.- Thuộc tính tải chậm do hệ thống quản trị hoặc giao diện tạo ra.
background-imagenếu ảnh được chèn qua CSS.
Hãy so sánh URL trong HTML ban đầu với URL trong cây DOM sau khi JavaScript chạy. Nếu hai URL khác nhau, lỗi có thể đến từ cơ chế tải chậm, đoạn mã thay ảnh hoặc quy tắc tạo biến thể theo màn hình.
Các lỗi đường dẫn ảnh thường gặp gồm:
- Thiếu tên miền hoặc thiếu dấu gạch chéo.
- Đường dẫn tương đối được tính từ sai thư mục.
- Sai chữ hoa, chữ thường trên máy chủ có phân biệt ký tự.
- Tên tệp chứa khoảng trắng hoặc ký tự chưa được mã hóa đúng.
- URL còn trỏ tới tên miền cũ hoặc môi trường kiểm thử.
srcđúng nhưng một URL trongsrcsetbị lỗi, khiến lỗi chỉ xuất hiện trên một số màn hình.- Tệp gốc tồn tại nhưng biến thể kích thước mà giao diện yêu cầu chưa được tạo.
2. Mở trực tiếp URL ảnh
Sao chép URL ảnh và mở trong tab mới, tốt nhất là trong cửa sổ riêng tư để loại trừ phiên đăng nhập và một phần ảnh hưởng của bộ nhớ đệm.
Kết quả giúp thu hẹp nguyên nhân:
- Nếu URL không mở được, kiểm tra phản hồi máy chủ, quyền truy cập và tệp nguồn.
- Nếu URL mở được nhưng không hiển thị trong trang, kiểm tra mixed content, chính sách bảo mật, CSS, JavaScript và quy tắc chống nhúng ảnh.
- Nếu chỉ mở được khi đã đăng nhập, ảnh có thể nằm sau cơ chế xác thực hoặc sử dụng URL tạm thời.
- Nếu URL trả về một trang HTML thay vì nội dung ảnh, có thể có quy tắc chuyển hướng, trang báo lỗi tùy chỉnh hoặc cấu hình rewrite không phù hợp.
3. Đọc phản hồi trong bảng Network
Trong công cụ trình duyệt, mở bảng Network, lọc theo loại hình ảnh rồi tải lại trang. Với từng yêu cầu lỗi, cần xem:
- Request URL: trình duyệt thực sự gọi URL nào.
- Status: mã phản hồi HTTP.
- Content-Type: máy chủ có trả đúng loại nội dung ảnh hay không.
- Redirect: yêu cầu có bị chuyển qua nhiều địa chỉ không.
- Initiator: HTML, CSS hay JavaScript tạo ra yêu cầu.
- Timing: yêu cầu bị chậm ở kết nối, máy chủ hay tải dữ liệu.
- Response: nội dung thực tế là ảnh, thông báo lỗi hay trang HTML.
Ý nghĩa thường gặp của một số nhóm phản hồi:
| Phản hồi | Khả năng xảy ra | Hướng kiểm tra |
|---|---|---|
| 404 | Tệp không tồn tại hoặc sai đường dẫn | Kiểm tra tên tệp, thư mục, biến thể ảnh và URL cũ |
| 403 | Bị từ chối quyền truy cập | Kiểm tra quyền tệp, quy tắc bảo mật, chống hotlink và xác thực |
| 5xx | Máy chủ hoặc dịch vụ trung gian gặp lỗi | Kiểm tra nhật ký máy chủ, tài nguyên hệ thống và kết nối tới nguồn |
| 3xx lặp lại | Vòng lặp hoặc chuỗi chuyển hướng | Kiểm tra quy tắc HTTP/HTTPS, tên miền và CDN |
| 200 nhưng vẫn lỗi | Nội dung trả về không phải ảnh hoặc tệp hỏng | Kiểm tra Content-Type, kích thước phản hồi và nội dung thực tế |
Mã 200 không đồng nghĩa ảnh chắc chắn hợp lệ. Máy chủ có thể trả về trang báo lỗi với mã 200, tệp rỗng hoặc dữ liệu không thể giải mã.
4. Kiểm tra mixed content và chính sách bảo mật
Mixed content xảy ra khi trang được tải qua HTTPS nhưng ảnh lại được yêu cầu qua HTTP. Trình duyệt có thể nâng cấp, cảnh báo hoặc chặn yêu cầu tùy trường hợp và chính sách đang áp dụng.
Cần mở bảng Console để tìm thông báo liên quan đến:
- Nội dung không an toàn trên trang HTTPS.
- Chính sách bảo mật nội dung không cho phép tải ảnh từ tên miền được chỉ định.
- Chứng chỉ HTTPS không hợp lệ ở tên miền ảnh hoặc CDN.
- JavaScript tải ảnh thất bại.
- URL bị tiện ích trình duyệt hoặc cơ chế bảo vệ riêng tư chặn.
Không nên chỉ thay http:// thành https:// trong cơ sở dữ liệu nếu máy chủ ảnh chưa hỗ trợ HTTPS. Trước tiên, phải xác minh tên miền ảnh có chứng chỉ phù hợp và trả đúng tệp qua HTTPS.
5. Loại trừ lỗi hiển thị do CSS
Ảnh có thể được tải thành công nhưng vẫn không nhìn thấy vì:
- Phần tử có kích thước bằng 0.
- CSS đặt
display: none,visibility: hiddenhoặc độ trong suốt bằng 0. - Ảnh bị lớp khác che phủ.
- Màu ảnh trùng với màu nền.
- Thuộc tính cắt khung khiến phần ảnh cần thiết nằm ngoài vùng hiển thị.
- JavaScript thêm sai lớp trạng thái cho ảnh tải chậm.
Nếu bảng Network cho thấy ảnh trả về thành công, hãy kiểm tra kích thước phần tử, quy tắc CSS đang áp dụng và trạng thái sau khi JavaScript chạy trước khi thay URL.
Kiểm tra diện rộng bằng trình thu thập dữ liệu

Kiểm tra thủ công phù hợp để tìm nguyên nhân của một vài ảnh. Khi website có nhiều trang, cần dùng trình thu thập dữ liệu để xác định quy mô và mẫu lỗi.
Một lần thu thập nên ghi nhận tối thiểu:
- URL trang chứa ảnh.
- URL ảnh được phát hiện.
- Vị trí ảnh trong
src,srcset, CSS hoặc dữ liệu tải chậm. - Mã phản hồi cuối cùng.
- Chuỗi chuyển hướng.
- Loại nội dung phản hồi.
- Trang nội bộ đang tham chiếu đến ảnh lỗi.
- Trạng thái ảnh nội bộ hay ảnh từ tên miền khác.
Cần lưu ý rằng không phải trình thu thập nào cũng thực thi JavaScript hoặc phát hiện ảnh nền CSS. Nếu website tạo ảnh sau khi kết xuất, hãy so sánh kết quả thu thập HTML thông thường với kết quả có kết xuất JavaScript. Khi lựa chọn hệ thống kiểm tra, các tiêu chí chọn phần mềm SEO website nên bao gồm khả năng đọc mã phản hồi, xuất dữ liệu, xử lý JavaScript và xác định trang nguồn của từng ảnh.
Sau khi xuất dữ liệu, nên nhóm lỗi theo:
- Mã phản hồi.
- Thư mục ảnh.
- Tên miền hoặc tên miền phụ.
- Mẫu trang.
- Thời điểm xuất hiện.
- URL có hoặc không có tham số.
Việc nhóm lỗi giúp phát hiện nguyên nhân hệ thống. Chẳng hạn, nhiều URL 404 trong cùng thư mục có thể liên quan đến thao tác di chuyển tệp; còn toàn bộ ảnh từ một tên miền phụ bị 403 thường cần kiểm tra quyền hoặc cấu hình phân phối thay vì sửa từng bài viết.
Cách sửa ảnh bị lỗi theo từng nguyên nhân
Lỗi đường dẫn ảnh
Nếu URL sai do nhập nhầm hoặc nội dung tham chiếu đến tệp đã di chuyển:
- Xác định URL đúng và kiểm tra tệp thực sự tồn tại.
- Sửa tham chiếu tại trang nguồn, mẫu giao diện hoặc dữ liệu tạo URL.
- Nếu URL cũ đã được sử dụng rộng rãi, cân nhắc chuyển hướng trực tiếp tới tệp thay thế tương ứng.
- Không chuyển mọi ảnh lỗi về một ảnh chung vì cách này che giấu lỗi và có thể làm nội dung trở nên sai ngữ cảnh.
- Tạo lại các biến thể kích thước nếu tệp gốc có nhưng
srcsetđang gọi biến thể không tồn tại.
Nếu lỗi phát sinh sau khi đổi tên miền hoặc thư mục tải lên, nên chạy thử thay đổi trên bản sao dữ liệu và đối chiếu số lượng URL trước, sau khi sửa.
Tệp không tồn tại hoặc bị hỏng
Khi máy chủ trả 404 hoặc tệp không thể giải mã:
- Khôi phục đúng tệp từ bản sao lưu nếu còn quyền sử dụng.
- Tải lại tệp hợp lệ và giữ nguyên URL khi phù hợp.
- Thay ảnh bằng nội dung tương đương nếu tệp cũ không thể khôi phục.
- Kiểm tra quá trình xử lý ảnh có tạo ra tệp rỗng hoặc biến thể lỗi không.
- Xóa tham chiếu nếu ảnh không còn cần thiết, thay vì để một phần tử ảnh vỡ.
Văn bản thay thế giúp mô tả nội dung và hỗ trợ khả năng tiếp cận, nhưng không sửa được broken image. Vẫn cần khắc phục tệp hoặc đường dẫn gốc.
Lỗi quyền truy cập và phản hồi 403
Khi ảnh bị từ chối truy cập, cần kiểm tra:
- Quyền đọc của tệp và thư mục.
- Quyền sở hữu tệp sau khi di chuyển máy chủ.
- Quy tắc chống hotlink có chặn nhầm tên miền chính hay không.
- Tường lửa hoặc quy tắc bảo mật có chặn tác nhân người dùng, vùng địa lý hoặc yêu cầu thiếu tiêu đề tham chiếu hay không.
- Ảnh có yêu cầu đăng nhập, cookie hoặc URL ký tạm thời không.
Không nên mở toàn bộ thư mục ở mức quyền quá rộng chỉ để khắc phục nhanh. Hãy cấp đúng quyền đọc cần thiết và giữ nguyên các giới hạn bảo mật không liên quan.
Lỗi máy chủ 5xx
Nếu ảnh trả về lỗi máy chủ:
- Kiểm tra nhật ký ứng dụng và máy chủ tại thời điểm yêu cầu.
- Xác minh dung lượng lưu trữ, bộ nhớ và tiến trình xử lý ảnh.
- Kiểm tra dịch vụ lưu trữ tệp nguồn có hoạt động không.
- Xem các quy tắc chuyển đổi định dạng hoặc thay đổi kích thước theo yêu cầu có bị lỗi không.
- Tạm dừng tác vụ tạo ảnh hàng loạt nếu chúng làm cạn tài nguyên.
Nếu lỗi chỉ xuất hiện với ảnh kích thước lớn hoặc một định dạng cụ thể, cần kiểm tra giới hạn xử lý thay vì kết luận toàn bộ máy chủ hỏng.
Mixed content và HTTPS
Cách xử lý an toàn là bảo đảm cả trang và tài nguyên ảnh đều được phục vụ qua HTTPS hợp lệ. Sau đó:
- Cập nhật URL ảnh trong nội dung, mẫu giao diện và CSS.
- Sửa URL gốc mà hệ thống dùng để tạo ảnh mới.
- Kiểm tra chuyển hướng từ HTTP sang HTTPS không tạo vòng lặp.
- Xóa hoặc làm mới bộ nhớ đệm sau khi cấu hình đúng.
- Tải lại trang và xác nhận Console không còn cảnh báo tương ứng.
Lỗi CDN và bộ nhớ đệm
Khi ảnh nguồn hoạt động nhưng URL CDN lỗi, hãy kiểm tra theo thứ tự:
- CDN có kết nối được tới máy chủ nguồn không.
- Đường dẫn tại CDN có khớp với cấu trúc ở nguồn không.
- Tên miền phân phối có chứng chỉ HTTPS hợp lệ không.
- Quy tắc bộ nhớ đệm có lưu phản hồi 404 hoặc 403 cũ không.
- Tham số URL có bị bỏ qua hoặc tạo ra nhiều bản bộ nhớ đệm không cần thiết không.
- Quy tắc chuyển đổi định dạng, nén hoặc thay đổi kích thước có hỗ trợ tệp đầu vào không.
- URL có chữ ký hoặc thời hạn truy cập đã hết hiệu lực không.
Chỉ xóa bộ nhớ đệm sau khi xác nhận tệp nguồn và cấu hình đã đúng. Nếu xóa trước khi sửa nguồn, CDN có thể tiếp tục lưu lại cùng một phản hồi lỗi.
Ảnh tải chậm hoặc JavaScript tạo sai URL
Nếu HTML ban đầu không chứa URL ảnh hoàn chỉnh:
- Kiểm tra thuộc tính dữ liệu mà đoạn mã tải chậm sử dụng.
- Xác minh JavaScript có chạy trước khi ảnh đi vào vùng nhìn thấy không.
- Đảm bảo URL dự phòng trong
srchợp lệ khi JavaScript thất bại. - Kiểm tra lỗi xung đột sau khi tối ưu, gộp hoặc trì hoãn tập lệnh.
- Thử tắt riêng cơ chế tải chậm trong môi trường kiểm thử để đối chiếu.
Kiểm tra lại website sau khi sửa

Không nên kết thúc công việc ngay khi một ảnh mẫu đã hiển thị. Quy trình xác minh nên gồm:
- Xóa hoặc bỏ qua bộ nhớ đệm trình duyệt khi thử nghiệm.
- Mở trang trong cửa sổ riêng tư và trên nhiều kích thước màn hình.
- Kiểm tra lại bảng Network, bảo đảm URL ảnh trả về phản hồi phù hợp và đúng loại nội dung.
- Xem Console để xác nhận không còn lỗi mixed content hoặc chính sách bảo mật liên quan.
- Thu thập lại các URL đã lỗi và so sánh với danh sách trước khi sửa.
- Kiểm tra cả
src,srcset, ảnh nền CSS và ảnh tải bằng JavaScript. - Theo dõi nhật ký máy chủ để phát hiện yêu cầu 404, 403 hoặc 5xx còn sót.
- Kiểm tra ngẫu nhiên các trang cùng mẫu để tránh trường hợp chỉ một URL được sửa.
Nếu trang vẫn không xuất hiện trên kết quả tìm kiếm sau khi hình ảnh đã hoạt động, cần tách riêng vấn đề hình ảnh khỏi vấn đề thu thập và lập chỉ mục. Có thể áp dụng quy trình kiểm tra website không được index để xem xét khả năng truy cập trang, chỉ thị lập chỉ mục và trạng thái phản hồi.
Ảnh bị lỗi có thể làm giảm chất lượng trải nghiệm và khả năng khám phá hình ảnh, nhưng không nên mặc định đó là nguyên nhân duy nhất khiến lưu lượng giảm. Nếu sự cố trùng với biến động tìm kiếm, hãy thực hiện cách tìm đúng nguyên nhân khi traffic giảm và đối chiếu thời điểm lỗi với thay đổi kỹ thuật, nội dung và dữ liệu truy cập.
Cách hạn chế lỗi hình ảnh tái diễn
Để giảm nguy cơ ảnh không hiển thị trên website, nên duy trì các biện pháp sau:
- Quy định cấu trúc thư mục và cách đặt tên tệp thống nhất.
- Không đổi URL tệp đã xuất bản nếu không có kế hoạch chuyển hướng hoặc cập nhật tham chiếu.
- Kiểm tra ảnh sau mỗi lần di chuyển máy chủ, đổi tên miền, bật HTTPS hoặc cấu hình CDN.
- Giám sát định kỳ mã phản hồi của URL ảnh nội bộ.
- Kiểm thử các mẫu trang trên nhiều kích thước màn hình để phát hiện lỗi
srcset. - Giữ bản sao lưu tệp gốc và cơ sở dữ liệu trước các thay đổi hàng loạt.
- Đưa bước kiểm tra ảnh vào quy trình phát hành giao diện và nội dung.
- Phân biệt rõ lỗi hiển thị, lỗi tải tài nguyên và lỗi lập chỉ mục để tránh sửa sai tầng.
Quy trình đáng tin cậy luôn bắt đầu từ việc tái hiện lỗi, đọc URL và phản hồi thực tế, xác định phạm vi bằng trình thu thập dữ liệu, sửa đúng nguyên nhân rồi kiểm tra lại. Cách làm này an toàn hơn nhiều so với thay URL hàng loạt hoặc xóa bộ nhớ đệm liên tục khi chưa biết lỗi nằm ở nội dung, máy chủ hay CDN.
