Mã trạng thái HTTP trong SEO: 5 mã quan trọng nhất cần biết

Năm mã trạng thái HTTP quan trọng trong SEO

Mã trạng thái HTTP là phản hồi 3 chữ số server trả về mỗi khi có yêu cầu truy cập một trang, cho trình duyệt lẫn Googlebot biết trang đó đang ở trạng thái nào — thành công, chuyển hướng, hay lỗi. Với SEO, một số mã ảnh hưởng trực tiếp đến việc trang có được crawl, index và giữ thứ hạng hay không.

Mình là Đăng, làm Search Marketing cho khách hàng B2B tại SME Solution đã 6 năm. Bài này mình tổng hợp 5 mã trạng thái quan trọng nhất mà bất kỳ ai quản lý website cũng nên biết cách đọc.

200 (OK) — trang hoạt động bình thường

Mã 200 xác nhận yêu cầu được xử lý thành công và nội dung được trả về đầy đủ. Đây là điều kiện cần để Google có thể crawl và index trang, nhưng không đảm bảo trang sẽ được index — Google vẫn có thể bỏ qua một trang trả về 200 nếu đánh giá nội dung trùng lặp hoặc chất lượng thấp.

301 (Moved Permanently) — chuyển hướng vĩnh viễn

Báo hiệu trang đã chuyển sang URL mới vĩnh viễn, truyền toàn bộ giá trị liên kết sang URL đích. Xem chi tiết đầy đủ về cách dùng đúng 301 và phân biệt với redirect 302.

404 (Not Found) — trang không tồn tại

Trả về khi tài nguyên được yêu cầu không tồn tại trên server. Một vài trang 404 không phải vấn đề nghiêm trọng (là hành vi bình thường của web), nhưng nhiều liên kết nội bộ trỏ đến trang 404 gây trải nghiệm kém và lãng phí crawl budget. Cần phân biệt với soft 404 — trường hợp trang trả về 200 nhưng nội dung thực chất là “không tìm thấy”.

410 (Gone) — trang đã bị xóa vĩnh viễn, có chủ đích

Khác với 404 (có thể là lỗi tạm thời hoặc chưa rõ ràng), mã 410 khẳng định rõ ràng trang đã bị xóa có chủ đích và sẽ không quay lại. Dùng 410 thay vì 404 khi bạn chắc chắn muốn Google gỡ trang khỏi index nhanh hơn — vì tín hiệu rõ ràng hơn 404 (vốn có thể chỉ là lỗi tạm thời cần Google kiểm tra lại nhiều lần trước khi gỡ).

Xem thêm  Soft 404 là gì? Cách phát hiện qua Search Console và sửa đúng cách

500 (Internal Server Error) — lỗi phía server

Báo hiệu server gặp sự cố khi xử lý yêu cầu, không liên quan đến trang cụ thể có tồn tại hay không. Đây là mã đáng lo ngại nhất nếu xuất hiện lặp lại: Googlebot gặp lỗi 500 nhiều lần có thể giảm tần suất crawl tạm thời, và nếu tình trạng kéo dài, các URL bị ảnh hưởng có thể bị gỡ khỏi index — kể cả khi nội dung trang hoàn toàn không có vấn đề gì.

429 (Too Many Requests) — mã dễ bị dùng sai để giới hạn crawl

Đây là mã trạng thái ít được các bài hướng dẫn SEO tiếng Việt đề cập, nhưng Google đã có hướng dẫn chính thức riêng về nó gần đây. Mã 429 báo hiệu client (bao gồm cả Googlebot) đã gửi quá nhiều yêu cầu trong một khoảng thời gian nhất định. Khi nhận được phản hồi 429, Google sẽ tạm thời giảm tốc độ crawl trên toàn bộ site, và tốc độ crawl sẽ phục hồi dần sau khi phản hồi bình thường trở lại.

Đáng chú ý, Google từng công khai đưa ra khuyến cáo quan trọng: không nên dùng mã lỗi 4XX (ngoại trừ 429) để giới hạn tốc độ Googlebot crawl — cụ thể Google chỉ đích danh việc một số website dùng sai mã 403 hoặc 404 với mục đích “chặn bớt” Googlebot khi tải server cao, đây là cách làm sai vì các mã 403/404 mang ý nghĩa hoàn toàn khác (từ chối quyền truy cập / không tìm thấy tài nguyên), không phải để báo hiệu “đang quá tải, chờ chút”. Nếu cần giới hạn tốc độ crawl, mã đúng để dùng chính là 429 hoặc 503, không phải các mã 4XX khác.

503 (Service Unavailable) — phân biệt với lỗi 500

Mã 503 báo hiệu server tạm thời không thể xử lý yêu cầu, thường do quá tải hoặc đang bảo trì — Google xử lý cả mã 500 lẫn 503 như các lỗi tạm thời. Điểm quan trọng cần lưu ý: dùng 429 hoặc 503 trong thời gian ngắn (ví dụ vài giờ bảo trì) là hoàn toàn chấp nhận được, nhưng nếu tình trạng này kéo dài liên tục nhiều ngày, tốc độ crawl có thể giảm mạnh, và một số URL thậm chí có thể bị loại khỏi chỉ mục hoàn toàn — dù về bản chất nội dung các trang đó không hề có vấn đề gì.

Với B2B vận hành website trên hạ tầng chia sẻ hoặc có traffic tăng đột biến theo mùa (ví dụ đợt triển lãm ngành, ra mắt sản phẩm mới), việc chủ động theo dõi khả năng chịu tải server trước các đợt cao điểm là bước phòng ngừa quan trọng — tránh để server tự động trả về 503 kéo dài do quá tải ngoài dự kiến, gây ảnh hưởng ngoài ý muốn đến toàn bộ chỉ mục website.

Bảng tóm tắt tác động đến SEO

Ý nghĩa Ảnh hưởng SEO
200 Thành công Điều kiện cần để index, không đảm bảo được index
301 Chuyển vĩnh viễn Truyền toàn bộ giá trị liên kết, cập nhật index nhanh
302 Chuyển tạm thời Truyền giá trị liên kết như 301, nhưng giữ URL gốc trong index lâu hơn
404 Không tìm thấy Bình thường ở mức thấp, nhiều liên kết nội bộ trỏ đến 404 gây lãng phí crawl
410 Đã xóa vĩnh viễn Tín hiệu rõ ràng hơn 404, Google gỡ index nhanh hơn
500 Lỗi server Giảm crawl tạm thời, kéo dài có thể mất index
429 Quá nhiều yêu cầu Giảm tốc độ crawl toàn site tạm thời, phục hồi dần sau đó
503 Dịch vụ tạm ngừng Ngắn hạn ổn, kéo dài nhiều ngày có thể mất index
403 Từ chối truy cập Chặn hoàn toàn Googlebot crawl, thường do lỗi cấu hình
Xem thêm  Schema Markup là gì? Vai trò, Phân loại, Cách triển khai

Ví dụ thực tế: xử lý đúng khi bảo trì website B2B

Để thấy rõ ứng dụng thực tế, hãy xem một tình huống phổ biến: một doanh nghiệp cần bảo trì website trong 4 giờ để nâng cấp hệ thống catalogue sản phẩm. Cách xử lý đúng là cấu hình server trả về mã 503 kèm header “Retry-After” (báo cho Googlebot biết thời gian dự kiến quay lại crawl) trong suốt thời gian bảo trì — Google hiểu đây là tình trạng tạm thời và sẽ không vội gỡ các trang khỏi chỉ mục. Cách xử lý sai thường gặp: để website hiển thị trang bảo trì nhưng vẫn trả về mã 200 (khiến Google index nhầm nội dung trang bảo trì thay vì nội dung thực), hoặc tệ hơn là để server crash hoàn toàn trả về 500 kéo dài quá lâu sau khi bảo trì xong do quên khôi phục cấu hình.

Cách theo dõi mã trạng thái HTTP một cách hệ thống

Thay vì chỉ kiểm tra thủ công khi nghi ngờ có vấn đề, nên thiết lập theo dõi định kỳ và tự động:

  • Google Search Console — báo cáo Coverage/Pages cho biết Google đang gặp mã trạng thái nào ở quy mô toàn site, cùng xu hướng theo thời gian.
  • Công cụ giám sát uptime (như UptimeRobot, Pingdom) — cảnh báo ngay lập tức khi server bắt đầu trả về mã lỗi 500/503 kéo dài, giúp xử lý nhanh trước khi ảnh hưởng nghiêm trọng đến crawl.
  • Crawl định kỳ bằng Screaming Frog hoặc công cụ tương tự — quét toàn bộ site để phát hiện các URL trả về mã lỗi mà không cần chờ Google tự báo cáo, đặc biệt hữu ích sau mỗi đợt cập nhật lớn về cấu trúc website.
  • Log file server — với website lớn, phân tích log crawl thực tế của Googlebot cho thấy chính xác Googlebot đang gặp mã trạng thái nào, tại thời điểm nào, chi tiết hơn nhiều so với báo cáo tổng hợp của Search Console.

Vì sao không nên tự ý dùng mã lỗi để “che giấu” nội dung khỏi Google

Một sai lầm chiến lược nghiêm trọng một số website mắc phải: cố tình trả về mã 403 hoặc chặn crawl bằng các thủ thuật không chính thống khi muốn tạm ẩn một phần nội dung khỏi Google, thay vì dùng đúng công cụ được thiết kế cho mục đích này (thẻ noindex, robots.txt có kiểm soát, hoặc chức năng chặn crawl hợp lệ trong Search Console). Cách làm sai này không chỉ vi phạm khuyến cáo chính thức của Google, mà còn tạo ra tín hiệu mâu thuẫn khó dự đoán — có thể ảnh hưởng tiêu cực đến toàn bộ site thay vì chỉ riêng phần nội dung muốn ẩn.

Xem thêm  Redirect 301 và 302 khác nhau thế nào? Sự thật về việc truyền PageRank

Vai trò của header Retry-After khi dùng mã 429/503

Một chi tiết kỹ thuật thường bị bỏ sót nhưng có giá trị thực tế lớn: khi trả về mã 429 hoặc 503, server nên kèm theo header “Retry-After” — thông báo rõ cho Googlebot (và mọi client khác) biết nên quay lại sau bao lâu. Việc cung cấp thông tin này giúp Googlebot điều chỉnh hành vi crawl hợp lý hơn, thay vì phải tự đoán và có thể tiếp tục gửi yêu cầu trong lúc server vẫn đang quá tải, kéo dài tình trạng không mong muốn. Với các đợt bảo trì đã lên kế hoạch trước, đây là công cụ đơn giản nhưng hiệu quả để giao tiếp rõ ràng với các hệ thống tự động đang cố truy cập website.

Sai lầm thường gặp

  • Để internal link trỏ đến trang 404 thay vì cập nhật hoặc redirect — lãng phí crawl budget và gây trải nghiệm kém.
  • Dùng 404 thay vì 410 cho nội dung chắc chắn không quay lại, khiến Google mất nhiều thời gian hơn để gỡ khỏi index.
  • Không theo dõi lỗi 500 định kỳ trong Search Console, để tình trạng kéo dài âm thầm ảnh hưởng đến crawl và index.

FAQ

Có bao nhiêu lỗi 404 thì cần lo lắng?

Vài trang 404 lẻ tẻ (do người dùng gõ sai URL) là bình thường. Đáng lo khi có nhiều internal link trên site trỏ đến các URL 404 — đây là lỗi cần sửa ngay vì ảnh hưởng trực tiếp đến crawl budget và trải nghiệm.

Kiểm tra mã trạng thái HTTP ở đâu?

Google Search Console (báo cáo Coverage/Pages) cho cái nhìn tổng quan theo Google thấy. Công cụ như Screaming Frog hoặc extension trình duyệt cho phép kiểm tra trực tiếp mã trạng thái của từng URL cụ thể.

403 (Forbidden) có ảnh hưởng SEO không?

Có — 403 báo hiệu quyền truy cập bị từ chối, khiến Googlebot không thể crawl nội dung. Nếu xuất hiện với trang lẽ ra công khai, thường do lỗi cấu hình server/firewall cần kiểm tra ngay.

Có nên dùng mã 429 để chủ động giảm tải Googlebot khi server yếu không?

Có thể cân nhắc trong thời gian ngắn nếu thực sự cần thiết, nhưng đây không nên là giải pháp lâu dài — nếu server thường xuyên không đủ tải để phục vụ cả người dùng lẫn Googlebot, vấn đề gốc rễ nằm ở hạ tầng cần nâng cấp, không phải ở việc giới hạn crawl liên tục.

Website nhỏ có cần lo lắng nhiều về các mã lỗi hiếm gặp như 429, 503 không?

Không cần quá lo lắng nếu server ổn định, nhưng vẫn nên biết cách nhận diện và xử lý đúng khi các tình huống này xảy ra (bảo trì định kỳ, tăng traffic đột biến) — hiểu đúng từ đầu giúp tránh xử lý sai cách gây hậu quả không đáng có.

Nguồn tham khảo

Website của bạn có đang âm thầm trả về lỗi 500 hoặc có nhiều internal link trỏ đến 404 mà chưa phát hiện? Dịch vụ SEO Audit tại SME Solution rà soát toàn bộ mã trạng thái trên site.

Đánh giá bài viết post