Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Install script ran successfully
Server metrics [RAM: ▲3.24MB] [CPU: ▲15.39ms] Passed 4 tests
Analyzing server-side resources used by Contact Us Page - Contact People
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.69 ▲3.22 | 60.32 ▲21.24 |
Dashboard /wp-admin | 6.59 ▲3.25 | 64.43 ▲2.59 |
Posts /wp-admin/edit.php | 6.61 ▲3.26 | 66.68 ▲20.07 |
Add New Post /wp-admin/post-new.php | 9.33 ▲3.45 | 107.09 ▲17.65 |
Media Library /wp-admin/upload.php | 6.45 ▲3.22 | 59.83 ▲28.61 |
Add New Profile /wp-admin/admin.php?page=people-contact | 6.56 | 60.11 |
Settings /wp-admin/admin.php?page=people-contact-settings | 6.58 | 65.89 |
Profiles /wp-admin/admin.php?page=people-contact-manager | 6.50 | 54.56 |
Groups /wp-admin/admin.php?page=people-category-manager | 6.56 | 58.42 |
Server storage [IO: ▲2.69MB] [DB: ▲0.14MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 212 new files
Database: 1 new table, 31 new options
New tables |
---|
wp_cup_cp_profiles |
New WordPress options |
---|
people_contact_widget_email_contact_form |
widget_hide_maps_frontend |
a3rev_wp_people_contact_ultimate_version |
contact_page_global_reset_profile |
people_email_inquiry_condition_text |
people_contact_global_settings |
people_contact_widget_condition_text |
can_compress_scripts |
contact_us_page_id |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
Checking browser requirements for Contact Us Page - Contact People
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,148 ▲386 | 13.49 ▼0.78 | 8.20 ▲6.44 | 44.98 ▼0.88 |
Dashboard /wp-admin | 2,460 ▲280 | 5.54 ▼0.08 | 92.91 ▼0.34 | 74.48 ▲31.10 |
Posts /wp-admin/edit.php | 2,377 ▲274 | 2.01 ▲0.06 | 39.01 ▼4.62 | 36.41 ▼0.55 |
Add New Post /wp-admin/post-new.php | 6,639 ▲5,111 | 27.95 ▲4.77 | 894.66 ▲264.03 | 36.30 ▼20.40 |
Media Library /wp-admin/upload.php | 1,677 ▲283 | 4.11 ▼0.13 | 110.61 ▲10.56 | 47.94 ▲7.23 |
Add New Profile /wp-admin/admin.php?page=people-contact | 2,463 | 9.41 | 322.65 | 143.48 |
Settings /wp-admin/admin.php?page=people-contact-settings | 2,356 | 4.25 | 99.03 | 78.57 |
Profiles /wp-admin/admin.php?page=people-contact-manager | 1,384 | 3.86 | 52.49 | 80.07 |
Groups /wp-admin/admin.php?page=people-category-manager | 1,448 | 3.60 | 52.01 | 86.32 |
Uninstaller [IO: ▲0.02MB] [DB: ▲0.08MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- This plugin does not fully uninstall, leaving 1 table in the database
- wp_cup_cp_profiles
- The uninstall procedure has failed, leaving 30 options in the database
- contact_us_page_contact_people_clean_on_deletion
- people_contact_widget_content_before_maps
- people_contact_widget_information_text
- contact_us_page_id
- a3rev_wp_people_contact_lite_version
- widget_hide_maps_frontend
- profile_email_page_id
- people_contact_widget_maps
- people_contact_grid_view_layout
- a3rev_wp_people_contact_ultimate_version
- ...
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
The smoke test was a success, however most plugin functionality was not tested
SRP 50% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please fix the following
- 12× 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 add_action() in wp-content/plugins/contact-us-page-contact-people/tinymce3/tinymce.php:26
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 28
- > PHP Warning
Use of undefined constant PEOPLE_CONTACT_PREFIX - assumed 'PEOPLE_CONTACT_PREFIX' (this will throw an Error in a future version of PHP) in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 44
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 21
- > PHP Notice
Undefined index: PEOPLE_CONTACT_PREFIXfonts_face in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 44
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/contact-us-page-contact-people/admin/people-contact-init.php:19
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 8
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/contact-us-page-contact-people/widgets/class-people-contact-widgets.php:12
- > PHP Fatal error
Uncaught Error: Call to a member function generate_font_css() on null in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php:44
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/contact-us-page-contact-people/templates/customized_style.php on line 35
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=people-contact
- > Console-api (warning) in unknown
https://maps.googleapis.com/maps/api/js?v=3.exp&ver=6.3.1 215:51 "Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
5 plugin tags: people contact, contact us page, contact forms, wordpress contact us, contact us
contact-us-page-contact-people/people-contact.php 85% from 13 tests
"Contact Us Page - Contact People" version 3.7.3's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
You should first fix the following items:
- Description: Please don't use more than 140 characters for the plugin description (currently 256 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("contact-us-page-contact-people.php" instead of "people-contact.php")
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Good job! No executable or dangerous file extensions detected46,380 lines of code in 127 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 49 | 2,979 | 2,474 | 13,946 |
JSON | 1 | 0 | 0 | 13,203 |
JavaScript | 37 | 2,066 | 1,513 | 12,698 |
CSS | 25 | 305 | 188 | 4,120 |
LESS | 6 | 85 | 32 | 1,339 |
PO File | 1 | 411 | 588 | 976 |
SVG | 5 | 3 | 0 | 49 |
HTML | 1 | 2 | 0 | 29 |
Sass | 2 | 1 | 1 | 20 |
PHP code 50% from 2 tests
Analyzing cyclomatic complexity and code structure
Please fix the following
- Method cyclomatic complexity has to be reduced to less than 100 (currently 410)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 62.16 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 801.00 |
Average method complexity | 5.91 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 410.00 |
Code structure | ||
---|---|---|
Namespaces | 10 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 38 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 38 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 475 | |
▷ Static methods | 65 | 13.68% |
▷ Public methods | 306 | 64.42% |
▷ Protected methods | 141 | 29.68% |
▷ Private methods | 28 | 5.89% |
Functions | 21 | |
▷ Named functions | 19 | 90.48% |
▷ Anonymous functions | 2 | 9.52% |
Constants | 20 | |
▷ Global constants | 15 | 75.00% |
▷ Class constants | 5 | 25.00% |
▷ Public constants | 5 | 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
58 PNG files occupy 0.28MB with 0.10MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/p_icon_website.png | 1.74KB | 1.28KB | ▼ 26.28% |
admin/assets/images/slider-handle-disable.png | 2.64KB | 1.81KB | ▼ 31.61% |
admin/assets/images/slider-container-start.png | 1.69KB | 0.70KB | ▼ 58.32% |
admin/assets/images/slider-handle2.png | 2.50KB | 1.65KB | ▼ 33.85% |
assets/images/a3_location_icons.png | 7.12KB | 4.80KB | ▼ 32.49% |