SaaS SEO · Technical SEO
SEO log file analysis: what Googlebot actually does on your site
Franck Gordi
9 min read
Requested URL
Response code
User agent
SEO log file analysis is the review of server logs to observe what search engine crawlers actually requested on a site, how often, and with which response. This article is for whoever runs SEO on a B2B SaaS and wonders whether that work is worth its cost. Direct answer: logs are the only source describing observed crawler behaviour, where a crawl only describes a theoretical state. On a site of a few hundred pages with no generated URLs, that difference often changes nothing. On a faceted site, on a site mid-migration, or on a site that wants to verify AI crawler access, it changes everything.
Key takeaways
- A log file records the requests received by the server: date, URL, response code, user agent, IP address. Nothing else, and that is enough.
- A crawl answers the question of what is reachable, logs answer what was actually requested. The two are cross-referenced, never substituted.
- User agents can be spoofed: a visit is only attributed to Googlebot after a reverse DNS lookup, a procedure documented by Google Search Central.
- Google states that crawl budget management is not a concern for most sites. Log analysis is justified by an observed problem, not by principle.
- Logs verify a precondition of AI visibility: if GPTBot or PerplexityBot cannot access a page, no citation is possible.
1. What a log shows and no other tool sees
A log file is the journal of requests received by the server. Each line matches one demand: a visitor or a crawler asked for an address, and the server answered with a code. That journal already exists on any installation. It does not need to be installed, only retrieved and retained.
What a line contains
Four fields do all the work
Date and time
Crawl rhythm, day by day, section by section.
Use: Spot a drop in frequency or a spike after a release.
Requested URL
What the crawler is really asking for, parameters included.
Use: See crawled addresses nobody ever decided to publish.
Response code
What the server answered at that precise moment.
Use: Tell a one-off error apart from an installed problem.
User agent
Which crawler asked for the page, classic engine or AI engine.
Use: Confirm crawler visits, to be verified against the IP address.
The value of this source comes down to one point: it is descriptive. Search Console provides aggregated crawl statistics that are genuinely useful, but it does not deliver the full list of requested addresses, line by line. A crawling tool simulates an ideal robot following links from an entry point. Logs record real crawlers, which sometimes land on addresses nobody ever linked to.
The practical difference with a crawl
A crawl answers the reachability question: is this page accessible, at what click depth, with which tags. That reading is structural, and it is exactly the one described in internal linking as a structure of priorities. Logs answer a different question: among those reachable pages, which ones are actually requested, and at what rhythm. A gap between the two is where the analysis begins.
2. How to read logs, step by step
The order matters, because each step determines the reliability of the next. An analysis run on unauthenticated lines produces conclusions about crawlers that never were.
The method
Four steps, in this order
Step 01 is the one most often skipped. Google documents a two-part verification: a reverse DNS lookup on the IP address, which must return a name in googlebot.com or google.com, then a forward lookup on that name, which must return the original address. Without that check, part of the volume attributed to the search engine can come from a third-party tool or a content scraper.
Group before interpreting
A useful analysis is not read URL by URL but by template and by directory. The goal is to answer a distribution question: what share of crawling goes to the pages that carry qualified demand, and what share goes to the rest. It is the same prioritisation logic described in B2B SEO driven by qualified demand, applied this time to crawler behaviour.
3. Telling a signal from noise
Crawling is irregular by nature. A page visited twice this month and five times last month says nothing. What can be read are stable trends across sets of pages, and anomalies that repeat.
A real signal
- Service or documentation pages that are published and never requested across the whole window.
- A large share of crawling absorbed by parameter URLs nobody ever wanted.
- Recurring server error codes on the same template, at the same hours.
- Redirect chains still being requested weeks after a migration.
Noise
- A page visited three times instead of five from one month to the next.
- An isolated crawl spike after a release or a sitemap update.
- One-off errors on URLs that were deliberately removed.
- Lines attributed to a search engine without any IP verification.
The most frequent case on a SaaS site: parameter addresses, generated by a filter or an internal search engine, absorbing a significant share of requests. The reflex is often to block them. The better first move is to remove the cause when it is internal, meaning the links that manufacture them. Blocking leaves the structure intact, fixing the structure solves the problem at its source.
The case of generated pages
When a site produces pages from a template, logs become the control instrument for that batch: how many of those pages are actually crawled, at what rhythm, and with what result. That is the control most often missing from the projects described in programmatic SEO and what produces empty pages.
4. When this analysis is justified, and when it is not
Google is explicit on this point in its documentation on crawl budget: most sites do not need to worry about it. A log analysis sold by default, on a site with no generated URLs and no incident, is a deliverable that will confirm the obvious.
Case 1
Many generated URLs
Facets, filters, tracking parameters, pages created by an internal search engine. This is where crawling scatters fastest, and where logs are the only available measurement.
Case 2
Right after a migration
You check that new URLs are actually requested, that old ones return a clean response in a single step, and that nothing is blocked by a leftover staging rule.
Case 3
AI crawler control
Logs confirm whether generative engine crawlers reach your pages or receive a refusal, which no citation tracking tool can establish from the outside.
Case 4
A site of a few hundred pages
With no generated URLs and no migration in progress, reading logs mostly confirms what Search Console already shows. The effort pays off better elsewhere, on content and internal structure.
Case 2 deserves emphasis, because that is where the ratio between effort and information is most favourable. After a switch, logs answer within hours what Search Console will take weeks to document: are the new addresses being requested, and do the old ones return the right response in a single step. That is the control described in the SEO migration plan, observed from the server side.
5. What logs bring to AI visibility
Generative engines cite pages they were able to read. The relevant agents are identifiable in the server log: GPTBot and OAI-SearchBot for OpenAI, ClaudeBot for Anthropic, PerplexityBot for Perplexity. Their presence, or their absence, is observed line by line.
Two checks are enough, and they cost almost nothing. First, do those agents reach the pages you want cited. Second, what response do they receive: a 200 code, or a refusal returned by a firewall or a CDN protection blocking AI crawlers without anyone having decided to. This is a precondition check, not a performance measure: the citation rate is measured elsewhere, as explained in AI visibility tracking tools. It is also part of the technical scope of an LLM visibility audit.
Frequently asked questions
Conclusion
Log analysis is not a growth lever, it is a measurement instrument. It answers factual questions nothing else settles: is this page seen, does this section absorb crawling without producing anything, does this crawler actually get a response. On a SaaS site with generated pages, a redesign in progress or a doubt about AI crawler access, those answers justify the setup. Elsewhere, the effort produces more value on content and internal structure.
If you are unsure whether this work is relevant for your site, we can look at your situation in a first call, and you leave with a clear view of what should come first.
Sources
- Google Search Central, Large site owner's guide to managing your crawl budget, accessed September 2026
- Google Search Central, Verifying Googlebot and other Google crawlers, accessed September 2026
- Google Search Central, Crawl Stats report, accessed September 2026
About the author

Franck Gordi
Independent SEO & GEO consultant for post-funding B2B SaaS. 13+ years of experience, 824+ projects. He makes SaaS companies visible on Google and cited by AI engines, in French and in English.
LinkedIn →