- Các HTTP Status Codes Quan Trọng Nhất Với SEO
- 2xx — Thành Công
- 3xx — Chuyển Hướng
- 4xx — Lỗi Phía Client
- 5xx — Lỗi Phía Server
- Redirect Best Practices — Những Nguyên Tắc Vàng
- Redirect Chains và Redirect Loops — Vấn Đề Cần Tránh
- Domain Migration — Chuyển Domain Đúng Cách
- Câu hỏi thường gặp về Redirect và HTTP Status
- 301 hay 302 — lỗi phổ biến nhất khi nào?
- Có nên xóa trang 404 khỏi sitemap không?
- Soft 404 là gì và nguy hiểm như thế nào?
- Bao lâu thì Google xử lý redirect 301?
Khi người dùng truy cập một URL và nhận về mã 404 hoặc 301, họ thường không để ý — nhưng Googlebot thì khác. Mỗi HTTP status code (mã trạng thái HTTP — số ba chữ số mà server trả về để cho biết kết quả của một HTTP request, ví dụ 200 nghĩa là thành công, 404 nghĩa là không tìm thấy) là thông điệp kỹ thuật ảnh hưởng trực tiếp đến cách Google crawl, index và xếp hạng trang. Hiểu sai hoặc cấu hình sai redirects (chuyển hướng) và HTTP status codes là nguồn gốc của nhiều vấn đề Technical SEO khó chẩn đoán nhất.
Các HTTP Status Codes Quan Trọng Nhất Với SEO
2xx — Thành Công
- 200 OK: Server trả về trang bình thường — trạng thái lý tưởng cho tất cả trang quan trọng
- 204 No Content (không có nội dung): Server xử lý request thành công nhưng không có nội dung trả về — không phù hợp với trang muốn index
3xx — Chuyển Hướng
- 301 Moved Permanently (đã chuyển vĩnh viễn): URL đã chuyển vĩnh viễn sang URL mới. Google truyền ~90–99% PageRank sang URL mới. Đây là redirect đúng khi thay đổi URL, domain migration (chuyển domain), hoặc gộp nội dung
- 302 Found (tìm thấy — chuyển hướng tạm thời): URL chuyển tạm thời. Google không truyền PageRank và giữ nguyên URL cũ trong index. Dùng khi URL thực sự chỉ tạm thời unavailable (không khả dụng)
- 307 Temporary Redirect (chuyển hướng tạm thời): Tương tự 302 nhưng giữ nguyên HTTP method (phương thức HTTP). Ít dùng trong SEO
- 308 Permanent Redirect: Tương tự 301 nhưng giữ nguyên HTTP method. Google xử lý tương đương 301
4xx — Lỗi Phía Client
- 404 Not Found (không tìm thấy): Trang không tồn tại trên server. Google sẽ drop URL khỏi index sau khi gặp 404 nhiều lần. Với trang quan trọng bị xóa → setup 301 redirect thay vì để 404
- 410 Gone (đã biến mất vĩnh viễn): Trang đã bị xóa vĩnh viễn và sẽ không quay lại. Google drop URL khỏi index nhanh hơn 404. Dùng khi muốn Google deindex (xóa khỏi index) trang nhanh
- 403 Forbidden (bị cấm): Server từ chối access — thường do IP block hoặc authentication required. Google không thể crawl → không được index
- 429 Too Many Requests (quá nhiều requests): Rate limiting (giới hạn tốc độ) — server đang từ chối request vì quá tải. Googlebot crawl chậm lại tự động
5xx — Lỗi Phía Server
- 500 Internal Server Error (lỗi server nội bộ): Lỗi không xác định phía server. Nếu xảy ra thường xuyên → Google giảm crawl rate (tốc độ crawl) và có thể drop URLs khỏi index
- 503 Service Unavailable (dịch vụ không khả dụng): Server tạm thời không thể xử lý request — thường do maintenance (bảo trì) hoặc overload (quá tải). Nếu trả về kèm
Retry-Afterheader, Googlebot hiểu là tạm thời và quay lại sau
Redirect Best Practices — Những Nguyên Tắc Vàng
| Tình huống | Redirect đúng | Lý do |
|---|---|---|
| Đổi URL vĩnh viễn | 301 | Truyền PageRank đầy đủ sang URL mới |
| Domain migration | 301 từng URL → URL tương ứng | Giữ toàn bộ backlink equity từ domain cũ |
| HTTP → HTTPS | 301 | Consolidate PageRank vào HTTPS version |
| WWW ↔ non-WWW | 301 về version chính | Tránh duplicate content |
| A/B testing trang | 302 hoặc JavaScript | Không muốn Google index trang test |
| Trang maintenance ngắn hạn | 503 + Retry-After header | Báo Google là tạm thời, đừng drop index |
| Trang bị xóa vĩnh viễn | 410 hoặc 301 về trang liên quan | 410 deindex nhanh hơn 404; 301 về trang liên quan giữ backlink equity |
Redirect Chains và Redirect Loops — Vấn Đề Cần Tránh
Redirect chain (chuỗi chuyển hướng — khi URL A redirect đến B, B redirect đến C, C redirect đến D — người dùng và Googlebot phải đi qua nhiều bước trước khi đến trang đích) gây ra:
- Mỗi redirect bổ sung = thêm latency (độ trễ) → trang load chậm hơn
- PageRank bị “rò rỉ” qua mỗi bước redirect
- Googlebot có thể bỏ qua sau một số redirect nhất định (thường là 5–10 bước)
Redirect loop (vòng lặp chuyển hướng — A redirect đến B, B redirect về A) khiến trình duyệt báo lỗi “Too many redirects” và Googlebot không thể crawl trang đó.
Kiểm tra redirect chains và loops: Screaming Frog → “Response Codes” → filter 3xx → xem cột “Redirect To” → phát hiện chains. Sửa bằng cách update tất cả internal links và backlinks quan trọng trỏ thẳng đến URL cuối cùng.
Domain Migration — Chuyển Domain Đúng Cách
Domain migration (chuyển domain — chuyển toàn bộ website từ domain cũ sang domain mới) là một trong những thao tác Technical SEO rủi ro nhất nếu không thực hiện đúng. Checklist domain migration:
- Setup 301 redirects cho từng URL (không chỉ homepage) từ domain cũ sang domain mới
- Cập nhật tất cả internal links trong content sang domain mới
- Cập nhật canonical tags, hreflang, sitemap
- Add domain mới vào Google Search Console, submit sitemap
- Dùng Change of Address tool (công cụ thay đổi địa chỉ trong GSC) để thông báo Google về migration
- Monitor thứ hạng và traffic trong 3–6 tháng sau migration
Đọc thêm crawling và indexing, canonical tag và hoàn thiện kiến thức qua technical SEO audit checklist.
Câu hỏi thường gặp về Redirect và HTTP Status
301 hay 302 — lỗi phổ biến nhất khi nào?
Lỗi phổ biến nhất: dùng 302 khi thực ra muốn 301. Điều này xảy ra khi developer thiết lập redirect mà không hiểu sự khác biệt SEO, hoặc framework mặc định dùng 302. Hệ quả: Google giữ nguyên URL cũ trong index và không truyền PageRank sang URL mới. Trang mới không nhận được “credit” từ backlinks của trang cũ. Kiểm tra bằng: curl -I https://yoursite.com/old-url/ hoặc Screaming Frog để xem status code thực tế mà server trả về.
Có nên xóa trang 404 khỏi sitemap không?
Nên, và làm càng sớm càng tốt. Sitemap nên chứa URLs trả về 200 OK — URLs 404 trong sitemap gây “confusion” cho Google và lãng phí crawl budget. Kiểm tra qua GSC → Sitemaps → xem URLs submitted vs indexed. URLs submitted nhưng có lỗi (4xx, 5xx) cần được xóa khỏi sitemap hoặc fix status code về 200. Plugin Rank Math và Yoast tự động exclude (loại trừ) trang bị xóa khỏi sitemap — nên bật tính năng này.
Soft 404 là gì và nguy hiểm như thế nào?
Soft 404 xảy ra khi server trả về HTTP 200 (thành công) nhưng nội dung trang thực ra là thông báo “không tìm thấy” hoặc trang trống. Google nhận HTTP 200, crawl trang, thấy nội dung không có giá trị → đánh dấu là soft 404 và không index. Nguy hiểm hơn 404 thật vì khó phát hiện — GSC Coverage Report mới phát hiện được. Nguyên nhân phổ biến: search results pages với query không có kết quả trả về HTTP 200, product pages của sản phẩm đã hết hàng.
Bao lâu thì Google xử lý redirect 301?
Googlebot nhận biết redirect ngay lần đầu crawl URL cũ và follow redirect. Tuy nhiên, để Google cập nhật index đầy đủ — thay thế URL cũ bằng URL mới, chuyển PageRank — thường cần 1–4 tuần tùy mức độ authority và tần suất crawl. Với migration domain lớn, 3–6 tháng để thứ hạng ổn định hoàn toàn là bình thường. Duy trì redirect 301 từ domain cũ ít nhất 1–2 năm sau migration — đừng xóa redirect quá sớm vì backlinks cũ vẫn đang trỏ về domain cũ.
