Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.47MB] [CPU: ▼3.10ms] Passed 4 tests
A check of server-side resources used by Maps Widget for Google Maps
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.92 ▲0.46 | 43.34 ▲0.47 |
Dashboard /wp-admin | 3.78 ▲0.44 | 58.23 ▼9.88 |
Posts /wp-admin/edit.php | 3.88 ▲0.53 | 54.82 ▲1.35 |
Add New Post /wp-admin/post-new.php | 6.38 ▲0.49 | 93.50 ▼3.08 |
Media Library /wp-admin/upload.php | 3.70 ▲0.48 | 36.82 ▲0.10 |
Maps Widget for Google Maps /wp-admin/options-general.php?page=gmw_options | 3.70 | 39.69 |
Server storage [IO: ▲0.38MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 29 new files
Database: no new tables, 8 new options
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
gmw_options |
theysaidso_admin_options |
can_compress_scripts |
widget_googlemapswidget |
widget_recent-posts |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Maps Widget for Google Maps
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,859 ▲73 | 13.57 ▼0.78 | 4.46 ▲2.24 | 41.32 ▼2.99 |
Dashboard /wp-admin | 2,262 ▲88 | 5.66 ▼0.02 | 94.46 ▼22.17 | 45.24 ▼5.05 |
Posts /wp-admin/edit.php | 2,170 ▲67 | 2.31 ▲0.36 | 45.96 ▲3.08 | 40.48 ▲5.25 |
Add New Post /wp-admin/post-new.php | 1,557 ▲31 | 23.35 ▲0.43 | 692.22 ▲12.67 | 52.88 ▼2.81 |
Media Library /wp-admin/upload.php | 1,470 ▲76 | 4.39 ▲0.16 | 111.45 ▲8.45 | 48.59 ▲3.84 |
Maps Widget for Google Maps /wp-admin/options-general.php?page=gmw_options | 1,482 | 4.24 | 81.29 | 36.55 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% 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
- This plugin did not uninstall successfully, leaving 8 options in the database
- widget_theysaidso_widget
- gmw_options
- widget_recent-comments
- widget_recent-posts
- db_upgraded
- widget_googlemapswidget
- theysaidso_admin_options
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 50% 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
- 1× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/google-maps-widget/google-maps-widget.php:34
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There are user-side issues you should fix
- > GET request to /wp-admin/options-general.php?page=gmw_options
- > Console-api (warning) in unknown
http://maps.google.com/maps/api/js?key=AIzaSyBvCK51-6tqdH0gu_lsUK8SxlGrvfUzIfo&ver=4.25 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 86% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Please fix the following attributes:
- Tags: There are too many tags (12 tag instead of maximum 10)
google-maps-widget/google-maps-widget.php 77% from 13 tests
The principal PHP file in "Maps Widget for Google Maps" v. 4.25 is loaded by WordPress automatically on each request
The following require your attention:
- Domain Path: The domain path follows the same naming rules as the domain name, using only dashes and lowercase characters ("lang")
- Domain Path: The domain path must begin with a forward slash character ("/lang")
- Description: The description should be shorter than 140 characters (currently 189 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Everything looks great! No dangerous files found in this plugin3,361 lines of code in 12 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3 | 372 | 135 | 1,763 |
CSS | 3 | 186 | 23 | 993 |
JavaScript | 6 | 163 | 79 | 605 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.23 |
Average class complexity | 94.00 |
▷ Minimum class complexity | 42.00 |
▷ Maximum class complexity | 146.00 |
Average method complexity | 4.66 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 27.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 | 51 | |
▷ Static methods | 46 | 90.20% |
▷ Public methods | 51 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 2 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 2 | 100.00% |
Constants | 3 | |
▷ Global constants | 3 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
10 compressed PNG files occupy 0.07MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/icon-unlimited.png | 1.27KB | 1.51KB | 0.00% |
images/colorbox/dark/border.png | 0.07KB | 0.10KB | 0.00% |
images/gmw-logo-pro-dialog.png | 38.70KB | 19.24KB | ▼ 50.27% |
images/icon-trial.png | 1.10KB | 1.10KB | 0.00% |
images/icon-yearly.png | 0.90KB | 0.89KB | ▼ 1.40% |