500 Lỗi máy chủ nội bộ

500 Internal Server Error là gì, Googlebot xử lý lỗi máy chủ khi crawl thế nào, vì sao 500 kéo dài gây deindex và cách chẩn đoán, sửa.

Xuất bản lần đầu: 28 thg 6, 2026 · Cập nhật lần cuối: 22 thg 8, 2026 · Advanced
Ngôn ngữ

500 Internal Server Error là mã lỗi chung phía máy chủ; RFC 9110 định nghĩa là tình trạng ngoài dự kiến ngăn máy chủ hoàn thành yêu cầu và không nói thêm điều gì về nguyên nhân, thời lượng hay khả năng thử lại. Google thường thử lại 500 cô lập, nhưng 500 kéo dài toàn site dẫn đến phản ứng được ghi nhận: crawl chậm và cuối cùng bị loại khỏi chỉ mục nếu lỗi không hết. John Mueller đưa quy tắc cá nhân rằng tỷ lệ lỗi trên khoảng 1% có lẽ là vấn đề thật, nhưng Google không công bố ngưỡng cứng. Hãy chẩn đoán từ log máy chủ trước, rồi báo cáo Server error (5xx) của GSC; xung đột plugin hay cạn tài nguyên phổ biến trên một số stack như WordPress, không phải danh sách phổ quát.

Tóm tắt — RFC 9110 định nghĩa 500 là tình trạng ngoài dự kiến ngăn máy chủ hoàn thành yêu cầu; đó là toàn bộ ranh giới của chính mã. Nguyên nhân, thời lượng và khả năng đáng thử lại là chẩn đoán, không phải ngữ nghĩa. Phản ứng Google được ghi nhận tăng dần: 500 cô lập thường được thử lại; 500 kéo dài toàn site làm crawl chậm và nếu không giải quyết sẽ cuối cùng bị loại khỏi chỉ mục. Mueller đưa quy tắc kinh nghiệm cá nhân rằng tỷ lệ lỗi trên khoảng 1% có lẽ nghĩa là hỏng, nhưng đó không phải ngưỡng Google ghi nhận; chuỗi thử lại → giảm crawl → loại mô tả hành vi, không phải bộ hẹn giờ cố định. Chẩn đoán từ log máy chủ, rồi báo cáo Server error (5xx) của GSC và Crawl Stats “by response”. Khác biệt 500/503 quan trọng: 503 là mã “quay lại sau” được tán thành với cửa sổ khoảng hai ngày; 500 ngoài kiểm soát không có ân hạn.

Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

500 thực chất là gì

Bắt đầu từ đặc tả, không phải cách nói tắt của người làm nghề. RFC 9110 định nghĩa 500 Internal Server Error là tình trạng ngoài dự kiến ngăn máy chủ hoàn thành yêu cầu. Đó là toàn bộ điều mã tự nói. Mã không nhận diện nguyên nhân gốc, thành phần hỏng, thời lượng, khả năng yêu cầu thành công khi thử lại hay khả năng phục hồi. Mọi thứ sau “máy chủ gặp điều không xử lý được” là chẩn đoán, và chẩn đoán nằm trong log lỗi máy chủ, không phải đặc tả hay trình duyệt.

Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

Trong hướng dẫn mã trạng thái HTTP của Ahrefs, tôi cố ý giữ định nghĩa thực hành thẳng: máy chủ “encounters some kind of issue and doesn’t have a better or more specific error code.” (bản dịch) «gặp vấn đề nào đó và không có mã lỗi tốt hơn hay cụ thể hơn.» Đây là cách diễn đạt thường của cùng ranh giới RFC: vẫn là mã gom, triệu chứng chứ không phải chẩn đoán.

Mã nằm trong nhóm 5xx cùng 502 gateway lỗi, 503 dịch vụ không khả dụng và 504 gateway timeout — đều phía máy chủ, nhưng 500 nghĩa là “không có mã tốt hơn áp dụng”. Vì mã không mang chi tiết chẩn đoán, reload trình duyệt không nói vì sao lỗi; log lỗi máy chủ là nguồn sự thật.

Googlebot xử lý 500 thế nào

Crawler Google được thiết kế lịch sự: nó điều tiết theo sức khỏe máy chủ, và phản hồi 5xx là tín hiệu “chậm lại”. Tài liệu hiện hành xác nhận hình dạng: 5xx và 429 gây giảm tốc độ crawl tạm thời theo số URL ảnh hưởng; URL tiếp tục lỗi cuối cùng có thể bị loại, còn nội dung đã lập chỉ mục được giữ trong lúc chờ lần làm mới thành công. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers John Mueller mô tả cùng tiến trình trong phiên Google SEO Office Hours được Search Engine Journal truyền đạt:

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (bản dịch) «Chúng tôi không có ngưỡng mạnh. Với lỗi 500, chúng tôi thử lại; nếu tiếp tục thấy lỗi thì giảm crawl; nếu vẫn tiếp tục, chúng tôi loại URL khỏi chỉ mục.»

Hãy đọc đó như mô tả hành vi đã ghi nhận — thử lại, crawl chậm, có thể bị loại — không phải bộ hẹn giờ ba bước với chuyển tiếp hay thời gian bảo đảm. 500 cô lập trên một URL thường được thử lại và lần fetch thành công kế tiếp thường kết thúc vấn đề; đây là mô tả trường hợp phổ biến, không bảo đảm lỗi một lần không tốn gì. Rủi ro thật nằm ở lỗi không hết.

Vì sao 500 toàn site tệ hơn lỗi cô lập

Tài liệu Google xác nhận mức cắt crawl tăng theo số URL ảnh hưởng: càng nhiều site lỗi, crawl càng chậm. Mueller giải thích cụ thể hơn rằng Google có thể nghi crawl của chính họ góp phần gây quá tải:

“But if a large part of a site consistently has 500 errors and we might assume that maybe we’re causing the problem and we’ll slow down crawling of the whole site and at some point we’ll say well, it looks like these pages are really gone, we’re going to drop them.” (bản dịch) «Nếu phần lớn site liên tục có lỗi 500, chúng tôi có thể cho rằng mình gây vấn đề, giảm crawl toàn site và đến lúc sẽ coi trang thật sự biến mất rồi loại chúng.»

Hãy coi cách nói “chúng tôi cho rằng mình gây ra” là mô tả của Mueller, không phải câu nguyên văn tài liệu chính thức hiện hành. Cơ chế nền vẫn được ghi nhận: càng nhiều URL lỗi, tốc độ càng giảm. Vòng phản hồi đáng nhớ: crawl mạnh khi tài nguyên cạn có thể tạo thêm 500 → Google lùi crawl toàn site → nếu lỗi vẫn kéo dài, trang bị loại. Vấn đề 500 không luôn là bug mã; đôi khi máy chủ khuỵu dưới tải đồng thời chỉ xuất hiện khi crawler hoặc lưu lượng tăng.

Bao nhiêu là “quá nhiều”?

Không có ranh giới cứng; tài liệu khắc phục của Google không công bố ngưỡng tỷ lệ lỗi. Mueller đưa quy tắc cá nhân trong SEO Office Hours, một lần nữa được Search Engine Journal truyền đạt:

“My feeling is if you’re seeing something more than one percent then that sounds like something is kind of broken.” (bản dịch) «Cảm nhận của tôi là nếu thấy hơn một phần trăm thì có vẻ một thứ gì đó đã hỏng.»

Hãy coi khoảng 1% là phép thử mùi không chính thức gắn với Mueller, không phải giới hạn Google ghi nhận hay thực thi. Dưới mức đó có lẽ ổn; trên mức đó đáng điều tra — nhưng đừng coi vượt 1% là tác nhân tự động hay ở dưới là bảo đảm. Con số Google công khai cam kết chính là không có số: “we don’t have any strong thresholds” (bản dịch) «chúng tôi không có ngưỡng mạnh».

500 so với 503 — khác biệt quan trọng

Đây là nơi nhiều người làm sai. 503 Service Unavailable là cách được tán thành để nói với crawler “tôi tạm ngừng, hãy quay lại sau”. Google coi là chủ ý và cho cửa sổ ân hạn. Tài liệu khắc phục crawl nói rõ:

“Return 503 or 429 HTTP response status codes temporarily for Googlebot requests when your server is overloaded. Googlebot will retry these URLs for about 2 days. Note that returning ‘no availability’ codes for more than a few days will cause Google to permanently slow or stop crawling URLs on your site.” (bản dịch) «Tạm trả 503 hoặc 429 cho yêu cầu Googlebot khi máy chủ quá tải. Googlebot sẽ thử lại khoảng hai ngày. Trả mã “không khả dụng” hơn vài ngày sẽ khiến Google vĩnh viễn giảm hoặc ngừng crawl URL trên site.»

Tương phản: 503 có chủ ý và được ân hạn thử lại khoảng hai ngày; 500 ngoài kiểm soát là vô ý và không có ân hạn — mã chỉ được thử lại đến khi Google bỏ cuộc. Với bảo trì dự kiến hoặc phòng vệ quá tải có chủ ý, hãy trả 503, lý tưởng kèm Retry-After, không phải 500 hay trang lỗi 200. Đừng ngụy trang sự cố thật thành 200.

Cách chẩn đoán 500

Làm theo từng tầng: ứng dụng/mã, nền tảng/CMS, hạ tầng/tài nguyên, rồi cấu hình — ưu tiên việc rẻ và dễ mang lại kết quả. Bước riêng WordPress là thực hành phổ biến, không phải cách sửa chung; hãy điều chỉnh theo stack.

  1. Log lỗi máy chủ. error.log / access.log hoặc trình xem log nền tảng. Khớp thời gian với yêu cầu lỗi. Stack trace, lỗi PHP nghiêm trọng hay lỗi kết nối DB nằm ở đây; mọi bước sau chỉ là đoán trước khi đọc log.
  2. GSC — báo cáo Server error (5xx). Page Indexing nêu URL Google thấy trả 500. Mở Crawl Stats và đọc phân tích “by response” theo thời gian để phân biệt trục trặc thoáng qua với vấn đề khả dụng kéo dài.
  3. Bing Webmaster Tools. Cảnh báo crawl gom Server Errors (5xx), chỉ URL cụ thể và công cụ Crawl Information.
  4. Tái hiện như bot, không chỉ trình duyệt. Trang có thể trả 500 cho Googlebot nhưng tải tốt với bạn do tải crawl, cấu hình tường lửa/bot sai hoặc giới hạn dung lượng chỉ xuất hiện khi bot đồng thời. Dùng URL Inspection, Fetch as Bingbot hoặc curl với user-agent bot. “Chạy trong trình duyệt của tôi” chưa phải chứng minh an toàn.
  5. Xung đột plugin/theme/module, mẫu riêng WordPress. Sao lưu trước. Tắt extension rồi bật từng cái để cô lập thủ phạm, kiểm tra quyền file trên thứ bạn chạm. Hướng dẫn nhà cung cấp WordPress báo cáo mẫu này thường xuyên, nhưng đó là quan sát theo stack, không phải bằng chứng nguyên nhân hàng đầu ở mọi nơi; trên CMS/app khác, tương đương là module, package hay middleware bên thứ ba.
  6. Cạn tài nguyên. Bộ nhớ PHP, giới hạn kết nối DB, dung lượng hosting dùng chung, lưu lượng hoặc đỉnh crawl. Nhà cung cấp thường xác nhận từ phía họ.
  7. Cấu hình và thay đổi gần đây. .htaccess hỏng, sửa cấu hình máy chủ sai, deploy gần đây hoặc thông tin DB sai. Thay đổi mới là nơi có xác suất cao nhất.

Cách sửa — khớp giải pháp với nguyên nhân

Khớp cách sửa với tầng chẩn đoán chỉ ra. Đây là mẫu phổ biến trong bài thực hành, không phải danh sách xếp hạng hay phổ quát cho stack của bạn:

  • Cấu hình/deploy gây lỗi → rollback thay đổi; sửa .htaccess, cấu hình hoặc thông tin xác thực.
  • Cạn tài nguyên → tăng giới hạn bộ nhớ PHP, kết nối DB hoặc nâng gói hosting; nếu crawl kích hoạt quá tải, đây cũng là vấn đề tốc độ crawl.
  • Xung đột plugin/module → gỡ hoặc thay extension gây lỗi.
  • Bug mã → sửa mã, thêm xử lý lỗi còn thiếu.
  • Không xác định được → chuyển cho nhà cung cấp kèm thời gian và dòng log chính xác. Đừng đoán trên production.

Ngăn tái diễn

Theo dõi và cảnh báo tỷ lệ 5xx, staging thay đổi trước production, kiểm thử tải trước đỉnh lưu lượng đã biết, và nếu chính crawl Googlebot kích hoạt lỗi thì quản lý tải crawl — chủ ý trả 503/429 khi quá tải thật thay vì để máy chủ phát 500 ngoài kiểm soát.

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

Lỗi 500 có làm hại SEO không? Rủi ro được ghi nhận chủ yếu nằm ở kéo dài và quy mô. 500 cô lập thường được thử lại, không có hình phạt được ghi nhận cho một lần trục trặc; 500 kéo dài toàn site làm crawl chậm và có thể deindex.

Bao lâu Google deindex trang trả 500? Không có thời gian cố định. Google thử lại trước và giảm crawl; chỉ loại khỏi chỉ mục nếu lỗi tiếp tục. Sửa xong, trang thường quay lại khi crawl thành công.

Vì sao site trả 500 cho Googlebot nhưng tải tốt trong trình duyệt? 500 riêng bot thường nghĩa vấn đề dung lượng/xử lý bot: tải do crawl, rule tường lửa/bot hoặc giới hạn chỉ xuất hiện với lưu lượng bot đồng thời. Hãy tin log, không phải kiểm tra trình duyệt thủ công.

500 có thể làm chậm crawl toàn site, không chỉ trang ảnh hưởng không? Có. Tài liệu Google xác nhận mức giảm crawl tăng theo số URL lỗi, nên phần lớn site trả 500 làm crawl chậm toàn site. Mueller còn mô tả lý do là Google nghi crawl của mình góp phần quá tải; đó là cách diễn đạt của ông, không phải câu nguyên văn tài liệu hiện hành.

Điều gì gây 500 trong WordPress? Riêng WordPress, nhà cung cấp hosting và cộng đồng thường báo cáo xung đột plugin/theme, .htaccess hỏng hoặc chạm giới hạn bộ nhớ PHP; đó là báo cáo cho nền tảng, không phải nhận định nguyên nhân hàng đầu phổ quát của mọi 500. Thứ tự chẩn đoán vẫn là log trước, rồi thay đổi gần đây, bất kể CMS.

Có an toàn khi tự động thử lại sau 500 không? Chỉ khi đã kiểm tra phương thức và tính idempotent của yêu cầu; 500 tự nó không cho phép chính sách thử lại. GET, HEAD, PUT, DELETE thường an toàn vì idempotent; POST trần thường không, trừ khi API bảo đảm bằng khóa idempotency. Thử lại mù có thể tạo đơn hàng, email hoặc khoản tính phí trùng. Khi thử lại, dùng backoff lũy thừa kèm jitter, giới hạn số lần và đặt ngân sách thử lại để không tạo bão yêu cầu lên máy chủ đang yếu.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.