78% virusdie

Code Review | Virusdie - One-click website security

WordPress plugin Virusdie - One-click website security scored78%from 54 tests.

About plugin

  • Plugin page: virusdie
  • Plugin version: 1.1.2
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-6.2
  • WordPress version: 6.3.1
  • First release: Nov 7, 2021
  • Latest release: Oct 26, 2023
  • Number of updates: 49
  • Update frequency: every 14.7 days
  • Top authors: virusdie (100%)

Code review

54 tests

User reviews

5 reviews

Install metrics

2,000+ active /15,171 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully

Server metrics [RAM: ▲0.35MB] [CPU: ▼2.22ms] Passed 4 tests

Analyzing server-side resources used by Virusdie - One-click website security
This plugin has minimal impact on server resources
PageMemory (MB)CPU Time (ms)
Home /3.85 ▲0.3937.74 ▲1.23
Dashboard /wp-admin3.69 ▲0.3847.16 ▲1.40
Posts /wp-admin/edit.php3.74 ▲0.3846.11 ▼4.55
Add New Post /wp-admin/post-new.php6.21 ▲0.3280.61 ▼6.97
Media Library /wp-admin/upload.php3.55 ▲0.3236.05 ▲1.58

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

A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 65 new files
Database: no new tables, 6 new options
New WordPress options
widget_recent-comments
theysaidso_admin_options
widget_theysaidso_widget
widget_recent-posts
can_compress_scripts
db_upgraded

Browser metrics Passed 4 tests

An overview of browser requirements for Virusdie - One-click website security
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,800 ▲3914.40 ▲0.051.64 ▲0.1442.00 ▼1.00
Dashboard /wp-admin2,209 ▲295.60 ▼0.0280.76 ▼6.2772.76 ▲30.13
Posts /wp-admin/edit.php2,114 ▲142.03 ▼0.0034.83 ▼1.8831.08 ▼6.33
Add New Post /wp-admin/post-new.php1,559 ▲1818.16 ▼4.77649.33 ▼17.8558.31 ▲3.45
Media Library /wp-admin/upload.php1,414 ▲174.12 ▼0.0497.35 ▼5.2172.55 ▲28.97

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
  • Zombie WordPress options detected upon uninstall: 6 options
    • widget_recent-comments
    • theysaidso_admin_options
    • widget_theysaidso_widget
    • can_compress_scripts
    • widget_recent-posts
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not 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
The following issues need your attention
  • 22× PHP files output text when accessed directly (only 10 are shown):
    • > /wp-content/plugins/virusdie/inc/tools/class-virusdie-messages.php
    • > /wp-content/plugins/virusdie/views/reg-error.php
    • > /wp-content/plugins/virusdie/views/premium.php
    • > /wp-content/plugins/virusdie/views/error.php
    • > /wp-content/plugins/virusdie/inc/tools/class-virusdie-user.php
    • > /wp-content/plugins/virusdie/views/scan-start.php
    • > /wp-content/plugins/virusdie/views/free.php
    • > /wp-content/plugins/virusdie/inc/tools/class-virusdie-api.php
    • > /wp-content/plugins/virusdie/views/php-error.php
    • > /wp-content/plugins/virusdie/inc/tools/class-virusdie-geo.php
  • 3× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Warning
      require_once(ABSPATHwp-admin/includes/plugin.php): failed to open stream: No such file or directory in wp-content/plugins/virusdie/virusdie.php on line 20
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/plugin.php' (include_path='.:/usr/share/php') in wp-content/plugins/virusdie/virusdie.php on line 20
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/virusdie/virusdie.php on line 20

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser issues were found

Optimizations

Plugin configuration 97% 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
Attributes that need to be fixed:
  • Tags: Please delete some tags, you are using 12 tag instead of maximum 10
You can take inspiration from this readme.txt

virusdie/virusdie.php Passed 13 tests

Analyzing the main PHP file in "Virusdie - One-click website security" version 1.1.2
57 characters long description:
One-Click Website security with Virusdie Wordpress Plugin

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
There were no executable files found in this plugin11,863 lines of code in 48 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript179001,0695,719
CSS249833,839
PHP232413862,252
SVG60053

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.43
Average class complexity33.22
▷ Minimum class complexity6.00
▷ Maximum class complexity63.00
Average method complexity3.10
▷ Minimum method complexity1.00
▷ Maximum method complexity31.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes9
▷ Abstract classes00.00%
▷ Concrete classes9100.00%
▷ Final classes00.00%
Methods138
▷ Static methods6446.38%
▷ Public methods9770.29%
▷ Protected methods32.17%
▷ Private methods3827.54%
Functions0
▷ Named functions00.00%
▷ Anonymous functions00.00%
Constants18
▷ Global constants18100.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
11 PNG files occupy 0.10MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/img/icons/icon-256.png9.04KB5.12KB▼ 43.35%
assets/img/icons/favicons.png0.52KB0.42KB▼ 18.87%
assets/img/slides/slide_2.png25.58KB26.70KB0.00%
assets/img/slides/slide_7.png5.97KB6.86KB0.00%
assets/img/icons/avatar.png1.01KB0.57KB▼ 44.06%