Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲0.23MB] [CPU: ▼1.54ms] Passed 4 tests
Server-side resources used by Portfolio - WordPress Portfolio Plugin
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.70 ▲0.24 | 41.95 ▲1.45 |
Dashboard /wp-admin | 3.55 ▲0.20 | 51.39 ▼7.54 |
Posts /wp-admin/edit.php | 3.58 ▲0.23 | 52.61 ▼1.16 |
Add New Post /wp-admin/post-new.php | 6.14 ▲0.26 | 96.51 ▲1.10 |
Media Library /wp-admin/upload.php | 3.47 ▲0.24 | 41.21 ▲8.42 |
Categories /wp-admin/edit-tags.php?taxonomy=portfolio-category&post_type=portfolio | 3.47 | 41.98 |
Tags /wp-admin/edit-tags.php?taxonomy=portfolio-tag&post_type=portfolio | 3.47 | 45.26 |
Get Help /wp-admin/edit.php?post_type=portfolio&page=tlp_portfolio_get_help | 3.49 | 37.45 |
Settings /wp-admin/edit.php?post_type=portfolio&page=tlp_portfolio_settings | 3.49 | 44.94 |
ShortCodes /wp-admin/edit.php?post_type=portfolio-sc | 3.51 | 41.30 |
Add Portfolio /wp-admin/post-new.php?post_type=portfolio | 3.64 | 54.66 |
All Portfolios /wp-admin/edit.php?post_type=portfolio | 3.50 | 44.81 |
Server storage [IO: ▲0.98MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 95 new files
Database: no new tables, 10 new options
New WordPress options |
---|
widget_theysaidso_widget |
theysaidso_admin_options |
can_compress_scripts |
widget_recent-posts |
tpl_portfolio_settings |
widget_widget_tlp_port_owl_carousel |
db_upgraded |
tlp_portfolio_installed_version |
widget_recent-comments |
rtport_plugin_activation_time |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Portfolio - WordPress Portfolio Plugin
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,884 ▲122 | 14.67 ▲0.37 | 1.83 ▲0.19 | 41.96 ▼3.19 |
Dashboard /wp-admin | 2,281 ▲112 | 5.55 ▼0.21 | 96.14 ▼7.73 | 71.41 ▲28.12 |
Posts /wp-admin/edit.php | 2,190 ▲90 | 2.15 ▲0.20 | 42.90 ▼1.58 | 35.23 ▼2.25 |
Add New Post /wp-admin/post-new.php | 6,355 ▲4,820 | 21.64 ▼3.66 | 922.54 ▲314.25 | 57.48 ▼8.85 |
Media Library /wp-admin/upload.php | 1,477 ▲83 | 4.14 ▲0.01 | 98.39 ▲3.54 | 71.13 ▲28.42 |
Categories /wp-admin/edit-tags.php?taxonomy=portfolio-category&post_type=portfolio | 1,354 | 2.27 | 30.89 | 35.56 |
Tags /wp-admin/edit-tags.php?taxonomy=portfolio-tag&post_type=portfolio | 1,332 | 2.27 | 31.14 | 34.43 |
Get Help /wp-admin/edit.php?post_type=portfolio&page=tlp_portfolio_get_help | 1,701 | 9.18 | 278.52 | 106.38 |
Settings /wp-admin/edit.php?post_type=portfolio&page=tlp_portfolio_settings | 1,187 | 2.56 | 46.34 | 34.44 |
ShortCodes /wp-admin/edit.php?post_type=portfolio-sc | 1,209 | 2.45 | 48.21 | 52.20 |
Add Portfolio /wp-admin/post-new.php?post_type=portfolio | 3,043 | 8.38 | 202.01 | 141.50 |
All Portfolios /wp-admin/edit.php?post_type=portfolio | 1,175 | 1.93 | 33.78 | 36.03 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- Zombie WordPress options were found after uninstall: 10 options
- widget_widget_tlp_port_owl_carousel
- widget_theysaidso_widget
- db_upgraded
- widget_recent-posts
- widget_recent-comments
- theysaidso_admin_options
- rtport_plugin_activation_time
- tlp_portfolio_installed_version
- tpl_portfolio_settings
- can_compress_scripts
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
Good news, no errors were detected
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
- 43× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/tlp-portfolio/lib/templates/elementor/carousel3.php
- > /wp-content/plugins/tlp-portfolio/lib/templates/layouts/carousel2.php
- > /wp-content/plugins/tlp-portfolio/lib/templates/layouts/layout1.php
- > /wp-content/plugins/tlp-portfolio/lib/classes/TLPPortfolioSCMeta.php
- > /wp-content/plugins/tlp-portfolio/lib/templates/layouts/layout2.php
- > /wp-content/plugins/tlp-portfolio/lib/views/help.php
- > /wp-content/plugins/tlp-portfolio/lib/models/PFProReSizer.php
- > /wp-content/plugins/tlp-portfolio/lib/models/TlpPortfolioField.php
- > /wp-content/plugins/tlp-portfolio/lib/templates/layouts/carousel1.php
- > /wp-content/plugins/tlp-portfolio/lib/templates/elementor/layout1.php
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 93% from 29 tests
readme.txt 88% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Attributes that need to be fixed:
- Donate link: Invalid url: ""
- Tags: Please reduce the number of tags, currently 15 tag instead of maximum 10
tlp-portfolio/tlp-portfolio.php Passed 13 tests
The entry point to "Portfolio - WordPress Portfolio Plugin" version 2.8.15 is a PHP file that has certain tags in its header comment area
131 characters long description:
Portfolio is Fully Responsive and Mobile Friendly portfolio for WordPress to display your portfolio work in Grid and Isotope Views.
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Everything looks great! No dangerous files found in this plugin9,956 lines of code in 61 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 43 | 1,194 | 679 | 7,145 |
CSS | 7 | 424 | 91 | 2,370 |
JavaScript | 10 | 53 | 99 | 426 |
SVG | 1 | 3 | 0 | 15 |
PHP code 50% from 2 tests
A short review of cyclomatic complexity and code structure
It is recommended to fix the following
- Method cyclomatic complexity has to be reduced to less than 100 (currently 177)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.63 |
Average class complexity | 43.52 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 358.00 |
Average method complexity | 5.92 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 177.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 21 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 21 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 184 | |
▷ Static methods | 12 | 6.52% |
▷ Public methods | 151 | 82.07% |
▷ Protected methods | 10 | 5.43% |
▷ Private methods | 23 | 12.50% |
Functions | 11 | |
▷ Named functions | 1 | 9.09% |
▷ Anonymous functions | 10 | 90.91% |
Constants | 5 | |
▷ Global constants | 5 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
21 PNG files occupy 0.08MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/layout/isotope2.png | 3.08KB | 1.85KB | ▼ 40.10% |
assets/images/layout/layout1.png | 2.33KB | 1.53KB | ▼ 34.67% |
assets/images/tlp-sprite.png | 8.97KB | 5.54KB | ▼ 38.25% |
assets/images/old-portfolio.png | 1.28KB | 0.46KB | ▼ 64.00% |
assets/images/layout_type_isotope.png | 1.65KB | 0.52KB | ▼ 68.30% |