Website downtime costs you visitors, revenue, and reputation. Whether you manage a single WordPress site or a fleet of client servers, knowing the moment something breaks gives you a head start on fixing it. Free uptime monitoring tools have matured to the point where small teams and solo operators can run production-grade monitoring without spending a cent.
This guide walks you through setting up UptimeRobot or Better Uptime, configuring intelligent alerts across multiple channels, and interpreting downtime reports to improve your infrastructure.
Why Monitor Uptime
Your web server, database, or upstream CDN can fail at any time. DNS misconfigurations, expired SSL certificates, application crashes, resource exhaustion, and network partitions all cause outages. Without monitoring, you discover problems when a client emails you or when revenue suddenly drops.
Uptime monitoring gives you:
- Immediate notification when a site goes down, often before users notice
- Historical data to identify patterns—recurring 3 AM crashes, weekly database timeouts
- Proof of SLA compliance for clients or internal reporting
- SSL certificate expiry warnings before browsers show security errors
- Multi-location checks to catch regional routing issues
Free tiers from UptimeRobot and Better Uptime cover most small-to-medium workloads. Paid plans add faster check intervals, more monitors, and status pages, but the free versions are genuinely useful.
Choosing Between UptimeRobot and Better Uptime
Both services ping your site at regular intervals and alert you when checks fail. Your choice depends on features and interface preferences.
UptimeRobot has been around longer and offers:
- 50 monitors on the free tier
- 5-minute check intervals
- HTTP(S), ping, port, and keyword monitoring
- Email, SMS, Slack, webhook, and mobile app notifications
- Public status pages
- Simple, no-frills interface
Better Uptime is newer with a modern UI:
- 10 monitors on the free tier
- 3-minute check intervals
- HTTP(S), ping, TCP, and keyword monitoring
- Email, SMS, Slack, Discord, PagerDuty, webhook integrations
- Incident timelines and on-call scheduling
- More polished reporting and status pages
For straightforward monitoring of multiple sites, UptimeRobot's 50-monitor limit is hard to beat. If you need tighter check intervals and better incident management, Better Uptime is worth the smaller monitor limit.
Both support monitoring SSL certificate expiration, response time tracking, and custom HTTP headers for authenticated endpoints.
Setting Up UptimeRobot
Create Your Account
Sign up at uptimerobot.com with an email address. No credit card required. Verify your email to activate alerting.
Add Your First Monitor
- Click Add New Monitor from the dashboard
-
Select Monitor Type: - HTTP(S) for websites—checks for 200-399 status codes - Ping for servers where you only care about ICMP reachability - Port for specific TCP ports like SMTP (25), SSH (22), or custom services - Keyword to verify specific content appears on a page
-
Enter your URL or IP address. For HTTP(S) monitors, include the protocol:
https://example.com -
Set Monitoring Interval to 5 minutes (free tier maximum)
-
Name the monitor something clear: "Production Site – example.com" or "API Server – api.example.com"
Configure Advanced Options
Click Advanced Settings to customize:
- Custom HTTP Headers: Add authentication tokens or API keys if your endpoint requires them
- POST Data: Send specific payloads to API health check endpoints
- Keyword Monitoring: Enter a word or phrase that must appear on the page. Useful for catching soft failures where the server returns 200 but serves an error page
- SSL Certificate Expiry: Enable to receive warnings when certificates are about to expire
- Timeout: Default is 30 seconds; increase for slow-responding services
Set Up Alert Contacts
By default, UptimeRobot emails you at your account address. Add more channels:
- Go to My Settings → Alert Contacts
- Click Add Alert Contact
-
Choose your integration: - Email: Additional team members - SMS: Requires phone number; limited free SMS credits per month - Slack: Authorize the app and pick a channel - Webhook: POST JSON payloads to custom endpoints for integration with internal systems - Mobile App: Install UptimeRobot mobile app on iOS or Android
-
After adding contacts, edit each monitor to assign which contacts receive alerts. You can route critical production alerts to SMS and lower-priority staging alerts to Slack only.
Configure Alert Thresholds
Under monitor settings, adjust when alerts fire:
- Send alerts when down for X minutes: Default is immediate. Set to 2-3 minutes to avoid false positives from brief network hiccups
- Don't send "up" notifications: Reduce noise if you only care about downtime
- Alert frequency: How often to re-alert if the site stays down—every check, once per hour, etc.
Setting Up Better Uptime
Create Your Account
Sign up at betteruptime.com. Verify your email. The onboarding wizard walks you through adding your first monitor.
Add a Monitor
- Click Create Monitor
- Choose Monitor Type: HTTP, Ping, or TCP
- Enter the URL or Host
- Set Check Frequency to 3 minutes (free tier)
- Select Locations to check from—multi-region checks catch localized routing issues
- Configure Expected Status Codes (default is 200-299 for HTTP)
- Enable Verify SSL Certificate to alert on expiry or invalid chains
Keyword and Response Time Checks
Under Advanced Options:
- Required Keyword: The monitor fails if this string is missing from the response
- Response Time Threshold: Alert if response time exceeds X milliseconds—useful for catching performance degradation before full outages
- Custom Headers: Add authentication or user-agent strings
Configure Notifications
- Go to Notifications in the sidebar
- Click Add Notification
-
Pick your channel: - Email: Default, always active - SMS: Add and verify phone number; limited free credits - Slack: Authorize workspace and select channel - Discord: Generate webhook URL from server settings - Webhooks: POST JSON to your own systems - PagerDuty, Opsgenie, Microsoft Teams: Available via integrations
-
Assign notification policies to monitors—route critical monitors to on-call rotation, less critical to team Slack
Set Up On-Call Schedules
Better Uptime's free tier includes basic on-call scheduling:
- Navigate to On-Call
- Add team members with their notification preferences
- Create a simple rotation or assign a primary responder
- Link the schedule to specific monitors
This routes alerts to whoever is on duty, reducing alert fatigue for off-duty team members.
Monitoring Best Practices
Monitor Multiple Endpoints
Don't only check your homepage. Add monitors for:
- Login pages: Authentication failures often surface here first
- API endpoints:
/api/healthor/api/statusroutes - Admin panels: WordPress
/wp-admin, cPanel port 2083 - Database-backed pages: Detect database connection issues
- CDN or asset URLs: Catch CDN misconfigurations or origin failures
Use Keyword Monitoring for Soft Failures
A web server can return HTTP 200 while serving a database connection error or a default error page. Configure keyword checks to verify expected content:
Keyword: "Welcome to Example Site"
If that phrase disappears, the monitor fails even if the HTTP status is 200.
Monitor SSL Certificate Expiry
Both platforms can alert you weeks before certificates expire. Enable this on all HTTPS monitors. Set the warning threshold to at least 7 days—enough time to renew and deploy before browsers block your site.
Check from Multiple Locations
If your monitoring service offers multi-region checks, enable them. A site might be reachable from the US but unreachable from Europe due to routing issues, DDoS filtering, or geographic CDN misconfigurations.
Better Uptime includes this on the free tier. UptimeRobot offers it in paid plans.
Don't Over-Alert
Configure a short confirmation window—2 to 3 minutes—before firing alerts. A single failed check might be a transient network blip. If the site is still down after two or three consecutive checks, the problem is real.
Disable "up" notifications unless you need them for incident post-mortems. Constant up/down churn is noise.
Set Up a Status Page
Both UptimeRobot and Better Uptime let you create public or private status pages showing current uptime and incident history. This is useful for:
- Client transparency: Let clients check status themselves instead of emailing you
- Internal dashboards: Display on office monitors or embed in internal wikis
- Incident communication: Post updates during outages
Status pages build trust and reduce support load during known incidents.
Interpreting Downtime Reports
Uptime Percentage
Both platforms calculate uptime percentage over rolling time windows—last 7 days, 30 days, 90 days.
- 99.9% uptime = ~43 minutes of downtime per month
- 99.5% uptime = ~3.6 hours per month
- 99.0% uptime = ~7.2 hours per month
If you promise clients 99.9% SLA, you can afford only brief, infrequent outages.
Response Time Trends
Watch response time graphs for gradual increases—often a leading indicator of resource exhaustion. If response times climb from 200ms to 2 seconds over a week, investigate server load, database performance, or application bottlenecks before an outage occurs.
Incident Patterns
Look for recurring downtime:
- Same time daily: Cron jobs consuming resources, scheduled backups, or traffic spikes
- Weekly patterns: Maintenance windows you forgot to configure as planned downtime
- Short, frequent blips: Network instability or misconfigured load balancer health checks
Use the data to tune check intervals, adjust server resources, or schedule maintenance properly.
False Positives
If you see frequent short outages that don't match real user experience, check:
- Rate limiting or firewall rules blocking the monitoring service's IP ranges
- Aggressive bot protection (Cloudflare, Sucuri) challenging monitor requests
- Geolocation blocks if monitors check from regions you've blocked
Whitelist monitoring service IP addresses in your firewall or add custom headers to bypass bot protection.
Maintenance Windows and Planned Downtime
Before performing server updates, deployments, or migrations, configure maintenance windows to pause alerts:
UptimeRobot: Go to the monitor's settings and select Maintenance Windows. Specify start time and duration.
Better Uptime: Navigate to Maintenance and create a maintenance window. Assign affected monitors.
This prevents spurious alerts during known downtime and keeps your historical uptime stats clean.
Integrating with Incident Response Workflows
For teams managing multiple sites or on-call rotations, route alerts into your workflow tools:
- Slack/Discord: Create dedicated #alerts channels; use threads to discuss and resolve incidents
- PagerDuty or Opsgenie: Escalate critical alerts through on-call rotations with escalation policies
- Webhooks: POST to custom scripts that create tickets in Jira, log incidents to a database, or trigger automated remediation
Better Uptime's incident management features track alert acknowledgment, resolution notes, and post-incident timelines. UptimeRobot keeps it simpler—alerts fire, you fix the problem, done.
Limitations of Free Monitoring
Free tiers are excellent starting points but have boundaries:
- Check intervals: 3-5 minutes means up to that much delay before you know about an outage. Paid plans offer 1-minute or 30-second checks.
- Monitor limits: 10-50 monitors covers small operations; larger infrastructures need paid plans or self-hosted solutions.
- SMS limits: Free SMS credits run out fast. Email and app notifications are unlimited.
- No advanced features: Paid tiers add status page customization, API access, multi-user teams, detailed analytics, and uptime SLA reporting.
If you outgrow free tiers, both platforms offer affordable paid plans. Alternatively, self-hosted tools like Uptime Kuma or Grafana with Prometheus provide unlimited monitoring at the cost of managing your own infrastructure.
Conclusion
Website uptime monitoring shifts you from reactive firefighting to proactive management. Free tools like UptimeRobot and Better Uptime deliver production-ready monitoring without cost, giving you immediate alerts, historical data, and SSL expiry warnings.
Set up monitors for your critical endpoints, configure alerts across multiple channels, and use the data to identify patterns and improve your infrastructure. Monitoring is not a luxury—it is baseline operational hygiene for anyone running production services.
