Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲0.32MB] [CPU: ▼7.39ms] Passed 4 tests
This is a short check of server-side resources used by Nokaut Offers Box
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.78 ▲0.32 | 45.67 ▲0.03 |
Dashboard /wp-admin | 3.67 ▲0.33 | 53.49 ▼14.30 |
Posts /wp-admin/edit.php | 3.72 ▲0.37 | 50.48 ▼1.61 |
Add New Post /wp-admin/post-new.php | 6.21 ▲0.33 | 89.75 ▼13.69 |
Media Library /wp-admin/upload.php | 3.53 ▲0.31 | 39.10 ▲4.29 |
Nokaut Offers Box /wp-admin/options-general.php?page=nokaut-offers-box-config | 3.65 | 40.22 |
Server storage [IO: ▲4.59MB] [DB: ▲0.07MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 781 new files
Database: no new tables, 6 new options
New WordPress options |
---|
theysaidso_admin_options |
can_compress_scripts |
widget_recent-posts |
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
Browser metrics Passed 4 tests
Nokaut Offers Box: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,888 ▲127 | 13.51 ▼0.47 | 9.35 ▲7.05 | 43.52 ▲1.13 |
Dashboard /wp-admin | 2,211 ▲36 | 5.63 ▼0.01 | 86.95 ▼13.64 | 39.26 ▼2.82 |
Posts /wp-admin/edit.php | 2,113 ▲13 | 2.02 ▲0.03 | 36.42 ▼4.88 | 36.47 ▼3.47 |
Add New Post /wp-admin/post-new.php | 1,538 ▼7 | 23.47 ▲0.35 | 672.33 ▲63.09 | 56.73 ▲4.39 |
Media Library /wp-admin/upload.php | 1,413 ▲10 | 4.25 ▼0.03 | 106.82 ▲3.81 | 47.39 ▲5.57 |
Nokaut Offers Box /wp-admin/options-general.php?page=nokaut-offers-box-config | 1,322 | 1.90 | 34.14 | 43.97 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 6 options
- widget_recent-posts
- can_compress_scripts
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test
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
Almost there! Just fix the following items
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/nokaut-offers-box/nokaut-offers-box.php
- 486× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/nokaut-offers-box/vendor/twig/twig/src/Node/Expression/Binary/FloorDivBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\AbstractExpression' not found in wp-content/plugins/nokaut-offers-box/vendor/twig/twig/src/Node/Expression/ArrayExpression.php:16
- > PHP Fatal error
Uncaught Error: Interface 'Nokaut\\ApiKit\\Ext\\Data\\Decorator\\Products\\Callback\\CallbackInterface' not found in wp-content/plugins/nokaut-offers-box/vendor/nokaut/api-kit/src/Ext/Data/Decorator/Products/Callback/SetProductsCategory.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\ode' not found in wp-content/plugins/nokaut-offers-box/vendor/twig/twig/src/Node/SetNode.php:22
- > PHP Fatal error
Uncaught Error: Interface 'Nokaut\\ApiKit\\Ext\\Data\\Converter\\ConverterInterface' not found in wp-content/plugins/nokaut-offers-box/vendor/nokaut/api-kit/src/Ext/Data/Converter/Filters/ShopsConverter.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Nokaut\\ApiKit\\Ext\\Data\\Converter\\Filters\\Callback\\Producers\\CallbackInterface' not found in wp-content/plugins/nokaut-offers-box/vendor/nokaut/api-kit/src/Ext/Data/Converter/Filters/Callback/Producers/SortByTotal.php:10
- > PHP Fatal error
Uncaught Error: Class 'Twig\\Error\\Error' not found in wp-content/plugins/nokaut-offers-box/vendor/twig/twig/src/Error/SyntaxError.php:20
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/nokaut-offers-box/vendor/nokaut/api-kit/tests/Repository/ProducersRepositoryTest.php:17
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/nokaut-offers-box/vendor/twig/twig/src/Node/Expression/Binary/EndsWithBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'Nokaut\\ApiKit\\Collection\\CollectionAbstract' not found in wp-content/plugins/nokaut-offers-box/vendor/nokaut/api-kit/src/Ext/Data/Collection/Filters/FiltersAbstract.php:7
- > 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 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
- Screenshots: Please add images for these screenshots: #1 (Konfiguracja pluginu. (Plugin configuration.)), #2 (Oferty w szablonie `box`, duży rozmiar obrazków. (Offers in `box` template with big images.)), #3 (Oferty w szablonie `box`, standardowy rozmiar obrazków. (Offers in `box` template with standard images.)), #4 (Oferty w szablonie `boxes`, w dwóch wierszach. (Offers in `boxes` template in two rows.)), #5 (Oferty w szablonie `fullbox`. (Offers in `full` template.)), #6 (Oferty w szablonie `list`, duży rozmiar obrazków. (Offers in `list` template with big images.)), #7 (Oferty w szablonie `list`, standardowy rozmiar obrazków. (Offers in `list` template with standard images.)), #8 (Oferty w szablonie `carrusel`. (Offers in `carrusel` template.))
nokaut-offers-box/nokaut-offers-box.php Passed 13 tests
The main PHP script in "Nokaut Offers Box" version 1.4.0 is automatically included on every request by WordPress
59 characters long description:
Nokaut.pl provides offers boxes for your wordpress website.
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
No dangerous file extensions were detected66,699 lines of code in 743 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 654 | 8,849 | 16,337 | 40,347 |
JSON | 37 | 1 | 0 | 19,362 |
Markdown | 22 | 1,338 | 0 | 3,922 |
CSS | 2 | 239 | 9 | 1,321 |
JavaScript | 4 | 57 | 31 | 660 |
Twig | 9 | 53 | 0 | 504 |
LESS | 1 | 2 | 0 | 196 |
YAML | 4 | 49 | 33 | 176 |
Ant | 1 | 18 | 0 | 109 |
XML | 5 | 3 | 2 | 61 |
Dockerfile | 2 | 3 | 0 | 22 |
reStructuredText | 1 | 8 | 5 | 10 |
make | 1 | 4 | 0 | 9 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.32 |
Average class complexity | 6.35 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 166.00 |
Average method complexity | 2.04 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 103 | |
Interfaces | 55 | |
Traits | 5 | |
Classes | 570 | |
▷ Abstract classes | 24 | 4.21% |
▷ Concrete classes | 546 | 95.79% |
▷ Final classes | 91 | 16.67% |
Methods | 3,109 | |
▷ Static methods | 285 | 9.17% |
▷ Public methods | 2,629 | 84.56% |
▷ Protected methods | 170 | 5.47% |
▷ Private methods | 310 | 9.97% |
Functions | 347 | |
▷ Named functions | 186 | 53.60% |
▷ Anonymous functions | 161 | 46.40% |
Constants | 183 | |
▷ Global constants | 14 | 7.65% |
▷ Class constants | 169 | 92.35% |
▷ Public constants | 157 | 92.90% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
11 PNG files occupy 1.04MB with 0.68MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-4.png | 92.73KB | 27.24KB | ▼ 70.62% |
screenshot-6.png | 50.77KB | 24.45KB | ▼ 51.83% |
screenshot-8.png | 59.42KB | 21.21KB | ▼ 64.31% |
screenshot-1.png | 163.13KB | 46.34KB | ▼ 71.59% |
screenshot-5.png | 143.70KB | 43.10KB | ▼ 70.01% |