Description
Smart Spam Cleaner provides an efficient way to remove spam users and posts from your WordPress site. It uses background processing via WordPress cron jobs to handle large datasets without impacting your site’s performance.
Key Features
- Dynamic Filtering – Configure your own spam keywords and email domains
- Advanced Conditions – Use AND/OR logic to combine keyword and domain filters
- Include/Exclude Domains – Specify which email domains to target or protect
- Flexible Post Handling – Choose between moving posts to trash or permanent deletion
- Background Processing – Uses WordPress cron jobs for non-blocking cleanup operations
- Batch Processing – Processes users and posts in small batches to avoid server overload
- Smart Detection – Identifies spam users based on customizable patterns
- Detailed Logging – Comprehensive logging of all cleanup activities
- Modern UI – Beautiful, responsive admin interface with progress tracking
- Security – Built-in security measures including nonce verification and capability checks
- Configurable – Customizable batch sizes and spam keywords
What Gets Deleted
Users:
The plugin uses your configured filters to determine which users to delete:
- Keyword Matching – Users with spam keywords in email, username, or display name
- Domain Filtering – Users with email domains in your include list (or all domains except exclude list)
- Condition Logic:
- OR: Delete if user matches ANY keyword OR domain filter
- AND: Delete if user matches ALL keyword AND domain filters
- Only affects users with the ‘subscriber’ role
Posts:
- Published posts containing spam keywords in the title or content
- Uses your configured post keywords list
- Deletion Mode:
- Move to Trash: Posts are moved to WordPress trash (recoverable)
- Permanent Delete: Posts are permanently deleted (irreversible)
Use Cases
- Clean up spam user registrations
- Remove bot-generated users
- Delete users from specific spam domains
- Clean up casino/gambling spam posts
- Bulk delete spam comments authors
- Protect legitimate users while removing spam
Safety Features
- Only processes users with ‘subscriber’ role
- Requires administrator privileges to run
- Includes confirmation dialogs
- Provides detailed logging for transparency
- Always backup your database before running cleanup operations
Configuration
Default Settings
- Batch Size – 500 items per batch
- User Keywords – btc, binance, crypto, telegram, usd, tinkoff, money, trading, wallet, forex, meta, xrp, airdrop, bam, bet, eur, rub, invest, usdt, euro
- User Domains:
- Include: (empty – all domains)
- Exclude: gmail.com
- User Condition – OR
- Post Keywords – casino, gambling, slots, bet, poker, blackjack, win money, jackpot, spin, roulette, wager, baccarat
- Post Deletion Mode – Move to Trash (recoverable)
Customization
You can modify the default settings through the admin interface or by adding the following to your wp-config.php file:
// Custom batch size
define('WWSSC_BATCH_SIZE', 1000);
Support
For support, feature requests, or bug reports, please visit our support page.
Privacy
This plugin does not collect, store, or transmit any user data outside of your WordPress installation. All operations are performed locally on your server.
Requirements
- WordPress 5.0 or higher
- PHP 7.4 or higher
- Administrator privileges
Credits
Developed by WizzyWeb Private Limited
Important
Always backup your database before running any cleanup operations. This plugin performs destructive operations that cannot be undone.
Screenshots
Installation
- Upload the plugin files to the
/wp-content/plugins/smart-spam-cleanerdirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Use the Users Delete Users & Spam Posts screen to configure and run the cleanup
FAQ
-
Is this plugin safe to use?
-
Yes, the plugin includes several safety measures:
* Only processes users with ‘subscriber’ role
* Requires administrator privileges to run
* Includes confirmation dialogs
* Provides detailed logging for transparency
* Always backup your database before running cleanup operations -
How do I configure the filters?
-
- Go to Users Spam Filter Settings
- Add your desired keywords and domains
- Choose your filter condition (AND/OR)
- Save settings
- Run the cleanup from the main plugin page
-
What’s the difference between AND and OR conditions?
-
- OR Condition – Delete user if they match ANY keyword OR domain filter
- AND Condition – Delete user only if they match ALL keyword AND domain filters
-
How do include/exclude domains work?
-
- Include Domains – Only delete users with these email domains
- Exclude Domains – Never delete users with these email domains (e.g., gmail.com)
- If Include is empty, all domains are targeted except excluded ones
- If Exclude is empty, no domains are protected
-
What’s the difference between trash and permanent deletion for posts?
-
- Move to Trash – Posts are moved to WordPress trash bin where they can be recovered or permanently deleted later
- Permanent Delete – Posts are immediately and permanently deleted from the database (cannot be recovered)
- Recommendation – Use “Move to Trash” for safety, then review and permanently delete from trash if needed
-
How long does the cleanup take?
-
The duration depends on:
* Number of users/posts to process
* Server performance
* Batch size settings
* WordPress cron frequencyFor large sites, the process may take several hours but runs in the background.
-
Can I stop the cleanup process?
-
The cleanup process runs via WordPress cron jobs. You can stop it by:
1. Deactivating the plugin
2. Clearing scheduled cron events
3. Restarting your web server -
What happens if the process is interrupted?
-
The plugin uses batch processing with progress tracking. If interrupted, you can restart the process and it will continue from where it left off.
-
Can I customize the spam keywords?
-
Yes! You can add, remove, or modify keywords through the Spam Filter Settings page. The interface allows you to dynamically manage your keyword lists.
-
Does this affect my site’s performance?
-
The plugin is designed to minimize performance impact:
* Runs in background via cron jobs
* Processes data in small batches
* Uses efficient database queries
* Includes built-in delays between batches -
Where can I find the cleanup log?
-
All cleanup activities are logged to:
wp-content/uploads/smart-spam-cleaner/smart-spam-cleaner.logThe log file contains:
* Timestamps for all operations
* Number of users/posts processed in each batch
* Success/failure status for each deletion
* Completion messages -
Can I use this plugin programmatically?
-
Yes! You can customize filters using WordPress filters:
add_filter('wwssc_user_filters', function($filters) { $filters['keywords'][] = 'custom_keyword1'; $filters['keywords'][] = 'custom_keyword2'; $filters['domains']['include'][] = 'spamdomain.com'; $filters['domains']['exclude'][] = 'trusted.com'; $filters['condition'] = 'AND'; return $filters; }); add_filter('wwssc_post_filters', function($filters) { $filters['keywords'][] = 'custom_keyword1'; $filters['keywords'][] = 'custom_keyword2'; return $filters; }); -
Can I change the batch size?
-
Yes! You can configure batch size in the settings page (range: 50-2000).
You can also define a custom batch size in your
wp-config.phpfile:define('WWSSC_BATCH_SIZE', 1000);
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Smart Spam Cleaner” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Smart Spam Cleaner” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release with basic functionality
- FIXED: File path issues – Now uses
wp_upload_dir()instead ofWP_CONTENT_DIR(WordPress guidelines compliance) - FIXED: Removed
wp_set_current_user()call from cron function (security improvement) - FIXED: Removed Plugin URI from header (standard for plugins under review)
- IMPROVED: Better error handling for uploads directory failures
-
IMPROVED: Added documentation comments explaining WordPress best practices
-
NEW: Dynamic filter configuration system
- NEW: Configurable spam keywords and email domains
- NEW: Include/exclude domain functionality
- NEW: AND/OR condition logic for filters
- NEW: Post deletion mode (trash vs permanent delete)
- NEW: Settings page with modern UI
- NEW: Real-time filter management
- IMPROVED: Complete rewrite with modern architecture
- IMPROVED: Enhanced UI with responsive design
- IMPROVED: Better error handling and logging
-
IMPROVED: AJAX-powered admin interface
-
Initial release with basic functionality
- Background processing via WP-Cron
- Basic spam detection
- Simple admin interface




