Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲4.28MB] [CPU: ▲26.49ms] 75% from 4 tests
This is a short check of server-side resources used by Easy Property Listings
It is recommended to improve the following
- RAM: The total memory usage must be kept under 10MB (currently 10.65MB on /wp-admin/post-new.php?post_type=property)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.85 ▲3.38 | 65.19 ▲26.24 |
Dashboard /wp-admin | 7.90 ▲4.55 | 136.94 ▲78.94 |
Posts /wp-admin/edit.php | 7.96 ▲4.60 | 78.82 ▲27.42 |
Add New Post /wp-admin/post-new.php | 10.62 ▲4.73 | 118.60 ▲16.60 |
Media Library /wp-admin/upload.php | 7.83 ▲4.59 | 71.75 ▲35.68 |
Getting started with Easy Property Listings /wp-admin/index.php?page=epl-getting-started | 7.73 | 61.03 |
Settings /wp-admin/admin.php?page=epl-settings | 7.80 | 85.03 |
Add New /wp-admin/post-new.php?post_type=property | 10.65 | 118.05 |
The people that build Easy Property Listings /wp-admin/index.php?page=epl-credits | 7.86 | 436.74 |
Contacts /wp-admin/admin.php?page=epl-contacts | 7.86 | 60.84 |
Suburb /wp-admin/edit-tags.php?taxonomy=location&post_type=property | 7.82 | 65.51 |
Help /wp-admin/admin.php?page=epl-general | 7.78 | 60.34 |
Tools /wp-admin/admin.php?page=epl-tools | 7.73 | 78.15 |
Features /wp-admin/edit-tags.php?taxonomy=tax_feature&post_type=property | 7.82 | 60.99 |
All Listings /wp-admin/edit.php?post_type=property | 7.93 | 66.45 |
Server storage [IO: ▲5.01MB] [DB: ▲0.02MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 288 new files
Database: no new tables, 15 new options
New WordPress options |
---|
theysaidso_admin_options |
epl_rewrite_rules |
widget_theysaidso_widget |
widget_epl_property_search |
epl_version |
widget_recent-comments |
epl_use_php_sessions |
widget_epl_contact_capture |
epl_settings |
widget_epl_author |
... |
Browser metrics Passed 4 tests
Easy Property Listings: an overview of browser usage
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,532 ▲770 | 13.64 ▼1.07 | 11.20 ▲9.64 | 35.10 ▼3.84 |
Dashboard /wp-admin | 2,537 ▲360 | 5.79 ▲0.15 | 103.77 ▲13.60 | 44.45 ▲4.27 |
Posts /wp-admin/edit.php | 2,369 ▲269 | 3.09 ▲1.14 | 50.65 ▲9.82 | 34.97 ▼0.39 |
Add New Post /wp-admin/post-new.php | 1,777 ▲242 | 23.74 ▼1.34 | 642.30 ▲18.63 | 34.90 ▼32.47 |
Media Library /wp-admin/upload.php | 1,649 ▲252 | 4.38 ▲0.23 | 106.17 ▲4.84 | 43.75 ▼1.28 |
Getting started with Easy Property Listings /wp-admin/index.php?page=epl-getting-started | 2,118 | 9.09 | 282.76 | 107.05 |
Settings /wp-admin/admin.php?page=epl-settings | 4,405 | 4.00 | 111.28 | 60.37 |
Add New /wp-admin/post-new.php?post_type=property | 7,754 | 19.03 | 1,063.88 | 201.57 |
The people that build Easy Property Listings /wp-admin/index.php?page=epl-credits | 1,091 | 1.86 | 29.20 | 35.12 |
Contacts /wp-admin/admin.php?page=epl-contacts | 1,397 | 1.83 | 29.92 | 27.18 |
Suburb /wp-admin/edit-tags.php?taxonomy=location&post_type=property | 1,495 | 1.96 | 34.14 | 29.49 |
Help /wp-admin/admin.php?page=epl-general | 2,324 | 15.82 | 451.54 | 67.48 |
Tools /wp-admin/admin.php?page=epl-tools | 1,108 | 1.77 | 33.41 | 29.30 |
Features /wp-admin/edit-tags.php?taxonomy=tax_feature&post_type=property | 1,495 | 1.97 | 32.79 | 29.76 |
All Listings /wp-admin/edit.php?post_type=property | 1,662 | 3.18 | 48.85 | 32.00 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
You still need to fix the following
- The uninstall procedure has failed, leaving 15 options in the database
- epl_use_php_sessions
- can_compress_scripts
- db_upgraded
- theysaidso_admin_options
- widget_epl_property_gallery
- widget_recent-comments
- widget_epl_recent_property
- widget_theysaidso_widget
- widget_epl_property_search
- widget_recent-posts
- ...
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
Even though everything seems fine, this is not an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following items
- 10× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentytwenty/single-listing.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/easy-property-listings/lib/includes/libraries/wp_session/wp-session.php:83
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentyseventeen/archive-listing.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentynineteen/single-listing.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentytwenty/archive-listing.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentynineteen/archive-listing.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentyseventeen/single-listing.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function do_action() in wp-content/plugins/easy-property-listings/lib/templates/content/single-listing.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function do_action() in wp-content/plugins/easy-property-listings/lib/templates/content/archive-listing.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/easy-property-listings/lib/templates/themes/twentyfourteen/archive-listing.php:10
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Please fix the following browser errors
- > GET request to /wp-admin/post-new.php?post_type=property
- > Console-api (severe) in unknown
https://maps.googleapis.com/maps/api/js?v=3.exp&callback=Function.prototype&ver=3.5 131:248 "Geocoding Service: You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account"
- > GET request to /wp-admin/post-new.php?post_type=property
- > Javascript (severe) in unknown
/wp-content/plugins/easy-property-listings/lib/assets/js/jquery-admin-scripts.min.js?ver=3.5 0:3265 Uncaught TypeError: Cannot read properties of null (reading '0')
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
6 plugin tags: crm, real estate, contact management, listings, property...
easy-property-listings/easy-property-listings.php 77% from 13 tests
"Easy Property Listings" version 3.5's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
The following require your attention:
- Domain Path: Prefix the domain path with a forward slash character ("/languages")
- Domain Path: The domain path follows the same naming rules as the domain name, using only dashes and lowercase characters ("languages")
- Description: Keep the plugin description shorter than 140 characters (currently 273 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin48,249 lines of code in 200 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 166 | 6,049 | 10,957 | 26,897 |
CSS | 16 | 222 | 376 | 8,427 |
JavaScript | 14 | 986 | 1,040 | 8,309 |
PO File | 1 | 1,108 | 1,706 | 2,557 |
XML | 1 | 53 | 17 | 2,046 |
SVG | 2 | 0 | 1 | 13 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 49.43 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 415.00 |
Average method complexity | 4.29 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 57.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 30 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 30 | 100.00% |
▷ Final classes | 2 | 6.67% |
Methods | 441 | |
▷ Static methods | 4 | 0.91% |
▷ Public methods | 385 | 87.30% |
▷ Protected methods | 30 | 6.80% |
▷ Private methods | 26 | 5.90% |
Functions | 541 | |
▷ Named functions | 540 | 99.82% |
▷ Anonymous functions | 1 | 0.18% |
Constants | 18 | |
▷ Global constants | 18 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
41 PNG files occupy 1.11MB with 0.42MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
lib/assets/images/social-icons-sprites.png | 9.53KB | 3.37KB | ▼ 64.67% |
lib/assets/images/icon-sprites.png | 4.37KB | 2.72KB | ▼ 37.73% |
lib/assets/images/invalid.png | 0.30KB | 0.28KB | ▼ 7.44% |
lib/assets/images/epl-wp-badge.png | 6.78KB | 4.63KB | ▼ 31.66% |
lib/assets/images/icon-sprites-100px.png | 22.22KB | 11.18KB | ▼ 49.71% |