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: ▲1.51MB] [CPU: ▲5.33ms] Passed 4 tests
This is a short check of server-side resources used by Texteller
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.84 ▲1.38 | 50.94 ▲3.77 |
Dashboard /wp-admin | 4.89 ▲1.59 | 62.27 ▲8.34 |
Posts /wp-admin/edit.php | 4.94 ▲1.59 | 62.71 ▲13.81 |
Add New Post /wp-admin/post-new.php | 7.44 ▲1.55 | 98.77 ▼4.61 |
Media Library /wp-admin/upload.php | 4.75 ▲1.52 | 55.12 ▲16.80 |
Member Groups /wp-admin/edit-tags.php?taxonomy=member_group | 4.75 | 46.78 |
Send Message /wp-admin/admin.php?page=texteller | 4.88 | 44.12 |
Messages /wp-admin/admin.php?page=tlr-messages | 5.63 | 58.10 |
Members /wp-admin/admin.php?page=tlr-members | 5.17 | 55.04 |
Tools /wp-admin/admin.php?page=tlr-tools | 4.82 | 48.72 |
Add new Member /wp-admin/admin.php?page=tlr_edit_member | 5.10 | 53.27 |
Options /wp-admin/admin.php?page=tlr-options | 5.33 | 53.65 |
Server storage [IO: ▲29.17MB] [DB: ▲0.00MB] 67% from 3 tests
A short overview of filesystem and database impact
It is recommended to fix the following issues
- Total filesystem usage should be limited to 25MB (currently using 29.17MB)
Filesystem: 3,955 new files
Database: 2 new tables, 9 new options
New tables |
---|
wp_tlr_members |
wp_tlr_messages |
New WordPress options |
---|
widget_recent-comments |
db_upgraded |
widget_theysaidso_widget |
texteller_db_version |
texteller_version |
theysaidso_admin_options |
widget_tlr_newsletter_form |
widget_recent-posts |
can_compress_scripts |
Browser metrics Passed 4 tests
Texteller: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,983 ▲197 | 14.29 ▼0.27 | 2.08 ▼0.50 | 39.63 ▼14.19 |
Dashboard /wp-admin | 2,318 ▲141 | 5.57 ▼0.06 | 89.25 ▼8.57 | 75.94 ▲37.17 |
Posts /wp-admin/edit.php | 2,238 ▲134 | 2.00 ▲0.03 | 36.65 ▼2.82 | 32.50 ▼0.63 |
Add New Post /wp-admin/post-new.php | 1,592 ▲64 | 23.15 ▼0.01 | 680.16 ▲25.59 | 47.48 ▼6.96 |
Media Library /wp-admin/upload.php | 1,542 ▲145 | 4.24 ▲0.03 | 105.23 ▲4.81 | 70.16 ▲27.50 |
Member Groups /wp-admin/edit-tags.php?taxonomy=member_group | 1,426 | 2.30 | 29.88 | 31.31 |
Send Message /wp-admin/admin.php?page=texteller | 3,330 | 3.49 | 58.93 | 33.47 |
Messages /wp-admin/admin.php?page=tlr-messages | 1,469 | 2.17 | 39.33 | 30.23 |
Members /wp-admin/admin.php?page=tlr-members | 1,342 | 2.38 | 37.12 | 32.42 |
Tools /wp-admin/admin.php?page=tlr-tools | 1,132 | 2.16 | 33.35 | 32.42 |
Add new Member /wp-admin/admin.php?page=tlr_edit_member | 3,118 | 3.73 | 81.08 | 66.89 |
Options /wp-admin/admin.php?page=tlr-options | 1,362 | 2.46 | 53.24 | 114.83 |
Uninstaller [IO: ▲0.01MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
- Zombie tables were found after uninstall: 2 tables
- wp_tlr_messages
- wp_tlr_members
- Zombie WordPress options detected upon uninstall: 9 options
- widget_theysaidso_widget
- texteller_db_version
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-posts
- widget_recent-comments
- widget_tlr_newsletter_form
- texteller_version
- db_upgraded
Smoke tests 75% 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 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
Please fix the following items
- 2174× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Conversations/V1/Service/Conversation/WebhookPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\ListResource' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Serverless/V1/Service/Environment/LogList.php:22
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Options' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Conversations/V1/CredentialOptions.php:57
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Messaging/V1/Service/ShortCodeContext.php:20
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/NewSigningKeyPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Preview/DeployedDevices/Fleet/KeyContext.php:21
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/Sip/Domain/AuthTypes/AuthTypeCalls/AuthCallsCredentialListMappingInstance.php:25
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Conversations/V1/AddressConfigurationPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/Sip/Domain/AuthTypes/AuthTypeRegistrationsPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceResource' not found in wp-content/plugins/texteller/vendor/twilio/sdk/src/Twilio/Rest/IpMessaging/V1/Service/Channel/InviteInstance.php:30
- > PHP Fatal error
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 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that need to be fixed:
- Tags: Please reduce the number of tags, currently 12 tag instead of maximum 10
texteller/texteller.php 92% from 13 tests
The principal PHP file in "Texteller" v. 1.3.0 is loaded by WordPress automatically on each request
Please take the time to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 142 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
No dangerous file extensions were detected724,861 lines of code in 3,763 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3,655 | 36,612 | 145,311 | 716,695 |
JavaScript | 75 | 361 | 943 | 4,584 |
CSS | 11 | 237 | 49 | 2,243 |
JSON | 6 | 1 | 0 | 582 |
Markdown | 7 | 153 | 0 | 392 |
YAML | 4 | 19 | 2 | 205 |
SVG | 2 | 145 | 3 | 110 |
XML | 2 | 0 | 0 | 42 |
Dockerfile | 1 | 3 | 0 | 8 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.17 |
Average class complexity | 3.36 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 368.00 |
Average method complexity | 1.41 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 243 | |
Interfaces | 10 | |
Traits | 3 | |
Classes | 2,832 | |
▷ Abstract classes | 315 | 11.12% |
▷ Concrete classes | 2,517 | 88.88% |
▷ Final classes | 15 | 0.60% |
Methods | 16,387 | |
▷ Static methods | 1,026 | 6.26% |
▷ Public methods | 14,587 | 89.02% |
▷ Protected methods | 1,645 | 10.04% |
▷ Private methods | 155 | 0.95% |
Functions | 254 | |
▷ Named functions | 113 | 44.49% |
▷ Anonymous functions | 141 | 55.51% |
Constants | 159 | |
▷ Global constants | 19 | 11.95% |
▷ Class constants | 140 | 88.05% |
▷ Public constants | 139 | 99.29% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
15 PNG files occupy 0.27MB with 0.05MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/logo2.png | 4.38KB | 2.34KB | ▼ 46.54% |
assets/images/tlr_user_groups_hover.png | 1.57KB | 0.93KB | ▼ 40.75% |
assets/images/tlr_email.png | 0.53KB | 0.80KB | 0.00% |
assets/images/tlr_member.png | 0.71KB | 0.80KB | 0.00% |
assets/images/tlr_member_group.png | 0.72KB | 0.94KB | 0.00% |