Occasionally, we will need to make changes to our application that requires downtime. The proper way to do this is to put up a maintenance page that displays a friendly message and respond to all the incoming HTTP requests with a 503 Service Unavailable status.
Doing this will keep our users informed and also avoid any negative SEO effects. Search engines understand that when they receive a 503 response, they should come back later to recrawl the site. If we didn't use a maintenance page and our application returned a 404 or 500 error instead, it's possible that a search engine crawler might remove the page from their index.
How to do it...
Let's open up a terminal and navigate to one of our Heroku projects to begin with, using the following steps:
We can view if our application's maintenance page is currently enabled with the maintenance command:
$ heroku maintenance off
Let's try turning it on. This will stop traffic from being routed to our dynos and show the maintenance page as follows:
$ heroku maintenance:onEnabling maintenance mode for load-tester-rails... done
Now, if we visit our application, we'll see the default Heroku maintenance page:
To disable the maintenance page and resume sending users to our application, we can use the maintenance:off command:
$ heroku maintenance:offDisabling maintenance mode for load-tester-rails... done
See also
To learn how to customize the maintenance page, take a look at Chapter 4, Production-ready with Heroku