While performing some upcoming maintenance, I'm going to have to redirect all site traffic to a maintenance page briefly. What's the proper status code to use for the redirect?
503 makes sense, but it's not technically a redirection status. 302 is a temp redirect, but wondering if that might have implications if the site is being spidered at the time.
I would use 503, too, combined with a Retry-After header. A proper robot should know how to handle this.
302 Found would probably be the classic way - not a permanent redirect. You want it to be temporary though, so when the spider came back, it would try it again, but which time, it should be back up. A 301 would indicate to not go to the original.
The 500 series are errors, not what you want to indicate.
Use 503, and if you want to redirect, do it via JavaScript on the served page.
Just be careful not to lose the original URL (save it as a query parameter, for example), as users are expecting to return to the page they were looking for when the maintenance is done.