68% wp-ulike

Code Review | WP ULike - Most Advanced WordPress Marketing Toolkit

WordPress plugin WP ULike - Most Advanced WordPress Marketing Toolkit scored68%from 54 tests.

About plugin

  • Plugin page: wp-ulike
  • Plugin version: 4.6.9
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-6.3
  • WordPress version: 6.3.1
  • First release: Aug 28, 2014
  • Latest release: Oct 18, 2023
  • Number of updates: 198
  • Update frequency: every 16.9 days
  • Top authors: alimir (100%)

Code review

54 tests

User reviews

260 reviews

Install metrics

80,000+ active /1,585,002 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.58MB] [CPU: ▼2.35ms] Passed 4 tests

This is a short check of server-side resources used by WP ULike - Most Advanced WordPress Marketing Toolkit
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.88 ▲0.4242.17 ▲2.50
Dashboard /wp-admin3.94 ▲0.6450.75 ▲1.10
Posts /wp-admin/edit.php4.00 ▲0.6447.65 ▼2.52
Add New Post /wp-admin/post-new.php6.53 ▲0.6483.99 ▼10.48
Media Library /wp-admin/upload.php3.87 ▲0.6443.45 ▲9.60
Statistics /wp-admin/admin.php?page=wp-ulike-statistics3.9247.66
Topics Likes Logs /wp-admin/admin.php?page=wp-ulike-topics-logs3.8438.16
Activity Likes Logs /wp-admin/admin.php?page=wp-ulike-activities-logs3.8438.94
About /wp-admin/admin.php?page=wp-ulike-about3.8438.75
Go Pro /wp-admin/admin.php?page=wp-ulike-go-pro3.8637.66
Post Likes Logs /wp-admin/admin.php?page=wp-ulike-posts-logs3.8435.78
Comment Likes Logs /wp-admin/admin.php?page=wp-ulike-comments-logs3.8439.93

Server storage [IO: ▲5.66MB] [DB: ▲0.08MB] Passed 3 tests

Filesystem and database footprint
No storage issues were detected
Filesystem: 332 new files
Database: 5 new tables, 11 new options
New tables
wp_ulike_activities
wp_ulike_forums
wp_ulike
wp_ulike_comments
wp_ulike_meta
New WordPress options
theysaidso_admin_options
db_upgraded
wp_ulike_dbVersion
wp_ulike_customize
wp_ulike_settings
can_compress_scripts
widget_wp_ulike
widget_theysaidso_widget
wp_ulike_use_inline_custom_css
widget_recent-comments
...

Browser metrics Passed 4 tests

This is an overview of browser requirements for WP ULike - Most Advanced WordPress Marketing Toolkit
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,007 ▲24613.47 ▼1.138.42 ▲6.8342.04 ▼1.70
Dashboard /wp-admin2,325 ▲1455.51 ▼0.1386.48 ▼8.2536.01 ▼5.75
Posts /wp-admin/edit.php2,233 ▲1332.02 ▼0.0035.66 ▼3.1931.24 ▼3.92
Add New Post /wp-admin/post-new.php1,573 ▲4523.17 ▲0.02662.45 ▼5.9361.80 ▲9.11
Media Library /wp-admin/upload.php1,530 ▲1364.21 ▼0.1797.52 ▼1.4039.89 ▼4.27
Statistics /wp-admin/admin.php?page=wp-ulike-statistics9771.6010.2252.75
Topics Likes Logs /wp-admin/admin.php?page=wp-ulike-topics-logs1,0181.6010.5732.72
Activity Likes Logs /wp-admin/admin.php?page=wp-ulike-activities-logs1,0181.609.0731.95
About /wp-admin/admin.php?page=wp-ulike-about1,2472.3629.3459.88
Go Pro /wp-admin/admin.php?page=wp-ulike-go-pro2,6772.2427.8446.15
Developer Tools /wp-admin/admin.php?page=wp-ulike-settings#tab=developer-tools3,7726.0691.99129.41
Translations /wp-admin/admin.php?page=wp-ulike-settings#tab=translations3,5045.0359.7190.82
Post Likes Logs /wp-admin/admin.php?page=wp-ulike-posts-logs1,0181.428.7228.71
Configuration /wp-admin/admin.php?page=wp-ulike-settings#tab=configuration3,6165.4775.7487.50
Comment Likes Logs /wp-admin/admin.php?page=wp-ulike-comments-logs1,0181.608.6828.39

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
  • The uninstall procedure failed, leaving 5 tables in the database
    • wp_ulike_forums
    • wp_ulike_activities
    • wp_ulike_comments
    • wp_ulike
    • wp_ulike_meta
  • Zombie WordPress options detected upon uninstall: 11 options
    • widget_recent-comments
    • wp_ulike_dbVersion
    • wp_ulike_settings
    • widget_wp_ulike
    • can_compress_scripts
    • wp_ulike_customize
    • widget_recent-posts
    • db_upgraded
    • theysaidso_admin_options
    • wp_ulike_use_inline_custom_css
    • ...

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)
Everything seems fine, however this is by no means an exhaustive test

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
Almost there! Just fix the following items
  • 17× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
    • > /wp-content/plugins/wp-ulike/includes/functions/meta.php
    • > /wp-content/plugins/wp-ulike/includes/index.php
    • > /wp-content/plugins/wp-ulike/includes/functions/utilities.php
    • > /wp-content/plugins/wp-ulike/includes/functions/general.php
    • > /wp-content/plugins/wp-ulike/admin/admin-functions.php
    • > /wp-content/plugins/wp-ulike/admin/admin-ajax.php
    • > /wp-content/plugins/wp-ulike/includes/functions/templates.php
    • > /wp-content/plugins/wp-ulike/includes/public/index.php
    • > /wp-content/plugins/wp-ulike/admin/index.php
    • > /wp-content/plugins/wp-ulike/includes/hooks/frontend-ajax.php
  • 10× PHP files trigger server-side errors or warnings when accessed directly:
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/wp-ulike/vendor/vectorface/whip/tests/WhipTest.php:36
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\MessageInterface' not found in wp-content/plugins/wp-ulike/vendor/psr/http-message/src/ResponseInterface.php:20
    • > PHP Fatal error
      Uncaught Error: Interface 'Vectorface\\Whip\\IpRange\\IpRange' not found in wp-content/plugins/wp-ulike/vendor/vectorface/whip/src/IpRange/Ipv6Range.php:34
    • > PHP Fatal error
      Uncaught Error: Interface 'Vectorface\\Whip\\Request\\RequestAdapter' not found in wp-content/plugins/wp-ulike/vendor/vectorface/whip/src/Request/SuperglobalRequestAdapter.php:32
    • > PHP Fatal error
      require_once(): Failed opening required 'wp-content/plugins/wp-ulike/vendor/vectorface/whip/tests/../vendor/autoload.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-ulike/vendor/vectorface/whip/tests/bootstrap.php on line 3
    • > PHP Fatal error
      Uncaught Error: Interface 'Vectorface\\Whip\\Request\\RequestAdapter' not found in wp-content/plugins/wp-ulike/vendor/vectorface/whip/src/Request/Psr7RequestAdapter.php:32
    • > PHP Fatal error
      Uncaught Error: Interface 'Vectorface\\Whip\\IpRange\\IpRange' not found in wp-content/plugins/wp-ulike/vendor/vectorface/whip/src/IpRange/Ipv4Range.php:34
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\RequestInterface' not found in wp-content/plugins/wp-ulike/vendor/psr/http-message/src/ServerRequestInterface.php:43
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\MessageInterface' not found in wp-content/plugins/wp-ulike/vendor/psr/http-message/src/RequestInterface.php:24
    • > PHP Warning
      require_once(wp-content/plugins/wp-ulike/vendor/vectorface/whip/tests/../vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/wp-ulike/vendor/vectorface/whip/tests/bootstrap.php on line 3

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
No browser errors were detected

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Please fix the following attributes:
  • Tags: You are using too many tags: 12 tag instead of maximum 10
You can take inspiration from this readme.txt

wp-ulike/wp-ulike.php 92% from 13 tests

Analyzing the main PHP file in "WP ULike - Most Advanced WordPress Marketing Toolkit" version 4.6.9
You should first fix the following items:
  • Description: The description should be shorter than 140 characters (currently 261 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Good job! No executable or dangerous file extensions detected65,884 lines of code in 257 files:
LanguageFilesBlank linesComment linesLines of code
PHP1464,3096,35518,965
JavaScript112,5722,21516,854
PO File307,67710,75616,408
Sass1697035,674
CSS84665555,608
SVG43062,207
JSON100124
Markdown112024
XML11020

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity
Average complexity per logical line of code0.56
Average class complexity21.88
▷ Minimum class complexity1.00
▷ Maximum class complexity148.00
Average method complexity4.70
▷ Minimum method complexity1.00
▷ Maximum method complexity57.00
Code structure
Namespaces7
Interfaces9
Traits0
Classes100
▷ Abstract classes33.00%
▷ Concrete classes9797.00%
▷ Final classes22.06%
Methods690
▷ Static methods11716.96%
▷ Public methods60387.39%
▷ Protected methods284.06%
▷ Private methods598.55%
Functions185
▷ Named functions17996.76%
▷ Anonymous functions63.24%
Constants26
▷ Global constants1661.54%
▷ Class constants1038.46%
▷ Public constants10100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
23 PNG files occupy 0.86MB with 0.41MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/img/icons/remove-heart-hover.png1.34KB0.62KB▼ 54.14%
assets/img/icons/remove-heart.png1.32KB0.62KB▼ 53.22%
assets/img/icons/add-heart.png1.26KB0.40KB▼ 68.09%
assets/img/wp-ulike-banner.png104.24KB39.07KB▼ 62.52%
assets/img/custom-fileds-notifications.png6.39KB6.38KB0.14%