Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors
Server metrics [RAM: ▼2.00MB] [CPU: ▼339.72ms] Passed 4 tests
A check of server-side resources used by SlideDeck 2 Lite Responsive Content Slider
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.37 ▼1.14 | 7.67 ▼44.85 |
Dashboard /wp-admin | 2.39 ▼1.02 | 8.22 ▼26.07 |
Posts /wp-admin/edit.php | 2.39 ▼1.25 | 8.21 ▼28.16 |
Add New Post /wp-admin/post-new.php | 2.38 ▼4.58 | 7.52 ▼1,259.81 |
Media Library /wp-admin/upload.php | 2.39 ▼0.90 | 6.18 ▼17.43 |
Server storage [IO: ▲5.85MB] [DB: ▲0.00MB] 67% from 3 tests
Filesystem and database footprint
Please fix the following
- Illegal file modification found: 1 file (0.00KB) outside of "wp-content/plugins/slidedeck2/" and "wp-content/uploads/"
- (new file) wp-content/plugins/slidedeck-lenses/.empty
Filesystem: 409 new files
Database: no new tables, 7 new options
New WordPress options |
---|
slidedeck_cohort |
widget_slidedeck2_widget |
slidedeck_version |
slidedeck_partner |
slidedeck2_lite_installed |
slidedeck_license |
slidedeck2_installed |
Browser metrics Passed 4 tests
Checking browser requirements for SlideDeck 2 Lite Responsive Content Slider
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,027 ▲273 | 17.85 ▲2.18 | 22.15 ▲16.06 | 2.33 ▼0.43 |
Dashboard /wp-admin | 2,939 ▲78 | 6.01 ▼0.15 | 115.35 ▼22.19 | 177.63 ▲5.78 |
Posts /wp-admin/edit.php | 2,741 ▲50 | 3.14 ▼0.09 | 63.08 ▼1.22 | 140.69 ▼13.09 |
Add New Post /wp-admin/post-new.php | 1,697 ▲9 | 15.43 ▼4.32 | 413.84 ▲23.41 | 158.27 ▼1.49 |
Media Library /wp-admin/upload.php | 1,744 ▲46 | 5.50 ▼0.03 | 122.23 ▼25.36 | 199.16 ▲14.57 |
Manage /wp-admin/slidedeck2-lite.php | 26 | 0.94 | 0.03 | 20.24 |
Lenses /wp-admin/slidedeck2-lite.php/lenses | 26 | 0.94 | 0.03 | 15.15 |
Advanced Options /wp-admin/slidedeck2-lite.php/options | 26 | 0.94 | 0.07 | 14.85 |
Get More Features /wp-admin/slidedeck2-lite.php/upgrades | 26 | 0.94 | 0.05 | 14.96 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- Uninstall procedure had uncaught errors
- > User deprecated in wp-includes/functions.php+5409
The called constructor method for WP_Widget in SlideDeck2Widget is deprecated since version 4.3.0! Use __construct() instead.
- Zombie WordPress options detected upon uninstall: 7 options
- slidedeck_cohort
- slidedeck2_installed
- slidedeck_license
- slidedeck2_lite_installed
- widget_slidedeck2_widget
- slidedeck_version
- slidedeck_partner
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, this is by no means 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
Please fix the following items
- 8× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/slidedeck2/views/elements/_blog-feed.php
- > /wp-content/plugins/slidedeck2/views/elements/_editor-styles.php
- > /wp-content/plugins/slidedeck2/views/help/whats-new.php
- > /wp-content/plugins/slidedeck2/views/elements/_upgrade_button.php
- > /wp-content/plugins/slidedeck2/views/elements/_insert-iframe-table.php
- > /wp-content/plugins/slidedeck2/views/elements/_pointers.php
- > /wp-content/plugins/slidedeck2/views/elements/_ress-js-footer-part.php
- > /wp-content/plugins/slidedeck2/views/elements/_latest-tweets.php
- 135× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/slidedeck2/views/elements/_lens.php on line 37
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/slidedeck2/views/elements/_source-modal.php:34
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/slidedeck2/views/elements/_manage-table.php:94
- > PHP Notice
Undefined variable: can_edit_lenses in wp-content/plugins/slidedeck2/views/elements/_lens.php on line 37
- > PHP Notice
Undefined variable: wp_styles in wp-content/plugins/slidedeck2/views/preview-iframe.php on line 78
- > PHP Fatal error
Uncaught Error: Class 'SlideDeck' not found in wp-content/plugins/slidedeck2/sources/flickr/source.php:2
- > PHP Warning
Use of undefined constant SLIDEDECK2_URLPATH - assumed 'SLIDEDECK2_URLPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/slidedeck2/views/elements/_editor-styles.php on line 35
- > PHP Notice
Undefined variable: values in wp-content/plugins/slidedeck2/views/elements/_upgrade_button.php on line 2
- > PHP Warning
in_array() expects parameter 2 to be array, null given in wp-content/plugins/slidedeck2/views/upsells/_upsell-additional-lens-manage.php on line 25
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/slidedeck2/views/elements/_upgrade_button.php on line 3
- > PHP Notice
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please take a look at the following user-side issues
- > GET request to /wp-admin/slidedeck2-lite.php
- > Network (severe)
wp-admin/slidedeck2-lite.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/slidedeck2-lite.php/lenses
- > Network (severe)
wp-admin/slidedeck2-lite.php/lenses - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/slidedeck2-lite.php/options
- > Network (severe)
wp-admin/slidedeck2-lite.php/options - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/slidedeck2-lite.php/upgrades
- > Network (severe)
wp-admin/slidedeck2-lite.php/upgrades - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention:
- Tags: Please reduce the number of tags, currently 34 tag instead of maximum 10
slidedeck2/slidedeck2-lite.php 85% from 13 tests
The main PHP file in "SlideDeck 2 Lite Responsive Content Slider" ver. 2.3.21 adds more information about the plugin and also serves as the entry point for this plugin
The following require your attention:
- Description: Please keep the plugin description shorter than 140 characters (currently 184 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("slidedeck2.php" instead of "slidedeck2-lite.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
No dangerous file extensions were detected29,631 lines of code in 132 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 16 | 391 | 446 | 11,397 |
PHP | 72 | 2,404 | 4,793 | 9,712 |
JavaScript | 38 | 1,744 | 1,632 | 8,034 |
HTML | 1 | 53 | 7 | 266 |
JSON | 3 | 0 | 0 | 174 |
Markdown | 2 | 42 | 0 | 48 |
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.41 |
Average class complexity | 69.63 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 462.00 |
Average method complexity | 5.18 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 76.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 19 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 19 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 312 | |
▷ Static methods | 20 | 6.41% |
▷ Public methods | 294 | 94.23% |
▷ Protected methods | 2 | 0.64% |
▷ Private methods | 16 | 5.13% |
Functions | 26 | |
▷ Named functions | 26 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 26 | |
▷ Global constants | 26 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
228 PNG files occupy 3.37MB with 1.78MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/gplus-how-to/step1.png | 6.17KB | 5.30KB | ▼ 14.19% |
images/lens-thumbnail-shadow.png | 1.27KB | 0.61KB | ▼ 52.11% |
images/icon-delete-lens.png | 1.17KB | 0.29KB | ▼ 74.77% |
lenses/tool-kit/images/arrowstyle_2-sml.png | 1.62KB | 0.71KB | ▼ 56.33% |
images/addons/check-no-sprite.png | 1.62KB | 0.54KB | ▼ 66.47% |