Google Search Console

Server Error (5xx)

Lỗi phía máy chủ ngăn Googlebot thu thập trang, thường do cấu hình sai hoặc quá tải hệ thống.

2 lượt xem Cập nhật: 29/05/2026

Server Error (5xx) là gì?

Lỗi Server Error (5xx) là nhóm mã trạng thái HTTP do máy chủ trả về khi không thể xử lý yêu cầu của trình duyệt hoặc Googlebot — dù yêu cầu gửi đi đúng định dạng và hợp lệ. Đây là lỗi phía máy chủ, không phải do người dùng nhập sai URL hay thiết bị client. Các mã phổ biến gồm: 500 (Internal Server Error), 502 (Bad Gateway), 503 (Service Unavailable), 504 (Gateway Timeout) và 520–527 (thường xuất hiện khi dùng Cloudflare).

Tại sao quan trọng trong SEO?

Khi Googlebot gặp lỗi 5xx trên một trang, nó tạm dừng thu thập (crawling), không lập chỉ mục (indexing), và có thể giảm tần suất quét toàn bộ tên miền nếu lỗi xảy ra trên nhiều trang hoặc kéo dài. Điều này dẫn đến:

  • Mất hiển thị trên kết quả tìm kiếm cho các trang bị ảnh hưởng
  • Giảm độ tin cậy của trang trong mắt Google (do tỷ lệ lỗi cao)
  • Ảnh hưởng gián tiếp đến thứ hạng chung nếu Google đánh giá trải nghiệm kỹ thuật website kém
  • Không thể theo dõi hành vi người dùng qua Analytics nếu trang không tải được

Theo báo cáo chính thức từ Google, trang có hơn 10% yêu cầu trả về mã 5xx trong vòng 28 ngày sẽ bị Googlebot ưu tiên quét thấp hơn — điều này được xác nhận trong tài liệu Crawling and Indexing Best Practices (cập nhật tháng 3/2024).

Cách hoạt động

Khi Googlebot gửi yêu cầu GET đến một URL, máy chủ web (Apache, Nginx, LiteSpeed…) xử lý yêu cầu qua các bước: kiểm tra cấu hình, chạy script (PHP/Node.js), truy vấn cơ sở dữ liệu, rồi trả về phản hồi HTTP. Nếu bất kỳ bước nào thất bại — như PHP crash, database timeout, hoặc giới hạn kết nối vượt ngưỡng — máy chủ gửi lại mã 5xx thay vì nội dung HTML.

Google Search Console (GSC) ghi nhận lỗi này khi:

  1. Googlebot nhận được phản hồi HTTP với mã bắt đầu bằng 5xx (không phải redirect 3xx hay client error 4xx)
  2. Phản hồi không chứa thẻ <html> hoặc nội dung có thể phân tích
  3. Lỗi xuất hiện ít nhất 2 lần trong vòng 24 giờ (để loại trừ nhiễu tạm thời)

Hướng dẫn thực hiện

Dưới đây là quy trình khắc phục lỗi 5xx theo thứ tự ưu tiên:

  1. Kiểm tra GSC: Vào Reports > Coverage > Errors > Server Error (5xx). Xem danh sách URL, thời điểm xuất hiện, và số lần lỗi.
  2. Xác minh thủ công: Mở từng URL trong trình duyệt ở chế độ ẩn danh, đồng thời kiểm tra bằng công cụ như httpstatus.io hoặc lệnh curl -I https://example.com/trang.
  3. Phân tích log máy chủ: Kiểm tra file error.log (Nginx) hoặc error_log (Apache) để tìm dòng có từ “500”, “timeout”, “connection refused”, “allowed memory size exhausted”.
  4. Đánh giá tải hệ thống: Dùng htop, mysqladmin processlist, hoặc dashboard hosting để xem CPU, RAM, kết nối MySQL, và số request mỗi giây.
  5. Thử tắt plugin/mở rộng: Với WordPress, kích hoạt chế độ debug (WP_DEBUG = true) và vô hiệu hóa plugin theo từng nhóm để xác định nguyên nhân.
  6. Thông báo nhà cung cấp dịch vụ: Nếu dùng shared hosting hoặc CDN (Cloudflare, Sucuri), gửi log và thời điểm lỗi để họ kiểm tra cấu hình reverse proxy hoặc firewall.

Lỗi thường gặp

Dưới đây là 5 lỗi 5xx phổ biến nhất trong GSC và cách xử lý cụ thể:

Mã lỗi Nguyên nhân chính Cách khắc phục
500 Internal Server Error Sai cú pháp .htaccess, lỗi PHP fatal (ví dụ: gọi hàm không tồn tại), hoặc thiếu quyền ghi file Đổi tên .htaccess thành .htaccess.bak; bật display_errors = On trong php.ini; kiểm tra log PHP
502 Bad Gateway Máy chủ trung gian (Nginx, Cloudflare) không nhận được phản hồi từ máy chủ gốc (backend) Kiểm tra trạng thái PHP-FPM hoặc Node.js service; tăng fastcgi_read_timeout; xác minh kết nối giữa Nginx ↔ backend
503 Service Unavailable Máy chủ chủ động trả về 503 (do bảo trì), hoặc quá tải — thường kèm header Retry-After Nếu do bảo trì: đảm bảo chỉ áp dụng cho một nhóm nhỏ IP; nếu do quá tải: tối ưu query DB, thêm caching (Redis/Varnish), nâng cấp gói hosting
504 Gateway Timeout Máy chủ trung gian chờ backend quá lâu (mặc định thường 30–60 giây) Tăng proxy_read_timeout (Nginx) hoặc cloudflare timeout; tối ưu script chậm (đặc biệt hàm gọi API bên ngoài)
522 Connection Timed Out (Cloudflare) Máy chủ gốc không phản hồi trong 15 giây — thường do firewall chặn IP Cloudflare hoặc server tắt Kiểm tra IP Cloudflare trong danh sách trắng firewall; đảm bảo cổng 80/443 mở; kiểm tra trạng thái dịch vụ web

Ví dụ thực tế

Một website thương mại điện tử (WordPress + WooCommerce) đột ngột xuất hiện 247 URL lỗi 500 trong GSC sau khi cập nhật plugin thanh toán. Đội SEO kiểm tra log và phát hiện dòng: PHP Fatal error: Uncaught Error: Call to undefined function wc_get_price_html() in /wp-content/plugins/my-payment-gateway/class-gateway.php on line 89. Nguyên nhân: plugin mới gọi hàm chỉ có trong WooCommerce phiên bản ≥ 8.2, trong khi site đang dùng WooCommerce 7.9. Giải pháp: cập nhật WooCommerce trước, sau đó kích hoạt lại plugin — lỗi biến mất sau 12 giờ và GSC báo “Fixed” trong tab Coverage.

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

Lỗi 5xx có làm mất thứ hạng ngay lập tức không?

Không. Google không phạt trực tiếp vì lỗi 5xx, nhưng nếu kéo dài trên 3–5 ngày, Googlebot sẽ giảm tần suất quét và có thể loại bỏ trang khỏi chỉ mục. Việc khôi phục thứ hạng phụ thuộc vào thời gian sửa lỗi và tốc độ Googlebot quay lại thu thập — thường từ 1–7 ngày sau khi trang trả về mã 200 ổn định.

Có nên dùng redirect 301 để “né” lỗi 5xx không?

Không. Redirect 301 chỉ hợp lệ khi trang đích tồn tại và có nội dung tương đương. Chuyển hướng một URL lỗi 500 sang trang chủ hoặc trang khác sẽ gây nhầm lẫn cho người dùng và Google, đồng thời làm tăng tỷ lệ thoát (bounce rate). Cách đúng là sửa tận gốc — không che giấu lỗi.

Tại sao GSC báo lỗi 5xx nhưng mình kiểm tra bằng trình duyệt thì thấy trang vẫn mở bình thường?

Do khác biệt về môi trường: Googlebot không chạy JavaScript, không gửi cookie, và có thể bị chặn bởi robots.txt, mod_security, hoặc firewall dựa trên User-Agent. Ngoài ra, lỗi có thể xảy ra theo giờ cao điểm (ví dụ: 20h–22h) do giới hạn tài nguyên — nên kiểm tra log theo khung giờ GSC báo lỗi, không chỉ lúc bạn thử.