Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully
Server metrics [RAM: ▲0.46MB] [CPU: ▲0.32ms] Passed 4 tests
Server-side resources used by Cryptex | E-Mail Address Protection
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.93 ▲0.47 | 45.81 ▲2.62 |
Dashboard /wp-admin | 3.77 ▲0.47 | 55.92 ▲4.23 |
Posts /wp-admin/edit.php | 3.82 ▲0.46 | 52.66 ▲3.19 |
Add New Post /wp-admin/post-new.php | 6.35 ▲0.46 | 89.60 ▼8.74 |
Media Library /wp-admin/upload.php | 3.69 ▲0.46 | 41.43 ▲5.81 |
About /wp-admin/admin.php?page=cryptex-about | 3.60 | 36.86 |
Appearance /wp-admin/admin.php?page=cryptex-appearance | 3.63 | 40.56 |
Options /wp-admin/admin.php?page=cryptex-options | 3.66 | 38.07 |
Server storage [IO: ▲4.18MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 82 new files
Database: no new tables, 8 new options
New WordPress options |
---|
can_compress_scripts |
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
cryptex-version |
db_upgraded |
widget_theysaidso_widget |
cryptex-cache-hash |
Browser metrics Passed 4 tests
A check of browser resources used by Cryptex | E-Mail Address Protection
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,835 ▲64 | 13.57 ▼0.80 | 2.28 ▲0.27 | 42.85 ▲1.06 |
Dashboard /wp-admin | 2,234 ▲46 | 5.83 ▼0.08 | 99.63 ▼2.33 | 41.52 ▼7.91 |
Posts /wp-admin/edit.php | 2,120 ▲28 | 2.05 ▲0.01 | 36.17 ▼5.48 | 33.61 ▼5.34 |
Add New Post /wp-admin/post-new.php | 1,558 ▲25 | 23.55 ▲0.14 | 677.97 ▲1.91 | 59.70 ▲3.70 |
Media Library /wp-admin/upload.php | 1,419 ▲31 | 4.20 ▼0.08 | 97.99 ▼20.34 | 44.84 ▼5.23 |
About /wp-admin/admin.php?page=cryptex-about | 1,013 | 2.00 | 30.15 | 59.33 |
Appearance /wp-admin/admin.php?page=cryptex-appearance | 2,141 | 2.49 | 46.24 | 63.05 |
Options /wp-admin/admin.php?page=cryptex-options | 1,852 | 2.03 | 32.84 | 44.29 |
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 8 options in the database
- cryptex-cache-hash
- theysaidso_admin_options
- cryptex-version
- can_compress_scripts
- db_upgraded
- widget_recent-posts
- widget_recent-comments
- widget_theysaidso_widget
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Almost there! Just fix the following items
- 4× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Class 'Cryptex\\ClassicRenderer' not found in wp-content/plugins/cryptex/modules/cryptex/Hdpi5Renderer.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/cryptex/Cryptex.php:23
- > PHP Fatal error
Uncaught Error: Class 'Cryptex\\ClassicRenderer' not found in wp-content/plugins/cryptex/modules/cryptex/HdpiCssRenderer.php:6
- > PHP Fatal error
Uncaught Error: Class 'Cryptex\\skltn\\Plugin' not found in wp-content/plugins/cryptex/modules/cryptex/Cryptex.php:3
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser errors were detected
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
These attributes need your attention:
- Tags: Too many tags (27 tag instead of maximum 10); only the first 5 tags are used in your directory listing
cryptex/Cryptex.php 85% from 13 tests
Analyzing the main PHP file in "Cryptex | E-Mail Address Protection" version 7.1
Please take the time to fix the following:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 164 characters long)
- Main file name: It is recommended to name the main PHP file as the plugin slug ("cryptex.php" instead of "Cryptex.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
There were no executable files found in this plugin3,391 lines of code in 56 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 47 | 825 | 948 | 2,487 |
PO File | 1 | 127 | 138 | 406 |
CSS | 3 | 65 | 68 | 321 |
JavaScript | 3 | 46 | 78 | 152 |
HTML | 2 | 0 | 0 | 25 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 9.46 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 31.00 |
Average method complexity | 2.48 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 23.00 |
Code structure | ||
---|---|---|
Namespaces | 3 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 28 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 28 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 141 | |
▷ Static methods | 24 | 17.02% |
▷ Public methods | 127 | 90.07% |
▷ Protected methods | 7 | 4.96% |
▷ Private methods | 7 | 4.96% |
Functions | 17 | |
▷ Named functions | 1 | 5.88% |
▷ Anonymous functions | 16 | 94.12% |
Constants | 9 | |
▷ Global constants | 8 | 88.89% |
▷ Class constants | 1 | 11.11% |
▷ Public constants | 1 | 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
4 PNG files occupy 0.03MB with 0.02MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
resources/admin/offsets.png | 5.11KB | 1.58KB | ▼ 69.03% |
resources/admin/badge80.png | 9.45KB | 3.48KB | ▼ 63.15% |
resources/admin/badge40.png | 5.48KB | 1.90KB | ▼ 65.38% |
resources/admin/badge150.png | 13.50KB | 5.15KB | ▼ 61.85% |