73% mwp-skype

Code Review | Wow Skype Buttons

WordPress plugin Wow Skype Buttons scored73%from 54 tests.

About plugin

  • Plugin page: mwp-skype
  • Plugin version: 4.0.3
  • PHP compatiblity: 5.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.2-6.4
  • WordPress version: 6.3.1
  • First release: Aug 17, 2016
  • Latest release: Oct 30, 2023
  • Number of updates: 46
  • Update frequency: every 57.2 days
  • Top authors: Wpcalc (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

800+ active /15,081 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully

Server metrics [RAM: ▲0.08MB] [CPU: ▼8.42ms] Passed 4 tests

An overview of server-side resources used by Wow Skype Buttons
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.56 ▲0.0938.01 ▼3.19
Dashboard /wp-admin3.40 ▲0.0545.01 ▼19.92
Posts /wp-admin/edit.php3.51 ▲0.1545.75 ▲6.13
Add New Post /wp-admin/post-new.php5.98 ▲0.0991.00 ▼8.95
Media Library /wp-admin/upload.php3.32 ▲0.0935.49 ▼1.62
Skype Buttons /wp-admin/admin.php?page=mwp-skype3.4133.27
Welcome /wp-admin/admin.php?page=wow-company3.2832.84

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

Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 93 new files
Database: 1 new table, 7 new options
New tables
wp_wow_skype_new
New WordPress options
widget_theysaidso_widget
widget_recent-posts
theysaidso_admin_options
can_compress_scripts
db_upgraded
wow_skype_new_updater_4.0
widget_recent-comments

Browser metrics Passed 4 tests

A check of browser resources used by Wow Skype Buttons
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,880 ▲11914.43 ▼0.132.10 ▲0.5038.44 ▼4.46
Dashboard /wp-admin2,255 ▲785.51 ▼0.1687.88 ▼11.9638.88 ▼3.65
Posts /wp-admin/edit.php2,166 ▲632.13 ▲0.1044.55 ▲1.3037.01 ▼2.50
Add New Post /wp-admin/post-new.php1,550 ▲2223.49 ▲0.22673.17 ▲18.8454.04 ▼0.53
Media Library /wp-admin/upload.php1,469 ▲754.23 ▼0.04105.44 ▲12.0242.74 ▲0.24
Skype Buttons /wp-admin/admin.php?page=mwp-skype1,1231.9535.8527.22
Welcome /wp-admin/admin.php?page=wow-company9252.0026.6737.73

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
It is recommended to fix the following
  • The plugin did not uninstall successfully, leaving 1 table in the database
    • wp_wow_skype_new
  • Zombie WordPress options were found after uninstall: 7 options
    • widget_recent-comments
    • theysaidso_admin_options
    • wow_skype_new_updater_4.0
    • widget_theysaidso_widget
    • widget_recent-posts
    • can_compress_scripts
    • db_upgraded

Smoke tests 75% 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)
Even though everything seems fine, this is not an exhaustive test

SRP 50% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following
  • 3× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Notice
      Undefined variable: title in wp-content/plugins/mwp-skype/admin/settings/settings/settings.php on line 12
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr__() in wp-content/plugins/mwp-skype/admin/settings/style/settings.php:12
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr__() in wp-content/plugins/mwp-skype/admin/settings/settings/settings.php:15

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test

Optimizations

Plugin configuration 90% 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
These attributes need your attention:
  • Screenshots: These screenshots do not have images: #1 (Add a skype button anywhere), #2 (Features), #3 (Pro version enables a lot more options), #4 (Pro version features), #5 (Use with Wow Modal Windows to create a fixed skype button)
  • Tags: Please reduce the number of tags, currently 13 tag instead of maximum 10
The official readme.txt is a good inspiration

mwp-skype/mwp-skype.php 92% from 13 tests

The main PHP script in "Wow Skype Buttons" version 4.0.3 is automatically included on every request by WordPress
It is important to fix the following:
  • Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Good job! No executable or dangerous file extensions detected10,483 lines of code in 47 files:
LanguageFilesBlank linesComment linesLines of code
CSS7284427,822
PHP343985462,189
JavaScript686166472

PHP code Passed 2 tests

A short review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity issues
Cyclomatic complexity
Average complexity per logical line of code0.37
Average class complexity11.40
▷ Minimum class complexity3.00
▷ Maximum class complexity25.00
Average method complexity1.98
▷ Minimum method complexity1.00
▷ Maximum method complexity9.00
Code structure
Namespaces1
Interfaces0
Traits0
Classes5
▷ Abstract classes00.00%
▷ Concrete classes5100.00%
▷ Final classes240.00%
Methods53
▷ Static methods1120.75%
▷ Public methods4788.68%
▷ Protected methods11.89%
▷ Private methods59.43%
Functions1
▷ Named functions1100.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
26 PNG files occupy 0.20MB with 0.14MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
public/assets/img/call.png1.11KB0.39KB▼ 64.90%
admin/assets/img/redirect.png3.16KB1.35KB▼ 57.07%
admin/assets/img/triggers.png4.68KB2.52KB▼ 46.01%
public/assets/img/userinfo.png2.97KB0.35KB▼ 88.12%
public/assets/img/chat.png2.97KB0.42KB▼ 86.01%