Benchmarks
Plugin footprint 83% from 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 successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.91MB] [CPU: ▲0.46ms] Passed 4 tests
Server-side resources used by iPanorama 360 - WordPress Virtual Tour Builder
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.09 ▲0.63 | 42.72 ▲1.49 |
Dashboard /wp-admin | 4.31 ▲1.00 | 52.79 ▲1.18 |
Posts /wp-admin/edit.php | 4.42 ▲1.06 | 53.60 ▲1.77 |
Add New Post /wp-admin/post-new.php | 6.91 ▲1.02 | 91.20 ▼2.59 |
Media Library /wp-admin/upload.php | 4.23 ▲1.00 | 43.59 ▲6.67 |
Add New /wp-admin/admin.php?page=ipanorama_item | 4.75 | 47.06 |
All Items /wp-admin/admin.php?page=ipanorama | 4.46 | 40.86 |
Settings /wp-admin/admin.php?page=ipanorama_settings | 4.23 | 37.70 |
Server storage [IO: ▲10.65MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 557 new files
Database: 1 new table, 6 new options
New tables |
---|
wp_ipanorama |
New WordPress options |
---|
theysaidso_admin_options |
can_compress_scripts |
widget_recent-comments |
widget_recent-posts |
db_upgraded |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
A check of browser resources used by iPanorama 360 - WordPress Virtual Tour Builder
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,820 ▲59 | 14.17 ▼0.54 | 1.53 ▼0.23 | 43.25 ▲4.71 |
Dashboard /wp-admin | 2,229 ▲49 | 5.64 ▲0.01 | 88.31 ▼2.12 | 41.18 ▼3.92 |
Posts /wp-admin/edit.php | 2,128 ▲25 | 2.02 ▲0.05 | 38.28 ▲0.17 | 34.45 ▼5.78 |
Add New Post /wp-admin/post-new.php | 6,389 ▲4,846 | 27.78 ▲4.58 | 921.88 ▲313.39 | 65.73 ▲21.71 |
Media Library /wp-admin/upload.php | 1,431 ▲37 | 4.20 ▼0.04 | 100.56 ▼0.60 | 45.95 ▲1.96 |
Add New /wp-admin/admin.php?page=ipanorama_item | 4,633 | 9.87 | 421.35 | 88.92 |
All Items /wp-admin/admin.php?page=ipanorama | 1,151 | 1.89 | 27.00 | 33.46 |
Settings /wp-admin/admin.php?page=ipanorama_settings | 1,773 | 3.45 | 57.57 | 42.18 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
- This plugin did not uninstall successfully, leaving 6 options in the database
- db_upgraded
- widget_theysaidso_widget
- theysaidso_admin_options
- can_compress_scripts
- widget_recent-comments
- widget_recent-posts
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
The smoke test was a success, however most plugin functionality was not tested
SRP Passed 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
Congratulations! This plugin passed the SRP test
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=ipanorama_item
- > Console-api (warning) in unknown
http://maps.google.com/maps/api/js?ver=1.8.1 210:51 "Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"
- > GET request to /wp-admin/admin.php?page=ipanorama_item
- > Other (warning) in unknown
/wp-content/plugins/ipanorama-360-virtual-tour-builder-lite/assets/js/lib/ipanorama/ipanorama.min.js?ver=1.8.1 0 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need your attention:
- Screenshots: A description for screenshot #3 is required in ipanorama-360-virtual-tour-builder-lite/assets to your readme.txt
ipanorama-360-virtual-tour-builder-lite/ipanorama.php 69% from 13 tests
"iPanorama 360 - WordPress Virtual Tour Builder" version 1.8.1's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
The following require your attention:
- Description: Please don't use more than 140 characters for the plugin description (currently 465 characters long)
- Requires at least: The required version number must match the one declared in readme.txt ("4.0" instead of "4.6")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Main file name: It is recommended to name the main PHP file as the plugin slug ("ipanorama-360-virtual-tour-builder-lite.php" instead of "ipanorama.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Success! There were no dangerous files found in this plugin11,348 lines of code in 497 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 21 | 540 | 936 | 4,666 |
SVG | 37 | 0 | 0 | 2,782 |
JavaScript | 425 | 381 | 83 | 2,721 |
PO File | 1 | 513 | 602 | 1,166 |
CSS | 13 | 0 | 19 | 13 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.25 |
Average class complexity | 98.50 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 283.00 |
Average method complexity | 5.90 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 67.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 4 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 4 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 72 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 71 | 98.61% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 1.39% |
Functions | 5 | |
▷ Named functions | 4 | 80.00% |
▷ Anonymous functions | 1 | 20.00% |
Constants | 8 | |
▷ Global constants | 8 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
4 PNG files occupy 0.01MB with 0.01MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/js/lib/ipanorama/images/point-editor.png | 11.78KB | 5.38KB | ▼ 54.33% |
assets/js/lib/ipanorama/widgets/list/images/progress.png | 0.84KB | 0.54KB | ▼ 35.74% |
assets/js/lib/ipanorama/images/point-blank.png | 0.68KB | 0.11KB | ▼ 83.40% |
assets/js/lib/ipanorama/images/plane-editor.png | 0.70KB | 0.11KB | ▼ 83.71% |