Soft 404
Trang trả về mã trạng thái 200 nhưng nội dung cho thấy nội dung không tồn tại, gây nhầm lẫn cho crawler.
Soft 404 là gì?
Soft 404 (tạm dịch: lỗi 404 'mềm') là hiện tượng một trang web trả về mã trạng thái HTTP 200 OK — nghĩa là máy chủ xác nhận trang tồn tại và tải thành công — nhưng nội dung thực tế lại cho biết trang không tồn tại, ví dụ như dòng chữ 'Trang này không tìm thấy', 'Nội dung đã bị xóa' hoặc hiển thị trang chủ/landing page rỗng thay vì nội dung mong đợi.
Khác với lỗi 404 thật (trả mã 404 và thường có giao diện lỗi rõ ràng), Soft 404 gây nhầm lẫn nghiêm trọng cho cả công cụ tìm kiếm và người dùng: crawler nghĩ trang hợp lệ nên tiếp tục thu thập, trong khi thực tế không có nội dung giá trị nào để lập chỉ mục.
Tại sao quan trọng trong SEO?
Soft 404 ảnh hưởng trực tiếp đến hiệu quả lập chỉ mục và phân bổ ngân sách thu thập (crawl budget) của Google:
- Lãng phí crawl budget: Googlebot dành thời gian thu thập hàng trăm trang '200 nhưng rỗng', làm giảm khả năng khám phá các trang mới hoặc quan trọng hơn.
- Sai lệch tín hiệu chất lượng: Trang trả 200 nhưng không có nội dung khiến thuật toán đánh giá sai mức độ hữu ích, dẫn đến khả năng xếp hạng thấp hoặc không được lập chỉ mục.
- Tỷ lệ thoát cao & trải nghiệm người dùng kém: Người dùng nhấn vào kết quả tìm kiếm, vào trang nhưng thấy thông báo lỗi hoặc nội dung không liên quan → tăng tỷ lệ thoát, giảm thời gian ở lại — hai yếu tố gián tiếp ảnh hưởng đến thứ hạng.
- Ảnh hưởng đến cấu trúc liên kết nội bộ: Nếu các trang lỗi này vẫn được liên kết từ menu, footer hoặc bài viết, chúng sẽ kéo theo toàn bộ hệ thống liên kết nội bộ xuống cấp độ tin cậy.
Cách hoạt động
Soft 404 xảy ra khi máy chủ không gửi mã trạng thái phù hợp cho tình huống thực tế. Quy trình tiêu biểu như sau:
- Người dùng hoặc crawler yêu cầu URL như
/san-pham/het-hang. - Máy chủ không kiểm tra sự tồn tại của tài nguyên mà tự động chuyển hướng (302) tới trang chủ hoặc trả về trang HTML với mã 200.
- Trang được tải thành công (status 200), nhưng nội dung chỉ là dòng chữ 'Sản phẩm này hiện không còn sẵn' hoặc hiển thị danh mục rỗng.
- Googlebot đọc mã 200 → coi trang là hợp lệ → thu thập và thử lập chỉ mục → phát hiện nội dung mỏng/không liên quan → ghi nhận là Soft 404 trong Search Console.
Hướng dẫn thực hiện
Dưới đây là quy trình xử lý Soft 404 đúng chuẩn kỹ thuật:
- Phát hiện: Kiểm tra trong Google Search Console > Crawl > Soft 404 errors. Ngoài ra, dùng lệnh
site:domain.com intitle:"không tìm thấy" OR intitle:"page not found"trên Google để tìm trang có từ khóa lỗi nhưng trả 200. - Xác minh mã trạng thái: Dùng công cụ như httpstatus.io, Web Dev Response Header hoặc lệnh
curl -I URLđể kiểm tra chính xác mã HTTP trả về. - Phân loại nguyên nhân:
- Trang đã xóa nhưng chưa cập nhật mã trạng thái.
- Template lỗi (ví dụ: CMS hiển thị trang mặc định khi không tìm thấy dữ liệu).
- Chuyển hướng sai (302 thay vì 410 hoặc 404).
- URL phân trang lỗi (ví dụ:
/page/999trên website chỉ có 10 trang).
- Xử lý phù hợp:
- Nếu trang đã xóa vĩnh viễn và không có trang thay thế: trả mã 410 Gone.
- Nếu trang không còn tồn tại và không có trang tương đương: trả mã 404 Not Found.
- Nếu có trang thay thế phù hợp: dùng 301 Redirect tới URL mới.
- Nếu là trang phân trang vượt giới hạn: trả 404 hoặc chặn lập chỉ mục bằng
noindex+ trả 200 (chỉ áp dụng nếu bắt buộc giữ URL).
- Xác minh sau sửa: Dùng công cụ kiểm tra mã trạng thái và chờ 3–7 ngày để Google cập nhật báo cáo trong Search Console.
Lỗi thường gặp
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Trang sản phẩm hết hàng trả 200 + thông báo 'Hết hàng' | Template hiển thị trang chi tiết dù dữ liệu không tồn tại | Sửa template: kiểm tra điều kiện tồn tại sản phẩm → nếu không → trả 404 hoặc 410 |
| URL cũ sau đổi tên miền trả 200 nhưng hiển thị trang chủ | Redirect rule sai (ví dụ: rewrite tất cả URL không khớp về /index.html) | Loại bỏ rule tổng quát; thiết lập redirect cụ thể hoặc trả 404 cho URL không tồn tại |
| Trang tìm kiếm nội bộ với từ khóa không có kết quả trả 200 | Không xử lý trường hợp 'no results' trong logic tìm kiếm | Hiển thị thông báo 'Không tìm thấy kết quả' + thêm thẻ <meta name="robots" content="noindex"> |
Ví dụ thực tế
Ví dụ 1: Một website thương mại điện tử có URL https://example.com/product/abc123. Sản phẩm đã bị xóa từ tháng trước, nhưng server vẫn trả:
→ Mã trạng thái: 200 OK
→ Nội dung: "Sản phẩm này hiện không còn sẵn. Vui lòng quay lại sau."
→ Kết quả: Google ghi nhận là Soft 404, không lập chỉ mục, và dần giảm tần suất thu thập URL đó.
Ví dụ 2: Website tin tức dùng hệ thống phân trang tự động. Khi người dùng nhập /tin-tuc/page/500 (trong khi chỉ có 42 trang), server trả 200 + hiển thị trang chủ. Đây là Soft 404 kinh điển — dễ phát hiện qua Search Console và cần xử lý bằng cách trả 404 hoặc chặn lập chỉ mục.
Câu hỏi thường gặp
Soft 404 có ảnh hưởng đến thứ hạng không?
Có — gián tiếp. Google không phạt trực tiếp vì Soft 404, nhưng việc duy trì hàng loạt trang như vậy làm suy giảm độ tin cậy của toàn bộ site, giảm hiệu quả lập chỉ mục và làm loãng tín hiệu liên kết. Các trang Soft 404 hiếm khi xuất hiện trong kết quả tìm kiếm.
Soft 404 khác gì so với 404 thật?
Khác về mã trạng thái và cách xử lý của crawler: 404 thật trả mã 404 Not Found → Google hiểu ngay trang không tồn tại → không lập chỉ mục, không phân bổ crawl budget. Soft 404 trả 200 OK → Google thu thập, phân tích nội dung → phát hiện không liên quan → ghi nhận lỗi và loại khỏi chỉ mục sau một thời gian.
Có nên dùng noindex thay vì 404 cho trang Soft 404?
Không khuyến khích. Thẻ noindex chỉ ngăn lập chỉ mục, nhưng không giải quyết gốc rễ: crawler vẫn tốn tài nguyên thu thập trang vô nghĩa. Cách tốt nhất là trả đúng mã trạng thái (404 hoặc 410) để thông báo rõ ràng với cả crawler và người dùng. Dùng noindex chỉ là giải pháp tạm thời trong trường hợp không thể thay đổi mã trạng thái (tùy trường hợp).