68% wp-facebook-pixel

Code Review | remarketable

WordPress plugin remarketable scored68%from 54 tests.

About plugin

  • Plugin page: wp-facebook-pixel
  • Plugin version: 5.2
  • PHP compatiblity: 5.2.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-5.2.2
  • WordPress version: 6.3.1
  • First release: Dec 10, 2015
  • Latest release: Aug 20, 2019
  • Number of updates: 108
  • Update frequency: every 12.5 days
  • Top authors: jacobmhulse (100%)

Code review

54 tests

User reviews

20 reviews

Install metrics

1,000+ active /43,569 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors

Server metrics [RAM: ▼0.80MB] [CPU: ▼27.10ms] Passed 4 tests

A check of server-side resources used by remarketable
This plugin has minimal impact on server resources
PageMemory (MB)CPU Time (ms)
Home /3.16 ▼0.3031.71 ▼11.59
Dashboard /wp-admin3.21 ▼0.0935.45 ▼12.50
Posts /wp-admin/edit.php3.21 ▼0.1433.18 ▼19.26
Add New Post /wp-admin/post-new.php3.21 ▼2.6730.59 ▼65.04
Media Library /wp-admin/upload.php3.21 ▼0.0133.36 ▼7.95
remarketable /wp-admin/options-general.php?page=nsa_wpfbp_settings3.2132.37

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

Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 322 new files
Database: no new tables, 7 new options
New WordPress options
nsa_wpfbp_first_activate_date
widget_recent-posts
can_compress_scripts
widget_theysaidso_widget
db_upgraded
theysaidso_admin_options
widget_recent-comments

Browser metrics Passed 4 tests

This is an overview of browser requirements for remarketable
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,921 ▲13513.50 ▼1.049.47 ▲6.8543.62 ▲3.62
Dashboard /wp-admin2,242 ▲625.69 ▲0.0293.22 ▲2.6049.53 ▲8.71
Posts /wp-admin/edit.php2,144 ▲442.07 ▲0.0942.64 ▲2.5437.98 ▼1.60
Add New Post /wp-admin/post-new.php6,428 ▲4,90226.09 ▲3.08905.73 ▲207.8362.94 ▲7.01
Media Library /wp-admin/upload.php1,444 ▲474.25 ▲0.04103.17 ▲3.6346.58 ▲1.24
remarketable /wp-admin/options-general.php?page=nsa_wpfbp_settings1,0452.2626.1841.56

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
  • The plugin did not uninstall gracefully
    • > Notice in wp-content/plugins/wp-facebook-pixel/wp-facebook-pixel.php+184
    Trying to access array offset on value of type bool
  • Zombie WordPress options were found after uninstall: 7 options
    • widget_recent-posts
    • theysaidso_admin_options
    • can_compress_scripts
    • nsa_wpfbp_first_activate_date
    • widget_recent-comments
    • widget_theysaidso_widget
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Please fix the following server-side errors
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/options-general.php?page=nsa_wpfbp_settings
    • > Notice in wp-content/plugins/wp-facebook-pixel/wp-facebook-pixel.php+185
    Trying to access array offset on value of type bool

SRP 50% 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
  • 6× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/wp-facebook-pixel/framework/PluginOptions.php:4
    • > PHP Notice
      Trying to get property 'plugin_root_dir_url' of non-object in wp-content/plugins/wp-facebook-pixel/inc/support.php on line 7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-facebook-pixel/inc/CMB2/init.php:119
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-facebook-pixel/framework/MetaBox.php:110
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_html() in wp-content/plugins/wp-facebook-pixel/inc/support.php:19
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-facebook-pixel/assets/NSAFaceBookPixel.php:25

User-side errors Passed 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found

Optimizations

Plugin configuration 97% 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
Attributes that need to be fixed:
  • Tags: Too many tags (12 tag instead of maximum 10); only the first 5 tags are used in your directory listing
The official readme.txt might help

wp-facebook-pixel/wp-facebook-pixel.php Passed 13 tests

"remarketable" version 5.2's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
97 characters long description:
(Formerly WP Facebook Pixel) Simply the most feature rich re-marketing pixel and tag plugin ever!

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
No dangerous file extensions were detected45,032 lines of code in 174 files:
LanguageFilesBlank linesComment linesLines of code
PO File11912,73116,33529,151
CSS102,0462,0508,645
PHP231,5572,7374,532
Sass11174231,931
JavaScript11204141773

PHP code Passed 2 tests

Analyzing logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.46
Average class complexity34.41
▷ Minimum class complexity1.00
▷ Maximum class complexity130.00
Average method complexity3.72
▷ Minimum method complexity1.00
▷ Maximum method complexity18.00
Code structure
Namespaces0
Interfaces1
Traits0
Classes21
▷ Abstract classes14.76%
▷ Concrete classes2095.24%
▷ Final classes00.00%
Methods270
▷ Static methods238.52%
▷ Public methods25494.07%
▷ Protected methods103.70%
▷ Private methods62.22%
Functions41
▷ Named functions3073.17%
▷ Anonymous functions1126.83%
Constants7
▷ Global constants342.86%
▷ Class constants457.14%
▷ Public constants4100.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
15 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
inc/CMB2/images/ui-bg_flat_0_aaaaaa_40x100.png0.18KB0.08KB▼ 51.67%
inc/CMB2/images/ui-icons_222222_256x240.png4.27KB4.11KB▼ 3.78%
inc/CMB2/images/ui-bg_highlight-soft_75_cccccc_1x100.png0.10KB0.17KB0.00%
inc/CMB2/images/ui-bg_flat_75_ffffff_40x100.png0.17KB0.08KB▼ 51.12%
inc/images/newtab.png0.30KB0.35KB0.00%