67% master-addons

Code Review | Master Addons for Elementor

WordPress plugin Master Addons for Elementor scored67%from 54 tests.

About plugin

  • Plugin page: master-addons
  • Plugin version: 2.0.5.3
  • PHP compatiblity: 5.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-6.4.1
  • WordPress version: 6.3.1
  • First release: Jun 17, 2019
  • Latest release: Nov 26, 2023
  • Number of updates: 197
  • Update frequency: every 8.2 days
  • Top authors: Litonice13 (100%)

Code review

54 tests

User reviews

188 reviews

Install metrics

40,000+ active /939,307 total downloads

Benchmarks

Plugin footprint 64% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors

Server metrics [RAM: ▲7.26MB] [CPU: ▲37.07ms] 50% from 4 tests

Analyzing server-side resources used by Master Addons for Elementor
The following require your attention
  • RAM: Total memory usage should be kept under 10MB (currently 10.81MB on /wp-admin/admin.php?page=freemius)
  • Extra RAM: The extra memory usage must be under 5MB (currently 7.26MB on /wp-admin/admin.php?page=freemius)
PageMemory (MB)CPU Time (ms)
Home /10.85 ▲7.3880.79 ▲39.27
Dashboard /wp-admin10.71 ▲7.3693.33 ▲29.32
Posts /wp-admin/edit.php10.76 ▲7.41105.44 ▲60.72
Add New Post /wp-admin/post-new.php12.78 ▲6.89114.14 ▲19.16
Media Library /wp-admin/upload.php10.63 ▲7.4095.56 ▲60.51
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius10.8186.14

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

A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 621 new files
Database: no new tables, 20 new options
New WordPress options
jltma_activation_time
theysaidso_admin_options
jltma_white_label_settings
recovery_mode_email_last_sent
jltma_notice_latest_updates
widget_recent-comments
jltma_icons_library_save_settings
jltma_notice_subscribe
maad_el_save_settings
jltma_notice_ask_for_rating
...

Browser metrics Passed 4 tests

Master Addons for Elementor: an overview of browser usage
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,039 ▲27713.26 ▼0.937.42 ▲5.8034.55 ▼9.27
Dashboard /wp-admin2,319 ▲1425.69 ▲0.0993.02 ▼3.9782.36 ▲42.57
Posts /wp-admin/edit.php2,248 ▲1482.05 ▲0.1040.22 ▼0.2341.23 ▲5.07
Add New Post /wp-admin/post-new.php50 ▼1,4760.98 ▼22.723.58 ▼608.049.50 ▼34.04
Media Library /wp-admin/upload.php1,530 ▲1304.19 ▼0.05111.71 ▲15.6684.15 ▲39.93
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius1,0971.7124.4428.46

Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
  • Uninstall procedure had uncaught errors
    • > Notice in wp-content/plugins/master-addons/lib/freemius/includes/class-freemius.php+8546
    Undefined property: stdClass::$plugins
  • This plugin does not fully uninstall, leaving 19 options in the database
    • jltma_notice_latest_updates
    • widget_theysaidso_widget
    • widget_recent-comments
    • widget_recent-posts
    • recovery_mode_email_last_sent
    • db_upgraded
    • jltma_notice_what_we_collect
    • can_compress_scripts
    • fs_accounts
    • fs_active_plugins
    • ...

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
Good news, no errors were detected

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
The following issues need your attention
  • 7× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-templates.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-preview.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-filters.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-tabs-item.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-content.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-tabs.php
    • > /wp-content/plugins/master-addons/inc/templates/editor/template-modal-filters-item.php
  • 68× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function MasterAddons\\Admin\\Dashboard\\Icons_Library\\wp_nonce_field() in wp-content/plugins/master-addons/inc/admin/welcome/icons-library.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'MasterAddons\\Lib\\Recommended' not found in wp-content/plugins/master-addons/inc/classes/Recommended_Plugins.php:13
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/master-addons/inc/templates/editor/template-modal-item.php:21
    • > PHP Fatal error
      Uncaught Error: Call to undefined function MasterAddons\\Admin\\Dashboard\\Addons\\Elements\\esc_html__() in wp-content/plugins/master-addons/inc/admin/jltma-elements/ma-icons-library.php:15
    • > PHP Fatal error
      Uncaught Error: Call to undefined function do_action() in wp-content/plugins/master-addons/inc/modules/header-footer-comment/inc/view/theme-support-comment.php:1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/master-addons/inc/templates/editor/template-modal-keywords.php:8
    • > PHP Fatal error
      Uncaught Error: Call to undefined function MasterAddons\\Admin\\Dashboard\\Extensions\\wp_nonce_field() in wp-content/plugins/master-addons/inc/admin/welcome/extensions.php:24
    • > PHP Fatal error
      Uncaught Error: Call to undefined function MasterAddons\\Modules\\add_action() in wp-content/plugins/master-addons/inc/modules/particles/particles.php:15
    • > PHP Fatal error
      Trait 'MasterAddons\\Modules\\MegaMenu\\JLTMA_Mega_Menu_Rest_API' not found in wp-content/plugins/master-addons/inc/modules/mega-menu/inc/cpt-api.php on line 6
    • > PHP Fatal error
      Uncaught Error: Class 'MasterAddons\\Inc\\Classes\otifications\\Model\otice' not found in wp-content/plugins/master-addons/inc/classes/Notifications/Subscribe.php:14

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser issues were found

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file is an important file in your plugin as it is parsed by WordPress.org to prepare the public listing of your plugin
Please fix the following attributes:
  • Tags: Please reduce the number of tags, currently 21 tag instead of maximum 10
The official readme.txt might help

master-addons/master-addons.php Passed 13 tests

The primary PHP file in "Master Addons for Elementor" version 2.0.5.3 is used by WordPress to initiate all plugin functionality
132 characters long description:
Master Addons is easy and must have Elementor Addons for WordPress Page Builder. Clean, Modern, Hand crafted designed Addons blocks.

Code Analysis 95% 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
No dangerous file extensions were detected136,813 lines of code in 508 files:
LanguageFilesBlank linesComment linesLines of code
PHP34920,89522,397104,931
JavaScript591,7601,07014,242
CSS5288728813,530
SVG4821344,110

PHP code 0% from 2 tests

An overview of cyclomatic complexity and code structure
It is recommended to fix the following
  • Class cyclomatic complexity should be reduced to less than 1000 (currently 3,096)
  • Cyclomatic complexity of methods has to be reduced to less than 100 (currently 115)
Cyclomatic complexity
Average complexity per logical line of code0.44
Average class complexity32.23
▷ Minimum class complexity1.00
▷ Maximum class complexity3,096.00
Average method complexity3.67
▷ Minimum method complexity1.00
▷ Maximum method complexity115.00
Code structure
Namespaces32
Interfaces1
Traits4
Classes239
▷ Abstract classes114.60%
▷ Concrete classes22895.40%
▷ Final classes10.44%
Methods2,913
▷ Static methods41814.35%
▷ Public methods2,24276.97%
▷ Protected methods2448.38%
▷ Private methods42714.66%
Functions172
▷ Named functions15489.53%
▷ Anonymous functions1810.47%
Constants194
▷ Global constants14072.16%
▷ Class constants5427.84%
▷ Public constants54100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
39 PNG files occupy 0.94MB with 0.39MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/vendor/vegas/overlays/04.png0.21KB0.10KB▼ 52.61%
assets/images/elementor-icon.png4.23KB1.77KB▼ 58.19%
assets/vendor/owlcarousel/assets/owl.video.play.png4.86KB2.74KB▼ 43.61%
assets/vendor/vegas/overlays/03.png0.20KB0.10KB▼ 53.11%
assets/images/polmo-lite.png460.96KB503.57KB0.00%