Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲0.14MB] [CPU: ▲6.37ms] Passed 4 tests
Analyzing server-side resources used by MX Time Zone Clocks
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.12 | 36.24 ▼3.85 |
Dashboard /wp-admin | 3.51 ▲0.20 | 53.54 ▲3.73 |
Posts /wp-admin/edit.php | 3.56 ▲0.20 | 61.46 ▲13.65 |
Add New Post /wp-admin/post-new.php | 6.02 ▲0.14 | 105.35 ▲11.95 |
Media Library /wp-admin/upload.php | 3.35 ▲0.12 | 49.69 ▲16.48 |
Generate Short code /wp-admin/options-general.php?page=mxmtzc-mx-time-zone-clocks-menu | 3.41 | 45.69 |
Link Name /wp-admin/admin.php?page=mx_clocks_additional_plugins | 3.34 | 46.38 |
Link Name /wp-admin/admin.php?page=mx_clocks_offer | 3.34 | 45.35 |
Server storage [IO: ▲2.07MB] [DB: ▲0.07MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 79 new files
Database: no new tables, 6 new options
New WordPress options |
---|
db_upgraded |
widget_recent-comments |
widget_recent-posts |
widget_theysaidso_widget |
theysaidso_admin_options |
can_compress_scripts |
Browser metrics Passed 4 tests
This is an overview of browser requirements for MX Time Zone Clocks
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,023 ▲1,261 | 26.94 ▲12.23 | 51.15 ▲49.46 | 25.76 ▼18.84 |
Dashboard /wp-admin | 3,275 ▲1,098 | 17.41 ▲11.81 | 318.15 ▲227.44 | 114.51 ▲77.19 |
Posts /wp-admin/edit.php | 3,058 ▲955 | 12.14 ▲10.19 | 217.05 ▲176.47 | 97.67 ▲58.13 |
Add New Post /wp-admin/post-new.php | 7,180 ▲5,654 | 37.95 ▲14.88 | 1,197.82 ▲574.65 | 36.28 ▼10.91 |
Media Library /wp-admin/upload.php | 2,325 ▲931 | 12.72 ▲8.55 | 259.31 ▲162.12 | 95.77 ▲54.84 |
Generate Short code /wp-admin/options-general.php?page=mxmtzc-mx-time-zone-clocks-menu | 2,337 | 13.85 | 274.96 | 133.65 |
Link Name /wp-admin/admin.php?page=mx_clocks_additional_plugins | 2,209 | 14.30 | 317.21 | 119.51 |
Link Name /wp-admin/admin.php?page=mx_clocks_offer | 1,678 | 9.98 | 249.94 | 97.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- This plugin did not uninstall successfully, leaving 6 options in the database
- theysaidso_admin_options
- db_upgraded
- widget_recent-posts
- widget_recent-comments
- widget_theysaidso_widget
- can_compress_scripts
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
The following issues need your attention
- 2× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/mx-time-zone-clocks/includes/admin/views/components/hire-developer.php
- > /wp-content/plugins/mx-time-zone-clocks/includes/admin/views/settings-page.php
- 4× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/mx-time-zone-clocks/includes/admin/views/additional-plugins.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function mxmtzc_include_view() in wp-content/plugins/mx-time-zone-clocks/includes/admin/views/main-page.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/mx-time-zone-clocks/includes/admin/views/offer.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html__() in wp-content/plugins/mx-time-zone-clocks/includes/admin/views/components/olena-theme.php:3
- > 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 browser errors
- > GET request to /wp-admin/options-general.php?page=mxmtzc-mx-time-zone-clocks-menu
- > Other (warning) in unknown
/wp-admin/options-general.php?page=mxmtzc-mx-time-zone-clocks-menu 245 Unrecognized feature: 'web-share'.
- > GET request to /wp-admin/admin.php?page=mx_clocks_additional_plugins
- > Other (warning) in unknown
/wp-admin/admin.php?page=mx_clocks_additional_plugins 246 Unrecognized feature: 'web-share'.
- > GET request to /wp-admin/admin.php?page=mx_clocks_offer
- > Other (warning) in unknown
/wp-admin/admin.php?page=mx_clocks_offer 246 Unrecognized feature: 'web-share'.
Optimizations
Plugin configuration Passed 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
3 plugin tags: time zone, clock on the website, clock
mx-time-zone-clocks/mx-time-zone-clocks.php Passed 13 tests
The entry point to "MX Time Zone Clocks" version 4.1 is a PHP file that has certain tags in its header comment area
49 characters long description:
Clocks for different time zones for your website.
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
Good job! No executable or dangerous file extensions detected5,243 lines of code in 40 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 4 | 10 | 19 | 2,766 |
PHP | 30 | 710 | 374 | 1,160 |
SVG | 1 | 0 | 0 | 685 |
JavaScript | 4 | 408 | 84 | 599 |
PO File | 1 | 8 | 8 | 33 |
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 | 3.25 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 22.00 |
Average method complexity | 1.80 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 22.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 20 | |
▷ Abstract classes | 1 | 5.00% |
▷ Concrete classes | 19 | 95.00% |
▷ Final classes | 1 | 5.26% |
Methods | 58 | |
▷ Static methods | 16 | 27.59% |
▷ Public methods | 58 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 7 | |
▷ Named functions | 5 | 71.43% |
▷ Anonymous functions | 2 | 28.57% |
Constants | 7 | |
▷ Global constants | 7 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
20 PNG files occupy 0.63MB with 0.49MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/admin/assets/img/clock-face29.png | 38.36KB | 9.96KB | ▼ 74.03% |
includes/admin/assets/img/clock-face23.png | 21.17KB | 3.29KB | ▼ 84.47% |
includes/admin/assets/img/clock-face6.png | 32.35KB | 6.99KB | ▼ 78.39% |
includes/admin/assets/img/clock-face28.png | 43.08KB | 10.46KB | ▼ 75.71% |
includes/admin/assets/img/clock-face4.png | 35.01KB | 7.72KB | ▼ 77.96% |