67% social-lite

Code Review | Link in Bio Creator – Social

WordPress plugin Link in Bio Creator – Social scored67%from 54 tests.

About plugin

  • Plugin page: social-lite
  • Plugin version: 1.4.4
  • PHP compatiblity: 7.0+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.5-6.4
  • WordPress version: 6.3.1
  • First release: Dec 11, 2021
  • Latest release: Nov 27, 2023
  • Number of updates: 169
  • Update frequency: every 4.2 days
  • Top authors: chadwickmarketing (100%)

Code review

54 tests

User reviews

7 reviews

Install metrics

700+ active /14,186 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors

Server metrics [RAM: ▲5.89MB] [CPU: ▲31.96ms] 75% from 4 tests

A check of server-side resources used by Link in Bio Creator – Social
It is recommended to improve the following
  • Extra RAM: Extra memory usage should kept under 5MB (currently 5.89MB on /wp-admin/admin.php?page=freemius)
PageMemory (MB)CPU Time (ms)
Home /9.68 ▲6.2270.36 ▲29.58
Dashboard /wp-admin9.70 ▲6.4082.79 ▲33.58
Posts /wp-admin/edit.php9.71 ▲6.3591.52 ▲40.67
Add New Post /wp-admin/post-new.php10.47 ▲4.59124.36 ▲25.18
Media Library /wp-admin/upload.php9.70 ▲6.4773.72 ▲39.51
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius9.7063.35

Server storage [IO: ▲10.61MB] [DB: ▲0.00MB] Passed 3 tests

Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 318 new files
Database: no new tables, 12 new options
New WordPress options
fs_debug_mode
widget_theysaidso_widget
social_lite_db_version
social_lite-token
widget_recent-posts
db_upgraded
fs_accounts
fs_active_plugins
theysaidso_admin_options
widget_recent-comments
...

Browser metrics Passed 4 tests

A check of browser resources used by Link in Bio Creator – Social
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,041 ▲27918.89 ▲4.199.75 ▲8.0026.80 ▼16.31
Dashboard /wp-admin2,287 ▲1078.66 ▲2.98176.78 ▲80.4347.32 ▲3.95
Posts /wp-admin/edit.php2,199 ▲996.08 ▲4.14112.29 ▲67.8352.78 ▲13.52
Add New Post /wp-admin/post-new.php1,561 ▲2125.14 ▲2.39824.19 ▲240.6730.76 ▼17.03
Media Library /wp-admin/upload.php1,499 ▲997.73 ▲3.54157.55 ▲59.4943.52 ▲3.63
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius1,1535.80103.4930.72

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
  • This plugin did not uninstall without warnings or errors
    • > Notice in wp-content/plugins/social-lite/vendor/freemius/wordpress-sdk/includes/class-freemius.php+8546
    Undefined property: stdClass::$plugins
  • Zombie WordPress options detected upon uninstall: 12 options
    • social_lite_db_version
    • widget_theysaidso_widget
    • theysaidso_admin_options
    • widget_recent-posts
    • fs_debug_mode
    • social_lite-token
    • widget_recent-comments
    • can_compress_scripts
    • db_upgraded
    • social_lite-installation-date
    • ...

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
The smoke test was a success, however most plugin functionality was not tested

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following items
  • 30× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
    • > /wp-content/plugins/social-lite/inc/base/others/start.php
    • > /wp-content/plugins/social-lite/inc/Activator.php
    • > /wp-content/plugins/social-lite/vendor/social-develop/utils/src/Service.php
    • > /wp-content/plugins/social-lite/vendor/social-develop/utils/src/Base.php
    • > /wp-content/plugins/social-lite/inc/base/notifications/BioLinkNotifications.php
    • > /wp-content/plugins/social-lite/inc/Localization.php
    • > /wp-content/plugins/social-lite/inc/base/CPT.php
    • > /wp-content/plugins/social-lite/inc/base/data/BioLinkData.php
    • > /wp-content/plugins/social-lite/inc/base/others/fallback-php-version.php
    • > /wp-content/plugins/social-lite/inc/Assets.php
  • 4× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      require_once(): Failed opening required 'SOCIAL_LITE_PATH/vendor/freemius/wordpress-sdk/start.php' (include_path='.:/usr/share/php') in wp-content/plugins/social-lite/freemius.php on line 18
    • > PHP Fatal error
      Uncaught Error: Call to undefined function wp_head() in wp-content/plugins/social-lite/inc/view/bio/BioLinkTemplate.php:11
    • > PHP Warning
      require_once(SOCIAL_LITE_PATH/vendor/freemius/wordpress-sdk/start.php): failed to open stream: No such file or directory in wp-content/plugins/social-lite/freemius.php on line 18
    • > PHP Warning
      Use of undefined constant SOCIAL_LITE_PATH - assumed 'SOCIAL_LITE_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/social-lite/freemius.php on line 18

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 93% 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:
  • Screenshots: Please add descriptions for these screenshots #1, #2, #3, #4 in social-lite/assets to your readme.txt
You can look at the official readme.txt

social-lite/index.php 92% from 13 tests

The main PHP file in "Link in Bio Creator – Social" ver. 1.4.4 adds more information about the plugin and also serves as the entry point for this plugin
Please take the time to fix the following:
  • Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("social-lite.php" instead of "index.php")

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Good job! No executable or dangerous file extensions detected64,815 lines of code in 235 files:
LanguageFilesBlank linesComment linesLines of code
PHP1688,93318,97436,527
Markdown65,298015,746
JSON70011,796
JavaScript1334269481
SVG2500202
PO File13536
CSS1510427

PHP code 50% from 2 tests

Cyclomatic complexity and code structure are the fingerprint of this plugin
These items need your attention
  • Class cyclomatic complexity has to be reduced to less than 1000 (currently 3,096)
Cyclomatic complexity
Average complexity per logical line of code0.62
Average class complexity58.01
▷ Minimum class complexity1.00
▷ Maximum class complexity3,096.00
Average method complexity4.34
▷ Minimum method complexity1.00
▷ Maximum method complexity94.00
Code structure
Namespaces15
Interfaces1
Traits7
Classes78
▷ Abstract classes33.85%
▷ Concrete classes7596.15%
▷ Final classes00.00%
Methods1,496
▷ Static methods23415.64%
▷ Public methods1,07471.79%
▷ Protected methods312.07%
▷ Private methods39126.14%
Functions137
▷ Named functions10677.37%
▷ Anonymous functions3122.63%
Constants197
▷ Global constants11256.85%
▷ Class constants8543.15%
▷ Public constants85100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
14 PNG files occupy 0.40MB with 0.15MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
public/images/logos/logo--spotlight.png6.58KB2.76KB▼ 58.04%
public/images/states/empty-social-icons.png70.08KB22.19KB▼ 68.33%
public/images/upsells/upsell-pro--banner.png183.87KB184.34KB0.00%
public/images/states/empty-footer-links.png11.03KB7.73KB▼ 29.96%
public/images/logos/logo--spotify.png1.15KB0.79KB▼ 31.69%