You made it! Your website is live, you finished entering all content and set up meta tags to boost your SEO. Orders or leads are trickling in. Over the past few weeks, working on the website was practically daily business for you. The website was always accessible and worked as expected. Now, the website should keep doing its magic and stay online, but how would you know? This is where monitoring, and reporting come in.
Monitoring is essential to ensure your website is online and available to visitors and to detect structural problems with your website, which weren’t noticed during testing or are introduced with updates. The more aspects that are monitored through an automated process, the more you will find out how your website behaves in the wild, enabling you to act on it more accurately.
The following aspects can be monitored for your website:
- WP Core
- Page speed
- Broken pages
- Error logs
In this blogpost, we explain how we set up monitoring and alerting for all of our clients’ websites. This process is far from finished, so we’re working on it every week to improve our monitoring and reporting.
The first thing you check to see whether the website is online by entering its URL in a browser and see the website load. This is, of course, not scalable. You can check a website’s status once in a while, even every hour, but we hope you have better things to do than reloading webpages manually.
Monitoring your website’s availability can only be monitored by an automated process, that sends a request to your website periodically and checks its response. There are ample types of requests that can be applied to test your website. Depending on your requirement, a monitoring request can be a ping (does the server respond), a keyword search on a webpage or a cronjob check.
There are numerous monitoring services available as an online service, so building one, just for you, rarely offers any added value. I've selected 2 services you should check out when examining uptime monitoring:
- Exists for more than 10 years
- Interface looks a bit dated, but they're working on a new version
- All required features
- Oh Dear
- 'New' kid on the block
- Modern interface
- All required features
WordPress is the most popular CMS in the world, resulting in large number of attacks, for the reason that it's easy to find unpatched WordPress websites. To protect our clients’ websites, we use Wordfence or iThemes security. Both are excellent security plugins! A small dashboard gives you an overview of the attacks and countermeasures to block the detected attacks.
All scripts/programs/… have vulnerabilities in their code. For WordPress, of which the source code is available online, there are many known vulnerabilities, tracked in the WPScan Vulnerability Database. This service has a catalogue of 21 000+ vulnerabilities, dispersed among most of the WordPress versions, plugins and themes, as you can see on their statistics.
We use their API, to monitor all our plugins for newly discovered vulnerabilities, so we can give updates who address them priority in our maintenance plan.
Updates, updates, updates
On the technical side of any website, regular updates take place. As mentioned in the previous paragraphs, new vulnerabilities are discovered, resulting in the websites needing code updates. Deploying these updates is easy for 1 WordPress website. Just push the "Update" button in the admin of WordPress, and all newest versions are installed.
Within AppSaloon, we had to install a process to automate the updates, without losing control of which code version is deployed. To keep track of the needed updates we developed a custom reporting plugin, so we can monitor current installed versions of all the plugins and WordPress versions.
For all websites, we run updates monthly.
A "broken link" is a link in your website to a page, image, file, … that can't be shown. You definitely try to avoid this in any case, but how can you monitor all pages and links of your website? When starting a new website, this is fairly easy. You know what content is on your website and which links were made. After a few years though … especially when there’s a blog or news section on the website …
To monitor broken links on your website, you can use the Broken Link Checker plugin (WordPress) or an external service like Oh Dear. Whichever service or tool you use, they will all generate a list of broken links you can use to resolve the issues. Scanning for broken links regularly is a must, for the reason that it impacts your visitors’ experience and your SEO score.
Measuring pagespeed requires a blogpost on its own, so maybe later we will take a dive in the wonderful world of web performance metrics. One thing to keep in mind: the faster your website works, the more engaged your visitors will be. The perceived performance of your website relies on the distance between your hosting and the location of the visitor (or tester), which makes a test hard to interpret.
Two great tools for testing Pagespeed are:
With GTmetrix, you can test as many pages you want, on the free plan. Combine this with their "monitor" feature, and you can efficiently keep track of the pagespeed of your website.
When enabling the WP_DEBUG setting on WordPress, hopefully nothing happens! In many cases, though, there is a notice, warning or error displayed in the debug log from your theme or any of your plugins. It's a good idea to make sure your WP_DEBUG is running, to make sure you don’s miss any bugging issues. The "Error Log Viewer by BestWebSoft" WordPress plugin is great to monitor your logging when managing few websites. If you are maintaining quite a few websites, though, it's useful to gather the logs from all websites in an ELK-stack, which helps you to actively monitor and get alerted.
We are convinced it's important to monitor multiple aspects of your website. Some are easier to implement than others, but it's totally worth the effort! Even if you only maintain one WordPress website.
What aspect are we missing? What should we monitor more? Which tools would you suggest?