Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully
Server metrics [RAM: ▲5.50MB] [CPU: ▲22.39ms] 75% from 4 tests
Analyzing server-side resources used by Bulk Page Generator - LPagery
It is recommended to improve the following
- Extra RAM: Extra memory usage must be kept under 5MB (currently 5.50MB on /wp-admin/admin.php?page=freemius)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.29 ▲5.83 | 65.12 ▲22.80 |
Dashboard /wp-admin | 9.31 ▲6.01 | 78.70 ▲23.80 |
Posts /wp-admin/edit.php | 9.31 ▲5.95 | 78.59 ▲26.19 |
Add New Post /wp-admin/post-new.php | 10.08 ▲4.19 | 113.59 ▲16.76 |
Media Library /wp-admin/upload.php | 9.31 ▲6.08 | 70.01 ▲35.59 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 9.31 | 66.89 |
Server storage [IO: ▲6.34MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
There were no storage issued detected upon installing this plugin
Filesystem: 243 new files
Database: no new tables, 9 new options
New WordPress options |
---|
widget_theysaidso_widget |
fs_accounts |
can_compress_scripts |
theysaidso_admin_options |
fs_debug_mode |
widget_recent-comments |
fs_active_plugins |
db_upgraded |
widget_recent-posts |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Bulk Page Generator - LPagery
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,943 ▲207 | 24.46 ▲10.13 | 1.79 ▲0.06 | 32.25 ▼11.89 |
Dashboard /wp-admin | 2,323 ▲143 | 13.31 ▲7.63 | 247.80 ▲158.30 | 45.35 ▲4.60 |
Posts /wp-admin/edit.php | 2,236 ▲136 | 12.39 ▲10.42 | 126.77 ▲88.59 | 39.12 ▲0.53 |
Add New Post /wp-admin/post-new.php | 1,603 ▲76 | 31.06 ▲7.90 | 820.37 ▲119.34 | 37.89 ▼17.69 |
Media Library /wp-admin/upload.php | 1,529 ▲129 | 14.90 ▲10.71 | 187.97 ▲79.63 | 44.60 ▼2.29 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 1,166 | 12.09 | 118.99 | 28.68 |
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
These items require your attention
- Uninstall procedure had uncaught errors
- > Notice in wp-content/plugins/lpagery/freemius/includes/class-freemius.php+8546
Undefined property: stdClass::$plugins
- Zombie WordPress options detected upon uninstall: 9 options
- can_compress_scripts
- fs_accounts
- db_upgraded
- fs_active_plugins
- widget_recent-posts
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-comments
- fs_debug_mode
Smoke tests 25% 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 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Almost there! Just fix the following items
- 2× PHP files output text when accessed directly:
- > /wp-content/plugins/lpagery/views/confirm_modal.php
- > /wp-content/plugins/lpagery/views/update_modal.php
- 13× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/lpagery/views/dashboard.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/lpagery/lpagery.php:11
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/lpagery/controller/PageCreator.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/lpagery/controller/InputParamProvider.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/lpagery/views/settings.php:23
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/lpagery/controller/CreatePostDelegate.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function lpagery_fs() in wp-content/plugins/lpagery/views/sidebar.php:15
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_enqueue_script() in wp-content/plugins/lpagery/includes/Enqueues.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/lpagery/views/history.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/lpagery/io/AjaxActions.php:3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following user-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=freemius
- > Javascript (severe) in unknown
/wp-admin/admin.php?page=freemius 0:0 Uncaught SyntaxError: Unexpected token '
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
5 plugin tags: page generator, bulk page, programmatic seo, bulk post creator, local seo
lpagery/lpagery.php Passed 13 tests
"Bulk Page Generator - LPagery" version 1.2.18's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
85 characters long description:
Create hundreds or even thousands of landingpages for local businesses, services etc.
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
No dangerous file extensions were detected70,548 lines of code in 190 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 146 | 8,546 | 17,508 | 36,218 |
JavaScript | 18 | 1,758 | 627 | 31,608 |
CSS | 22 | 495 | 60 | 2,703 |
XML | 1 | 3 | 0 | 16 |
SVG | 3 | 0 | 0 | 3 |
PHP code 50% from 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Class cyclomatic complexity has to be reduced to less than 1000 (currently 3,096)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.61 |
Average class complexity | 69.96 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,096.00 |
Average method complexity | 4.50 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 94.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 66 | |
▷ Abstract classes | 2 | 3.03% |
▷ Concrete classes | 64 | 96.97% |
▷ Final classes | 0 | 0.00% |
Methods | 1,353 | |
▷ Static methods | 275 | 20.33% |
▷ Public methods | 929 | 68.66% |
▷ Protected methods | 17 | 1.26% |
▷ Private methods | 407 | 30.08% |
Functions | 132 | |
▷ Named functions | 127 | 96.21% |
▷ Anonymous functions | 5 | 3.79% |
Constants | 145 | |
▷ Global constants | 98 | 67.59% |
▷ Class constants | 47 | 32.41% |
▷ Public constants | 47 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
9 PNG files occupy 0.37MB with 0.13MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
assets/img/screenshot-3.png | 99.56KB | 32.23KB | ▼ 67.63% |
assets/img/rocket-pro.png | 43.22KB | 42.25KB | ▼ 2.25% |
assets/img/LP_Logo_horizontal_2022_RZ.png | 27.52KB | 27.52KB | 0.00% |
freemius/assets/img/lpagery.png | 29.62KB | 13.69KB | ▼ 53.79% |