Soft 404 là lỗi xảy ra khi một trang thực chất không còn nội dung hữu ích (giống trang “không tìm thấy”) nhưng server vẫn trả về mã trạng thái 200 (OK) thay vì mã lỗi thật sự — khiến Google bối rối vì tín hiệu mâu thuẫn: nội dung nói “không có gì” nhưng mã trạng thái lại nói “mọi thứ ổn”.
Chào bạn, mình là Đăng — Search Marketing expert với 6 năm kinh nghiệm SEO B2B tại SME Solution. Trong bài này mình sẽ chỉ cách phát hiện lỗi này qua Search Console và 3 nguyên nhân phổ biến nhất mình hay gặp khi audit website khách hàng.
Soft 404 là gì?
Soft 404 xảy ra khi một URL hiển thị nội dung kiểu “trang không tồn tại”, “sản phẩm hết hàng”, hoặc trang gần như trống rỗng — nhưng server vẫn trả về mã HTTP 200 thay vì 404 (Not Found) hoặc 410 (Gone). Vì mã trạng thái nói trang “thành công”, Google tự phân tích nội dung để nhận ra đây thực chất là trang lỗi — và gắn nhãn “Soft 404” thay vì index bình thường.
Cách phát hiện soft 404 qua Google Search Console
- Vào Search Console → Lập chỉ mục (Indexing) → Pages.
- Tìm mục “Không được lập chỉ mục” (Not indexed), click vào lý do “Soft 404”.
- Xem danh sách URL cụ thể bị gắn nhãn này.
- Dùng URL Inspection Tool cho từng URL để kiểm tra: mã trạng thái HTTP thực tế là gì, và nội dung được render trông như thế nào — nếu thấy mã 200 nhưng nội dung trống hoặc nói “không tìm thấy”, đây chính xác là soft 404.
3 nguyên nhân phổ biến nhất gây soft 404
- Trang sản phẩm hết hàng/ngừng kinh doanh nhưng không xử lý đúng. Trang vẫn tồn tại ở URL cũ, hiển thị “Sản phẩm hiện không có sẵn” nhưng server trả 200 — rất phổ biến ở website B2B có nhiều sản phẩm/dòng máy theo thời vụ.
- Trang tìm kiếm nội bộ hoặc trang lọc trả về 0 kết quả. URL dạng
/tim-kiem?q=abckhi không có kết quả nào vẫn trả về 200 với nội dung gần như trống, dễ bị gắn soft 404 nếu có nhiều URL dạng này được index. - Template lỗi 404 tùy chỉnh bị cấu hình sai. Đội kỹ thuật tạo trang 404 đẹp, thân thiện người dùng — nhưng quên cấu hình server trả đúng mã 404, khiến trang lỗi trông đẹp nhưng vẫn trả về 200 phía sau.
Nguyên nhân thứ 4 ít được nhắc đến: lỗi render JavaScript
Đây là nguyên nhân ngày càng phổ biến với các website hiện đại xây dựng bằng framework JavaScript (React, Vue, Angular) nhưng ít được các bài hướng dẫn cũ đề cập đến. Khi nội dung của một trang được tải bằng JavaScript và quá trình render thất bại hoặc không hoàn chỉnh, Googlebot có thể hoàn toàn không “nhìn thấy” nội dung thực sự của trang — kết quả là trang trông như trống rỗng trong mắt Google, dù người dùng thực tế vẫn thấy đầy đủ nội dung khi mở trình duyệt bình thường. Đây chính là kịch bản dẫn đến soft 404 phổ biến với các website hiện đại.
Cơ chế kỹ thuật đằng sau: khi Googlebot phát hiện một trang có file JavaScript, nó cần thêm một bước render bổ sung để truy cập đầy đủ nội dung của URL đó — bước này tốn thêm tài nguyên và thời gian xử lý. Với các website lớn, có hàng nghìn trang, Googlebot có thể không phân bổ đủ crawl budget để render đầy đủ mọi trang nặng JavaScript, dẫn đến bỏ sót nội dung ở một số trang — và những trang đó dễ bị gắn nhãn soft 404 dù về bản chất chúng hoàn toàn có nội dung hợp lệ.
Cách khắc phục cho trường hợp này: đảm bảo Google có quyền truy cập đầy đủ vào các tài nguyên cần thiết để render trang (kiểm tra robots.txt không chặn CSS/JavaScript — lỗi khá phổ biến khi cấu hình bảo mật quá chặt), và cân nhắc dùng kỹ thuật render phía máy chủ (server-side rendering) hoặc pre-rendering cho các trang quan trọng thay vì hoàn toàn phụ thuộc vào render phía trình duyệt. Với các trang sản phẩm B2B quan trọng, việc đầu tư vào server-side rendering thường đáng công sức hơn nhiều so với rủi ro bị Google hiểu nhầm là trang lỗi chỉ vì hạn chế kỹ thuật của client-side rendering.
Tác động thực sự đến crawl budget
Đây là hệ quả quan trọng cần hiểu rõ, không chỉ dừng ở việc một vài trang bị gắn nhãn sai. Soft 404 có thể nhanh chóng làm lãng phí crawl budget (ngân sách thu thập dữ liệu) mà công cụ tìm kiếm phân bổ cho website — việc dùng hết ngân sách này vào các trang không cần thiết dẫn đến việc phát hiện nội dung mới chậm hơn, và có thể trì hoãn việc index các trang thực sự quan trọng khác trên site. Với website B2B có catalogue sản phẩm lớn, thay đổi thường xuyên theo mùa vụ hoặc theo dòng sản phẩm, vấn đề này đặc biệt đáng lo ngại — hàng trăm trang sản phẩm cũ bị soft 404 âm thầm tích lũy có thể khiến Googlebot dành phần lớn thời gian crawl vào các trang vô giá trị, thay vì khám phá và cập nhật lại các trang sản phẩm mới, quan trọng hơn.
Ví dụ thực tế: một website B2B ngành thiết bị công nghiệp
Để hình dung cụ thể, hãy xem một tình huống thường gặp: một doanh nghiệp phân phối thiết bị công nghiệp có khoảng 500 trang sản phẩm, trong đó 80 sản phẩm đã ngừng kinh doanh trong 2 năm qua nhưng URL vẫn còn tồn tại với thông báo “sản phẩm không còn kinh doanh” — tất cả đều trả về mã 200. Qua thời gian, Google Search Console bắt đầu gắn nhãn Soft 404 cho tất cả 80 URL này. Hệ quả không chỉ là 80 trang này không mang lại giá trị SEO, mà crawl budget tổng thể của toàn site bị phân tán không cần thiết — Googlebot liên tục quay lại kiểm tra các trang này thay vì tập trung crawl các trang sản phẩm mới, quan trọng hơn. Giải pháp đúng: rà soát toàn bộ 80 trang, với sản phẩm có sản phẩm thay thế tương đương thì 301 redirect, với sản phẩm không còn thay thế thì trả về đúng mã 404/410 để Google ngừng lãng phí crawl budget vào các URL không còn giá trị này.
Cách sửa lỗi soft 404
- Nếu trang thực sự không còn cần thiết (sản phẩm ngừng kinh doanh vĩnh viễn): trả về đúng mã 404 hoặc 410, hoặc 301 redirect sang trang sản phẩm thay thế gần nhất nếu có.
- Nếu trang tạm thời chưa có nội dung (sắp ra mắt sản phẩm mới): cân nhắc dùng mã 200 hợp lệ với nội dung thực sự hữu ích (VD: form đăng ký nhận thông báo) thay vì để trống, hoặc noindex tạm thời nếu chưa sẵn sàng.
- Kiểm tra lại cấu hình server cho trang 404 tùy chỉnh — đảm bảo trang lỗi đẹp vẫn trả đúng mã HTTP 404, không phải 200.
Phân biệt Soft 404 với 404 thật và lỗi 410
Ba khái niệm này thường bị nhầm lẫn, dù mỗi loại truyền tải tín hiệu khác nhau cho Google:
- 404 (Not Found) — trang không tồn tại, server trả về đúng mã lỗi 404, rõ ràng và nhất quán giữa nội dung lẫn mã trạng thái. Đây là cách xử lý “sạch” nhất khi một trang thực sự không còn tồn tại.
- 410 (Gone) — mạnh hơn 404, thông báo rõ ràng trang này đã bị xóa vĩnh viễn, không có ý định khôi phục. Google thường xử lý loại bỏ khỏi chỉ mục nhanh hơn so với 404 thông thường, phù hợp khi chắc chắn 100% trang sẽ không quay lại.
- Soft 404 — vấn đề nằm ở sự mâu thuẫn giữa mã trạng thái (200, nói “ổn”) và nội dung thực tế (trông như lỗi) — đây là loại duy nhất trong ba loại này thể hiện lỗi cấu hình, không phải một tín hiệu chủ đích.
Hiểu đúng sự khác biệt giúp chọn đúng giải pháp: nếu trang thực sự không cần thiết nữa, mục tiêu không phải “biến nó thành soft 404” mà là chuyển hẳn sang 404/410 thật, hoặc 301 redirect nếu có trang thay thế phù hợp.
Công cụ hỗ trợ phát hiện ngoài Search Console
Ngoài báo cáo có sẵn trong Search Console, một số công cụ crawl chuyên dụng (Screaming Frog, Sitebulb) có thể quét toàn bộ website và đối chiếu mã trạng thái HTTP thực tế với nội dung render được trên từng trang, giúp phát hiện các trường hợp nghi ngờ soft 404 trước khi Google tự gắn nhãn và ảnh hưởng đến chỉ mục. Cách tiếp cận chủ động này đặc biệt hữu ích với website lớn, nơi việc chờ Search Console tự báo cáo có thể mất thời gian và trong lúc đó crawl budget vẫn đang bị lãng phí.
Sai lầm thường gặp
- Bỏ qua cảnh báo Soft 404 vì nghĩ “trang vẫn hiển thị bình thường mà”. Đây chính là bản chất vấn đề — trang trông ổn với người dùng nhưng gây tín hiệu mâu thuẫn với Google.
- Xóa hàng loạt trang sản phẩm hết hàng mà không xử lý redirect, mất giá trị liên kết đã tích lũy nếu trang đó từng có backlink hoặc thứ hạng.
- Không kiểm tra định kỳ, để tình trạng tích tụ khi catalogue sản phẩm thay đổi thường xuyên.
FAQ
Soft 404 có làm giảm thứ hạng cả site không?
Không trực tiếp ảnh hưởng site-wide, nhưng làm lãng phí crawl budget và có thể khiến Google giảm niềm tin vào chất lượng dữ liệu chung của site nếu số lượng lớn.
Trang sản phẩm hết hàng tạm thời có nên để soft 404 không?
Không nên để tự nhiên — nếu sản phẩm sẽ có lại, giữ mã 200 với thông báo rõ ràng “tạm hết hàng, dự kiến có lại vào [thời gian]” là hợp lý hơn để trống hoặc trả về 404.
Bao lâu thì Google cập nhật sau khi sửa soft 404?
Phụ thuộc tần suất crawl lại của Google với URL đó — có thể từ vài ngày đến vài tuần. Có thể dùng chức năng “Yêu cầu lập chỉ mục lại” (Request Indexing) trong Search Console để đẩy nhanh với các URL quan trọng.
Website dùng React/Vue có dễ gặp soft 404 hơn website tĩnh không?
Có xu hướng cao hơn nếu không cấu hình đúng — vì cơ chế render JavaScript cần thêm bước xử lý từ Googlebot, các website phụ thuộc hoàn toàn vào render phía trình duyệt (client-side rendering) dễ gặp tình trạng nội dung không được nhận diện đầy đủ hơn so với website render sẵn nội dung phía máy chủ.
Có nên tự tạo trang 404 tùy chỉnh đẹp mắt không?
Nên, và không mâu thuẫn với việc tránh soft 404 — chỉ cần đảm bảo trang 404 tùy chỉnh đó vẫn trả đúng mã trạng thái HTTP 404 ở tầng server, không phải chỉ đẹp về giao diện nhưng ẩn phía sau mã 200 sai lệch.
Nguồn tham khảo
- Ahrefs, “What Is Soft 404”
- Onely, “What Are 404 Error Code and Soft 404? How To Fix Them?”
- Prerender.io, “Soft 404 Errors: What They Are & How to Fix Them”
Website B2B có catalogue sản phẩm thay đổi thường xuyên rất dễ tích tụ lỗi soft 404 mà không hay biết. Dịch vụ SEO Audit tại SME Solution rà soát định kỳ để phát hiện sớm.

