404 nghĩa là máy chủ đã hiểu yêu cầu hoàn hảo và không tìm thấy gì ở địa chỉ đó. Khác với hầu hết lỗi khác, đây không phải trục trặc — đó là câu trả lời đúng cho một câu hỏi về thứ không tồn tại.
Vì vậy lời khuyên "hãy sửa hết 404 của bạn" là lời khuyên tồi. Phần lớn 404 vô hại và một số thậm chí đáng có. Nhóm đáng để tâm chỉ là thiểu số: những trang từng tồn tại và vẫn còn liên kết trỏ tới, cùng biến thể ranh mãnh trả về mã thành công trong khi hiển thị thông báo lỗi.
404 khác 403, 410 và soft 404 ra sao
Bốn mã này có họ hàng với nhau và Google xử lý mỗi mã một khác, điều đó quan trọng khi bạn quyết định trả về gì cho một trang sắp gỡ bỏ.
| Mã | Ý nghĩa | Google hiểu thế nào |
|---|---|---|
| 404 Not Found | Không có ở đây — có thể quay lại, có thể không | Thử lại một thời gian rồi bỏ URL đó |
| 410 Gone | Từng có và đã gỡ vĩnh viễn | Bỏ nhanh hơn 404 — dùng khi bạn thực sự chắc chắn |
| 403 Forbidden | Có tồn tại nhưng bạn không được phép | Không đánh giá được trang; vẫn tiếp tục thử |
| Soft 404 | Hiển thị "không tìm thấy" nhưng trả mã 200 | Bối rối — lãng phí crawl budget vào trang rỗng |
Nguyên nhân thường gặp, phổ biến nhất trước
- Gõ sai URL, hoặc liên kết bị viết sai ngay từ đầu. Vô hại và phổ biến nhất.
- Trang bị xóa hoặc đổi tên mà không tạo redirect. Đây mới là loại làm bạn mất lưu lượng, vì các liên kết trỏ tới nó vẫn còn.
- Đổi cấu trúc permalink. Sắp xếp lại URL mà không chuyển hướng mọi địa chỉ cũ sẽ biến toàn bộ kho bài của bạn thành 404 chỉ sau một đêm.
- Thiếu hình ảnh, script hoặc stylesheet. Không hiện trang lỗi nhưng làm đầy log và có thể phá vỡ bố cục.
- Chuyển nhà website làm mất đường dẫn URL. Đổi nền tảng hiếm khi giữ nguyên URL trừ khi có người lên kế hoạch cho việc đó.
- Liên kết từ trang khác trỏ tới những trang bạn chưa từng có. Không có gì để sửa — người khác viết sai.
- Bot dò tìm /wp-admin, /.env, /phpmyadmin và tương tự. Log của bạn sẽ đầy những thứ này. 404 là phản hồi đúng và không cần làm gì cả.
Kiểm tra theo thứ tự này
- Xác nhận trang lỗi của bạn thực sự trả về 404. Chạy "curl -I https://trangcuaban.com/khong-ton-tai" rồi đọc dòng trạng thái. Nếu ghi 200, hãy sửa điều đó trước mọi thứ khác — đây là mục duy nhất trong danh sách gây hại một cách âm thầm.
- Mở Google Search Console, vào Pages, xem mục "Not found (404)". Đây là danh sách chính thức những 404 mà Google thực sự gặp, khác với mọi lần dò của bot trong log.
- Phân loại xem URL nào từng thực sự tồn tại. Trang bạn đã xóa đáng được chuyển hướng; địa chỉ chưa từng có thật thì không cần gì.
- Chỉ chuyển hướng những trang quan trọng tới trang tương đương gần nhất bằng 301. Đừng chuyển tất cả về trang chủ — Google coi đó là soft 404 và trải nghiệm cũng tệ.
- Sửa các liên kết nội bộ trỏ tới trang đã chết. 404 đến từ chính điều hướng của bạn hoàn toàn là lỗi của bạn và cũng dễ sửa nhất.
- Dùng 410 thay vì 404 cho nội dung bạn cố ý gỡ bỏ vĩnh viễn. Nó báo cho Google rằng quyết định là cuối cùng và URL rời chỉ mục nhanh hơn.
- Để yên phần còn lại. Một danh sách dài 404 từ bot và các liên kết gõ sai là chuyện bình thường với mọi website trên internet.
404 thực sự ảnh hưởng thứ hạng bao nhiêu
Ít hơn nhiều so với hình dung của đa số. Google đã nhiều lần khẳng định 404 là phần bình thường của web và việc có chúng không trực tiếp phạt website. Trang trả về 404 chỉ đơn giản rời khỏi chỉ mục, và đó là kết quả đúng cho một trang không còn tồn tại.
Thiệt hại thật là gián tiếp và liên quan tới liên kết. Khi một trang từng thu được backlink bắt đầu trả về 404, giá trị mà các liên kết đó mang theo không còn nơi để đi. Đó là mất mát có thật, và là lý do việc chuyển hướng trang đã gỡ tới nội dung tương đương vẫn đáng làm — không phải để tránh bị phạt, mà để giữ lại giá trị liên kết bạn đã kiếm được.
Thiệt hại thật thứ hai là crawl budget, và chủ yếu áp dụng cho website lớn. Nếu Googlebot dành lượt ghé thăm để thu thập hàng nghìn URL chết, thời gian dành cho những trang bạn quan tâm sẽ ít đi. Với website vài trăm trang, điều này không đáng lo; với website trăm nghìn trang thì có.
Soft 404 là ngoại lệ thực sự gây hại. Trả về thông báo "không tìm thấy trang" kèm mã 200 là mời Google đưa vào chỉ mục vô số trang rỗng gần như giống hệt nhau, và điều đó tệ hơn nhiều so với bất kỳ số lượng 404 trung thực nào.
Một trang 404 tốt gồm những gì
- Câu nói rõ ràng rằng trang không tồn tại, bằng ngôn ngữ đời thường chứ không phải mã trạng thái.
- Một ô tìm kiếm. Đây là thành phần hữu ích nhất, vì khách biết họ muốn gì còn bạn thì không.
- Liên kết tới các mục chính, để có bước tiếp theo rõ ràng thay vì ngõ cụt.
- Giữ nguyên header và điều hướng — một trang trơ trọi không lối thoát khiến người ta quay thẳng về kết quả tìm kiếm.
- Mã trạng thái 404 đúng trong HTTP header, bất kể trang trông thân thiện đến đâu.
- Không tự động chuyển về trang chủ. Việc đó gây mất phương hướng, và che giấu sự tồn tại của liên kết hỏng khỏi cả khách lẫn chính bạn.
Khi 404 mới là câu trả lời đúng
Đôi khi hành động đúng là để yên, và nhận ra những trường hợp này tiết kiệm rất nhiều công vô ích.
Nội dung đã thực sự bị gỡ và không có gì tương đương nên trả về 404 hoặc 410. Chuyển hướng nó tới một trang chỉ hao hao để tránh thông báo lỗi thực ra tệ hơn cho khách, vì họ đến một trang không trả lời câu hỏi của mình mà chẳng hiểu vì sao.
Các lần bot dò tìm bảng quản trị và file cấu hình nên trả về 404 mãi mãi. Những yêu cầu đó đang tìm lỗ hổng, và 404 vừa đúng vừa ít tiết lộ thông tin nhất.
Tin đăng hết hạn, sản phẩm đã bán và sự kiện đã kết thúc đều là 404 chính đáng khi không còn gì hợp lý để hiển thị. Nếu có nội dung thay thế tốt, hãy chuyển hướng; nếu không có, hãy để URL đó chết một cách trung thực.
Cần toàn quyền với redirect và trang lỗi của mình?
Cloud VPS với quyền root đầy đủ — tự cấu hình quy tắc rewrite, mã trạng thái và xử lý lỗi. Từ ฿150/tháng.
Câu hỏi thường gặp
Có nên chuyển hướng mọi 404 về trang chủ không?
Không. Google coi việc chuyển hướng hàng loạt về trang chủ là soft 404, và khách cũng thấy mất phương hướng — họ bấm vào thứ cụ thể và đến một nơi chung chung. Chỉ chuyển hướng khi thực sự có trang tương đương; còn lại hãy để 404.
Làm sao biết 404 nào thực sự quan trọng?
Báo cáo Pages trong Search Console cho thấy các URL Google đã gặp, còn access log của máy chủ cho thấy URL nào khách thật sự mở và họ đến từ đâu. 404 có liên kết đến từ website khác thì đáng chuyển hướng; loại chỉ có bot yêu cầu thì không.
404 và 410 khác nhau thế nào trong thực tế?
404 nghĩa là "không có ở đây", vẫn để ngỏ khả năng quay lại. 410 nghĩa là "đã mất, có chủ đích, vĩnh viễn". Google loại URL 410 khỏi chỉ mục nhanh hơn rõ rệt. Dùng 410 khi bạn chắc chắn nội dung sẽ không bao giờ trở lại.
Trang 404 của tôi trông bình thường nhưng Search Console báo soft 404. Vì sao?
Vì trang đó trả về mã 200 trong khi hiển thị thông báo lỗi. Nó trông thế nào với con người không quan trọng — Google đọc mã trạng thái HTTP. Kiểm tra bằng "curl -I" rồi cấu hình framework hoặc CMS để gửi header 404 thật sự.
GUIDES
Bài viết liên quan
Đọc tiếp các chủ đề tương tự
403 Forbidden — Ý nghĩa và cách khắc phục
403 không phải máy chủ hỏng. Đó là máy chủ đã hiểu chính xác bạn muốn gì và quyết định rằng bạn không được phép. Bài này giải thích khác biệt với 401, các nguyên nhân theo thứ tự phổ biến, và những lúc 403 chính là điều đúng đắn.
Đọc tiếp500 Internal Server Error — Nguyên nhân và cách sửa
500 là lỗi ít thông tin nhất trên web: nó nghĩa là "có gì đó hỏng và tôi sẽ không nói là gì". Tin tốt là máy chủ gần như luôn ghi lý do thật vào một file log. Bài này chỉ chỗ file đó và thứ tự kiểm tra nhanh nhất để tìm ra thủ phạm.
Đọc tiếpERR_CONNECTION_TIMED_OUT — Nguyên nhân và cách khắc phục
Trang quay mãi rồi Chrome bỏ cuộc với ERR_CONNECTION_TIMED_OUT. Bài này chỉ cách xác định trong hai phút vấn đề nằm ở phía bạn hay phía máy chủ, rồi các bước sửa tương ứng cho từng phía.
Đọc tiếp