Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲2.71MB] [CPU: ▲4.75ms] 75% from 4 tests
Analyzing server-side resources used by WP Ever Accounting - Accounting for small business
Please fix the following
- CPU: You should keep total CPU usage under 500.00ms (currently 747.80ms on /wp-admin/admin.php?page=ea-extensions)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.45 ▲1.99 | 49.24 ▲10.13 |
Dashboard /wp-admin | 6.23 ▲2.92 | 56.82 ▼1.59 |
Posts /wp-admin/edit.php | 6.33 ▲2.97 | 60.86 ▲16.18 |
Add New Post /wp-admin/post-new.php | 8.94 ▲3.05 | 88.75 ▼5.73 |
Media Library /wp-admin/upload.php | 6.18 ▲2.95 | 54.80 ▲23.62 |
Expenses /wp-admin/admin.php?page=ea-expenses | 6.89 | 62.36 |
Reports /wp-admin/admin.php?page=ea-reports | 7.14 | 80.63 |
Tools /wp-admin/admin.php?page=ea-tools | 6.89 | 55.26 |
Settings /wp-admin/admin.php?page=ea-settings | 6.99 | 88.60 |
Banking /wp-admin/admin.php?page=ea-banking | 7.21 | 60.79 |
Overview /wp-admin/admin.php?page=eaccounting | 7.13 | 76.30 |
Sales /wp-admin/admin.php?page=ea-sales | 6.89 | 58.60 |
Items /wp-admin/admin.php?page=ea-items | 6.89 | 54.12 |
Extensions /wp-admin/admin.php?page=ea-extensions | 6.89 | 747.80 |
Server storage [IO: ▲2.51MB] [DB: ▲0.13MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 321 new files
Database: 10 new tables, 11 new options
New tables |
---|
wp_ea_contactmeta |
wp_ea_accounts |
wp_ea_items |
wp_ea_transactions |
wp_ea_notes |
wp_ea_transfers |
wp_ea_contacts |
wp_ea_document_items |
wp_ea_categories |
wp_ea_documents |
New WordPress options |
---|
eaccounting_install_date |
eaccounting_currencies |
widget_recent-comments |
can_compress_scripts |
db_upgraded |
eaccounting_version |
eaccounting_notices |
eaccounting_settings |
widget_theysaidso_widget |
widget_recent-posts |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for WP Ever Accounting - Accounting for small business
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,854 ▲92 | 14.68 ▲0.33 | 1.64 ▼0.06 | 38.45 ▼7.04 |
Dashboard /wp-admin | 2,262 ▲85 | 5.67 ▲0.09 | 95.36 ▼8.89 | 42.52 ▼4.10 |
Posts /wp-admin/edit.php | 2,164 ▲61 | 2.02 ▲0.06 | 40.68 ▲2.06 | 37.04 ▲3.10 |
Add New Post /wp-admin/post-new.php | 1,566 ▲36 | 23.25 ▲0.15 | 677.29 ▲20.98 | 52.52 ▼1.22 |
Media Library /wp-admin/upload.php | 1,464 ▲67 | 4.20 ▼0.00 | 96.10 ▼3.25 | 42.01 ▲0.35 |
Expenses /wp-admin/admin.php?page=ea-expenses | 1,686 | 5.10 | 85.05 | 37.23 |
Reports /wp-admin/admin.php?page=ea-reports | 1,666 | 5.20 | 153.55 | 33.26 |
Tools /wp-admin/admin.php?page=ea-tools | 3,424 | 4.48 | 63.09 | 33.59 |
Settings /wp-admin/admin.php?page=ea-settings | 2,809 | 5.00 | 82.04 | 41.95 |
Banking /wp-admin/admin.php?page=ea-banking | 1,498 | 4.43 | 56.94 | 79.64 |
Overview /wp-admin/admin.php?page=eaccounting | 1,382 | 5.91 | 137.63 | 50.67 |
Sales /wp-admin/admin.php?page=ea-sales | 1,691 | 5.09 | 74.31 | 26.89 |
Items /wp-admin/admin.php?page=ea-items | 1,379 | 4.29 | 60.51 | 31.39 |
Extensions /wp-admin/admin.php?page=ea-extensions | 1,265 | 4.40 | 52.66 | 110.57 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.13MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
The following items require your attention
- This plugin does not fully uninstall, leaving 10 tables in the database
- wp_ea_notes
- wp_ea_documents
- wp_ea_document_items
- wp_ea_transactions
- wp_ea_contactmeta
- wp_ea_accounts
- wp_ea_items
- wp_ea_contacts
- wp_ea_categories
- wp_ea_transfers
- Zombie WordPress options detected upon uninstall: 11 options
- widget_theysaidso_widget
- can_compress_scripts
- widget_recent-comments
- eaccounting_currencies
- widget_recent-posts
- eaccounting_install_date
- eaccounting_notices
- eaccounting_settings
- theysaidso_admin_options
- eaccounting_version
- ...
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 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/wp-ever-accounting/templates/restricted.php
- 4× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Call to undefined function sanitize_html_class() in wp-content/plugins/wp-ever-accounting/templates/bill-actions.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function eaccounting_get_countries() in wp-content/plugins/wp-ever-accounting/templates/invoice/invoice-to.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function eaccounting_get_countries() in wp-content/plugins/wp-ever-accounting/templates/bill/bill-from.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function sanitize_html_class() in wp-content/plugins/wp-ever-accounting/templates/invoice-actions.php:3
- > 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 90% from 29 tests
readme.txt 88% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need to be fixed:
- Tags: Please delete some tags, you are using 13 tag instead of maximum 10
- Screenshots: These screenshots have no corresponding images in /assets: #19 (Cash flow Report), #20 (Settings)
wp-ever-accounting/wp-ever-accounting.php 92% from 13 tests
The principal PHP file in "WP Ever Accounting - Accounting for small business" v. 1.1.7 is loaded by WordPress automatically on each request
Please make the necessary changes and fix the following:
- Requires at least: The required version number did not match the one declared in readme.txt ("4.4" instead of "4.7.0")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Good job! No executable or dangerous file extensions detected32,588 lines of code in 282 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 249 | 5,219 | 16,518 | 32,551 |
JavaScript | 18 | 0 | 0 | 18 |
CSS | 10 | 0 | 0 | 10 |
JSON | 1 | 0 | 0 | 5 |
SVG | 4 | 0 | 0 | 4 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 18.06 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 105.00 |
Average method complexity | 2.50 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 35.00 |
Code structure | ||
---|---|---|
Namespaces | 13 | |
Interfaces | 4 | |
Traits | 3 | |
Classes | 109 | |
▷ Abstract classes | 14 | 12.84% |
▷ Concrete classes | 95 | 87.16% |
▷ Final classes | 1 | 1.05% |
Methods | 1,343 | |
▷ Static methods | 132 | 9.83% |
▷ Public methods | 1,166 | 86.82% |
▷ Protected methods | 161 | 11.99% |
▷ Private methods | 16 | 1.19% |
Functions | 220 | |
▷ Named functions | 203 | 92.27% |
▷ Anonymous functions | 17 | 7.73% |
Constants | 31 | |
▷ Global constants | 9 | 29.03% |
▷ Class constants | 22 | 70.97% |
▷ Public constants | 22 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
22 compressed PNG files occupy 0.29MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
dist/images/ui-bg_glass_75_e6e6e6_1x400.png | 0.09KB | 0.14KB | 0.00% |
dist/images/ui-bg_flat_75_ffffff_40x100.png | 0.07KB | 0.08KB | 0.00% |
dist/images/ui-bg_flat_0_aaaaaa_40x100.png | 0.08KB | 0.08KB | 0.00% |
dist/images/ui-icons_454545_256x240.png | 3.69KB | 4.18KB | 0.00% |
dist/images/dashboard.png | 33.31KB | 16.33KB | ▼ 50.98% |