Uma maneira é usar a extensão Url-Rewrite .
Você pode usar uma regra como essa para capturar todas as solicitações:
<system.webServer>
...
<rewrite>
<rules>
<rule name="SiteDown" stopProcessing="true">
<match url=".*" />
<action type="CustomResponse" statusCode="503" statusReason="Down for maintenance" statusDescription="will be back up soon" />
</rule>
</rules>
</rewrite>
</system.webServer>
Isso cuida dos mecanismos de pesquisa. Para os usuários, você pode adicionar o seguinte:
<system.webServer>
...
<httpErrors existingResponse="Auto" errorMode="Custom" defaultResponseMode="File">
<remove statusCode="503" subStatusCode="-1" />
<error statusCode="503" path="503.html" />
</httpErrors>
</system.webServer>
e, em seguida, coloque um arquivo 503.html na raiz do seu site que tenha uma boa mensagem de erro. Porque você não pode usar estilos ou imagens na página que estão no próprio site, você precisa vincular a outro site ou colocar todos os estilos e imagens em linha na página html.