When taking a Joomla! website offline (in the Global Configuration), the '200 OK' HTTP Status Code is returned. This is incorrect for a website that is 'down for maintenance' and, as a result, search engines could start to cache your offline message for every page of your website that it knows about.

Solution

Simple solution is some extra PHP code in offline.php in the System template (and all default templates) as follows:

This will return the '503 Service Temporarily Unavailable' status code, which is correct for a site in this state. You can also specify, in seconds, to crawlers how long to wait before trying to access the site again ('Retry-After').

If my site is down for maintenance, how can I tell Googlebot to come back later rather than to index the "down for maintenance" page?
You should configure your server to return a status of 503 (network unavailable) rather than 200 (successful). That lets Googlebot know to try the pages again later.