
Googlebot may be crawling your worst pages weekly while ignoring your best ones — and GA4 can't show you this. Open your Nginx or Apache access log, run one grep command, and use the free GoAccess tool to build a visual crawl map in 30 minutes. Includes five targeted diagnostic commands and a fix table.
/var/log/nginx/access.log/var/log/apache2/access.log/var/log/caddy/access.logOne quick note on scale: you don't need a large site for this to matter. A 50-page portfolio or SaaS site has a smaller crawl budget than a 500-page site — which means each wasted crawl on a low-value URL is a proportionally bigger problem.
grep -i "Googlebot" /var/log/nginx/access.log > googlebot-hits.logawk '{print $7}' googlebot-hits.log | sort | uniq -c | sort -rn | head -30?sort=, ?filter=, ?session=, pagination paths like /page/2/, or tag archives — that's crawl budget leaking away from the pages you actually want ranked.sudo apt install goaccessgoaccess /var/log/nginx/access.log --log-format=COMBINED -o report.htmlreport.html in your browser. You'll see a dashboard showing crawler breakdown by user agent, response codes, 404 errors, top-requested URLs, response times, and bandwidth — all in one page.

grep " 404 " googlebot-hits.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20$request_time field in Nginx):grep -i "Googlebot" /var/log/nginx/access.log | awk '{print $NF, $7}' | sort -rn | head -20grep "?" googlebot-hits.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20grep -iE "GPTBot|ClaudeBot|anthropic|PerplexityBot|CCBot" /var/log/nginx/access.log | wc -lgrep -i "Googlebot" /var/log/nginx/access.log | awk '{print $1}' | sort -u | head -5host <IP>.googlebot.com or .google.com. An IP that resolves to anything else — or doesn't resolve at all — is not real Googlebot. Google also publishes its official crawler IP ranges at https://developers.google.com/crawling/ipranges/googlebot.json (updated March 31, 2026 when Google moved these files to the new /crawling/ path). 2| What you found | One-line fix |
|---|---|
| Query-string URLs in top crawled (`?sort=`, `?filter=`) | Add Disallow: /*?sort= to robots.txt |
| Internal search pages crawled (`?s=`, `?q=`) | Add Disallow: /?s= to robots.txt |
| High AI-crawler volume, no SEO benefit | Add User-agent: GPTBot / Disallow: / to robots.txt (repeat for ClaudeBot, anthropic-ai, PerplexityBot) |
| Revenue pages crawled infrequently vs. low-value pages | Add 3+ in-content internal links from your highest-traffic pages to those neglected pages |
| 404 cluster pointing to a deleted URL | Set up a 301 redirect from the dead URL to the most relevant live page |
"Unlike Google Search Console, analytics platforms, and third-party crawlers, server logs capture every request search engines make to your infrastructure." — Kaspar Szymanski 4
goaccess.io
searchengineland.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.