Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲5.83MB] [CPU: ▼290.02ms] 75% from 4 tests
Server-side resources used by OpenAgenda for WordPress
It is recommended to improve the following
- Extra RAM: The extra memory usage should kept under 5MB (currently 5.83MB on /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.37 ▲5.86 | 93.99 ▲35.83 |
Dashboard /wp-admin | 9.58 ▲6.17 | 78.78 ▲40.23 |
Posts /wp-admin/edit.php | 9.76 ▲6.12 | 77.85 ▲35.79 |
Add New Post /wp-admin/post-new.php | 12.14 ▲5.16 | 99.67 ▼1,271.94 |
Media Library /wp-admin/upload.php | 9.53 ▲6.23 | 69.24 ▲41.70 |
Add New /wp-admin/post-new.php?post_type=acf-field-group | 9.83 | 83.33 |
Venues /wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events | 9.58 | 70.20 |
Tools /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools | 9.55 | 78.09 |
Info /wp-admin/edit.php?post_type=acf-field-group&page=acf-settings-info | 9.44 | 68.33 |
All Events /wp-admin/edit.php?post_type=openagenda-events | 9.57 | 68.42 |
Agenda /wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events | 9.51 | 68.21 |
Add New /wp-admin/post-new.php?post_type=openagenda-events | 9.32 | 66.67 |
OpenAgenda Settings /wp-admin/options-general.php?page=openagenda-settings | 9.44 | 70.62 |
Categories /wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events | 9.51 | 67.59 |
keywords /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events | 9.51 | 83.75 |
Server storage [IO: ▲15.83MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 767 new files
Database: no new tables, 4 new options
New WordPress options |
---|
widget_openwp_slider_widget |
widget_openwp_basic_widget |
widget_openagenda_main_widget |
acf_version |
Browser metrics Passed 4 tests
An overview of browser requirements for OpenAgenda for WordPress
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,213 ▲459 | 20.81 ▲5.03 | 5.73 ▼0.61 | 2.05 ▲0.02 |
Dashboard /wp-admin | 3,328 ▲467 | 10.62 ▲4.46 | 193.24 ▲60.53 | 199.58 ▲37.44 |
Posts /wp-admin/edit.php | 3,170 ▲476 | 7.74 ▲4.50 | 117.61 ▲55.99 | 177.74 ▲39.24 |
Add New Post /wp-admin/post-new.php | 2,660 ▲949 | 23.65 ▲2.49 | 581.48 ▲121.02 | 294.08 ▲136.39 |
Media Library /wp-admin/upload.php | 2,612 ▲920 | 13.45 ▲7.87 | 238.71 ▲98.19 | 251.36 ▲63.72 |
Add New /wp-admin/post-new.php?post_type=acf-field-group | 3,241 | 8.75 | 139.33 | 181.22 |
Venues /wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events | 2,217 | 7.71 | 114.58 | 123.98 |
Tools /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools | 1,831 | 7.90 | 100.71 | 116.50 |
Info /wp-admin/edit.php?post_type=acf-field-group&page=acf-settings-info | 1,921 | 7.31 | 99.44 | 299.28 |
All Events /wp-admin/edit.php?post_type=openagenda-events | 1,912 | 7.90 | 107.36 | 110.87 |
Agenda /wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events | 2,198 | 7.95 | 115.92 | 118.71 |
Add New /wp-admin/post-new.php?post_type=openagenda-events | 5,236 | 14.22 | 268.87 | 232.49 |
OpenAgenda Settings /wp-admin/options-general.php?page=openagenda-settings | 1,647 | 7.39 | 101.30 | 112.69 |
Categories /wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events | 2,195 | 8.06 | 105.43 | 112.10 |
keywords /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events | 2,160 | 8.05 | 125.82 | 117.58 |
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
Please fix the following items
- Zombie WordPress options were found after uninstall: 4 options
- acf_version
- widget_openwp_slider_widget
- widget_openagenda_main_widget
- widget_openwp_basic_widget
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Please fix the following server-side errors
- > GET request to /wp-admin/post-new.php?post_type=openagenda-events
- > Deprecated in wp-content/plugins/wp-openagenda/class/class-openagendaapi.php+427
Non-static method OpenAgendaAPI\OpenAgendaApi::get_secret_key__premium_only() should not be called statically
- > GET request to /wp-admin/post-new.php?post_type=openagenda-events
- > Notice in wp-content/plugins/wp-openagenda/class/class-openagendaapi.php+450
Undefined variable: token
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
- 1× PHP files output text when accessed directly:
- > /wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/templates/Exception/incorrect-syntax.php
- 204× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Container\\Theme_Options_Container' not found in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/core/Container/Network_Container.php:11
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Field\\Field' not found in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/core/Field/File_Field.php:12
- > PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/wp-openagenda/3rd-party/acf/includes/fields/class-acf-field-output.php:5
- > PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/wp-openagenda/3rd-party/acf/includes/fields/class-acf-field-image.php:5
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/templates/Container/widget.php:2
- > PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/wp-openagenda/3rd-party/acf/includes/fields/class-acf-field-text.php:5
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Service\\Service' not found in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/core/Service/Legacy_Storage_Service_v_1_5.php:15
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Container\\Condition\\Condition' not found in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/core/Container/Condition/Post_Template_Condition.php:10
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/wp-openagenda/3rd-party/vendor/htmlburger/carbon-fields/templates/Container/common/options-page.php:2
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/wp-openagenda/3rd-party/acf/includes/admin/views/html-location-rule.php on line 4
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please take a look at the following user-side issues
- 10 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/css/acf-global.css?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/css/acf-input.css?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/pro/assets/css/acf-pro-input.css?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/inc/select2/4/select2.min.css?ver=4.0 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/inc/datepicker/jquery-ui.min.css?ver=1.11.4 - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/css/acf-field-group.css?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/pro/assets/css/acf-pro-field-group.css?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/inc/timepicker/jquery-ui-timepicker-addon.min.css?ver=1.6.1 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/js/acf-input.min.js?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/pro/assets/js/acf-pro-input.min.js?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/inc/select2/4/select2.full.min.js?ver=4.0 - Failed to load resource: the server responded with a status of 404 (Not Found)
- 7 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/inc/timepicker/jquery-ui-timepicker-addon.min.js?ver=1.6.1 - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/assets/js/acf-field-group.min.js?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Network (severe)
var/www/wordpress/wp-content/plugins/wp-openagenda//3rd-party/acf/pro/assets/js/acf-pro-field-group.min.js?ver=5.8.3 - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Javascript (severe) in unknown
/wp-admin/post-new.php?post_type=acf-field-group 2138:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/post-new.php?post_type=acf-field-group
- > Javascript (severe) in unknown
/wp-admin/post-new.php?post_type=acf-field-group 2142:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events 1765:1 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events 1816:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_venue&post_type=openagenda-events 1820:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools
- > Javascript (severe) in unknown
/wp-admin/edit.php?post_type=acf-field-group&page=acf-tools 1638:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools
- > Javascript (severe) in unknown
/wp-admin/edit.php?post_type=acf-field-group&page=acf-tools 1642:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events 1761:1 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events 1812:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_agenda&post_type=openagenda-events 1816:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/post-new.php?post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/post-new.php?post_type=openagenda-events 2056:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/post-new.php?post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/post-new.php?post_type=openagenda-events 2060:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events 1761:1 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events 1812:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_Category&post_type=openagenda-events 1816:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events 1754:1 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events 1805:0 Uncaught ReferenceError: acf is not defined
- > GET request to /wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events
- > Javascript (severe) in unknown
/wp-admin/edit-tags.php?taxonomy=openagenda_keyword&post_type=openagenda-events 1809:0 Uncaught ReferenceError: acf is not defined
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
4 plugin tags: events, calendar, openagenda, agenda
wp-openagenda/wp-openagenda.php Passed 13 tests
"OpenAgenda for WordPress" version 2.5's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
58 characters long description:
Easily display an OpenAgenda.com in your WordPress website
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Everything looks great! No dangerous files found in this plugin124,677 lines of code in 661 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 49 | 22,231 | 36,130 | 47,233 |
JavaScript | 194 | 13,195 | 15,378 | 38,374 |
PHP | 325 | 16,704 | 27,017 | 32,333 |
CSS | 26 | 599 | 1,224 | 3,664 |
Sass | 50 | 361 | 5 | 2,008 |
JSON | 6 | 0 | 0 | 562 |
Markdown | 5 | 96 | 0 | 251 |
LESS | 1 | 11 | 5 | 152 |
SVG | 4 | 19 | 1 | 92 |
Ruby | 1 | 2 | 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.33 |
Average class complexity | 11.62 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 174.00 |
Average method complexity | 2.55 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 31 | |
Interfaces | 5 | |
Traits | 0 | |
Classes | 251 | |
▷ Abstract classes | 11 | 4.38% |
▷ Concrete classes | 240 | 95.62% |
▷ Final classes | 1 | 0.42% |
Methods | 1,783 | |
▷ Static methods | 126 | 7.07% |
▷ Public methods | 1,573 | 88.22% |
▷ Protected methods | 206 | 11.55% |
▷ Private methods | 4 | 0.22% |
Functions | 589 | |
▷ Named functions | 509 | 86.42% |
▷ Anonymous functions | 80 | 13.58% |
Constants | 49 | |
▷ Global constants | 19 | 38.78% |
▷ Class constants | 30 | 61.22% |
▷ Public constants | 30 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
13 PNG files occupy 0.05MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/mi.png | 1.76KB | 1.38KB | ▼ 21.54% |
assets/img/hi.png | 2.13KB | 1.59KB | ▼ 25.28% |
assets/img/accessibility-60.png | 21.40KB | 12.07KB | ▼ 43.59% |
assets/img/vi.png | 2.17KB | 1.70KB | ▼ 21.80% |
3rd-party/acf/assets/inc/datepicker/images/ui-icons_444444_256x240.png | 3.68KB | 4.17KB | 0.00% |