Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.01MB] [CPU: ▼15.28ms] Passed 4 tests
A check of server-side resources used by Gboy Custom Google Map
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.47 ▲0.01 | 35.74 ▼1.81 |
Dashboard /wp-admin | 3.32 ▼0.02 | 42.78 ▼38.74 |
Posts /wp-admin/edit.php | 3.37 ▲0.02 | 43.03 ▼7.08 |
Add New Post /wp-admin/post-new.php | 5.90 ▲0.02 | 79.99 ▼13.48 |
Media Library /wp-admin/upload.php | 3.25 ▲0.02 | 37.57 ▲2.87 |
/wp-admin/admin.php?page=gm_edit | 3.27 | 34.86 |
Setting /wp-admin/admin.php?page=gm_setting | 3.24 | 29.26 |
List /wp-admin/admin.php?page=gm_list | 3.25 | 30.00 |
/wp-admin/admin.php?page=gm_add | 3.19 | 26.88 |
/wp-admin/admin.php?page=gm_duplicate | 3.19 | 29.37 |
Server storage [IO: ▲0.14MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 8 new files
Database: 1 new table, 6 new options
New tables |
---|
wp_gbgm_list |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-posts |
db_upgraded |
theysaidso_admin_options |
widget_recent-comments |
can_compress_scripts |
Browser metrics Passed 4 tests
An overview of browser requirements for Gboy Custom Google Map
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,823 ▲77 | 13.15 ▼1.51 | 1.64 ▼0.02 | 41.44 ▲4.66 |
Dashboard /wp-admin | 2,229 ▲41 | 5.03 ▲0.13 | 100.40 ▼11.73 | 39.84 ▼3.04 |
Posts /wp-admin/edit.php | 2,112 ▲20 | 1.99 ▼0.06 | 33.88 ▼6.56 | 32.03 ▼3.17 |
Add New Post /wp-admin/post-new.php | 1,533 ▼9 | 17.53 ▼0.78 | 674.08 ▲68.07 | 53.89 ▼9.34 |
Media Library /wp-admin/upload.php | 1,408 ▲17 | 4.21 ▼0.04 | 130.23 ▲20.97 | 56.71 ▲10.63 |
/wp-admin/admin.php?page=gm_edit | 1,092 | 2.02 | 24.44 | 28.29 |
Setting /wp-admin/admin.php?page=gm_setting | 796 | 2.06 | 24.32 | 22.30 |
List /wp-admin/admin.php?page=gm_list | 864 | 2.23 | 34.21 | 25.56 |
/wp-admin/admin.php?page=gm_add | 1,095 | 2.02 | 24.79 | 26.20 |
/wp-admin/admin.php?page=gm_duplicate | 784 | 1.99 | 21.59 | 21.25 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- The plugin did not uninstall successfully, leaving 1 table in the database
- wp_gbgm_list
- This plugin did not uninstall successfully, leaving 6 options in the database
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-posts
- db_upgraded
Smoke tests 0% 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)
Smoke test failed, please fix the following
- 80 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+118
Undefined variable: mapData
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+55
Trying to get property 'title' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+59
Trying to get property 'latitude' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+63
Trying to get property 'longitude' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+67
Trying to get property 'address' of non-object
- 44 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+73
Trying to get property 'style' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+79
Trying to get property 'custom_style' of non-object
- 8 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+87
Trying to get property 'map_type' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+92
Trying to get property 'zoom' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+96
Trying to get property 'height' of non-object
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+102
Trying to get property 'scroll' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+107
Trying to get property 'icon' of non-object
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_add
- > Notice in wp-content/plugins/gboy-custom-google-map/templates/add.php+114
Trying to get property 'status' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=gm_duplicate
- > Warning in wp-includes/pluggable.php+1438
Cannot modify header information - headers already sent by (output started at wp-includes/script-loader.php:2838)
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
Almost there! Just fix the following items
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/gboy-custom-google-map/templates/map.php
- 5× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to a member function get_results() on null in wp-content/plugins/gboy-custom-google-map/templates/list.php:19
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_nonce_field() in wp-content/plugins/gboy-custom-google-map/templates/setting.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_create_nonce() in wp-content/plugins/gboy-custom-google-map/templates/add.php:51
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/gboy-custom-google-map/templates/list.php on line 14
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/gboy-custom-google-map/templates/add.php on line 15
- > 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)
Please fix the following user-side errors
- > GET request to /wp-admin/admin.php?page=gm_list
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: Cannot set properties of undefined (setting '_DT_CellIndex')" "TypeError: Cannot set properties of undefined (setting '_DT_CellIndex')\n at Ja (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:27:267)\n at N (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:19:337)\n at HTMLTableRowElement.\u003Canonymous> (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:19:450)\n at /wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:1681\n at Function.map (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:3967)\n at e.\u003Ccomputed>.map (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:1649)\n at oa (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:19:415)\n at e (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:95:451)\n at HTMLTableElement.\u003Canonymous> (/wp-content/plugins/gboy-custom-google-map/js/datatable.min.js?ver=1.1:96:138)\n at Function.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:3129)" undefined
- > GET request to /wp-admin/admin.php?page=gm_list
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: Cannot set properties of undefined (setting '_DT_CellIndex')
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
6 plugin tags: stylish google map, wp google map plugin, wp google map, custom google map, google map...
gboy-custom-google-map/gboy-googlemap.php 85% from 13 tests
The main PHP script in "Gboy Custom Google Map" version 1.2 is automatically included on every request by WordPress
The following require your attention:
- Domain Path: The domain path points to an invalid folder, "/languages" does not exist
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("gboy-custom-google-map.php" instead of "gboy-googlemap.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
No dangerous file extensions were detected583 lines of code in 7 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 5 | 81 | 133 | 419 |
JavaScript | 1 | 0 | 7 | 163 |
CSS | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 8.00 |
▷ Minimum class complexity | 8.00 |
▷ Maximum class complexity | 8.00 |
Average method complexity | 1.58 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 4.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 1 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 1 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 12 | |
▷ Static methods | 1 | 8.33% |
▷ Public methods | 11 | 91.67% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 8.33% |
Functions | 1 | |
▷ Named functions | 1 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 3 | |
▷ Global constants | 2 | 66.67% |
▷ Class constants | 1 | 33.33% |
▷ Public constants | 1 | 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
No PNG files were detected