Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully
Server metrics [RAM: ▲0.03MB] [CPU: ▼8.96ms] Passed 4 tests
Analyzing server-side resources used by Wptobe-memberships
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.49 ▲0.03 | 42.76 ▲0.81 |
Dashboard /wp-admin | 3.33 ▲0.03 | 49.93 ▼2.79 |
Posts /wp-admin/edit.php | 3.38 ▲0.03 | 51.56 ▼8.47 |
Add New Post /wp-admin/post-new.php | 5.91 ▲0.03 | 83.64 ▼24.08 |
Media Library /wp-admin/upload.php | 3.25 ▲0.02 | 35.78 ▼0.51 |
Server storage [IO: ▲9.89MB] [DB: ▲0.02MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 171 new files
Database: 7 new tables, 11 new options
New tables |
---|
wp_bwlmslevel_membership_levelmeta |
wp_bwlmslevel_membership_levels |
wp_bwlms_message_meta |
wp_bwlmslevel_memberships_pages |
wp_bwlmslevel_memberships_users |
wp_bwlmslevel_memberships_categories |
wp_bwlms_messages |
New WordPress options |
---|
can_compress_scripts |
bwlmsfields_dialogs |
bwlms_message_init_install |
widget_theysaidso_widget |
widget_recent-posts |
bwlmslevel_db_version |
widget_recent-comments |
bwlmsfields_fieldsopt |
db_upgraded |
bwlmsfields_settings |
... |
Browser metrics Passed 4 tests
Checking browser requirements for Wptobe-memberships
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,814 ▲53 | 14.38 ▲0.01 | 2.15 ▲0.35 | 44.81 ▲3.02 |
Dashboard /wp-admin | 2,192 ▲18 | 5.53 ▼0.06 | 97.93 ▲7.08 | 42.98 ▲0.10 |
Posts /wp-admin/edit.php | 2,097 ▼6 | 2.06 ▲0.04 | 37.44 ▼2.80 | 33.99 ▼2.19 |
Add New Post /wp-admin/post-new.php | 1,545 ▼9 | 23.21 ▲5.10 | 586.03 ▼61.53 | 54.47 ▼1.18 |
Media Library /wp-admin/upload.php | 1,400 ▼0 | 4.21 ▼0.07 | 96.45 ▼11.13 | 40.65 ▼5.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- This plugin does not fully uninstall, leaving 6 options in the database
- theysaidso_admin_options
- can_compress_scripts
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- widget_recent-posts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 0% from 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
Please take a closer look at the following
- 4× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/wptobe-memberships/captcha/securimage_play.php
- > /wp-content/plugins/wptobe-memberships/captcha/example_form.php
- > /wp-content/plugins/wptobe-memberships/uninstall.php
- > /wp-content/plugins/wptobe-memberships/captcha/securimage_show.php
- 45× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/wptobe-memberships/bwlms-message/bwlms-message.php on line 5
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/wptobe-memberships/bwlms-level/admin/memberslist-csv.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/wptobe-memberships/bwlms-level/admin/membershiplevels.php:3
- > PHP Fatal error
Uncaught Error: Class 'Securimage' not found in wp-content/plugins/wptobe-memberships/captcha/config.inc.php:69
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wptobe-memberships/bwlms-message/bwlms-message-admin-class.php:125
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wptobe-memberships/bwlms-message/bwlms-message-ui.php:731
- > PHP Fatal error
Uncaught Error: Class 'bwlmsCREDIT_Hooks_Module' not found in wp-content/plugins/wptobe-memberships/bwlms-credit/bwlmscredit-menu.php:2
- > PHP Warning
Use of undefined constant BWLMSMEM_DIR - assumed 'BWLMSMEM_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/wptobe-memberships/bwlms-fields/bwlms-fields-dialogs.php on line 2
- > PHP Warning
require_once(BWLMSMEM_DIR/bwlms-fields/forms.php): failed to open stream: No such file or directory in wp-content/plugins/wptobe-memberships/bwlms-fields/bwlms-fields-dialogs.php on line 2
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/wptobe-memberships/wptobe-memberships.php:13
- > PHP Notice
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
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
These attributes need to be fixed:
- Screenshots: These screenshots lack descriptions #1, #2, #3, #4, #5, #6, #7, #8, #9 in wptobe-memberships/assets to your readme.txt
wptobe-memberships/wptobe-memberships.php Passed 13 tests
The main PHP script in "Wptobe-memberships" version 1.2.68 is automatically included on every request by WordPress
25 characters long description:
WPTOBE Memberships 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 plugin26,912 lines of code in 90 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 61 | 4,605 | 2,855 | 16,050 |
JavaScript | 15 | 1,930 | 1,794 | 8,010 |
CSS | 11 | 190 | 49 | 2,595 |
Markdown | 1 | 69 | 0 | 175 |
HTML | 2 | 26 | 29 | 82 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.47 |
Average class complexity | 64.92 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 396.00 |
Average method complexity | 5.45 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 66.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 26 | |
▷ Abstract classes | 2 | 7.69% |
▷ Concrete classes | 24 | 92.31% |
▷ Final classes | 1 | 4.17% |
Methods | 369 | |
▷ Static methods | 15 | 4.07% |
▷ Public methods | 308 | 83.47% |
▷ Protected methods | 61 | 16.53% |
▷ Private methods | 0 | 0.00% |
Functions | 235 | |
▷ Named functions | 234 | 99.57% |
▷ Anonymous functions | 1 | 0.43% |
Constants | 63 | |
▷ Global constants | 17 | 26.98% |
▷ Class constants | 46 | 73.02% |
▷ Public constants | 46 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
8 PNG files occupy 0.16MB with 0.07MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/nopicture640.png | 85.44KB | 29.72KB | ▼ 65.21% |
captcha/images/audio_icon.png | 1.64KB | 2.04KB | 0.00% |
captcha/backgrounds/bg6.png | 41.88KB | 29.04KB | ▼ 30.64% |
captcha/images/refresh.png | 4.72KB | 2.44KB | ▼ 48.36% |
images/visa.png | 7.33KB | 2.34KB | ▼ 68.11% |