10% all-in-one-redirection

Code Review | All In One Redirection

WordPress plugin All In One Redirection scored10%from 54 tests.

About plugin

  • Plugin page: all-in-one-redire...
  • Plugin version: 2.2.0
  • PHP version: 7.4.16
  • WordPress compatibility: 3.5-6.2.2
  • WordPress version: 6.3.1
  • First release: Jul 22, 2017
  • Latest release: Jun 12, 2023
  • Number of updates: 19
  • Update frequency: every 113.4 days
  • Top authors: vsourz1td (100%)

Code review

54 tests

User reviews

11 reviews

Install metrics

5,000+ active /41,981 total downloads

Benchmarks

Plugin footprint 23% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Please fix the following installer errors
  • This plugin did not install gracefully
    • > Notice in wp-content/plugins/all-in-one-redirection/includes/class-all-in-one-redirection.php+115
    Trying to get property 'host' of non-object

Server metrics [RAM: ▼0.79MB] [CPU: ▼33.50ms] Passed 4 tests

Analyzing server-side resources used by All In One Redirection
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.01 ▼0.4616.45 ▼25.68
Dashboard /wp-admin3.28 ▼0.0326.41 ▼23.30
Posts /wp-admin/edit.php3.28 ▼0.0827.36 ▼22.42
Add New Post /wp-admin/post-new.php3.28 ▼2.6125.04 ▼62.58
Media Library /wp-admin/upload.php3.28 ▲0.0526.77 ▼11.10
404 Pages List /wp-admin/admin.php?page=all-in-one-redirection-404-pages-list3.2829.20
Redirection Setting /wp-admin/admin.php?page=all-in-one-redirection-setting3.2825.58
Redirection /wp-admin/admin.php?page=all-in-one-redirection3.2827.72
Tool /wp-admin/admin.php?page=all-in-one-redirection-tool3.2828.66

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

Filesystem and database footprint
This plugin installed successfully
Filesystem: 23 new files
Database: 1 new table, 7 new options
New tables
wp_all_in_one_redirection
New WordPress options
theysaidso_admin_options
all-in-one-redirection-setting
widget_recent-posts
can_compress_scripts
widget_recent-comments
widget_theysaidso_widget
db_upgraded

Browser metrics Passed 4 tests

All In One Redirection: an overview of browser usage
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,824 ▲6314.26 ▼0.092.05 ▼0.0642.77 ▼2.62
Dashboard /wp-admin2,224 ▲475.63 ▼0.0491.81 ▲1.8640.44 ▼4.77
Posts /wp-admin/edit.php2,138 ▲352.03 ▲0.0043.19 ▲7.3736.23 ▼2.36
Add New Post /wp-admin/post-new.php1,555 ▲2923.09 ▲0.05689.06 ▼5.0662.92 ▲12.89
Media Library /wp-admin/upload.php1,432 ▲324.18 ▼0.0198.83 ▼4.3942.02 ▼3.98
404 Pages List /wp-admin/admin.php?page=all-in-one-redirection-404-pages-list8142.1625.6328.43
Redirection Setting /wp-admin/admin.php?page=all-in-one-redirection-setting8902.0524.0129.48
Redirection /wp-admin/admin.php?page=all-in-one-redirection9672.0023.3033.00
Tool /wp-admin/admin.php?page=all-in-one-redirection-tool8242.0125.4332.83

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
  • This plugin did not uninstall without warnings or errors
    • > User notice in wp-includes/functions.php+5905
    Function add_submenu_page was called incorrectly. The seventh parameter passed to add_submenu_page() should be numeric representing menu position. Please see Debugging in WordPress for more information. (This message was added in version 5.3.0.)
  • The plugin did not uninstall successfully, leaving 1 table in the database
    • wp_all_in_one_redirection
  • Zombie WordPress options detected upon uninstall: 7 options
    • theysaidso_admin_options
    • widget_recent-comments
    • widget_recent-posts
    • widget_theysaidso_widget
    • db_upgraded
    • can_compress_scripts
    • all-in-one-redirection-setting

Smoke tests 75% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These server-side errors were triggered
  • 12 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=all-in-one-redirection-tool
    • > User notice in wp-includes/functions.php+5905
    Function add_submenu_page was called incorrectly. The seventh parameter passed to add_submenu_page() should be numeric representing menu position. Please see Debugging in WordPress for more information. (This message was added in version 5.3.0.)
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=all-in-one-redirection
    • > User notice in wp-includes/functions.php+5905
    Function wpdb::prepare was called incorrectly. The query argument of wpdb::prepare() must have a placeholder. Please see Debugging in WordPress for more information. (This message was added in version 3.9.0.)

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

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 96% from 29 tests

readme.txt Passed 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
10 plugin tags: seo, all in one redirection, detect 404 page, 301 redirection, redirection...

all-in-one-redirection/all-in-one-redirection.php 92% from 13 tests

The primary PHP file in "All In One Redirection" version 2.2.0 is used by WordPress to initiate all plugin functionality
The following require your attention:
  • Description: Please keep the plugin description shorter than 140 characters (currently 199 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Everything looks great! No dangerous files found in this plugin2,176 lines of code in 13 files:
LanguageFilesBlank linesComment linesLines of code
PHP113816881,651
CSS105420
JavaScript11527105

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity issues
Cyclomatic complexity
Average complexity per logical line of code0.39
Average class complexity39.75
▷ Minimum class complexity1.00
▷ Maximum class complexity199.00
Average method complexity8.21
▷ Minimum method complexity1.00
▷ Maximum method complexity93.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes8
▷ Abstract classes00.00%
▷ Concrete classes8100.00%
▷ Final classes00.00%
Methods43
▷ Static methods24.65%
▷ Public methods3990.70%
▷ Protected methods00.00%
▷ Private methods49.30%
Functions3
▷ Named functions3100.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
2 PNG files occupy 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant
FileSize - originalSize - compressedSavings
admin/css/add-icon.png1.30KB0.46KB▼ 64.49%
admin/css/setting-icon.png2.34KB0.97KB▼ 58.42%