Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲1.00MB] [CPU: ▲0.41ms] 75% from 4 tests
An overview of server-side resources used by Timeline Express
The following require your attention
- CPU: Total CPU usage must kept under 500.00ms (currently 1,394.67ms on /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-addons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.40 ▲0.94 | 42.36 ▲2.10 |
Dashboard /wp-admin | 4.36 ▲1.02 | 60.70 ▼4.97 |
Posts /wp-admin/edit.php | 4.39 ▲1.03 | 58.31 ▲9.99 |
Add New Post /wp-admin/post-new.php | 6.98 ▲1.10 | 101.23 ▼1.08 |
Media Library /wp-admin/upload.php | 4.22 ▲0.99 | 45.39 ▲5.59 |
New Announcement /wp-admin/post-new.php?post_type=te_announcements | 5.47 | 131.47 |
Welcome /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-welcome | 4.21 | 42.91 |
All Announcements /wp-admin/edit.php?post_type=te_announcements | 4.28 | 47.14 |
Settings /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-settings | 5.12 | 53.80 |
Add-Ons /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-addons | 4.46 | 1,394.67 |
Server storage [IO: ▲8.02MB] [DB: ▲0.13MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 559 new files
Database: no new tables, 8 new options
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-posts |
db_upgraded |
post_type_rules_flushed_te-announcements |
widget_recent-comments |
theysaidso_admin_options |
timeline_express_install_date |
can_compress_scripts |
Browser metrics Passed 4 tests
Timeline Express: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,871 ▲121 | 14.28 ▼0.07 | 2.10 ▲0.27 | 39.25 ▼10.33 |
Dashboard /wp-admin | 2,249 ▲68 | 5.59 ▼0.09 | 88.53 ▼15.84 | 65.70 ▲22.94 |
Posts /wp-admin/edit.php | 2,154 ▲57 | 2.04 ▲0.02 | 38.47 ▲1.18 | 32.81 ▼3.64 |
Add New Post /wp-admin/post-new.php | 6,253 ▲4,725 | 19.06 ▼3.92 | 1,023.57 ▲237.40 | 41.57 ▼14.99 |
Media Library /wp-admin/upload.php | 1,454 ▲54 | 4.28 ▲0.13 | 103.98 ▼8.53 | 55.58 ▲7.80 |
New Announcement /wp-admin/post-new.php?post_type=te_announcements | 18,078 | 10.27 | 726.17 | 194.61 |
Welcome /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-welcome | 1,094 | 2.47 | 40.44 | 55.62 |
All Announcements /wp-admin/edit.php?post_type=te_announcements | 1,233 | 2.58 | 38.34 | 60.88 |
Settings /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-settings | 18,201 | 11.05 | 621.10 | 153.84 |
Add-Ons /wp-admin/edit.php?post_type=te_announcements&page=timeline-express-addons | 1,507 | 2.37 | 30.07 | 38.16 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Please fix the following items
- Zombie WordPress options were found after uninstall: 7 options
- db_upgraded
- widget_recent-comments
- timeline_express_install_date
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-posts
- widget_theysaidso_widget
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test
SRP 50% 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
- 82× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/timeline-express/lib/classes/class-timeline-express-public.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/timeline-express/timeline-express.php:36
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/timeline-express/lib/admin/cpt/timeline-express-admin-columns.php:24
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/timeline-express/lib/admin/metaboxes/partials/advertisment-metabox.php:18
- > PHP Fatal error
Uncaught Error: Class 'CMB2_REST_Controller_Boxes' not found in wp-content/plugins/timeline-express/lib/admin/CMB2/includes/rest-api/CMB2_REST_Controller_Fields.php:17
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/timeline-express/lib/admin/CMB2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Base' not found in wp-content/plugins/timeline-express/lib/admin/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_REST_Controller' not found in wp-content/plugins/timeline-express/lib/admin/CMB2/includes/rest-api/CMB2_REST_Controller_Boxes.php:17
- > PHP Fatal error
Uncaught Error: Call to undefined function cmb2_dir() in wp-content/plugins/timeline-express/lib/admin/CMB2/includes/rest-api/CMB2_REST_Controller.php:4
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Text' not found in wp-content/plugins/timeline-express/lib/admin/CMB2/includes/types/CMB2_Type_Picker_Base.php:13
- > 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 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: There are too many tags (12 tag instead of maximum 10)
timeline-express/timeline-express.php Passed 13 tests
The main PHP script in "Timeline Express" version 1.8.1 is automatically included on every request by WordPress
104 characters long description:
Create a beautiful vertical, CSS3 animated and responsive timeline in minutes flat without writing code.
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
No dangerous file extensions were detected110,034 lines of code in 299 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
XML | 3 | 0 | 0 | 47,748 |
PO File | 121 | 13,910 | 18,044 | 31,904 |
PHP | 99 | 4,479 | 7,762 | 13,594 |
CSS | 30 | 1,512 | 1,364 | 9,131 |
JavaScript | 23 | 670 | 683 | 2,881 |
SVG | 1 | 0 | 0 | 2,671 |
Sass | 14 | 267 | 25 | 1,265 |
Markdown | 4 | 204 | 0 | 613 |
JSON | 3 | 0 | 0 | 134 |
Bourne Shell | 1 | 23 | 11 | 93 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.35 |
Average class complexity | 15.85 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 182.00 |
Average method complexity | 2.60 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 28.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 94 | |
▷ Abstract classes | 11 | 11.70% |
▷ Concrete classes | 83 | 88.30% |
▷ Final classes | 0 | 0.00% |
Methods | 877 | |
▷ Static methods | 111 | 12.66% |
▷ Public methods | 752 | 85.75% |
▷ Protected methods | 119 | 13.57% |
▷ Private methods | 6 | 0.68% |
Functions | 88 | |
▷ Named functions | 86 | 97.73% |
▷ Anonymous functions | 2 | 2.27% |
Constants | 19 | |
▷ Global constants | 13 | 68.42% |
▷ Class constants | 6 | 31.58% |
▷ Public constants | 6 | 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
26 PNG files occupy 0.46MB with 0.14MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
lib/admin/images/timeline-express-settings.png | 115.09KB | 122.92KB | 0.00% |
lib/admin/CMB2/images/ui-icons_222222_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |
lib/admin/images/timeline-express-logo-128.png | 7.60KB | 4.01KB | ▼ 47.27% |
lib/admin/CMB2/images/ui-bg_flat_0_aaaaaa_40x100.png | 0.18KB | 0.08KB | ▼ 51.67% |
lib/admin/CMB2/images/ui-bg_flat_75_ffffff_40x100.png | 0.17KB | 0.08KB | ▼ 51.12% |