Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲1.06MB] [CPU: ▲1.54ms] Passed 4 tests
A check of server-side resources used by Waymark
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.21 ▲0.74 | 42.59 ▲2.17 |
Dashboard /wp-admin | 4.48 ▲1.13 | 54.52 ▼11.48 |
Posts /wp-admin/edit.php | 4.54 ▲1.18 | 63.73 ▲17.35 |
Add New Post /wp-admin/post-new.php | 7.08 ▲1.19 | 99.98 ▲3.43 |
Media Library /wp-admin/upload.php | 4.41 ▲1.18 | 45.13 ▲12.04 |
New Map /wp-admin/post-new.php?post_type=waymark_map | 4.60 | 61.34 |
Collections /wp-admin/edit-tags.php?taxonomy=waymark_collection&post_type=waymark_map | 4.53 | 53.93 |
Settings /wp-admin/edit.php?post_type=waymark_map&page=waymark-settings | 4.38 | 45.11 |
Maps /wp-admin/edit.php?post_type=waymark_map | 4.46 | 47.62 |
Server storage [IO: ▲5.87MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 134 new files
Database: no new tables, 8 new options
New WordPress options |
---|
db_upgraded |
widget_theysaidso_widget |
widget_recent-comments |
widget_recent-posts |
theysaidso_admin_options |
Waymark_Version |
can_compress_scripts |
Waymark_Settings_ |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Waymark
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,018 ▲271 | 15.94 ▲1.20 | 11.94 ▲10.34 | 39.20 ▼3.43 |
Dashboard /wp-admin | 2,282 ▲102 | 6.51 ▲0.89 | 112.80 ▲15.64 | 41.95 ▼4.19 |
Posts /wp-admin/edit.php | 2,176 ▲73 | 3.70 ▲1.75 | 51.17 ▲10.55 | 56.25 ▲22.94 |
Add New Post /wp-admin/post-new.php | 1,606 ▲80 | 23.95 ▲0.88 | 608.59 ▼36.83 | 32.20 ▼22.48 |
Media Library /wp-admin/upload.php | 1,558 ▲158 | 6.22 ▲2.05 | 97.05 ▲0.74 | 43.14 ▲1.56 |
New Map /wp-admin/post-new.php?post_type=waymark_map | 2,718 | 9.01 | 203.92 | 108.27 |
Collections /wp-admin/edit-tags.php?taxonomy=waymark_collection&post_type=waymark_map | 1,339 | 3.47 | 43.70 | 54.69 |
Settings /wp-admin/edit.php?post_type=waymark_map&page=waymark-settings | 11,364 | 7.26 | 322.07 | 73.55 |
Maps /wp-admin/edit.php?post_type=waymark_map | 1,178 | 3.79 | 45.77 | 54.95 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- This plugin did not uninstall successfully, leaving 7 options in the database
- widget_recent-comments
- db_upgraded
- widget_recent-posts
- Waymark_Settings_
- theysaidso_admin_options
- widget_theysaidso_widget
- can_compress_scripts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though no errors were found, this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please fix the following items
- 17× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/waymark/inc/Front/Waymark_Content.php:5
- > PHP Fatal error
Uncaught Error: Class 'Waymark_Config' not found in wp-content/plugins/waymark/inc/Admin/Waymark_JS.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function add_meta_box() in wp-content/plugins/waymark/inc/Admin/Waymark_Meta.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/waymark/inc/Front/Waymark_JS.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html__() in wp-content/plugins/waymark/inc/Waymark_Config.php:53
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html__() in wp-content/plugins/waymark/inc/Waymark_Config.php:53
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/waymark/inc/Front/Waymark_HTTP.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html__() in wp-content/plugins/waymark/inc/Waymark_Taxonomies.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/waymark/inc/Admin/Waymark_AJAX.php:7
- > PHP Fatal error
Uncaught Error: Call to undefined function add_menu_page() in wp-content/plugins/waymark/inc/Admin/Waymark_Menu.php:12
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine on the user side
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
9 plugin tags: maps, kml, location, geojson, map markers...
waymark/Waymark.php 85% from 13 tests
The main file in "Waymark" v. 0.9.29.4 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 209 characters long)
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("waymark.php" instead of "Waymark.php")
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
Good job! No executable or dangerous file extensions detected30,156 lines of code in 75 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 23 | 3,394 | 3,219 | 15,428 |
SVG | 2 | 0 | 3 | 4,898 |
PHP | 26 | 1,017 | 860 | 4,820 |
CSS | 17 | 197 | 320 | 3,056 |
LESS | 6 | 105 | 326 | 1,673 |
Markdown | 1 | 147 | 0 | 281 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.46 |
Average class complexity | 28.56 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 120.00 |
Average method complexity | 4.77 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 80.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 25 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 25 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 181 | |
▷ Static methods | 88 | 48.62% |
▷ Public methods | 180 | 99.45% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 0.55% |
Functions | 2 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 2 | 100.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
39 PNG files occupy 0.38MB with 0.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/dist/waymark-js/images/waymark-icon-red.png | 9.74KB | 5.35KB | ▼ 45.02% |
waymark-js/dist/images/layers.png | 0.68KB | 1.05KB | 0.00% |
assets/dist/waymark-js/images/markers-shadow@2x.png | 1.43KB | 1.56KB | 0.00% |
waymark-js/dist/images/fullscreen@2x.png | 0.41KB | 0.15KB | ▼ 63.10% |
assets/dist/waymark-js/images/marker-icon-2x.png | 2.41KB | 2.52KB | 0.00% |