Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Install script ran successfully
Server metrics [RAM: ▲2.68MB] [CPU: ▲13.27ms] 75% from 4 tests
Server-side resources used by Blog2Social: Social Media Auto Post & Scheduler
Please have a look at the following items
- CPU: Total CPU usage must kept under 500.00ms (currently 1,119.52ms on /wp-admin/admin.php?page=blog2social-settings)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.92 ▲1.45 | 45.93 ▲3.84 |
Dashboard /wp-admin | 6.41 ▲3.06 | 72.53 ▲11.92 |
Posts /wp-admin/edit.php | 6.53 ▲3.16 | 65.73 ▲15.66 |
Add New Post /wp-admin/post-new.php | 8.99 ▲3.10 | 119.25 ▲21.67 |
Media Library /wp-admin/upload.php | 6.33 ▲3.10 | 63.75 ▲30.76 |
Help & Support /wp-admin/admin.php?page=blog2social-support | 6.75 | 1,167.97 |
B2S Onboarding /wp-admin/admin.php?page=blog2social-onboarding | 6.68 | 254.19 |
B2S Post Notice /wp-admin/admin.php?page=blog2social-notice | 6.95 | 284.65 |
Social Media Posts /wp-admin/admin.php?page=blog2social-curation | 6.77 | 261.12 |
B2S Ship /wp-admin/admin.php?page=blog2social-ship | 6.94 | 53.12 |
B2S Post Publish /wp-admin/admin.php?page=blog2social-publish | 6.96 | 248.81 |
Video Posts /wp-admin/admin.php?page=blog2social-video | 7.02 | 254.63 |
PR-Service /wp-admin/admin.php?page=prg-post | 6.42 | 59.91 |
B2S Network APP Management /wp-admin/admin.php?page=blog2social-user-apps | 6.81 | 489.25 |
Settings /wp-admin/admin.php?page=blog2social-settings | 7.66 | 1,119.52 |
Server storage [IO: ▲8.52MB] [DB: ▲0.11MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 348 new files
Database: 10 new tables, 6 new options
New tables |
---|
wp_b2s_posts_sched_details |
wp_b2s_posts_favorites |
wp_b2s_posts |
wp_b2s_posts_drafts |
wp_b2s_user |
wp_b2s_user_contact |
wp_b2s_user_network_settings |
wp_b2s_posts_insights |
wp_b2s_network_insights |
wp_b2s_posts_network_details |
New WordPress options |
---|
can_compress_scripts |
widget_recent-comments |
theysaidso_admin_options |
widget_recent-posts |
db_upgraded |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Blog2Social: Social Media Auto Post & Scheduler
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,944 ▲197 | 14.55 ▲0.15 | 1.72 ▼0.32 | 41.69 ▼0.13 |
Dashboard /wp-admin | 2,330 ▲153 | 5.67 ▲0.03 | 84.70 ▼6.47 | 65.75 ▲21.97 |
Posts /wp-admin/edit.php | 2,234 ▲134 | 1.99 ▲0.03 | 40.33 ▼2.23 | 38.60 ▼2.04 |
Add New Post /wp-admin/post-new.php | 1,799 ▲273 | 22.36 ▼0.93 | 710.98 ▲85.50 | 60.00 ▲10.77 |
Media Library /wp-admin/upload.php | 1,535 ▲135 | 4.10 ▼0.15 | 100.74 ▼1.55 | 62.73 ▲20.42 |
Help & Support /wp-admin/admin.php?page=blog2social-support | 2,771 | 1.98 | 36.76 | 103.07 |
B2S Onboarding /wp-admin/admin.php?page=blog2social-onboarding | 2,335 | 2.43 | 33.55 | 48.55 |
B2S Post Notice /wp-admin/admin.php?page=blog2social-notice | 3,890 | 2.19 | 45.13 | 51.15 |
Social Media Posts /wp-admin/admin.php?page=blog2social-curation | 3,297 | 3.97 | 83.20 | 120.43 |
B2S Ship /wp-admin/admin.php?page=blog2social-ship | 5,688 | 5.89 | 138.69 | 524.96 |
B2S Post Publish /wp-admin/admin.php?page=blog2social-publish | 3,948 | 2.19 | 48.33 | 48.38 |
Video Posts /wp-admin/admin.php?page=blog2social-video | 4,394 | 9.56 | 272.14 | 115.85 |
PR-Service /wp-admin/admin.php?page=prg-post | 1,331 | 1.83 | 29.93 | 38.31 |
B2S Network APP Management /wp-admin/admin.php?page=blog2social-user-apps | 3,762 | 2.11 | 38.91 | 58.86 |
Settings /wp-admin/admin.php?page=blog2social-settings | 6,801 | 3.69 | 55.33 | 111.55 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.11MB] 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
- This plugin does not fully uninstall, leaving 10 tables in the database
- wp_b2s_posts_network_details
- wp_b2s_posts_sched_details
- wp_b2s_network_insights
- wp_b2s_user_contact
- wp_b2s_user_network_settings
- wp_b2s_posts_favorites
- wp_b2s_posts
- wp_b2s_user
- wp_b2s_posts_insights
- wp_b2s_posts_drafts
- Zombie WordPress options detected upon uninstall: 6 options
- db_upgraded
- theysaidso_admin_options
- widget_recent-posts
- widget_recent-comments
- can_compress_scripts
- widget_theysaidso_widget
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These server-side errors were triggered
- 5 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+392
Undefined index: postId
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+1027
Trying to get property 'ID' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+1014
Trying to get property 'guid' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+395
Trying to get property 'post_title' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+1049
Trying to get property 'post_status' of non-object
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+87
Trying to get property 'post_date' of non-object
- > GET request to /wp-admin/admin.php?page=blog2social-ship
- > Notice in wp-content/plugins/blog2social/views/b2s/ship.php+680
Trying to get property 'post_content' of non-object
SRP 0% 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
Please take a closer look at the following
- 1× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/blog2social/views/b2s/widgets/content.php
- 60× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/blog2social/views/b2s/html/sidebar.php:2
- > PHP Fatal error
Uncaught Error: Class 'B2S_System' not found in wp-content/plugins/blog2social/views/prg/html/footer.php:4
- > PHP Fatal error
require_once(): Failed opening required 'B2S_PLUGIN_DIRincludes/B2S/Calendar/Item.php' (include_path='.:/usr/share/php') in wp-content/plugins/blog2social/includes/B2S/Calendar/Filter.php on line 3
- > PHP Warning
Use of undefined constant B2S_PLUGIN_DIR - assumed 'B2S_PLUGIN_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/blog2social/includes/B2S/Calendar/Item.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/blog2social/views/b2s/partials/post-edit-modal.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_nonce_field() in wp-content/plugins/blog2social/views/prg/ship.php:2
- > PHP Warning
Use of undefined constant B2S_PLUGIN_DIR - assumed 'B2S_PLUGIN_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/blog2social/includes/B2S/Calendar/ItemEdit.php on line 2
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_nonce_field() in wp-content/plugins/blog2social/views/b2s/post.favorites.php:2
- > PHP Warning
require_once(B2S_PLUGIN_DIRincludes/B2S/Ship/Save.php): failed to open stream: No such file or directory in wp-content/plugins/blog2social/includes/B2S/Calendar/Save.php on line 2
- > PHP Fatal error
require_once(): Failed opening required 'B2S_PLUGIN_DIRincludes/B2S/Calendar/ItemEdit.php' (include_path='.:/usr/share/php') in wp-content/plugins/blog2social/includes/B2S/Calendar/Item.php on line 3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There are user-side issues you should fix
- > GET request to /wp-admin/admin.php?page=blog2social-video
- > Security (severe) in unknown
security - [Report Only] Refused to frame 'https://docs.google.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'none'".
- > GET request to /wp-admin/admin.php?page=blog2social-video
- > Network (severe)
filesystem:https://docs.google.com/persistent/docs/fonts/KFOmCnqEu92Fr1Me4A.woff2 - Failed to load resource: net::ERR_FILE_NOT_FOUND
- > GET request to /wp-admin/admin.php?page=blog2social-video
- > Network (severe)
filesystem:https://docs.google.com/persistent/docs/fonts/KFOkCnqEu92Fr1Mu52xK.woff2 - Failed to load resource: net::ERR_FILE_NOT_FOUND
- > GET request to /wp-admin/admin.php?page=blog2social-video
- > Network (severe)
filesystem:https://docs.google.com/persistent/docs/fonts/KFOlCnqEu92Fr1MmWUlvBg.woff2 - Failed to load resource: net::ERR_FILE_NOT_FOUND
- > GET request to /wp-admin/admin.php?page=blog2social-video
- > Network (severe)
filesystem:https://docs.google.com/persistent/docs/fonts/KFOjCnqEu92Fr1Mu51TzBhc4.woff2 - Failed to load resource: net::ERR_FILE_NOT_FOUND
Optimizations
Plugin configuration 93% 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
Please fix the following attributes:
- Tags: Please delete some tags, you are using 130 tag instead of maximum 10
- Screenshots: These screenshots need descriptions #8, #9 in blog2social/assets to your readme.txt
blog2social/blog2social.php Passed 13 tests
The main PHP script in "Blog2Social: Social Media Auto Post & Scheduler" version 7.3.4 is automatically included on every request by WordPress
131 characters long description:
Auto publish, schedule & share posts on social media: Facebook, Twitter, XING, LinkedIn, Instagram, ... crosspost to pages & groups
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Everything looks great! No dangerous files found in this plugin75,381 lines of code in 195 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 97 | 2,328 | 785 | 28,779 |
JavaScript | 51 | 2,530 | 1,092 | 21,385 |
CSS | 41 | 1,350 | 156 | 15,025 |
PO File | 5 | 4,559 | 5,876 | 9,904 |
SVG | 1 | 0 | 0 | 288 |
PHP code 0% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
It is recommended to fix the following
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 1,356)
- Method cyclomatic complexity should be reduced to less than 100 (currently 485)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.69 |
Average class complexity | 137.36 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,356.00 |
Average method complexity | 13.33 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 485.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 53 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 53 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 581 | |
▷ Static methods | 90 | 15.49% |
▷ Public methods | 467 | 80.38% |
▷ Protected methods | 9 | 1.55% |
▷ Private methods | 105 | 18.07% |
Functions | 3 | |
▷ Named functions | 1 | 33.33% |
▷ Anonymous functions | 2 | 66.67% |
Constants | 76 | |
▷ Global constants | 76 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
139 PNG files occupy 1.53MB with 0.92MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/no-network-selected.png | 28.87KB | 10.67KB | ▼ 63.04% |
assets/images/settings/b2s-post-format-2-2-en.png | 8.22KB | 3.88KB | ▼ 52.78% |
assets/images/b2s/trial_popup.png | 79.90KB | 26.84KB | ▼ 66.40% |
assets/images/portale/4_flat.png | 5.54KB | 1.83KB | ▼ 66.88% |
assets/images/settings/b2s-post-format-2-2-de.png | 8.24KB | 4.04KB | ▼ 50.90% |