503 Dịch vụ không khả dụng
Mã 503 dùng cho bảo trì tạm thời, cách cấu hình Retry-After, tác động đến crawl và lập chỉ mục, cùng các lỗi cần tránh.
Ngôn ngữ
503 Service Unavailable là mã đúng cho thời gian ngừng tạm thời theo kế hoạch. Google khuyến nghị mã này thay cho 404 hoặc trang lỗi 200, gửi kèm Retry-After, giữ robots.txt có thể crawl và giới hạn 503 toàn website trong khoảng 1–2 ngày. Sau vài ngày, Google có thể coi phản hồi là vĩnh viễn, loại trang khỏi chỉ mục và không bảo đảm phục hồi 1:1. Với thời gian ngừng dài hơn, hãy chuyển sang trang giữ chỗ 200 có thể lập chỉ mục.
Tóm tắt — Phản hồi 503 Service Unavailable báo cho công cụ tìm kiếm rằng “website tạm ngừng — hãy quay lại sớm”, chứ không phải “trang này đã biến mất”. Khi cần đưa website ngoại tuyến để bảo trì theo kế hoạch, 503 là mã đúng để trả về. Hãy thêm header
Retry-Afterđể Googlebot biết khi nào nên quay lại, giữ chorobots.txttruy cập được và đừng duy trì 503 quá một hoặc hai ngày.
503 thực sự có nghĩa gì
HTTP 503 nghĩa là máy chủ tạm thời không thể xử lý yêu cầu; tiêu chuẩn cho phép gửi kèm header Retry-After. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 Google khuyến nghị dùng 503 cho thời gian ngừng ngắn, nhưng cảnh báo rằng việc không khả dụng kéo dài có thể ảnh hưởng đến lập chỉ mục. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
503 là mã trạng thái HTTP thuộc nhóm 5xx — nhóm cho biết “có sự cố phía máy chủ”. Cụ thể, máy chủ vẫn hoạt động đủ để trả lời nhưng ngay lúc này không thể phục vụ yêu cầu, thường vì quá tải hoặc đang ở chế độ bảo trì.
Từ khóa quan trọng là tạm thời. Đây là điểm phân biệt 503 với các mã khác mà bạn có thể cân nhắc khi trang không khả dụng:
- 200 OK nói “đây là nội dung” — kể cả khi “nội dung” chỉ là thông báo “chúng tôi sẽ sớm quay lại”. Công cụ tìm kiếm hiểu theo nghĩa đen và có thể lập chỉ mục trang lỗi.
- 404 Not Found / 410 Gone nói “trang này không tồn tại / đã bị xóa vĩnh viễn”. Dùng chúng trong lúc bảo trì đồng nghĩa bảo Google loại trang.
- 503 Service Unavailable nói “I exist, I’m just busy — come back later.” (bản dịch) «Tôi vẫn tồn tại, chỉ đang bận — hãy quay lại sau». Đây là mã phù hợp cho thời gian ngừng theo kế hoạch.
Vì sao 503 là lựa chọn đúng khi bảo trì
Khi triển khai phiên bản mới, chuyển máy chủ hoặc bảo trì định kỳ, bạn muốn công cụ tìm kiếm tạm dừng, không phải kết luận rằng các trang đã chết. 503 tạo khoảng dừng đó. Google nói rõ: nếu cần ngừng website trong thời gian ngắn, hãy trả 503, không phải 404 hay trang lỗi mang mã 200.
Hãy hình dung tấm biển “Quay lại sau 10 phút” trên cửa hàng. 404 giống như san phẳng cửa hàng; trang 200 “sắp ra mắt” giống như thay toàn bộ hàng hóa bằng một tấm biển rồi hy vọng khách vẫn nghĩ bạn bán giày. 503 là tấm biển giúp bạn giữ nguyên vị trí.
Header Retry-After
Cùng với 503, bạn có thể gửi header Retry-After để báo gần đúng thời điểm crawler nên quay lại. Giá trị có thể là số giây hoặc ngày/giờ cụ thể:
HTTP/1.1 503 Service Unavailable
Retry-After: 3600Ví dụ đó yêu cầu bot chờ khoảng một giờ. Google có thể dùng giá trị này làm gợi ý cho lần crawl tiếp theo. Bot không nhất thiết quay lại đúng từng giây, nhưng cũng sẽ không quay lại trước thời điểm ấy.
Ba điều không được làm sai
- Đừng trả 503 quá lâu. Một hoặc hai ngày thường ổn; lâu hơn nữa, Google bắt đầu xem sự cố là vĩnh viễn và có thể loại trang.
- Đừng trả 503 cho tệp
robots.txt. Nếu tệp này trả 503, Google không thể crawl bất kỳ thứ gì — kể cả lần kiểm tra để biết website đã hoạt động trở lại. - Đừng thay bằng 404 hoặc trang “sắp quay lại” trả 200. Những mã đó phát tín hiệu sai và có thể gây thiệt hại lớn hơn 503.
Muốn xem ngưỡng thời lượng, nguyên văn phát biểu của Google và cách triển khai theo từng nền tảng? Hãy chuyển sang thẻ Nâng cao.
Tóm tắt — 503 là mã đúng cho tình trạng không khả dụng tạm thời; Google ưu tiên nó hơn 404/410 (vĩnh viễn) hoặc trang lỗi trả 200 (rác có thể được lập chỉ mục). Hãy gửi kèm
Retry-After. Mức trần Google nêu cho 503 toàn website là 1–2 ngày; sau “vài ngày”, Google coi phản hồi là vĩnh viễn và loại URL. 503 cũng đóng băng metadata đã lập chỉ mục — tiêu đề, mô tả và dữ liệu có cấu trúc không được làm mới trong thời gian đó. Tuyệt đối không trả 503 chorobots.txt. Google xử lý 429 và 503 giống nhau khi giảm tốc độ crawl. Khả năng phục hồi sau sự cố dài là cao nhưng không được bảo đảm trở lại y hệt. Nếu cần lâu hơn một hoặc hai ngày, hãy phục vụ trang giữ chỗ trả 200 và có thể lập chỉ mục.
503 là gì — và không phải là gì
503 là tình trạng máy chủ tạm thời, không phải tín hiệu xóa vĩnh viễn. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 Cách Search phản ứng phụ thuộc thời lượng và số lần phản hồi lặp lại; thời gian phục hồi không được bảo đảm. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
RFC 9110 cố ý dùng ngôn ngữ mềm: máy chủ hiện tại không thể xử lý yêu cầu, khả năng khắc phục được mô tả là có thể xảy ra, không chắc chắn, và header Retry-After là tùy chọn — mức MAY, không phải bắt buộc. Tiêu chuẩn không buộc crawler quay lại vào thời điểm cụ thể; máy chủ thậm chí có thể bỏ qua 503 và chỉ từ chối kết nối. Điều này chi phối toàn bộ bài viết: phần dưới mô tả xu hướng trong hành vi crawl và phục hồi của Google, không phải cam kết theo hợp đồng.
503 dành cho tình trạng không khả dụng phía máy chủ mang tính tạm thời. Nó không phải công cụ đa dụng để “ẩn trang”, cũng không thể dùng thay thế tùy ý cho các mã lân cận:
- 404 / 410 — xóa vĩnh viễn. Trong lúc bảo trì, các mã này báo với Google rằng trang đã biến mất và Google sẽ bắt đầu loại chúng (410 nhanh hơn 404 đôi chút).
- 200 kèm nội dung lỗi — trang “chúng tôi sẽ sớm quay lại” trả
200 OKtrông như nội dung thật. Google lập chỉ mục nó; nếu mọi URL trả cùng một trang, Google có thể xem chúng là trùng lặp. - 503 — “tôi vẫn ở đây, chỉ tạm thời không phục vụ được”. Đây là mã duy nhất nói tạm dừng, không phải xóa.
Google thực sự khuyến nghị gì, theo thứ tự
Hướng dẫn hiện hành và được duy trì tích cực của Google (Tạm dừng hoặc vô hiệu hóa website) đưa ra thứ tự ưu tiên mà phần lớn bài viết đối thủ bỏ qua. Hãy bắt đầu từ đây:
1. Đừng tắt toàn bộ website — hãy giới hạn chức năng. Khuyến nghị hàng đầu của Google là giữ website hoạt động và chỉ tắt phần có rủi ro (khóa giỏ hàng, hiển thị banner, cập nhật dữ liệu có cấu trúc / nguồn cấp Merchant Center), vì cách này “minimizes any negative effects on your site’s presence in Search.” (bản dịch) «giảm thiểu mọi tác động tiêu cực đến sự hiện diện của website trên Search». 503 toàn website là phương án dự phòng, không phải mặc định.
2. Nếu buộc phải tắt toàn bộ website: quy tắc 1–2 ngày. Google gọi việc ngừng toàn website là “an extreme measure that should only be taken for a very short period of time (a few days at most),” (bản dịch) «biện pháp cực đoan chỉ nên áp dụng trong thời gian rất ngắn, tối đa vài ngày» và nêu rõ cơ chế: “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (bản dịch) «Nếu cần khẩn cấp vô hiệu hóa website trong 1–2 ngày, hãy trả một trang lỗi cung cấp thông tin với mã HTTP 503 thay cho toàn bộ nội dung».
3. Lâu hơn: chuyển sang trang giữ chỗ 200 có thể lập chỉ mục. Khi đã vượt một hoặc hai ngày, hãy ngừng trả 503. Google viết: “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (bản dịch) «Nếu cần vô hiệu hóa website lâu hơn, hãy cung cấp trang chủ giữ chỗ có thể lập chỉ mục để người dùng tìm thấy trong Search bằng mã HTTP 200».
Phổ thời lượng: không có một ngưỡng cứng duy nhất
Các nguồn Google đưa ra một phổ thời lượng, không phải con số kỳ diệu duy nhất — và đây là chỉ dẫn định hướng, không phải bảo đảm tuân thủ. Con số duy nhất trong tài liệu hiện hành của Google là mức trần 1–2 ngày bên dưới; các mốc phút và ngày là bình luận của nhân viên Google được Search Engine Journal thuật lại từ các phiên office-hours, không phải phát biểu từ nguồn sơ cấp mà bạn có thể dùng để ràng buộc Google.
- Vài phút, thỉnh thoảng. Gary Illyes, qua Search Engine Journal: “Serving a 503 status code for an extended period of time will cause a decrease in crawl rate. Fortunately for you, 10-15 minutes every now and then is not ‘extended’ by any means, so you should be fine.” (bản dịch) «Trả 503 trong thời gian dài sẽ làm giảm tốc độ crawl; 10–15 phút thỉnh thoảng không được coi là dài nên thường không sao».
- Khoảng một ngày. John Mueller, qua Search Engine Journal: “For an outage of maybe a day or so, using a 503 result code is a great way to tell us that we should check back.” (bản dịch) «Với sự cố kéo dài khoảng một ngày, 503 là cách tốt để báo chúng tôi quay lại kiểm tra».
- 1–2 ngày. Mức trần được ghi trong hướng dẫn chính thức hiện hành của Google cho 503 toàn website khẩn cấp — con số duy nhất trong danh sách này đến từ nguồn sơ cấp của Google.
- “Vài ngày” trở lên. Đây là điểm tình hình đổi khác. Mueller, qua Search Engine Journal: “after a couple of days we think this is a permanent result code, and we think your pages are just gone, and we will drop them from the index.” (bản dịch) «Sau vài ngày, chúng tôi coi đây là mã kết quả vĩnh viễn, cho rằng các trang đã biến mất và sẽ loại chúng khỏi chỉ mục».
- Nhiều tuần. Gần như chắc chắn mất chỉ mục; theo tài liệu, phục hồi sau khi bị xóa toàn bộ “no fixed time … and there’s no mechanism to speed that up.” (bản dịch) «không có thời gian cố định… và không có cơ chế để tăng tốc».
Không mốc nào ở trên tạo thành đồng hồ đếm ngược “vùng an toàn”. Chúng mô tả xu hướng, không phải quy tắc bảo đảm kết quả cụ thể — hãy dùng 1–2 ngày làm rìa ngoài để lập kế hoạch, đừng coi mọi khoảng thời gian ngắn hơn là không có rủi ro.
Tác dụng phụ đóng băng metadata mà ít người nhắc đến
Ngay cả 503 ngắn và đúng cách cũng có một chi phí thường bị bỏ sót: khi website trả 503, Google không thể cập nhật dữ liệu hiện có. Tài liệu viết: “it’s not possible for Google’s systems to refresh titles, descriptions, metadata, or structured data included on a website if a page returns a 503 HTTP response status code.” (bản dịch) «Hệ thống Google không thể làm mới tiêu đề, mô tả, metadata hoặc dữ liệu có cấu trúc trên website nếu trang trả mã HTTP 503».
Vì vậy, 503 đóng băng metadata đã lập chỉ mục — không xóa nhưng cũng không cập nhật. Nếu bạn đổi tiêu đề hoặc markup schema ngay trước lúc bảo trì, snippet cũ trên SERP có thể tồn tại suốt khoảng thời gian đó. “An toàn” nghĩa là “không gây hại vĩnh viễn khi diễn ra ngắn”, chứ không phải “vô hình”.
Tuyệt đối không trả 503 cho robots.txt
Đây là lỗi cấu hình rất dễ gặp: một số plugin chế độ bảo trì và rule CDN bao trùm trả 503 cho mọi thứ, kể cả robots.txt. Đừng làm vậy. Google nói rõ: “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” (bản dịch) «Đừng trả mã HTTP 503 cho tệp robots.txt vì việc này chặn toàn bộ hoạt động crawl». robots.txt trả 503 khiến Google không thể crawl bất cứ gì — gồm cả lần crawl lại để xác nhận website đã trở lại. Hãy duy trì 200 cho tệp này ngay cả khi toàn website ngừng hoạt động.
503 so với 429: Google xử lý giống nhau
Mọi người thường tìm “429 hay 503” thay thế cho nhau trong bối cảnh giới hạn tốc độ. Với việc giảm tốc độ crawl, hai mã tương đương trong mắt Google. Mueller viết trên một trang sau này chính ông đánh dấu là cũ: “we treat them both about the same. We see both as a temporary issue, and tend to slow down crawling if we see a bunch of them.” (bản dịch) «Chúng tôi xử lý hai mã gần như giống nhau, coi cả hai là sự cố tạm thời và có xu hướng giảm crawl nếu gặp nhiều phản hồi như vậy». Cùng một logic backoff; cả 429 Too Many Requests lẫn 503 đều bảo Googlebot giảm nhịp. Các mã họ hàng 502/504 — lỗi gateway/timeout tạm thời — cũng được xử lý tương tự: mọi 5xx kéo dài đều làm crawl chậm lại.
Khả năng phục hồi cao — nhưng không được bảo đảm
Điểm phá bỏ ngộ nhận hữu ích nhất: nếu sự cố dài khiến trang bị loại, chúng thường quay lại nhưng không phải lúc nào cũng y hệt. Mueller nói: “when the pages come back we will crawl them again and we will try to index them again. But it’s essentially during that time we will probably drop a lot of the pages from the website from our index, and there’s a pretty good chance that it’ll come back in a similar way but it’s not always guaranteed.” (bản dịch) «Khi trang trở lại, chúng tôi sẽ crawl và cố lập chỉ mục lại; trong thời gian đó nhiều trang có thể bị loại, và khả năng chúng trở lại tương tự là khá cao nhưng không luôn được bảo đảm». Hãy lập kế hoạch bảo trì với giả định rằng phục hồi có thể không hoàn hảo.
Một số câu hỏi thường gặp cần trả lời thẳng
- 503 có hại SEO không? Không đáng kể khi ngắn và triển khai đúng. 503 ngắn kèm
Retry-Afterlà tín hiệu được thiết kế cho thời gian ngừng theo kế hoạch. Tác hại đến từ việc duy trì quá lâu hoặc trả 503 chorobots.txt. - 503 hay 404 tốt hơn khi bảo trì? Luôn là 503. 404 nói “đã biến mất” và bắt đầu quá trình loại khỏi chỉ mục; 503 nói “sẽ sớm trở lại”.
- WordPress có trả 503 khi cập nhật không? Có — WordPress tự động phục vụ 503 trong khi cập nhật core hoặc plugin. Đây là hành vi đúng; khoảng thời gian thường chỉ vài giây.
- Có thể chỉ hiển thị trang “sắp quay lại” với mã 200 không? Không. Trang lỗi 200 được lập chỉ mục như nội dung; nếu giống nhau trên mọi URL, Google có thể coi các URL đó là trùng lặp.
Quy tắc duy nhất cần nhớ
Mức trần Google nêu cho 503 toàn website khẩn cấp là 1–2 ngày — hãy coi đó là rìa ngoài để lập kế hoạch, không phải khoảng thời gian được bảo đảm an toàn. Ngay trong khoảng này, 503 vẫn làm chậm crawl và đóng băng metadata; không nội dung nào ở đây hứa hẹn kết quả cụ thể về xếp hạng, lập chỉ mục hay phục hồi. Vượt mức trần, hãy chuyển sang trang giữ chỗ 200 có thể lập chỉ mục trước khi Google kết luận các trang đã biến mất. Mọi chi tiết khác trong bài đều xoay quanh quy tắc đó.
Để tìm hiểu các mã lân cận, xem phần còn lại của cụm mã trạng thái HTTP.
Tóm tắt cho AI
Bản cô đọng của phần Nâng cao:
- 503 = không khả dụng tạm thời. Đây là mã đúng cho bảo trì dự kiến; Google ưu tiên nó hơn 404/410 (vĩnh viễn) và trang lỗi 200 (được lập chỉ mục như nội dung, thường thành bản trùng lặp).
- Gửi kèm
Retry-After(số giây hoặc ngày HTTP), dù RFC 9110 quy định header này là tùy chọn ở mứcMAY. Googlebot có thể dùng làm gợi ý thời điểm crawl lại và giảm tốc độ crawl, nhưng không gì buộc bot quay lại đúng thời điểm. - Thời lượng là một phổ, không phải bảo đảm: con số duy nhất trong tài liệu hiện hành của Google là 1–2 ngày, mức trần cho 503 khẩn cấp trên toàn website. Bình luận của nhân viên Google do Search Engine Journal thuật lại coi cửa sổ ngắn (10–15 phút, khoảng một ngày) nhìn chung ổn và “vài ngày” trở lên là lúc Google bắt đầu xem 503 là vĩnh viễn rồi loại trang; đây là chỉ dẫn định hướng, không phải cam kết nguồn sơ cấp. Với thời gian ngừng dài hơn, hãy phục vụ trang giữ chỗ 200 có thể lập chỉ mục.
- Metadata bị đóng băng: khi phục vụ 503, Google không thể làm mới tiêu đề, mô tả hoặc dữ liệu có cấu trúc, nên snippet cũ có thể tồn tại.
- Không bao giờ trả 503 cho
robots.txt— việc đó chặn toàn bộ crawl, kể cả lần xác nhận website đã trở lại. - 429 ≈ 503 trong cơ chế giảm tốc độ crawl; Google xử lý chúng giống nhau.
- Khả năng phục hồi sau sự cố dài là cao nhưng “không luôn được bảo đảm” trở lại 1:1 (Mueller); mất toàn bộ chỉ mục không có thời gian phục hồi cố định.
- Thông lệ tốt nhất: khuyến nghị hàng đầu của Google là tránh tắt toàn website — hãy giới hạn chức năng và duy trì hoạt động.
Tài liệu chính thức
Hướng dẫn nguồn sơ cấp về 503 và thời gian ngừng theo kế hoạch.
- Tạm dừng hoặc vô hiệu hóa website — hướng dẫn chuẩn hiện hành của Google: thứ tự ưu tiên, quy tắc 1–2 ngày,
Retry-After, ngoại lệ robots.txt, lưu ý đóng băng metadata và mẹo xác minh bằng curl. - Cách xử lý thời gian ngừng website theo kế hoạch (bài blog năm 2011) — bài viết gốc, nay có banner “đã cũ, xem thông lệ tốt nhất”; là nguồn của ví dụ PHP
Retry-Afterkinh điển. - Hướng dẫn chuyên sâu về cách Google Search hoạt động — bối cảnh về giảm tốc độ crawl: lỗi họ HTTP 500 nghĩa là “hãy chậm lại”.
RFC / tài liệu kỹ thuật
- MDN — 503 Service Unavailable — định nghĩa dựa trên tiêu chuẩn của mã trạng thái.
- MDN — header Retry-After — cú pháp dạng số giây và ngày HTTP.
Bing / Microsoft
- Bing không công bố hướng dẫn 503 dành cho bảo trì chi tiết như Google.
Retry-Afterlà header RFC tiêu chuẩn, không dành riêng cho Google; Bingbot cũng giảm tốc độ crawl khi nhận nhiều phản hồi5xx/429, nhưng nên xem mọi hành vi cụ thể của Bing là suy luận từ ngữ nghĩa HTTP chuẩn thay vì phát biểu được ghi nhận.
Trích dẫn từ nguồn
Các phát biểu công khai của Google. Mỗi liên kết dẫn thẳng đến đoạn được trích trên trang nguồn.
Tài liệu Google — quy tắc 1–2 ngày
- “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (bản dịch) «Nếu cần khẩn cấp vô hiệu hóa website trong 1–2 ngày, hãy trả trang lỗi cung cấp thông tin với mã HTTP 503 thay cho toàn bộ nội dung.» Đi đến trích dẫn
- “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (bản dịch) «Nếu cần vô hiệu hóa website lâu hơn, hãy cung cấp trang chủ giữ chỗ có thể lập chỉ mục để người dùng tìm thấy trong Search bằng mã HTTP 200.» Đi đến trích dẫn
Tài liệu Google — robots.txt và metadata
- “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” (bản dịch) «Đừng trả mã HTTP 503 cho tệp robots.txt vì việc này chặn toàn bộ hoạt động crawl.» Đi đến trích dẫn
- “it’s not possible for Google’s systems to refresh titles, descriptions, metadata, or structured data included on a website if a page returns a 503 HTTP response status code.” (bản dịch) «Hệ thống Google không thể làm mới tiêu đề, mô tả, metadata hoặc dữ liệu có cấu trúc nếu trang trả mã HTTP 503.» Đi đến trích dẫn
- “removing a site completely from Google’s index is a significant change that can take quite some time to recover from.” (bản dịch) «Xóa hoàn toàn website khỏi chỉ mục Google là thay đổi lớn và có thể mất khá nhiều thời gian để phục hồi.» Đi đến trích dẫn
Google Search Central Blog (2011)
- “instead of returning an HTTP result code 404 (Not Found) or showing an error page with the status code 200 (OK) when a page is requested, it’s better to return a 503 HTTP result code (Service Unavailable) which tells search engine crawlers that the downtime is temporary.” (bản dịch) «Thay vì trả HTTP 404 hoặc hiển thị trang lỗi với mã 200, tốt hơn là trả HTTP 503 để báo cho crawler rằng thời gian ngừng chỉ là tạm thời.» Đi đến trích dẫn
- “If known, the length of the downtime in seconds or the estimated date and time when the downtime will be complete can be specified in an optional Retry-After header, which Googlebot may use to determine when to recrawl the URL.” (bản dịch) «Nếu biết, thời lượng ngừng tính bằng giây hoặc ngày giờ dự kiến hoàn tất có thể được ghi trong header Retry-After tùy chọn để Googlebot cân nhắc thời điểm crawl lại URL.» Đi đến trích dẫn
John Mueller, Google
- “please return a ‘503 Service unavailable’ HTTP result code… they’re generally more than happy to give your site some time to catch up again.” (bản dịch) «Hãy trả mã HTTP 503 Service unavailable… nhìn chung họ sẵn lòng cho website thêm thời gian để bắt kịp.» Đi đến trích dẫn Từ johnmu.com/503s/ (2013), bản Mueller tự đăng lại từ một bài Google+. Trang hiện dùng dấu nháy kiểu chữ, nên deep link được giữ ngắn để bảo đảm khớp chính xác.
- “we treat them both about the same. We see both as a temporary issue, and tend to slow down crawling if we see a bunch of them.” (bản dịch) «Chúng tôi xử lý hai mã gần như giống nhau, xem cả hai là sự cố tạm thời và có xu hướng giảm crawl nếu gặp nhiều phản hồi như vậy.» (về 429 so với 503) Đi đến trích dẫn Từ johnmu.com/429-or-503/ (2015), một trang chính Mueller đánh dấu là “cũ, có lẽ đã lỗi thời”.
- “after a couple of days we think this is a permanent result code, and we think your pages are just gone, and we will drop them from the index.” (bản dịch) «Sau vài ngày, chúng tôi coi đây là mã kết quả vĩnh viễn, cho rằng các trang đã biến mất và sẽ loại chúng khỏi chỉ mục.» Đi đến trích dẫn Search Engine Journal thuật lại từ một phiên office-hours/Q&A của Search Central; hãy đối chiếu bản gốc trước khi coi là kết luận cuối.
Gary Illyes, Google
- “Serving a 503 status code for an extended period of time will cause a decrease in crawl rate. Fortunately for you, 10-15 minutes every now and then is not ‘extended’ by any means, so you should be fine.” (bản dịch) «Trả 503 trong thời gian dài sẽ làm giảm tốc độ crawl. May là 10–15 phút thỉnh thoảng hoàn toàn không được xem là dài, nên thường không sao.» Đi đến trích dẫn Search Engine Journal thuật lại từ một phiên SEO office-hours của Google Search Central.
Checklist 503 cho bảo trì theo kế hoạch
Hãy chạy danh sách này trước, trong và sau cửa sổ bảo trì:
- Đã quyết định có thật sự cần tắt toàn bộ website không — liệu có thể giới hạn chức năng và duy trì hoạt động (lựa chọn Google ưu tiên)?
- Trang bảo trì trả mã
503thật, được xác minh bằng curl chứ không chỉ nhìn trong trình duyệt. - Đã đặt header
Retry-After(số giây hoặc ngày HTTP) với ước tính thực tế. -
robots.txtvẫn trả200và truy cập được — không bao giờ trả 503. - Trang 503 nhẹ: HTML tĩnh, CSS nội tuyến, không có tài nguyên nặng vì bot sẽ yêu cầu lặp lại.
- Có hạn chót nội bộ để chuyển sang trang giữ chỗ 200 có thể lập chỉ mục nếu cửa sổ vượt khoảng 1–2 ngày.
- Không trang nào trả
404/410hoặc trang “sắp quay lại” trả200thay cho 503. - Theo dõi Lập chỉ mục trang và Số liệu thống kê thu thập dữ liệu trong Search Console để phát hiện đỉnh
5xxtrong và sau cửa sổ. - Sau bảo trì: xác nhận trang trở lại
200, yêu cầu crawl mới qua Kiểm tra URL cho URL quan trọng và xác minh metadata/snippet đã được làm mới.
SOP: Đưa website vào chế độ bảo trì theo kế hoạch đúng cách
Quy trình lặp lại được cho một cửa sổ bảo trì ngắn và an toàn.
Trước cửa sổ bảo trì
- Quyết định phạm vi. Nếu có thể giữ website hoạt động và chỉ tắt phần rủi ro (giỏ hàng, thanh toán, tính năng lỗi), hãy làm vậy — đây là khuyến nghị hàng đầu của Google và tránh mọi rủi ro bên dưới. Chỉ dùng 503 toàn site khi thật sự phải đưa mọi thứ ngoại tuyến.
- Ước tính trung thực thời lượng. Nếu thực tế có thể quá 1–2 ngày, đừng lập kế hoạch 503 toàn website; hãy chuẩn bị trang chủ giữ chỗ
200có thể lập chỉ mục. - Tạo trang bảo trì nhẹ. HTML tĩnh, CSS nội tuyến, ảnh base64 hoặc không ảnh. Bot và người dùng sẽ truy cập lặp lại, nên trang không được gây thêm tải máy chủ.
Cấu hình phản hồi
- Trả 503 thật cho nội dung website. Ví dụ:
- Apache (
.htaccess): chuyển mọi yêu cầu sang trang bảo trì và ép mã trạng thái —RewriteEngine On RewriteCond %{REQUEST_URI} !^/maintenance.html$ RewriteCond %{REQUEST_URI} !^/robots.txt$ RewriteRule ^ /maintenance.html [R=503,L] ErrorDocument 503 /maintenance.html Header always set Retry-After "3600" - Nginx:
location / { return 503; } error_page 503 /maintenance.html; location = /maintenance.html { internal; add_header Retry-After 3600; } location = /robots.txt { } # keep robots.txt serving 200 - PHP (dạng ví dụ của Google):
header('HTTP/1.1 503 Service Unavailable'); header('Retry-After: 3600');
- Apache (
- Đặt
Retry-Aftertheo ước tính thực tế — số giây (3600) hoặc ngày HTTP. - Miễn trừ
robots.txt. Bảo đảmrobots.txtvẫn trả200như các điều kiện rewrite bên trên. Đây là bước thường bị bỏ sót nhất.
Xác minh
- Xác nhận mã trạng thái bằng curl, không phải trình duyệt:
curl -I -X GET "https://www.example.com/" # expect: HTTP/1.1 503 Service Unavailable + Retry-After: ... curl -I "https://www.example.com/robots.txt" # expect: HTTP/1.1 200 OK
Trong và sau bảo trì
- Theo dõi thời gian. Khi gần mức trần 1–2 ngày, hãy chuyển sang trang giữ chỗ
200có thể lập chỉ mục trước khi Google coi 503 là vĩnh viễn. - Khôi phục website. Xóa rule 503 và xác nhận trang trả lại
200. - Kiểm tra lại. Dùng Kiểm tra URL trong GSC cho trang quan trọng, theo dõi Số liệu thống kê thu thập dữ liệu đến khi đỉnh
5xxgiảm và xác nhận tiêu đề/mô tả/dữ liệu có cấu trúc được làm mới vì chúng đã bị đóng băng trong thời gian 503.
Những điều không nên làm — và ngộ nhận đằng sau
Ngộ nhận: “503 quá vài ngày vẫn hoàn toàn an toàn miễn là dùng Retry-After.”
Retry-After tăng độ chính xác nhưng không vượt qua mức trần của Google. Tài liệu giới hạn 503 toàn website khẩn cấp ở 1–2 ngày; Mueller nói: “after a couple of days we think this is a permanent result code… and we will drop them from the index.” (bản dịch) «Sau vài ngày, chúng tôi coi đây là mã kết quả vĩnh viễn… và sẽ loại các trang khỏi chỉ mục». Hãy chuyển sang trang giữ chỗ 200 trước khi tới điểm đó.
Ngộ nhận: “503 không có bất kỳ tác động SEO nào nếu triển khai đúng.” Ngay cả 503 ngắn và đúng cách cũng tạm dừng làm mới metadata — tiêu đề, mô tả và dữ liệu có cấu trúc không thể cập nhật — đồng thời khiến tốc độ crawl giảm. “An toàn” nghĩa là “không gây hại vĩnh viễn khi ngắn”, chứ không phải “vô hình”.
Ngộ nhận: “404 hoặc trang 200 ‘sắp quay lại’ cũng tốt như nhau khi bảo trì.”
Không. 404/410 báo hiệu xóa vĩnh viễn và khiến trang bị loại nhanh hơn. Trang lỗi 200 bao trùm được lập chỉ mục như nội dung; nếu mọi URL trả cùng trang, Google có thể coi chúng là trùng lặp.
Ngộ nhận: “Nên trả 503 cho cả robots.txt để làm cho triệt để.”
Hoàn toàn ngược lại. robots.txt trả 503 chặn toàn bộ crawl, gồm lần crawl lại để xác nhận website đã hoạt động. Hãy giữ mã 200.
Ngộ nhận: “Nếu Google loại trang trong thời gian ngừng, chúng sẽ quay lại y hệt.” Khả năng cao, nhưng “not always guaranteed” (bản dịch) «không luôn được bảo đảm» (Mueller); phục hồi sau khi bị xóa toàn bộ không có lịch cố định và không có cách tăng tốc.
Ngộ nhận: “429 và 503 là hai tín hiệu hoàn toàn khác.” Với việc giảm tốc độ crawl, Google “treat[s] them both about the same.” (bản dịch) «xử lý cả hai gần như giống nhau».
Phản mẫu cần ghi nhớ: phục vụ trang “đang bảo trì” mang 200 OK trần trụi. Đây là lỗi phổ biến nhất và cũng là lỗi Google cảnh báo trực tiếp nhất.
Bảng tra nhanh 503 cho bảo trì
Mã nào cho tình huống nào
| Tình huống | Mã | Lý do |
|---|---|---|
| Bảo trì dự kiến ngắn (≤ 1–2 ngày) | 503 + Retry-After | “Tạm thời — hãy quay lại” |
| Bảo trì lâu hơn 1–2 ngày | Trang giữ chỗ 200 có thể lập chỉ mục | 503 sẽ bị hiểu là vĩnh viễn |
| Trang bị xóa vĩnh viễn | 404 / 410 | Xóa thật sự |
| Chỉ tắt giỏ hàng / một tính năng | duy trì 200, giới hạn chức năng | Khuyến nghị hàng đầu của Google |
| Máy chủ quá tải / giới hạn tốc độ | 503 hoặc 429 | Google xử lý giống nhau |
Phổ thời lượng
| Khoảng thời gian | Đánh giá |
|---|---|
| 10–15 phút, thỉnh thoảng | Ổn (Illyes) |
| Khoảng một ngày | Ổn (Mueller) |
| 1–2 ngày | Mức trần Google ghi nhận cho 503 toàn website |
| “Vài ngày” trở lên | Google coi 503 là vĩnh viễn — trang bị loại |
| Nhiều tuần | Gần như chắc chắn mất chỉ mục; không có thời gian phục hồi cố định |
Hàng 1–2 ngày là mức trần trong tài liệu hiện hành của chính Google. Các hàng theo phút và ngày là bình luận của nhân viên Google được Search Engine Journal thuật lại, không phải tài liệu Google nguồn sơ cấp — hãy đọc phổ này như chỉ dẫn định hướng, không phải cửa sổ tuân thủ được bảo đảm an toàn.
Các dạng Retry-After
- Số giây:
Retry-After: 3600 - Ngày HTTP:
Retry-After: Sat, 8 Oct 2011 18:27:00 GMT
Quy tắc không được quên
robots.txtgiữ mã 200 — tuyệt đối không trả 503.- Trang 503 dùng HTML tĩnh và CSS nội tuyến vì bot truy cập lặp lại.
- 503 đóng băng tiêu đề/mô tả/schema đã lập chỉ mục — chúng không được làm mới.
- Xác minh bằng
curl -I, không phải trình duyệt.
Xác minh 503 của bạn thật sự là 503
Trình duyệt có thể hiển thị trang bảo trì trong khi máy chủ âm thầm trả 200. Hãy kiểm tra mã trạng thái và header thật bằng curl.
macOS / Linux
# Site content should return 503 with a Retry-After header
curl -I -X GET "https://www.example.com/"
# expect: HTTP/1.1 503 Service Unavailable
# Retry-After: 3600
# robots.txt must stay reachable (200), NOT 503
curl -I "https://www.example.com/robots.txt"
# expect: HTTP/1.1 200 OKWindows (PowerShell)
# -SkipHttpErrorCheck lets PowerShell show the 503 instead of throwing
(Invoke-WebRequest -Uri "https://www.example.com/" -Method Head -SkipHttpErrorCheck).StatusCode
(Invoke-WebRequest -Uri "https://www.example.com/robots.txt" -Method Head).StatusCodePhản hồi 503 tối giản
PHP (dạng ví dụ của Google)
<?php
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600'); // or an HTTP date: 'Sat, 8 Oct 2011 18:27:00 GMT'
?>
<!DOCTYPE html>
<title>We'll be right back</title>
<h1>Down for scheduled maintenance</h1>
<p>We expect to be back within the hour. Thanks for your patience.</p>Nginx (nội dung trả 503, miễn trừ robots.txt)
location / {
return 503;
}
error_page 503 /maintenance.html;
location = /maintenance.html {
internal;
add_header Retry-After 3600;
}
location = /robots.txt { } # keep serving robots.txt normally (200)Giữ trang bảo trì ở dạng tĩnh với CSS nội tuyến và không có tài nguyên nặng — bot sẽ yêu cầu lặp lại, và bạn không muốn chính trang này làm máy chủ quá tải.
Công cụ xử lý và kiểm tra 503
curl -I— cách nhanh nhất để xác nhận mã trạng thái thật và headerRetry-After; trình duyệt có thể che giấu sự thật. Xem thẻ Script.- Google Search Console — Kiểm tra URL — xem trạng thái ở lần crawl gần nhất của URL cụ thể và yêu cầu crawl mới khi website trở lại.
- GSC — báo cáo Số liệu thống kê thu thập dữ liệu — theo dõi đỉnh
5xx/503trong cửa sổ và xác nhận nó giảm sau đó. - GSC — báo cáo Lập chỉ mục trang — phát hiện trang bị loại nếu cửa sổ kéo dài.
- Screaming Frog SEO Spider — crawl website để xác nhận URL nào trả 503 hay 200 và bảo đảm
robots.txtkhông trả 503. - Ahrefs Site Audit / Ahrefs Webmaster Tools — phát hiện phản hồi
5xxtrên toàn website để tìm 503 còn sót quá thời gian bảo trì. - Plugin chế độ bảo trì WordPress (ví dụ WP Maintenance Mode) — WordPress vốn tự trả 503 khi cập nhật core/plugin; plugin cung cấp trang bảo trì có kiểm soát, nhưng phải xác nhận nó không trả 503 cho
robots.txt.
Tài nguyên đáng xem
Bài viết liên quan của tôi
- Mã trạng thái HTTP: Danh sách đầy đủ cho SEO — hướng dẫn đầy đủ về các mã quan trọng cho SEO, đặt 503 trong bối cảnh
5xx; bài chuyên đề này mở rộng phần tóm tắt một dòng ở đó. - Hướng dẫn nhập môn SEO kỹ thuật — cách crawl, mã trạng thái và bảo trì nằm trong bức tranh lớn.
Nguồn trong ngành
- Tạm dừng hoặc vô hiệu hóa website (Google Search Central) — hướng dẫn chuẩn hiện hành; nên đọc đầu tiên.
- Cách xử lý thời gian ngừng website theo kế hoạch (Google Search Central Blog, 2011) — bài gốc và ví dụ PHP
Retry-Afterkinh điển. - 503s (John Mueller, johnmu.com) — giải thích dễ hiểu của Mueller về lý do nên trả 503 khi website ngừng.
- Google nói về tác động SEO của mã 503 (Search Engine Journal) — Gary Illyes về dữ liệu “10–15 phút vẫn ổn”.
- Google sẽ loại trang khỏi chỉ mục nếu website ngừng nhiều ngày (Search Engine Journal) — ngưỡng “vài ngày… chúng tôi sẽ loại trang” của Mueller.
- HTTP 503: Xử lý bảo trì website đúng cách cho SEO (Yoast) — hướng dẫn thực tế theo phong cách WordPress về cơ chế
Retry-After. - 503 Service Unavailable (MDN) — tài liệu tiêu chuẩn cho chính mã trạng thái.
Video
- Google Search Central (YouTube) — loạt How Google Search Works và kho lưu trữ SEO office-hours, nơi Mueller và Illyes trả lời các câu hỏi về 503/bảo trì và thời điểm loại khỏi chỉ mục được trích trong bài. Kênh
Số liệu đáng trích dẫn
- 1–2 ngày — mức trần Google ghi nhận cho 503 toàn website trong thời gian ngừng khẩn cấp; sau đó hãy chuyển sang trang giữ chỗ 200. Nguồn
- Thỉnh thoảng 10–15 phút = ổn — Gary Illyes về một cửa sổ 503 ngắn đến mức không làm giảm tốc độ crawl. Nguồn
- “Vài ngày” — thời điểm Google bắt đầu coi 503 là vĩnh viễn và loại trang khỏi chỉ mục, theo John Mueller. Nguồn
- Không có thời gian phục hồi cố định — tài liệu Google về phục hồi sau khi website bị xóa hoàn toàn khỏi chỉ mục: không có lịch định sẵn và không có cách tăng tốc. Nguồn
Tự kiểm tra: 503 Service Unavailable
Năm câu hỏi nhanh về cách dùng 503 cho bảo trì theo kế hoạch. Chọn đáp án cho từng câu rồi kiểm tra.
Nhật ký thay đổi
Đã cập nhật 22 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 9 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 17 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
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.