Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.10MB] [CPU: ▼4.92ms] Passed 4 tests
This is a short check of server-side resources used by MapFig Studio
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.57 ▲0.10 | 42.20 ▼1.92 |
Dashboard /wp-admin | 3.42 ▲0.08 | 50.31 ▼17.28 |
Posts /wp-admin/edit.php | 3.53 ▲0.17 | 49.76 ▲1.52 |
Add New Post /wp-admin/post-new.php | 6.00 ▲0.11 | 86.19 ▼2.01 |
Media Library /wp-admin/upload.php | 3.35 ▲0.12 | 37.21 ▲2.31 |
Settings /wp-admin/admin.php?page=studio_settings | 3.32 | 33.53 |
Social Share /wp-admin/admin.php?page=studio_social_share | 3.34 | 33.70 |
MapFig Studio /wp-admin/admin.php?page=studio | 3.33 | 32.03 |
Documentation /wp-admin/admin.php?page=studio_documentation | 3.33 | 31.93 |
My Studio Maps /wp-admin/admin.php?page=studio_my_maps | 3.32 | 33.01 |
Social Settings /wp-admin/admin.php?page=studio_social_share_settings | 3.32 | 34.34 |
Server storage [IO: ▲12.87MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 738 new files
Database: 1 new table, 8 new options
New tables |
---|
wp_studio_map |
New WordPress options |
---|
widget_recent-comments |
theysaidso_admin_options |
db_upgraded |
widget_studio-widget |
widget_theysaidso_widget |
can_compress_scripts |
widget_recent-posts |
mapfig_studio_db_version |
Browser metrics Passed 4 tests
MapFig Studio: an overview of browser usage
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,019 ▲258 | 13.47 ▼0.89 | 8.90 ▲7.13 | 42.53 ▼0.91 |
Dashboard /wp-admin | 2,330 ▲150 | 5.58 ▼0.09 | 84.91 ▼15.21 | 40.15 ▼1.84 |
Posts /wp-admin/edit.php | 2,246 ▲146 | 2.01 ▲0.04 | 35.12 ▼1.54 | 30.87 ▼3.56 |
Add New Post /wp-admin/post-new.php | 1,658 ▲120 | 18.64 ▼4.70 | 628.31 ▼52.51 | 70.81 ▲8.78 |
Media Library /wp-admin/upload.php | 1,548 ▲148 | 4.24 ▼0.16 | 100.12 ▼9.89 | 42.22 ▼6.46 |
Settings /wp-admin/admin.php?page=studio_settings | 1,289 | 2.85 | 42.11 | 63.07 |
Social Share /wp-admin/admin.php?page=studio_social_share | 1,942 | 3.98 | 74.61 | 43.06 |
MapFig Studio /wp-admin/admin.php?page=studio | 1,352 | 2.82 | 36.32 | 49.85 |
Documentation /wp-admin/admin.php?page=studio_documentation | 1,352 | 2.79 | 33.29 | 34.96 |
My Studio Maps /wp-admin/admin.php?page=studio_my_maps | 1,307 | 2.88 | 35.00 | 39.24 |
Social Settings /wp-admin/admin.php?page=studio_social_share_settings | 1,420 | 2.87 | 37.09 | 35.96 |
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
Please fix the following items
- The uninstall procedure failed, leaving 1 table in the database
- wp_studio_map
- Zombie WordPress options were found after uninstall: 8 options
- theysaidso_admin_options
- mapfig_studio_db_version
- widget_studio-widget
- widget_theysaidso_widget
- db_upgraded
- can_compress_scripts
- widget_recent-comments
- widget_recent-posts
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
The following issues need your attention
- 44× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/config/hooks.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/system/core/Hooks.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/system/core/Exceptions.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/config/routes.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/system/libraries/Upload.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/config/foreign_chars.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/config/migration.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/config/profiler.php
- > /wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/system/core/Benchmark.php
- > /wp-content/plugins/mapfig-studio/views/include/footer-small.php
- 37× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/mapfig-studio/views/social_share.php:8
- > PHP Warning
Use of undefined constant GOOGLEPLUS_URL - assumed 'GOOGLEPLUS_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/mapfig-studio/views/include/footer-small.php on line 96
- > PHP Notice
Undefined variable: result in wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/views/ajax_upload_result.php on line 9
- > PHP Warning
Use of undefined constant TWITTER_URL - assumed 'TWITTER_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/mapfig-studio/views/include/footer-small.php on line 93
- > PHP Notice
Undefined variable: filepath in wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/errors/error_php.php on line 7
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/mapfig-studio/include/shortcode/functions.php:44
- > PHP Warning
Use of undefined constant STUDIO_PLUGIN_NAME_FORMATED - assumed 'STUDIO_PLUGIN_NAME_FORMATED' (this will throw an Error in a future version of PHP) in wp-content/plugins/mapfig-studio/views/social_share_settings.php on line 5
- > PHP Notice
Undefined variable: result in wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/views/ajax_upload_result.php on line 20
- > PHP Notice
Undefined variable: line in wp-content/plugins/mapfig-studio/tinymce/js/tinymce/plugins/jbimages/ci/application/errors/error_php.php on line 8
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mapfig-studio/include/studioFunctions.php:142
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following browser errors
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=studio_social_share_settings
- > Network (severe)
wp-content/plugins/mapfig-studio/js/jquery.SelectTag.js?ver=1.0.0 - Failed to load resource: the server responded with a status of 404 (Not Found)
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
9 plugin tags: maps, bing maps, openstreetmap, google maps, leaflet...
mapfig-studio/plugin.php 92% from 13 tests
The main file in "MapFig Studio" v. 0.2.1 serves as a complement to information provided in readme.txt and as the entry point to the plugin
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("mapfig-studio.php" instead of "plugin.php")
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 plugin77,061 lines of code in 452 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 113 | 881 | 970 | 51,480 |
JavaScript | 99 | 1,897 | 983 | 7,685 |
PHP | 70 | 1,806 | 4,706 | 6,701 |
Sass | 47 | 463 | 190 | 4,473 |
SVG | 10 | 0 | 0 | 2,074 |
LESS | 14 | 234 | 106 | 1,594 |
HTML | 25 | 172 | 312 | 1,534 |
JSON | 12 | 12 | 0 | 590 |
XML | 48 | 0 | 1 | 453 |
Markdown | 11 | 216 | 0 | 449 |
YAML | 3 | 4 | 5 | 28 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 39.00 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 181.00 |
Average method complexity | 4.59 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 35.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 21 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 21 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 222 | |
▷ Static methods | 1 | 0.45% |
▷ Public methods | 193 | 86.94% |
▷ Protected methods | 22 | 9.91% |
▷ Private methods | 7 | 3.15% |
Functions | 39 | |
▷ Named functions | 39 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 39 | |
▷ Global constants | 39 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
67 PNG files occupy 2.39MB with 1.14MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
bootflat/img/github.png | 5.86KB | 2.95KB | ▼ 49.68% |
bootflat/img/feature-bootstrap.png | 4.12KB | 3.76KB | ▼ 8.63% |
images/share/email.png | 95.45KB | 27.20KB | ▼ 71.50% |
bootflat/img/feature-lightweight.png | 6.53KB | 5.05KB | ▼ 22.75% |
screenshots/map-options.png | 131.00KB | 18.11KB | ▼ 86.18% |