Spam User Detective WP Registry grade A-. Low-severity findings · 1 findingWP RegistryLow-severity findings · 1 findingOpen the reportA-
Spam and bot user detection plugin for WordPress and WooCommerce that helps you identify, manage, and remove suspicious user accounts while protecting legitimate users.
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/open-wp-club/spam-user-detective-wp/releases/download/1.5.7/spam-user-detective-wp.zipSpam and bot user detection plugin for WordPress and WooCommerce that helps you identify, manage, and remove suspicious user accounts while protecting legitimate users.
Features
Smart Detection
- Multiple Pattern Analysis: Detects common spam username patterns and suspicious email addresses
- Domain Reputation: Identifies disposable email domains and suspicious registration patterns
- Bulk Registration Detection: Flags mass registrations from same domains or IP patterns
- Activity Analysis: Identifies dormant accounts with no posts, comments, or engagement
User Protection
- Role-Based Protection: Automatically protects Administrators, Editors, and Shop Managers
- WooCommerce Integration: Special handling for customers with purchase history
Export & Import
- CSV Export: Export suspicious users with detailed analysis data
- Domain List Management: Import/export whitelist and suspicious domain lists
- Bulk Operations: Efficient management of large user databases
Installation
Method 1: WordPress Admin (Recommended)
- Download the latest release from GitHub Releases
- Go to Plugins > Add New > Upload Plugin
- Choose the downloaded ZIP file and click Install Now
- Click Activate Plugin
Method 2: Manual Installation
- Download and extract the plugin files
- Upload the
spam-user-detectivefolder to/wp-content/plugins/ - Go to Plugins in your WordPress admin
- Find "Spam User Detective" and click Activate
Method 3: Git Clone
cd /path/to/wordpress/wp-content/plugins/
git clone https://github.com/Open-WP-Club/Spam-User-Detective.git spam-user-detective
Usage Guide
Getting Started
- Create a Backup: Always backup your database before using any user management tool
- Access the Plugin: Go to Users > Spam Detective in your WordPress admin
- Configure Settings: Add trusted domains to whitelist and known spam domains to blacklist
- Run Analysis: Choose between Quick Scan (100 recent users) or Full Analysis
Analysis Options
Quick Scan
- Analyzes the 100 most recent user registrations
- Perfect for regular maintenance and recent spam detection
- Faster execution, ideal for larger sites
Full Analysis
- Scans your entire user database
- Comprehensive detection for complete cleanup
- May take longer on sites with many users
Understanding Risk Levels
| Risk Level | Score Range | Description | Recommended Action |
|---|---|---|---|
| 🔴 High | 70+ | Multiple spam indicators | Safe to delete |
| 🟡 Medium | 40-69 | Some suspicious patterns | Review manually |
| 🟢 Low | 25-39 | Minor flags detected | Investigate further |
Status Icons
| Icon | Meaning | Action |
|---|---|---|
| 🛡️ | Protected Role (Admin/Editor) | Cannot be deleted |
| 🔒 | Protected User | Cannot be deleted |
| 🛒 | Has WooCommerce Orders | Protected by default |
| ⚠️ | Can be deleted | Available for removal |
Bulk Actions
- Select All High Confidence: Selects users with 70+ risk score
- Select All Deletable: Selects non-protected users without orders
- Select All Suspicious: Selects all flagged users (respects protection)
- Delete Selected: Removes selected users immediately
- Export Selected: Downloads CSV with user details
Configuration
Domain Management
Detection Patterns
The plugin automatically detects:
- Random character usernames:
xjk8m9p2,aqwerty123 - Pattern-based names:
user123,name-456 - Missing display names or profiles
- Bulk registrations from same domains
- Inactive accounts with no engagement
WooCommerce Settings
When WooCommerce is active:
- Users with completed orders are protected by default
- Shopping cart icon (🛒) indicates customers
- "Force Delete" option available for override
- Order status considered in risk scoring
Technical Details
Database Impact
- Uses WordPress transients for caching (24-hour expiration)
- No custom database tables created
- Minimal database footprint
- Automatic cache cleanup on deactivation
Performance Considerations
- Caching system reduces repeated analysis overhead
- Batch processing prevents memory exhaustion
- Progressive loading for large datasets
- Optimized database queries with proper indexing
Development
Local Development Setup
# Clone the repository
git clone https://github.com/Open-WP-Club/Spam-User-Detective.git
# Install in WordPress plugins directory
cp -r Spam-User-Detective /path/to/wordpress/wp-content/plugins/spam-user-detective
# Activate via WordPress admin or WP-CLI
wp plugin activate spam-user-detective
Contributing
We welcome contributions from the community! Here's how you can help:
Reporting Issues
- Check existing issues
- Create a new issue with detailed information
- Include WordPress version, PHP version, and error logs
- Describe expected vs actual behavior
Submitting Pull Requests
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes following our coding standards
- Test thoroughly on different WordPress versions
- Commit with clear messages:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request with detailed description
License
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
Support
Free Support
- GitHub Issues - Bug reports and feature requests
- Documentation - Comprehensive usage guide
- Community Discussions - Questions and community help
Before Asking for Help
- Update to latest version - Many issues are resolved in updates
- Check existing issues - Your question might already be answered
- Test with default theme - Rule out theme conflicts
- Disable other plugins - Identify plugin conflicts
- Provide system info - WordPress, PHP, and plugin versions
Releases
7 releases. Each count is every asset in that release; expand a row for the breakdown.