Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲2.07MB] [CPU: ▲10.83ms] 75% from 4 tests
Server-side resources used by CM Tooltip Glossary
Please fix the following
- CPU: Total CPU usage should be kept under 500.00ms (currently 1,007.79ms on /wp-admin/admin.php?page=cmtt_settings)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.55 ▲2.08 | 86.37 ▲43.81 |
Dashboard /wp-admin | 5.39 ▲2.08 | 65.40 ▲8.65 |
Posts /wp-admin/edit.php | 5.44 ▲2.08 | 61.03 ▲10.37 |
Add New Post /wp-admin/post-new.php | 8.02 ▲2.13 | 109.39 ▲12.24 |
Media Library /wp-admin/upload.php | 5.25 ▲2.02 | 51.13 ▲12.07 |
User Guide /wp-admin/admin.php?page=cmtt_about | 5.36 | 458.47 |
Glossary /wp-admin/edit.php?post_type=glossary | 5.30 | 61.40 |
Add New /wp-admin/post-new.php?post_type=glossary | 8.02 | 101.56 |
Upgrade ➤ /wp-admin/admin.php?page=cmtt_pro | 5.36 | 51.12 |
Settings /wp-admin/admin.php?page=cmtt_settings | 5.69 | 1,007.79 |
Server storage [IO: ▲2.32MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 130 new files
Database: no new tables, 7 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-posts |
can_compress_scripts |
cmtt_glossaryID |
widget_theysaidso_widget |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
CM Tooltip Glossary: an overview of browser usage
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,864 ▲103 | 14.75 ▲0.56 | 1.97 ▲0.30 | 44.63 ▲1.73 |
Dashboard /wp-admin | 2,225 ▲51 | 5.51 ▼0.09 | 87.26 ▼13.11 | 82.31 ▲36.63 |
Posts /wp-admin/edit.php | 2,175 ▲72 | 2.66 ▲0.66 | 47.00 ▲8.75 | 34.42 ▲0.92 |
Add New Post /wp-admin/post-new.php | 6,524 ▲4,997 | 28.31 ▲5.14 | 900.32 ▲212.18 | 41.44 ▼11.67 |
Media Library /wp-admin/upload.php | 1,436 ▲33 | 4.12 ▼0.06 | 102.53 ▲0.01 | 67.69 ▲21.15 |
User Guide /wp-admin/admin.php?page=cmtt_about | 4,068 | 17.20 | 396.26 | 212.93 |
Glossary /wp-admin/edit.php?post_type=glossary | 1,206 | 2.43 | 42.86 | 33.91 |
Add New /wp-admin/post-new.php?post_type=glossary | 6,343 | 20.11 | 883.45 | 64.01 |
Upgrade ➤ /wp-admin/admin.php?page=cmtt_pro | 3,082 | 2.77 | 66.72 | 88.49 |
Settings /wp-admin/admin.php?page=cmtt_settings | 5,257 | 6.83 | 146.35 | 124.23 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
- This plugin did not uninstall successfully, leaving 7 options in the database
- db_upgraded
- can_compress_scripts
- widget_theysaidso_widget
- theysaidso_admin_options
- cmtt_glossaryID
- widget_recent-posts
- widget_recent-comments
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test
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
Please fix the following items
- 3× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_about.php
- > /wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_nav.php
- > /wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_extensions.php
- 18× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function CM\\plugin_dir_path() in wp-content/plugins/enhanced-tooltipglossary/settings/CMTT_Settings.php:5
- > PHP Warning
Use of undefined constant CMTT_URL - assumed 'CMTT_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_extensions.php on line 13
- > PHP Warning
Use of undefined constant CMTT_NAME - assumed 'CMTT_NAME' (this will throw an Error in a future version of PHP) in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_extensions.php on line 13
- > PHP Fatal error
Uncaught Error: Call to undefined function do_shortcode() in wp-content/plugins/enhanced-tooltipglossary/settings/view.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/enhanced-tooltipglossary/package/views/registration.php:42
- > PHP Warning
Use of undefined constant CMTT_NAME - assumed 'CMTT_NAME' (this will throw an Error in a future version of PHP) in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_about.php on line 6
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/enhanced-tooltipglossary/package/views/userguide_free.php:8
- > PHP Notice
Undefined variable: submenus in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_nav.php on line 5
- > PHP Warning
Use of undefined constant CMTT_URL - assumed 'CMTT_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_about.php on line 6
- > PHP Warning
Use of undefined constant CMTT_MENU_OPTION - assumed 'CMTT_MENU_OPTION' (this will throw an Error in a future version of PHP) in wp-content/plugins/enhanced-tooltipglossary/views/backend/admin_template.php on line 3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following user-side errors
- > GET request to /wp-admin/admin.php?page=cmtt_about
- > Security (warning) in unknown
security - Error with Permissions-Policy header: Unrecognized feature: 'ambient-light-sensor'.
- > GET request to /wp-admin/admin.php?page=cmtt_about
- > Security (warning) in unknown
security - Error with Permissions-Policy header: Unrecognized feature: 'bluetooth'.
- > GET request to /wp-admin/admin.php?page=cmtt_about
- > Deprecation (warning) in unknown
https://static.xx.fbcdn.net/rsrc.php/v3/yT/r/JeAVSvamNTp.js?_nc_x=Ij3Wp8lg5Kz 275 Listener added for a synchronous 'DOMSubtreeModified' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
- > GET request to /wp-admin/admin.php?page=cmtt_about
- > Console-api (severe) in unknown
https://static.xx.fbcdn.net/rsrc.php/v3/yT/r/JeAVSvamNTp.js?_nc_x=Ij3Wp8lg5Kz 60:573 "ErrorUtils caught an error:\n\nCannot listen to an undefined element. [Caught in: Tried to listen to element of type click]\n\nSubsequent non-fatal errors won't be logged; see https://fburl.com/debugjs."
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
5 plugin tags: glossary, dictionary, lexicon, tooltip, knowledgebase
enhanced-tooltipglossary/enhanced-tooltipglossary.php 85% from 13 tests
The main PHP script in "CM Tooltip Glossary" version 4.2.8 is automatically included on every request by WordPress
Please make the necessary changes and fix the following:
- Description: Keep the plugin description shorter than 140 characters (currently 243 characters long)
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
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
There were no executable files found in this plugin22,981 lines of code in 58 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 22 | 1,945 | 1,945 | 12,202 |
JavaScript | 15 | 1,544 | 631 | 7,725 |
CSS | 20 | 246 | 73 | 3,021 |
XML | 1 | 0 | 0 | 33 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.36 |
Average class complexity | 131.89 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 494.00 |
Average method complexity | 4.67 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 49.00 |
Code structure | ||
---|---|---|
Namespaces | 4 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 9 | |
▷ Abstract classes | 1 | 11.11% |
▷ Concrete classes | 8 | 88.89% |
▷ Final classes | 0 | 0.00% |
Methods | 313 | |
▷ Static methods | 240 | 76.68% |
▷ Public methods | 283 | 90.42% |
▷ Protected methods | 30 | 9.58% |
▷ Private methods | 0 | 0.00% |
Functions | 19 | |
▷ Named functions | 12 | 63.16% |
▷ Anonymous functions | 7 | 36.84% |
Constants | 21 | |
▷ Global constants | 16 | 76.19% |
▷ Class constants | 5 | 23.81% |
▷ Public constants | 5 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
54 PNG files occupy 0.57MB with 0.20MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
package/views/popup.png | 24.92KB | 7.12KB | ▼ 71.43% |
assets/css/images/icon.png | 0.40KB | 0.39KB | ▼ 2.70% |
assets/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png | 0.27KB | 0.18KB | ▼ 35.00% |
assets/css/images/ui-bg_flat_75_ffffff_40x100.png | 0.20KB | 0.08KB | ▼ 58.17% |
assets/css/images/ui-icons_2e83ff_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |