10% neeed-dynamic-websites

Code Review | NEEED - Dynamic Websites

WordPress plugin NEEED - Dynamic Websites scored10%from 54 tests.

About plugin

  • Plugin page: neeed-dynamic-web...
  • Plugin version: 0.12.0
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-6.0
  • WordPress version: 6.3.1
  • First release: Dec 19, 2019
  • Latest release: May 26, 2022
  • Number of updates: 15
  • Update frequency: every 59.3 days
  • Top authors: JonasBreuer (100%)

Code review

54 tests

User reviews

1 review

Install metrics

40+ active /912 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Please fix the following installer errors
  • This plugin did not install gracefully
    • > Notice in wp-content/plugins/neeed-dynamic-websites/dynweb-pointer.php+15
    Trying to access array offset on value of type bool

Server metrics [RAM: ▲0.39MB] [CPU: ▼0.47ms] Passed 4 tests

Analyzing server-side resources used by NEEED - Dynamic Websites
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /3.86 ▲0.3948.58 ▲10.47
Dashboard /wp-admin3.69 ▲0.3956.39 ▲3.61
Posts /wp-admin/edit.php3.81 ▲0.4547.85 ▲0.38
Add New Post /wp-admin/post-new.php6.29 ▲0.4183.19 ▼14.37
Media Library /wp-admin/upload.php3.62 ▲0.3941.91 ▲8.50
Help /wp-admin/admin.php?page=dynweb-help3.5837.40
New Rule /wp-admin/admin.php?page=dynweb-editrule3.5848.08
Overview /wp-admin/admin.php?page=dynweb3.5934.99
Settings /wp-admin/admin.php?page=dynweb-settings3.5836.60

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

A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 21 new files
Database: 2 new tables, 9 new options
New tables
wp_dynweb_rules
wp_dynweb_conditions
New WordPress options
db_upgraded
can_compress_scripts
dynweb-options
widget_recent-posts
widget_theysaidso_widget
dynweb-version
widget_recent-comments
dynweb-meta-options
theysaidso_admin_options

Browser metrics 75% from 4 tests

A check of browser resources used by NEEED - Dynamic Websites
Having an awesome user experience is important, so please improve the following
  • Script duration: Try to keep JavaScript execution under 1,500.00ms (currently 1,811.84ms on /wp-admin/admin.php?page=dynweb-help)
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,096 ▲31014.32 ▼0.4119.85 ▲18.0550.70 ▲9.43
Dashboard /wp-admin2,325 ▲1484.95 ▼0.67113.91 ▲28.3851.79 ▲7.46
Posts /wp-admin/edit.php2,247 ▲1472.54 ▲0.5436.07 ▲2.3032.34 ▼2.46
Add New Post /wp-admin/post-new.php1,653 ▲12720.86 ▼2.40699.74 ▲25.6533.00 ▼26.04
Media Library /wp-admin/upload.php1,530 ▲1274.59 ▲0.43116.30 ▲17.6950.55 ▲6.06
Help /wp-admin/admin.php?page=dynweb-help6,06660.731,811.8496.38
New Rule /wp-admin/admin.php?page=dynweb-editrule1,5432.4570.4761.82
Overview /wp-admin/admin.php?page=dynweb9892.0035.4649.92
Settings /wp-admin/admin.php?page=dynweb-settings9962.0142.4431.83

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
The following items require your attention
  • This plugin does not fully uninstall, leaving 2 tables in the database
    • wp_dynweb_conditions
    • wp_dynweb_rules
  • This plugin did not uninstall successfully, leaving 8 options in the database
    • can_compress_scripts
    • widget_recent-comments
    • widget_theysaidso_widget
    • dynweb-meta-options
    • dynweb-options
    • theysaidso_admin_options
    • widget_recent-posts
    • db_upgraded

Smoke tests Passed 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected

SRP Passed 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 SRP test was a success

User-side errors Passed 1 test

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

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
5 plugin tags: dynamic content, conditional content, individual content, personalization, conversion optimization

neeed-dynamic-websites/neeed-dynamic-websites.php 92% from 13 tests

The principal PHP file in "NEEED - Dynamic Websites" v. 0.12.0 is loaded by WordPress automatically on each request
The following require your attention:
  • Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 146 characters long)

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
Success! There were no dangerous files found in this plugin1,463 lines of code in 16 files:
LanguageFilesBlank linesComment linesLines of code
PHP728435871
JavaScript512010424
CSS4439168

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.30
Average class complexity16.71
▷ Minimum class complexity7.00
▷ Maximum class complexity46.00
Average method complexity3.56
▷ Minimum method complexity1.00
▷ Maximum method complexity13.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes7
▷ Abstract classes00.00%
▷ Concrete classes7100.00%
▷ Final classes00.00%
Methods44
▷ Static methods44100.00%
▷ Public methods44100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions1
▷ Named functions00.00%
▷ Anonymous functions1100.00%
Constants6
▷ Global constants6100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
4 PNG files occupy 0.02MB with 0.00MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant
FileSize - originalSize - compressedSavings
css/images/ui-icons_777620_256x240.png4.44KB4.17KB▼ 6.02%
css/images/ui-icons_ffffff_256x240.png6.15KB4.17KB▼ 32.13%
css/images/ui-icons_3b3b3b_256x240.png6.82KB4.17KB▼ 38.82%
css/images/ui-icons_cc0000_256x240.png4.44KB4.17KB▼ 6.02%