Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
This plugin's installer ran successfully
Server metrics [RAM: ▲0.24MB] [CPU: ▼131.71ms] 75% from 4 tests
Server-side resources used by IG Portfolio
Please have a look at the following items
- CPU: The total CPU usage must kept under 500.00ms (currently 946.16ms on /wp-admin/edit.php?post_type=project&page=ig-portfolio-getting-started)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.03 ▲0.31 | 50.36 ▲28.07 |
Dashboard /wp-admin | 3.34 ▲0.28 | 57.31 ▲5.88 |
Posts /wp-admin/edit.php | 3.38 ▲0.27 | 63.95 ▲16.57 |
Add New Post /wp-admin/post-new.php | 5.64 ▲0.20 | 104.21 ▼558.90 |
Media Library /wp-admin/upload.php | 3.22 ▲0.22 | 47.31 ▲9.63 |
Settings /wp-admin/edit.php?post_type=project&page=ig-portfolio-settings-page | 3.19 | 41.38 |
Category /wp-admin/edit-tags.php?taxonomy=portfolio&post_type=project | 3.22 | 45.78 |
Getting Started /wp-admin/edit.php?post_type=project&page=ig-portfolio-getting-started | 3.34 | 946.16 |
All Projects /wp-admin/edit.php?post_type=project | 3.25 | 45.51 |
Add New /wp-admin/post-new.php?post_type=project | 3.41 | 63.06 |
Server storage [IO: ▲0.27MB] [DB: ▲0.01MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 25 new files
Database: no new tables, 3 new options
New WordPress options |
---|
widget_ig_portfolio_project_widget |
widget_ig_portfolio_project_details_widget |
widget_ig_portfolio_categories_widget |
Browser metrics Passed 4 tests
IG Portfolio: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,734 ▲162 | 15.89 ▼0.11 | 9.25 ▼0.56 | 47.28 ▼0.38 |
Dashboard /wp-admin | 3,020 ▲83 | 5.91 ▼0.14 | 148.65 ▼25.48 | 105.61 ▼9.03 |
Posts /wp-admin/edit.php | 2,789 ▲50 | 2.72 ▲0.00 | 69.51 ▼1.66 | 92.31 ▲5.39 |
Add New Post /wp-admin/post-new.php | 1,715 ▲32 | 18.35 ▼0.34 | 405.94 ▼43.45 | 111.87 ▲6.25 |
Media Library /wp-admin/upload.php | 1,872 ▲65 | 5.03 ▼0.02 | 172.44 ▲12.22 | 116.29 ▲0.38 |
Settings /wp-admin/edit.php?post_type=project&page=ig-portfolio-settings-page | 1,180 | 2.10 | 60.95 | 74.67 |
Category /wp-admin/edit-tags.php?taxonomy=portfolio&post_type=project | 1,801 | 2.37 | 63.41 | 82.06 |
Getting Started /wp-admin/edit.php?post_type=project&page=ig-portfolio-getting-started | 1,576 | 2.06 | 58.60 | 133.69 |
All Projects /wp-admin/edit.php?post_type=project | 1,518 | 2.65 | 74.12 | 68.54 |
Add New /wp-admin/post-new.php?post_type=project | 3,822 | 8.99 | 242.45 | 159.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- This plugin does not fully uninstall, leaving 3 options in the database
- widget_ig_portfolio_categories_widget
- widget_ig_portfolio_project_details_widget
- widget_ig_portfolio_project_widget
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)
Even though everything seems fine, this is not an exhaustive test
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
The following issues need your attention
- 11× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/ig-portfolio/extra/ig-portfolio-project-widget.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/ig-portfolio/welcome/sections/welcome-footer.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/ig-portfolio/welcome/sections/welcome-intro.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/ig-portfolio/welcome/welcome-screen.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/ig-portfolio/includes/ig-portfolio-function.php:24
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/ig-portfolio/extra/ig-portfolio-project-details-widget.php:5
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/ig-portfolio/extra/ig-portfolio-category-widget.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/ig-portfolio/extra/ig-portfolio-shortcodes.php:83
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/ig-portfolio/welcome/sections/welcome-free-resources.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/ig-portfolio/includes/ig-portfolio-settings.php:3
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention:
- Screenshots: Add images for these screenshots: #1 (Project page), #2 (Portfolio page), #3 (Portfolio widgets and shortcodes)
ig-portfolio/ig-portfolio.php Passed 13 tests
"IG Portfolio" version 2.4's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
84 characters long description:
IG Portfolio is a clean and simply project showcase management system for WordPress.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Everything looks great! No dangerous files found in this plugin1,593 lines of code in 18 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 12 | 82 | 99 | 741 |
CSS | 2 | 52 | 3 | 331 |
Sass | 2 | 3 | 2 | 288 |
PO File | 1 | 84 | 94 | 210 |
JavaScript | 1 | 0 | 2 | 23 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.25 |
Average class complexity | 9.25 |
▷ Minimum class complexity | 5.00 |
▷ Maximum class complexity | 15.00 |
Average method complexity | 2.83 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 9.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 4 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 4 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 18 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 18 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 21 | |
▷ Named functions | 21 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
No PNG images were found in this plugin