89% folders

Code Review | Folders - Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager

WordPress plugin Folders - Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager scored89%from 54 tests.

About plugin

  • Plugin page: folders
  • Plugin version: 3.0
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0.0-6.4
  • WordPress version: 6.3.1
  • First release: May 1, 2015
  • Latest release: Nov 30, 2023
  • Number of updates: 365
  • Update frequency: every 8.6 days
  • Top authors: galdub (71.51%)tex0gen (15.34%)premiocommit (13.7%)

Code review

54 tests

User reviews

1243 reviews

Install metrics

70,000+ active /1,130,846 total downloads

Benchmarks

Plugin footprint 82% 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 successfully, without throwing any errors or notices

Server metrics [RAM: ▲1.69MB] [CPU: ▲9.92ms] 75% from 4 tests

Server-side resources used by Folders - Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager
The following require your attention
  • CPU: Total CPU usage must kept under 500.00ms (currently 2,826.47ms on /wp-admin/admin.php?page=recommended-folder-plugins)
PageMemory (MB)CPU Time (ms)
Home /4.99 ▲1.5349.91 ▲5.19
Dashboard /wp-admin4.96 ▲1.6156.44 ▼4.87
Posts /wp-admin/edit.php5.17 ▲1.8181.39 ▲37.35
Add New Post /wp-admin/post-new.php7.71 ▲1.8299.02 ▲2.83
Media Library /wp-admin/upload.php5.07 ▲1.8469.52 ▲36.52
Folders Settings /wp-admin/admin.php?page=wcp_folders_settings4.8745.68
Replace media /wp-admin/admin.php?page=folders-replace-media4.7639.73
Recommended Plugins /wp-admin/admin.php?page=recommended-folder-plugins5.242,826.47
Media Cleaning /wp-admin/upload.php?page=folders-media-cleaning4.8542.82
Upgrade to Pro ⭐️ /wp-admin/admin.php?page=folders-upgrade-to-pro5.1048.45

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

Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 107 new files
Database: no new tables, 21 new options
New WordPress options
folders_settings
premio_folder_options
folders_show_affiliate_box_after
folder_redirect_status
can_compress_scripts
selected_post_folder_folder
folders_term_meta_migrated
theysaidso_admin_options
folders_show_in_menu
folder_intro_box
...

Browser metrics Passed 4 tests

Checking browser requirements for Folders - Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,834 ▲8714.14 ▼0.141.79 ▼0.0637.00 ▼6.57
Dashboard /wp-admin2,236 ▲585.63 ▲0.0095.28 ▼18.0744.69 ▲0.65
Posts /wp-admin/edit.php3,386 ▲1,2863.43 ▲1.40105.10 ▲69.13128.89 ▲91.46
Add New Post /wp-admin/post-new.php1,621 ▲9523.54 ▲0.35680.42 ▲26.4647.41 ▼2.94
Media Library /wp-admin/upload.php3,030 ▲1,6364.97 ▲0.80175.52 ▲80.29112.21 ▲72.38
Folders Settings /wp-admin/admin.php?page=wcp_folders_settings1,5982.0031.7274.02
Replace media /wp-admin/admin.php?page=folders-replace-media7211.389.3120.20
Recommended Plugins /wp-admin/admin.php?page=recommended-folder-plugins1,2002.0231.0649.05
Media Cleaning /wp-admin/upload.php?page=folders-media-cleaning1,3378.14146.8059.02
Upgrade to Pro ⭐️ /wp-admin/admin.php?page=folders-upgrade-to-pro5,2032.6064.6798.85

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
Please fix the following items
  • This plugin does not fully uninstall, leaving 21 options in the database
    • folders_checked_for_thrive_conflict
    • widget_theysaidso_widget
    • folders_show_in_menu
    • folders_show_review_box_after
    • premio_folder_options
    • widget_recent-posts
    • widget_recent-comments
    • theysaidso_admin_options
    • folders_show_affiliate_box_after
    • selected_media_folder_folder
    • ...

Smoke tests Passed 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 Passed 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
No output text or server-side errors detected on direct access of PHP files

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 93% 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 to be fixed:
  • Tags: Please delete some tags, you are using 12 tag instead of maximum 10
You can take inspiration from this readme.txt

folders/folders.php 92% from 13 tests

The main file in "Folders - Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager" v. 3.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
  • Description: Keep the plugin description shorter than 140 characters (currently 145 characters long)

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 detected33,725 lines of code in 66 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript198262,60814,727
PHP241,6491,99013,718
CSS204304484,905
SVG210374
JSON1001

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity
Average complexity per logical line of code0.50
Average class complexity144.30
▷ Minimum class complexity9.00
▷ Maximum class complexity986.00
Average method complexity8.46
▷ Minimum method complexity1.00
▷ Maximum method complexity72.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes10
▷ Abstract classes00.00%
▷ Concrete classes10100.00%
▷ Final classes00.00%
Methods192
▷ Static methods168.33%
▷ Public methods19199.48%
▷ Protected methods00.00%
▷ Private methods10.52%
Functions5
▷ Named functions360.00%
▷ Anonymous functions240.00%
Constants5
▷ Global constants5100.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
15 compressed PNG files occupy 0.07MB
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/plus-price.png10.04KB10.59KB0.00%
assets/images/rating-top.png3.19KB3.32KB0.00%
assets/images/color-popup.png7.10KB7.20KB0.00%
assets/images/40px.png1.40KB1.50KB0.00%
assets/images/form-loader.png0.11KB0.11KB0.00%