Mã trạng thái HTTP chính xác để gửi khi trang web ngừng hoạt động để bảo trì là gì?


87

Có mã trạng thái HTTP để yêu cầu Google (và những người khác) biến mất, lập chỉ mục lại cho tôi sau không?

Về cơ bản, một trong những ngữ nghĩa cho khách hàng biết rằng trang web ngừng hoạt động để bảo trì?

Những người tôi đã xem xét là

304 => Not modified
307 => Temporary redirect
410 => Gone
503 => Service Unavailable

Tôi đang nghiêng về cái cuối cùng, nhưng chỉ tò mò không biết cái nào là sự lựa chọn thích hợp .

Câu trả lời:


113

HTTP 503 - Dịch vụ Không khả dụng sẽ là lựa chọn thích hợp nhất.

Máy chủ Web (đang chạy trang Web) hiện không thể xử lý yêu cầu HTTP do máy chủ tạm thời quá tải hoặc bảo trì. Hàm ý rằng đây là một tình trạng tạm thời sẽ được giảm bớt sau một thời gian trì hoãn.

Bài đăng này trên Diễn đàn trung tâm quản trị trang web của Google cũng có liên quan:

Có - 503 là phản hồi chính xác của máy chủ cho "Chúng tôi đã đóng cửa". Nếu bạn thay thế một trang HTML thông thường có nội dung "Chúng tôi đã đóng cửa" và cung cấp 200 thì rất có thể Google sẽ lập chỉ mục.

Nếu bạn cung cấp cho Googlebot 503, nó sẽ biến mất và quay lại sau mà không lập chỉ mục những gì bạn cung cấp cho nó.


CẬP NHẬT:

Đối với việc triển khai php, bạn có thể quan tâm xem bài viết sau:

Cũng lưu ý đến retry-aftertiêu đề, nơi bạn có thể chỉ định sau bao nhiêu giây một yêu cầu khác sẽ được thử lại.


Có vẻ như tính năng này không còn hoạt động với http2 nữa - khi tôi gửi 503 cùng với trang bảo trì, Chrome sẽ hiển thị ERR_HTTP2_PROTOCOL_ERROR. Nếu tôi gửi 200, mọi thứ đều ổn
Xosofox


3

Tôi coi 503 là thích hợp nhất, vì nhóm 5xx nói chung dành cho các lỗi máy chủ.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.