Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲1.40MB] [CPU: ▲10.27ms] 75% from 4 tests
An overview of server-side resources used by Advanced Classifieds & Directory Pro
Please take the time to fix the following items
- CPU: Total CPU usage must kept under 500.00ms (currently 1,685.30ms on /wp-admin/admin.php?page=advanced-classifieds-and-directory-pro)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.47 ▲1.00 | 50.46 ▲6.66 |
Dashboard /wp-admin | 4.87 ▲1.52 | 103.54 ▲41.96 |
Posts /wp-admin/edit.php | 4.91 ▲1.55 | 77.62 ▲25.57 |
Add New Post /wp-admin/post-new.php | 7.46 ▲1.57 | 98.24 ▼8.08 |
Media Library /wp-admin/upload.php | 4.77 ▲1.54 | 55.50 ▲16.93 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 5.16 | 56.05 |
Dashboard /wp-admin/admin.php?page=advanced-classifieds-and-directory-pro | 5.13 | 1,685.30 |
Custom Fields /wp-admin/edit.php?post_type=acadp_fields | 4.84 | 59.36 |
Categories /wp-admin/edit-tags.php?taxonomy=acadp_categories&post_type=acadp_listings | 4.82 | 53.81 |
All Listings /wp-admin/edit.php?post_type=acadp_listings | 4.84 | 58.23 |
Settings /wp-admin/admin.php?page=acadp_settings | 4.80 | 50.71 |
Locations /wp-admin/edit-tags.php?taxonomy=acadp_locations&post_type=acadp_listings | 4.79 | 51.98 |
Payment History /wp-admin/edit.php?post_type=acadp_payments | 4.84 | 54.68 |
Server storage [IO: ▲6.17MB] [DB: ▲0.03MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 403 new files
Database: no new tables, 47 new options
New WordPress options |
---|
acadp_email_template_order_completed |
acadp_gateway_settings |
acadp_page_settings |
acadp_registration_settings |
acadp_featured_listing_settings |
acadp_email_template_listing_contact |
db_upgraded |
widget_recent-posts |
acadp_misc_settings |
acadp_email_template_listing_submitted |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Advanced Classifieds & Directory Pro
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,011 ▲250 | 14.86 ▲0.63 | 1.92 ▲0.32 | 32.03 ▼14.65 |
Dashboard /wp-admin | 2,405 ▲228 | 6.25 ▲0.58 | 123.79 ▲22.41 | 63.97 ▲23.45 |
Posts /wp-admin/edit.php | 2,337 ▲237 | 3.37 ▲1.35 | 56.27 ▲19.31 | 39.22 ▲6.49 |
Add New Post /wp-admin/post-new.php | 6,446 ▲4,909 | 29.09 ▲10.74 | 962.42 ▲332.75 | 38.27 ▼27.62 |
Media Library /wp-admin/upload.php | 1,476 ▲82 | 4.06 ▼0.12 | 86.81 ▼13.26 | 47.37 ▲0.55 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 1,305 | 3.04 | 43.45 | 27.45 |
Dashboard /wp-admin/admin.php?page=advanced-classifieds-and-directory-pro | 1,191 | 3.26 | 44.62 | 97.56 |
Custom Fields /wp-admin/edit.php?post_type=acadp_fields | 1,384 | 3.52 | 48.67 | 30.95 |
Categories /wp-admin/edit-tags.php?taxonomy=acadp_categories&post_type=acadp_listings | 1,575 | 3.52 | 52.04 | 34.23 |
All Listings /wp-admin/edit.php?post_type=acadp_listings | 1,441 | 3.84 | 53.70 | 31.26 |
Settings /wp-admin/admin.php?page=acadp_settings | 1,346 | 3.20 | 44.41 | 31.82 |
Locations /wp-admin/edit-tags.php?taxonomy=acadp_locations&post_type=acadp_listings | 1,551 | 3.82 | 46.75 | 32.49 |
Payment History /wp-admin/edit.php?post_type=acadp_payments | 1,474 | 3.48 | 45.53 | 29.64 |
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
You still need to fix the following
- This plugin cannot be uninstalled
- > Notice in wp-content/plugins/advanced-classifieds-and-directory-pro/freemius/includes/class-freemius.php+8486
Undefined property: stdClass::$plugins
- This plugin did not uninstall successfully, leaving 16 options in the database
- can_compress_scripts
- widget_advanced-classifieds-and-directory-pro-widget-listing-address
- widget_advanced-classifieds-and-directory-pro-widget-listing-video
- widget_advanced-classifieds-and-directory-pro-widget-listing-contact
- widget_advanced-classifieds-and-directory-pro-widget-categories
- widget_advanced-classifieds-and-directory-pro-widget-search
- fs_debug_mode
- db_upgraded
- widget_recent-comments
- fs_accounts
- ...
Smoke tests 50% 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 0% 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
Please take a closer look at the following
- 6× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/widgets/locations/views/acadp-widget-public-locations-display.php
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/admin/partials/listings/acadp-admin-listing-images-display.php
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/admin/partials/categories/acadp-admin-image-field-display.php
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/widgets/categories/views/acadp-widget-public-categories-display.php
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/admin/partials/listings/acadp-admin-custom-fields-display.php
- > /wp-content/plugins/advanced-classifieds-and-directory-pro/admin/partials/listings/acadp-admin-listing-video-display.php
- 131× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to a member function have_posts() on null in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/search/acadp-public-custom-fields-vertical-display.php:19
- > PHP Notice
Undefined variable: acadp_query in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/listings/acadp-public-listings-list-display.php on line 99
- > PHP Notice
Undefined variable: terms in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/categories/acadp-public-categories-text-list-display.php on line 20
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/registration/acadp-public-register-display.php:23
- > PHP Notice
Undefined variable: acadp_query in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/listings/acadp-public-listings-map-display.php on line 100
- > PHP Notice
Undefined variable: attributes in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/registration/acadp-public-login-display.php on line 43
- > PHP Fatal error
Uncaught Error: Call to a member function have_posts() on null in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/listings/acadp-public-listings-list-display.php:99
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/categories/acadp-public-categories-text-list-display.php on line 15
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/advanced-classifieds-and-directory-pro/admin/partials/listings/acadp-admin-listing-images-display.php on line 13
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/advanced-classifieds-and-directory-pro/public/partials/registration/acadp-public-password-reset-display.php:23
- > 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 uses markdown syntax to describe your plugin to the world
6 plugin tags: directory, job listing, business directory, listings, real estate...
advanced-classifieds-and-directory-pro/acadp.php 85% from 13 tests
The main PHP script in "Advanced Classifieds & Directory Pro" version 2.1.2 is automatically included on every request by WordPress
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 191 characters long)
- Main file name: It is recommended to name the main PHP file as the plugin slug ("advanced-classifieds-and-directory-pro.php" instead of "acadp.php")
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Good job! No executable or dangerous file extensions detected91,921 lines of code in 278 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 213 | 11,266 | 21,366 | 50,350 |
JSON | 12 | 0 | 0 | 28,158 |
CSS | 22 | 316 | 159 | 8,818 |
JavaScript | 27 | 687 | 962 | 2,646 |
SVG | 2 | 0 | 1 | 1,815 |
XML | 1 | 0 | 0 | 133 |
HTML | 1 | 0 | 0 | 1 |
PHP code 50% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
Please tend to the following items
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 3,073)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.56 |
Average class complexity | 75.77 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,073.00 |
Average method complexity | 5.07 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 94.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 82 | |
▷ Abstract classes | 2 | 2.44% |
▷ Concrete classes | 80 | 97.56% |
▷ Final classes | 0 | 0.00% |
Methods | 1,534 | |
▷ Static methods | 200 | 13.04% |
▷ Public methods | 1,116 | 72.75% |
▷ Protected methods | 17 | 1.11% |
▷ Private methods | 401 | 26.14% |
Functions | 220 | |
▷ Named functions | 220 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 153 | |
▷ Global constants | 106 | 69.28% |
▷ Class constants | 47 | 30.72% |
▷ Public constants | 47 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
15 PNG files occupy 0.05MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/images/no-image.png | 2.87KB | 1.13KB | ▼ 60.67% |
vendor/markerclusterer/images/m4.png | 5.57KB | 4.23KB | ▼ 24.08% |
vendor/markerclusterer/images/m1.png | 2.93KB | 2.20KB | ▼ 25.07% |
admin/images/logo.png | 1.16KB | 1.15KB | 0.34% |
freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |