Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲1.83MB] [CPU: ▲3.81ms] 50% from 4 tests
This is a short check of server-side resources used by MyBookTable Bookstore by Stormhill Media
The following require your attention
- RAM: Total memory usage should be kept under 10MB (currently 24.37MB on /wp-admin/admin.php?page=mbt_dashboard)
- CPU: You should keep total CPU usage under 500.00ms (currently 1,917.73ms on /wp-admin/admin.php?page=mbt_dashboard)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.53 ▲2.06 | 55.76 ▲12.23 |
Dashboard /wp-admin | 5.34 ▲2.04 | 60.29 ▲11.18 |
Posts /wp-admin/edit.php | 5.38 ▲2.02 | 66.42 ▲19.82 |
Add New Post /wp-admin/post-new.php | 7.09 ▲1.21 | 67.19 ▼26.49 |
Media Library /wp-admin/upload.php | 5.27 ▲2.05 | 49.26 ▲18.32 |
Help /wp-admin/admin.php?page=mbt_help | 5.27 | 53.79 |
Add Book /wp-admin/post-new.php?post_type=mbt_book | 5.43 | 102.14 |
Settings /wp-admin/admin.php?page=mbt_settings | 5.30 | 60.34 |
/wp-admin/admin.php?page=mbt_sort_books | 5.28 | 47.88 |
Tags /wp-admin/edit-tags.php?taxonomy=mbt_tag&post_type=mbt_book | 5.33 | 51.83 |
Import Books /wp-admin/admin.php?page=mbt_import | 5.27 | 50.84 |
Authors /wp-admin/edit-tags.php?taxonomy=mbt_author&post_type=mbt_book | 5.30 | 51.10 |
Upgrade MyBookTable /wp-admin/admin.php?page=mbt_upgrade_link | 5.14 | 40.17 |
Genres /wp-admin/edit-tags.php?taxonomy=mbt_genre&post_type=mbt_book | 5.30 | 56.92 |
MyBookTable /wp-admin/admin.php?page=mbt_dashboard | 24.37 | 1,917.73 |
Server storage [IO: ▲4.24MB] [DB: ▲1.67MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 400 new files
Database: no new tables, 11 new options
New WordPress options |
---|
db_upgraded |
mbt_tracking_data |
widget_mbt_taxonomies |
widget_recent-posts |
widget_theysaidso_widget |
can_compress_scripts |
widget_mbt_featured_book |
mbt_settings |
widget_recent-comments |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
Checking browser requirements for MyBookTable Bookstore by Stormhill Media
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,912 ▲150 | 14.39 ▲0.12 | 2.02 ▲0.34 | 43.30 ▼1.57 |
Dashboard /wp-admin | 2,274 ▲97 | 5.67 ▲0.13 | 92.12 ▼7.70 | 48.85 ▲4.40 |
Posts /wp-admin/edit.php | 2,186 ▲86 | 2.03 ▲0.00 | 41.40 ▲3.22 | 42.60 ▲9.33 |
Add New Post /wp-admin/post-new.php | 1,992 ▲463 | 23.39 ▲0.24 | 748.14 ▲110.18 | 69.59 ▲21.55 |
Media Library /wp-admin/upload.php | 1,482 ▲82 | 4.15 ▼0.04 | 101.37 ▲5.57 | 45.11 ▲5.11 |
Help /wp-admin/admin.php?page=mbt_help | 3,191 | 20.01 | 431.54 | 103.26 |
Add Book /wp-admin/post-new.php?post_type=mbt_book | 4,675 | 10.77 | 300.92 | 166.06 |
Settings /wp-admin/admin.php?page=mbt_settings | 2,297 | 3.79 | 96.58 | 94.45 |
/wp-admin/admin.php?page=mbt_sort_books | 1,172 | 3.63 | 50.23 | 38.76 |
Tags /wp-admin/edit-tags.php?taxonomy=mbt_tag&post_type=mbt_book | 1,672 | 3.87 | 55.27 | 40.85 |
Import Books /wp-admin/admin.php?page=mbt_import | 1,102 | 3.58 | 52.60 | 36.70 |
Authors /wp-admin/edit-tags.php?taxonomy=mbt_author&post_type=mbt_book | 1,601 | 3.62 | 59.35 | 41.19 |
Upgrade MyBookTable /wp-admin/admin.php?page=mbt_upgrade_link | 1,594 | 8.84 | 185.92 | 91.17 |
Genres /wp-admin/edit-tags.php?taxonomy=mbt_genre&post_type=mbt_book | 1,567 | 3.24 | 54.88 | 33.77 |
MyBookTable /wp-admin/admin.php?page=mbt_dashboard | 1,312 | 3.60 | 47.01 | 71.83 |
Uninstaller [IO: ▲0.00MB] [DB: ▲1.67MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- The uninstall procedure has failed, leaving 11 options in the database
- widget_mbt_taxonomies
- widget_recent-posts
- theysaidso_admin_options
- can_compress_scripts
- mbt_tag_children
- widget_mbt_featured_book
- mbt_settings
- widget_theysaidso_widget
- mbt_tracking_data
- widget_recent-comments
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
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
- 4× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/mybooktable/templates/archive-book/before.php
- > /wp-content/plugins/mybooktable/templates/archive-book/no-results.php
- > /wp-content/plugins/mybooktable/templates/excerpt-book/after.php
- > /wp-content/plugins/mybooktable/templates/archive-book/after.php
- 64× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mybooktable/includes/extras/compatibility.php:25
- > PHP Fatal error
Uncaught Error: Call to undefined function mbt_the_book_archive_description() in wp-content/plugins/mybooktable/templates/archive-book/header/description.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mybooktable/includes/extras/goodreads.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function do_action() in wp-content/plugins/mybooktable/templates/excerpt-book/content.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function mbt_get_setting() in wp-content/plugins/mybooktable/templates/excerpt-book/title.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function mbt_start_template_context() in wp-content/plugins/mybooktable/templates/single-book-storefront.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/mybooktable/templates/wrapper-end.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mybooktable/includes/extras/seo.php:30
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mybooktable/includes/extras/divi.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mybooktable/includes/setup.php:166
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need your attention:
- Tags: Please delete some tags, you are using 12 tag instead of maximum 10
mybooktable/mybooktable.php Passed 13 tests
Analyzing the main PHP file in "MyBookTable Bookstore by Stormhill Media" version 3.3.4
130 characters long description:
A WordPress Bookstore Plugin to help authors boost book sales on sites like Amazon and Apple iBooks with great-looking book pages.
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 plugin22,179 lines of code in 94 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 65 | 1,170 | 368 | 8,083 |
PO File | 6 | 3,109 | 3,450 | 7,854 |
CSS | 13 | 717 | 273 | 3,469 |
JavaScript | 10 | 559 | 493 | 2,773 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 19.00 |
▷ Minimum class complexity | 11.00 |
▷ Maximum class complexity | 27.00 |
Average method complexity | 5.50 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 15.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 2 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 8 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 8 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 526 | |
▷ Named functions | 514 | 97.72% |
▷ Anonymous functions | 12 | 2.28% |
Constants | 2 | |
▷ Global constants | 2 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
249 PNG files occupy 2.27MB with 1.15MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
styles/grey_flat/itunes_button.png | 8.47KB | 4.78KB | ▼ 43.51% |
styles/silver/scribd_button.png | 9.22KB | 4.32KB | ▼ 53.11% |
styles/blue_flat/pubslush_button.png | 12.05KB | 6.12KB | ▼ 49.21% |
styles/golden/pubslush_button.png | 5.71KB | 2.98KB | ▼ 47.85% |
styles/blue_flat/alibris_button.png | 12.16KB | 4.89KB | ▼ 59.81% |