Monitoring

What URLs Should You Monitor?

Written by Laura Clayton Verified by Alex Ioannides 8 min read Updated Sep 29, 2026
0%

A site can load normally in your browser while an uptime monitor reports it as down. That doesn’t necessarily mean either result is wrong.

Your browser and UptimeRobot can reach the same URL using different HTTP methods, IP addresses, user agents and monitoring locations. Caching and security rules can also affect the response. That means choosing the right URL matters just as much as how you configure the monitor.

We’ll take a look at how to choose the right monitoring target, when to use a homepage, health endpoint or API endpoint, and what to check when UptimeRobot sees something different from your browser. 

If you already have a monitor showing as down, see the UptimeRobot debugging guide for troubleshooting steps.

Which URLs should you monitor?

Choose the URL based on what you need to know

Your first step is to figure out what information you need most.

A homepage is a good monitoring target when you want to know whether visitors can reach your site. But it may not tell you whether the application behind it is working. A cached page, for example, can remain available while a critical dependency is down.

Pick the URL based on the type of failure you need to detect:

  • Reachability: Monitor the homepage or another public URL to check whether users can reach the service.
  • Application health: Use a health endpoint that checks the application and the dependencies it needs to function.
  • Business transaction: Monitor an endpoint or safe synthetic transaction that represents an important customer action, such as the path required for checkout. For an API, choose an endpoint that represents a real customer-facing function instead of the base URL unless the base URL itself is meaningful.

You may need more than one monitor if these signals matter independently. Any synthetic transaction should also be safe to repeat without creating orders, charging cards or changing production data.

If application health is one of those signals, the next step is choosing what your health endpoint should actually check.

Tips & Tricks
If you need to track changes to a page instead of its availability, try UptimeRobot’s free website change detection tool. 
UptimeRobot
Downtime happens. Get notified!
Join the world's leading uptime monitoring service with 3.4M+ happy users.

What makes a good health endpoint?

A health endpoint should check whether the service and its critical dependencies are working. 

For example, a database-backed application could perform a lightweight database operation as part of the check. Optional dependencies can be monitored separately if their failure doesn’t make the service unavailable.

A few things make the endpoint more useful for monitoring:

  • Return a meaningful HTTP status: A common pattern is 200 when healthy and 503 when the service is unavailable or not ready. Avoid returning 200 for a failed health check just because the response body contains an error.
  • Keep the check lightweight and current: Dependency checks should have short internal timeouts, and appropriate cache-control headers such as Cache-Control: no-store can prevent stale health responses.
  • Validate the response when status alone isn’t enough: UptimeRobot API Monitoring can check specific JSON fields and values and combine assertions using AND or OR logic. Keyword monitoring can also inspect response content.
  • Keep sensitive information out of the response: Don’t expose credentials, stack traces, internal hostnames, environment variables or unnecessary infrastructure details. Protected endpoints can use supported authentication options or custom headers.

Once you’ve chosen the URL to monitor, the request itself needs to match how that endpoint is designed to respond.

Choose the right HTTP method 

To change the HTTP method for an existing monitor, log in to UptimeRobot and select Monitoring from the left sidebar. Open the HTTP/S monitor you want to change, click Edit in the upper right corner, scroll down and expand Advanced Settings, then find HTTP Method and choose the method you want to use.

UptimeRobot HTTP status code dashboard

UptimeRobot HTTP monitors use HEAD by default, but GET might be the better choice depending on what you need to check.

HEADGET
What it checksResponse status and headers without downloading the response bodyResponse status, headers and body
Use it whenYou only need to confirm that the URL responds as expectedYou need to inspect content or validate data in the response
Good forBasic availability checksKeyword monitoring, JSON/API assertions and other checks that depend on the response body
Watch forSome servers, CDNs or security rules don’t handle HEAD correctlyDownloads the response body, so it does more work than HEAD

If a HEAD request fails, UptimeRobot can retry using GET. If the server consistently rejects HEAD, set the monitor to GET explicitly instead.

UptimeRobot also supports POST, PUT, PATCH, DELETE, QUERY and OPTIONS for endpoints that require them. API requests can include request bodies and custom headers where needed. 

Use the method the endpoint expects and that gives you the response you actually need to validate.

Monitor the canonical URL 

For your primary availability check, monitor the URL you actually expect visitors to reach, including the correct scheme, hostname and path.

For example, if http://example.com redirects to https://www.example.com, monitoring the final HTTPS URL gives you a direct check of the destination. If you monitor the redirecting URL with Follow Redirections enabled in Advanced Settings, UptimeRobot follows the redirect and checks the destination as part of the same request path.

If the redirect itself is important, monitor it separately with Follow Redirections disabled. You can then use Up HTTP Status Codes to define which response counts as Up. By default, UptimeRobot treats 2xx and 3xx responses as Up.

Even with the right URL and request settings, UptimeRobot may sometimes get a different response than you see in your browser.

When UptimeRobot sees something different from your browser 

Even when you’re monitoring the right URL, the request may take a different path or be treated differently from a request made in your browser. 

If the site works for you but UptimeRobot reports it as down, check the security rules and monitoring location before changing the monitor itself. 

Check whether security tools are blocking the monitor

If your site uses a CDN or web application firewall (WAF), such as Cloudflare, Akamai or Fastly, it may treat an UptimeRobot check differently from a visit in your browser. The site can therefore work normally for you while the monitoring request is blocked or challenged.

If that happens, check two things:

  • Monitoring IPs. Your firewall, CDN or other security tool may be blocking the IP address the check comes from. If your setup requires an allowlist, use UptimeRobot’s current Locations & IPs source rather than saving a static list that can become outdated.
  • User agent. Security tools can also identify and filter automated requests based on their user agent. Check that UptimeRobot’s user agent isn’t being blocked, rate-limited or sent a CAPTCHA or bot challenge.

Check the monitoring region 

A site can work normally in one part of the world while failing in another. Regional routing problems, CDN issues, geo-blocking or security rules can all affect what UptimeRobot sees from a particular monitoring location.

UptimeRobot checks from North America, Europe, Asia and Oceania (Australia). If a check fails, the failure is confirmed within that same region before the monitor is marked Down. Multiple regions don’t need to report the same failure.

If a monitor reports a problem that you can’t reproduce, check the incident details to see which region reported it. A failure limited to one region can point to a regional issue rather than a site-wide outage.

The right monitoring setup should give you a clear signal when something users depend on stops working. 

Start with the URL that best represents that failure, then configure the request to match how the endpoint is meant to respond. If the results don’t match what you see in your browser, check the request path, security rules and monitoring region before changing the target. 

The checklist

  • Choose the right target. Monitor the URL that represents the failure you actually need to detect.
  • Use the canonical URL for your primary availability check. Monitor redirects separately if they matter.
  • Keep health checks meaningful. Check critical dependencies, return an appropriate HTTP status and prevent cached responses from hiding a failure.
  • Use the right HTTP method. HEAD works for basic availability checks. Use GET when you need the response body or the server doesn’t handle HEAD correctly.
  • Validate more than the status code when needed. Use keyword or API monitoring when the response content determines whether the service is actually working.
  • Keep health responses safe. Don’t expose credentials or unnecessary internal information.
  • Check security rules. Make sure your firewall, CDN, WAF or bot protection isn’t blocking UptimeRobot’s monitoring IPs or user agent.
  • Check the monitoring region. If a failure only appears from one location, investigate regional routing, CDN or security issues.

A monitor is most useful when an alert tells you something you actually need to act on. Choose the target and settings around that signal, and you’ll spend less time investigating alerts that don’t reflect the failure you intended to monitor.

Tips & Tricks
You can also use UptimeRobot’s free uptime and downtime calculator to see how a given uptime percentage translates into downtime over a day, week, month or year.
  • The request is different. Common causes include a HEAD-versus-GET difference, blocked monitoring IPs, a WAF or bot-protection challenge, or a regional routing or geo-blocking rule. Check the incident details and the monitoring region first.
  • Use the target that answers the operational question you care about. The homepage is useful for basic reachability. A health endpoint can tell you whether the application and its critical dependencies are functioning. A business-transaction endpoint can tell you whether the customer action that matters is working. Those checks can coexist.
  • Neither is universally better. HEAD is the default for HTTP monitoring and avoids downloading a response body. GET is appropriate when the server does not handle HEAD correctly or when you need to inspect the body, such as with keyword or API validation.
  • A common pattern is an HTTP 200 response with a small structured payload when healthy and HTTP 503 when the service is unavailable or not ready. Check the dependencies that are genuinely required for the service to function, and keep the response free of sensitive information.
  • Not necessarily. If monitoring works normally, you do not need to change anything. If UptimeRobot requests are being blocked, allowlist the current monitoring IPs in the relevant firewall, WAF, CDN, or hosting security layer. Also check whether bot protection is challenging UptimeRobot’s user agent.
  • UptimeRobot checks selected regions in rotation, and a failed check is confirmed within that same region. A regional security, routing, CDN, or availability problem can therefore produce a real Down event even when the site is working from other parts of the world.
  • Use UptimeRobot API Monitoring. It can assert values in JSON responses, response headers, status codes, or raw response bodies. This lets you monitor the meaning of the response, not just whether the server answered.

Start using UptimeRobot today.

Join more than 3.4M+ users and companies!

  • Get 50 monitors for free - forever!
  • Monitor your website, server, SSL certificates, domains, and more.
  • Create customizable status pages.
Laura Clayton

Written by

Laura Clayton

Copywriter |

Laura Clayton has over a decade of experience in the tech industry, she brings a wealth of knowledge and insights to her articles, helping businesses maintain optimal online performance. Laura's passion for technology drives her to explore the latest in monitoring tools and techniques, making her a trusted voice in the field.

Expert on: Cron Monitoring , DevOps

🎖️

Our content is peer-reviewed by our expert team to maximize accuracy and prevent miss-information.

Alex Ioannides

Content verified by

Alex Ioannides

Head of DevOps|

Prior to his tenure at itrinity, Alex founded FocusNet Group and served as its CTO. The company specializes in providing managed web hosting services for a wide spectrum of high-traffic websites and applications. One of Alex's notable contributions to the open-source community is his involvement as an early founder of HestiaCP, an open-source Linux Web Server Control Panel. At the core of Alex's work lies his passion for Infrastructure as Code. He firmly believes in the principles of GitOps and lives by the mantra of "automate everything". This approach has consistently proven effective in enhancing the efficiency and reliability of the systems he manages. Beyond his professional endeavors, Alex has a broad range of interests. He enjoys traveling, is a football enthusiast, and maintains an active interest in politics.

Questions? Contact Support
Feature suggestions? Share

Recent Articles