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
This plugin's installer ran successfully
Server metrics [RAM: ▲0.18MB] [CPU: ▼12.32ms] Passed 4 tests
A check of server-side resources used by Gantry 5 Framework
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.48 ▲0.01 | 45.19 ▲9.90 |
Dashboard /wp-admin | 3.54 ▲0.24 | 52.33 ▼8.88 |
Posts /wp-admin/edit.php | 3.66 ▲0.30 | 45.99 ▼28.82 |
Add New Post /wp-admin/post-new.php | 6.13 ▲0.23 | 85.16 ▼13.04 |
Media Library /wp-admin/upload.php | 3.47 ▲0.23 | 34.34 ▲1.46 |
Gantry 5 Settings /wp-admin/options-general.php?page=g5-settings | 3.43 | 31.75 |
Server storage [IO: ▲14.05MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 1,997 new files
Database: no new tables, 7 new options
New WordPress options |
---|
theysaidso_admin_options |
gantry5_plugin |
widget_recent-posts |
widget_recent-comments |
can_compress_scripts |
db_upgraded |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
Gantry 5 Framework: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,793 ▲32 | 14.31 ▼0.16 | 2.59 ▲0.92 | 51.67 ▲8.50 |
Dashboard /wp-admin | 2,199 ▲25 | 5.57 ▼0.09 | 81.91 ▼38.45 | 36.35 ▼15.12 |
Posts /wp-admin/edit.php | 2,104 ▲1 | 1.97 ▲0.02 | 33.73 ▼8.52 | 34.71 ▼2.36 |
Add New Post /wp-admin/post-new.php | 1,538 ▲12 | 18.31 ▼4.72 | 647.70 ▼41.93 | 61.06 ▲11.66 |
Media Library /wp-admin/upload.php | 1,404 ▲7 | 4.27 ▲0.07 | 95.50 ▼5.11 | 44.15 ▼1.71 |
Gantry 5 Settings /wp-admin/options-general.php?page=g5-settings | 1,025 | 2.04 | 23.40 | 27.20 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- This plugin did not uninstall successfully, leaving 6 options in the database
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-posts
- db_upgraded
- widget_recent-comments
- theysaidso_admin_options
Smoke tests 50% 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)
The smoke test was a success, however most plugin functionality was not tested
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 fix the following items
- 4× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/gantry5/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php
- > /wp-content/plugins/gantry5/vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php
- > /wp-content/plugins/gantry5/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php
- > /wp-content/plugins/gantry5/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php
- 766× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/gantry5/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php:5
- > PHP Fatal error
Uncaught Error: Interface 'Twig\\Loader\\LoaderInterface' not found in wp-content/plugins/gantry5/compat/vendor/twig/twig/src/Loader/ChainLoader.php:24
- > PHP Fatal error
Trait 'Gantry\\Component\\Gantry\\GantryTrait' not found in wp-content/plugins/gantry5/src/classes/Gantry/WordPress/Widgets.php on line 21
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/gantry5/vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'Gantry\\Component\\Admin\\HtmlController' not found in wp-content/plugins/gantry5/src/classes/Gantry/Admin/Controller/Html/About.php:24
- > PHP Warning
implode(): Invalid arguments passed in wp-content/plugins/gantry5/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php on line 53
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/gantry5/vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/gantry5/compat/vendor/twig/twig/src/Node/Expression/Binary/StartsWithBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twig\\TokenParser\\AbstractTokenParser' not found in wp-content/plugins/gantry5/vendor/twig/twig/src/TokenParser/FilterTokenParser.php:29
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Container\\ContainerInterface' not found in wp-content/plugins/gantry5/vendor/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php:38
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 97% 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 to be fixed:
- Tags: Too many tags (25 tag instead of maximum 10); only the first 5 tags are used in your directory listing
gantry5/gantry5.php Passed 13 tests
The primary PHP file in "Gantry 5 Framework" version 5.5.17 is used by WordPress to initiate all plugin functionality
36 characters long description:
Framework for Gantry 5 based themes.
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
There were no executable files found in this plugin127,867 lines of code in 1,496 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 996 | 23,442 | 42,894 | 86,439 |
SVG | 10 | 1 | 12 | 13,983 |
Sass | 198 | 1,936 | 1,089 | 10,141 |
Twig | 182 | 465 | 172 | 5,672 |
CSS | 13 | 2,067 | 133 | 2,992 |
JSON | 25 | 3 | 0 | 2,796 |
YAML | 52 | 352 | 3 | 2,556 |
JavaScript | 10 | 312 | 962 | 2,456 |
PO File | 2 | 285 | 0 | 602 |
reStructuredText | 2 | 105 | 144 | 110 |
Markdown | 4 | 33 | 0 | 98 |
XML | 2 | 3 | 5 | 22 |
PHP code 0% from 2 tests
An overview of cyclomatic complexity and code structure
Please fix the following
- Class cyclomatic complexity has to be reduced to less than 1000 (currently 1,498)
- Please reduce cyclomatic complexity of methods to less than 100 (currently 199)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.48 |
Average class complexity | 13.32 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,498.00 |
Average method complexity | 3.72 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 199.00 |
Code structure | ||
---|---|---|
Namespaces | 132 | |
Interfaces | 93 | |
Traits | 16 | |
Classes | 1,279 | |
▷ Abstract classes | 63 | 4.93% |
▷ Concrete classes | 1,216 | 95.07% |
▷ Final classes | 20 | 1.64% |
Methods | 6,531 | |
▷ Static methods | 597 | 9.14% |
▷ Public methods | 4,411 | 67.54% |
▷ Protected methods | 1,854 | 28.39% |
▷ Private methods | 266 | 4.07% |
Functions | 451 | |
▷ Named functions | 181 | 40.13% |
▷ Anonymous functions | 270 | 59.87% |
Constants | 409 | |
▷ Global constants | 20 | 4.89% |
▷ Class constants | 389 | 95.11% |
▷ Public constants | 387 | 99.49% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
12 compressed PNG files occupy 0.01MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/images/layouts/3-col-right.png | 0.30KB | 0.33KB | 0.00% |
admin/images/layouts/3-col-left.png | 0.29KB | 0.31KB | 0.00% |
admin/images/layouts/offline.png | 2.18KB | 2.35KB | 0.00% |
admin/images/layouts/body-only.png | 0.24KB | 0.24KB | 0.00% |
admin/images/layouts/default.png | 0.25KB | 0.26KB | 0.00% |