Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
These installer errors require your attention
- This plugin did not install gracefully
- > Warning in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+1116
Use of undefined constant jhwpjp_activate - assumed 'jhwpjp_activate' (this will throw an Error in a future version of PHP)
Server metrics [RAM: ▼1.55MB] [CPU: ▼192.65ms] Passed 4 tests
This is a short check of server-side resources used by WP Job Portal by Jane
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.09 ▼0.64 | 6.60 ▼18.07 |
Dashboard /wp-admin | 2.11 ▼0.95 | 8.69 ▼43.62 |
Posts /wp-admin/edit.php | 2.11 ▼1.01 | 6.68 ▼38.33 |
Add New Post /wp-admin/post-new.php | 2.11 ▼3.33 | 5.70 ▼658.48 |
Media Library /wp-admin/upload.php | 2.11 ▼0.90 | 6.69 ▼30.18 |
WP Job Portal by Jane /wp-admin/options-general.php?page=janehires-plugin | 2.11 | 6.61 |
Server storage [IO: ▲0.13MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 11 new files
Database: no new tables, 2 new options
New WordPress options |
---|
widget_janehireswidget |
jhwpjp_plugin_options |
Browser metrics Passed 4 tests
Checking browser requirements for WP Job Portal by Jane
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,817 ▲221 | 15.89 ▲0.22 | 15.16 ▲4.99 | 49.68 ▼2.28 |
Dashboard /wp-admin | 2,975 ▲38 | 5.90 ▼0.08 | 157.55 ▼10.99 | 116.38 ▼8.26 |
Posts /wp-admin/edit.php | 2,744 ▲5 | 2.70 ▼0.12 | 71.07 ▼0.15 | 96.56 ▲8.14 |
Add New Post /wp-admin/post-new.php | 1,686 ▲105 | 18.67 ▼1.68 | 386.01 ▼15.12 | 112.75 ▼5.51 |
Media Library /wp-admin/upload.php | 1,812 ▲5 | 5.03 ▲0.02 | 154.76 ▼9.08 | 125.65 ▲2.09 |
WP Job Portal by Jane /wp-admin/options-general.php?page=janehires-plugin | 1,427 | 2.32 | 58.67 | 101.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
- Uninstall procedure had uncaught errors
- > Warning in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+1116
Use of undefined constant jhwpjp_activate - assumed 'jhwpjp_activate' (this will throw an Error in a future version of PHP)
- This plugin does not fully uninstall, leaving 2 options in the database
- jhwpjp_plugin_options
- widget_janehireswidget
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These server-side errors were triggered
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Warning in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+1116
Use of undefined constant jhwpjp_activate - assumed 'jhwpjp_activate' (this will throw an Error in a future version of PHP)
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+101
Undefined index: reset_plugin_api_key
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+120
Undefined index: action
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Warning in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+50
Use of undefined constant nil - assumed 'nil' (this will throw an Error in a future version of PHP)
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+56
Undefined index: plugin_api_key
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+180
Undefined index: firstname
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+180
Undefined index: lastname
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+180
Undefined index: company_name
- 3 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+186
Undefined index: default_location_zip
- > GET request to /wp-admin/options-general.php?page=janehires-plugin
- > Notice in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php+189
Undefined index: default_location_city
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
Please take a closer look at the following
- 4× PHP files trigger server errors when accessed directly:
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-job-portal-by-jane/jhwpjp_plugin_List_Table.php on line 4
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-job-portal-by-jane/jhwpjp_plugin_List_Table.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php:13
- > PHP Warning
require_once(ABSPATHwp-admin/includes/class-wp-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/wp-job-portal-by-jane/jhwpjp_plugin_List_Table.php on line 4
- > PHP Fatal error
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 Passed 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
8 plugin tags: job manager, human resources, career page, job portal, job lists...
wp-job-portal-by-jane/WP-Job-Portal-by-Jane.php 85% from 13 tests
The main PHP script in "WP Job Portal by Jane" version 2.2 is automatically included on every request by WordPress
You should first fix the following items:
- Main file name: Name the main plugin file the same as the plugin slug ("wp-job-portal-by-jane.php" instead of "WP-Job-Portal-by-Jane.php")
- Description: The description should be shorter than 140 characters (currently 228 characters long)
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
Good job! No executable or dangerous file extensions detected1,430 lines of code in 7 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3 | 353 | 68 | 1,205 |
CSS | 2 | 34 | 0 | 161 |
JavaScript | 2 | 21 | 11 | 64 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 18.00 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 35.00 |
Average method complexity | 2.70 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 12.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 2 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 20 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 19 | 95.00% |
▷ Protected methods | 1 | 5.00% |
▷ Private methods | 0 | 0.00% |
Functions | 49 | |
▷ Named functions | 49 | 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
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
3 PNG files occupy 0.06MB with 0.04MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/purplesquiggly.png | 2.10KB | 1.77KB | ▼ 15.75% |
assets/icon-128x128.png | 22.99KB | 2.45KB | ▼ 89.33% |
assets/icon-256x256.png | 34.39KB | 4.58KB | ▼ 86.67% |