🛡️ PS Bot Defender (PrestaShop 8.2.x)
🔍 Overview
PS Bot Defender helps protect your PrestaShop store from unwanted bots, scrapers, fake traffic, and automated abuse by combining smart bot detection, Cloudflare Turnstile verification, bot-family controls, protected path enforcement, and detailed activity monitoring.
Instead of relying on outdated CAPTCHA systems or basic user-agent checks, this module uses a more modern, practical approach designed for real storefronts.
PS Bot Defender can:
- challenge suspicious visitors
- verify known search engine bots more safely
- block failed challenges automatically
- limit abusive bot families
- protect sensitive paths from crawler abuse
- log and monitor bot activity
- automatically clean up historical data
Built for performance, clarity, and real-world usability, this module is ideal for store owners who want stronger protection without disrupting legitimate customers or trusted crawlers.
🚀 Key Features
🤖 Smart Bot Detection & Protection
PS Bot Defender evaluates incoming front-office traffic using configurable detection logic and bot verification checks.
It can:
- detect suspicious visitors using configurable scoring
- challenge suspicious traffic with Cloudflare Turnstile
- automatically block failed challenge traffic
- optionally run in testing mode for safe setup
- distinguish between trusted and untrusted crawler behavior
🔎 Verified Search Bot Detection (NEW)
Known search engine bots are not trusted by user agent alone.
PS Bot Defender can verify search bots using:
- User-Agent match
- Reverse DNS lookup
- Forward DNS verification
This helps prevent fake bots from bypassing protection simply by spoofing:
- Googlebot
- Bingbot / Microsoft
- Applebot
- YandexBot
- DuckDuckBot
- Yahoo crawler patterns
- and other configured crawler families
Verified bots can be allowed normally, while suspicious or unverified crawler traffic can be challenged, limited, or blocked depending on your settings.
🧪 Flexible Testing Modes
Includes safe setup and debugging modes:
- Off – No protection applied
- Force Challenge – Challenge all visitors (testing)
- Force Challenge (No Cookie) – Advanced debugging mode
These modes make it easier to confirm that Turnstile and challenge handling are working correctly before going live.
🛡️ Protected Paths System (NEW)
PS Bot Defender can protect sensitive or unnecessary crawl targets from automated access.
Examples include:
- cart / checkout paths
- search pages
- account and authentication pages
- order / history / customer pages
- internal PrestaShop folders
- parameter-heavy crawler junk URLs
- disallowed paths from
robots.txt
You can configure how bot traffic is handled on protected paths:
- Challenge
- Limit
- Block / blacklist
This is especially useful for reducing expensive or unnecessary bot traffic on pages that should not be crawled in the first place.
🚫 Optional Blacklist on Protected Paths (NEW)
For stricter bot control, you can enable a setting to:
add bots that visit protected paths directly to the blocklist
This gives store owners the option to enforce a zero-tolerance policy for bots that ignore clearly protected or disallowed paths.
⏱️ Bot Family Limits (NEW)
PS Bot Defender can limit how many bots from the same crawler family are active at the same time.
This helps control crawler bursts from sources such as:
- Google
- Microsoft / Bing
- Facebook / Meta
- Apple
- Yandex
- uncategorized crawler traffic
This is especially helpful for shared hosting and smaller VPS setups where even “legitimate” bots can create unnecessary load if too many requests happen at once.
📊 Detailed Event Logging
Track exactly what is happening on your store.
The module logs important bot-related activity such as:
- Visitor IP address
- User agent
- Bot family (when detected)
- Reverse DNS / forward verification status
- Detection method
- Challenge result
- Request path
- Final action taken
- Timestamp
Logged actions may include:
- Whitelisted
- Challenged
- Failed
- Limited
- Blocked
This makes it much easier to understand how traffic is being handled and why.
📁 Clean & Organized Logs
Logs are separated clearly into dedicated views:
- Event Log
- Blocked IPs / failed challenges
Includes:
- pagination for easier review
- cleaner layout for high-volume stores
- export to CSV for analysis or backup
- improved readability for troubleshooting
📈 Recent Activity Summary (NEW)
The Logs page includes a built-in activity summary showing:
- Events (24h)
- Challenged (24h)
- Failed (24h)
- Limited (24h)
- Top bot families (7d)
- Top request paths (7d)
This gives store owners a quick snapshot of how the module is performing without needing to inspect individual log rows.
👀 Current Bot Activity (NEW)
PS Bot Defender now includes a lightweight Current Bot Activity view to help you see what is happening right now.
Displays:
- Active bots
- active bot families currently on site, such as:
- facebook
- google
- microsoft
- uncategorized
This makes it much easier to understand whether crawler traffic is:
- steady
- spiking
- or approaching family limits
📌 Dashboard Widget (NEW)
An optional PrestaShop Dashboard widget is included for quick visibility without opening the module.
The widget can display:
- Events (24h)
- Challenged (24h)
- Failed (24h)
- Limited (24h)
- Current bot activity
- Active bot families
- Refresh button
- Quick access to module logs
This makes PS Bot Defender easier to monitor as part of your normal store admin workflow.
🧹 Automated Log Cleanup System
Keep your database cleaner automatically.
Includes:
- configurable event log retention period
- manual cleanup button
- automatic cleanup runs without cron
- cleanup summary visibility
Also shows:
- last cleanup time
- number of entries deleted
- cleanup status messaging
Designed to keep logging useful without allowing historical records to grow endlessly.
🔒 Blocked IP Management (Enhanced)
Manage blocked IPs more easily with:
- block duration controls
- expiration visibility
- manual remove option
- clear expired entries
- CSV export
- cleanup tied to block duration
♾️ Never Expire Blocked IPs (NEW)
For stores that want stronger long-term enforcement, PS Bot Defender includes a setting to:
keep blocked IPs permanently until manually removed
When enabled:
- blocked IPs remain blocked indefinitely
- automatic block expiration is ignored
- block duration value is not used until this option is disabled again
This is especially useful for persistent bot abuse, scraper IPs, or stores that prefer a stricter security posture.
🌍 Multi-Language Support
Fully translatable and includes support for:
- English
- French
- Spanish
- German
- Italian
- Dutch
This includes:
- UI elements
- configuration labels
- help content
- log reasons
- dashboard text
- bot activity summaries
⚙️ Easy Configuration
Simple setup with practical controls including:
- Cloudflare Site Key & Secret Key
- Challenge score threshold
- Cookie duration
- Block duration
- Log retention settings
- Search bot verification options
- Protected paths list
- Protected path enforcement behavior
- Per-family bot limits
- Dashboard widget toggle
- Never-expire blocked IP toggle
Recommended values are included directly in the interface where useful.
🧠 Built for Performance
PS Bot Defender is designed to be lightweight and practical for real stores.
Includes:
- no cron required
- lightweight database usage
- cleanup only runs when needed
- minimal front-office overhead
- designed for high-traffic or bot-heavy stores
- suitable for shared hosting and VPS environments
🧾 Setup Guide + Help Tab Included
Includes built-in guidance directly inside the module.
The Help / Installation sections explain:
- how the module works
- how requests are evaluated
- how to read the logs
- what each action means
- how search bot verification works
- how to configure Cloudflare Turnstile
- how to safely test before enabling full protection
This makes the module much easier to configure and understand without needing outside documentation.
✅ Compatibility
- PrestaShop 8.2.x
- Classic theme and most standard themes
- No core overrides required
💡 Use Cases
PS Bot Defender is useful for stores that want to:
- block scraping bots
- reduce fake traffic
- protect forms and sensitive paths
- reduce server load from automated abuse
- improve analytics quality
- stop fake crawlers pretending to be search engines
- reduce unnecessary crawler activity on expensive pages
📌 Important Notes
- Uses Cloudflare Turnstile (free with Cloudflare account)
- Designed to minimize impact on real users
- Recommended to test using Test Mode before enabling full protection
- Search bots can be verified more safely using reverse + forward DNS checks
- Protected paths should generally align with your store’s robots.txt rules for best results
📜 Changelog
v1.9.5 (Current)
- Added Current Bot Activity to the Logs page
- Added Current Bot Activity to the optional dashboard widget
- Added Refresh button to the dashboard widget
- Added active bot family visibility including:
- facebook
- google
- microsoft
- uncategorized
- Improved dashboard monitoring workflow
- Updated and applied user-provided translation files:
- French
- Spanish
- Italian
- German
- Dutch
v1.9.4
- Applied updated user translation files to the module package
- Refreshed module package for cleaner translation deployment
v1.9.3
- Added best-effort translation refresh using latest French source
- Improved translation coverage across:
- Spanish
- Italian
- German
- Dutch
- Left uncertain translations blank instead of using wrong-language fallback
v1.9.2
- Added Refresh button to dashboard widget
- Added Current Bot Activity to dashboard widget
- Improved dashboard visibility for live crawler activity
- Added direct logs access from dashboard widget
v1.9.1
- Dashboard widget visibility and rendering fixes
- Improved dashboard integration behavior
v1.9.0
- Added Current Bot Activity section to Logs summary
- Displays active bots and currently active bot families
- Added uncategorized crawler activity visibility
- Improved live crawler visibility on the Logs page
v1.8.9
- Logs page rendering fixes for Current Bot Activity placement
v1.8.8
- Moved Current Bot Activity to Logs page for better usability
v1.8.7
- Initial Current Bot Activity implementation added
v1.8.6
- Regenerated Italian translation file more safely
- Removed incorrect French fallback from Italian file
- Improved translation safety for production use
v1.8.5
- Expanded Spanish and Italian translation coverage
- Translation refresh and packaging updates
v1.8.4
- Added Italian translation support back into the module
- Continued translation cleanup and packaging updates
v1.8.3
- Simplified translation package to French + Spanish while translation issues were being corrected
- Improved translation stability
v1.8.2
- Refreshed translation coverage across supported languages
- Improved translation consistency for logs, settings, and help text
v1.8.1
- Added warning when disabling Never Expire Blocked IPs
- Improved user guidance for blocklist retention changes
v1.8.0
- Improved cleanup logic for permanent blocklist mode
- Blocked IP cleanup now respects Never Expire Blocked IPs
- Better handling of permanent blocklist records
v1.7.9
- Improved help text and configuration guidance
- Refined wording for permanent blocklist option
v1.7.8
- Added Never Expire Blocked IPs option
- Added support for long-term manual blocklist enforcement
v1.7.7
- Added built-in Help tab
- Added detailed usage guidance and log interpretation help
v1.7.6
- Added option to blacklist bots that access protected paths
- Expanded protected path enforcement behavior
v1.7.5
- Refined protected paths handling
- Improved path coverage and behavior for crawler-only restrictions
v1.7.4
- Added protected paths system
- Added support for protecting internal and disallowed crawler paths
v1.7.3
- Dashboard widget improvements and fixes
- Improved dashboard visibility controls
v1.7.1
- Production-ready stability improvements
- Improved packaging and release cleanup
v1.7.0
- Added stronger bot-family and crawler handling improvements
- Expanded verification and crawler classification logic
v1.6.x
- Improved crawler verification logic
- Improved logging and block behavior
- Improved UI and operational stability
v1.5.4
- Added pagination to Event Logs and Blocked IPs (10 per page)
- Added recommended value guidance to key settings
- Added cleanup summary to Blocked IPs section
- Improved UI consistency across Logs tab
- Improved wording for first-time cleanup display (“Not yet run”)
- Fully synchronized translation system across all supported languages
v1.5.3
- Improved cleanup messaging display
- Added clearer handling for first-time cleanup state
v1.5.2
- UI improvements for cleanup controls
- Moved cleanup controls to Logs tab
- Improved user guidance for cleanup settings
v1.5.1
- Added automatic weekly event log cleanup
- Added manual cleanup button
- Added cleanup tracking (timestamp + entries deleted)
v1.5.0
- Initial event log cleanup system introduced
- Added retention settings
v1.4.x
- Improved translation system
- Fixed translation mapping for log reasons
- Ensured all log messages are translatable
- Added multi-language support foundation
v1.3.x and earlier
- Initial release
- Cloudflare Turnstile integration
- Bot detection system
- Logging and blocking framework