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