Is there a HTTP status code to tell Google (and others) to go away, index me again later?
Basically, one that semantically tells clients that the site is down f
HTTP 503 - Service Unavailable would be the most appropriate.
The Web server (running the Web site) is currently unable to handle the HTTP request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.
This post on the Google Webmaster Central Forum is also relevant:
Yes - a 503 is the correct server response for "We're closed". If you substitute a normal HTML page saying "We're closed" and serve a 200 it's very likely to get indexed by Google.
If you give the Googlebot a 503, it will just go away and come back later without indexing what you give it.
UPDATE:
As for the php implementation, you may be interested in checking out the following article:
Also notice the retry-after header, where you can specify after how many seconds another request should be re-attempted.