Đăng Ký Học EN

5 Phút SEO: Kiểm Tra Trang Không Tồn Tại Có Trả Đúng Mã 404 Không

Kiểm trong 5 phút xem trang không tồn tại trên WordPress trả mã 404 thật hay mã 200 kèm thông báo lỗi, cách tìm nguồn soft 404 và khi nào nên chuyển hướng 301.

Kiểm mã trạng thái: máy chủ trả 200 trong khi trang nói không tìm thấy, đó là lỗi soft 404
Mã trạng thái là câu máy chủ nói, nội dung là câu trang nói, hai câu đó phải khớp nhau.

1. Kết quả cần có sau 5 phút

Sau 5 phút, bạn biết trang không tồn tại trên website của mình đang trả về mã 404 thật hay đang trả về mã 200 kèm một trang báo lỗi, và biết cách sửa nếu nó đang trả sai. Đây là lỗi im lặng: người đọc thấy trang báo lỗi rất đẹp, còn công cụ tìm kiếm thì nghe máy chủ nói trang này bình thường.

Bạn cần hai thứ: một trình duyệt, và quyền vào Search Console của website. Không cần cài thêm gì và không cần quyền máy chủ để KIỂM, chỉ cần khi sửa.

Ba kết luận bạn sẽ có: mã trạng thái thật của một đường dẫn không tồn tại, website có đang sinh ra lỗi soft 404 hay không, và với những URL đã xóa thì nên dùng 404, 410 hay chuyển hướng 301.

2. Mã trạng thái là gì và vì sao nó quyết định

Mỗi lần trình duyệt hoặc bot yêu cầu một đường dẫn, máy chủ trả về một con số ba chữ số nói kết quả của yêu cầu đó, và con số ấy quyết định công cụ tìm kiếm xử lý trang thế nào. Người đọc không thấy con số này, bot thì đọc nó trước cả nội dung.

Theo tài liệu mã trạng thái HTTP, lỗi mạng và lỗi DNS của Google, bốn nhóm mã quan trọng nhất với người làm website như sau.

Nhóm mãNghĩaGoogle xử lý ra sao
2xxThành côngNội dung được đưa vào bước xử lý tiếp theo, nhưng trả 200 KHÔNG bảo đảm được lập chỉ mục
3xxChuyển hướngBot đi theo, nội dung ở URL trung gian bị bỏ qua, chỉ xử lý URL đích cuối
4xxLỗi phía clientNội dung bị bỏ qua; URL đã nằm trong chỉ mục sẽ bị gỡ ra
5xxLỗi phía máy chủBot tạm chậm lại; URL đã có trong chỉ mục được giữ một thời gian rồi cũng rớt

Điểm cần nhớ từ bảng này: 404 không phải điều xấu. Nó là câu trả lời đúng cho một đường dẫn không tồn tại, và Google xử lý nó đúng như vậy.

3. Soft 404 là gì

Soft 404 là khi máy chủ trả về mã 200 cho một đường dẫn không tồn tại, kèm một trang nội dung nói rằng không tìm thấy gì. Máy chủ nói thành công, còn nội dung lại nói thất bại, và hai câu đó chọi nhau.

Tài liệu Google mô tả rất gọn: với nhóm 2xx, nếu nội dung gợi ý một lỗi, tức một trang trống hoặc một thông báo lỗi, Search Console sẽ hiện lỗi soft 404.

Vì sao nó có hại. Một, Google phải đoán, và đoán thì có lúc sai. Hai, những đường dẫn rác vẫn được thu thập đi thu thập lại vì máy chủ nói chúng bình thường. Ba, báo cáo trong Search Console đầy lỗi soft 404 làm bạn khó thấy lỗi thật.

Trên WordPress, soft 404 thường sinh ra từ ba chỗ: một trang 404 tùy chỉnh dựng bằng trình kéo thả rồi trỏ tới như một trang thường, một chuyển hướng đưa mọi đường dẫn hỏng về trang chủ, và một trang kết quả tìm kiếm nội bộ không có kết quả nào.

4. Kiểm trong trình duyệt, 60 giây

Cách kiểm trong trình duyệt mất khoảng 60 giây: mở một đường dẫn chắc chắn không tồn tại trên website của bạn, bật công cụ dành cho nhà phát triển của trình duyệt, sang thẻ Network, tải lại trang, rồi đọc mã trạng thái của yêu cầu đầu tiên. Con số hiện ra ở cột trạng thái chính là câu trả lời, và bạn không cần cài thêm công cụ nào.

  1. Gõ vào thanh địa chỉ một đường dẫn bịa, ví dụ tên miền của bạn rồi thêm một chuỗi ngẫu nhiên không có thật.
  2. Mở công cụ dành cho nhà phát triển, chọn thẻ Network.
  3. Tải lại trang.
  4. Bấm vào dòng đầu tiên trong danh sách, chính là tài liệu HTML của trang.
  5. Đọc ô Status. Thấy 404 là đúng. Thấy 200 là website đang có lỗi soft 404.

Làm thêm một lượt nữa với một URL bài viết bạn đã xóa gần đây, vì hai trường hợp này có thể cho kết quả khác nhau: đường dẫn bịa đi qua nhánh xử lý mặc định, còn URL đã xóa có thể đang dính một chuyển hướng nào đó.

5. Kiểm bằng Search Console

Search Console cho bạn hai thứ trình duyệt không cho: danh sách những URL Google đã gặp lỗi soft 404, và kết luận của chính Google về một URL cụ thể. Trình duyệt trả lời cho một URL, Search Console trả lời cho cả website.

Mở báo cáo về tình trạng lập chỉ mục của trang và tìm nhóm lý do liên quan tới soft 404. Nếu nhóm đó có số, bấm vào để lấy danh sách URL rồi đối chiếu với mẫu: chúng thuộc một loại trang hay rải rác khắp nơi.

Với một URL cụ thể, dùng công cụ kiểm tra URL và chọn kiểm bản trực tiếp để thấy tình trạng ngay lúc này thay vì tình trạng của lần thu thập gần nhất. Nếu bạn chưa có Search Console, hướng dẫn bắt đầu chỉ cách xác minh quyền sở hữu.

Hai nguồn này bổ sung cho nhau, nên khi chúng nói khác nhau thì tin bản kiểm trực tiếp, vì nó phản ánh tình trạng hiện tại.

6. Dùng 404 hay 410

Theo tài liệu Google, mọi mã 4xx trừ 429 được xử lý như nhau: bot báo cho bước xử lý sau rằng nội dung không tồn tại. Nghĩa là chọn giữa 404 và 410 không tạo ra khác biệt lớn về cách Google xử lý.

Khác biệt nằm ở ý nghĩa bạn muốn nói. 404 nghĩa là không tìm thấy, có thể tạm thời. 410 nghĩa là đã gỡ hẳn, có chủ ý. Nếu bạn chắc chắn trang sẽ không bao giờ quay lại thì 410 là câu nói thật hơn.

Điều đáng nhớ hơn cả hai: URL đã nằm trong chỉ mục mà bắt đầu trả 4xx thì sẽ bị gỡ khỏi chỉ mục, còn URL mới gặp lần đầu mà trả 404 thì không được xử lý. Tần suất thu thập những đường dẫn đó cũng giảm dần.

Một cảnh báo trực tiếp từ tài liệu: đừng dùng mã 401 và 403 để hạn chế tốc độ thu thập. Các mã 4xx, trừ 429, không ảnh hưởng tới tốc độ thu thập.

7. Khi nào nên chuyển hướng thay vì trả 404

Nên chuyển hướng khi có một trang khác thật sự thay thế được nội dung cũ, và nên trả 404 khi không có trang nào thay thế được. Đây là chỗ nhiều website làm sai theo cùng một cách: chuyển hướng mọi đường dẫn hỏng về trang chủ, vừa làm người đọc mất phương hướng vừa làm Google nhận một trang không liên quan tới URL được yêu cầu.

Vì sao đưa hết về trang chủ là sai: người đọc đang tìm một bài cụ thể bị ném về trang chủ sẽ không hiểu chuyện gì xảy ra, còn Google thì nhận một trang không liên quan tới URL được yêu cầu, và thường coi đó là một dạng soft 404.

Tình huốngNên làmVì sao
Bài đổi đường dẫnChuyển hướng 301 sang đường dẫn mớiNội dung vẫn còn, chỉ đổi chỗ
Gộp hai bài trùng chủ đềChuyển hướng 301 sang bài giữ lạiCó trang thay thế đúng nội dung
Sản phẩm ngừng bán, không có hàng tương đươngTrả 404 hoặc 410Không có trang nào thay thế trung thực được
Bài xóa vì sai và không viết lạiTrả 410Nói rõ đã gỡ có chủ ý
Đường dẫn gõ sai do người dùngTrả 404Đường dẫn đó chưa từng tồn tại

Theo tài liệu Google, chuyển hướng 301 là tín hiệu mạnh rằng nên xử lý URL đích, còn 302 là tín hiệu yếu. Bot đi theo tối đa mười bước chuyển hướng, nên chuỗi chuyển hướng dài vừa chậm vừa dễ đứt.

8. Trang 404 nên có gì

Một trang 404 nên có đủ hai thứ cùng lúc: máy chủ trả đúng mã 404, và trang hiện ra dễ chịu cho người đọc kèm lối đi tiếp. Hai việc đó không loại trừ nhau, nhưng nhiều người nghĩ phải chọn một rồi chọn nhầm phía, tức làm trang 404 rất đẹp mà lại để nó trả mã 200.

Một trang 404 dùng được có bốn thứ: nói rõ trang không tồn tại bằng ngôn ngữ người thường hiểu, một ô tìm kiếm, vài liên kết tới những trang hay dùng nhất, và giữ nguyên thanh điều hướng của website.

Ba thứ không nên có: đếm ngược rồi tự chuyển sang trang chủ, chỉ một dòng chữ trống trải, và một hình vui nhưng không có lối đi tiếp nào.

Về kỹ thuật, điều duy nhất bắt buộc là máy chủ phải trả mã 404 trong phần header của phản hồi. Nội dung hiển thị thế nào không ảnh hưởng tới mã đó.

9. Ba chỗ WordPress hay sinh soft 404

Trên WordPress, gần như mọi ca soft 404 đều sinh ra từ ba chỗ dưới đây, nên kiểm đúng ba chỗ này là đủ cho phần lớn website. Ba chỗ đó là trang 404 dựng bằng trình kéo thả, plugin chuyển hướng bắt hết đường dẫn hỏng, và trang kết quả tìm kiếm nội bộ khi không có kết quả nào.

Trang 404 dựng bằng trình kéo thả

Nhiều trình dựng trang cho phép tạo một trang bình thường rồi chỉ định nó làm trang 404. Nếu cách chỉ định là chuyển hướng tới trang đó, mã trả về sẽ là của trang đó, tức 200. Cách đúng là dùng mẫu 404 của theme, hoặc dùng tính năng trang 404 của trình dựng có hỗ trợ trả đúng mã.

Plugin chuyển hướng bắt hết đường dẫn hỏng

Một số plugin có tùy chọn đưa mọi đường dẫn không khớp về trang chủ. Tùy chọn đó nghe hợp lý mà hại: nó biến mọi lỗi thành 200 và xóa mất tín hiệu để bạn biết website đang hỏng ở đâu. Tắt nó đi và chỉ đặt chuyển hướng cho từng URL có trang thay thế thật.

Trang kết quả tìm kiếm nội bộ không có kết quả

Trang tìm kiếm luôn trả 200 kể cả khi không có kết quả nào, và nội dung lúc đó đúng là một thông báo không tìm thấy. Đây là nguồn soft 404 rất lớn trên website nhiều nội dung. Cách xử lý là đặt noindex cho trang kết quả tìm kiếm nội bộ.

10. Quy trình 5 phút

Quy trình 5 phút dưới đây đi từ bước kiểm nhanh nhất tới bước kết luận, mỗi bước khoảng một phút, và bạn dừng lại ngay khi tìm ra nguyên nhân chứ không cần chạy hết. Thứ tự này đặt phần kiểm bằng trình duyệt lên trước phần đọc báo cáo, vì trình duyệt cho câu trả lời tức thì.

  1. Phút thứ nhất. Mở một đường dẫn bịa trên website, đọc mã trạng thái trong thẻ Network. Thấy 404 thì phần mặc định của website đang đúng.
  2. Phút thứ hai. Làm lại với một URL bạn đã xóa gần đây, vì nhánh xử lý có thể khác.
  3. Phút thứ ba. Mở báo cáo lập chỉ mục trong Search Console, xem nhóm soft 404 có bao nhiêu URL và chúng thuộc loại trang nào.
  4. Phút thứ tư. Nếu có soft 404, đối chiếu với ba chỗ ở mục 9 để tìm nguồn.
  5. Phút thứ năm. Sửa đúng một chỗ, rồi kiểm lại bằng công cụ kiểm tra URL bản trực tiếp.

11. Sau khi sửa thì bao lâu sạch báo cáo

Sau khi sửa, báo cáo sẽ sạch dần theo nhịp Google thu thập lại chứ không sạch ngay, và không có mốc thời gian nào cam kết được cho trường hợp cụ thể của bạn. Điều bạn kiểm soát được là mã trạng thái trả về đã đúng hay chưa; phần còn lại là chờ, và chờ đúng cách nghĩa là kiểm lại bằng công cụ chứ không đếm số trong báo cáo mỗi ngày.

Cách theo dõi đúng: dùng công cụ kiểm tra URL bản trực tiếp cho vài URL đại diện để xác nhận mã đã đổi, rồi để báo cáo tự giảm. Đừng đánh giá bằng con số trong báo cáo ở ngày đầu tiên, vì nó phản ánh những lần thu thập đã xảy ra trước khi bạn sửa.

Một lưu ý về tần suất: tài liệu Google nói tần suất thu thập những đường dẫn trả 4xx sẽ giảm dần. Nghĩa là URL rác càng cũ thì càng lâu mới được thu thập lại, và đó là điều bình thường, không phải dấu hiệu bạn sửa chưa được.

12. Trường hợp khác: nhiều URL cùng một nội dung

Nếu đường dẫn hỏng của bạn thật ra là một biến thể của một trang đang sống, ví dụ khác nhau ở dấu gạch chéo cuối hay ở tham số, thì đó không phải chuyện 404 mà là chuyện chọn URL chuẩn. Hai vấn đề này hay bị trộn vào nhau.

Dấu hiệu phân biệt: nếu mở đường dẫn ra vẫn thấy đúng nội dung đó thì trang tồn tại, chỉ là có nhiều lối vào. Lúc đó việc cần làm là gộp về một URL chuẩn, không phải trả 404.

Tài liệu gộp URL trùng lặp của Google nói về cách chọn và khai URL chuẩn. Phần kiểm nhanh trên WordPress nằm ở bài kiểm self-canonical trong 5 phút.

13. Trang tải nội dung bằng JavaScript

Nếu website dựng nội dung bằng JavaScript thì mã trạng thái vẫn do máy chủ quyết định, và JavaScript không đổi được nó sau khi phản hồi đã gửi đi. Đây là chỗ các website một trang hay dính soft 404.

Với kiểu website đó, một đường dẫn không tồn tại thường vẫn trả 200 rồi mới hiện thông báo lỗi bằng mã chạy trên trình duyệt. Tài liệu JavaScript SEO cơ bản của Google có phần nói về cách xử lý tình huống này, trong đó có cách dùng thẻ noindex cho trang lỗi khi không đổi được mã trạng thái.

Với WordPress thông thường thì không gặp chuyện này, vì máy chủ dựng HTML và trả mã trước khi trình duyệt chạy bất kỳ đoạn mã nào.

14. Năm lỗi hay gặp khi xử lý 404

Năm lỗi hay gặp khi xử lý 404 dưới đây đều bắt nguồn từ cùng một hiểu nhầm: coi mã 404 là điều xấu cần che đi, thay vì một câu trả lời đúng cần nói rõ. Khi đã nhìn 404 là câu trả lời hợp lệ cho một đường dẫn không tồn tại thì cả năm lỗi này tự mất, vì không còn lý do gì để che nó.

  • Đưa mọi đường dẫn hỏng về trang chủ. Xóa mất tín hiệu để biết website hỏng ở đâu, và thường bị coi là soft 404.
  • Đặt trang 404 trả mã 200 cho đẹp báo cáo. Báo cáo đẹp hơn thật, còn vấn đề vẫn nguyên.
  • Chuyển hướng 301 hàng loạt sang một trang danh mục không liên quan. Người đọc không tìm thấy thứ mình cần.
  • Dùng 401 hoặc 403 để chặn bot. Tài liệu Google nói rõ các mã 4xx trừ 429 không ảnh hưởng tới tốc độ thu thập.
  • Xóa bài rồi không làm gì cả, kể cả khi đã có bài mới thay thế. Bỏ phí phần liên kết đang trỏ tới bài cũ.

15. Checklist dùng ngay

Checklist dùng ngay dưới đây gồm năm dòng, và bạn chạy lại nó mỗi lần đổi theme, đổi trình dựng trang, hoặc cài plugin chuyển hướng. Ba thời điểm đó là lúc mã trạng thái hay bị đổi mà không ai để ý, vì website vẫn hiện ra bình thường với người đọc trong khi máy chủ đã nói một câu khác.

  • Một đường dẫn bịa trả về mã 404 trong thẻ Network.
  • Một URL vừa xóa trả về 404 hoặc 410, không phải 200.
  • Không có tùy chọn nào đang đưa mọi đường dẫn hỏng về trang chủ.
  • Trang kết quả tìm kiếm nội bộ đang đặt noindex.
  • Báo cáo lập chỉ mục trong Search Console không có nhóm soft 404 tăng lên.

Điều kiện nghiệm thu: cả năm dòng đều đạt, và công cụ kiểm tra URL bản trực tiếp xác nhận đúng mã trạng thái cho ít nhất một đường dẫn không tồn tại và một URL đã xóa.

16. Câu hỏi thường gặp

Các câu dưới đây gom những hiểu nhầm hay gặp nhất quanh mã 404. Khi phân vân, hãy nhớ: mã trạng thái là câu máy chủ nói, nội dung là câu trang nói, và hai câu đó phải khớp nhau.

Website có nhiều lỗi 404 thì có bị đánh giá thấp không?

404 là câu trả lời đúng cho đường dẫn không tồn tại, và mọi website đều có. Theo tài liệu Google, URL trả 4xx bị bỏ khỏi chỉ mục và giảm dần tần suất thu thập, đó là cách xử lý bình thường. Thứ đáng lo là soft 404, tức mã và nội dung nói hai điều khác nhau.

Nên chọn 404 hay 410?

Google xử lý mọi mã 4xx trừ 429 như nhau, nên khác biệt nằm ở ý bạn muốn nói. Dùng 410 khi chắc chắn trang đã gỡ hẳn và sẽ không quay lại, dùng 404 cho các trường hợp còn lại.

Có nên chuyển hướng mọi trang hỏng về trang chủ không?

Không. Người đọc bị ném về trang chủ mà không hiểu vì sao, còn Google nhận một trang không liên quan tới URL được yêu cầu và thường coi đó là soft 404. Chỉ chuyển hướng khi có trang thật sự thay thế được nội dung cũ.

Trang 404 đẹp có cần thiết không?

Có ích cho người đọc, nhưng nó không thay thế được mã trạng thái đúng. Làm cả hai: máy chủ trả 404, và trang hiện ra có ô tìm kiếm cùng vài lối đi tiếp.

Làm sao biết website đang có soft 404?

Hai cách. Kiểm tay bằng thẻ Network cho một đường dẫn bịa, và đọc nhóm soft 404 trong báo cáo lập chỉ mục của Search Console. Cách đầu cho kết quả ngay, cách sau cho biết quy mô.

Mã 5xx có nguy hiểm hơn 404 không?

Nguy hiểm theo cách khác. Tài liệu Google nói 5xx và 429 làm bot tạm chậm lại, và URL đã có trong chỉ mục được giữ một thời gian rồi cũng rớt. Nghĩa là lỗi máy chủ kéo dài thì hại cả website, không chỉ hại một trang.

Bao lâu thì URL cũ rớt khỏi chỉ mục?

Không có mốc cam kết được. Tài liệu chỉ nói URL đã lập chỉ mục mà trả 4xx sẽ bị gỡ ra, và tần suất thu thập giảm dần. Việc của bạn là để mã trả đúng rồi chờ, không phải gửi yêu cầu nhiều lần.

Kết luận: mở một đường dẫn bịa, đọc mã trạng thái, và nếu thấy 200 thì bạn vừa tìm ra một lỗi im lặng đang làm Google phải đoán. Trả 404 thật cho đường dẫn không tồn tại, chuyển hướng 301 chỉ khi có trang thay thế đúng nội dung, và đặt noindex cho trang kết quả tìm kiếm nội bộ.

17. Nguồn tham khảo

Toàn bộ nguồn tham khảo của bài này là tài liệu chính thức của Google, và mỗi liên kết dưới đây đã được mở kiểm trả về bình thường trước khi đưa vào bài. Phần mã trạng thái là chỗ có nhiều hướng dẫn cũ nói khác tài liệu gốc, nên khi hai bên lệch nhau hãy theo tài liệu gốc.

Hai bài cùng họ trên website này: kiểm website có đang chặn Google lập chỉ mục khôngkiểm sitemap WordPress.

Bài kiểm trong 5 phút này là một bài học của khóa Học SEO Online, phần sửa nhanh cho WordPress. Bạn làm trên chính website của mình rồi nộp ảnh chụp thẻ Network trước và sau.

Bước tiếp theo

Muốn tự làm được phần này trên website của mình?

SEO Master hướng dẫn làm SEO trong 24 buổi, từ tư duy nền tảng tới triển khai và đo lường trên website thật.

Menu

Thêm vào màn hình chính

  1. 1 Bấm nút Chia sẻ ở thanh công cụ Safari
  2. 2 Kéo xuống, chọn Thêm vào MH chính
  3. 3 Bấm Thêm ở góc trên bên phải

Ba bước này là của Safari. Nếu đang xem trong ứng dụng khác thì bấm mở bằng Safari trước đã.