Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▼0.86MB] [CPU: ▼41.57ms] Passed 4 tests
Server-side resources used by WP Mobile Redirect
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.11 ▼0.35 | 14.25 ▼23.99 |
Dashboard /wp-admin | 3.15 ▼0.15 | 17.88 ▼28.43 |
Posts /wp-admin/edit.php | 3.15 ▼0.20 | 16.63 ▼32.93 |
Add New Post /wp-admin/post-new.php | 3.15 ▼2.73 | 19.41 ▼80.92 |
Media Library /wp-admin/upload.php | 3.15 ▼0.08 | 16.69 ▼13.36 |
WP Mobile Redirect /wp-admin/options-general.php?page=mobile-redirect-plus-lite | 3.15 | 17.05 |
Server storage [IO: ▲0.32MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 11 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
db_upgraded |
can_compress_scripts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
Checking browser requirements for WP Mobile Redirect
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,804 ▲58 | 13.43 ▼1.21 | 1.61 ▼0.12 | 39.03 ▼6.20 |
Dashboard /wp-admin | 2,213 ▲22 | 4.86 ▼1.04 | 99.31 ▼0.19 | 40.07 ▼0.46 |
Posts /wp-admin/edit.php | 2,093 ▲1 | 1.99 ▼0.01 | 36.11 ▼5.00 | 31.36 ▼4.59 |
Add New Post /wp-admin/post-new.php | 1,536 ▲3 | 23.10 ▼0.21 | 640.35 ▼36.66 | 48.59 ▼10.07 |
Media Library /wp-admin/upload.php | 1,386 ▲4 | 4.18 ▼0.07 | 96.38 ▼1.49 | 43.09 ▼1.13 |
WP Mobile Redirect /wp-admin/options-general.php?page=mobile-redirect-plus-lite | 860 | 2.03 | 24.12 | 31.73 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 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 plugin did not uninstall gracefully
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/mobi.php+36
Undefined index: specific_page
- This plugin does not fully uninstall, leaving 6 options in the database
- theysaidso_admin_options
- widget_recent-posts
- widget_theysaidso_widget
- db_upgraded
- can_compress_scripts
- widget_recent-comments
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
These server-side errors were triggered
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+72
Undefined index: specific_page
- 4 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+71
Undefined index: redirect_page
- 3 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+42
Undefined index: redirect
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+47
Undefined index: link
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Warning in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+57
_() expects exactly 1 parameter, 2 given
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=mobile-redirect-plus-lite
- > Notice in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php+55
Undefined index: redirect_tab
SRP 50% 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
- 2× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mobile-redirect-plus-lite/includes/settings.php:2
- > PHP Fatal error
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 87% from 29 tests
readme.txt 88% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
These attributes need your attention:
- Screenshots: Screenshot #1 (Mobile Redirect Plus Lite Options) image not found
- Plugin Name: Please specify the plugin name on the first line (
=== mobile-redirect-plus-lite ===
)
mobile-redirect-plus-lite/mobi.php 85% from 13 tests
The main file in "WP Mobile Redirect" v. 2.6 serves as a complement to information provided in readme.txt and as the entry point to the plugin
You should first fix the following items:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("mobile-redirect-plus-lite.php" instead of "mobi.php")
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 243 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 plugin836 lines of code in 5 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3 | 173 | 666 | 797 |
CSS | 1 | 0 | 0 | 32 |
JavaScript | 1 | 0 | 0 | 7 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.70 |
Average class complexity | 134.00 |
▷ Minimum class complexity | 134.00 |
▷ Maximum class complexity | 134.00 |
Average method complexity | 4.69 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 1 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 1 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 36 | |
▷ Static methods | 9 | 25.00% |
▷ Public methods | 33 | 91.67% |
▷ Protected methods | 2 | 5.56% |
▷ Private methods | 1 | 2.78% |
Functions | 11 | |
▷ Named functions | 11 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 9 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 9 | 100.00% |
▷ Public constants | 9 | 100.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
2 PNG files occupy 0.07MB with 0.03MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-1.png | 18.49KB | 12.60KB | ▼ 31.84% |
pro.png | 51.25KB | 24.20KB | ▼ 52.79% |