Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.05MB] [CPU: ▼3.86ms] Passed 4 tests
Server-side resources used by Countdown and CountUp, WooCommerce Sales Timer
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.50 ▲0.04 | 39.95 ▼2.63 |
Dashboard /wp-admin | 3.35 ▲0.05 | 47.52 ▲0.68 |
Posts /wp-admin/edit.php | 3.40 ▲0.05 | 49.25 ▼0.23 |
Add New Post /wp-admin/post-new.php | 5.93 ▲0.05 | 87.97 ▼7.91 |
Media Library /wp-admin/upload.php | 3.27 ▲0.04 | 36.74 ▼4.66 |
Themes /wp-admin/admin.php?page=wpda_contdown_extend_themes | 3.24 | 33.94 |
Popup (Pro Feature!) /wp-admin/admin.php?page=wpda_contdown_extend_popup | 3.31 | 38.49 |
Timer /wp-admin/admin.php?page=wpda_contdown_extend_menu | 3.24 | 28.77 |
Featured Plugins /wp-admin/admin.php?page=wpda_contdown_extend_featured_plugins | 3.24 | 28.97 |
Server storage [IO: ▲2.00MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 159 new files
Database: 2 new tables, 7 new options
New tables |
---|
wp_wpda_contdown_extend_timer |
wp_wpda_contdown_extend_theme |
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
db_upgraded |
widget_recent-posts |
widget_recent-comments |
theysaidso_admin_options |
widget_wpdevart_countdown_extended |
Browser metrics Passed 4 tests
Checking browser requirements for Countdown and CountUp, WooCommerce Sales Timer
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,929 ▲172 | 13.52 ▼0.85 | 4.57 ▲2.45 | 39.68 ▼6.05 |
Dashboard /wp-admin | 2,248 ▲63 | 5.87 ▲0.93 | 107.44 ▼16.60 | 38.07 ▼7.59 |
Posts /wp-admin/edit.php | 2,128 ▲39 | 2.05 ▲0.01 | 39.29 ▲5.22 | 36.88 ▲5.54 |
Add New Post /wp-admin/post-new.php | 6,622 ▲5,088 | 29.21 ▲6.22 | 916.08 ▲253.38 | 70.17 ▲18.18 |
Media Library /wp-admin/upload.php | 1,427 ▲39 | 4.21 ▲0.10 | 103.88 ▼17.00 | 46.92 ▼0.79 |
Themes /wp-admin/admin.php?page=wpda_contdown_extend_themes | 1,071 | 2.74 | 63.77 | 52.12 |
Popup (Pro Feature!) /wp-admin/admin.php?page=wpda_contdown_extend_popup | 4,550 | 7.62 | 173.62 | 103.02 |
Timer /wp-admin/admin.php?page=wpda_contdown_extend_menu | 1,035 | 2.73 | 52.85 | 33.70 |
Featured Plugins /wp-admin/admin.php?page=wpda_contdown_extend_featured_plugins | 1,109 | 2.02 | 22.63 | 40.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- The plugin did not uninstall successfully, leaving 2 tables in the database
- wp_wpda_contdown_extend_theme
- wp_wpda_contdown_extend_timer
- This plugin does not fully uninstall, leaving 7 options in the database
- db_upgraded
- widget_wpdevart_countdown_extended
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
- can_compress_scripts
- theysaidso_admin_options
Smoke tests 50% 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 50% 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× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/countdown-wpdevart-extended/includes/wpdevart_widget.php:4
- > PHP Fatal error
Uncaught Error: Class 'WC_Settings_Page' not found in wp-content/plugins/countdown-wpdevart-extended/includes/admin/woocommerce_settings_tab.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function trailingslashit() in wp-content/plugins/countdown-wpdevart-extended/wpdevart_countdown_extended.php:61
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=wpda_contdown_extend_themes
- > Network (severe)
wp-content/plugins/countdown-wpdevart-extended/includes/admin/images/default%7B%7Brows.default%7D%7D.png - 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
Often overlooked, readme.txt is one of the most important files in your plugin
5 plugin tags: woocommerce sales countdown, woocommerce countdown, countdown widget, countdown timer, countdown
countdown-wpdevart-extended/wpdevart_countdown_extended.php 92% from 13 tests
The main file in "Countdown and CountUp, WooCommerce Sales Timer" v. 1.8.2 serves as a complement to information provided in readme.txt and as the entry point to the plugin
The following require your attention:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("countdown-wpdevart-extended.php" instead of "wpdevart_countdown_extended.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin12,216 lines of code in 79 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 14 | 221 | 114 | 4,783 |
JavaScript | 9 | 219 | 195 | 2,848 |
CSS | 8 | 109 | 119 | 2,511 |
PO File | 46 | 230 | 230 | 1,334 |
SVG | 2 | 0 | 0 | 740 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 23.73 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 84.00 |
Average method complexity | 3.20 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 26.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 15 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 15 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 155 | |
▷ Static methods | 31 | 20.00% |
▷ Public methods | 82 | 52.90% |
▷ Protected methods | 6 | 3.87% |
▷ Private methods | 67 | 43.23% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 3 | |
▷ Global constants | 3 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
24 PNG files occupy 0.22MB with 0.12MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/admin/images/featured_plugins/coming_soon.png | 12.40KB | 5.21KB | ▼ 57.98% |
includes/admin/images/featured_plugins/gallery-album-icon.png | 10.74KB | 4.69KB | ▼ 56.38% |
includes/admin/images/featured_plugins/Pricing-table.png | 12.94KB | 4.08KB | ▼ 68.44% |
includes/admin/images/tinymce_icon.png | 1.83KB | 1.06KB | ▼ 42.11% |
includes/admin/images/popup.png | 1.66KB | 1.12KB | ▼ 32.73% |