---
title: "SEO log file analyzer | SEO Skill"
description: "Analyze Apache and NGINX access logs in your browser. Find search and AI crawler requests, HTTP errors, busy paths, and download CSV files."
canonical: "https://seoskill.dev/tools/server-log-analyzer"
language: "en"
---

# SEO log file analyzer

Find Googlebot, Bingbot, and AI crawler activity in a server access log. The file is processed in your browser and can be exported as four useful CSV tables.

**Log analyzed**

Parsed requests

0

Crawler requests

0

Crawler families

0

Invalid rows

0

### Check the file coverage

### Crawler activity

Matched from user-agent strings

| Crawler | Type | Requests | 4xx | 5xx |
| --- | --- | --- | --- | --- |

### Crawler error paths

Highest 4xx and 5xx counts first

| Crawler | Path | Requests | 4xx | 5xx |
| --- | --- | --- | --- | --- |

### Download CSV files

Exports contain crawler aggregates. They do not include raw requests or full user-agent strings.

## See which crawlers request your pages

The analyzer groups requests by crawler family, URL path, and HTTP status. Query strings are removed so tracking parameters do not split one page into hundreds of rows. It also shows the first and last valid request dates found in the file.

Combined Apache and NGINX access logs work directly. JSONL and NDJSON exports can use common names for the timestamp, method, URL, status, response bytes, and user agent.

## Your raw access log stays on your machine

A browser worker reads the selected file in small pieces and keeps only totals for crawlers, paths, and status codes. The page does not upload the log or keep a searchable copy of its raw requests. Large files can be cancelled by closing the tab or choosing another file.

## User-agent matches need verification

A matching user-agent string shows what the request claimed to be. It does not prove that Google, Bing, OpenAI, Anthropic, or another company sent the request. Check important findings against the original log and your server configuration before blocking or allowing a crawler.

A partial result means the file contained malformed rows or reached a processing limit. Treat missing crawler activity as unknown in that case, rather than a clean zero.

## Run repeatable log analysis from the terminal

The command uses the same parser and returns the same crawler evidence. JSON output is useful for an agent or script.

Analyze a server log as JSON

```
seo server-logs analyze --file ./access.log --json
```

Choose one CSV table when you need a file for a spreadsheet or another analysis tool.

Export crawler errors as CSV

```
seo server-logs analyze --file ./access.log --csv crawler-errors --output ./crawler-errors.csv
```

The [server log analysis report guide](https://seoskill.dev/docs/reports/server-log-analysis) covers the available command limits and structured result.
