Benchmarks
Plugin footprint 47% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲5.97MB] [CPU: ▼262.86ms] 75% from 4 tests
Server-side resources used by WebinarIgnition | WordPress Webinar plugin to run live and instant/evergreen/automated/recorded webinars
Please have a look at the following items
- Extra RAM: Extra memory usage should kept under 5MB (currently 5.97MB on /wp-admin/admin.php?page=freemius)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.75 ▲6.24 | 89.95 ▲37.67 |
Dashboard /wp-admin | 9.36 ▲5.96 | 76.32 ▲40.95 |
Posts /wp-admin/edit.php | 9.66 ▲6.02 | 76.44 ▲39.83 |
Add New Post /wp-admin/post-new.php | 12.88 ▲5.91 | 126.55 ▼1,161.39 |
Media Library /wp-admin/upload.php | 9.29 ▲6.00 | 58.96 ▲32.45 |
Freemius Debug [v.2.5.0.1] /wp-admin/admin.php?page=freemius | 9.57 | 60.35 |
Server storage [IO: ▲31.94MB] [DB: ▲0.01MB] 67% from 3 tests
Filesystem and database footprint
Please try to fix the following items
- Total filesystem usage must be limited to 25MB (currently using 31.94MB)
Filesystem: 4,151 new files
Database: 9 new tables, 16 new options
New tables |
---|
wp_webinarignition |
wp_webinarignition_leadmeta |
wp_wi_logs |
wp_webinarignition_users_online |
wp_webinarignition_questions |
wp_webinarignition_wi |
wp_webinarignition_leads_evergreen |
wp_webinarignition_lead_evergreenmeta |
wp_webinarignition_leads |
New WordPress options |
---|
fs_debug_mode |
webinarignition_db_version |
webinarignition_2_4_4_update |
fs_active_plugins |
webinarignition_2_6_8_update |
fs_gdpr |
webinarignition_smtp_name |
wi_first_install |
webinarignition_free_limitation |
webinarignition_installer_version |
... |
Browser metrics Passed 4 tests
A check of browser resources used by WebinarIgnition | WordPress Webinar plugin to run live and instant/evergreen/automated/recorded webinars
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,007 ▲285 | 17.80 ▲2.12 | 6.06 ▲0.10 | 2.16 ▼0.14 |
Dashboard /wp-admin | 3,135 ▲281 | 7.90 ▲1.74 | 148.46 ▲16.02 | 188.90 ▲39.36 |
Posts /wp-admin/edit.php | 2,977 ▲283 | 5.13 ▲1.89 | 76.78 ▲12.94 | 174.31 ▲32.48 |
Add New Post /wp-admin/post-new.php | 1,678 ▼39 | 19.16 ▼2.10 | 417.04 ▼29.12 | 218.08 ▲60.51 |
Media Library /wp-admin/upload.php | 1,759 ▲61 | 5.56 ▲0.10 | 105.74 ▼39.28 | 213.13 ▲23.05 |
Freemius Debug [v.2.5.0.1] /wp-admin/admin.php?page=freemius | 1,731 | 4.30 | 71.62 | 127.76 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 25% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- The plugin did not uninstall gracefully
- > Notice in wp-content/plugins/webinar-ignition/freemius/includes/class-freemius.php+8911
Undefined property: stdClass::$plugins
- The uninstall procedure failed, leaving 9 tables in the database
- wp_webinarignition_wi
- wp_webinarignition_lead_evergreenmeta
- wp_webinarignition_leads_evergreen
- wp_webinarignition_questions
- wp_webinarignition_leads
- wp_wi_logs
- wp_webinarignition
- wp_webinarignition_users_online
- wp_webinarignition_leadmeta
- This plugin does not fully uninstall, leaving 16 options in the database
- webinarignition_2_6_8_update
- webinarignition_2_6_5_update
- webinarignition_installer_version
- fs_debug_mode
- webinarignition_db_version
- webinarignition_free_limitation
- webinarignition_2_5_0_update
- webinarignition_smtp_name
- wi_first_install
- fs_accounts
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
- 10× PHP files output text when accessed directly:
- > /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/tw_share_js.php
- > /wp-content/plugins/webinar-ignition/vendor/symfony/translation/Resources/bin/translation-status.php
- > /wp-content/plugins/webinar-ignition/inc/lp/partials/auto-video.php
- > /wp-content/plugins/webinar-ignition/inc/lp/css/ty_css.php
- > /wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/build.php
- > /wp-content/plugins/webinar-ignition/inc/lp/css/ss_css.php
- > /wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/update_certs.php
- > /wp-content/plugins/webinar-ignition/inc/lp/css/lp_css.php
- 2506× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\ListResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Preview/TrustedComms/CurrentCallList.php:18
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/RecordingInstance.php:40
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/RecordingPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/lib/Service/Issuing/CardService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Proxy/V1/Service/Session/ParticipantPage.php:19
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/webinar-ignition/vendor/stripe/stripe-php/lib/Terminal/Location.php:20
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Autopilot/V1/Assistant/ModelBuildInstance.php:33
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Preview/DeployedDevices/Fleet/DeploymentPage.php:19
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Serverless/V1/Service/Environment/VariableOptions.php:29
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/webinar-ignition/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/Call/RecordingInstance.php:39
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
7 plugin tags: stream, seminar, meeting, live, jitsi...
webinar-ignition/webinarignition.php 77% from 13 tests
The principal PHP file in "WebinarIgnition | WordPress Webinar plugin to run live and instant/evergreen/automated/recorded webinars" v. 2.8.12 is loaded by WordPress automatically on each request
The following require your attention:
- Description: Please don't use more than 140 characters for the plugin description (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
- Main file name: Name the main plugin file the same as the plugin slug ("webinar-ignition.php" instead of "webinarignition.php")
Code Analysis 0% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
These items require your attention
- Do not include executable or dangerous files in 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,641 | 70,101 | 197,457 | 307,247 |
CSS | 43 | 14,035 | 706 | 102,424 |
PO File | 6 | 9,960 | 12,268 | 28,093 |
JavaScript | 45 | 3,066 | 2,780 | 20,723 |
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
This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Class cyclomatic complexity should be reduced to less than 1000 (currently 3,029)
- Please reduce cyclomatic complexity of methods to less than 100 (currently 138)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.21 |
Average class complexity | 3.56 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,029.00 |
Average method complexity | 1.38 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 138.00 |
Code structure | ||
---|---|---|
Namespaces | 278 | |
Interfaces | 47 | |
Traits | 33 | |
Classes | 4,773 | |
▷ Abstract classes | 322 | 6.75% |
▷ Concrete classes | 4,451 | 93.25% |
▷ Final classes | 13 | 0.29% |
Methods | 32,622 | |
▷ Static methods | 1,409 | 4.32% |
▷ Public methods | 30,269 | 92.79% |
▷ Protected methods | 1,679 | 5.15% |
▷ Private methods | 674 | 2.07% |
Functions | 815 | |
▷ Named functions | 456 | 55.95% |
▷ Anonymous functions | 359 | 44.05% |
Constants | 1,231 | |
▷ Global constants | 115 | 9.34% |
▷ Class constants | 1,116 | 90.66% |
▷ Public constants | 1,113 | 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
58 PNG files occupy 1.26MB with 0.68MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
inc/lp/images/noctaimage.png | 79.98KB | 52.78KB | ▼ 34.01% |
images/wi-email-design-logo.png | 39.27KB | 18.71KB | ▼ 52.34% |
inc/lp/images/orbg.png | 2.77KB | 0.22KB | ▼ 92.07% |
images/webip-classic.png | 10.17KB | 5.19KB | ▼ 49.00% |
inc/lp/images/skype.png | 2.41KB | 1.34KB | ▼ 44.35% |