Benchmarks
Plugin footprint 39% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Please fix the following installer errors
- The plugin did not install without errors
- > Notice in wp-content/plugins/ad-blocking-detector/includes/anti-adblock.php+87
Trying to access array offset on value of type bool
Server metrics [RAM: ▲1.27MB] [CPU: ▲502.10ms] 75% from 4 tests
A check of server-side resources used by Ad Blocking Detector
The following require your attention
- Extra CPU: Extra CPU usage should be kept under 200.00ms (currently 502.10ms on /wp-admin/upload.php)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.89 ▲1.16 | 827.08 ▲803.82 |
Dashboard /wp-admin | 4.53 ▲1.47 | 845.67 ▲797.94 |
Posts /wp-admin/edit.php | 4.57 ▲1.46 | 862.03 ▲791.26 |
Add New Post /wp-admin/post-new.php | 6.41 ▲0.97 | 855.28 ▲198.22 |
Media Library /wp-admin/upload.php | 4.53 ▲1.53 | 258.12 ▲220.98 |
Server storage [IO: ▲4.35MB] [DB: ▲0.00MB] 67% from 3 tests
Input-output and database impact of this plugin
These are issues you should consider
- There were 270 files (4,067.33KB) illegally modified outside of "wp-content/plugins/ad-blocking-detector/" and "wp-content/uploads/"
- (new file) wp-content/plugins/evil-treatment/assets/banner-1544x500.png
- (new file) wp-content/plugins/evil-treatment/assets/anti-adblock/plugin-files/readme.txt
- (new file) wp-content/plugins/evil-treatment/assets/css/jquery/smoothness-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
- (new file) wp-content/plugins/evil-treatment/assets/anti-adblock/zip-name.txt
- (new file) wp-content/plugins/evil-treatment/assets/anti-adblock/well-representative-manual.zip
- (new file) wp-content/plugins/evil-treatment/assets/anti-adblock/plugin-files/ad-blocking-detector-block-list-countermeasure.php
- (new file) wp-content/plugins/evil-treatment/assets/css/admin.css
- (new file) wp-content/plugins/evil-treatment/assets/css/codemirror.css
- (new file) wp-content/plugins/evil-treatment/ad-blocking-detector-block-list-countermeasure.php
- (new file) wp-content/plugins/evil-treatment/assets/banner-772x250.png
- ...
Filesystem: 292 new files
Database: 1 new table, 1 new option
New tables |
---|
wp_abd_adblocker_stats |
New WordPress options |
---|
widget_abd_shortcode_widget |
Browser metrics Passed 4 tests
A check of browser resources used by Ad Blocking Detector
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,932 ▲336 | 18.07 ▲2.72 | 18.17 ▲8.01 | 59.12 ▲8.37 |
Dashboard /wp-admin | 3,066 ▲132 | 7.76 ▲1.79 | 155.40 ▲12.84 | 113.88 ▲2.33 |
Posts /wp-admin/edit.php | 2,823 ▲84 | 3.51 ▲0.80 | 87.99 ▲24.57 | 95.09 ▼8.65 |
Add New Post /wp-admin/post-new.php | 1,589 ▼2,063 | 15.45 ▼2.93 | 287.20 ▼192.03 | 110.46 ▼4.64 |
Media Library /wp-admin/upload.php | 1,903 ▲96 | 6.39 ▲1.36 | 148.80 ▼6.33 | 120.76 ▼12.61 |
Uninstaller [IO: ▲3.97MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- This plugin did not uninstall without warnings or errors
- > Notice in wp-content/plugins/ad-blocking-detector/includes/anti-adblock.php+221
Trying to access array offset on value of type bool
- This plugin does not fully uninstall, leaving 1 option in the database
- widget_abd_shortcode_widget
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected
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
Please take a closer look at the following
- 17× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Warning
include_once(ABSPATH/wp-admin/includes/plugin.php): failed to open stream: No such file or directory in wp-content/plugins/ad-blocking-detector/includes/multisite.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/ad-blocking-detector/ad-blocking-detector.php:56
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/ad-blocking-detector/includes/multisite.php on line 9
- > PHP Fatal error
require_once(): Failed opening required 'ABD_ROOT_PATHvendor/AdmiralAdBlockAnalytics.php' (include_path='.:/usr/share/php') in wp-content/plugins/ad-blocking-detector/views/admin-views.php on line 7
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/ad-blocking-detector/assets/anti-adblock/plugin-files/ad-blocking-detector-block-list-countermeasure.php:51
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/ad-blocking-detector/includes/widget.php:7
- > PHP Warning
require(ABD_ROOT_PATHincludes/database.php): failed to open stream: No such file or directory in wp-content/plugins/ad-blocking-detector/includes/setup.php on line 10
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/ad-blocking-detector/includes/wpsm/settings-manager.php:42
- > PHP Warning
require_once(ABD_ROOT_PATHvendor/AdmiralAdBlockAnalytics.php): failed to open stream: No such file or directory in wp-content/plugins/ad-blocking-detector/views/admin-views.php on line 7
- > PHP Warning
Use of undefined constant ABD_ROOT_PATH - assumed 'ABD_ROOT_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/ad-blocking-detector/includes/setup.php on line 10
- > PHP Warning
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 errors were detected
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
9 plugin tags: adblock plus, detector, ads, block adblock, adblock detector...
ad-blocking-detector/ad-blocking-detector.php 92% from 13 tests
Analyzing the main PHP file in "Ad Blocking Detector" version 3.6.0
The following require your attention:
- Description: Keep the plugin description shorter than 140 characters (currently 158 characters long)
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Please fix the following items
- Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/ad-blocking-detector/vendor/caroots.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 126 | 4,110 | 2,844 | 31,631 |
HTML | 107 | 2,157 | 8 | 11,467 |
PHP | 20 | 1,561 | 1,685 | 5,449 |
CSS | 6 | 134 | 97 | 1,653 |
Bourne Shell | 1 | 2 | 5 | 9 |
make | 1 | 1 | 0 | 3 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 35.32 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 116.00 |
Average method complexity | 3.38 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 34.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 19 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 19 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 273 | |
▷ Static methods | 186 | 68.13% |
▷ Public methods | 227 | 83.15% |
▷ Protected methods | 38 | 13.92% |
▷ Private methods | 8 | 2.93% |
Functions | 5 | |
▷ Named functions | 2 | 40.00% |
▷ Anonymous functions | 3 | 60.00% |
Constants | 18 | |
▷ Global constants | 10 | 55.56% |
▷ Class constants | 8 | 44.44% |
▷ Public constants | 8 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
16 PNG files occupy 0.31MB with 0.14MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/css/jquery/smoothness-theme/images/ui-bg_glass_75_e6e6e6_1x400.png | 0.26KB | 0.15KB | ▼ 42.37% |
assets/css/jquery/smoothness-theme/images/ui-bg_glass_95_fef1ec_1x400.png | 0.32KB | 0.15KB | ▼ 54.82% |
assets/banner-1544x500.png | 210.98KB | 157.02KB | ▼ 25.58% |
assets/css/jquery/smoothness-theme/images/ui-bg_glass_55_fbf9ee_1x400.png | 0.33KB | 0.12KB | ▼ 62.09% |
assets/banner-772x250.png | 53.95KB | 33.39KB | ▼ 38.10% |