Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲0.46MB] [CPU: ▲0.01ms] Passed 4 tests
A check of server-side resources used by Modern Polls
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.95 ▲0.49 | 45.00 ▲3.90 |
Dashboard /wp-admin | 3.79 ▲0.49 | 50.37 ▼1.03 |
Posts /wp-admin/edit.php | 3.84 ▲0.49 | 59.19 ▲9.21 |
Add New Post /wp-admin/post-new.php | 6.31 ▲0.43 | 84.92 ▼12.04 |
Media Library /wp-admin/upload.php | 3.65 ▲0.42 | 45.41 ▲10.58 |
All Polls /wp-admin/admin.php?page=modern-polls | 3.64 | 36.22 |
Settings /wp-admin/admin.php?page=modern-polls.settings | 3.64 | 36.22 |
Create /wp-admin/admin.php?page=modern-polls.create | 3.69 | 37.86 |
Help /wp-admin/admin.php?page=modern-polls.help | 3.62 | 33.58 |
Templates /wp-admin/admin.php?page=modern-polls.templates | 3.63 | 35.23 |
Server storage [IO: ▲1.43MB] [DB: ▲0.01MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 97 new files
Database: 5 new tables, 6 new options
New tables |
---|
wp_mp_pollinfos |
wp_mp_polls |
wp_mp_locklist |
wp_mp_settings |
wp_mp_templates |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-posts |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-comments |
db_upgraded |
Browser metrics Passed 4 tests
An overview of browser requirements for Modern Polls
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,993 ▲232 | 14.56 ▲0.34 | 14.42 ▲12.70 | 43.90 ▲2.67 |
Dashboard /wp-admin | 2,252 ▲49 | 5.82 ▲0.92 | 105.01 ▼0.65 | 65.78 ▲22.09 |
Posts /wp-admin/edit.php | 2,137 ▲34 | 2.02 ▲0.01 | 37.14 ▼5.77 | 35.17 ▼2.71 |
Add New Post /wp-admin/post-new.php | 1,557 ▲12 | 17.56 ▼5.50 | 706.28 ▲25.72 | 55.91 ▲6.96 |
Media Library /wp-admin/upload.php | 1,434 ▲31 | 4.13 ▼0.11 | 112.57 ▲12.96 | 52.02 ▲5.60 |
All Polls /wp-admin/admin.php?page=modern-polls | 911 | 1.84 | 29.46 | 30.41 |
Settings /wp-admin/admin.php?page=modern-polls.settings | 978 | 1.86 | 27.79 | 31.42 |
Create /wp-admin/admin.php?page=modern-polls.create | 3,494 | 5.53 | 105.68 | 69.47 |
Help /wp-admin/admin.php?page=modern-polls.help | 815 | 1.86 | 24.94 | 23.98 |
Templates /wp-admin/admin.php?page=modern-polls.templates | 869 | 1.92 | 26.21 | 34.34 |
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
The following items require your attention
- The uninstall procedure has failed, leaving 6 options in the database
- widget_theysaidso_widget
- can_compress_scripts
- widget_recent-posts
- theysaidso_admin_options
- widget_recent-comments
- db_upgraded
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though no errors were found, this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following
- 24× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/modern-polls/resources/views/info.php:16
- > PHP Notice
Undefined variable: settings in wp-content/plugins/modern-polls/resources/views/settings.php on line 16
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/modern-polls/resources/views/templates.php:17
- > PHP Fatal error
Uncaught Error: Class 'FelixTzWPModernPolls\\Models\\Model' not found in wp-content/plugins/modern-polls/app/Models/Polls.php:16
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/modern-polls/resources/views/edit.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/modern-polls/modern-polls.php:547
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/modern-polls/resources/views/created.php:16
- > PHP Notice
Undefined variable: settings in wp-content/plugins/modern-polls/resources/views/settings.php on line 15
- > PHP Notice
Undefined variable: settings in wp-content/plugins/modern-polls/resources/views/settings.php on line 13
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/modern-polls/resources/views/create.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Attributes that need to be fixed:
- Screenshots: Screenshot #4 (Result Examples) image not found
- Donate link: Invalid url: ""
modern-polls/modern-polls.php Passed 13 tests
The entry point to "Modern Polls" version 1.0.10 is a PHP file that has certain tags in its header comment area
63 characters long description:
Modern AJAX Polls, easy to use with different or your own Theme
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
Success! There were no dangerous files found in this plugin8,626 lines of code in 70 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JSON | 4 | 0 | 0 | 3,640 |
PHP | 31 | 498 | 454 | 2,764 |
Sass | 8 | 209 | 0 | 1,055 |
JavaScript | 8 | 65 | 49 | 541 |
HTML | 8 | 61 | 0 | 245 |
PO File | 1 | 96 | 10 | 209 |
CSS | 9 | 28 | 53 | 151 |
SVG | 1 | 2 | 0 | 21 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 14.41 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 72.00 |
Average method complexity | 2.85 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 20.00 |
Code structure | ||
---|---|---|
Namespaces | 4 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 17 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 17 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 124 | |
▷ Static methods | 8 | 6.45% |
▷ Public methods | 123 | 99.19% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 0.81% |
Functions | 3 | |
▷ Named functions | 2 | 66.67% |
▷ Anonymous functions | 1 | 33.33% |
Constants | 6 | |
▷ Global constants | 6 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
9 PNG files occupy 0.64MB with 0.44MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-4.png | 43.86KB | 20.47KB | ▼ 53.34% |
resources/assets/images/icon-128x128.png | 4.61KB | 1.37KB | ▼ 70.24% |
resources/assets/images/icon-16x16.png | 2.94KB | 0.41KB | ▼ 85.97% |
resources/views/templates/default/preview.png | 44.95KB | 13.06KB | ▼ 70.95% |
resources/views/templates/basic/preview.png | 124.95KB | 51.21KB | ▼ 59.02% |