Bỏ qua tới nội dung
Theo dõi định kỳTheo dõi site

Mã trạng thái HTTP cho SEO: 200, 301, 404, 410, 5xx, soft 404 và Google hiểu từng mã ra sao

Mã trạng thái là câu đầu tiên máy chủ nói với Googlebot về một địa chỉ: có nội dung, đã chuyển, không còn, hay đang lỗi. Trả sai mã, ví dụ trang lỗi mà vẫn 200, trang chuyển mà dùng 302, khiến Google lập chỉ mục rác hoặc giữ địa chỉ cũ.

Ban biên tập SEO Gốc · · 6 phút đọc

Người đưa thư trên xe máy vàng trao gói hàng cho người phụ nữ đứng ở cổng sắt xanh

Mỗi lần Googlebot hay trình duyệt hỏi một địa chỉ, máy chủ trả lời bằng một mã ba chữ số trước khi gửi nội dung. Mã đó là mã trạng thái HTTP, và với Google nó quan trọng hơn cả nội dung đi kèm: 200 nghĩa là “đây là nội dung, hãy xem xét lập chỉ mục”, 301 nghĩa là “đã chuyển hẳn, hãy dồn tín hiệu sang địa chỉ mới”, 404 nghĩa là “không có gì ở đây”, 5xx nghĩa là “máy chủ đang hỏng, quay lại sau”. Trang hiện đẹp trên trình duyệt chưa chắc trả đúng mã; nhiều lỗi SEO khó thấy nhất nằm ở đây.

Bảng mã hay gặp và Google hiểu thế nào

MãNghĩaGoogle làm gì
200Thành côngXử lý nội dung, có thể lập chỉ mục (nếu không có noindex và không phải trang lỗi trá hình)
301, 308Chuyển hẳnĐi theo, dồn tín hiệu sang đích, dần dần thay địa chỉ cũ bằng đích trong kết quả
302, 303, 307Chuyển tạmĐi theo nhưng thường giữ địa chỉ cũ trong chỉ mục; nếu kéo dài, có thể coi như chuyển hẳn
304Không đổi từ lần trướcDùng bản đã lưu; tiết kiệm băng thông, tốt cho site lớn
400, 401, 403Yêu cầu sai, cần đăng nhập, bị cấmKhông lập chỉ mục; địa chỉ đã có trong chỉ mục bị gỡ dần
404Không tìm thấyGỡ khỏi chỉ mục sau vài lần thu thập; vẫn ghé lại thỉnh thoảng
410Đã xoá vĩnh viễnNhư 404, gỡ có thể nhanh hơn một chút
429Quá nhiều yêu cầuGiảm tốc độ thu thập toàn site; kéo dài thì gỡ địa chỉ như lỗi máy chủ
500, 502, 503, 504Lỗi máy chủGiảm tốc độ thu thập; lỗi kéo dài vài ngày thì bắt đầu gỡ địa chỉ khỏi chỉ mục

Hai điểm hay hiểu nhầm: thứ nhất, 404 không làm hại cả site. Một site có nhiều trang 404 vì đã xoá sản phẩm cũ là chuyện bình thường; Google chỉ bỏ những địa chỉ đó. Thứ hai, 403 không phải cách “ẩn” trang an toàn: nếu trang đã được lập chỉ mục, 403 làm nó rơi khỏi chỉ mục; nếu bạn chặn nhầm Googlebot bằng 403 trên cả site, cả site rơi theo.

Soft 404: trang lỗi nhưng trả 200

Soft 404 là trang hiển thị nội dung kiểu “không tìm thấy”, “sản phẩm không tồn tại”, hoặc gần như trống, nhưng máy chủ vẫn trả mã 200. Google tự phát hiện và báo trong Search Console mục Trang với lý do Soft 404. Các dạng hay gặp:

  • Trang tìm kiếm nội bộ không có kết quả nào: /tim-kiem?q=xyz.
  • Trang danh mục rỗng: /danh-muc/ao-khoac khi mùa hè đã hết hàng.
  • Trang sản phẩm đã xoá nhưng giao diện vẫn dựng khung, chỉ thiếu nội dung.
  • Chuyển hướng mọi địa chỉ không tồn tại về trang chủ (Google coi đích trang chủ của một địa chỉ sai là soft 404).
  • Trang chỉ có một dòng “Đang cập nhật”.

Cách sửa: trang thật sự không còn thì trả 404 hoặc 410. Trang còn giá trị nhưng tạm thời rỗng (danh mục hết hàng theo mùa) thì thêm nội dung giải thích và gợi ý danh mục khác, hoặc noindex tạm thời. Trang tìm kiếm nội bộ nên noindex.

Khi nào dùng 404, khi nào 410, khi nào 301

Tình huốngNên trả
Sản phẩm ngừng bán, có mẫu thay thế gần như tương đương301 sang mẫu thay thế
Sản phẩm ngừng bán, không có thay thế, trang không có liên kết ngoài404 hoặc 410
Trang bị spam chèn vào (site bị hack), muốn gỡ nhanh410
Bài viết cũ đã gộp vào bài mới301 sang bài mới
Địa chỉ gõ sai, chưa từng tồn tại404
Trang có nhiều liên kết ngoài trỏ vào nhưng nội dung đã bỏ301 sang trang gần nghĩa nhất, nếu có; nếu không, 404

Khác biệt giữa 404 và 410 với Google là rất nhỏ. Dùng 410 khi bạn chắc chắn trang không bao giờ quay lại và muốn tín hiệu rõ nhất. Chi tiết về sản phẩm hết hàng có trong bài sản phẩm hết hàng, ngừng bán.

Lỗi 5xx và 429: chậm thu thập cả site

Khi máy chủ trả 5xx hoặc 429 nhiều, Googlebot hiểu là nó đang làm site quá tải và tự giảm tốc độ thu thập. Vài giờ lỗi không sao. Vài ngày lỗi liên tục thì trang bắt đầu bị gỡ khỏi chỉ mục. Nguyên nhân hay gặp:

  • Hosting chia sẻ hết tài nguyên lúc cao điểm, PHP hết tiến trình.
  • Plugin hoặc mã nguồn gặp lỗi chỉ ở một loại trang (trang sản phẩm có biến thể, trang tìm kiếm).
  • Tường lửa ứng dụng hoặc dịch vụ chống bot trả 429/503 cho Googlebot vì nghĩ là tấn công.
  • Bảo trì mà quên tắt chế độ bảo trì, trang trả 503 nhiều ngày.

Khi bảo trì có chủ đích, trả 503 kèm tiêu đề Retry-After là đúng cách: Google hiểu là tạm thời và quay lại sau. Trả 200 kèm trang “đang bảo trì” thì tệ hơn: Google có thể lập chỉ mục trang bảo trì thay cho nội dung thật.

Báo cáo Thống kê thu thập dữ liệu trong Search Console (mục Cài đặt) cho thấy tỉ lệ phản hồi theo mã và thời gian phản hồi trung bình. Tỉ lệ 5xx tăng đột ngột là việc cần xử lý trước mọi việc khác.

Kỹ thuật viên quỳ cắm lại dây mạng xanh trên tủ máy chủ trong phòng máy sáng đèn

Những mã “ẩn” mà trình duyệt không cho thấy

Trình duyệt đi theo chuyển hướng tự động và hiện trang cuối cùng, nên bạn không thấy chuỗi mã ở giữa. Một số tình huống chỉ lộ ra khi kiểm bằng công cụ:

  • Chuỗi chuyển hướng: http → https → www → có dấu gạch chéo cuối. Bốn bước cho một trang. Google đi theo tối đa 10 bước nhưng mỗi bước tốn thời gian và có rủi ro hỏng; gom về một bước. Xem chuyển hướng 301, gom www và HTTPS.
  • Trang chủ trả 302 về /vi/ hoặc /home: trang chủ thật của bạn trong mắt Google là một chuyển hướng tạm.
  • Trang trả 200 nhưng là trang đỗ tên miền (parking) hoặc trang mặc định của hosting: tên miền mới trỏ DNS chưa có site, hoặc vhost cấu hình sai.
  • Trang trả tệp không phải HTML (tải về tệp, JSON) ở địa chỉ đáng lẽ là trang.

Chấm điểm SEO của SEO Gốc ghi lại từng bước chuyển hướng và mã cuối, báo riêng các trường hợp không truy cập được, 5xx, mã khác 200, trang chờ (đỗ tên miền) và nội dung không phải HTML.

Một trường hợp đáng nhắc riêng là tên miền mới mua: nhiều nhà đăng ký ở Việt Nam mặc định trỏ tên miền về trang đỗ của họ, trả 200 kèm vài dòng quảng cáo. Nếu bạn gửi sitemap hoặc chia sẻ liên kết trước khi site thật lên, Google có thể ghi nhận trang đỗ đó trước. Không có hại lâu dài, nhưng nên dựng site và trỏ DNS xong rồi mới khai báo với Search Console để lần thu thập đầu tiên gặp đúng nội dung.

Kiểm mã trạng thái bằng dòng lệnh

# Mã và đích chuyển hướng của một địa chỉ
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" https://tenmien.vn/trang-cu

# Đi theo toàn bộ chuỗi, in từng bước
curl -sIL https://tenmien.vn/trang-cu | grep -iE "^HTTP|^location"

# Giả làm Googlebot điện thoại (để phát hiện tường lửa chặn bot)
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 (Linux; Android 10) Mobile (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://tenmien.vn/

Lưu ý: tường lửa tốt sẽ xác minh Googlebot thật bằng địa chỉ IP, nên giả chuỗi nhận dạng từ máy bạn có thể nhận kết quả khác với Googlebot thật. Công cụ Kiểm tra URL trong Search Console là nguồn chắc chắn nhất cho câu hỏi “Googlebot thật nhận mã gì”.

Checklist mã trạng thái

  1. Trang chủ trả 200 trực tiếp, không qua 302.
  2. Mọi biến thể http, www về bản chính bằng 301 trong một bước.
  3. Trang không tồn tại trả 404 thật, không trả 200, không chuyển về trang chủ.
  4. Trang tìm kiếm nội bộ, danh mục rỗng không thành soft 404.
  5. Bảo trì dùng 503 kèm Retry-After, không dùng 200.
  6. Tỉ lệ 5xx trong Thống kê thu thập dữ liệu gần 0.
  7. Tường lửa, dịch vụ chống bot không trả 403/429 cho Googlebot.
  8. Liên kết nội bộ trỏ thẳng đích cuối, không trỏ vào địa chỉ chuyển hướng hay 404.

Hỏi đáp

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

Không. 404 cho trang thật sự không còn là phản hồi đúng. Google chỉ bỏ các địa chỉ đó khỏi chỉ mục, không hạ cả site. Chỉ cần sửa 404 ở liên kết nội bộ và ở trang có liên kết ngoài giá trị trỏ vào.

Soft 404 là gì?

Là trang trả mã 200 nhưng nội dung là trang lỗi, trang rỗng hoặc gần như trống. Google tự nhận ra và không lập chỉ mục. Sửa bằng cách trả 404 thật hoặc thêm nội dung có giá trị.

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

Không. Google coi chuyển hướng về trang không liên quan là soft 404, giá trị không được chuyển, mà người dùng còn bị lạc. Chỉ chuyển hướng khi có trang thay thế tương ứng.

Site bảo trì vài giờ có ảnh hưởng thứ hạng không?

Không đáng kể nếu trả 503 kèm Retry-After. Google hiểu là tạm thời và quay lại sau. Lỗi kéo dài nhiều ngày mới bắt đầu làm rơi trang khỏi chỉ mục.

Đọc tiếp