Benchmarks
Plugin footprint Passed 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.20MB] [CPU: ▼292.51ms] Passed 4 tests
Server-side resources used by 12 Step Meeting PDF
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.65 ▲0.13 | 56.08 ▲7.06 |
Dashboard /wp-admin | 3.67 ▲0.26 | 33.33 ▼1.96 |
Posts /wp-admin/edit.php | 3.89 ▲0.25 | 40.00 ▲2.44 |
Add New Post /wp-admin/post-new.php | 7.14 ▲0.17 | 96.44 ▼1,168.28 |
Media Library /wp-admin/upload.php | 3.55 ▲0.25 | 25.97 ▼2.24 |
PDF Generator /wp-admin/edit.php?post_type=tsml_meeting&page=generate_pdf | 3.31 | 20.23 |
Server storage [IO: ▲3.35MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 64 new files
Database: no new tables, no new options
Browser metrics Passed 4 tests
An overview of browser requirements for 12 Step Meeting PDF
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,763 ▲9 | 15.87 ▲0.18 | 6.27 ▼0.90 | 2.34 ▼0.25 |
Dashboard /wp-admin | 2,888 ▲27 | 6.10 ▼0.07 | 117.39 ▼20.68 | 150.28 ▼10.97 |
Posts /wp-admin/edit.php | 2,688 ▼0 | 3.23 ▼0.01 | 60.41 ▼3.47 | 138.05 ▼6.13 |
Add New Post /wp-admin/post-new.php | 1,690 ▲29 | 20.53 ▲4.09 | 439.90 ▲14.47 | 158.30 ▲1.96 |
Media Library /wp-admin/upload.php | 1,695 ▼3 | 5.49 ▼0.02 | 156.58 ▲15.71 | 187.29 ▼7.81 |
PDF Generator /wp-admin/edit.php?post_type=tsml_meeting&page=generate_pdf | 28 | 0.94 | 0.03 | 16.55 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
Uninstaller ran successfully
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested
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
Please fix the following
- 2× PHP files output text when accessed directly:
- > /wp-content/plugins/12-step-meeting-pdf-generator/test.php
- > /wp-content/plugins/12-step-meeting-pdf-generator/vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php
- 4× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/12-step-meeting-pdf-generator/12-step-meeting-pdf.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/12-step-meeting-pdf-generator/pdf.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/12-step-meeting-pdf-generator/includes/admin-menu.php:3
- > PHP Fatal error
Uncaught Error: Class 'TCPDF' not found in wp-content/plugins/12-step-meeting-pdf-generator/tabletcpdf.php:3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There are user-side issues you should fix
- > GET request to /wp-admin/edit.php?post_type=tsml_meeting&page=generate_pdf
- > Network (severe)
wp-admin/edit.php?post_type=tsml_meeting&page=generate_pdf - Failed to load resource: the server responded with a status of 403 (Forbidden)
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
Attributes that require attention:
- Screenshots: Screenshot #1 (No Screenshots yet) image missing
12-step-meeting-pdf-generator/12-step-meeting-pdf.php 85% from 13 tests
Analyzing the main PHP file in "12 Step Meeting PDF" version 0.3.1
It is important to fix the following:
- Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("12-step-meeting-pdf-generator.php" instead of "12-step-meeting-pdf.php")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Everything looks great! No dangerous files found in this plugin48,623 lines of code in 49 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 43 | 1,905 | 12,014 | 48,179 |
HTML | 1 | 1 | 0 | 180 |
JSON | 3 | 0 | 0 | 118 |
JavaScript | 1 | 35 | 7 | 83 |
Markdown | 1 | 21 | 0 | 63 |
PHP code 0% from 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Please tend to the following items
- Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 4,365)
- Method cyclomatic complexity should be reduced to less than 100 (currently 502)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 326.30 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 4,365.00 |
Average method complexity | 9.82 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 502.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 20 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 20 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 739 | |
▷ Static methods | 112 | 15.16% |
▷ Public methods | 461 | 62.38% |
▷ Protected methods | 276 | 37.35% |
▷ Private methods | 2 | 0.27% |
Functions | 17 | |
▷ Named functions | 14 | 82.35% |
▷ Anonymous functions | 3 | 17.65% |
Constants | 109 | |
▷ Global constants | 109 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
PNG images were not found in this plugin