Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.41MB] [CPU: ▼0.48ms] Passed 4 tests
This is a short check of server-side resources used by Issues and Series for Newspapers, Magazines, Publishers, Writers
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.83 ▲0.38 | 40.80 ▼3.55 |
Dashboard /wp-admin | 3.71 ▲0.41 | 51.48 ▲1.89 |
Posts /wp-admin/edit.php | 3.83 ▲0.48 | 53.24 ▲1.51 |
Add New Post /wp-admin/post-new.php | 6.35 ▲0.46 | 98.10 ▼1.76 |
Media Library /wp-admin/upload.php | 3.63 ▲0.40 | 40.72 ▲5.39 |
Manage Series /wp-admin/edit.php?page=manage-issues | 3.64 | 37.64 |
Server storage [IO: ▲2.89MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 261 new files
Database: 1 new table, 25 new options
New tables |
---|
wp_orgseriesicons |
New WordPress options |
---|
series_icon_filetypes |
organize-series_wp_reviews_installed_on |
im_unpublished_series |
im_published_series |
series_icon_path |
publishpress_multi_series_supported |
can_compress_scripts |
pp_series_2_11_1_upgraded |
series_icon_url |
orgseries_grouping_import_completed |
... |
Browser metrics Passed 4 tests
Checking browser requirements for Issues and Series for Newspapers, Magazines, Publishers, Writers
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,853 ▲118 | 13.30 ▼1.31 | 1.73 ▼0.26 | 32.44 ▼10.26 |
Dashboard /wp-admin | 2,251 ▲60 | 5.85 ▲0.83 | 101.97 ▼3.28 | 39.36 ▼0.02 |
Posts /wp-admin/edit.php | 2,269 ▲180 | 2.06 ▲0.03 | 41.13 ▲3.33 | 37.48 ▲2.10 |
Add New Post /wp-admin/post-new.php | 6,321 ▲4,788 | 18.99 ▼4.07 | 905.80 ▲246.74 | 56.26 ▲3.84 |
Media Library /wp-admin/upload.php | 1,441 ▲53 | 4.22 ▲0.01 | 94.89 ▼5.61 | 42.30 ▼2.68 |
Manage Series /wp-admin/edit.php?page=manage-issues | 851 | 1.86 | 28.01 | 30.54 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
Please fix the following items
- Zombie tables detected upon uninstall: 1 table
- wp_orgseriesicons
- This plugin does not fully uninstall, leaving 25 options in the database
- widget_recent-comments
- organize-series_wp_reviews_installed_on
- pp_series_2_11_1_upgraded
- orgseries_grouping_import_completed
- widget_recent-posts
- widget_latestseries
- theysaidso_admin_options
- pp_series_2_10_0_1_upgraded
- org_series_options
- im_published_series
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
- 13× PHP files perform the action of outputting non-empty strings when accessed directly (only 10 are shown):
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Setting/Field/Base.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Exception/Generic.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-version-notices/templates/menu-link/menu-link-script.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/License.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Setting/Field/License_key.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-version-notices/templates/top-notice/notice.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Exception/InvalidParams.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Language.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Services.php
- > /wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/classes/Setting/Field/Text.php
- 84× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'PublishPress\\Psr\\Container\otFoundExceptionInterface' not found in wp-content/plugins/organize-series/lib/vendor/publishpress/pimple-pimple/lib/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php:39
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/organize-series/addons/publisher/series-part-post-table.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/organize-series/lib/vendor/publishpress/wordpress-edd-license/src/autoload.php:5
- > PHP Fatal error
Uncaught Error: Interface 'PublishPress\\Psr\\Container\\ContainerExceptionInterface' not found in wp-content/plugins/organize-series/lib/vendor/publishpress/pimple-pimple/lib/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php:39
- > PHP Fatal error
Uncaught Error: Call to undefined function pp_series_locate_template() in wp-content/plugins/organize-series/addons/grouping/theme/twenty-ten/groups-template.php:11
- > PHP Warning
require_once(ABSPATHwp-admin/includes/class-wp-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/organize-series/addons/publisher/series-part-post-table.php on line 4
- > PHP Fatal error
Uncaught Error: Class 'OrganizeSeries\\domain\\interfaces\\AbstractMeta' not found in wp-content/plugins/organize-series/src/domain/Meta.php:8
- > PHP Fatal error
Uncaught Error: Class 'OrganizeSeries\\domain\\interfaces\\AbstractNotice' not found in wp-content/plugins/organize-series/src/domain/model/SuccessNotice.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/organize-series/inc/utility-functions.php:30
- > PHP Fatal error
Uncaught Error: Class 'OrganizeSeries\\domain\\interfaces\\AbstractCollection' not found in wp-content/plugins/organize-series/src/domain/model/LicenseKeyCollection.php:17
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 93% from 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
5 plugin tags: publication, magazine, issue, series, newspaper
organize-series/orgSeries.php 85% from 13 tests
The entry point to "Issues and Series for Newspapers, Magazines, Publishers, Writers" version 2.12.0 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("organize-series.php" instead of "orgSeries.php")
- Description: Keep the plugin description shorter than 140 characters (currently 213 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Success! There were no dangerous files found in this plugin20,347 lines of code in 218 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 165 | 3,287 | 5,882 | 14,194 |
PO File | 6 | 1,284 | 1,438 | 3,621 |
CSS | 14 | 135 | 37 | 975 |
JavaScript | 23 | 118 | 215 | 736 |
JSON | 6 | 0 | 0 | 620 |
Sass | 4 | 56 | 7 | 201 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.41 |
Average class complexity | 10.02 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 127.00 |
Average method complexity | 2.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 31 | |
Interfaces | 12 | |
Traits | 0 | |
Classes | 108 | |
▷ Abstract classes | 5 | 4.63% |
▷ Concrete classes | 103 | 95.37% |
▷ Final classes | 2 | 1.94% |
Methods | 661 | |
▷ Static methods | 66 | 9.98% |
▷ Public methods | 516 | 78.06% |
▷ Protected methods | 53 | 8.02% |
▷ Private methods | 92 | 13.92% |
Functions | 288 | |
▷ Named functions | 224 | 77.78% |
▷ Anonymous functions | 64 | 22.22% |
Constants | 68 | |
▷ Global constants | 36 | 52.94% |
▷ Class constants | 32 | 47.06% |
▷ Public constants | 32 | 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
12 PNG files occupy 0.43MB with 0.22MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/publishpress-logo.png | 8.69KB | 8.91KB | 0.00% |
images/OS_Addons_logo.png | 31.87KB | 11.47KB | ▼ 64.01% |
images/orgseries-main-logo.png | 20.78KB | 8.78KB | ▼ 57.72% |
images/OS_BasicSupport_logo_transparent.png | 32.20KB | 10.31KB | ▼ 67.98% |
images/OS_BasicSupport_logo.png | 30.87KB | 10.96KB | ▼ 64.48% |