Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲2.47MB] [CPU: ▲17.70ms] Passed 4 tests
An overview of server-side resources used by Photo Gallery by 10Web - Mobile-Friendly Image Gallery
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.73 ▲2.27 | 76.97 ▲34.62 |
Dashboard /wp-admin | 5.84 ▲2.53 | 65.20 ▲14.67 |
Posts /wp-admin/edit.php | 5.96 ▲2.61 | 68.23 ▲22.48 |
Add New Post /wp-admin/post-new.php | 8.40 ▲2.52 | 104.37 ▲5.91 |
Media Library /wp-admin/upload.php | 5.79 ▲2.56 | 61.07 ▲27.73 |
Add-ons /wp-admin/admin.php?page=addons_bwg | 5.73 | 49.14 |
Global Settings /wp-admin/admin.php?page=options_bwg | 8.07 | 66.92 |
Themes /wp-admin/admin.php?page=themes_bwg | 7.62 | 56.40 |
Gallery Groups /wp-admin/admin.php?page=albums_bwg | 6.05 | 51.32 |
Add Galleries/Images /wp-admin/admin.php?page=galleries_bwg | 6.55 | 62.42 |
Cloudflare CDN /wp-admin/admin.php?page=cloudflare_bwg | 5.82 | 53.06 |
Tags /wp-admin/edit-tags.php?taxonomy=bwg_tag | 5.75 | 57.33 |
Speed & Image Optimization /wp-admin/admin.php?page=twbbwg_photo-gallery | 5.93 | 51.82 |
Generate Shortcode /wp-admin/admin.php?page=shortcode_bwg | 8.24 | 64.43 |
Uninstall /wp-admin/admin.php?page=uninstall_bwg | 5.89 | 51.48 |
Server storage [IO: ▲22.97MB] [DB: ▲0.06MB] Passed 3 tests
A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 716 new files
Database: 10 new tables, 10 new options
New tables |
---|
wp_bwg_album |
wp_bwg_image |
wp_bwg_image_rate |
wp_bwg_gallery |
wp_bwg_image_comment |
wp_bwg_theme |
wp_bwg_file_paths |
wp_bwg_image_tag |
wp_bwg_album_gallery |
wp_bwg_shortcode |
New WordPress options |
---|
twb_images_total_size |
theysaidso_admin_options |
widget_recent-comments |
can_compress_scripts |
bwg_admin_notice |
widget_bwp_gallery |
db_upgraded |
widget_bwp_gallery_slideshow |
widget_recent-posts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
Checking browser requirements for Photo Gallery by 10Web - Mobile-Friendly Image Gallery
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,790 ▲1,055 | 15.04 ▲0.29 | 41.37 ▲39.72 | 96.52 ▲56.61 |
Dashboard /wp-admin | 2,317 ▲129 | 5.08 ▲0.20 | 101.06 ▼6.83 | 83.37 ▲42.00 |
Posts /wp-admin/edit.php | 2,753 ▲667 | 2.33 ▲0.29 | 67.58 ▲29.61 | 38.65 ▲7.19 |
Add New Post /wp-admin/post-new.php | 6,541 ▲5,027 | 23.65 ▲6.04 | 875.06 ▲191.93 | 48.79 ▼13.57 |
Media Library /wp-admin/upload.php | 1,496 ▲108 | 4.24 ▲0.04 | 100.65 ▼7.05 | 97.40 ▲51.15 |
Add-ons /wp-admin/admin.php?page=addons_bwg | 958 | 1.73 | 28.11 | 34.61 |
Global Settings /wp-admin/admin.php?page=options_bwg | 10,333 | 3.19 | 82.25 | 242.99 |
Themes /wp-admin/admin.php?page=themes_bwg | 1,301 | 2.18 | 31.24 | 58.19 |
Gallery Groups /wp-admin/admin.php?page=albums_bwg | 1,570 | 2.49 | 45.56 | 77.04 |
Add Galleries/Images /wp-admin/admin.php?page=galleries_bwg | 1,575 | 2.30 | 51.19 | 61.80 |
Cloudflare CDN /wp-admin/admin.php?page=cloudflare_bwg | 1,166 | 2.08 | 25.09 | 44.96 |
Tags /wp-admin/edit-tags.php?taxonomy=bwg_tag | 1,348 | 2.17 | 31.43 | 32.79 |
Speed & Image Optimization /wp-admin/admin.php?page=twbbwg_photo-gallery | 1,276 | 2.24 | 32.55 | 64.24 |
Generate Shortcode /wp-admin/admin.php?page=shortcode_bwg | 8,796 | 2.58 | 92.33 | 76.30 |
Uninstall /wp-admin/admin.php?page=uninstall_bwg | 1,141 | 2.16 | 29.84 | 33.28 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.06MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
- Zombie tables detected upon uninstall: 10 tables
- wp_bwg_theme
- wp_bwg_shortcode
- wp_bwg_image_tag
- wp_bwg_file_paths
- wp_bwg_gallery
- wp_bwg_image_rate
- wp_bwg_image_comment
- wp_bwg_album
- wp_bwg_image
- wp_bwg_album_gallery
- This plugin does not fully uninstall, leaving 11 options in the database
- can_compress_scripts
- db_upgraded
- widget_bwp_gallery_slideshow
- twb_images_total_size
- widget_recent-posts
- twb_speed_score
- widget_theysaidso_widget
- widget_bwp_gallery
- widget_recent-comments
- bwg_admin_notice
- ...
Smoke tests 25% 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
Please take a closer look at the following
- 5× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/photo-gallery/filemanager/UploadHandler.php
- > /wp-content/plugins/photo-gallery/admin/views/AdminView.php
- > /wp-content/plugins/photo-gallery/framework/BWGOptions.php
- > /wp-content/plugins/photo-gallery/framework/WD_BWG_Theme.php
- > /wp-content/plugins/photo-gallery/photo-gallery.php
- 77× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Elementor\\Widget_Base' not found in wp-content/plugins/photo-gallery/admin/controllers/elementorWidget.php:3
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' not found in wp-content/plugins/photo-gallery/library/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php:20
- > PHP Fatal error
Uncaught Error: Class 'PhpZip\\Exception\\ZipException' not found in wp-content/plugins/photo-gallery/library/vendor/nelexa/zip/src/Exception/ZipEntryNotFoundException.php:13
- > PHP Fatal error
Uncaught Error: Interface 'PhpZip\\Model\\Extra\\ZipExtraField' not found in wp-content/plugins/photo-gallery/library/vendor/nelexa/zip/src/Model/Extra/Fields/WinZipAesExtraField.php:18
- > PHP Fatal error
Uncaught Error: Interface 'PhpZip\\Model\\Extra\\ZipExtraField' not found in wp-content/plugins/photo-gallery/library/vendor/nelexa/zip/src/Model/Extra/Fields/UnrecognizedExtraField.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function BWG() in wp-content/plugins/photo-gallery/framework/howto/howto.php:2
- > PHP Fatal error
Uncaught Error: Interface 'PhpZip\\Model\\Extra\\ZipExtraField' not found in wp-content/plugins/photo-gallery/library/vendor/nelexa/zip/src/Model/Extra/Fields/OldUnixExtraField.php:56
- > PHP Fatal error
Uncaught Error: Class 'PhpZip\\Exception\\ZipException' not found in wp-content/plugins/photo-gallery/library/vendor/nelexa/zip/src/Exception/Crc32Exception.php:15
- > PHP Fatal error
Uncaught Error: Class 'BWGViewSite' not found in wp-content/plugins/photo-gallery/frontend/views/BWGViewThumbnails_masonry.php:2
- > PHP Fatal error
Uncaught Error: Class 'AdminView_bwg' not found in wp-content/plugins/photo-gallery/admin/views/Galleries.php:6
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following user-side errors
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=shortcode_bwg
- > Console-api (warning) in wp-content/plugins/photo-gallery/js/jquery.jscolor.js?ver=2.4.8+94:13
Installation using class name is DEPRECATED. Use data-jscolor=\"\" attribute instead. See https://jscolor.com/docs/
Optimizations
Plugin configuration 93% 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
Please fix the following attributes:
- Tags: There are too many tags (12 tag instead of maximum 10)
photo-gallery/photo-gallery.php 92% from 13 tests
"Photo Gallery by 10Web - Mobile-Friendly Image Gallery" version 1.8.18's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
The following require your attention:
- Description: Keep the plugin description shorter than 140 characters (currently 254 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Success! There were no dangerous files found in this plugin242,124 lines of code in 495 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 51 | 66,747 | 109,281 | 154,369 |
PHP | 207 | 4,162 | 11,804 | 47,897 |
JavaScript | 33 | 2,168 | 2,983 | 20,228 |
CSS | 31 | 2,058 | 264 | 14,741 |
SVG | 153 | 48 | 2 | 1,711 |
Markdown | 7 | 213 | 0 | 1,689 |
Sass | 1 | 219 | 0 | 1,049 |
JSON | 6 | 0 | 0 | 392 |
HTML | 3 | 4 | 0 | 24 |
XML | 1 | 0 | 0 | 19 |
Bourne Shell | 1 | 2 | 0 | 3 |
INI | 1 | 0 | 0 | 2 |
PHP code 50% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
The following items need your attention
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 298)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 34.62 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 732.00 |
Average method complexity | 5.64 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 298.00 |
Code structure | ||
---|---|---|
Namespaces | 20 | |
Interfaces | 17 | |
Traits | 0 | |
Classes | 174 | |
▷ Abstract classes | 2 | 1.15% |
▷ Concrete classes | 172 | 98.85% |
▷ Final classes | 11 | 6.40% |
Methods | 1,531 | |
▷ Static methods | 227 | 14.83% |
▷ Public methods | 1,382 | 90.27% |
▷ Protected methods | 88 | 5.75% |
▷ Private methods | 61 | 3.98% |
Functions | 31 | |
▷ Named functions | 8 | 25.81% |
▷ Anonymous functions | 23 | 74.19% |
Constants | 191 | |
▷ Global constants | 3 | 1.57% |
▷ Class constants | 188 | 98.43% |
▷ Public constants | 188 | 100.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
116 PNG files occupy 8.26MB with 4.84MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/upgrade_to_pro_blog_style.png | 1,128.35KB | 346.88KB | ▼ 69.26% |
images/wp-widget.png | 13.17KB | 8.11KB | ▼ 38.38% |
images/effects/active.png | 0.92KB | 0.08KB | ▼ 91.12% |
wd/assets/img/gawd_main_plugin.png | 11.42KB | 5.46KB | ▼ 52.18% |
images/effects/option.png | 1.36KB | 0.79KB | ▼ 42.00% |