Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully
Server metrics [RAM: ▲0.15MB] [CPU: ▼2.64ms] Passed 4 tests
Server-side resources used by Portfolio by BestWebSoft - Work and Projects Presentation Plugin for WordPress
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.61 ▲0.15 | 46.25 ▲2.73 |
Dashboard /wp-admin | 3.45 ▲0.15 | 51.26 ▲0.61 |
Posts /wp-admin/edit.php | 3.57 ▲0.21 | 51.72 ▲3.04 |
Add New Post /wp-admin/post-new.php | 6.05 ▲0.16 | 90.48 ▼16.93 |
Media Library /wp-admin/upload.php | 3.37 ▲0.14 | 42.76 ▲3.56 |
BWS Panel /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel | 3.81 | 42.70 |
Executors /wp-admin/edit-tags.php?taxonomy=portfolio_executor_profile&post_type=bws-portfolio | 3.51 | 41.23 |
Add New /wp-admin/post-new.php?post_type=bws-portfolio | 3.64 | 59.32 |
Technologies /wp-admin/edit-tags.php?taxonomy=portfolio_technologies&post_type=bws-portfolio | 3.37 | 45.30 |
Projects /wp-admin/edit.php?post_type=bws-portfolio | 3.42 | 44.36 |
Server storage [IO: ▲6.92MB] [DB: ▲0.08MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 135 new files
Database: no new tables, 10 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_prtfl_widget |
prtfl_options |
widget_portfolio_technologies_widget |
widget_recent-posts |
bstwbsftwppdtplgns_options |
can_compress_scripts |
db_upgraded |
widget_theysaidso_widget |
widget_recent-comments |
Browser metrics Passed 4 tests
Portfolio by BestWebSoft - Work and Projects Presentation Plugin for WordPress: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,923 ▲162 | 14.26 ▼0.34 | 2.01 ▲0.24 | 43.14 ▼1.68 |
Dashboard /wp-admin | 2,316 ▲136 | 5.63 ▼0.05 | 86.52 ▼13.32 | 39.59 ▼2.37 |
Posts /wp-admin/edit.php | 2,237 ▲137 | 2.22 ▲0.28 | 34.36 ▼2.76 | 33.74 ▼1.27 |
Add New Post /wp-admin/post-new.php | 1,651 ▲125 | 23.16 ▼0.00 | 665.85 ▼23.47 | 62.87 ▲4.08 |
Media Library /wp-admin/upload.php | 1,524 ▲124 | 4.21 ▼0.02 | 101.78 ▲3.19 | 47.08 ▲4.06 |
BWS Panel /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel | 3,123 | 1.98 | 31.21 | 74.92 |
Executors /wp-admin/edit-tags.php?taxonomy=portfolio_executor_profile&post_type=bws-portfolio | 1,383 | 1.94 | 31.34 | 30.95 |
Add New /wp-admin/post-new.php?post_type=bws-portfolio | 3,738 | 11.58 | 257.25 | 86.97 |
Technologies /wp-admin/edit-tags.php?taxonomy=portfolio_technologies&post_type=bws-portfolio | 1,383 | 1.88 | 29.59 | 30.43 |
Settings /wp-admin/portfolio.php | 26 | 0.42 | 0.10 | 14.77 |
Projects /wp-admin/edit.php?post_type=bws-portfolio | 1,269 | 1.97 | 32.04 | 32.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 7 options
- widget_recent-posts
- db_upgraded
- widget_theysaidso_widget
- can_compress_scripts
- widget_prtfl_widget
- theysaidso_admin_options
- widget_recent-comments
Smoke tests 50% 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 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
- 6× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Class 'Bws_Settings_Tabs' not found in wp-content/plugins/portfolio/inc/class-prtfl-settings.php:7
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/portfolio/bws_menu/product_list.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/portfolio/templates/portfolio-post.php:6
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/portfolio/portfolio.php:450
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/portfolio/bws_menu/class-bws-settings.php:1452
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/portfolio/templates/portfolio.php:6
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please fix the following user-side errors
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/captcha-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/columns-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/contact-form-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/contact-form-to-db/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/custom-admin-page/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/custom-search-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/donate-button/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-2-step-verification/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/error-log-viewer/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/gallery-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/facebook-button-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-analytics/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/google-captcha/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-maps/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/google-shortlink/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/google-sitemap-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/htaccess/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/job-board/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/limit-attempts/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-linkedin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/multilanguage/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/pagination/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/pdf-print/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-pinterest/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/portfolio/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/post-to-csv/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/profile-extra-fields/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/promobar/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/quotes-and-tips/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/rating-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/realty/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/sender/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/relevant/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/slider-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-smtp/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/social-buttons-pack/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/timesheet/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/subscriber/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/social-login-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/bws-testimonials/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/twitter-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/updater/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/user-role/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=bws-portfolio&page=prtfl-bws-panel
- > Network (severe)
http://ps.w.org/visitors-online/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/portfolio.php
- > Network (severe)
wp-admin/portfolio.php - Failed to load resource: the server responded with a status of 404 (Not Found)
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
These attributes need to be fixed:
- Tags: Please delete some tags, you are using 12 tag instead of maximum 10
- Screenshots: These screenshots have no corresponding images in /assets: #1 (Portfolio frontend page (for all portfolios).), #2 (Portfolio single frontend page.), #3 (The pop-up window on Portfolio single page.), #4 (Portfolio Settings page.), #5 (Add technologies page.), #6 (Add executors profile page.), #7 (Add New Portfolio items.), #8 (Portfolio admin page (for all portfolios).)
portfolio/portfolio.php Passed 13 tests
The main file in "Portfolio by BestWebSoft - Work and Projects Presentation Plugin for WordPress" v. 2.56 serves as a complement to information provided in readme.txt and as the entry point to the plugin
104 characters long description:
Create your personal portfolio WordPress website. Manage and showcase past projects to get more clients.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Everything looks great! No dangerous files found in this plugin28,499 lines of code in 49 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 13 | 724 | 1,427 | 11,685 |
PO File | 11 | 4,236 | 6,216 | 8,890 |
CSS | 12 | 294 | 324 | 7,106 |
JavaScript | 9 | 50 | 128 | 668 |
SVG | 4 | 0 | 0 | 150 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.58 |
Average class complexity | 70.67 |
▷ Minimum class complexity | 5.00 |
▷ Maximum class complexity | 210.00 |
Average method complexity | 9.71 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 79.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 6 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 6 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 48 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 42 | 87.50% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 6 | 12.50% |
Functions | 102 | |
▷ Named functions | 102 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 2 | |
▷ Global constants | 2 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
68 PNG files occupy 4.85MB with 2.28MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-3.png | 508.05KB | 183.37KB | ▼ 63.91% |
screenshot-7.png | 302.71KB | 101.52KB | ▼ 66.46% |
screenshot-2.png | 373.06KB | 125.67KB | ▼ 66.31% |
bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_888888_256x240.png | 6.83KB | 4.17KB | ▼ 38.92% |
bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_55_fbf9ee_1x400.png | 0.12KB | 0.14KB | 0.00% |