Benchmarks
Plugin footprint 47% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲1.47MB] [CPU: ▲5.59ms] 75% from 4 tests
Server-side resources used by Admin Page Framework
The following require your attention
- CPU: The total CPU usage must kept under 500.00ms (currently 565.47ms on /wp-admin/admin.php?page=apfl_addons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.28 ▲0.82 | 47.03 ▲4.94 |
Dashboard /wp-admin | 5.00 ▲1.69 | 56.05 ▲0.62 |
Posts /wp-admin/edit.php | 5.05 ▲1.69 | 57.25 ▲16.48 |
Add New Post /wp-admin/post-new.php | 7.58 ▲1.69 | 104.01 ▲1.75 |
Media Library /wp-admin/upload.php | 4.92 ▲1.69 | 49.50 ▲15.03 |
Help /wp-admin/admin.php?page=apfl_contact | 7.92 | 64.01 |
Tools /wp-admin/admin.php?page=apfl_tools | 8.88 | 398.74 |
Add Ons /wp-admin/admin.php?page=apfl_addons | 8.49 | 565.47 |
Server storage [IO: ▲4.39MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 704 new files
Database: no new tables, 7 new options
New WordPress options |
---|
db_upgraded |
can_compress_scripts |
widget_recent-comments |
admin_page_framework_loader |
widget_theysaidso_widget |
widget_recent-posts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Checking browser requirements for Admin Page Framework
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,815 ▲54 | 14.56 ▼0.08 | 1.73 ▲0.04 | 48.27 ▲3.71 |
Dashboard /wp-admin | 2,206 ▲26 | 5.56 ▼0.08 | 83.54 ▼3.93 | 76.27 ▲39.89 |
Posts /wp-admin/edit.php | 2,132 ▲29 | 1.97 ▼0.14 | 40.25 ▲1.10 | 34.89 ▼3.34 |
Add New Post /wp-admin/post-new.php | 1,563 ▲28 | 22.98 ▲4.71 | 626.34 ▲5.97 | 177.03 ▲112.39 |
Media Library /wp-admin/upload.php | 1,426 ▲26 | 4.16 ▼0.06 | 96.26 ▲1.95 | 59.61 ▲19.19 |
Help /wp-admin/admin.php?page=apfl_contact | 1,096 | 2.18 | 43.94 | 40.79 |
Tools /wp-admin/admin.php?page=apfl_tools | 1,286 | 2.46 | 37.83 | 36.97 |
Add Ons /wp-admin/admin.php?page=apfl_addons | 961 | 2.49 | 34.37 | 30.64 |
Uninstaller [IO: ▲4.39MB] [DB: ▲0.01MB] 25% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
The following items require your attentionZombie WordPress options detected upon uninstall: 8 options
- The plugin did not uninstall gracefully
- > Compile error in wp-content/plugins/admin-page-framework/admin-page-framework-loader.php+228
Cannot redeclare AdminPageFrameworkLoader_Warning() (previously declared in wp-content/plugins/admin-page-framework/admin-page-framework-loader.php:230)
- The plugin did not uninstall correctly, leaving 704 files (4.39MB) in the plugin directory
- (new file) asset/css/field_example.css
- (new file) asset/css/feed-list.css
- (new file) LICENSE.txt
- (new file) asset/css/column.css
- (new file) asset/css/admin.css
- (new file) asset/css/about.css
- (new file) asset/image/demo/wordpress-logo-2x.png
- (new file) asset/css/help.css
- (new file) asset/css/code.css
- (new file) admin-page-framework-loader.php
- ...
- widget_recent-posts
- admin_page_framework_loader
- theysaidso_admin_options
- can_compress_scripts
- recovery_mode_email_last_sent
- db_upgraded
- widget_recent-comments
- widget_theysaidso_widget
Smoke tests 75% 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 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please take a closer look at the following
- 360× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_Link_Base' not found in wp-content/plugins/admin-page-framework/library/apf/factory/post_type/_controller/AdminPageFramework_Link_post_type.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_PageLoadInfo_Base' not found in wp-content/plugins/admin-page-framework/library/apf/factory/admin_page/_view/AdminPageFramework_PageLoadInfo_admin_page.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_WPUtility_URL' not found in wp-content/plugins/admin-page-framework/library/apf/factory/_common/utility/wp_utility/AdminPageFramework_WPUtility_HTML.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_HelpPane_Base' not found in wp-content/plugins/admin-page-framework/library/apf/factory/post_type/_controller/AdminPageFramework_HelpPane_post_type.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_Form_View___Generate_FlatFieldName' not found in wp-content/plugins/admin-page-framework/library/apf/factory/_common/form/_view/generator/field/AdminPageFramework_Form_View___Generate_FieldInputName.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_Form_post_meta_box' not found in wp-content/plugins/admin-page-framework/library/apf/factory/page_meta_box/form/AdminPageFramework_Form_page_meta_box.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFrameworkLoader_AdminPage_RootBase' not found in wp-content/plugins/admin-page-framework/include/class/admin/_abstract/AdminPageFrameworkLoader_AdminPage_Section_Base.php:14
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_Model__FormSubmission__Validator_Base' not found in wp-content/plugins/admin-page-framework/library/apf/factory/admin_page/_model/delegate/validaor/AdminPageFramework_Model__FormSubmission__Validator__Link.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_WPUtility_SiteInformation' not found in wp-content/plugins/admin-page-framework/library/apf/factory/_common/utility/wp_utility/AdminPageFramework_WPUtility_SystemInformation.php:9
- > PHP Fatal error
Uncaught Error: Class 'AdminPageFramework_Form_Controller' not found in wp-content/plugins/admin-page-framework/library/apf/factory/_common/form/AdminPageFramework_Form.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need your attention:
- Tags: There are too many tags (14 tag instead of maximum 10)
- Screenshots: Add images for these screenshots: #1 (**Text Fields**), #14 (**User Meta Fields**)
admin-page-framework/admin-page-framework-loader.php 92% from 13 tests
The primary PHP file in "Admin Page Framework" version 3.9.1 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("admin-page-framework.php" instead of "admin-page-framework-loader.php")
Code Analysis Passed 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 detected68,575 lines of code in 640 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 478 | 3,079 | 8,039 | 30,877 |
JavaScript | 111 | 4,092 | 4,315 | 20,800 |
JSON | 2 | 0 | 0 | 11,487 |
CSS | 39 | 347 | 306 | 4,055 |
PO File | 3 | 297 | 327 | 713 |
Markdown | 4 | 105 | 0 | 396 |
SVG | 1 | 3 | 0 | 195 |
XML | 1 | 0 | 7 | 38 |
HTML | 1 | 0 | 6 | 14 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 6.12 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 159.00 |
Average method complexity | 2.12 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 26.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 477 | |
▷ Abstract classes | 100 | 20.96% |
▷ Concrete classes | 377 | 79.04% |
▷ Final classes | 5 | 1.33% |
Methods | 2,189 | |
▷ Static methods | 286 | 13.07% |
▷ Public methods | 1,299 | 59.34% |
▷ Protected methods | 289 | 13.20% |
▷ Private methods | 601 | 27.46% |
Functions | 1 | |
▷ Named functions | 1 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 27 | |
▷ Global constants | 1 | 3.70% |
▷ Class constants | 26 | 96.30% |
▷ Public constants | 26 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
14 PNG files occupy 0.23MB with 0.10MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
asset/image/new_feature/table-field-type.png | 38.98KB | 15.92KB | ▼ 59.15% |
example/library/path-custom-field-type/asset/jstree/themes/default/40px.png | 2.16KB | 1.84KB | ▼ 15.12% |
example/library/path-custom-field-type/asset/img/file_sprite.png | 18.91KB | 6.96KB | ▼ 63.20% |
asset/image/getting_started/my_first_plugin.png | 27.32KB | 11.07KB | ▼ 59.49% |
asset/image/wp-logo_32x32.png | 2.04KB | 1.72KB | ▼ 15.81% |