Verify your setup
Log Hero has one automatic check, and it answers one question only: did any bot hit arrive in the last three days? That is enough to prove that the pipe is open. It is not enough to prove that the data is complete.
“Complete” means three things. Every hostname you care about arrives. The bots you expect are in the data. The numbers mean what you think they mean. This page walks the five checks that show you all three.
Time: about 10 minutes · You need: a connected integration, and at least one hour since you connected it
1. Read the status line
Section titled “1. Read the status line”Open Log Hero → Bot Activity for the domain. Under the page title Log Hero prints one of three lines.
| Line | What it means |
|---|---|
Log Hero is receiving bot traffic for this domain. |
At least one bot hit arrived in the last 3 days. |
Waiting for the first hits to arrive — this can take a little while after setup. |
No bot hit yet, and Log Hero was set up less than 24 hours ago. |
No bot traffic in the last 3 days — check your plugin install. |
No bot hit in the last 3 days, and setup is more than 24 hours old. |
If the line reads Log Hero is not set up for this domain yet, the domain was never connected. Start at Choose your integration.
The check behind the line is narrower than it looks:
- It looks for any bot hit in the raw log table, over the last 3 days.
- It accepts a hit from any hostname under your token.
- Human hits do not count. A site that sends only human traffic reads as no data.
- One hit is enough. There is no threshold and no hit count.
Log Hero shows no timestamp for the last hit received, and no warning for a gap in delivery. A green line therefore tells you that the integration worked at some point in the last 3 days. Continue with the four checks below.
2. Make sure that the hostnames are the ones you expect
Section titled “2. Make sure that the hostnames are the ones you expect”Log Hero stores the hostname as your integration sent it. It does not normalise it.
- Look at the top bar of any Log Hero report.
- If a hostname selector is there, open it and read the list.
The selector appears only after two or more hostnames had bot hits in the window. One expected hostname and no selector is a good result.
Read the list against these rules:
wwwand the bare host are two hostnames. A site that answers on both produces two rows.- A port stays on the hostname.
example.com:8443is a separate row. - Case is kept.
Example.comandexample.comare separate rows. - Azure Front Door is the exception. It lowercases the hostname and drops the port before Log Hero sees it.
A staging host or an unexpected variant in the list means bots crawl a hostname you did not plan for. That is a finding about your site, not a setup fault.
3. Make sure that Googlebot is in the bots table
Section titled “3. Make sure that Googlebot is in the bots table”On Bot Activity, go to the Bots table and look for Googlebot.
Googlebot crawls nearly every public site, so its absence after a few days is a strong signal. Three causes are common:
- The integration sees only part of your traffic. Check 5 covers this.
- A WAF or a bot rule stops the crawler before your integration logs it.
robots.txtdisallows the crawl.
4. Make sure that the status mix has no dominant other
Section titled “4. Make sure that the status mix has no dominant other”On Bot Activity, read the Responses by status donut. Its legend has five
entries: 2xx OK, 3xx Redirect, 4xx Client error, 5xx Server error and
Other.
Other is the bucket for status code 0, which Log Hero writes when the status
field is absent or not a number. A few such hits are normal. A large Other
slice means your integration does not deliver the status field correctly.
You cannot filter on Other. The status filter offers 2xx, 3xx, 4xx and
5xx only.
5. Read the response time with the right meaning
Section titled “5. Read the response time with the right meaning”Avg response on Bot Activity is in milliseconds. What it measures depends on your integration, and the values are not comparable across integrations.
| Integration | What the response time measures |
|---|---|
| WordPress plugin | Measured by the producer inside your site. |
| PHP SDK | Measured by the producer inside your application. |
| Apache module | Measured by the producer on the web server. |
| Cloudflare | Time to first byte at the edge. |
| Azure Front Door | Time to first byte at the edge. |
| Amazon CloudFront | Total time taken to serve the response. |
| Fastly | Total elapsed time, although the source field is named ttfb_ms. |
Make sure that the figure is plausible for that meaning. An edge time to first byte in the tens of milliseconds is normal. An origin measurement of the same size on a dynamic page is not.
Hits that report no timing are excluded from the average, so a zero timing does not pull the number down.
What complete means for your integration
Section titled “What complete means for your integration”No integration sees every request. Where you log decides what is missing.
- Origin integrations (WordPress, PHP SDK, Apache) miss two classes. They miss every request a cache or CDN above them answers. They also miss every request that killed PHP before the Log Hero code ran.
- The WordPress plugin and the PHP SDK also miss static files. The web server serves images, CSS, JavaScript and PDFs without PHP. The Apache module and the edge integrations record them.
- Edge integrations (Cloudflare, CloudFront, Fastly, Azure Front Door) miss traffic that goes straight to your origin and bypasses the edge.
To see which case you are in, open Top crawled paths on Bot Activity. A list with no images, CSS or PDFs means the integration sits inside the application.
If the gap matters for your site, read Choose your integration and move to the integration that sits closer to the visitor.
Come back in a week
Section titled “Come back in a week”The first day shows that data arrives. It does not show that the picture is stable. After a week, What Changed compares two complete weeks and flags a bot that stopped. That is the most common way a working setup breaks without anyone noticing.
If it does not work
Section titled “If it does not work”- The report is empty, or the status line stays red: work through No data arriving.
- The report has data, but requests you expected are absent: work through Missing requests.
