78% actus-motion

Code Review | ACTUS Motion

WordPress plugin ACTUS Motion scored 78% from 54 tests.

About plugin

  • Plugin page: actus-motion
  • Plugin version: 1.0.1
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-4.9.7
  • WordPress version: 5.8.1
  • First release: Jul 21, 2018
  • Latest release: Jul 23, 2018
  • Number of updates: 10
  • Update frequency: every 0.3 days
  • Top authors: actusanima (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active / 853 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully

Server metrics [RAM: ▼0.28MB] [CPU: ▼190.76ms] Passed 4 tests

An overview of server-side resources used by ACTUS Motion
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /2.87 ▲0.0428.26 ▲3.77
Dashboard /wp-admin3.13 ▲0.0735.41 ▼5.36
Posts /wp-admin/edit.php3.18 ▲0.0832.49 ▼1.82
Add New Post /wp-admin/post-new.php4.12 ▼1.3139.04 ▼751.41
Media Library /wp-admin/upload.php3.07 ▲0.0724.30 ▼4.46
ACTUS Motion /wp-admin/admin.php?page=actus-motion3.0421.91
ACTUS /wp-admin/admin.php?page=actus-plugins3.0423.69

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

A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 43 new files
Database: no new tables, 1 new option
New WordPress options
ACTUS_MTN_VERSION

Browser metrics Passed 4 tests

This is an overview of browser requirements for ACTUS Motion
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,896 ▲29515.92 ▲0.3110.41 ▲3.2373.71 ▼0.56
Dashboard /wp-admin2,970 ▲746.22 ▼0.07115.67 ▼17.74190.29 ▲20.56
Posts /wp-admin/edit.php2,780 ▲433.14 ▼0.1065.81 ▲2.22135.83 ▼2.17
Add New Post /wp-admin/post-new.php3,643 ▼6317.89 ▼0.78418.63 ▼19.36214.94 ▲53.29
Media Library /wp-admin/upload.php1,794 ▲425.57 ▲0.07127.24 ▼12.80202.66 ▲19.86
ACTUS Motion /wp-admin/admin.php?page=actus-motion1,2932.4154.39116.59
ACTUS /wp-admin/admin.php?page=actus-plugins1,1522.4155.12139.45

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
The following items require your attention
  • Zombie WordPress options were found after uninstall: 1 option
    • ACTUS_MTN_VERSION

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)
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
  • 1× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/actus-motion/includes/actus-plugins.php
  • 5× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/actus-motion/includes/actus-mtn-edit.php:155
    • > PHP Warning
      Use of undefined constant ACTUS_MTN_URL - assumed 'ACTUS_MTN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/actus-motion/includes/actus-plugins.php on line 7
    • > PHP Warning
      Use of undefined constant ACTUS_MTN_URL - assumed 'ACTUS_MTN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/actus-motion/includes/actus-plugins.php on line 19
    • > PHP Warning
      Use of undefined constant ACTUS_MTN_URL - assumed 'ACTUS_MTN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/actus-motion/includes/actus-plugins.php on line 29
    • > PHP Warning
      Use of undefined constant ACTUS_MTN_URL - assumed 'ACTUS_MTN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/actus-motion/includes/actus-plugins.php on line 24

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine on the user side

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% 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
Attributes that require attention:
  • Tags: There are too many tags (14 tag instead of maximum 10)
The official readme.txt might help

actus-motion/actus-motion.php Passed 13 tests

The principal PHP file in "ACTUS Motion" v. 1.0.1 is loaded by WordPress automatically on each request
28 characters long description:
Add motion to your elements.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin2,571 lines of code in 12 files:
LanguageFilesBlank linesComment linesLines of code
CSS2226411,241
JavaScript2171103773
PHP8177166557

PHP code Passed 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity issues
Cyclomatic complexity
Average complexity per logical line of code0.24
Average class complexity0.00
▷ Minimum class complexity0.00
▷ Maximum class complexity0.00
Average method complexity0.00
▷ Minimum method complexity0.00
▷ Maximum method complexity0.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes0
▷ Abstract classes00.00%
▷ Concrete classes00.00%
▷ Final classes00.00%
Methods0
▷ Static methods00.00%
▷ Public methods00.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions15
▷ Named functions15100.00%
▷ Anonymous functions00.00%
Constants4
▷ Global constants4100.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
23 PNG files occupy 0.43MB with 0.23MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
img/checkbox2.png2.49KB1.66KB▼ 33.20%
img/x.png3.66KB1.66KB▼ 54.50%
img/arrow.png6.43KB3.64KB▼ 43.32%
img/pattern01.png0.92KB0.10KB▼ 88.63%
img/banner-amtn.png80.17KB44.90KB▼ 44.00%