Benchmarks
Plugin footprint Passed 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.37MB] [CPU: ▼262.91ms] Passed 4 tests
Analyzing server-side resources used by Popliup - Wordpress Popup Plugin
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.24 ▲0.40 | 42.45 ▲9.70 |
Dashboard /wp-admin | 3.46 ▲0.40 | 48.64 ▲7.77 |
Posts /wp-admin/edit.php | 3.50 ▲0.40 | 45.61 ▲5.49 |
Add New Post /wp-admin/post-new.php | 5.78 ▲0.35 | 94.67 ▼1,061.77 |
Media Library /wp-admin/upload.php | 3.34 ▲0.33 | 35.92 ▼3.14 |
Add New /wp-admin/post-new.php?post_type=popliup | 3.27 | 34.84 |
All Popups /wp-admin/edit.php?post_type=popliup | 3.44 | 34.77 |
Server storage [IO: ▲0.19MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 39 new files
Database: no new tables, no new options
Browser metrics Passed 4 tests
A check of browser resources used by Popliup - Wordpress Popup Plugin
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,849 ▲243 | 16.88 ▲1.10 | 12.06 ▲4.89 | 46.24 ▼1.26 |
Dashboard /wp-admin | 2,988 ▲138 | 7.01 ▲1.14 | 135.34 ▲3.30 | 113.54 ▲16.33 |
Posts /wp-admin/edit.php | 2,792 ▲86 | 2.99 ▲0.30 | 71.66 ▲1.27 | 112.17 ▲18.10 |
Add New Post /wp-admin/post-new.php | 1,913 ▲60 | 16.03 ▼2.92 | 381.23 ▲3.15 | 125.28 ▲18.77 |
Media Library /wp-admin/upload.php | 1,849 ▲77 | 5.44 ▲0.44 | 131.41 ▼20.71 | 130.72 ▲16.93 |
Add New /wp-admin/post-new.php?post_type=popliup | 4,724 | 9.57 | 250.88 | 197.09 |
All Popups /wp-admin/edit.php?post_type=popliup | 1,443 | 2.68 | 68.73 | 86.36 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
This plugin's uninstaller ran successfully
Smoke tests 0% 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)
Almost there, just fix the following server-side errors
- 4 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=popliup
- > Notice in wp-content/plugins/popliup/admin/class-popliup-admin.php+514
Trying to access array offset on value of type null
- 3 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=popliup
- > Warning in wp-content/plugins/popliup/admin/inc/popliup_options_metabox.php+135
Illegal string offset 'popup_theme'
SRP 0% 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 fix the following items
- 2× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/popliup/admin/inc/popliup_contact_support_metabox.php
- > /wp-content/plugins/popliup/admin/inc/popliup_pro_ver_info_metabox.php
- 7× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/popliup/admin/inc/popliup_conditions_metabox.php:7
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/popliup/themes/default/default.php:13
- > PHP Warning
require_once(POPLI_INC_DIRclass-mobile-detect.php): failed to open stream: No such file or directory in wp-content/plugins/popliup/includes/display-rules/class-popliup-rule-device.php on line 9
- > PHP Warning
Use of undefined constant POPLI_INC_DIR - assumed 'POPLI_INC_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/popliup/includes/display-rules/class-popliup-rule-device.php on line 9
- > PHP Fatal error
require_once(): Failed opening required 'POPLI_INC_DIRclass-mobile-detect.php' (include_path='.:/usr/share/php') in wp-content/plugins/popliup/includes/display-rules/class-popliup-rule-device.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/popliup/themes/minimal/minimal.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function get_post_meta() in wp-content/plugins/popliup/admin/inc/popliup_options_metabox.php:7
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There are user-side issues you should fix
- 2 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=popliup
- > Javascript (severe) in unknown
/wp-content/plugins/popliup/assets/js/popliup-wp-admin.min.js?ver=1.0 5:141 Uncaught TypeError: a(...).live is not a function
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need to be fixed:
- Plugin Name: "Plugin Name" should be replaced with the name of your plugin on the first line (
=== popliup ===
)
popliup/popliup.php 92% from 13 tests
The entry point to "Popliup - Wordpress Popup Plugin" version 1.1.1 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 180 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin2,190 lines of code in 30 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 22 | 799 | 1,363 | 1,735 |
CSS | 4 | 4 | 22 | 377 |
HTML | 1 | 4 | 2 | 63 |
JavaScript | 3 | 0 | 8 | 15 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.49 |
Average class complexity | 16.19 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 134.00 |
Average method complexity | 2.90 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 16 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 16 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 128 | |
▷ Static methods | 12 | 9.38% |
▷ Public methods | 114 | 89.06% |
▷ Protected methods | 2 | 1.56% |
▷ Private methods | 12 | 9.38% |
Functions | 3 | |
▷ Named functions | 3 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 19 | |
▷ Global constants | 10 | 52.63% |
▷ Class constants | 9 | 47.37% |
▷ Public constants | 9 | 100.00% |
Plugin size Passed 1 test
Image compression Passed 1 test
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
1 PNG file occupies 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/popliup_ico.png | 1.21KB | 0.29KB | ▼ 75.69% |