nginx log analyzer for multiple sites

The nginx log analyzer that knows a real Googlebot from a fake one.

Trafficsort reads your nginx access logs and labels every request as human, search engine, AI crawler, scanner or fake bot. One dashboard for up to 20 sites. No JavaScript snippet, no CDN needed.

Open-source agent. Visitor IPs hashed on your server. Hosted in the EU.

access.log, sorted
66.249.66.1     GET /pricing           Googlebot       verified (Google's IP list)203.0.113.50    GET /pricing           Googlebot       FAKE: IP not in Google's list198.51.100.70   GET /blog/postgres     GPTBot          AI training, verified192.0.2.14      GET /blog/postgres     Chrome 129      browser203.0.113.200   GET /.env              Chrome 129      scanner
Example: what the free log checker shows for five log lines.

The problem

  • Your analytics can't see bots.

    Google Analytics and Plausible only count visitors that run JavaScript. Crawlers, scrapers and scanners skip it, so they never show up, yet they still use your bandwidth and CPU. Imperva's 2025 Bad Bot Report found automated traffic made up 51% of all web traffic in 2024.

  • User agents lie.

    Anyone can send "Googlebot" or "GPTBot" in a request. If you allow-list Googlebot, scrapers wear its name to get in. Your logs can't tell you which ones are real.

  • Log tools stop at one server.

    GoAccess is great on one box. With ten sites on three servers you SSH into each one, rebuild reports by hand, and still miss the crawler that started hammering a client site on Tuesday.

How it works

  1. 1

    Install the agent.

    One command on each server. It is open source, reads your nginx access logs, and hashes visitor IPs with a secret key before anything leaves the machine.

  2. 2

    Every request gets a label.

    Human, search engine, AI crawler (training, search or user fetch), scanner or fake bot. Every bot's claim is checked against the operator's published IP list or reverse DNS.

  3. 3

    You get the answers without logging in.

    A weekly digest, alerts for new bots and crawl spikes, and one dashboard for all your sites.

Features

  • Sorts every request

    Humans, search engines, AI training crawlers, AI search crawlers, scanners and fake bots, per site. Works from logs, so it sees what JavaScript analytics miss.

  • Catches fake bots

    Checks every Googlebot, GPTBot and ClaudeBot claim against the official IP lists. See which ones are scrapers in disguise.

  • Shows what bots cost

    Bandwidth and requests per bot, in euros, and what each block saved you.

  • Blocks safely

    Pick a preset like "block AI training, allow AI search". See what it would have blocked first. Every change runs nginx -t before reload, and a kill switch turns blocking off within a minute.

  • Keeps you informed

    A weekly digest plus alerts for new crawlers, crawl spikes and fake-bot surges.

  • Fails safe

    If Trafficsort is down or you stop paying, your current nginx policy stays exactly as it was.

nginx today. Apache, Caddy and Traefik come next, in the order the waitlist asks for them.

Check your own logs in a minute

sudo tail -n 20000 /var/log/nginx/access.log
Open the free log checker

Trafficsort and GoAccess

Trafficsort and GoAccess
GoAccessTrafficsort
PriceFree, open source€29/month for up to 20 sites (planned)
Where it runsEntirely on your serverOpen-source agent on your server, dashboard hosted in the EU
Multiple serversOne report per log or serverOne dashboard across all servers and sites
Bot detectionBy user agent, with an AI crawler category since v1.12User agent plus official IP lists and reverse DNS
Fake botsNot detectedFlagged per bot and per IP
AlertsNone built inWeekly digest, new-bot and spike alerts
BlockingNot includednginx presets with dry run and kill switch
Bot costBandwidth per panelBandwidth and euros per bot, savings per change
Real-time terminal viewYes, excellentNo

Running one site and happy in the terminal? GoAccess is a great choice. Trafficsort is for when you have several sites and want the bot questions answered for you.

Full comparison: Trafficsort vs GoAccess

Pricing

One plan. €29/month for up to 20 sites.

What's included

  • Up to 20 sites
  • All features
  • Hosted in the EU

Your logs stay yours

  • Open-source agent

    The agent is open source, so you can read exactly what it sends.

  • Hashed visitor IPs

    Visitor IPs are hashed with a secret key on your server. Raw IPs never leave it.

  • Hosted in the EU

    Everything is hosted in the EU.

  • No query strings

    Request paths keep no query strings unless you turn them on.

FAQ

01Do I need Cloudflare?

No. Trafficsort reads the logs nginx already writes. If you do use Cloudflare, set real_ip so your logs show visitor IPs.

02Does it replace Google Analytics or Plausible?

No. Keep them for human behaviour and conversions. Trafficsort covers everything they can't see.

03What happens if Trafficsort goes down?

Nothing on your servers. Your blocking policy stays as it was, and the agent resumes from where it stopped.

04Do you support Apache or Caddy?

Not yet. Tell us your stack on the waitlist form. The most requested one gets built next.

05Can I try it before the beta?

Yes. The free log checker runs the same classification in your browser on any log lines you paste.

Join the waitlist

Two questions, then you're in. They decide which server we support next.