68% i-search

Code Review | i-Search - Advanced Live Search

WordPress plugin i-Search - Advanced Live Search scored68%from 54 tests.

About plugin

  • Plugin page: i-search
  • Plugin version: 1.2.0
  • PHP compatiblity: 7.2+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-4.9
  • WordPress version: 6.3.1
  • First release: Sep 12, 2018
  • Latest release: Sep 21, 2018
  • Number of updates: 9
  • Update frequency: every 1.0 days
  • Top authors: all4wp (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /790 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
This plugin's installer ran successfully

Server metrics [RAM: ▲0.13MB] [CPU: ▼2.39ms] Passed 4 tests

Analyzing server-side resources used by i-Search - Advanced Live Search
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.52 ▲0.0537.30 ▼5.84
Dashboard /wp-admin3.49 ▲0.1955.23 ▲6.87
Posts /wp-admin/edit.php3.54 ▲0.1946.37 ▼1.07
Add New Post /wp-admin/post-new.php6.02 ▲0.1488.10 ▼4.06
Media Library /wp-admin/upload.php3.35 ▲0.1234.59 ▲1.42
i-Search /wp-admin/admin.php?page=isrc-opt-page3.6339.64
all4wp Plugins /wp-admin/admin.php?page=all4wp_glob3.38306.53

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

How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 237 new files
Database: 7 new tables, 11 new options
New tables
wp_isearch_shortcodes
wp_isearch_logs
wp_isearch_metadata
wp_isearch
wp_isearch_taxonomy
wp_isearch_temp
wp_isearch_popular
New WordPress options
db_upgraded
isrc_opt_en
can_compress_scripts
isrc_hash
widget_i_search_widged
theysaidso_admin_options
widget_theysaidso_widget
widget_recent-comments
isrc_opt_adv_en
isrc_db_ver
...

Browser metrics Passed 4 tests

An overview of browser requirements for i-Search - Advanced Live Search
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,077 ▲33113.66 ▼0.596.35 ▲4.6240.58 ▼5.04
Dashboard /wp-admin2,398 ▲2074.92 ▼0.9699.37 ▼20.2639.68 ▼4.22
Posts /wp-admin/edit.php2,180 ▲912.07 ▲0.0234.63 ▼3.7431.68 ▼4.23
Add New Post /wp-admin/post-new.php6,366 ▲4,84726.00 ▲2.56906.59 ▲225.0379.14 ▲12.17
Media Library /wp-admin/upload.php1,475 ▲844.24 ▲0.03107.62 ▲4.7843.91 ▲0.01
i-Search /wp-admin/admin.php?page=isrc-opt-page2,0773.7878.00165.47
all4wp Plugins /wp-admin/admin.php?page=all4wp_glob8461.6824.5223.71

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
  • This plugin does not fully uninstall, leaving 7 tables in the database
    • wp_isearch
    • wp_isearch_popular
    • wp_isearch_taxonomy
    • wp_isearch_temp
    • wp_isearch_shortcodes
    • wp_isearch_logs
    • wp_isearch_metadata
  • Zombie WordPress options were found after uninstall: 11 options
    • isrc_opt_adv_en
    • can_compress_scripts
    • widget_theysaidso_widget
    • widget_recent-posts
    • widget_recent-comments
    • isrc_hash
    • theysaidso_admin_options
    • widget_i_search_widged
    • isrc_opt_en
    • db_upgraded
    • ...

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test

SRP 0% 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
The following issues need your attention
  • 1× PHP files perform the action of outputting non-empty strings when accessed directly:
    • > /wp-content/plugins/i-search/all4wp-global/html/footer.php
  • 13× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/i-search/admin/menu/sidebar/sidebar-advanced-contents.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_locale() in wp-content/plugins/i-search/all4wp-global/html/plugins_list.php:16
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/i-search/all4wp-global/html/global_menu_html.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/i-search/admin/menu/sidebar/sidebar-instance-contents.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/i-search/admin/menu/sidebar/sidebar-video-tutorial.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function trailingslashit() in wp-content/plugins/i-search/admin/menu/html-menu-header.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/i-search/admin/menu/sidebar/sidebar-reindex.php:17
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/i-search/admin/menu/html-menu-helper-css-builder.php:4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_the_shortcodes() in wp-content/plugins/i-search/admin/menu/html-nav-menu-admin.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/i-search/admin/menu/sidebar/sidebar-general-contents.php:5

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 94% from 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
  • Tags: Too many tags (41 tag instead of maximum 10); only the first 5 tags are used in your directory listing
The official readme.txt is a good inspiration

i-search/i_search.php 85% from 13 tests

The main file in "i-Search - Advanced Live Search" v. 1.2.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
The following require your attention:
  • Text Domain: The text domain name should consist of only dashes and lowercase characters
  • Main file name: Please rename the main PHP file in this plugin to the plugin slug ("i-search.php" instead of "i_search.php")

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 detected55,256 lines of code in 184 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript886,2455,41429,884
PHP442,6904,26713,810
CSS377352206,412
SVG14954,262
PO File1259282888

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.44
Average class complexity78.69
▷ Minimum class complexity2.00
▷ Maximum class complexity199.00
Average method complexity5.47
▷ Minimum method complexity1.00
▷ Maximum method complexity81.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes13
▷ Abstract classes00.00%
▷ Concrete classes13100.00%
▷ Final classes00.00%
Methods226
▷ Static methods156.64%
▷ Public methods20289.38%
▷ Protected methods2310.18%
▷ Private methods10.44%
Functions84
▷ Named functions84100.00%
▷ Anonymous functions00.00%
Constants25
▷ Global constants1664.00%
▷ Class constants936.00%
▷ Public constants9100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
15 PNG files occupy 0.13MB with 0.05MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
all4wp-global/css/img/all4wplogo.png4.60KB2.42KB▼ 47.40%
admin/help_files/img/popular_help_1.png16.50KB8.75KB▼ 46.98%
admin/menu/css/images/shadow.png3.53KB4.99KB0.00%
admin/menu/css/images/favicon.png18.06KB6.85KB▼ 62.04%
admin/menu/css/jquery-ui/images/ui-icons_ffffff_256x240.png6.17KB4.18KB▼ 32.17%