Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Installer ran successfully
Server metrics [RAM: ▲3.21MB] [CPU: ▲19.43ms] Passed 4 tests
A check of server-side resources used by Spam protection, Anti-Spam, FireWall by CleanTalk
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.12 ▲2.65 | 61.78 ▲17.23 |
Dashboard /wp-admin | 6.71 ▲3.40 | 76.25 ▲14.14 |
Posts /wp-admin/edit.php | 6.75 ▲3.40 | 77.16 ▲29.31 |
Add New Post /wp-admin/post-new.php | 9.41 ▲3.52 | 113.17 ▲17.05 |
Media Library /wp-admin/upload.php | 6.63 ▲3.40 | 64.44 ▲30.37 |
Find spam comments /wp-admin/edit-comments.php?page=ct_check_spam | 7.24 | 74.16 |
Find spam users /wp-admin/users.php?page=ct_check_users | 7.29 | 65.77 |
Anti-Spam by CleanTalk /wp-admin/options-general.php?page=cleantalk | 6.86 | 69.98 |
All Comments /wp-admin/edit-comments.php | 6.69 | 65.04 |
WooCommerce spam orders /wp-admin/admin.php?page=apbct_wc_spam_orders | 7.14 | 60.78 |
Server storage [IO: ▲2.89MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 481 new files
Database: 10 new tables, 13 new options
New tables |
---|
wp_cleantalk_spamscan_logs |
wp_cleantalk_connection_reports |
wp_cleantalk_ac_log |
wp_cleantalk_no_cookie_data |
wp_cleantalk_sessions |
wp_cleantalk_ua_bl |
wp_cleantalk_sfw_personal |
wp_cleantalk_sfw |
wp_cleantalk_wc_spam_orders |
wp_cleantalk_sfw_logs |
New WordPress options |
---|
cleantalk_errors |
cleantalk_stats |
db_upgraded |
recovery_mode_email_last_sent |
widget_recent-comments |
cleantalk_data |
can_compress_scripts |
widget_recent-posts |
widget_theysaidso_widget |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Spam protection, Anti-Spam, FireWall by CleanTalk
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,208 ▲446 | 15.09 ▲0.79 | 7.88 ▲6.09 | 34.15 ▼10.98 |
Dashboard /wp-admin | 2,457 ▲286 | 6.34 ▲0.78 | 157.10 ▲59.21 | 88.42 ▲44.18 |
Posts /wp-admin/edit.php | 2,297 ▲197 | 2.04 ▲0.01 | 44.42 ▲6.57 | 36.91 ▼1.38 |
Add New Post /wp-admin/post-new.php | 1,709 ▲183 | 24.99 ▲1.47 | 643.12 ▼1.77 | 65.24 ▲16.15 |
Media Library /wp-admin/upload.php | 1,591 ▲191 | 4.21 ▲0.03 | 99.36 ▲0.63 | 43.86 ▲1.52 |
Find spam comments /wp-admin/edit-comments.php?page=ct_check_spam | 1,262 | 1.84 | 32.87 | 29.30 |
Find spam users /wp-admin/users.php?page=ct_check_users | 1,271 | 1.85 | 34.77 | 27.21 |
Anti-Spam by CleanTalk /wp-admin/options-general.php?page=cleantalk | 2,220 | 3.37 | 47.51 | 81.24 |
All Comments /wp-admin/edit-comments.php | 2,033 | 2.37 | 44.85 | 35.61 |
WooCommerce spam orders /wp-admin/admin.php?page=apbct_wc_spam_orders | 863 | 1.55 | 9.80 | 24.11 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- The uninstall procedure has failed, leaving 7 options in the database
- widget_theysaidso_widget
- db_upgraded
- theysaidso_admin_options
- recovery_mode_email_last_sent
- widget_recent-posts
- can_compress_scripts
- widget_recent-comments
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These server-side errors were triggered
- > GET request to /wp-admin/admin.php?page=apbct_wc_spam_orders
- > Error in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/WcSpamOrdersListTable.php+288
Uncaught Error: Call to a member function getApbct() on null in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/WcSpamOrdersListTable.php:288
Stack trace:
#0 wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/WcSpamOrdersListTable.php(37): Cleantalk\ApbctWP\WcSpamOrdersListTable->generatePageHeader()
#1 wp-content/plugins/cleantalk-spam-protect/inc/cleantalk-wc-spam-orders.php(18): Cleantalk\ApbctWP\WcSpamOrdersListTable->__construct()
#2 wp-includes/class-wp-hook.php(310): {closure}()
#3 wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#4 wp-includes/plugin.php(517): WP_Hook->do_action()
#5 wp-admin/admin.php(259): do_action()
#6 {main}
thrown
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
- 100× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Antispam\\Integrations\\IntegrationBase' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/Antispam/Integrations/LeadFormBuilder.php:5
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Antispam\\Integrations\\IntegrationBase' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/Antispam/Integrations/EstimationForm.php:7
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\ApbctWP\\FindSpam\\ListTable\\Users' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersLogs.php:7
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Antispam\\Integrations\\IntegrationBase' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/Antispam/Integrations/Supsystic.php:5
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Antispam\\Integrations\\IntegrationBase' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/Antispam/Integrations/GiveWP.php:7
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\ApbctWP\\FindSpam\\ListTable\\Users' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersScan.php:7
- > PHP Fatal error
Trait 'Cleantalk\\Templates\\Singleton' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/FindSpam/UsersScanResponse.php on line 8
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\ApbctWP\\CleantalkListTable' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/WcSpamOrdersListTable.php:8
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Antispam\\Integrations\\IntegrationBase' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/Antispam/Integrations/WpMembers.php:5
- > PHP Fatal error
Uncaught Error: Class 'Cleantalk\\Common\\Validate' not found in wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/Validate.php:5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser issues were found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
5 plugin tags: anti-spam, firewall, antispam, spam, comments
cleantalk-spam-protect/cleantalk.php 85% from 13 tests
The primary PHP file in "Spam protection, Anti-Spam, FireWall by CleanTalk" version 6.22 is used by WordPress to initiate all plugin functionality
Please make the necessary changes and fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("cleantalk-spam-protect.php" instead of "cleantalk.php")
- Description: The description should be shorter than 140 characters (currently 146 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Everything looks great! No dangerous files found in this plugin31,439 lines of code in 183 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 155 | 5,690 | 9,110 | 29,499 |
PO File | 1 | 301 | 334 | 892 |
HTML | 4 | 85 | 12 | 891 |
SVG | 1 | 114 | 0 | 126 |
JavaScript | 13 | 0 | 22 | 22 |
CSS | 9 | 2 | 8 | 9 |
PHP code 50% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
It is recommended to fix the following
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 106)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.57 |
Average class complexity | 17.87 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 216.00 |
Average method complexity | 3.47 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 106.00 |
Code structure | ||
---|---|---|
Namespaces | 16 | |
Interfaces | 0 | |
Traits | 2 | |
Classes | 136 | |
▷ Abstract classes | 8 | 5.88% |
▷ Concrete classes | 128 | 94.12% |
▷ Final classes | 0 | 0.00% |
Methods | 940 | |
▷ Static methods | 297 | 31.60% |
▷ Public methods | 756 | 80.43% |
▷ Protected methods | 73 | 7.77% |
▷ Private methods | 111 | 11.81% |
Functions | 447 | |
▷ Named functions | 405 | 90.60% |
▷ Anonymous functions | 42 | 9.40% |
Constants | 55 | |
▷ Global constants | 38 | 69.09% |
▷ Class constants | 17 | 30.91% |
▷ Public constants | 17 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
267 compressed PNG files occupy 0.19MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
inc/images/flags/az.png | 0.58KB | 0.75KB | 0.00% |
inc/images/flags/la.png | 0.55KB | 0.70KB | 0.00% |
inc/images/flags/sm.png | 0.49KB | 0.64KB | 0.00% |
inc/images/flags/hr.png | 0.51KB | 0.63KB | 0.00% |
inc/images/flags/uy.png | 0.52KB | 0.73KB | 0.00% |