Monitoring Static Sites: Health-Check, Alerts and Logs

Monitoring a static site is simpler than a dynamic one — no database, no PHP, no queues. Just check three things: the home page returns 200, the SSL certificate is valid, and the VPS disk isn't full. GitHub CMS includes a built-in health-check script that runs every 5 minutes via cron and sends Telegram alerts on failures.

Health-Check Endpoints

EndpointWhat it checks
GET /Home page returns 200
GET /healthzDedicated health-check endpoint
GET /sitemap.xmlSitemap accessible and valid
SSL checkCertificate not expired (> 7 days left)

FAQ

How often should I check a static site?

Every 5 minutes via cron — sufficient for static sites. Each check takes < 1 second and creates no load.

What if health-check shows an error?

1. Check nginx: systemctl status nginx. 2. Check disk: df -h. 3. Check SSL: certbot certificates. 4. If OK — check DNS. GitHub CMS with symlink deployment allows rollback in 0.1s.

Set Up Monitoring in 10 Minutes

GitHub CMS Pro — ready health-check script + Telegram alerts. Free, open source.