Benchmarks
Plugin footprint 83% 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 gracefully, with no errors
Server metrics [RAM: ▲0.97MB] [CPU: ▼1.96ms] Passed 4 tests
Analyzing server-side resources used by Shortlink by BestWebSoft
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.49 ▲1.02 | 42.41 ▼0.39 |
Dashboard /wp-admin | 4.31 ▲0.97 | 52.05 ▼8.71 |
Posts /wp-admin/edit.php | 4.36 ▲1.01 | 58.22 ▲14.86 |
Add New Post /wp-admin/post-new.php | 6.85 ▲0.97 | 91.24 ▼9.52 |
Media Library /wp-admin/upload.php | 4.17 ▲0.95 | 43.82 ▲10.77 |
Add New /wp-admin/admin.php?page=gglshrtlnk_create_link | 4.15 | 37.27 |
Settings /wp-admin/admin.php?page=gglshrtlnk_options | 4.52 | 52.84 |
Links /wp-admin/admin.php?page=google-shortlink | 4.16 | 44.61 |
BWS Panel /wp-admin/admin.php?page=gglshrtlnk-bws-panel | 4.47 | 44.65 |
Server storage [IO: ▲8.10MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 808 new files
Database: 2 new tables, 8 new options
New tables |
---|
wp_google_shortlink_for_firebase |
wp_google_shortlink |
New WordPress options |
---|
db_upgraded |
widget_recent-posts |
theysaidso_admin_options |
bstwbsftwppdtplgns_options |
widget_recent-comments |
gglshrtlnk_options |
can_compress_scripts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
A check of browser resources used by Shortlink by BestWebSoft
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,837 ▲66 | 13.21 ▼1.16 | 1.59 ▼0.26 | 37.36 ▼4.35 |
Dashboard /wp-admin | 2,240 ▲58 | 5.84 ▼0.02 | 98.29 ▼6.01 | 38.99 ▲2.08 |
Posts /wp-admin/edit.php | 2,126 ▲34 | 2.05 ▼0.01 | 43.18 ▲3.45 | 34.15 ▼0.27 |
Add New Post /wp-admin/post-new.php | 1,562 ▲34 | 23.31 ▲5.06 | 586.57 ▼41.50 | 47.66 ▼0.51 |
Media Library /wp-admin/upload.php | 1,422 ▲37 | 4.26 ▲0.02 | 95.48 ▼9.68 | 44.55 ▼2.15 |
Add New /wp-admin/admin.php?page=gglshrtlnk_create_link | 919 | 3.26 | 66.64 | 25.67 |
Settings /wp-admin/admin.php?page=gglshrtlnk_options | 2,066 | 4.04 | 105.43 | 76.86 |
Links /wp-admin/admin.php?page=google-shortlink | 1,022 | 3.18 | 38.55 | 28.76 |
BWS Panel /wp-admin/admin.php?page=gglshrtlnk-bws-panel | 3,025 | 1.98 | 32.89 | 75.69 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
- This plugin did not uninstall successfully, leaving 6 options in the database
- widget_recent-comments
- db_upgraded
- theysaidso_admin_options
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-posts
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
Even though everything seems fine, this is not an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
The following issues need your attention
- 537× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Google_Service_Resource' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebproperties.php:26
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Cache\\CacheItemInterface' not found in wp-content/plugins/google-shortlink/vendor/google/auth/src/Cache/Item.php:25
- > PHP Fatal error
Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/FirebaseRules/GetReleaseExecutableResponse.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Firestore/FieldTransform.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Collection' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertySummary.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Collection' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Devprojects/ActivationLink.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Collection' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DownloadAccountResponse.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Service_Resource' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Management.php:26
- > PHP Fatal error
Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertyRef.php:18
- > PHP Fatal error
Uncaught Error: Class 'Google_Service_Resource' not found in wp-content/plugins/google-shortlink/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataRealtime.php:26
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/custom-admin-page/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/custom-search-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/captcha-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/contact-form-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/columns-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/contact-form-to-db/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/donate-button/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/facebook-button-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/gallery-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-2-step-verification/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/error-log-viewer/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-analytics/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/google-captcha/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-google-maps/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/google-sitemap-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/google-shortlink/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/htaccess/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/job-board/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-linkedin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/multilanguage/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/limit-attempts/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/pagination/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/pdf-print/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-pinterest/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/portfolio/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/post-to-csv/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/promobar/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/profile-extra-fields/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/quotes-and-tips/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/rating-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/realty/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/slider-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/relevant/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-smtp/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/sender/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/social-buttons-pack/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/social-login-bws/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/bws-testimonials/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/timesheet/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/subscriber/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/updater/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/user-role/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/twitter-plugin/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/admin.php?page=gglshrtlnk-bws-panel
- > Network (severe)
http://ps.w.org/visitors-online/assets/icon-256x256.png - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that require attention:
- Screenshots: These screenshots have no corresponding images in /assets: #1 ('Table of links' page.), #2 ('Add links' page.), #3 (Plugin settings page in WordPress admin panel.), #4 (Plugin settings page in WordPress admin panel.)
- Tags: Please reduce the number of tags, currently 12 tag instead of maximum 10
google-shortlink/google-shortlink.php Passed 13 tests
The principal PHP file in "Shortlink by BestWebSoft" v. 1.6.2 is loaded by WordPress automatically on each request
86 characters long description:
Replace external WordPress website links with Google shortlinks and track click stats.
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
There were no executable files found in this plugin81,477 lines of code in 709 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 640 | 7,287 | 32,095 | 62,016 |
PO File | 10 | 3,752 | 5,813 | 8,057 |
CSS | 10 | 190 | 280 | 5,571 |
Markdown | 21 | 1,211 | 0 | 3,891 |
JSON | 12 | 0 | 0 | 1,095 |
JavaScript | 7 | 38 | 115 | 623 |
SVG | 4 | 0 | 0 | 150 |
YAML | 2 | 9 | 0 | 38 |
XML | 2 | 0 | 0 | 27 |
make | 1 | 4 | 0 | 9 |
PHP code 50% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Please tend to the following items
- Please reduce cyclomatic complexity of methods to less than 100 (currently 103)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 9.25 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 626.00 |
Average method complexity | 1.90 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 103.00 |
Code structure | ||
---|---|---|
Namespaces | 26 | |
Interfaces | 22 | |
Traits | 5 | |
Classes | 593 | |
▷ Abstract classes | 4 | 0.67% |
▷ Concrete classes | 589 | 99.33% |
▷ Final classes | 9 | 1.53% |
Methods | 5,614 | |
▷ Static methods | 100 | 1.78% |
▷ Public methods | 5,425 | 96.63% |
▷ Protected methods | 15 | 0.27% |
▷ Private methods | 174 | 3.10% |
Functions | 232 | |
▷ Named functions | 137 | 59.05% |
▷ Anonymous functions | 95 | 40.95% |
Constants | 302 | |
▷ Global constants | 23 | 7.62% |
▷ Class constants | 279 | 92.38% |
▷ Public constants | 279 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
63 PNG files occupy 3.26MB with 1.00MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_2e83ff_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |
screenshot-4.png | 161.48KB | 52.08KB | ▼ 67.75% |
screenshot-1.png | 173.59KB | 60.10KB | ▼ 65.38% |
bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_cd0a0a_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |
bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_2e83ff_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |