Lỗi 404: Không tìm thấy

Lỗi 404 là gì, cách Google loại trang 404 khỏi chỉ mục theo thời gian, khác biệt giữa hard 404 và soft 404 cùng thực hành SEO tốt nhất.

Xuất bản lần đầu: 27 thg 6, 2026 · Cập nhật lần cuối: 22 thg 8, 2026 · Advanced
Ngôn ngữ

404 Not Found là mã lỗi phía client máy chủ trả khi URL không tồn tại, như trang bị xóa, liên kết hỏng hoặc lỗi gõ. 404 bình thường và được dự kiến: Google không dùng nội dung của chúng, và một số URL trả 404 không kéo tụt các trang thành công khác, nên không cần cuống cuồng sửa mọi URL. Google deindex URL 404 theo thời gian và kiểm tra ngày càng ít, không phải tức thì; Google cũng không hứa sẽ ngừng thử hoàn toàn. Khác biệt thật sự quan trọng là hard 404, phản hồi đúng thật sự trả 404, so với soft 404, mã thành công trên trang đã mất làm lãng phí tài nguyên crawl. Chỉ chuyển hướng 301 khi trang thật sự chuyển đến đích liên quan; đừng chuyển mọi URL về trang chủ.

Evidence for this claim HTTP 404 means the origin server did not find a current representation for the target resource. Scope: HTTP semantics; it does not by itself explain why a URL is missing. Confidence: high · Verified: RFC 9110: 404 Not Found Evidence for this claim Google treats normal 404 responses as expected web behavior and recommends redirects only when there is a relevant replacement. Scope: Google Search handling; sitewide quality depends on more than the presence of 404 URLs. Confidence: high · Verified: Google Search Central: 404 errors

Tóm tắt — 404 là mã lỗi phía client thuộc nhóm 4xx cho URL máy chủ không tìm thấy. RFC 9110 định nghĩa là “no current representation, or unwillingness to disclose one,” (bản dịch) «không có biểu diễn hiện tại hoặc không sẵn lòng tiết lộ một biểu diễn», và mã tự nó không nói sự vắng mặt là tạm thời hay vĩnh viễn. Đây không phải nội dung có ích để lập chỉ mục, nhưng một số URL trả 404 không kéo tụt các URL thành công khác trên site. Việc loại khỏi tìm kiếm có thể từ từ: Google xóa URL 404 từng được lập chỉ mục và crawl lại với tần suất giảm dần; nguồn nói Googlebot “probably” (bản dịch) «có thể sẽ» tiếp tục thử “for some period of time” (bản dịch) «trong một khoảng thời gian», không phải không dứt. Khác biệt thật sự quan trọng là hard 404 và soft 404: trả 200 hoặc chuyển mọi URL mất về trang chủ làm lãng phí tài nguyên crawl và sai lệch analytics. Chỉ chuyển hướng 301 khi trang thật sự chuyển đến đích liên quan; nếu không, hãy để trả 404 hoặc 410 trung thực. Trang 404 tùy chỉnh là công cụ UX/giữ chân, không phải công cụ lập chỉ mục.

Bản chất thật của 404

404 Not Found là mã lỗi phía client HTTP thuộc nhóm 4xx, được máy chủ trả khi không tìm thấy URL yêu cầu. Nhóm 4xx nghĩa là vấn đề nằm ở yêu cầu, tức tài nguyên không có ở địa chỉ đó, khác lỗi máy chủ 5xx khi chính máy chủ gặp sự cố.

Đặc tả HTTP, RFC 9110, định nghĩa 404 hẹp hơn cách nói SEO thường ngày: origin “no current representation, or unwillingness to disclose one” (bản dịch) «không có biểu diễn hiện tại hoặc không sẵn lòng tiết lộ một biểu diễn» cho tài nguyên đích. Chỉ mã trạng thái không cho biết sự vắng mặt tạm thời hay vĩnh viễn; bạn quyết định bằng chuyển hướng, 410 hoặc cứ giữ 404. Một đặc điểm thực hành cần biết là phản hồi 404 mặc định có thể được cache theo suy đoán, nên trình duyệt hoặc cache trung gian có thể tiếp tục phục vụ 404 cũ cho URL đã hoạt động lại, trừ khi máy chủ gửi header cache-control khác.

404 đến từ mọi thay đổi bình thường của website: trang bị xóa, sản phẩm ngừng bán, chiến dịch kết thúc, liên kết nội bộ/ngoài bị hỏng hoặc gõ sai và URL đổi nhưng chưa chuyển hướng. Không điều nào bất thường hay mặc nhiên cần sửa.

Một URL trả 404 không làm hại các trang khác

Hãy bắt đầu ở đây vì phần lớn lo lắng về 404 bị đặt sai chỗ. Tài liệu Google nói rõ: “Google doesn’t use the content from URLs that return 4xx status codes,” (bản dịch) «Google không dùng nội dung từ URL trả mã 4xx». Không có gì trên trang 404 để Google chấm điểm. Hướng dẫn Google còn giới hạn rõ phạm vi: việc một số URL trên site trả 404 không ảnh hưởng hiệu suất của các URL thành công khác. Đây là ranh giới có nguồn, không phải lời hứa mọi tình huống liên quan 404 đều vô hại. Trang bạn muốn lập chỉ mục nhưng Google không tìm thấy, trang tốt mất liên kết đến hoặc đường đi người dùng bị hỏng là vấn đề riêng mà trạng thái 404 không tự gây ra hay giải quyết. Evidence for this claim Google's official 2011 Q&A says the fact that some URLs return 404 does not affect the performance of the site's other successful URLs; this does not prove every 404-related issue is harmless. Scope: website URLs Confidence: high · Verified: Do 404 errors hurt my site?

Người Google đã nói cùng điều bằng ngôn ngữ đơn giản nhiều năm. Gary Illyes nói không cần sợ 404 và phần lớn thời gian không cần cuống cuồng sửa. John Mueller nhiều lần gọi 404 là “fine & expected” (bản dịch) «bình thường và được dự kiến». Ngay cả site có số lượng rất lớn URL 404/410 cũng không chịu hình phạt toàn tên miền. Nỗi sợ cụ thể rằng 404 là tín hiệu xếp hạng hoặc chất lượng là quan niệm sai, dù trang 404 từng kiếm lưu lượng hay liên kết vẫn đáng cân nhắc.

Google loại URL 404 khỏi chỉ mục thế nào

Deindex là có thật nhưng diễn ra dần và không kịch tính. Tài liệu Google mô tả cơ chế: “the indexing pipeline removes the URL from the index if it was previously indexed. Newly encountered 404 pages aren’t processed. The crawling frequency gradually decreases.” (bản dịch) «Pipeline lập chỉ mục xóa URL khỏi chỉ mục nếu URL từng được lập chỉ mục. Trang 404 mới gặp không được xử lý. Tần suất crawl giảm dần.» Evidence for this claim Google specifically says newly encountered 404 pages are not processed and their crawling frequency gradually decreases. Scope: page fetches Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

Hai hệ quả cần ghi nhớ:

  • URL từng được lập chỉ mục rồi bắt đầu trả 404 sẽ bị loại; URL lần đầu được phát hiện dưới dạng 404 đơn giản không được xử lý.
  • Googlebot tiếp tục thử URL nhưng ngày càng ít. Search Console Help nói: “Googlebot will probably continue to try this URL for some period of time; there is no way to tell Googlebot to permanently forget a URL, although it will crawl it less and less often.” (bản dịch) «Googlebot có thể sẽ tiếp tục thử URL trong một khoảng thời gian; không có cách yêu cầu Googlebot quên URL vĩnh viễn, dù nó sẽ crawl ngày càng ít.» Cách diễn đạt có giới hạn: “probably”, “for some period of time”; Google không hứa tiếp tục không dứt, chỉ nói không có nút buộc dừng sớm. Vì vậy, thấy 404 đã biết vẫn xuất hiện trong báo cáo một thời gian là bình thường, không phải dấu hiệu lỗi.

Có thể tăng tốc không? Không thật sự. Công cụ Removals trong Search Console tạm ẩn URL khoảng sáu tháng, hữu ích khi khẩn cấp nhưng không phải deindex vĩnh viễn. Với xóa thật, hãy trả đúng mã trạng thái và để quá trình từ từ diễn ra.

404 và 410 Gone

Cả 404 (Not Found) và 410 (Gone) đều loại trang khỏi chỉ mục; khác biệt SEO thực tế không đáng kể. 410 là tín hiệu “đã chủ ý biến mất” mạnh và nhanh hơn đôi chút, nhưng như Mueller nói, khác biệt xử lý quá nhỏ để thường xuyên biện minh chọn mã này vì SEO. Hãy dùng 410 nếu CMS hỗ trợ dễ và bạn muốn báo xóa vĩnh viễn; nếu không, 404 hoàn toàn ổn. Có bài so sánh riêng trong cụm này.

Hard 404 và soft 404 — khác biệt quan trọng

Vấn đề SEO thật nằm ở đây, không nằm ở sự tồn tại của 404.

  • Hard 404 — máy chủ thật sự trả mã 404 cho nội dung thiếu. Đây là hành vi đúng; crawler đọc mã, hiểu trang đã mất và xử lý sạch.
  • Soft 404 — máy chủ trả mã thành công, thường là 200 OK, cho trang có nội dung thực chất là lỗi: trang trống, thông báo “không tìm thấy” hoặc chuyển về trang chủ. Google phát hiện bằng thuật toán. Tài liệu nói: “If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error.” (bản dịch) «Nếu nội dung gợi ý lỗi cho Google Search, như trang trống hoặc thông báo lỗi, Search Console sẽ hiển thị lỗi soft 404

Soft 404 tệ hơn 404 thật vì hiệu quả crawl. Crawler không thể biết nội dung đã mất chỉ từ 200, nên tiếp tục fetch lại URL. Illyes mô tả rằng crawler “use the status codes to interpret whether a fetch was successful, even if the contents of the page is basically just an error message. They might happily go back to the same page again and again wasting your resources, and if there are many such pages, exponentially more resources.” (bản dịch) «dùng mã trạng thái để hiểu lần fetch có thành công không dù nội dung chỉ là thông báo lỗi; chúng có thể quay lại nhiều lần làm lãng phí tài nguyên, và nếu có nhiều trang thì tài nguyên tăng theo cấp số nhân». Hướng dẫn Google rất rõ: “We recommend returning a 404 response code for truly ‘not found’ pages.” (bản dịch) «Chúng tôi khuyên trả mã 404 cho trang thật sự không tìm thấy.»

John Mueller diễn đạt đầy đủ trên site cá nhân: “Using soft-404s instead of real 404s is a bad practice, and it makes things harder for our algorithms” (bản dịch) «Dùng soft 404 thay 404 thật là cách làm xấu và khiến thuật toán khó xử lý hơn», còn “returning 404 — and having the URLs listed in the crawl errors in Webmaster Tools — is not a problem.” (bản dịch) «Trả 404 và để URL xuất hiện trong lỗi crawl của Webmaster Tools không phải vấn đề.» Nói cách khác, 404 trung thực là kết quả tốt; mã thành công giả mới là bug.

Soft 404 ngoài ý muốn đến từ đâu

  • Chuyển mọi 404 về trang chủ. Trang chủ trả 200, nên với công cụ tìm kiếm, URL “bị thiếu” nay thành công đến nội dung không liên quan, một mẫu soft 404.
  • Trạng thái “không tìm thấy” của JavaScript / SPA. Router phía client không thể tự phát 404 ở cấp máy chủ. SPA render component “Không tìm thấy trang” trong khi máy chủ vẫn trả 200 là soft 404 và còn làm sai analytics vì mã không phản ánh thực tế; GA4, GSC và crawler đều ghi lượt “thành công” trên trang chết. Cách sửa là route URL đó phía máy chủ đến phản hồi 404 thật, hoặc yếu hơn là render trạng thái không tìm thấy với noindex và chấp nhận đánh đổi tracking.
  • Cấu hình sai CMS / template khiến mục bị xóa rơi vào template chung được phục vụ với 200.

Khi nào sửa 404 và khi nào để nguyên

Cây quyết định rất ngắn:

  • Để trả 404 hoặc 410 nếu trang không còn giá trị, lưu lượng hay backlink. Đây là mặc định đúng, không cần làm gì.
  • Chuyển hướng 301 chỉ khi trang thật sự đã chuyển hoặc có backlink/lưu lượng đáng giữ. Chuyển hướng liên quan thu hồi giá trị liên kết. Search Console Help đồng ý: “If your page has moved, use a 301 redirect to the new location.” (bản dịch) «Nếu trang đã chuyển, hãy dùng chuyển hướng 301 đến vị trí mới.» Quy trình của tôi tại Ahrefs là dùng báo cáo “Best by links” trong Site Explorer, lọc URL trả 404, ưu tiên theo referring domain rồi chuyển URL có giá trị đến trang còn hoạt động gần nhất.
  • Đừng chuyển mọi URL về trang chủ. Martin Splitt nói thẳng: “If it moved somewhere else, use a redirect. If it’s gone, don’t redirect me to the homepage.” (bản dịch) «Nếu trang chuyển nơi khác, hãy dùng chuyển hướng. Nếu đã mất, đừng chuyển tôi về trang chủ.» Cách này tạo tín hiệu giống soft 404 và theo lời ông còn “it annoys me as a user” (bản dịch) «gây khó chịu cho tôi với tư cách người dùng». 404 là “a very clear signal this link is wrong and broken or this URL no longer exists” (bản dịch) «tín hiệu rất rõ rằng liên kết sai/hỏng hoặc URL không còn tồn tại». Chỉ chuyển đến đích cụ thể và thật sự liên quan.

Rút gọn thành ma trận quyết định:

Trang có backlink/lưu lượng thật?Có nội dung thay thế đang hoạt động và liên quan?Hành động
KhôngKhôngĐể trả 404 hoặc 410; không cần hành động.
Chuyển hướng 301 đến đúng trang liên quan.
KhôngCân nhắc xây lại trang hoặc chuyển đến danh mục gần nhất; đừng mặc định chuyển về trang chủ.
KhôngCó (liên kết nội bộ hỏng trỏ vào)Sửa liên kết trỏ đến 404, không sửa chính 404.

Trang 404 tùy chỉnh: công cụ UX, không phải công cụ lập chỉ mục

Trang 404 tùy chỉnh tốt không thay đổi cách Google lập chỉ mục URL; mã trạng thái quyết định điều đó. Nó thay đổi trải nghiệm của con người vừa gặp liên kết chết. Trang hữu ích giữ họ ở lại thay vì thoát, bảo vệ chuyển đổi và tương tác. Có hai nhiệm vụ riêng:

  1. Mã trạng thái chính xác (phía SEO/crawler): trang vẫn phải trả 404 thật. Trang 404 đẹp nhưng trả 200 là soft 404; bạn giải quyết UX nhưng tạo vấn đề crawl.
  2. Nội dung hữu ích (phía UX): thông báo rõ trang đã mất, thanh điều hướng chính, hộp tìm kiếm và liên kết đến nội dung phổ biến hay liên quan. Mueller khuyên: “Think about ways that you can make your 404 pages useful to users, so that they recognize that the page no longer exists, and so that they can find something else that’s appropriate.” (bản dịch) «Hãy tìm cách làm trang 404 hữu ích để người dùng nhận ra trang không còn tồn tại và tìm được nội dung phù hợp khác.»

Cách tìm và audit 404

  • Google Search Console — báo cáo Page indexing. Hiển thị trạng thái “Not found (404)” và “Soft 404” cùng URL ví dụ.
  • Ahrefs Site Audit / Site Explorer. Site Audit gắn cờ 404 và liên kết nội bộ hỏng; báo cáo “Best by links” trong Site Explorer tìm URL 404 vẫn có backlink để ưu tiên chuyển hướng theo referring domain.
  • Ahrefs Web Analytics. Để xem lưu lượng, lọc trang Possible 404 theo kênh AI Search rồi sắp xếp theo session. Kết quả cho thấy URL ứng viên nhận click từ AI trong khoảng chọn; nó không chứng minh phản hồi là 404 hay URL do AI bịa. Tôi ghi quy trình xác minh trong AI Hallucination Monitoring.
  • Screaming Frogphân tích log máy chủ để có góc nhìn toàn bộ crawl và lưu lượng thật về 404 bot/người dùng gặp.

Bing, ngắn gọn

Bình luận công khai của Bing về chủ đề này ít hơn Google, nên đừng giả định hành vi hoàn toàn giống nhau và coi chi tiết dưới đây có cơ sở yếu hơn phần Google. Bing Webmaster Tools có công cụ Content Removal để báo URL cần coi là đã mất và báo cáo Crawl Information hiển thị 404/lỗi máy chủ; hai công cụ này có tài liệu. Điều chưa được xác minh độc lập từ nguồn sơ cấp hiện hành là tuyên bố Bing chạy bộ phân loại “tạm ngừng” so với “đã xóa thật” hoặc Content Removal tăng tốc deindex đáng kể hơn việc trả đúng 404 và chờ. Hãy coi Bing là thứ cấp so với hành vi Google có tài liệu rõ và đừng lặp tuyên bố về bộ phân loại/tốc độ như sự thật đã chốt.

Để xem bức tranh mã trạng thái rộng hơn, hãy đọc Mã trạng thái HTTP và tác động SEO cùng 11 loại chuyển hướng và tác động SEO.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.