Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲1.02MB] [CPU: ▼2.51ms] Passed 4 tests
This is a short check of server-side resources used by Publish To Apple News
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.65 ▲1.18 | 45.18 ▲7.40 |
Dashboard /wp-admin | 4.55 ▲1.20 | 59.58 ▼2.70 |
Posts /wp-admin/edit.php | 4.60 ▲1.24 | 53.65 ▲5.46 |
Add New Post /wp-admin/post-new.php | 6.42 ▲0.53 | 73.37 ▼20.19 |
Media Library /wp-admin/upload.php | 4.41 ▲1.18 | 43.77 ▲10.55 |
Bulk Export /wp-admin/admin.php?page=apple_news_bulk_export | 4.35 | 36.79 |
Settings /wp-admin/admin.php?page=apple-news-options | 4.39 | 38.87 |
Articles /wp-admin/admin.php?page=apple_news_index | 4.44 | 43.21 |
Automation /wp-admin/admin.php?page=apple-news-automation | 4.94 | 44.58 |
Server storage [IO: ▲3.50MB] [DB: ▲0.05MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 162 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-posts |
apple_news_version |
db_upgraded |
Browser metrics Passed 4 tests
Publish To Apple News: an overview of browser usage
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,822 ▲36 | 14.35 ▲0.16 | 1.79 ▼0.23 | 44.23 ▼0.55 |
Dashboard /wp-admin | 2,225 ▲48 | 5.56 ▲0.03 | 83.02 ▼4.38 | 38.90 ▼2.55 |
Posts /wp-admin/edit.php | 2,133 ▲30 | 1.98 ▼0.01 | 33.74 ▼6.36 | 35.24 ▼2.53 |
Add New Post /wp-admin/post-new.php | 1,562 ▲34 | 23.21 ▲0.01 | 624.17 ▼55.86 | 55.33 ▼4.76 |
Media Library /wp-admin/upload.php | 1,430 ▲33 | 4.16 ▼0.23 | 94.66 ▼7.16 | 39.92 ▼3.37 |
Bulk Export /wp-admin/admin.php?page=apple_news_bulk_export | 693 | 1.12 | 6.55 | 18.62 |
Settings /wp-admin/admin.php?page=apple-news-options | 1,371 | 1.91 | 29.00 | 35.74 |
Articles /wp-admin/admin.php?page=apple_news_index | 1,013 | 3.08 | 39.03 | 22.72 |
Automation /wp-admin/admin.php?page=apple-news-automation | 1,112 | 11.24 | 195.15 | 27.73 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.05MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- This plugin does not fully uninstall, leaving 7 options in the database
- widget_recent-posts
- widget_recent-comments
- db_upgraded
- can_compress_scripts
- widget_theysaidso_widget
- apple_news_version
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Please fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=apple_news_bulk_export
- > Warning in wp-includes/pluggable.php+1438
Cannot modify header information - headers already sent by (output started at wp-includes/script-loader.php:2838)
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
- 81× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Apple_Exporter\\Components\\Component' not found in wp-content/plugins/publish-to-apple-news/includes/apple-exporter/components/class-title.php:17
- > PHP Fatal error
Uncaught Error: Call to undefined function get_post_meta() in wp-content/plugins/publish-to-apple-news/admin/partials/cover-image.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/publish-to-apple-news/admin/class-admin-apple-settings.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/publish-to-apple-news/admin/class-admin-apple-news.php:11
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/publish-to-apple-news/admin/partials/page-theme-edit.php:17
- > PHP Fatal error
Uncaught Error: Call to undefined function Apple_News\\REST\\add_action() in wp-content/plugins/publish-to-apple-news/includes/REST/apple-news-update.php:27
- > PHP Fatal error
Uncaught Error: Class 'Apple_Exporter\\Components\\Component' not found in wp-content/plugins/publish-to-apple-news/includes/apple-exporter/components/class-cover.php:23
- > PHP Fatal error
Uncaught Error: Class 'Apple_Exporter\\Components\\Component' not found in wp-content/plugins/publish-to-apple-news/includes/apple-exporter/components/class-image.php:16
- > PHP Fatal error
Uncaught Error: Class 'Apple_Exporter\\Components\\Component' not found in wp-content/plugins/publish-to-apple-news/includes/apple-exporter/components/class-facebook.php:19
- > PHP Fatal error
Uncaught Error: Class 'Admin_Apple_Settings_Section' not found in wp-content/plugins/publish-to-apple-news/admin/settings/class-admin-apple-settings-section-post-types.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 86% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
4 plugin tags: publish, ios, news, apple
publish-to-apple-news/apple-news.php 69% from 13 tests
The entry point to "Publish To Apple News" version 2.4.0 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
- Domain Path: The domain path should be prefixed with a forward slash character ("/lang/")
- Domain Path: The domain path follows the same naming rules as the domain name, using only dashes and lowercase characters ("lang/")
- Main file name: Name the main plugin file the same as the plugin slug ("publish-to-apple-news.php" instead of "apple-news.php")
- Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
There were no executable files found in this plugin17,091 lines of code in 149 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 109 | 2,670 | 8,689 | 13,638 |
JSON | 7 | 0 | 0 | 1,674 |
JavaScript | 19 | 189 | 210 | 1,033 |
CSS | 9 | 76 | 1 | 384 |
JSX | 5 | 24 | 30 | 362 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 17.72 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 92.00 |
Average method complexity | 3.27 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 42.00 |
Code structure | ||
---|---|---|
Namespaces | 10 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 81 | |
▷ Abstract classes | 4 | 4.94% |
▷ Concrete classes | 77 | 95.06% |
▷ Final classes | 0 | 0.00% |
Methods | 596 | |
▷ Static methods | 99 | 16.61% |
▷ Public methods | 359 | 60.23% |
▷ Protected methods | 87 | 14.60% |
▷ Private methods | 150 | 25.17% |
Functions | 41 | |
▷ Named functions | 21 | 51.22% |
▷ Anonymous functions | 20 | 48.78% |
Constants | 20 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 20 | 100.00% |
▷ Public constants | 20 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
6 PNG files occupy 1.05MB with 0.45MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/screenshots/colorful.png | 208.29KB | 100.92KB | ▼ 51.55% |
assets/screenshots/pastel.png | 206.07KB | 104.44KB | ▼ 49.32% |
assets/screenshots/default.png | 176.37KB | 107.06KB | ▼ 39.30% |
assets/screenshots/dark.png | 205.70KB | 133.17KB | ▼ 35.26% |
assets/screenshots/modern.png | 115.78KB | 72.56KB | ▼ 37.33% |