10% quick-adsense-reloaded

Code Review | Ads by WPQUADS - Best Ads & Adsense Ads Plugin for WP & AMP

WordPress plugin Ads by WPQUADS - Best Ads & Adsense Ads Plugin for WP & AMP scored 10% from 54 tests.

About plugin

  • Plugin page: quick-adsense-rel...
  • Plugin version: 2.0.44
  • PHP compatiblity: 5.4+
  • PHP version: 7.4.16
  • WordPress version: 5.9.2
  • First release: Dec 4, 2015
  • Latest release: Mar 16, 2022
  • Number of updates: 415
  • Update frequency: every 5.5 days
  • Top authors: ReneHermi (54.22%)wpquads (46.02%)

Code review

54 tests

User reviews

1067 reviews

Install metrics

50,000+ active / 3,059,324 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
It is recommended to fix the following installer errors
  • This plugin did not install gracefully
    • > Warning in wp-includes/functions.php+7280
    unlink(wp-content/mu-plugins/wpquads_remove_shortcode.php): No such file or directory

Server metrics [RAM: ▲3.04MB] [CPU: ▼274.28ms] Passed 4 tests

An overview of server-side resources used by Ads by WPQUADS - Best Ads & Adsense Ads Plugin for WP & AMP
This plugin has minimal impact on server resources
PageMemory (MB)CPU Time (ms)
Home /6.12 ▲2.6068.66 ▲15.94
Dashboard /wp-admin6.57 ▲3.1653.70 ▲16.56
Posts /wp-admin/edit.php6.85 ▲3.2162.18 ▲25.78
Add New Post /wp-admin/post-new.php10.16 ▲3.18113.39 ▼1,145.07
Media Library /wp-admin/upload.php6.51 ▲3.2142.82 ▲15.44
Ads /wp-admin/admin.php?page=quads-settings6.5146.90
Return to Classic view /wp-admin/admin.php?page=quads_switch_to_old6.4843.68
Settings /wp-admin/admin.php?page=quads-settings&path=settings6.7853.11
Upgrade to PRO /wp-admin/admin.php?page=quads-addons6.4948.37

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

How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 236 new files
Database: 1 new table, 12 new options
New tables
wp_quads_stats
New WordPress options
quadsAdReset
quads_vi_settings
quadsAdReset_optionsDeleted
quads_vi_variant
quads_rating_div
quadsAdResetDeleted
quads_settings
quads_show_theme_notice
quads-mode
quads_install_date
...

Browser metrics Passed 4 tests

An overview of browser requirements for Ads by WPQUADS - Best Ads & Adsense Ads Plugin for WP & AMP
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /4,267 ▲51316.65 ▲0.879.81 ▲3.812.74 ▲0.31
Dashboard /wp-admin3,214 ▲3566.97 ▲0.76126.02 ▼10.24171.44 ▲15.85
Posts /wp-admin/edit.php2,989 ▲2953.40 ▲0.1673.36 ▲8.74148.43 ▲7.06
Add New Post /wp-admin/post-new.php1,831 ▲7918.84 ▼3.10407.07 ▼30.28186.33 ▲30.04
Media Library /wp-admin/upload.php2,000 ▲3025.92 ▲0.39132.65 ▼14.77202.90 ▲14.44
Ads /wp-admin/admin.php?page=quads-settings1,68311.00267.85224.87
Return to Classic view /wp-admin/admin.php?page=quads_switch_to_old9,5187.29132.85281.40
Settings /wp-admin/admin.php?page=quads-settings&path=settings8,8427.09113.72276.19
Upgrade to PRO /wp-admin/admin.php?page=quads-addons2,3082.9267.36402.78

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
These items require your attention
  • Zombie tables were found after uninstall: 1 table
    • wp_quads_stats
  • This plugin did not uninstall successfully, leaving 12 options in the database
    • quads_vi_settings
    • quads_settings
    • quads_vi_variant
    • quads-mode
    • quads_version
    • quads_install_date
    • quadsAdReset
    • widget_quads_ads_widget
    • quads_show_theme_notice
    • quadsAdReset_optionsDeleted
    • ...

Smoke tests 25% 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)
The smoke test was a success, however most plugin functionality was not tested

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
  • 5× PHP files output non-empty strings when accessed directly via GET requests:
    • > /wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/notices.php
    • > /wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/partials/header.php
    • > /wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/partials/footer.php
    • > /wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/signup.php
    • > /wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/error.php
  • 53× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to a member function getRevenue() on null in wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/revenue.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'wpquads\\ElementsWithOptions' not found in wp-content/plugins/quick-adsense-reloaded/includes/Forms/Elements/Check.php:11
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/quick-adsense-reloaded/includes/api.php:74
    • > PHP Notice
      Undefined variable: loginAPI in wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/login.php on line 28
    • > PHP Fatal error
      Uncaught Error: Class 'wpquads\\Elements' not found in wp-content/plugins/quick-adsense-reloaded/includes/Forms/Elements/Password.php:11
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/quick-adsense-reloaded/includes/admin/views/deactivate-feedback.php:3
    • > PHP Fatal error
      Uncaught Error: Class 'wpquads\\Elements' not found in wp-content/plugins/quick-adsense-reloaded/includes/Forms/Elements/Email.php:10
    • > PHP Notice
      Undefined variable: message in wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/notices.php on line 12
    • > PHP Warning
      Use of undefined constant QUADS_PLUGIN_URL - assumed 'QUADS_PLUGIN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/quick-adsense-reloaded/includes/vendor/vi/views/notices.php on line 13
    • > PHP Fatal error
      Uncaught Error: Class 'wpquads\\Elements' not found in wp-content/plugins/quick-adsense-reloaded/includes/Forms/Elements/File.php:10

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please take a look at the following user-side issues
    • > GET request to /wp-admin/admin.php?page=quads-settings
    • > Network (severe)
    wp-content/plugins/quick-adsense-reloaded/admin/react/sample.js?ver=2.0.44 - Failed to load resource: the server responded with a status of 404 (Not Found)

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
These attributes need your attention:
  • Requires at least: Invalid plugin version format
You can take inspiration from this readme.txt

quick-adsense-reloaded/quick-adsense-reloaded.php 85% from 13 tests

"Ads by WPQUADS - Best Ads & Adsense Ads Plugin for WP & AMP" version 2.0.44's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
You should first fix the following items:
  • Domain Path: You should use only dashes and lowercase characters for the domain path ("languages")
  • Domain Path: Prefix the domain path with a forward slash character ("/languages")

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
No dangerous file extensions were detected30,992 lines of code in 146 files:
LanguageFilesBlank linesComment linesLines of code
PHP933,8965,59818,618
JavaScript338865676,323
CSS109213615,356
PO File2200210568
Markdown333058
JSON21052
Sass31117

PHP code 50% from 2 tests

A brief analysis of cyclomatic complexity and code structure for this plugin
Please fix the following
  • Cyclomatic complexity of methods should be reduced to less than 100 (currently 109)
Cyclomatic complexity
Average complexity per logical line of code0.50
Average class complexity28.64
▷ Minimum class complexity1.00
▷ Maximum class complexity280.00
Average method complexity4.80
▷ Minimum method complexity1.00
▷ Maximum method complexity109.00
Code structure
Namespaces5
Interfaces2
Traits0
Classes58
▷ Abstract classes35.17%
▷ Concrete classes5594.83%
▷ Final classes11.82%
Methods465
▷ Static methods183.87%
▷ Public methods39885.59%
▷ Protected methods265.59%
▷ Private methods418.82%
Functions356
▷ Named functions32290.45%
▷ Anonymous functions349.55%
Constants25
▷ Global constants936.00%
▷ Class constants1664.00%
▷ Public constants16100.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
78 PNG files occupy 0.37MB with 0.15MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
admin/assets/js/src/images/double_click_icon.png2.11KB1.64KB▼ 22.49%
assets/images/align_1.png1.09KB0.18KB▼ 83.72%
admin/assets/js/src/images/adpushup.png1.05KB1.05KB0.09%
assets/images/vi-logo-white.png4.59KB2.58KB▼ 43.74%
admin/assets/js/src/images/bg_ad.png6.49KB2.78KB▼ 57.14%