Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully
Server metrics [RAM: ▲0.37MB] [CPU: ▲7.93ms] 75% from 4 tests
Server-side resources used by Pretty Links - Affiliate Links, Link Branding, Link Tracking & Marketing Plugin
Please take the time to fix the following items
- CPU: Total CPU usage must kept under 500.00ms (currently 650.34ms on /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-clicks)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.80 ▲0.34 | 41.76 ▲6.07 |
Dashboard /wp-admin | 3.68 ▲0.37 | 52.03 ▲4.17 |
Posts /wp-admin/edit.php | 3.79 ▲0.43 | 59.74 ▲13.32 |
Add New Post /wp-admin/post-new.php | 6.28 ▲0.39 | 104.03 ▲15.57 |
Media Library /wp-admin/upload.php | 3.59 ▲0.36 | 44.52 ▲8.14 |
Import / Export /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-import-export | 3.61 | 41.13 |
Add-ons /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-addons | 3.60 | 39.61 |
Tags /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-tags | 3.62 | 40.85 |
Clicks /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-clicks | 3.80 | 650.34 |
PrettyPay™ LinksNEW /wp-admin/edit.php?post_type=pretty-link&page=prettypay-links | 3.65 | 42.49 |
/wp-admin/options.php?page=pretty-link-onboarding | 3.64 | 44.00 |
Tools /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-tools | 3.64 | 41.19 |
Categories /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-categories | 3.62 | 36.17 |
Pretty Links /wp-admin/edit.php?post_type=pretty-link | 3.65 | 45.78 |
Add New /wp-admin/post-new.php?post_type=pretty-link | 3.82 | 63.68 |
Server storage [IO: ▲15.79MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 290 new files
Database: 3 new tables, 10 new options
New tables |
---|
wp_prli_links |
wp_prli_link_metas |
wp_prli_clicks |
New WordPress options |
---|
can_compress_scripts |
prli_db_version |
db_upgraded |
widget_recent-comments |
prli_onboarded |
prli_options |
theysaidso_admin_options |
widget_theysaidso_widget |
prli_notifications |
widget_recent-posts |
Browser metrics Passed 4 tests
A check of browser resources used by Pretty Links - Affiliate Links, Link Branding, Link Tracking & Marketing Plugin
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,088 ▲326 | 14.32 ▼0.39 | 1.72 ▼0.20 | 28.13 ▼13.51 |
Dashboard /wp-admin | 2,475 ▲295 | 5.63 ▲0.01 | 95.01 ▲3.16 | 88.60 ▲46.64 |
Posts /wp-admin/edit.php | 2,233 ▲130 | 2.16 ▲0.14 | 42.35 ▲5.54 | 45.35 ▲5.67 |
Add New Post /wp-admin/post-new.php | 6,338 ▲4,812 | 26.21 ▲2.99 | 913.47 ▲292.09 | 56.64 ▲6.12 |
Media Library /wp-admin/upload.php | 1,529 ▲135 | 4.26 ▼0.00 | 101.58 ▲1.49 | 49.51 ▲8.90 |
Import / Export /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-import-export | 1,425 | 2.22 | 45.13 | 68.67 |
Add-ons /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-addons | 1,366 | 2.20 | 44.22 | 48.87 |
Tags /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-tags | 1,675 | 2.18 | 31.87 | 40.78 |
Clicks /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-clicks | 1,484 | 5.16 | 56.28 | 78.08 |
PrettyPay™ LinksNEW /wp-admin/edit.php?post_type=pretty-link&page=prettypay-links | 2,000 | 2.46 | 39.73 | 73.48 |
/wp-admin/options.php?page=pretty-link-onboarding | 1,826 | 2.15 | 30.57 | 169.28 |
Tools /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-tools | 1,415 | 2.19 | 33.15 | 39.09 |
Categories /wp-admin/edit.php?post_type=pretty-link&page=pretty-link-upgrade-categories | 1,689 | 2.17 | 31.52 | 36.44 |
Pretty Links /wp-admin/edit.php?post_type=pretty-link | 1,637 | 2.45 | 42.79 | 73.27 |
Add New /wp-admin/post-new.php?post_type=pretty-link | 3,145 | 6.72 | 133.25 | 106.84 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- The plugin did not uninstall successfully, leaving 3 tables in the database
- wp_prli_link_metas
- wp_prli_links
- wp_prli_clicks
- The uninstall procedure has failed, leaving 10 options in the database
- prli_options
- db_upgraded
- prli_notifications
- widget_recent-posts
- widget_recent-comments
- widget_theysaidso_widget
- can_compress_scripts
- prli_onboarded
- theysaidso_admin_options
- prli_db_version
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected
SRP 0% 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
- 118× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
- > /wp-content/plugins/pretty-link/pretty-link.php
- > /wp-content/plugins/pretty-link/vendor/lib/index.php
- > /wp-content/plugins/pretty-link/app/models/PrliLink.php
- > /wp-content/plugins/pretty-link/app/views/admin/onboarding/features.php
- > /wp-content/plugins/pretty-link/app/views/links/index.php
- > /wp-content/plugins/pretty-link/app/views/admin/upgrade/categories.php
- > /wp-content/plugins/pretty-link/app/views/admin/onboarding/category.php
- > /wp-content/plugins/pretty-link/app/views/shared/errors.php
- > /wp-content/plugins/pretty-link/app/controllers/PrliReportsController.php
- > /wp-content/plugins/pretty-link/app/views/shared/public_link.php
- 15× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Warning
Use of undefined constant PRLI_VIEWS_PATH - assumed 'PRLI_VIEWS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/pretty-link/app/views/admin/upgrade/categories.php on line 280
- > PHP Warning
include_once(PRLI_VIEWS_PATH/admin/upgrade/dialog.php): failed to open stream: No such file or directory in wp-content/plugins/pretty-link/app/views/admin/upgrade/tags.php on line 280
- > PHP Warning
Use of undefined constant PRLI_VIEWS_PATH - assumed 'PRLI_VIEWS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/pretty-link/app/views/admin/upgrade/import-export.php on line 46
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/pretty-link/app/views/admin/upgrade/reports.php:8
- > PHP Warning
include_once(): Failed opening 'PRLI_VIEWS_PATH/admin/upgrade/dialog.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/pretty-link/app/views/admin/upgrade/tags.php on line 280
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/pretty-link/app/views/admin/upgrade/groups.php:8
- > PHP Warning
include_once(PRLI_VIEWS_PATH/admin/upgrade/dialog.php): failed to open stream: No such file or directory in wp-content/plugins/pretty-link/app/views/admin/upgrade/import-export.php on line 46
- > PHP Notice
Undefined variable: upgrade_link in wp-content/plugins/pretty-link/app/views/admin/upgrade/dialog.php on line 26
- > PHP Warning
include_once(): Failed opening 'PRLI_VIEWS_PATH/admin/upgrade/dialog.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/pretty-link/app/views/admin/upgrade/categories.php on line 280
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/pretty-link/app/views/shared/tinymce_form_popup.php:4
- > PHP Warning
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 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that need to be fixed:
- Tags: Please reduce the number of tags, currently 40 tag instead of maximum 10
pretty-link/pretty-link.php Passed 13 tests
The primary PHP file in "Pretty Links - Affiliate Links, Link Branding, Link Tracking & Marketing Plugin" version 3.6.1 is used by WordPress to initiate all plugin functionality
61 characters long description:
Shrink, track and share any URL using your website and brand!
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Success! There were no dangerous files found in this plugin266,962 lines of code in 197 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
INI | 1 | 71,306 | 2,923 | 238,779 |
PHP | 110 | 2,727 | 1,508 | 15,884 |
CSS | 32 | 539 | 239 | 4,212 |
JavaScript | 32 | 639 | 188 | 3,561 |
PO File | 1 | 920 | 1,079 | 2,452 |
JSON | 1 | 0 | 0 | 1,626 |
SVG | 19 | 85 | 2 | 422 |
Sass | 1 | 2 | 0 | 26 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.44 |
Average class complexity | 52.90 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 286.00 |
Average method complexity | 4.72 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 65.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 39 | |
▷ Abstract classes | 1 | 2.56% |
▷ Concrete classes | 38 | 97.44% |
▷ Final classes | 0 | 0.00% |
Methods | 543 | |
▷ Static methods | 178 | 32.78% |
▷ Public methods | 497 | 91.53% |
▷ Protected methods | 7 | 1.29% |
▷ Private methods | 39 | 7.18% |
Functions | 19 | |
▷ Named functions | 14 | 73.68% |
▷ Anonymous functions | 5 | 26.32% |
Constants | 44 | |
▷ Global constants | 37 | 84.09% |
▷ Class constants | 7 | 15.91% |
▷ Public constants | 7 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
47 PNG files occupy 3.37MB with 1.53MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/welcome-desk.png | 269.79KB | 121.83KB | ▼ 54.84% |
images/redirection-link-menu_324_original3.png | 37.86KB | 11.82KB | ▼ 68.76% |
images/product-displays-add-on.png | 141.58KB | 34.30KB | ▼ 75.77% |
images/arrow_down.png | 0.17KB | 0.18KB | 0.00% |
images/welcome-dynamic-redirects.png | 104.55KB | 75.87KB | ▼ 27.44% |