Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲2.73MB] [CPU: ▲10.33ms] Passed 4 tests
Server-side resources used by Custom Twitter Feeds - A Tweets Widget or X Feed Widget
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.38 ▲1.92 | 55.36 ▲14.37 |
Dashboard /wp-admin | 6.36 ▲3.01 | 60.63 ▼6.04 |
Posts /wp-admin/edit.php | 6.41 ▲3.05 | 60.76 ▲13.60 |
Add New Post /wp-admin/post-new.php | 8.90 ▲3.01 | 114.69 ▲19.38 |
Media Library /wp-admin/upload.php | 6.22 ▲2.99 | 55.96 ▲20.77 |
Settings /wp-admin/admin.php?page=ctf-settings | 6.91 | 65.24 |
About Us /wp-admin/admin.php?page=ctf-about-us | 6.22 | 50.01 |
YouTube Feed /wp-admin/admin.php?page=custom-twitter-feeds&tab=more | 6.19 | 48.53 |
Twitter Feeds /wp-admin/admin.php?page=custom-twitter-feeds | 6.19 | 47.36 |
All Feeds /wp-admin/admin.php?page=ctf-feed-builder | 8.74 | 115.46 |
Support /wp-admin/admin.php?page=ctf-support | 6.11 | 42.88 |
Server storage [IO: ▲4.36MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 271 new files
Database: 5 new tables, 11 new options
New tables |
---|
wp_ctf_feeds |
wp_ctf_feeds_posts |
wp_ctf_posts |
wp_ctf_feed_locator |
wp_ctf_feed_caches |
New WordPress options |
---|
ctf_db_version |
ctf_notifications |
can_compress_scripts |
db_upgraded |
widget_custom-twitter-feeds-widget |
widget_theysaidso_widget |
widget_recent-posts |
ctf_newuser_notifications |
widget_recent-comments |
ctf_version |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Custom Twitter Feeds - A Tweets Widget or X Feed Widget
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,896 ▲134 | 13.29 ▼1.05 | 4.45 ▲2.53 | 101.60 ▲55.75 |
Dashboard /wp-admin | 2,299 ▲122 | 6.03 ▲0.36 | 88.48 ▲0.39 | 52.30 ▲11.03 |
Posts /wp-admin/edit.php | 2,208 ▲108 | 2.33 ▲0.39 | 42.97 ▲6.50 | 47.62 ▲13.14 |
Add New Post /wp-admin/post-new.php | 6,276 ▲4,750 | 19.19 ▼3.98 | 974.68 ▲199.86 | 38.95 ▼28.27 |
Media Library /wp-admin/upload.php | 1,494 ▲100 | 4.56 ▲0.38 | 102.80 ▲4.13 | 53.71 ▲10.30 |
Settings /wp-admin/admin.php?page=ctf-settings | 3,488 | 5.50 | 110.37 | 101.04 |
About Us /wp-admin/admin.php?page=ctf-about-us | 1,790 | 3.28 | 58.93 | 37.81 |
YouTube Feed /wp-admin/admin.php?page=custom-twitter-feeds&tab=more | 890 | 2.05 | 30.39 | 19.88 |
Twitter Feeds /wp-admin/admin.php?page=custom-twitter-feeds | 890 | 2.04 | 30.63 | 18.54 |
All Feeds /wp-admin/admin.php?page=ctf-feed-builder | 5,715 | 9.11 | 157.98 | 83.72 |
Support /wp-admin/admin.php?page=ctf-support | 1,822 | 3.56 | 60.62 | 63.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% 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
- Zombie tables detected upon uninstall: 2 tables
- wp_ctf_feeds_posts
- wp_ctf_posts
- The uninstall procedure has failed, leaving 8 options in the database
- db_upgraded
- widget_custom-twitter-feeds-widget
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- ctf_version
- widget_theysaidso_widget
- can_compress_scripts
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Smoke test failed, please fix the following
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ctf-support
- > Notice in wp-content/plugins/custom-twitter-feeds/inc/Admin/CTF_Support.php+463
Trying to access array offset on value of type bool
SRP 0% 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
Please take a closer look at the following
- 51× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/empty-state.php
- > /wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/popup/feedtypes-popup.php
- > /wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/popup/onboarding-popup.php
- > /wp-content/plugins/custom-twitter-feeds/inc/SB_Twitter_Cron_Updater.php
- > /wp-content/plugins/custom-twitter-feeds/inc/CTF_Display_Elements.php
- > /wp-content/plugins/custom-twitter-feeds/admin/builder/templates/screens/customizer.php
- > /wp-content/plugins/custom-twitter-feeds/templates/error.php
- > /wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/feeds/legacy-feeds.php
- > /wp-content/plugins/custom-twitter-feeds/inc/CTF_Parse.php
- > /wp-content/plugins/custom-twitter-feeds/admin/views/settings/tab/feeds.php
- 73× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Warning
Use of undefined constant CTF_BUILDER_DIR - assumed 'CTF_BUILDER_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/custom-twitter-feeds/admin/builder/templates/screens/customizer.php on line 2
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-upgrader-skin.php' (include_path='.:/usr/share/php') in wp-content/plugins/custom-twitter-feeds/inc/Admin/PluginSilentUpgraderSkin.php on line 6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/custom-twitter-feeds/inc/ctf-functions.php:221
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/custom-twitter-feeds/inc/admin-hooks.php:2
- > PHP Warning
Use of undefined constant CTF_BUILDER_DIR - assumed 'CTF_BUILDER_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/select-source.php on line 3
- > PHP Warning
include(CTF_BUILDER_DIRtemplates/sections/create-feed/multiple-sources-list.php): failed to open stream: No such file or directory in wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/popup/feedtypes-customizer-popup.php on line 9
- > PHP Warning
Use of undefined constant CTF_BUILDER_DIR - assumed 'CTF_BUILDER_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/feeds-list.php on line 8
- > PHP Fatal error
Uncaught Error: Class 'TwitterFeed\\CTF_Display_Elements' not found in wp-content/plugins/custom-twitter-feeds/templates/header-text.php:12
- > PHP Warning
Use of undefined constant CTF_BUILDER_DIR - assumed 'CTF_BUILDER_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/custom-twitter-feeds/admin/builder/templates/sections/feeds-list.php on line 3
- > PHP Fatal error
Uncaught Error: Class 'TwitterFeed\\Builder\\CTF_Feed_Builder' not found in wp-content/plugins/custom-twitter-feeds/admin/views/sections/sticky_widget.php:3
- > PHP Warning
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
These attributes need to be fixed:
- Screenshots: Please a description for screenshot #8 in custom-twitter-feeds/assets to your readme.txt
custom-twitter-feeds/custom-twitter-feed.php 92% from 13 tests
The main PHP file in "Custom Twitter Feeds - A Tweets Widget or X Feed Widget" ver. 2.2.1 adds more information about the plugin and also serves as the entry point for this plugin
Please take the time to fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("custom-twitter-feeds.php" instead of "custom-twitter-feed.php")
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin48,431 lines of code in 203 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 154 | 3,730 | 5,835 | 23,174 |
CSS | 14 | 1,115 | 548 | 19,887 |
JavaScript | 19 | 688 | 987 | 5,036 |
SVG | 14 | 0 | 0 | 183 |
HTML | 1 | 28 | 3 | 103 |
JSON | 1 | 0 | 0 | 48 |
PHP code 50% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Please fix the following
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 158)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.49 |
Average class complexity | 33.65 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 498.00 |
Average method complexity | 4.92 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 158.00 |
Code structure | ||
---|---|---|
Namespaces | 11 | |
Interfaces | 0 | |
Traits | 2 | |
Classes | 84 | |
▷ Abstract classes | 1 | 1.19% |
▷ Concrete classes | 83 | 98.81% |
▷ Final classes | 0 | 0.00% |
Methods | 717 | |
▷ Static methods | 240 | 33.47% |
▷ Public methods | 677 | 94.42% |
▷ Protected methods | 15 | 2.09% |
▷ Private methods | 25 | 3.49% |
Functions | 87 | |
▷ Named functions | 86 | 98.85% |
▷ Anonymous functions | 1 | 1.15% |
Constants | 44 | |
▷ Global constants | 24 | 54.55% |
▷ Class constants | 20 | 45.45% |
▷ Public constants | 20 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
50 PNG files occupy 0.32MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/assets/img/about/plugin-smtp.png | 8.19KB | 8.45KB | 0.00% |
admin/builder/assets/img/reviews.png | 1.90KB | 2.13KB | 0.00% |
admin/builder/assets/img/dummy-author.png | 2.72KB | 1.78KB | ▼ 34.71% |
admin/assets/img/book-icon.png | 3.20KB | 1.22KB | ▼ 61.94% |
admin/builder/assets/img/timeline.png | 1.74KB | 1.86KB | 0.00% |