Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully
Server metrics [RAM: ▲3.19MB] [CPU: ▼116.86ms] 75% from 4 tests
This is a short check of server-side resources used by Page Builder: KingComposer - Free Drag and Drop page builder by King-Theme
The following require your attention
- CPU: Total CPU usage must kept under 500.00ms (currently 2,264.87ms on /wp-admin/admin.php?page=kc-extensions)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.26 ▲3.42 | 61.70 ▲25.06 |
Dashboard /wp-admin | 6.37 ▲3.31 | 67.41 ▲16.95 |
Posts /wp-admin/edit.php | 6.37 ▲3.26 | 71.74 ▲26.03 |
Add New Post /wp-admin/post-new.php | 8.26 ▲2.82 | 123.16 ▼531.52 |
Media Library /wp-admin/upload.php | 6.37 ▲3.37 | 51.16 ▲22.08 |
Shortcode Mapper /wp-admin/admin.php?page=kc-mapper | 6.37 | 62.30 |
Sections Manager /wp-admin/edit.php?post_type=kc-section | 6.37 | 68.90 |
General Settings /wp-admin/admin.php?page=kingcomposer | 6.37 | 55.67 |
Extensions /wp-admin/admin.php?page=kc-extensions | 6.37 | 2,264.87 |
Server storage [IO: ▲5.81MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
This plugin was installed successfully
Filesystem: 295 new files
Database: no new tables, 1 new option
New WordPress options |
---|
widget_kc_widget_content |
Browser metrics Passed 4 tests
An overview of browser requirements for Page Builder: KingComposer - Free Drag and Drop page builder by King-Theme
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,894 ▲298 | 16.36 ▲0.78 | 15.79 ▲6.23 | 51.07 ▼0.70 |
Dashboard /wp-admin | 3,012 ▲78 | 5.91 ▼0.08 | 147.94 ▼9.41 | 144.03 ▲21.78 |
Posts /wp-admin/edit.php | 3,610 ▲871 | 8.25 ▲5.56 | 192.44 ▲118.22 | 116.06 ▲17.71 |
Add New Post /wp-admin/post-new.php | 4,603 ▲2,920 | 21.63 ▲2.88 | 573.40 ▲180.84 | 150.96 ▲39.22 |
Media Library /wp-admin/upload.php | 1,800 ▼4 | 4.72 ▼0.30 | 126.36 ▼33.66 | 157.23 ▲27.40 |
Shortcode Mapper /wp-admin/admin.php?page=kc-mapper | 2,406 | 8.10 | 198.77 | 150.72 |
Sections Manager /wp-admin/edit.php?post_type=kc-section | 1,488 | 2.65 | 70.73 | 82.18 |
General Settings /wp-admin/admin.php?page=kingcomposer | 3,878 | 9.71 | 298.03 | 149.36 |
Extensions /wp-admin/admin.php?page=kc-extensions | 2,746 | 2.35 | 58.10 | 123.45 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
- This plugin does not fully uninstall, leaving 1 option in the database
- widget_kc_widget_content
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
The smoke test was a success, however most plugin functionality was not tested
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
Almost there! Just fix the following items
- 32× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_column_text.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_video_play.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_column_inner.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_feature_box.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_box.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_counter_box.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_tab.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_icon.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_tabs.php
- > /wp-content/plugins/kingcomposer/shortcodes/live_editor/kc_title.php
- 91× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function language_attributes() in wp-content/plugins/kingcomposer/includes/single-section.php:2
- > PHP Warning
extract() expects parameter 1 to be array, null given in wp-content/plugins/kingcomposer/shortcodes/kc_accordion.php on line 7
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/kingcomposer/shortcodes/kc_blog_posts.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/kingcomposer/shortcodes/kc_carousel_post.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/kingcomposer/shortcodes/kc_flip_box.php:4
- > PHP Warning
extract() expects parameter 1 to be array, null given in wp-content/plugins/kingcomposer/shortcodes/kc_revslider.php on line 5
- > PHP Warning
extract() expects parameter 1 to be array, null given in wp-content/plugins/kingcomposer/shortcodes/kc_image_gallery.php on line 8
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/kingcomposer/shortcodes/kc_single_image.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/kingcomposer/shortcodes/kc_instagram_feed.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/kingcomposer/shortcodes/kc_pie_chart.php:14
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
These attributes need your attention:
- Tags: Too many tags (60 tag instead of maximum 10); only the first 5 tags are used in your directory listing
kingcomposer/kingcomposer.php 92% from 13 tests
This is the main PHP file of "Page Builder: KingComposer - Free Drag and Drop page builder by King-Theme" version 2.9.6, providing information about the plugin in the header fields and serving as the principal entry point to the plugin's functions
You should first fix the following items:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 150 characters long)
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
There were no executable files found in this plugin55,388 lines of code in 159 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 120 | 5,153 | 1,368 | 23,199 |
CSS | 12 | 1,014 | 152 | 14,181 |
JavaScript | 23 | 4,843 | 797 | 13,930 |
SVG | 4 | 0 | 8 | 4,078 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 83.81 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 266.00 |
Average method complexity | 6.41 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 55.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 16 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 16 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 245 | |
▷ Static methods | 24 | 9.80% |
▷ Public methods | 199 | 81.22% |
▷ Protected methods | 10 | 4.08% |
▷ Private methods | 36 | 14.69% |
Functions | 135 | |
▷ Named functions | 133 | 98.52% |
▷ Anonymous functions | 2 | 1.48% |
Constants | 16 | |
▷ Global constants | 11 | 68.75% |
▷ Class constants | 5 | 31.25% |
▷ Public constants | 5 | 100.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
83 PNG files occupy 0.39MB with 0.20MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/frontend/vendors/prettyPhoto/images/prettyPhoto/dark_rounded/btnPrevious.png | 1.41KB | 1.19KB | ▼ 15.74% |
includes/frontend/vendors/prettyPhoto/images/prettyPhoto/default/default_thumb.png | 1.50KB | 0.61KB | ▼ 59.47% |
assets/frontend/images/testimonial/layout-2.png | 1.07KB | 0.13KB | ▼ 87.57% |
assets/images/arrow-select-white.png | 1.12KB | 0.23KB | ▼ 79.27% |
includes/frontend/vendors/prettyPhoto/images/prettyPhoto/facebook/contentPatternTop.png | 0.14KB | 0.11KB | ▼ 21.13% |