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.26MB] [CPU: ▼1.11ms] Passed 4 tests
An overview of server-side resources used by Nari Accountant
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.74 ▲0.28 | 46.80 ▲3.68 |
Dashboard /wp-admin | 3.58 ▲0.23 | 52.95 ▼7.94 |
Posts /wp-admin/edit.php | 3.69 ▲0.33 | 53.80 ▲4.40 |
Add New Post /wp-admin/post-new.php | 6.16 ▲0.27 | 101.57 ▼4.57 |
Media Library /wp-admin/upload.php | 3.50 ▲0.27 | 42.86 ▲7.59 |
Transactions /wp-admin/admin.php?page=nari100_transactions | 3.50 | 39.80 |
Settings /wp-admin/admin.php?page=nari100_settings | 3.48 | 37.60 |
Definitions /wp-admin/admin.php?page=nari100_definitions | 3.48 | 40.12 |
Reports /wp-admin/admin.php?page=nari100_reports | 3.48 | 40.63 |
Accounts /wp-admin/admin.php?page=nari100_accounts | 3.48 | 32.65 |
Nari Accountant /wp-admin/admin.php?page=nari100 | 3.46 | 36.87 |
Server storage [IO: ▲2.17MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 72 new files
Database: 3 new tables, 13 new options
New tables |
---|
wp_nari100_accounts |
wp_nari100_transactions |
wp_nari100_definitions |
New WordPress options |
---|
nari100_bal_limit |
nari100_currency |
widget_recent-posts |
nari100_thousands_sep |
widget_recent-comments |
nari100_backups |
nari100_pages |
nari100_version |
db_upgraded |
can_compress_scripts |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Nari Accountant
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,829 ▲68 | 14.73 ▲0.33 | 1.80 ▲0.16 | 43.78 ▲1.57 |
Dashboard /wp-admin | 2,220 ▲40 | 5.59 ▼0.05 | 87.69 ▼2.46 | 82.66 ▲40.06 |
Posts /wp-admin/edit.php | 2,143 ▲43 | 2.02 ▲0.02 | 34.48 ▼0.98 | 33.63 ▼1.09 |
Add New Post /wp-admin/post-new.php | 1,564 ▲28 | 23.30 ▲0.28 | 674.37 ▲22.61 | 50.39 ▼10.85 |
Media Library /wp-admin/upload.php | 1,440 ▲37 | 4.26 ▲0.05 | 99.06 ▼0.95 | 73.40 ▲27.57 |
Transactions /wp-admin/admin.php?page=nari100_transactions | 1,254 | 2.67 | 44.73 | 84.29 |
Settings /wp-admin/admin.php?page=nari100_settings | 992 | 2.43 | 36.59 | 38.08 |
Definitions /wp-admin/admin.php?page=nari100_definitions | 1,077 | 2.46 | 30.20 | 41.07 |
Reports /wp-admin/admin.php?page=nari100_reports | 859 | 2.44 | 31.16 | 29.78 |
Accounts /wp-admin/admin.php?page=nari100_accounts | 969 | 2.43 | 29.24 | 31.01 |
Nari Accountant /wp-admin/admin.php?page=nari100 | 891 | 2.01 | 24.80 | 27.48 |
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
These items require your attention
- This plugin did not uninstall successfully, leaving 6 options in the database
- widget_recent-posts
- can_compress_scripts
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- theysaidso_admin_options
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 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
The following issues need your attention
- 37× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/nari-accountant/includes/templates/alert.php:7
- > PHP Notice
Undefined variable: id in wp-content/plugins/nari-accountant/includes/templates/accounts/addfrm.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/nari-accountant/includes/templates/settings/backup.php:4
- > PHP Notice
Trying to get property 'current' of non-object in wp-content/plugins/nari-accountant/includes/templates/navigation.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/nari-accountant/includes/upgrade.php:3
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/nari-accountant/nari-accountant.php on line 20
- > PHP Notice
Undefined variable: type in wp-content/plugins/nari-accountant/includes/templates/transactions/addfrm.php on line 1
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/nari-accountant/includes/templates/pages.php:2
- > PHP Notice
Undefined variable: id in wp-content/plugins/nari-accountant/includes/templates/definitions/addfrm.php on line 3
- > PHP Notice
Undefined variable: pagination in wp-content/plugins/nari-accountant/includes/templates/navigation.php on line 12
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 81% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that need to be fixed:
- Tags: You are using too many tags: 12 tag instead of maximum 10
- Requires at least: Invalid version format
- Screenshots: These screenshots do not have images: #1 (Admin Panel - Accounts Balance), #2 (Admin Panel - Defining System Categories), #3 (Admin Panel - Adding Expense), #4 (Admin Panel - List Of Transactions), #5 (Admin Panel - Access Menu)
nari-accountant/nari-accountant.php 85% from 13 tests
The principal PHP file in "Nari Accountant" v. 1.0.12 is loaded by WordPress automatically on each request
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 173 characters long)
- Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
No dangerous file extensions were detected16,355 lines of code in 44 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 5 | 1,008 | 769 | 10,851 |
PHP | 26 | 323 | 439 | 2,332 |
CSS | 7 | 92 | 34 | 1,319 |
SVG | 2 | 0 | 0 | 943 |
PO File | 4 | 411 | 582 | 910 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.35 |
Average class complexity | 33.29 |
▷ Minimum class complexity | 5.00 |
▷ Maximum class complexity | 97.00 |
Average method complexity | 5.19 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 43.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 | 54 | |
▷ Static methods | 26 | 48.15% |
▷ Public methods | 53 | 98.15% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 1.85% |
Functions | 17 | |
▷ Named functions | 17 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
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
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
12 PNG files occupy 0.19MB with 0.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/money20 (1).png | 1.07KB | 0.56KB | ▼ 47.77% |
assets/images/bg.png | 2.77KB | 2.87KB | 0.00% |
assets/images/money20 (3).png | 5.07KB | 1.59KB | ▼ 68.52% |
screenshot-5.png | 11.42KB | 5.06KB | ▼ 55.69% |
screenshot-1.png | 29.99KB | 15.45KB | ▼ 48.49% |