68% wp-tao

Code Review | Track, Analyze & Optimize by WP Tao

WordPress plugin Track, Analyze & Optimize by WP Tao scored68%from 54 tests.

About plugin

  • Plugin page: wp-tao
  • Plugin version: 1.3
  • PHP compatiblity: 5.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.8-6.0
  • WordPress version: 6.3.1
  • First release: Nov 25, 2015
  • Latest release: Jul 15, 2022
  • Number of updates: 55
  • Update frequency: every 44.2 days
  • Top authors: upsell (92.73%)damian-gora (9.09%)

Code review

54 tests

User reviews

16 reviews

Install metrics

1,000+ active /29,259 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Installer ran successfully

Server metrics [RAM: ▲2.26MB] [CPU: ▲17.77ms] Passed 4 tests

This is a short check of server-side resources used by Track, Analyze & Optimize by WP Tao
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /5.50 ▲2.0471.51 ▲20.27
Dashboard /wp-admin5.71 ▲2.3676.30 ▲14.97
Posts /wp-admin/edit.php5.76 ▲2.4075.94 ▲26.39
Add New Post /wp-admin/post-new.php8.22 ▲2.33111.24 ▲9.71
Media Library /wp-admin/upload.php5.54 ▲2.3166.01 ▲26.14
Dashboard /wp-admin/admin.php?page=wtbp-wptao5.7492.71
Identified /wp-admin/admin.php?page=wtbp-wptao-users5.5561.96
Events /wp-admin/admin.php?page=wtbp-wptao-events5.6471.04
Settings /wp-admin/admin.php?page=wtbp-wptao-settings5.5463.19
WP Tao Upgrades /wp-admin/admin.php?page=wtbp-wptao-upgrades5.5461.10

Server storage [IO: ▲16.85MB] [DB: ▲0.01MB] Passed 3 tests

A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 2,180 new files
Database: 7 new tables, 17 new options
New tables
wp_wptao_users_tags
wp_wptao_users
wp_wptao_events_meta
wp_wptao_events_tags
wp_wptao_fingerprints
wp_wptao_events
wp_wptao_users_meta
New WordPress options
wp_wptao_fingerprints_db_version
can_compress_scripts
wptao_settings
widget_recent-comments
db_upgraded
wp_wptao_users_db_version
wptao_version
wp_wptao_events_meta_db_version
wptao_currency_set
wp_wptao_users_tags_db_version
...

Browser metrics Passed 4 tests

Track, Analyze & Optimize by WP Tao: an overview of browser usage
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,080 ▲33415.45 ▲0.795.26 ▲3.4945.15 ▲7.25
Dashboard /wp-admin2,397 ▲2096.89 ▲0.99129.31 ▲22.99100.43 ▲55.07
Posts /wp-admin/edit.php2,315 ▲2263.84 ▲1.8451.08 ▲14.4972.54 ▲37.05
Add New Post /wp-admin/post-new.php1,732 ▲20722.81 ▲5.23652.32 ▼21.2136.85 ▼25.33
Media Library /wp-admin/upload.php1,445 ▲574.64 ▲0.4188.66 ▼24.3485.83 ▲38.41
Dashboard /wp-admin/admin.php?page=wtbp-wptao1,3813.8660.2872.01
Identified /wp-admin/admin.php?page=wtbp-wptao-users1,2493.4146.2180.29
Events /wp-admin/admin.php?page=wtbp-wptao-events1,6773.6153.56118.61
Settings /wp-admin/admin.php?page=wtbp-wptao-settings1,3943.6551.5286.02
WP Tao Upgrades /wp-admin/admin.php?page=wtbp-wptao-upgrades2,3676.4994.5891.40

Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% 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 tables were found after uninstall: 7 tables
    • wp_wptao_fingerprints
    • wp_wptao_events_meta
    • wp_wptao_events_tags
    • wp_wptao_users_tags
    • wp_wptao_users_meta
    • wp_wptao_events
    • wp_wptao_users
  • This plugin does not fully uninstall, leaving 17 options in the database
    • widget_recent-comments
    • wp_wptao_events_meta_db_version
    • can_compress_scripts
    • wptao_completed_upgrades
    • wp_wptao_users_db_version
    • wp_wptao_fingerprints_db_version
    • theysaidso_admin_options
    • wptao_version
    • wp_wptao_events_tags_db_version
    • wp_wptao_users_tags_db_version
    • ...

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though no errors were found, this is by no means an exhaustive test

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 fix the following
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/wp-tao/includes/admin/views/html-admin-hint.php
  • 70× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function admin_url() in wp-content/plugins/wp-tao/includes/admin/views/html-admin-user-edit.php:20
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/wp-tao/includes/mods/popups/includes/admin/settings.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-tao/includes/events/search.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/wp-tao/includes/admin/views/elements/datepicker.php:44
    • > PHP Fatal error
      Uncaught Error: Class 'WTBP_WPTAO_Tags' not found in wp-content/plugins/wp-tao/includes/class-wptao-events-tags.php:9
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/wp-tao/includes/admin/views/reports/frequency-search.php:9
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/wp-tao/includes/admin/views/reports/basic-user-register.php:4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/wp-tao/includes/admin/views/reports/basic-traffic-sources.php:9
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/wp-tao/includes/admin/views/reports/basic-user-identified-contacts.php:8
    • > PHP Fatal error
      Uncaught Error: Interface 'libphonenumber\\MetadataLoaderInterface' not found in wp-content/plugins/wp-tao/includes/libs/libphonenumber/DefaultMetadataLoader.php:5

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side

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: Too many tags (25 tag instead of maximum 10); only the first 5 tags are used in your directory listing
You can take inspiration from this readme.txt

wp-tao/wp-tao.php Passed 13 tests

"Track, Analyze & Optimize by WP Tao" version 1.3's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
114 characters long description:
WP Tracker and Optimizer is an intuitive and powerful tool for tracking website visitors by small business owners.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin523,667 lines of code in 2,146 files:
LanguageFilesBlank linesComment linesLines of code
PHP2,1337,41114,487518,402
PO File31,1851,7402,852
CSS6216471,971
JavaScript418893442

PHP code Passed 2 tests

A short review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.30
Average class complexity23.26
▷ Minimum class complexity1.00
▷ Maximum class complexity332.00
Average method complexity3.32
▷ Minimum method complexity1.00
▷ Maximum method complexity41.00
Code structure
Namespaces3
Interfaces3
Traits0
Classes78
▷ Abstract classes22.56%
▷ Concrete classes7697.44%
▷ Final classes22.63%
Methods781
▷ Static methods8711.14%
▷ Public methods63681.43%
▷ Protected methods577.30%
▷ Private methods8811.27%
Functions74
▷ Named functions7398.65%
▷ Anonymous functions11.35%
Constants143
▷ Global constants2920.28%
▷ Class constants11479.72%
▷ Public constants114100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
25 PNG files occupy 0.04MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/jquery-ui/ui-icons_ef8c08_256x240.png4.44KB4.17KB▼ 6.02%
assets/images/red.png0.21KB0.11KB▼ 47.93%
assets/images/wptao-ico-16.png0.48KB0.61KB0.00%
assets/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png0.27KB0.14KB▼ 47.84%
assets/images/wptao-logo.png3.44KB3.02KB▼ 12.30%