Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲9.77MB] [CPU: ▲84.13ms] 50% from 4 tests
An overview of server-side resources used by Pods - Custom Content Types and Fields
Please fix the following
- RAM: Total memory usage should be kept under 10MB (currently 13.11MB on /wp-admin/admin.php?page=pods-settings)
- Extra RAM: Extra memory usage should kept under 5MB (currently 9.77MB on /wp-admin/admin.php?page=pods-settings)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 12.71 ▲9.24 | 124.58 ▲83.80 |
Dashboard /wp-admin | 14.30 ▲11.00 | 128.36 ▲78.28 |
Posts /wp-admin/edit.php | 12.96 ▲9.60 | 137.26 ▲91.35 |
Add New Post /wp-admin/post-new.php | 16.38 ▲10.50 | 176.54 ▲86.80 |
Media Library /wp-admin/upload.php | 12.96 ▲9.73 | 121.22 ▲87.65 |
Edit Pods /wp-admin/admin.php?page=pods | 14.73 | 143.55 |
Add New /wp-admin/admin.php?page=pods-add-new | 14.46 | 122.49 |
Help /wp-admin/admin.php?page=pods-help | 13.10 | 109.37 |
- Pod Templates /wp-admin/edit.php?post_type=_pods_template | 12.96 | 112.40 |
- Import/Export Packages /wp-admin/admin.php?page=pods-component-migrate-packages | 13.10 | 117.70 |
Components /wp-admin/admin.php?page=pods-components | 14.62 | 130.45 |
Settings /wp-admin/admin.php?page=pods-settings | 13.11 | 117.70 |
Server storage [IO: ▲8.72MB] [DB: ▲0.07MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 546 new files
Database: 1 new table, 17 new options
New tables |
---|
wp_podsrel |
New WordPress options |
---|
theysaidso_admin_options |
db_upgraded |
pods_framework_version_first |
can_compress_scripts |
pods_framework_db_version |
widget_pods_widget_view |
pods_framework_version |
widget_pods_widget_single |
pods_component_settings |
wisdom_notification_times |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Pods - Custom Content Types and Fields
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,865 ▲104 | 14.36 ▼0.00 | 1.83 ▲0.16 | 40.87 ▲4.49 |
Dashboard /wp-admin | 2,271 ▲94 | 5.62 ▼0.14 | 103.35 ▲2.31 | 44.73 ▲0.54 |
Posts /wp-admin/edit.php | 2,228 ▲128 | 14.40 ▲12.42 | 380.21 ▲345.45 | 31.34 ▼5.25 |
Add New Post /wp-admin/post-new.php | 1,531 ▲5 | 20.10 ▼2.92 | 661.61 ▼2.74 | 39.12 ▼13.68 |
Media Library /wp-admin/upload.php | 1,473 ▲82 | 4.25 ▲0.09 | 80.68 ▼14.72 | 42.17 ▲1.62 |
Edit Pods /wp-admin/admin.php?page=pods | 1,507 | 15.80 | 271.16 | 162.61 |
Add New /wp-admin/admin.php?page=pods-add-new | 1,431 | 13.94 | 216.61 | 101.36 |
Help /wp-admin/admin.php?page=pods-help | 1,656 | 13.66 | 158.80 | 161.95 |
- Pod Templates /wp-admin/edit.php?post_type=_pods_template | 1,170 | 13.08 | 149.21 | 28.95 |
- Import/Export Packages /wp-admin/admin.php?page=pods-component-migrate-packages | 1,159 | 13.12 | 143.29 | 127.70 |
Components /wp-admin/admin.php?page=pods-components | 1,709 | 13.06 | 167.61 | 50.56 |
Settings /wp-admin/admin.php?page=pods-settings | 1,509 | 15.69 | 195.55 | 139.06 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- The uninstall procedure failed, leaving 1 table in the database
- wp_podsrel
- Zombie WordPress options were found after uninstall: 17 options
- db_upgraded
- widget_recent-comments
- pods_framework_upgraded_1_x
- pods_framework_db_version
- can_compress_scripts
- widget_pods_widget_view
- widget_pods_widget_form
- widget_recent-posts
- pods_framework_version
- pods_component_settings
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, this is by no means an exhaustive test
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
The following issues need your attention
- 3× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/pods/ui/admin/shortcode.php
- > /wp-content/plugins/pods/components/Templates/includes/element-view_template.php
- > /wp-content/plugins/pods/ui/front/display/table.php
- 245× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PodsForm' not found in wp-content/plugins/pods/ui/fields/_comment.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/pods/ui/admin/widgets/list.php:13
- > PHP Fatal error
Uncaught Error: Class 'Pods\\REST\\V1\\Endpoints\\Base' not found in wp-content/plugins/pods/src/Pods/REST/V1/Endpoints/Group.php:11
- > PHP Fatal error
Uncaught Error: Call to undefined function pods_var() in wp-content/plugins/pods/ui/fields/tinymce.php:6
- > PHP Fatal error
Uncaught Error: Class 'Pods\\Blocks\\Blocks_Abstract' not found in wp-content/plugins/pods/src/Pods/Blocks/Types/Base.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function pods_host_from_url() in wp-content/plugins/pods/ui/admin/help-addons-row.php:17
- > PHP Fatal error
Uncaught Error: Class 'Pods\\Blocks\\Types\\Item_Single' not found in wp-content/plugins/pods/src/Pods/Blocks/Types/Item_Single_List_Fields.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function pods_api() in wp-content/plugins/pods/ui/admin/settings-reset.php:15
- > PHP Notice
Undefined variable: form_field_type in wp-content/plugins/pods/ui/fields/datetime.php on line 8
- > PHP Fatal error
Uncaught Error: Class 'PodsField' not found in wp-content/plugins/pods/classes/fields/paragraph.php:6
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Everything seems fine on the user side
Optimizations
Plugin configuration 96% 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: custom taxonomies, pods, block, custom post types, content types...
pods/init.php 92% from 13 tests
Analyzing the main PHP file in "Pods - Custom Content Types and Fields" version 3.0.8
The following require your attention:
- Main file name: Name the main plugin file the same as the plugin slug ("pods.php" instead of "init.php")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected112,548 lines of code in 464 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 293 | 20,176 | 29,671 | 74,807 |
JavaScript | 143 | 6,735 | 4,341 | 35,523 |
CSS | 13 | 320 | 84 | 1,592 |
JSON | 8 | 0 | 0 | 487 |
SVG | 4 | 0 | 0 | 64 |
XML | 2 | 10 | 0 | 60 |
SQL | 1 | 0 | 0 | 15 |
PHP code 0% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
It is recommended to fix the following
- Class cyclomatic complexity has to be reduced to less than 1000 (currently 1,950)
- Method cyclomatic complexity has to be reduced to less than 100 (currently 325)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.55 |
Average class complexity | 62.12 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,950.00 |
Average method complexity | 6.62 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 325.00 |
Code structure | ||
---|---|---|
Namespaces | 28 | |
Interfaces | 16 | |
Traits | 0 | |
Classes | 181 | |
▷ Abstract classes | 12 | 6.63% |
▷ Concrete classes | 169 | 93.37% |
▷ Final classes | 1 | 0.59% |
Methods | 2,102 | |
▷ Static methods | 180 | 8.56% |
▷ Public methods | 1,915 | 91.10% |
▷ Protected methods | 78 | 3.71% |
▷ Private methods | 109 | 5.19% |
Functions | 356 | |
▷ Named functions | 292 | 82.02% |
▷ Anonymous functions | 64 | 17.98% |
Constants | 27 | |
▷ Global constants | 21 | 77.78% |
▷ Class constants | 6 | 22.22% |
▷ Public constants | 6 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
38 PNG files occupy 0.06MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
components/Templates/assets/images/white.png | 3.81KB | 0.11KB | ▼ 97.05% |
components/Templates/assets/images/icon.png | 3.81KB | 0.11KB | ▼ 97.05% |
ui/images/arrow_next.png | 0.21KB | 0.22KB | 0.00% |
ui/images/page_white_edit.png | 0.38KB | 0.37KB | ▼ 3.32% |
ui/images/smoothness/ui-bg_flat_75_ffffff_40x100.png | 0.07KB | 0.08KB | 0.00% |