Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.71MB] [CPU: ▲5.92ms] 75% from 4 tests
An overview of server-side resources used by QuadLayers Telegram Button
The following require your attention
- CPU: Total CPU usage should be kept under 500.00ms (currently 675.65ms on /wp-admin/admin.php?page=qltgm_suggestions)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.20 ▲0.73 | 43.97 ▲0.35 |
Dashboard /wp-admin | 4.06 ▲0.75 | 54.60 ▲3.92 |
Posts /wp-admin/edit.php | 4.07 ▲0.70 | 55.98 ▲11.66 |
Add New Post /wp-admin/post-new.php | 6.60 ▲0.71 | 106.71 ▲7.73 |
Media Library /wp-admin/upload.php | 3.94 ▲0.71 | 44.46 ▲12.53 |
Box /wp-admin/admin.php?page=qltgm_box | 3.98 | 45.12 |
Colors /wp-admin/admin.php?page=qltgm_scheme | 3.92 | 43.40 |
Contacts /wp-admin/admin.php?page=qltgm_contacts | 4.01 | 43.01 |
Display /wp-admin/admin.php?page=qltgm_display | 3.97 | 41.29 |
Button /wp-admin/admin.php?page=qltgm_button | 4.23 | 42.68 |
Suggestions /wp-admin/admin.php?page=qltgm_suggestions | 4.33 | 675.65 |
Welcome /wp-admin/admin.php?page=qltgm | 3.92 | 40.43 |
Server storage [IO: ▲0.89MB] [DB: ▲0.06MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 128 new files
Database: no new tables, 6 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-posts |
can_compress_scripts |
widget_recent-comments |
widget_theysaidso_widget |
db_upgraded |
Browser metrics Passed 4 tests
QuadLayers Telegram Button: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,043 ▲281 | 13.42 ▼0.86 | 9.94 ▲7.92 | 39.28 ▼4.60 |
Dashboard /wp-admin | 2,348 ▲177 | 5.59 ▼0.07 | 93.31 ▼10.41 | 82.10 ▲37.62 |
Posts /wp-admin/edit.php | 2,158 ▲55 | 1.98 ▲0.04 | 38.03 ▼1.21 | 33.35 ▼0.71 |
Add New Post /wp-admin/post-new.php | 1,569 ▲38 | 23.71 ▲0.81 | 713.01 ▲72.83 | 51.52 ▼9.31 |
Media Library /wp-admin/upload.php | 1,455 ▲61 | 4.12 ▼0.12 | 103.74 ▲2.79 | 74.90 ▲31.76 |
Box /wp-admin/admin.php?page=qltgm_box | 1,983 | 8.75 | 183.58 | 152.73 |
Colors /wp-admin/admin.php?page=qltgm_scheme | 1,191 | 2.68 | 53.07 | 36.67 |
Contacts /wp-admin/admin.php?page=qltgm_contacts | 1,222 | 3.72 | 48.94 | 84.65 |
Display /wp-admin/admin.php?page=qltgm_display | 1,305 | 2.67 | 50.02 | 37.50 |
Button /wp-admin/admin.php?page=qltgm_button | 1,296 | 2.44 | 47.87 | 39.62 |
Suggestions /wp-admin/admin.php?page=qltgm_suggestions | 2,015 | 2.60 | 37.96 | 72.80 |
Welcome /wp-admin/admin.php?page=qltgm | 983 | 2.40 | 30.90 | 43.83 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.06MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- Zombie WordPress options detected upon uninstall: 6 options
- theysaidso_admin_options
- widget_recent-comments
- widget_theysaidso_widget
- can_compress_scripts
- widget_recent-posts
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though no errors were found, this is by no means 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
Please take a closer look at the following
- 3× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/quadlayers-telegram-chat/quadlayers-telegram-chat.php
- > /wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/modals/contact/panel-contact-chat.php
- > /wp-content/plugins/quadlayers-telegram-chat/uninstall.php
- 44× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-plugin-install-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/quadlayers-telegram-chat/jetpack_vendor/quadlayers/wp-plugin-suggestions/src/Table.php on line 14
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/premium.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/modals/contact/panel-visibility.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/modals/contact/panel-info.php:3
- > PHP Fatal error
Trait 'QuadLayers\\WP_Notice_Plugin_Promote\\Traits\\PluginActions' not found in wp-content/plugins/quadlayers-telegram-chat/jetpack_vendor/quadlayers/wp-notice-plugin-promote/src/PluginBySlug.php on line 20
- > PHP Notice
Undefined variable: wp_list_table in wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/suggestions.php on line 19
- > PHP Warning
require_once(ABSPATHwp-admin/includes/class-wp-plugin-install-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/quadlayers-telegram-chat/jetpack_vendor/quadlayers/wp-plugin-suggestions/src/Table.php on line 14
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installer\\LibraryInstaller' not found in wp-content/plugins/quadlayers-telegram-chat/vendor/automattic/jetpack-composer-plugin/src/class-manager.php:18
- > PHP Fatal error
Uncaught Error: Class 'QuadLayers\\QLTGM\\Models\\Base' not found in wp-content/plugins/quadlayers-telegram-chat/lib/models/class-button.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/quadlayers-telegram-chat/lib/view/backend/pages/scheme.php:6
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine on the user side
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
10 plugin tags: telegram chat, telegram message, help desk, telegram support, click to chat...
quadlayers-telegram-chat/quadlayers-telegram-chat.php Passed 13 tests
"QuadLayers Telegram Button" version 3.1.0's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
107 characters long description:
Telegram Button allows your visitors to contact you or your team through Telegram chat with a single click.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Success! There were no dangerous files found in this plugin6,379 lines of code in 108 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 86 | 812 | 1,740 | 4,753 |
Markdown | 12 | 270 | 0 | 730 |
JSON | 1 | 0 | 0 | 458 |
CSS | 3 | 66 | 0 | 354 |
JavaScript | 5 | 9 | 14 | 57 |
XML | 1 | 0 | 0 | 27 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.36 |
Average class complexity | 11.84 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 91.00 |
Average method complexity | 2.87 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 32.00 |
Code structure | ||
---|---|---|
Namespaces | 14 | |
Interfaces | 0 | |
Traits | 3 | |
Classes | 41 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 41 | 100.00% |
▷ Final classes | 1 | 2.44% |
Methods | 243 | |
▷ Static methods | 60 | 24.69% |
▷ Public methods | 209 | 86.01% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 34 | 13.99% |
Functions | 19 | |
▷ Named functions | 3 | 15.79% |
▷ Anonymous functions | 16 | 84.21% |
Constants | 27 | |
▷ Global constants | 27 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
4 PNG files occupy 0.20MB with 0.15MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/backend/img/box.png | 44.47KB | 14.35KB | ▼ 67.73% |
assets/backend/img/icon.png | 19.44KB | 3.27KB | ▼ 83.20% |
assets/backend/img/box2.png | 53.77KB | 14.44KB | ▼ 73.14% |
assets/backend/img/old.png | 89.13KB | 23.93KB | ▼ 73.15% |