Benchmarks
Plugin footprint 47% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲6.20MB] [CPU: ▲53.87ms] 75% from 4 tests
Analyzing server-side resources used by Webinar Plugin: Create live/evergreen/automated/instant webinars, stream & Zoom Meetings | WebinarIgnition
It is recommended to improve the following
- Extra RAM: The extra memory usage should kept under 5MB (currently 6.20MB on /wp-admin/admin.php?page=freemius)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.89 ▲6.42 | 104.27 ▲64.65 |
Dashboard /wp-admin | 9.54 ▲6.24 | 111.78 ▲52.09 |
Posts /wp-admin/edit.php | 9.60 ▲6.24 | 107.49 ▲55.65 |
Add New Post /wp-admin/post-new.php | 12.06 ▲6.17 | 148.24 ▲43.08 |
Media Library /wp-admin/upload.php | 9.39 ▲6.16 | 123.29 ▲92.07 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 9.65 | 100.53 |
Server storage [IO: ▲40.69MB] [DB: ▲0.02MB] 67% from 3 tests
Input-output and database impact of this plugin
Just a few items left to fix
- Total filesystem usage should be limited to 25MB (currently using 40.69MB)
Filesystem: 4,213 new files
Database: 10 new tables, 29 new options
New tables |
---|
wp_webinarignition_questions |
wp_webinarignition_users_online |
wp_wi_logs |
wp_webinarignition_leadmeta |
wp_webinarignition_leads_evergreen |
wp_webinarignition |
wp_webinarignition_wi |
wp_webinarignition_leads |
wp_webinarignition_webhooks |
wp_webinarignition_lead_evergreenmeta |
New WordPress options |
---|
webinarignition_2_4_4_update |
webinarignition_db_version |
wi_data_conversion_page |
webinarignition_2_6_5_update |
wi_first_install |
wi_update_once |
webinarignition_2_9_0_update |
webinarignition_activated |
webinarignition_branding_copy |
webinarignition_2_2_17_update |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Webinar Plugin: Create live/evergreen/automated/instant webinars, stream & Zoom Meetings | WebinarIgnition
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,998 ▲236 | 14.88 ▲0.53 | 1.60 ▼0.18 | 31.92 ▼11.91 |
Dashboard /wp-admin | 2,403 ▲226 | 6.18 ▲0.61 | 126.27 ▲34.28 | 47.48 ▲4.97 |
Posts /wp-admin/edit.php | 2,349 ▲249 | 3.55 ▲1.59 | 57.37 ▲19.49 | 41.92 ▲7.55 |
Add New Post /wp-admin/post-new.php | 1,571 ▲45 | 21.02 ▼2.56 | 712.22 ▲31.00 | 39.55 ▼16.12 |
Media Library /wp-admin/upload.php | 1,478 ▲81 | 4.18 ▼0.00 | 99.22 ▼9.07 | 53.96 ▲8.64 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 1,291 | 3.09 | 45.55 | 27.49 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 25% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- Uninstall procedure had uncaught errors
- > Notice in wp-content/plugins/webinar-ignition/freemius/includes/class-freemius.php+8546
Undefined property: stdClass::$plugins
- The uninstall procedure failed, leaving 10 tables in the database
- wp_webinarignition_webhooks
- wp_wi_logs
- wp_webinarignition
- wp_webinarignition_leadmeta
- wp_webinarignition_leads
- wp_webinarignition_leads_evergreen
- wp_webinarignition_wi
- wp_webinarignition_lead_evergreenmeta
- wp_webinarignition_users_online
- wp_webinarignition_questions
- Zombie WordPress options were found after uninstall: 29 options
- webinarignition_branding_copy
- widget_theysaidso_widget
- wi_update_once
- webinarignition_2_4_4_update
- webinarignition_2_6_8_update
- webinarignition_2_6_5_update
- webinarignition_2_9_0_update
- webinarignition_smtp_email
- fs_debug_mode
- webinarignition_2_2_17_update
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though everything seems fine, this is not an exhaustive test
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
- 10× PHP files output text when accessed directly:
- > /wp-content/plugins/webinar-ignition/inc/lp/css/lp_css.php
- > /wp-content/plugins/webinar-ignition/inc/lp/css/ty_css.php
- > /wp-content/plugins/webinar-ignition/inc/lp/partials/fb_share_js.php
- > /wp-content/plugins/webinar-ignition/inc/lp/posted.php
- > /wp-content/plugins/webinar-ignition/inc/lp/partials/auto-video.php
- > /wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/build.php
- > /wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/update_certs.php
- > /wp-content/plugins/webinar-ignition/inc/lp/partials/tw_share_js.php
- > /wp-content/plugins/webinar-ignition/vendor/symfony/translation/Resources/bin/translation-status.php
- > /wp-content/plugins/webinar-ignition/inc/lp/css/ss_css.php
- 2501× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Preview/Wireless/CommandInstance.php:33
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Preview/Understand/Assistant/ModelBuildOptions.php:41
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Autopilot/V1/AssistantOptions.php:58
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Chat/V1/Service/Channel/InvitePage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Voice/V1/ConnectionPolicyContext.php:24
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Preview/Understand/Assistant/TaskOptions.php:53
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Studio/V2/Flow/Execution/ExecutionContextInstance.php:24
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Conversations/V1/Conversation/ParticipantOptions.php:78
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Supersim/V1/SimInstance.php:34
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Chat/V2/Service/User/UserBindingContext.php:17
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Everything seems fine on the user side
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
6 plugin tags: stream, jitsi, seminar, zoom, live...
webinar-ignition/webinarignition.php 77% from 13 tests
The main file in "Webinar Plugin: Create live/evergreen/automated/instant webinars, stream & Zoom Meetings | WebinarIgnition" v. 3.04.5 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Main file name: The principal plugin file should be the same as the plugin slug ("webinar-ignition.php" instead of "webinarignition.php")
- Description: The description should be shorter than 140 characters (currently 214 characters long)
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
Code Analysis 0% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Please make sure to remedy the following
- For security reasons, never distribute binary or executable files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/data/ca-certificates.crt
- .bat - Batch File in Windows
- ☣ wp-content/plugins/webinar-ignition/vendor/bin/carbon.bat
- ☣ wp-content/plugins/webinar-ignition/vendor/nesbot/carbon/bin/carbon.bat
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3,666 | 71,591 | 198,420 | 313,581 |
CSS | 45 | 14,144 | 766 | 102,992 |
PO File | 18 | 35,784 | 44,948 | 97,333 |
JavaScript | 52 | 3,089 | 2,779 | 19,848 |
XSD | 3 | 92 | 48 | 2,803 |
Markdown | 19 | 1,072 | 0 | 2,678 |
JSON | 13 | 2 | 0 | 1,442 |
SVG | 1 | 0 | 0 | 339 |
XML | 4 | 0 | 0 | 68 |
make | 1 | 9 | 0 | 27 |
YAML | 2 | 0 | 0 | 13 |
Bourne Shell | 1 | 3 | 1 | 10 |
DOS Batch | 2 | 0 | 0 | 8 |
Dockerfile | 1 | 3 | 0 | 8 |
PHP code 0% from 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
The following items need your attention
- Class cyclomatic complexity should be reduced to less than 1000 (currently 3,096)
- Method cyclomatic complexity should be reduced to less than 100 (currently 138)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.21 |
Average class complexity | 3.67 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,096.00 |
Average method complexity | 1.39 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 138.00 |
Code structure | ||
---|---|---|
Namespaces | 278 | |
Interfaces | 48 | |
Traits | 33 | |
Classes | 4,782 | |
▷ Abstract classes | 323 | 6.75% |
▷ Concrete classes | 4,459 | 93.25% |
▷ Final classes | 13 | 0.29% |
Methods | 32,792 | |
▷ Static methods | 1,479 | 4.51% |
▷ Public methods | 30,378 | 92.64% |
▷ Protected methods | 1,681 | 5.13% |
▷ Private methods | 733 | 2.24% |
Functions | 862 | |
▷ Named functions | 501 | 58.12% |
▷ Anonymous functions | 361 | 41.88% |
Constants | 1,247 | |
▷ Global constants | 116 | 9.30% |
▷ Class constants | 1,131 | 90.70% |
▷ Public constants | 1,128 | 99.73% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
59 PNG files occupy 1.42MB with 1.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/headerbg.png | 2.81KB | 0.38KB | ▼ 86.58% |
images/wi-email-design-logo.png | 39.27KB | 18.71KB | ▼ 52.34% |
inc/lp/images/logoC.png | 14.37KB | 4.50KB | ▼ 68.69% |
images/lp2.png | 57.41KB | 16.17KB | ▼ 71.84% |
inc/lp/images/arrows2.png | 3.35KB | 0.49KB | ▼ 85.25% |