Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲1.60MB] [CPU: ▲17.46ms] Passed 4 tests
A check of server-side resources used by Locatoraid Store Locator
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.86 ▲1.40 | 60.30 ▲25.23 |
Dashboard /wp-admin | 5.02 ▲1.71 | 72.78 ▲29.11 |
Posts /wp-admin/edit.php | 5.06 ▲1.71 | 65.14 ▲20.35 |
Add New Post /wp-admin/post-new.php | 7.55 ▲1.67 | 100.68 ▼4.84 |
Media Library /wp-admin/upload.php | 4.86 ▲1.63 | 63.88 ▲33.29 |
Search Log /wp-admin/admin.php?page=locatoraid&hca=searchlog | 4.32 | 36.00 |
Locations /wp-admin/admin.php?page=locatoraid&hca=locations | 4.32 | 40.70 |
Publish /wp-admin/admin.php?page=locatoraid&hca=publish.wordpress | 4.32 | 33.87 |
Add-Ons /wp-admin/admin.php?page=locatoraid&hca=promo | 4.32 | 34.21 |
Configuration /wp-admin/admin.php?page=locatoraid&hca=conf | 4.32 | 34.03 |
REST API /wp-admin/admin.php?page=locatoraid&hca=rest | 4.32 | 33.65 |
Server storage [IO: ▲0.93MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 340 new files
Database: 5 new tables, 8 new options
New tables |
---|
wp_lctr2_conf |
wp_lctr2_locations |
wp_lctr2_relations |
wp_lctr2_migrations |
wp_lctr2_searchlog |
New WordPress options |
---|
widget_locatoraid_widget |
widget_theysaidso_widget |
can_compress_scripts |
theysaidso_admin_options |
locatoraid-rest_auth_code |
widget_recent-posts |
widget_recent-comments |
db_upgraded |
Browser metrics Passed 4 tests
An overview of browser requirements for Locatoraid Store Locator
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,833 ▲72 | 14.28 ▼0.45 | 1.79 ▲0.06 | 41.52 ▲2.99 |
Dashboard /wp-admin | 2,239 ▲59 | 5.57 ▼0.04 | 81.71 ▼4.52 | 40.17 ▼0.20 |
Posts /wp-admin/edit.php | 2,141 ▲41 | 1.96 ▼0.08 | 35.28 ▲1.74 | 36.90 ▲0.79 |
Add New Post /wp-admin/post-new.php | 6,232 ▲4,706 | 19.05 ▼4.20 | 893.96 ▲216.71 | 56.09 ▼25.18 |
Media Library /wp-admin/upload.php | 1,447 ▲50 | 4.28 ▲0.10 | 93.64 ▼1.61 | 43.14 ▲0.65 |
Search Log /wp-admin/admin.php?page=locatoraid&hca=searchlog | 1,765 | 6.73 | 137.19 | 131.15 |
Locations /wp-admin/admin.php?page=locatoraid&hca=locations | 1,765 | 6.80 | 145.24 | 69.62 |
Publish /wp-admin/admin.php?page=locatoraid&hca=publish.wordpress | 1,765 | 6.67 | 132.41 | 70.56 |
Add-Ons /wp-admin/admin.php?page=locatoraid&hca=promo | 1,765 | 6.63 | 121.86 | 67.82 |
Configuration /wp-admin/admin.php?page=locatoraid&hca=conf | 1,762 | 6.64 | 118.44 | 66.67 |
REST API /wp-admin/admin.php?page=locatoraid&hca=rest | 1,765 | 6.61 | 121.65 | 65.69 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
- Zombie tables detected upon uninstall: 5 tables
- wp_lctr2_locations
- wp_lctr2_relations
- wp_lctr2_conf
- wp_lctr2_searchlog
- wp_lctr2_migrations
- Zombie WordPress options detected upon uninstall: 8 options
- widget_recent-comments
- widget_theysaidso_widget
- can_compress_scripts
- db_upgraded
- theysaidso_admin_options
- widget_locatoraid_widget
- locatoraid-rest_auth_code
- widget_recent-posts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP Passed 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
No output text or server-side errors detected on direct access of PHP files
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=locatoraid&hca=searchlog
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555644326 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=locatoraid&hca=locations
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555646224 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=locatoraid&hca=publish.wordpress
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555648090 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=locatoraid&hca=promo
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555649957 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=locatoraid&hca=conf
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555651808 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=locatoraid&hca=rest
- > Console-api (warning) in unknown
http://maps.googleapis.com/maps/api/js?_=1698555653664 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"
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that require attention:
- Tags: Please reduce the number of tags, currently 45 tag instead of maximum 10
locatoraid/locatoraid.php Passed 13 tests
The main PHP script in "Locatoraid Store Locator" version 3.9.27 is automatically included on every request by WordPress
20 characters long description:
Store locator plugin
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
Everything looks great! No dangerous files found in this plugin27,121 lines of code in 332 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 316 | 4,466 | 3,958 | 23,225 |
JavaScript | 12 | 663 | 693 | 2,910 |
CSS | 3 | 110 | 49 | 965 |
Markdown | 1 | 5 | 0 | 21 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 12.52 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 298.00 |
Average method complexity | 3.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 56.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 3 | |
Traits | 0 | |
Classes | 235 | |
▷ Abstract classes | 2 | 0.85% |
▷ Concrete classes | 233 | 99.15% |
▷ Final classes | 0 | 0.00% |
Methods | 920 | |
▷ Static methods | 37 | 4.02% |
▷ Public methods | 811 | 88.15% |
▷ Protected methods | 97 | 10.54% |
▷ Private methods | 12 | 1.30% |
Functions | 106 | |
▷ Named functions | 24 | 22.64% |
▷ Anonymous functions | 82 | 77.36% |
Constants | 7 | |
▷ Global constants | 4 | 57.14% |
▷ Class constants | 3 | 42.86% |
▷ Public constants | 3 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
5 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
happ2/modules/maps_google/assets/js/images/m2.png | 3.18KB | 2.36KB | ▼ 25.77% |
happ2/modules/maps_google/assets/js/images/m3.png | 3.86KB | 3.06KB | ▼ 20.80% |
happ2/modules/maps_google/assets/js/images/m1.png | 2.93KB | 2.20KB | ▼ 25.07% |
happ2/modules/maps_google/assets/js/images/m4.png | 5.57KB | 4.23KB | ▼ 24.08% |
happ2/modules/maps_google/assets/js/images/m5.png | 6.68KB | 5.10KB | ▼ 23.66% |