Traffic Guard: Bot Protection for Omeka S

Recently, we ran into an issue across several hosted Omeka sites where bots were hammering search and item pages—driving CPU usage to 100% and slowing everything to a crawl.

If you’ve hosted a public Omeka site, this probably sounds familiar.

To solve this, I started building a module to handle bot traffic directly inside Omeka.

Traffic Guard is a lightweight bot protection module for Omeka S that helps detect, throttle, and block abusive traffic before it overwhelms your server.

What it does
    •    Rate limits requests (especially /search and /api)
    •    Detects suspicious behavior (empty user agents, rapid requests, repeated queries)
    •    Temporarily blocks abusive IPs
    •    Provides a simple admin dashboard to see what’s happening
    •    Includes an “Under Attack” mode for quick lockdowns

Why it matters

Omeka S is dynamic, and every request hits PHP and the database. That makes it especially vulnerable to bot traffic spikes.

Traffic Guard helps ensure:

  • Your server stays responsive

  • Real users aren’t impacted

  • Bots don’t take your site down

More posts by Jon Fackrell