78% awesome-logos

Code Review | Awesome Logos

WordPress plugin Awesome Logos scored 78% from 54 tests.

About plugin

  • Plugin page: awesome-logos
  • Plugin version: 1.2
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0-4.9.4
  • WordPress version: 5.8.1
  • First release: Dec 4, 2015
  • Latest release: Feb 27, 2018
  • Number of updates: 30
  • Update frequency: every 27.2 days
  • Top authors: wpshopee (100%)

Code review

54 tests

User reviews

5 reviews

Install metrics

800+ active / 12,765 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.34MB] [CPU: ▼143.05ms] Passed 4 tests

A check of server-side resources used by Awesome Logos
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /3.16 ▲0.4339.66 ▲18.00
Dashboard /wp-admin3.40 ▲0.3440.93 ▼4.57
Posts /wp-admin/edit.php3.48 ▲0.3747.01 ▲0.96
Add New Post /wp-admin/post-new.php5.76 ▲0.3290.15 ▼569.62
Media Library /wp-admin/upload.php3.34 ▲0.3333.51 ▲1.03
Add New Slide /wp-admin/post-new.php?post_type=wps_logos3.4049.00
Logos Dashboard /wp-admin/edit.php?post_type=wps_logos&page=awesome-logos-manage3.3132.86
Categories /wp-admin/edit-tags.php?taxonomy=awesome-logos-cat&post_type=wps_logos3.3329.76
All Slides /wp-admin/edit.php?post_type=wps_logos3.3838.66

Server storage [IO: ▲1.16MB] [DB: ▲0.00MB] Passed 3 tests

Analyzing filesystem and database footprints of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 72 new files
Database: 2 new tables, 2 new options
New tables
wp_wps_awesome_logos_meta
wp_wps_awesome_logos
New WordPress options
widget_wps_awesome_logos_class
wps_awesome_logos_ver

Browser metrics Passed 4 tests

This is an overview of browser requirements for Awesome Logos
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,858 ▲26216.66 ▲0.9611.67 ▲2.1645.85 ▼5.13
Dashboard /wp-admin3,058 ▲1276.84 ▲0.89144.34 ▼9.49112.46 ▼4.27
Posts /wp-admin/edit.php2,808 ▲692.76 ▲0.0476.71 ▲12.0895.80 ▲0.96
Add New Post /wp-admin/post-new.php1,665 ▼1822.60 ▲3.85276.19 ▼93.28118.38 ▲2.69
Media Library /wp-admin/upload.php1,873 ▲665.50 ▲0.48134.39 ▼26.54110.40 ▼20.22
Add New Slide /wp-admin/post-new.php?post_type=wps_logos2,5255.12105.38103.55
Logos Dashboard /wp-admin/edit.php?post_type=wps_logos&page=awesome-logos-manage1,3912.8579.77106.78
Categories /wp-admin/edit-tags.php?taxonomy=awesome-logos-cat&post_type=wps_logos1,8102.7862.6984.75
All Slides /wp-admin/edit.php?post_type=wps_logos1,4992.7871.0776.79

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% 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
  • Zombie WordPress options detected upon uninstall: 1 option
    • widget_wps_awesome_logos_class

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
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 items
  • 1× PHP files perform the action of outputting non-empty strings when accessed directly:
    • > /wp-content/plugins/awesome-logos/awesome-logos.php
  • 2× PHP files trigger server errors when accessed directly:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_admin() in wp-content/plugins/awesome-logos/settings/settings.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/awesome-logos/modules/embed.php:2

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser issues were found

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 88% 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: You are using too many tags: 22 tag instead of maximum 10
  • Screenshots: Please describe screenshot #7 in awesome-logos/assets to your readme.txt
The official readme.txt might help

awesome-logos/awesome-logos.php Passed 13 tests

"Awesome Logos" version 1.2's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
96 characters long description:
Awesome Logos to show slider carousel and grids of brands, partners logos or to showcase photos.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Success! There were no dangerous files found in this plugin4,902 lines of code in 21 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript82855001,890
PHP790651,563
CSS5481641,432
SVG10017

PHP code Passed 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.28
Average class complexity6.00
▷ Minimum class complexity6.00
▷ Maximum class complexity6.00
Average method complexity2.25
▷ Minimum method complexity1.00
▷ Maximum method complexity4.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes1
▷ Abstract classes00.00%
▷ Concrete classes1100.00%
▷ Final classes00.00%
Methods4
▷ Static methods00.00%
▷ Public methods4100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions21
▷ Named functions21100.00%
▷ Anonymous functions00.00%
Constants5
▷ Global constants5100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
46 PNG files occupy 0.77MB with 0.44MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
images/nav/b3.png0.49KB0.36KB▼ 27.44%
images/sort_desc.png1.10KB0.25KB▼ 77.73%
images/arow/a6.png12.96KB6.30KB▼ 51.37%
images/arow/a9.png2.42KB1.57KB▼ 35.40%
images/overlay.png0.98KB0.09KB▼ 90.43%