10% job-board

Code Review | Job Board by BestWebSoft

WordPress plugin Job Board by BestWebSoft scored10%from 54 tests.

About plugin

  • Plugin page: job-board
  • Plugin version: 1.2.1
  • PHP version: 7.4.16
  • WordPress compatibility: 5.6-6.3
  • WordPress version: 6.3.1
  • First release: Jul 30, 2014
  • Latest release: Aug 15, 2023
  • Number of updates: 39
  • Update frequency: every 84.7 days
  • Top authors: bestwebsoft (100%)

Code review

54 tests

User reviews

7 reviews

Install metrics

100+ active /24,690 total downloads

Benchmarks

Plugin footprint 58% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The following installer errors require your attention
  • The plugin did not install without errors
    • > Notice in wp-content/plugins/job-board/job-board.php+2910
    Trying to access array offset on value of type bool

Server metrics [RAM: ▲1.25MB] [CPU: ▲5.91ms] Passed 4 tests

An overview of server-side resources used by Job Board by BestWebSoft
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /4.75 ▲1.2952.81 ▲4.81
Dashboard /wp-admin4.58 ▲1.2858.22 ▲5.77
Posts /wp-admin/edit.php4.64 ▲1.2970.68 ▲16.87
Add New Post /wp-admin/post-new.php7.13 ▲1.2498.33 ▼3.70
Media Library /wp-admin/upload.php4.44 ▲1.2151.96 ▲16.74
Add New /wp-admin/post-new.php?post_type=vacancy4.6574.09
BWS Panel /wp-admin/edit.php?post_type=vacancy&page=jbbrd-bws-panel4.7349.84
Types /wp-admin/edit-tags.php?taxonomy=jbbrd_employment&post_type=vacancy4.5386.09
Jobs /wp-admin/edit.php?post_type=vacancy4.5657.32
Categories /wp-admin/edit-tags.php?taxonomy=jbbrd_businesses&post_type=vacancy4.4446.75

Server storage [IO: ▲4.79MB] [DB: ▲0.00MB] Passed 3 tests

A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 123 new files
Database: no new tables, 10 new options
New WordPress options
widget_recent-posts
can_compress_scripts
db_upgraded
widget_recent-comments
widget_theysaidso_widget
archive_children
bstwbsftwppdtplgns_options
jbbrd_options
theysaidso_admin_options
jbbrd_employment_children

Browser metrics Passed 4 tests

Job Board by BestWebSoft: an overview of browser usage
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,020 ▲24913.78 ▼0.597.40 ▲5.1939.58 ▼7.11
Dashboard /wp-admin2,330 ▲1455.90 ▲0.05112.04 ▲8.5344.19 ▼6.73
Posts /wp-admin/edit.php2,226 ▲1372.23 ▲0.1942.51 ▲5.3336.47 ▲0.28
Add New Post /wp-admin/post-new.php1,639 ▲12022.14 ▼1.08696.20 ▼0.8353.94 ▼6.68
Media Library /wp-admin/upload.php1,515 ▲1304.27 ▲0.05107.00 ▲3.2847.47 ▲0.65
Add New /wp-admin/post-new.php?post_type=vacancy2,7669.19231.7076.89
BWS Panel /wp-admin/edit.php?post_type=vacancy&page=jbbrd-bws-panel3,1032.0034.6182.44
Settings /wp-admin/job-board.php260.440.1014.36
Types /wp-admin/edit-tags.php?taxonomy=jbbrd_employment&post_type=vacancy1,7551.9234.0636.56
Jobs /wp-admin/edit.php?post_type=vacancy1,3522.1634.0229.33
Categories /wp-admin/edit-tags.php?taxonomy=jbbrd_businesses&post_type=vacancy1,4321.9029.9729.12

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
  • The uninstall procedure has failed, leaving 7 options in the database
    • widget_recent-posts
    • archive_children
    • can_compress_scripts
    • widget_theysaidso_widget
    • theysaidso_admin_options
    • widget_recent-comments
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though no errors were found, this is by no means 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
Almost there! Just fix the following items
  • 5× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Class 'Bws_Settings_Tabs' not found in wp-content/plugins/job-board/includes/class-jbbrd-settings.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/job-board/bws_menu/product_list.php:8
    • > 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/job-board/job-board.php on line 1318
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/job-board/job-board.php on line 1318
    • > 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/job-board/job-board.php on line 1318

User-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following browser errors
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/edit-tags.php?taxonomy=jbbrd_businesses&post_type=vacancy
    • > Network (severe)
    wp-content/plugins/job-board/bws_menu/css/jquery-ui-styles/1.13.2/jquery-ui.css?ver=6.3.1 - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/edit.php?post_type=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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=vacancy&page=jbbrd-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/job-board.php
    • > Network (severe)
    wp-admin/job-board.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

The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
These attributes need to be fixed:
  • Tags: Please reduce the number of tags, currently 12 tag instead of maximum 10
  • Screenshots: These screenshots require images: #1 (Vacancies page in front-end display with sorting form fields.), #2 (Single job offer page view.), #3 (Registration form in widget area.), #4 (Job Board display.), #5 (Adding new vacancy with additional fields.), #6 (Adding new vacancies category display with additional fields.), #7 (Adding new employment type display.), #8 (Plugin settings in WordPress admin panel with additional fields.), #9 (Job candidate settings on profile page.)
You can take inspiration from this readme.txt

job-board/job-board.php Passed 13 tests

The main file in "Job Board by BestWebSoft" v. 1.2.1 serves as a complement to information provided in readme.txt and as the entry point to the plugin
112 characters long description:
Create your personal job board and listing WordPress website. Search jobs, submit CV/resumes, choose candidates.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
No dangerous file extensions were detected21,294 lines of code in 37 files:
LanguageFilesBlank linesComment linesLines of code
PO File104,0205,7568,348
PHP95758896,443
CSS101962806,010
JavaScript727113422
SVG10071

PHP code Passed 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.60
Average class complexity77.00
▷ Minimum class complexity19.00
▷ Maximum class complexity224.00
Average method complexity9.94
▷ Minimum method complexity1.00
▷ Maximum method complexity76.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes4
▷ Abstract classes00.00%
▷ Concrete classes4100.00%
▷ Final classes00.00%
Methods34
▷ Static methods00.00%
▷ Public methods2779.41%
▷ Protected methods00.00%
▷ Private methods720.59%
Functions112
▷ Named functions112100.00%
▷ Anonymous functions00.00%
Constants2
▷ Global constants2100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
70 PNG files occupy 3.02MB with 1.11MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_2e83ff_256x240.png4.49KB4.20KB▼ 6.46%
bws_menu/icons/themes/unity.png412.66KB167.67KB▼ 59.37%
bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_flat_0_aaaaaa_40x100.png0.18KB0.08KB▼ 51.67%
screenshot-4.png112.54KB38.58KB▼ 65.72%
bws_menu/images/close_banner.png0.44KB0.49KB0.00%