DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your Hugo Static Site with Vigilmon (Free Uptime Monitoring)

Hugo is one of the fastest static site generators in the world—but "static" doesn't mean "always up." Your Hugo site can go down due to CDN issues, DNS problems, hosting provider outages, or deployment errors. And when it does, you need to know before your readers or customers notice.

This guide shows you how to set up free uptime monitoring for your Hugo site with Vigilmon.

Why Hugo Sites Need Uptime Monitoring

Static sites are more resilient than dynamic ones, but they still fail:

  • CDN outages: Netlify, Vercel, Cloudflare Pages, or GitHub Pages has an incident
  • DNS propagation issues: A misconfigured DNS record makes your site unreachable
  • Deployment failures: A bad deploy pushes broken HTML or a redirectloop
  • SSL certificate expiry: Let's Encrypt certificate not renewed (breaks HTTPS)
  • Custom domain misconfigurations: After a domain renewal or transfer

Without monitoring, you find out from Twitter or a frantic email.

Step 1: Identify Your Hugo Site's URLs

Before setting up monitoring, list every URL that matters:

https://yoursite.com              # Main homepage
https://yoursite.com/blog/        # Blog index
https://yoursite.com/about/       # About page
https://yoursite.com/sitemap.xml  # SEO health check
https://yoursite.com/index.json   # Search index (if using Fuse.js)
Enter fullscreen mode Exit fullscreen mode

For most Hugo sites, monitoring the homepage + one critical content path is sufficient.

Step 2: Set Up a Health Check Page

Create a simple health check page in your Hugo site:

content/health/index.md
Enter fullscreen mode Exit fullscreen mode
---
title: "Health Check"
url: "/health"
noindex: true
sitemap:
  changefreq: "never"
---

OK
Enter fullscreen mode Exit fullscreen mode

This gives Vigilmon a lightweight endpoint to check that doesn't affect your SEO or analytics.

To make it return JSON instead:

layouts/health/single.html
Enter fullscreen mode Exit fullscreen mode
{"status":"ok","site":"{{ .Site.Title }}","timestamp":"{{ now.Format "2006-01-02T15:04:05Z07:00" }}"}
Enter fullscreen mode Exit fullscreen mode

Update the content/health/index.md frontmatter to use layout: health.

Now your health endpoint at https://yoursite.com/health returns:

{"status":"ok","site":"My Blog","timestamp":"2026-08-05T10:00:00Z"}
Enter fullscreen mode Exit fullscreen mode

Step 3: Create Vigilmon Monitors

  1. Sign up at vigilmon.online — free, no credit card
  2. Create Monitor 1: Homepage

    • Name: "Hugo Site - Homepage"
    • URL: https://yoursite.com
    • Type: HTTP
    • Method: GET
    • Expected status: 200
    • Keyword check: Your site name or a nav element
    • Interval: 1 minute
  3. Create Monitor 2: Health Check (if you added one)

    • URL: https://yoursite.com/health
    • Keyword: "ok"
  4. Create Monitor 3: Blog/Content

    • URL: https://yoursite.com/blog/
    • Expected status: 200
  5. Configure alerts:

    • Email notification
    • Slack webhook for team alerts

Monitoring Hugo on Different Hosting Platforms

Netlify-hosted Hugo Sites

Netlify provides its own status page, but that's for Netlify—not your specific site. Monitor yours directly:

https://yoursite.netlify.app       # Netlify subdomain (backup)
https://yoursite.com               # Custom domain (primary)
Enter fullscreen mode Exit fullscreen mode

Also consider monitoring:

  • https://yoursite.com/ (with trailing slash)
  • https://www.yoursite.com/ (www variant)

GitHub Pages Hugo Sites

https://yourusername.github.io/    # User site
https://yourusername.github.io/repo/  # Project site
https://yoursite.com               # Custom domain
Enter fullscreen mode Exit fullscreen mode

Cloudflare Pages Hugo Sites

Cloudflare Pages is extremely reliable, but still check:

https://yoursite.pages.dev         # Cloudflare subdomain
https://yoursite.com               # Custom domain
Enter fullscreen mode Exit fullscreen mode

Hugo on Vercel

https://yoursite.vercel.app        # Vercel subdomain
https://yoursite.com               # Custom domain
Enter fullscreen mode Exit fullscreen mode

SSL Certificate Monitoring

SSL/TLS is critical for Hugo sites—browsers show scary warnings if your cert expires. Vigilmon automatically checks SSL certificate validity and alerts you before expiry.

Enable SSL monitoring on every HTTPS endpoint you create.

What to Check in Your Hugo Site

Check What It Tests
Homepage HTTP 200 Site is reachable
Keyword "My Blog Name" Correct content served (not error page)
Response < 2000ms CDN is serving from edge (not origin)
SSL valid > 14 days Certificate won't expire soon
/sitemap.xml returns 200 SEO crawlability
/404 returns 404 Error pages working correctly

Setting Up Deployment Verification

After deploying a Hugo update, you want to verify the deployment succeeded. You can automate this with a post-deploy hook:

# In your deploy script or CI:
hugo --minify
# Deploy to your platform...

# Then verify deployment with curl
sleep 30  # Wait for CDN propagation
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" https://yoursite.com)
if [ "$RESPONSE" != "200" ]; then
  echo "Deploy verification FAILED: got HTTP $RESPONSE"
  exit 1
fi
echo "Deploy verification passed"
Enter fullscreen mode Exit fullscreen mode

Vigilmon will also catch post-deploy issues automatically—if your new deployment causes errors, you'll get an alert within 60 seconds.

Multi-Region Hugo Monitoring

Hugo sites are typically served via CDN, but CDN edge nodes can fail regionally. Vigilmon checks from multiple regions:

  • 🇺🇸 US East (Virginia)
  • 🇪🇺 Europe (Frankfurt)
  • 🇸🇬 Asia Pacific (Singapore)

This means you'll know if your Hugo site is down in Europe while appearing fine in the US—a common CDN regional issue.

Alerting for Hugo Site Owners

Recommended alert configuration for a Hugo blog/site:

Alert after: 2 consecutive failures (avoids false positives)
Check interval: 1 minute (for production sites)
Alert channels:
  - Email: yourname@email.com
  - Slack: #website-alerts (if you have a team)
Recovery alerts: Yes (notify when site comes back up)
Enter fullscreen mode Exit fullscreen mode

Get Started Free

Vigilmon is completely free to start:

  • 5 monitors included
  • 1-minute check intervals
  • Multi-region monitoring
  • Email alerts
  • Public status page

Set up Hugo monitoring in 3 minutes—no configuration files, no agents to install.

Top comments (0)