Server Log Monitoring

Server Log Monitoring

See which search engine and AI crawlers hit your server, how your server answered them, which bots are fake, and how much of your crawl budget is wasted.

View as Markdown

Your server already writes a line for every request it answers. Server Log Monitoring reads those lines and tells you what crawled your site, what it was given, and what that cost you.

66.249.66.1 - - [14/Sep/2026:08:12:44 +0000] "GET /blog/technical-seo HTTP/1.1" 200 18432 "-" "Googlebot/2.1"

From a line like this one, VitalSentinel works out:

  • Which bot it was, checked against the IP ranges that crawler publishes, so a request only claiming to be Googlebot is named as fake.
  • Which URL your crawl budget went to, and whether that URL earns anything back.
  • What your server answered and how long it took, per bot and over time.

What it answers

  • Is Googlebot crawling my site, how often, and is it getting errors or redirects?
  • How much of my crawl budget goes to broken, redirected, parameterized or robots.txt-disallowed URLs?
  • Which AI crawlers (training crawlers, AI search, AI assistants and agents) read my site, and do they respect robots.txt?
  • Who is pretending to be Googlebot or another known bot?
  • Which pages with search impressions has Google stopped re-crawling?
  • Which sitemap URLs does Googlebot ignore, and which crawled pages are missing from the sitemap?

How it works

  1. Connect a source. Either the Cloudflare Worker, which collects in real time, or a log-file source (SFTP, FTPS, Amazon S3, Cloudflare R2, Google Cloud Storage or a one-off upload), which is collected on a schedule. A domain collects from one source at a time.
  2. Every request gets classified. Each hit is matched to VitalSentinel's bot registry, verified where the crawler publishes its IP ranges, and grouped into the sections of your site that you define.
  3. Reports fill as requests arrive. The Cloudflare Worker starts from the moment you connect it. A log-file source can also import past files, so your reports can start with history already in them.

What gets collected

Server Log Monitoring reports on how your site is discovered, so it stores five kinds of automated traffic and drops everything else before it is written down:

KindWhat it is
Search enginesGoogle, Bing and the other crawlers that decide what gets indexed
AI training crawlersCrawlers collecting pages to train AI models
AI search crawlersCrawlers building the indexes behind AI search answers
AI assistantsAssistants fetching a page because someone asked about it
AI agentsAutomated agents browsing your site on a person's behalf

Everything else (SEO tools, social link previews, feed readers, archives, ad verifiers, security scanners, uptime and page-speed checkers) is dropped on arrival and never stored. So is any automated client that gives no name, URL or contact. Human visitors are never collected by this module.

Dropped traffic is still counted, so you can see how much was excluded and why. See Excluded traffic.

Query-parameter names are stored, never their values. The IP addresses of unverified and spoofed requests are never stored; those requests are grouped by network (AS number) instead.

Bot verification

Anyone can put "Googlebot" in a User-Agent header. VitalSentinel checks each request's IP address against the IP ranges or reverse-DNS suffixes the bot's vendor publishes, and gives every hit one of three verdicts:

VerdictMeaning
VerifiedThe request came from an address the bot really uses (by IP range, reverse DNS or signature).
UnverifiedIt could not be confirmed either way, usually because the bot publishes no IP ranges or reverse-DNS suffixes to check against. Not the same as spoofed.
SpoofedIt claimed to be a known bot but came from an address that bot doesn't use. Someone is using the bot's name without being the bot.

A low verified share is not proof of fraud. Several AI crawlers, including ones Meta runs, publish neither IP ranges nor reverse-DNS suffixes, so their traffic can never be confirmed. Those bots show Not measured instead of 0%.

Googlebot-specific figures across the module (the Googlebot tiles, crawl map, stale-crawl and sitemap reports) count verified Googlebot only.

Missing is never shown as zero

When something was not measured, the module says so rather than drawing a zero:

  • Days with no log data at all are drawn as gaps in charts, not as zero.
  • The last bucket of a chart is shaded when it covers only part of a period. Its hits are a floor, not a fall.
  • Figures that cannot be calculated read Not measured, Not observed or Not measurable, with a reason in the tooltip.
  • When a report can only cover part of the date range you picked, an amber notice names the shorter window and why.

Plans and limits

Server Log Monitoring is available on every plan. Each plan has a monthly hit allowance: the number of crawler hits the workspace can store per billing cycle, shared by all of its domains.

FreeStarterLiteStandardAdvanced
Server log hits / month500K3M10M50M150M
Log sourcesCloudflare Worker onlyCloudflare, SFTP and othersCloudflare, SFTP and othersCloudflare, SFTP and othersCloudflare, SFTP and others
  • Only stored hits count. Traffic the collection policy excludes does not use up the allowance.
  • At the limit, collection stops until the next billing cycle starts (or within a few minutes of an upgrade). Nothing already collected is deleted, and new hits are counted as excluded rather than dropped silently.
  • On the Free plan, log-file sources are not available. A single log-file job can backfill a year of history, which would spend a whole month's allowance at once. The Cloudflare Worker collects at the rate your site is actually crawled and is available on every plan.

See Monthly hit allowance for how usage is shown.

How far back the data goes

DataHow far back
Overview, Bots, Pages, Responses and most reportsUp to 12 months
Explore (individual requests)Up to 12 months. Every error and redirect is kept in full; successful (2xx) responses are kept as a 1% sample
Per-page, per-bot request detail (the page drill-down)About 7 days
Intelligence reportsUp to 180 days per view

Retention is the same on every plan. See Data & Privacy.

Where to find it

Open a domain and select Server Log Monitoring in the sidebar. Until a source has delivered its first request, the entry opens the setup screen. After that it expands into the module's reports:

GroupPages
OverviewThe module's dashboard
BotsAll bots, AI crawlers, Security
PagesCrawled pages, Sections, Crawl budget, Crawl map
ResponsesStatus codes over time, bot-by-status matrix, URLs to fix
IntelligenceSearch Console, Web Analytics, RUM, Sitemap
ExploreIndividual requests, grouped and filtered
SettingsLog source, hit allowance, collection policy, sections

Server log data also shows up elsewhere:

Next steps

On this page

VitalSentinel

Catch issues before they cost you

Track SEO, performance, and uptime in one place and get alerted the moment something breaks – hours before it hits your traffic.

  • Free plan for 1 domain
  • Set up in minutes
  • No credit card required