Benchmarks
Plugin footprint 83% 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: ▲0.10MB] [CPU: ▼4.16ms] Passed 4 tests
This is a short check of server-side resources used by Pop ups, Exit intent popups, email popups, banners, bars, countdowns and cart savers - Promolayer
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.57 ▲0.11 | 42.57 ▲0.40 |
Dashboard /wp-admin | 3.40 ▲0.10 | 44.00 ▼4.16 |
Posts /wp-admin/edit.php | 3.52 ▲0.16 | 44.81 ▼2.46 |
Add New Post /wp-admin/post-new.php | 5.98 ▲0.09 | 91.14 ▼9.11 |
Media Library /wp-admin/upload.php | 3.33 ▲0.09 | 34.50 ▼0.89 |
Server storage [IO: ▲2.69MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 38 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_recent-comments |
widget_theysaidso_widget |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-posts |
db_upgraded |
promolayer_options |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Pop ups, Exit intent popups, email popups, banners, bars, countdowns and cart savers - Promolayer
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,875 ▲140 | 13.86 ▼0.51 | 9.30 ▲7.46 | 46.60 ▲4.09 |
Dashboard /wp-admin | 2,274 ▲91 | 4.83 ▼0.07 | 110.31 ▼13.28 | 37.54 ▼9.07 |
Posts /wp-admin/edit.php | 2,161 ▲72 | 2.07 ▲0.07 | 38.11 ▲2.15 | 29.88 ▼1.75 |
Add New Post /wp-admin/post-new.php | 1,567 ▲48 | 18.41 ▼4.89 | 623.94 ▼78.89 | 49.84 ▼4.05 |
Media Library /wp-admin/upload.php | 1,459 ▲71 | 4.20 ▼0.02 | 100.59 ▼8.62 | 43.81 ▼8.53 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
It is recommended to fix the following
- This plugin did not uninstall successfully, leaving 7 options in the database
- widget_theysaidso_widget
- db_upgraded
- can_compress_scripts
- theysaidso_admin_options
- promolayer_options
- widget_recent-comments
- widget_recent-posts
Smoke tests 75% 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)
Good news, no errors were detected
SRP 50% 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
Please fix the following items
- 1× PHP files trigger server errors when accessed directly:
- > PHP Fatal error
Uncaught Error: Class 'Promolayer' not found in wp-content/plugins/promolayer-popup-builder/admin/partials/promolayer-admin-display.php:15
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
7 plugin tags: spin to win, abandonment, popup builder, exit intent, coupon wheel...
promolayer-popup-builder/promolayer.php 92% from 13 tests
The main file in "Pop ups, Exit intent popups, email popups, banners, bars, countdowns and cart savers - Promolayer" v. 1.0.9 serves as a complement to information provided in readme.txt and as the entry point to the plugin
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("promolayer-popup-builder.php" instead of "promolayer.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected960 lines of code in 18 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 11 | 164 | 510 | 568 |
CSS | 1 | 0 | 0 | 215 |
PO File | 1 | 35 | 41 | 93 |
JavaScript | 1 | 12 | 2 | 62 |
SVG | 4 | 0 | 0 | 22 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.24 |
Average class complexity | 6.86 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 18.00 |
Average method complexity | 1.92 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 8.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 7 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 7 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 38 | |
▷ Static methods | 4 | 10.53% |
▷ Public methods | 32 | 84.21% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 6 | 15.79% |
Functions | 9 | |
▷ Named functions | 3 | 33.33% |
▷ Anonymous functions | 6 | 66.67% |
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
Using a strong compression for your PNG files is a great way to speed-up your plugin
4 PNG files occupy 0.05MB with 0.02MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/banner-772x250.png | 16.30KB | 6.45KB | ▼ 60.46% |
assets/images/user-icon.png | 1.68KB | 1.60KB | ▼ 5.05% |
assets/banner-1544x500.png | 31.81KB | 11.87KB | ▼ 62.67% |
assets/images/rating-stars.png | 6.45KB | 6.90KB | 0.00% |