Benchmarks
Plugin footprint 99% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲7.02MB] [CPU: ▼53.79ms] 50% from 4 tests
This is a short check of server-side resources used by Master Popups
It is recommended to improve the following
- RAM: You should keep total memory usage under 10MB (currently 10.49MB on /wp-admin/edit.php?post_type=master-popups&page=settings-master-popups)
- Extra RAM: Try to keep extra memory usage under 5MB (currently 7.02MB on /wp-admin/edit.php?post_type=master-popups&page=settings-master-popups)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 10.44 ▲7.72 | 144.66 ▲124.27 |
Dashboard /wp-admin | 10.49 ▲7.43 | 166.06 ▲121.06 |
Posts /wp-admin/edit.php | 10.49 ▲7.38 | 159.66 ▲117.54 |
Add New Post /wp-admin/post-new.php | 11.23 ▲5.79 | 229.46 ▼546.69 |
Media Library /wp-admin/upload.php | 10.49 ▲7.49 | 129.99 ▲92.95 |
New Popup /wp-admin/post-new.php?post_type=master-popups | 10.81 | 231.03 |
All Popups /wp-admin/edit.php?post_type=master-popups | 10.49 | 154.00 |
All Lists /wp-admin/edit.php?post_type=mpp_audience | 10.49 | 162.51 |
General Settings /wp-admin/edit.php?post_type=master-popups&page=settings-master-popups | 10.49 | 170.13 |
Server storage [IO: ▲16.42MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 1,342 new files
Database: no new tables, no new options
Browser metrics 75% from 4 tests
This is an overview of browser requirements for Master Popups
Please improve the following
- Nodes: For the best user experience, please reduce the number of DOM nodes under 25,000 (currently 27,192 on /wp-admin/post-new.php?post_type=master-popups)
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,928 ▲322 | 16.25 ▲0.55 | 14.32 ▲4.12 | 51.97 ▲4.16 |
Dashboard /wp-admin | 3,040 ▲103 | 5.93 ▼0.08 | 132.32 ▼15.33 | 127.49 ▲13.55 |
Posts /wp-admin/edit.php | 2,817 ▲78 | 2.59 ▼0.12 | 69.76 ▲4.51 | 98.16 ▲9.03 |
Add New Post /wp-admin/post-new.php | 1,554 ▼507 | 15.14 ▼4.31 | 368.54 ▼40.27 | 124.33 ▲5.69 |
Media Library /wp-admin/upload.php | 1,828 ▲18 | 5.02 ▼0.03 | 145.41 ▼5.41 | 161.86 ▲38.88 |
New Popup /wp-admin/post-new.php?post_type=master-popups | 27,192 | 14.40 | 771.94 | 342.07 |
All Popups /wp-admin/edit.php?post_type=master-popups | 1,904 | 6.28 | 132.96 | 96.54 |
All Lists /wp-admin/edit.php?post_type=mpp_audience | 1,880 | 6.04 | 127.00 | 103.05 |
General Settings /wp-admin/edit.php?post_type=master-popups&page=settings-master-popups | 2,983 | 7.31 | 185.37 | 135.63 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Uninstaller ran successfully
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Everything seems fine, however this is by no means an exhaustive test
SRP 50% 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 fix the following items
- 466× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'MasterPopups\\Benhawker\\Pipedrive\\Exceptions\\PipedriveException' not found in wp-content/plugins/master-popups-lite/libs/integrations/PipedriveAPI1/src/Exceptions/PipedriveMissingFieldError.php:3
- > PHP Fatal error
Uncaught Error: Interface 'Symfony\\Component\\OptionsResolver\\Options' not found in wp-content/plugins/master-popups-lite/libs/integrations/MailgunAPI1/vendor/symfony/options-resolver/OptionsResolver.php:27
- > PHP Fatal error
Uncaught Error: Class 'MPP_Mailgun\\Api\\HttpApi' not found in wp-content/plugins/master-popups-lite/libs/integrations/MailgunAPI1/vendor/mailgun/mailgun-php/src/MPP_Mailgun/Api/Suppression/Bounce.php:25
- > PHP Fatal error
Uncaught Error: Interface 'MPP_Mailgun\\Hydrator\\Hydrator' not found in wp-content/plugins/master-popups-lite/libs/integrations/MailgunAPI1/vendor/mailgun/mailgun-php/src/MPP_Mailgun/Hydrator/NoopHydrator.php:19
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\OptionsResolver\\Exception\\InvalidArgumentException' not found in wp-content/plugins/master-popups-lite/libs/integrations/MailgunAPI1/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php:21
- > PHP Fatal error
Uncaught Error: Class 'MPP_Mailgun\\Model\\Tag\\Tag' not found in wp-content/plugins/master-popups-lite/libs/integrations/MailgunAPI1/vendor/mailgun/mailgun-php/src/MPP_Mailgun/Model/Tag/ShowResponse.php:17
- > PHP Fatal error
Uncaught Error: Class 'ConstantContactAPI2\\Components\\Component' not found in wp-content/plugins/master-popups-lite/libs/integrations/ConstantContactAPI2/Components/Tracking/OpenActivity.php:14
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/master-popups-lite/libs/integrations/AutopilotAPI1/guzzlehttp/psr7/src/DroppingStream.php:10
- > PHP Fatal error
Uncaught Error: Class 'ConstantContactAPI2\\Components\\Component' not found in wp-content/plugins/master-popups-lite/libs/integrations/ConstantContactAPI2/Components/EmailMarketing/TestSend.php:13
- > PHP Fatal error
Uncaught Error: Interface 'MasterPopups\\ConstantContact\\GuzzleHttp\\Post\\PostFileInterface' not found in wp-content/plugins/master-popups-lite/libs/integrations/ConstantContactAPI2/vendor/guzzlehttp/guzzle/src/Post/PostFile.php:11
- > 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 90% from 29 tests
readme.txt 88% from 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
Attributes that require attention:
- Screenshots: Please describe screenshot #9 in master-popups-lite/assets to your readme.txt
- Tags: Please delete some tags, you are using 15 tag instead of maximum 10
master-popups-lite/master-popups-lite.php 92% from 13 tests
The primary PHP file in "Master Popups" version 1.0.3 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Success! There were no dangerous files found in this plugin133,421 lines of code in 1,050 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 666 | 9,818 | 27,091 | 53,423 |
JSON | 50 | 0 | 0 | 31,417 |
CSS | 32 | 5,424 | 557 | 18,907 |
SVG | 221 | 52 | 221 | 16,681 |
JavaScript | 75 | 1,450 | 653 | 11,370 |
PO File | 4 | 596 | 817 | 1,470 |
Sass | 1 | 17 | 2 | 144 |
make | 1 | 4 | 0 | 9 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.35 |
Average class complexity | 10.70 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 215.00 |
Average method complexity | 2.56 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 99 | |
Interfaces | 68 | |
Traits | 18 | |
Classes | 502 | |
▷ Abstract classes | 14 | 2.79% |
▷ Concrete classes | 488 | 97.21% |
▷ Final classes | 119 | 24.39% |
Methods | 3,842 | |
▷ Static methods | 562 | 14.63% |
▷ Public methods | 3,317 | 86.34% |
▷ Protected methods | 88 | 2.29% |
▷ Private methods | 437 | 11.37% |
Functions | 273 | |
▷ Named functions | 86 | 31.50% |
▷ Anonymous functions | 187 | 68.50% |
Constants | 105 | |
▷ Global constants | 14 | 13.33% |
▷ Class constants | 91 | 86.67% |
▷ Public constants | 91 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
131 PNG files occupy 0.89MB with 0.27MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/admin/images/integrations/newsman.png | 5.05KB | 2.76KB | ▼ 45.40% |
assets/admin/images/integrations/simply_cast.png | 2.14KB | 1.85KB | ▼ 13.68% |
assets/admin/images/integrations/benchmark2.png | 3.56KB | 2.55KB | ▼ 28.39% |
assets/admin/images/default-image.png | 1.14KB | 0.64KB | ▼ 43.99% |
assets/images/letter-border.png | 1.53KB | 1.27KB | ▼ 17.24% |