Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲0.24MB] [CPU: ▼5.84ms] Passed 4 tests
Analyzing server-side resources used by Flexible Pickup
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.12 | 22.39 ▼18.47 |
Dashboard /wp-admin | 3.58 ▲0.28 | 49.90 ▲0.80 |
Posts /wp-admin/edit.php | 3.63 ▲0.28 | 49.89 ▲4.10 |
Add New Post /wp-admin/post-new.php | 6.16 ▲0.28 | 85.69 ▼9.79 |
Media Library /wp-admin/upload.php | 3.50 ▲0.28 | 38.44 ▲5.30 |
Settings /wp-admin/edit.php?post_type=pickup_point&page=flexible-pickup-settings | 3.52 | 38.21 |
Install Plugins /wp-admin/plugins.php?page=tgmpa-install-plugins | 3.51 | 32.31 |
Add new Pickup Point /wp-admin/post-new.php?post_type=pickup_point | 3.65 | 48.52 |
Pickup Points Groups /wp-admin/edit-tags.php?taxonomy=fp_points_group&post_type=pickup_point | 3.50 | 34.40 |
Pickup Points /wp-admin/edit.php?post_type=pickup_point | 3.55 | 37.39 |
Server storage [IO: ▲0.53MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 63 new files
Database: no new tables, 8 new options
New WordPress options |
---|
widget_recent-posts |
recovery_mode_email_last_sent |
can_compress_scripts |
widget_recent-comments |
widget_theysaidso_widget |
flexible_pickup_settings |
db_upgraded |
theysaidso_admin_options |
Browser metrics Passed 4 tests
A check of browser resources used by Flexible Pickup
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,542 ▼193 | 13.26 ▼1.12 | 0.48 ▼1.51 | 17.98 ▼28.25 |
Dashboard /wp-admin | 2,280 ▲92 | 5.84 ▲0.95 | 101.74 ▲0.09 | 43.96 ▲6.53 |
Posts /wp-admin/edit.php | 2,174 ▲88 | 2.06 ▲0.02 | 41.86 ▲6.48 | 37.36 ▲4.36 |
Add New Post /wp-admin/post-new.php | 1,581 ▲62 | 17.64 ▼5.82 | 592.07 ▼71.21 | 60.43 ▲5.47 |
Media Library /wp-admin/upload.php | 1,470 ▲85 | 4.27 ▲0.05 | 96.71 ▼5.15 | 49.00 ▲5.61 |
Settings /wp-admin/edit.php?post_type=pickup_point&page=flexible-pickup-settings | 1,625 | 4.00 | 64.02 | 32.72 |
Install Plugins /wp-admin/plugins.php?page=tgmpa-install-plugins | 1,059 | 2.09 | 26.13 | 30.58 |
Add new Pickup Point /wp-admin/post-new.php?post_type=pickup_point | 1,459 | 1.57 | 8.42 | 38.43 |
Pickup Points Groups /wp-admin/edit-tags.php?taxonomy=fp_points_group&post_type=pickup_point | 1,344 | 2.32 | 28.74 | 32.63 |
Pickup Points /wp-admin/edit.php?post_type=pickup_point | 1,136 | 2.06 | 34.24 | 31.19 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- The uninstall procedure has failed, leaving 8 options in the database
- db_upgraded
- widget_theysaidso_widget
- flexible_pickup_settings
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-comments
- recovery_mode_email_last_sent
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These errors were triggered by the plugin
- > GET request to /wp-admin/post-new.php?post_type=pickup_point
- > Error in wp-content/plugins/flexible-pickup/classes/views/pickup-point-settings.php+10
Uncaught Error: Call to undefined function woocommerce_wp_text_input() in wp-content/plugins/flexible-pickup/classes/views/pickup-point-settings.php:10
Stack trace:
#0 wp-content/plugins/flexible-pickup/classes/class-cpt.php(127): include()
#1 wp-admin/includes/template.php(1443): Flexible_Pickup_Post_Type->pickup_point_meta_box_output()
#2 wp-admin/edit-form-advanced.php(711): do_meta_boxes()
#3 wp-admin/post-new.php(75): require('/var/www/wordpr...')
#4 {main}
thrown
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following items
- 3× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Call to undefined function admin_url() in wp-content/plugins/flexible-pickup/classes/views/admin-footer.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function did_action() in wp-content/plugins/flexible-pickup/classes/class-tgm-plugin-activation.php:2109
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/flexible-pickup/templates/label.php:4
- > 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 96% from 29 tests
readme.txt Passed 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
4 plugin tags: woocommerce, pickup point, flexible shipping, shipping
flexible-pickup/flexible-pickup.php 92% from 13 tests
The primary PHP file in "Flexible Pickup" version 1.0.3 is used by WordPress to initiate all plugin functionality
The following require your attention:
- Domain Path: The domain path folder was not found ("/languages/")
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 plugin7,269 lines of code in 53 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 29 | 1,334 | 2,833 | 6,190 |
PO File | 2 | 262 | 394 | 658 |
JavaScript | 8 | 41 | 13 | 266 |
CSS | 14 | 21 | 17 | 155 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of 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.45 |
Average class complexity | 46.64 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 206.00 |
Average method complexity | 4.05 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 35.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 22 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 22 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 329 | |
▷ Static methods | 6 | 1.82% |
▷ Public methods | 299 | 90.88% |
▷ Protected methods | 24 | 7.29% |
▷ Private methods | 6 | 1.82% |
Functions | 7 | |
▷ Named functions | 7 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 4 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 4 | 100.00% |
▷ Public constants | 4 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
No PNG images were found in this plugin