How To Detect When Your WordPress Site Is Down

The first thing many customers will do before buying a product or service from a business is to visit their website. Picture this – your customer sits down, coffee in hand, heads to Google and begins searching for a pain point or problem they’re trying to solve in their business. As luck would have it, they click your link or ad in the results and land on your home page. But wait! Trouble strikes – they’re greeted by the infamous “Error 500” or “This page can not be displayed” message. They shrug, hit the back button, and keep searching. Eventually buying from your competitor instead.

Well Johnny, there goes the ad budget.

This is the worst-case scenario for any business operating a WordPress site. You’ve invested hard-earned money in promoting your site or setting up an ad campaign – and it worked – someone landed on your site. But you lost their business because (insert random tech problem) occurred and you didn’t know about it until it was too late to close the sale. Perhaps hundreds of visitors land on your site before you realized there was a problem. This happens to businesses more often than one might realize.

When considering how to prepare for this inevitable situation, I advise website owners ponder two questions:

  • What steps can I take to be notified when these events occur.
  • What steps can I take to minimize the seemingly “random” tech issues on my list.

This post is focused on the first question – the “notification” – and what you can do to have an early warning when problems occur before your customers notice.

—-

To start, let’s break down a list of common things that happen which can bring your website down:

  • Someone forgot to renew the domain name.
  • Someone forgot to renew the website SSL certificate.
  • Someone forgot to renew the web hosting accounts
  • WordPress auto-updated and said updates broke display of the website causing an Error 500, white screen, or something of the sort.
  • The site was compromised, and hackers brought the site down.
  • The site experienced a large surge in traffic which the hosting plan was not adequate to handle. Down goes the site!

This is not an exhaustive list. But a good place to start when thinking about website disaster event notifications.

For websites I manage for customers, I make heavy use of StatusCake for proactive monitoring. It provides mechanisms to detect nearly every item on the list above and ensures that parties that need-to-know will be notified when problems occur. To work through setting notifications up for the events listed, we’ll start with StatusCake. First thing you should do is visit their website and create an account.

Create The Contact Group

(CLICK ALL IMAGES TO EXPAND THEM)

Once you create your StatusCake account at StatusCake.com, you need to create a Contact group under “ALERTING” -> “Contact Groups” and ensure your mobile phone number or email address is populated with valid contact info.

Domain Name Notification

The registration information, including domain expiration, of any website on the internet is in a public database and easily obtainable by 3rd parties such as StatusCake. This being the case, from the StatusCake portal, you can leverage this information to receive an alert when your domain will soon expire. Notifications will be sent to an interval of 30 days, 14 days, 7 days, and 24 hours directly to the Contact Group you created earlier with just a few adjustments in the StatusCake portal.

Go ahead and click “Domain Monitoring” on the sidebar of StatusCake, then on the page that appears hit “Add Domains“. Enter the site you want to setup monitoring for in the box that opens. Note that if you have multiple domains you want to monitor for expiration, no problem, just put one domain per line or separate them by commas. Here’s what one looks like for monitoring our own site:

Next, when you domain appears on the list of domains being monitored, you need to click the gear icon to edit the settings for it:

On the edit screen that appears, you need to make sure you enable the Domain Expiration option as shown in the below image:

Once you hit save, you’re done with this step. You’re Contact Group will now receive automated notifications from StatusCake when your domain is on the way to expiration. Nice work! Now let’s focus on your SSL certificate.

SSL Certification Expiration Notification

Configuring for SSL certificate expiration follows a similar process. You’ll want to click “New SSL Test” in the sidebar of StatusCake under the “SSL Monitoring” section first:

Next, you need to enter the domain to monitor for SSL expiration on. Remember to specify that Contract Group!

Hit the large blue “Save Now” button, then you’re all done. If you followed the steps properly, you’ll now receive alerts when your SSL certificate is getting ready to expire and action needs to be taken. Let’s keep going.

Site Broken Notification

Next, let’s setup a basic site uptime/broken check which will give you the heads-up when WordPress isn’t returning a normal website body to a visitor. With very little work, you can get a basic notification to let you know if your server is down or WordPress is providing the dreaded Error 500. From the StatusCake sidebar under “Uptime“, you need to click the “New Uptime test” option as shown below:

Next, you need to enter the URL for your website (include the HTTPS in the URL). Also set the Check rate – using the lowest value offered on your StatusCake plan in order that you receive the fastest notice if there’s a problem before your customers notice. Add a test name so you know what this was for. In my case, I used “Home Page Load Test” in this example because I plan to have multiple tests monitoring my website. Lastly add your contact group created earlier, then hit “Create test”.

You now have your basic Uptime test created. Do note, there’s a lot more that can be done here to check for different error states. You can use the Uptime test to check for specific values in the page that should be there, read the page title, ping the website server, etc. Building an advanced uptime test with this tool is beyond the scope of this article – but this gives you a good foundation to work from. A future guide is planned with more things you can config focused around parsing of site content.

Site Slow Load Time Notification

The last of the StatusCake notifications we’ll setup in this article is a page speed test. This test can be used to notify you if your website server is under load. As visitor counts ramp up, you’ll often notice page speed begin to decline. Having this notification configured will let you jump in and scale your website environment if needed before your website server is completely overwhelmed and no longer able to respond to web requests.

To set this up, go ahead and open the “Page Speed Monitoring” panel on the sidebar, and choose “New Pagespeed Test” from the options.

Next, you need to populate the Test Name, URL, Check Rate, Max. Loadtime and Contact Group for your test as seen here:

NOTE: For the Max. Loadtime, you enter a value in milliseconds. If you want to be notified if it’s taking longer than 5 seconds for your site to load, you’d enter 5000 in that field.

While we entered 5,000 for the purposes of this test here, depending on how optimized your WordPress site is today, you may want to use a lower value such as 3000 here. E-Commerce conversion rates are highest on pages that load in 0-2 seconds according to Hubspot. If you’re running an e-commerce store, I’d definitely consider using a lower load-time notification threshold. If your site is consistently not meeting a low load-time expectation, it may be time to hire an expert who can figure out how to fix that for you. I can help, drop me an email.

Web Hosting Notification

On most web hosts such as Linode, GoDaddy, or Bluehost, the billing contact on file for the website will receive notification when a web hosting account is pending expiration. If you don’t utilize auto-pay or perhaps had a credit card expire, your hosting account could expire automatically without renewal occurring. Not only does it bring your site down, you might lose your website files and database in the process. Yikes! If you’re paying for your hosting directly (we recommend doing this) and not letting a 3rd party pay this bill for you, it’s very important that you regularly review your web host billing contact information and ensure that your email address is the one on file for hosting account expiration alerts. Once you know when hosting account expiration is set to occur, you can create an internal calendar reminder in your Outlook or Gmail that will ask you to manually review your billing information. A timely reminder here could save the day.

If you’re not managing your web host account directly and have a vendor doing this for you, there’s a different question to ask. You need to ask your website management vendor what strategy they deploy internally to ensure that the server account is renewed, and your website stays online. See if they’re utilizing manual human review of the account on a regular cadence. Also see if they will confirm in writing that they get email notifications if the account is set to expire. If either of these things are not occurring, that is a red flag, and you might want to consider bringing management of your website to a different vendor or bring it in-house.