Web

What Should a Maintenance Mode Page Look Like? 503, Retry-After and Messaging

Talha Aslan 17 min read 1 views

Short answer

What should a maintenance mode page look like?

A maintenance mode page is the temporary screen visitors see while a site is briefly offline for work. A good one sends search engines a 503 status code with a Retry-After header. For people, it says what is happening, when it ends, and how to reach you in the meantime.

Keep reading for the full details and examples

We at Talha Aslan and team have built this screen for years during redesigns, server moves, and large updates. The most common problem we find is simple. The page looks fine, but the server quietly returns a 200 status code. As a result, Google may treat the maintenance screen as the real content of the site. This guide covers the technical side, the copy, and the design together. If you want the general causes of 503 errors, read our 503 Service Unavailable guide. Here we focus only on planned maintenance.

Why should a maintenance mode page return 503 instead of 200?

An HTTP status code is a short label the server attaches to every response. A 200 means "all good, here is the content." A 503 means "the service is temporarily unavailable." If your maintenance screen returns 200, a search engine may read it as the new version of the page. Then a line like "We will be right back" could replace your product title in the index.

Google explicitly recommends 503 for temporary closures. The Google Search Central guide on pausing an online business suggests a 503 error page and static HTML for urgent, short closures. In addition, 5xx codes tell Googlebot to slow down crawling for a while. So your server also avoids extra load during the work.

  • Maintenance screen with 200: Search engines may mistake temporary text for permanent content.
  • 302 redirect to one maintenance URL: Every address flows to a single page, and the signals get mixed.
  • Maintenance screen with 404: It says the page no longer exists, which is the wrong message.
  • Maintenance screen with 503: It describes the temporary state correctly and follows the recommended path.

What does the Retry-After header do?

Retry-After is an HTTP header that the server adds to a 503 response. It tells the client when to try again. According to the MDN reference for Retry-After, the header takes two forms: a delay in seconds or an exact date and time. MDN also notes that some crawlers, such as Googlebot, honor it.

In practice, you have three things to decide:

  1. Seconds value: If you can estimate the duration, write a number such as 3600, which means one hour.
  2. Date value: If you know the end time, give an exact time in GMT format.
  3. Realistic estimate: Keep the window a little generous. A crawler that returns early and sees another 503 gains nothing.

That said, Retry-After is not a promise. Google's guide asks for your best estimate in this header. Therefore, update the value if the work runs long. Never leave a date that has already passed.

How long can a maintenance mode page stay up before it hurts search visibility?

In short, a few hours up to a day or two is usually the safe zone. Anything longer, however, carries risk. Google's documentation on reducing crawl rate advises against using 500, 503, or 429 for longer than one or two days. The same page warns that URLs may drop from the index if Googlebot sees these codes on them for multiple days.

Moreover, the pause guide calls a full shutdown an extreme measure for a very short period, a few days at most. It also says that ramping back up after a long break is significantly harder. On top of that, Google cannot refresh titles, descriptions, or structured data while the site returns 503.

Our field experience therefore points the same way. Still, read this as a starting benchmark, not a guarantee. If you can measure the work in hours, a 503 is the right tool. If you measure it in days, plan partial maintenance instead of a full closure. For the broader crawl picture, see our article on why Googlebot crawls less.

Why should robots.txt never return 503 during maintenance?

This is the detail people skip most often. Many maintenance plugins and server rules return 503 for every single URL. As a result, robots.txt gets a 503 too. Google's pause guide says plainly not to do this, because a 503 on robots.txt blocks all crawling.

Why does it matter so much? According to Google's robots.txt specification, a 5xx on robots.txt makes Google stop crawling the site for the first 12 hours. During that time it only keeps retrying the robots.txt file. For the next 30 days, it falls back to the last good copy. In other words, even a short maintenance window can open a longer crawl gap than you expect.

So add these exceptions to your maintenance rule:

  • Serve robots.txt normally with a 200 status.
  • Leave sitemap files open unless you have a reason to close them.
  • Load the stylesheet, logo, and font of the maintenance page with 200, or the screen will look broken.
  • Exclude your own team's IP address so you can test on the live site.

What message should a maintenance mode page give visitors?

A good message answers four questions briefly. What is happening? Why? When will it end? What can I do now? A visitor should find all four answers within a few seconds. However, a long apology or a technical explanation does not help here.

A sample structure could look like this:

  1. Headline: One sentence that states the situation, such as "We are updating our site."
  2. Explanation: One or two sentences on why you are offline. For example, you are upgrading the payment system.
  3. Timing: The estimated end time and the time zone.
  4. Alternative: A channel that stays open, such as phone, email, or a store address.
  5. Reassurance: Whether existing orders or bookings are affected.

Also, match the tone to your brand voice. Think twice before you add a joke, though. A playful error screen can annoy a customer whose order just got stuck. In short, clear, calm, and respectful language is the safe choice in every industry.

After you write the copy, read it out loud. Every sentence that trips you up will trip up the visitor as well. Remove technical terms, version numbers, and internal team jargon. Visitors do not care about a "database migration." They want to know when they can shop again.

How should you show timing on a maintenance mode page?

In practice, timing decides whether a visitor comes back. "Back soon" says nothing. By contrast, "We reopen today at 2:00 p.m. (Eastern Time)" lets the reader plan.

Keep these points in mind when you write the time:

  • Always state the time zone. International visitors need it.
  • If you cannot give an exact time, give a range, such as "between 1:00 and 3:00 p.m."
  • Also, make the time on the page match the Retry-After value.
  • Update the copy right away if the work runs long. A time in the past erodes trust.

On the other hand, a countdown timer looks tempting, but be careful. If the timer hits zero while the site is still down, visitors read it as a failure. So a plain time is usually more honest than a countdown. If you do use one, make it switch to a line such as "We are running final checks" when it reaches zero.

How do you offer alternative contact channels during downtime?

Your business keeps running during maintenance. Therefore, leave a path for urgent needs. For example, a clinic can show its booking phone line. An online store can show its support email, and a restaurant can show its order line.

When you present the channels, check these points:

  • Make the phone number a tappable link so mobile users can call with one tap.
  • Show the email address as plain text too. Some users prefer to copy it.
  • If your social media accounts carry a maintenance notice, link to it.
  • List the hours of each open channel so a late caller does not hit a dead end.

Also, never link from the maintenance page to a contact form that is down. That sends the visitor to a second error screen. Likewise, hide your live chat widget if it goes offline along with the rest of the stack.

How should you design a maintenance mode page?

The maintenance screen must work independently of the rest of the site. That is why Google recommends static HTML. A page that depends on the database, the content management system, or heavy scripts may break exactly during maintenance. So a single HTML file, a small inline stylesheet, and a light logo are enough.

Here is what we recommend on the design side:

  • Brand consistency: Use the same logo, colors, and typeface as your site so visitors know they are in the right place.
  • Single focus: Show one headline, a short explanation, and contact details.
  • Light weight: Skip large images, video, and files from third party hosts.
  • Mobile first: Many visitors arrive on phones, so the text must read well on a small screen.

We can build this for your site. We design the maintenance screen to fit your brand and test it together with the server rule. For scope and pricing, request a quote through our web design service.

Is your maintenance screen accessible to everyone?

Accessibility applies to the maintenance page too. A visitor who uses a screen reader also needs to learn what is happening and when it ends. For that reason, do not bake the message into an image. Write it as real HTML text.

A short accessibility check could look like this:

  • Set the correct language attribute so screen readers pronounce the text properly.
  • Start the heading structure with a single main heading.
  • Keep enough contrast between text and background. The W3C WCAG guidelines give clear thresholds.
  • Write meaningful alt text for the logo.
  • Make phone and email link text describe the action. Avoid vague phrases such as "click here."

Also, watch out for pages that refresh themselves. A maintenance screen that reloads every few seconds forces screen reader users to hear the text from the start again. If you need a refresh, keep the interval long or leave it to the visitor.

Full closure or partial maintenance: which is better?

Not every job requires closing the whole site. Often it is enough to close one section. For example, if you are updating the payment system, you can keep product pages live and disable only the cart for a while. Google's pause guide also recommends limiting functionality rather than shutting the site down completely.

ApproachWhen it fitsSearch sideVisitor side
503 across the whole siteJobs of a few hours, such as a server move or database rebuildSafe if short; risk grows as it drags onVisitors see no content at all
Partial maintenance (only cart or accounts closed)Updates to payment or account systemsContent pages keep getting crawledVisitors can still browse products and information
Read only modeContent management system updatesPages return 200 as usualComments, forms, and orders pause for a while
Work on staging, then a short switchLarge redesignsDowntime stays within minutesVisitors barely notice the switch

As the table shows, the best maintenance mode page is often the one nobody ever sees. That way, both visitors and crawlers feel the outage as little as possible.

How do you plan maintenance on an ecommerce site?

Maintenance costs more in ecommerce, because every closed hour means lost orders. So choose the timing based on your data. Find the hours with the lowest traffic in your analytics and place the work in that window.

Example scenario: a clothing store plans to switch payment providers. The team keeps product and category pages live and closes only the cart and checkout. A small notice on the cart page shows when checkout reopens, along with the support phone number. As a result, visitors keep browsing and adding items to their wish lists.

Also, do not forget your ads. If ads send traffic to a fully closed site, budget goes to waste and landing page errors may appear. Therefore, if you plan a full closure, add pausing campaigns in the same window to your plan. Check the ad platform's official help pages for the campaign settings.

In addition, think about customers with open orders. If order tracking or the order status page goes down, say so clearly on the maintenance screen. A line such as "Your existing orders are not affected, and shipping updates still arrive by email" cuts support questions. Finally, avoid scheduling maintenance during sales campaigns.

How should you announce maintenance in advance?

Above all, the best maintenance message is the one that arrives before maintenance starts. If you have regular customers, telling them ahead of time softens the surprise of the maintenance screen. Moreover, it builds a transparent brand image.

  1. A few days before: Add a slim announcement bar at the top of the site with the date.
  2. One day before: Send a short email to members or newsletter subscribers.
  3. On the day: Post a brief update on your social media accounts.
  4. When it ends: Remove the bar and, if useful, share a short "we are back" message.

On the other hand, do not overdo it. Emailing every customer about a tiny update can cause needless worry. In short, the size of the announcement should match the size of the outage.

Which mistakes make a maintenance mode page useless?

The mistakes we see most often in the field are not deep technical issues. They are small details that slip through. Use the list below as a starting point for your own check.

  • Wrong status code: The screen looks nice, but the server returns 200.
  • Robots.txt closed too: The rule returns 503 for every URL without exceptions.
  • No timing: The page says "back soon" with no time.
  • Forgotten maintenance: The work is done, but the plugin is still on.
  • Broken layout: The stylesheet hit the rule as well, so the page loads as plain text.
  • Admins locked out: There is no exception, so the team cannot test on the live site.

You can catch most of these with one check. After you switch maintenance on, visit the site from a different network and look at the response code in your browser's developer tools. Then open the robots.txt URL separately. That way you see the page through the eyes of both a person and a crawler.

What should you check after maintenance ends?

Turning maintenance off is not the end of the job. The real risk lies in problems nobody notices afterward. So run a short check as soon as the site reopens.

  1. Do the home, category, and product pages return 200?
  2. Do robots.txt and the sitemap open with the right content?
  3. Did you clear the cache, or do visitors still see the maintenance screen?
  4. Do forms, cart, and checkout work end to end?
  5. Does Search Console show a rise in crawl errors or server errors?

The cache item matters most. Some content delivery networks and caching plugins can store the maintenance screen. Then some visitors keep seeing it for a while even after you reopen. Also, pages that returned empty content by mistake during maintenance can cause soft 404 errors. Add that to your checklist too.

Does a maintenance mode page affect crawl budget?

A short 503 does not hurt crawl budget permanently, but it does cause a temporary slowdown. Google's documentation on network errors says 5xx responses make crawlers slow down for a while. Once the server returns 2xx responses again, Google gradually raises the crawl rate.

So for a small or mid-sized site, a few hours of planned maintenance rarely causes trouble. On the other hand, recovery can take longer for a news site with tens of thousands of pages or a large store. For sites like these, keep maintenance short and prefer partial maintenance where you can.

We explain which sites really need to care in our crawl budget guide. Knowing the scale of your own site also shapes your maintenance plan. In short, large sites are more sensitive to downtime than small ones.

Should you use a plugin or a server rule?

In practice, both have their place. A maintenance plugin runs inside the content management system and is easy to set up. However, the plugin depends on that system. If the work involves updating the system itself, the plugin may stop working too. A server rule kicks in before the content management system, so it is more reliable for infrastructure work.

Ask these questions before you choose:

  • Will the content management system keep running during the work?
  • Which status code does the plugin return, and can it add a Retry-After header?
  • Can you define exceptions for robots.txt and stylesheets?
  • Can you keep your team's IP address outside the maintenance screen?

For example, a plugin may be fine for a small extension update. By contrast, a server rule is the sturdier choice for a server move, a database rebuild, or a PHP version change. Whichever route you take, check the response code yourself after you switch it on. Put simply, trust what the server actually returns, not what the tool promises.

How do you prepare a maintenance screen for a multilingual site?

On multilingual sites, the maintenance screen should speak the visitor's language. Someone looking for English content may not understand a Turkish maintenance screen. So prepare separate copy for each language version, or list the languages as short blocks on one page.

Here are our practical tips:

  • Give each language block its own language attribute so screen readers pronounce it correctly.
  • Write the time in a format each reader understands, and add the time zone.
  • If contact channels differ by language, show the right number in each block.
  • Do not rely on machine translation. The text is short, so a careful manual translation takes little time.

Also, plan the rule around your subfolder or subdomain setup. For instance, if you are updating only one language version, keep the others live. That way the impact stays limited to the affected audience. As a result, partial maintenance is usually the smarter move on a multilingual site.

Example scenario: how does planned maintenance run on a service site?

Example scenario: an architecture firm plans to move its site to a new server. The team picks a Sunday morning, when traffic is lowest. Two days earlier, it adds a notice at the top of the site: "Maintenance on Sunday from 8:00 to 10:00 a.m."

On the morning of the work, the team uses a server rule to return 503 with a two hour Retry-After value on all pages. Robots.txt and the maintenance page stylesheet stay on the exception list. The screen shows the firm's logo, the headline "We are moving our site to a new server," the end time, and the office phone number.

As it turns out, the move finishes an hour early. Next, the team removes the rule, clears the cache, and works through the checklist step by step. After that, it watches crawl stats in Search Console for a few days. This scenario is illustrative, but the order of the steps holds for most planned maintenance.

What does a maintenance mode page checklist look like?

Tick the items below one by one before you start. Although the list looks short, each item prevents a problem we have run into in the field.

  • The maintenance screen returns a 503 status code.
  • Your Retry-After header holds a realistic duration or date.
  • Robots.txt returns 200 and sits outside the maintenance rule.
  • The page is static HTML and does not depend on the database.
  • Your message says what is happening, when it ends, and how to get in touch.
  • Your copy shows the time zone, and the time on the page matches Retry-After.
  • Phone and email links also work on mobile.
  • Contrast, language attribute, and heading structure are accessible.
  • The team IP address is on the exception list.
  • Post maintenance checks and cache clearing are on the plan.

You can make this list part of your regular upkeep. We cover what we check every month in our website maintenance guide.

Should you set up the maintenance screen yourself or get help?

For a simple site, a maintenance plugin with the right settings is often enough. However, always check which status code the plugin returns and whether it excludes robots.txt. Some plugins ship with these options off by default, so check the plugin's own documentation for its current behavior.

On the other hand, jobs such as a server move, an infrastructure change, or maintenance on a multilingual site need more planning. In these projects, the maintenance screen is only the visible part. The real work is timing, backups, a rollback plan, and testing afterward. For a full move, our website migration SEO checklist walks through the bigger picture.

If you want us to set up the maintenance screen, the server rule, and the switch plan together, share your project details on our web design services page and request a quote. That way, maintenance day runs on a checklist, not on surprises.

Frequently Asked Questions

Which HTTP status code should a maintenance mode page return?
A maintenance mode page should return 503 Service Unavailable. This code says the service is temporarily unavailable, and Google recommends it for short, planned closures. If you use 200, search engines may treat the maintenance screen as the real content of your site. So check the status code behind the screen, not only how the screen looks.
What value should I put in the Retry-After header?
You can put the estimated duration in seconds or the exact end date in GMT format. For a one hour job, a value of 3600 works well. Keep the value realistic and slightly generous. If the work runs long, update both the header and the time shown on the page, and never leave a date that has already passed.
How long can I safely return a 503?
Google's documentation recommends 503 for short periods, from a few hours up to a day or two. Longer use raises the risk of URLs dropping from the index. If the work will last days, keep the site live and limit features such as the cart or forms instead. This is a benchmark based on official guidance, not a guarantee.
What should happen to robots.txt during maintenance?
Robots.txt should keep opening normally with a 200 status during maintenance. Google states that returning 503 for robots.txt blocks all crawling. So add a robots.txt exception to your maintenance rule. Also keep the stylesheet and logo of the maintenance page on the exception list, or the screen will look broken to visitors.
Should I add a countdown timer to the maintenance page?
A countdown timer only helps if you are sure about the end time. If it hits zero while the site is still down, visitors read it as a failure. In most cases, a plain time with the time zone is more honest. If you do use a timer, make it switch to a message about final checks when it reaches zero.
Why do visitors still see the maintenance screen after it ends?
The most common cause is caching. A content delivery network or a caching plugin may have stored the maintenance screen. Clear the cache right after you turn maintenance off, then check the site from a different network. Also confirm that the plugin is really off and that you removed the server rule completely.
  • maintenance mode
  • 503 status code
  • Retry-After
  • web design
  • technical SEO
  • user experience
  • website maintenance
Share:
Talha Aslan

Google Partner digital marketing expert. Hands-on with SEO, Google Ads, web design and e-commerce projects since 2012; every post here comes from that experience.

Next project

Get a quote for your project.

Your brief goes straight to Talha Aslan and team: strategy led by Talha, delivery by an experienced team. We reply the same day and send the scope, timeline and price as a written quote within 1 business day.