Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲2.36MB] [CPU: ▲6.74ms] Passed 4 tests
Server-side resources used by Post Affiliate Pro
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.79 ▲2.33 | 46.41 ▲9.91 |
Dashboard /wp-admin | 5.69 ▲2.34 | 58.54 ▼2.97 |
Posts /wp-admin/edit.php | 5.80 ▲2.44 | 71.09 ▲19.86 |
Add New Post /wp-admin/post-new.php | 8.29 ▲2.40 | 106.81 ▲3.01 |
Media Library /wp-admin/upload.php | 5.61 ▲2.38 | 50.32 ▲17.00 |
General /wp-admin/admin.php?page=pap-top-level-options-handle | 5.58 | 47.14 |
Debugging /wp-admin/admin.php?page=pap-debugging-page | 5.58 | 45.73 |
Server storage [IO: ▲1.27MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 87 new files
Database: no new tables, 10 new options
New WordPress options |
---|
pap-url |
widget_theysaidso_widget |
theysaidso_admin_options |
postaffiliatepro_db_version |
woocomm-orderid |
widget_recent-comments |
db_upgraded |
widget_recent-posts |
can_compress_scripts |
widget_postaffiliatepro_topaffiliates |
Browser metrics Passed 4 tests
An overview of browser requirements for Post Affiliate Pro
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,817 ▲71 | 14.28 ▲0.06 | 1.56 ▼0.07 | 39.72 ▼5.56 |
Dashboard /wp-admin | 2,223 ▲52 | 5.55 ▼0.11 | 82.97 ▼5.39 | 79.17 ▲38.80 |
Posts /wp-admin/edit.php | 2,131 ▲28 | 2.00 ▲0.04 | 37.92 ▼0.52 | 35.04 ▼2.55 |
Add New Post /wp-admin/post-new.php | 1,559 ▲31 | 18.61 ▼4.54 | 647.61 ▼45.14 | 58.89 ▲4.19 |
Media Library /wp-admin/upload.php | 1,419 ▲19 | 4.14 ▼0.11 | 96.48 ▲4.04 | 74.03 ▲29.95 |
General /wp-admin/admin.php?page=pap-top-level-options-handle | 930 | 2.18 | 23.11 | 27.12 |
Debugging /wp-admin/admin.php?page=pap-debugging-page | 856 | 2.00 | 23.76 | 27.96 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 10 options
- postaffiliatepro_db_version
- widget_theysaidso_widget
- db_upgraded
- woocomm-orderid
- pap-url
- widget_recent-posts
- widget_recent-comments
- widget_postaffiliatepro_topaffiliates
- can_compress_scripts
- theysaidso_admin_options
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 50% 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
Almost there! Just fix the following items
- 35× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Form_Base' not found in wp-content/plugins/postaffiliatepro/Form/Settings/EDD.class.php:10
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Base' not found in wp-content/plugins/postaffiliatepro/Shortcode/Affiliate.class.php:11
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Base' not found in wp-content/plugins/postaffiliatepro/Util/TopAffiliatesHelper.class.php:2
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/postaffiliatepro/Widget/TopAffiliates.class.php:2
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Form_Base' not found in wp-content/plugins/postaffiliatepro/Form/Settings/SimplePayPro.class.php:11
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Form_Base' not found in wp-content/plugins/postaffiliatepro/Form/Settings/General.class.php:11
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Form_Base' not found in wp-content/plugins/postaffiliatepro/Form/Settings/AdditionalOptions.class.php:11
- > PHP Warning
include(): Failed opening 'WP_PLUGIN_DIR/postaffiliatepro/Base.class.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/postaffiliatepro/postaffiliatepro.php on line 17
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Form_Base' not found in wp-content/plugins/postaffiliatepro/Form/Settings/Campaigns.class.php:11
- > PHP Fatal error
Uncaught Error: Class 'postaffiliatepro_Base' not found in wp-content/plugins/postaffiliatepro/postaffiliatepro.php:20
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Please fix the following attributes:
- Screenshots: Add images for these screenshots: #1 (Plugin adds an extra menu to your WP installation), #2 (General options screen), #3 (Signup options screen), #4 (Click tracking options screen), #5 (Top affiliates widget config), #6 (You can also use shortcodes)
postaffiliatepro/postaffiliatepro.php Passed 13 tests
The primary PHP file in "Post Affiliate Pro" version 1.26.5 is used by WordPress to initiate all plugin functionality
65 characters long description:
Easily integrate your WordPress site with your Post Affiliate Pro
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Everything looks great! No dangerous files found in this plugin9,749 lines of code in 36 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 35 | 1,907 | 1,350 | 9,729 |
CSS | 1 | 3 | 2 | 20 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.32 |
Average class complexity | 13.85 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 218.00 |
Average method complexity | 2.24 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 71.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 6 | |
Traits | 0 | |
Classes | 95 | |
▷ Abstract classes | 2 | 2.11% |
▷ Concrete classes | 93 | 97.89% |
▷ Final classes | 0 | 0.00% |
Methods | 1,120 | |
▷ Static methods | 69 | 6.16% |
▷ Public methods | 846 | 75.54% |
▷ Protected methods | 125 | 11.16% |
▷ Private methods | 149 | 13.30% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 271 | |
▷ Global constants | 3 | 1.11% |
▷ Class constants | 268 | 98.89% |
▷ Public constants | 268 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
24 PNG files occupy 0.75MB with 0.40MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
resources/img/cf7.png | 36.23KB | 14.17KB | ▼ 60.87% |
screenshot-3.png | 26.81KB | 8.77KB | ▼ 67.28% |
resources/img/spp.png | 6.50KB | 2.57KB | ▼ 60.48% |
resources/img/stripepay.png | 5.78KB | 3.94KB | ▼ 31.73% |
resources/img/pmpro.png | 9.33KB | 4.61KB | ▼ 50.58% |