Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲4.52MB] [CPU: ▲21.33ms] Passed 4 tests
Server-side resources used by Advanced Custom Fields (ACF)
Server-side resource usage in normal parameters
| Page | Memory (MB) | CPU Time (ms) |
|---|---|---|
| Home / | 7.56 ▲4.10 | 62.30 ▲21.72 |
| Dashboard /wp-admin | 7.96 ▲4.62 | 78.49 ▲19.94 |
| Posts /wp-admin/edit.php | 8.02 ▲4.66 | 80.07 ▲30.79 |
| Add New Post /wp-admin/post-new.php | 10.77 ▲4.88 | 113.90 ▲12.86 |
| Media Library /wp-admin/upload.php | 7.91 ▲4.68 | 75.11 ▲41.76 |
| Tools /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools | 7.96 | 64.51 |
| Options Pages /wp-admin/edit.php?post_type=acf-field-group&page=acf_options_preview | 7.89 | 64.65 |
| Field Groups /wp-admin/edit.php?post_type=acf-field-group | 7.94 | 65.18 |
| Taxonomies /wp-admin/edit.php?post_type=acf-taxonomy | 7.95 | 72.10 |
| Post Types /wp-admin/edit.php?post_type=acf-post-type | 7.95 | 72.50 |
Server storage [IO: ▲16.29MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 444 new files
Database: no new tables, 7 new options
| New WordPress options |
|---|
| acf_version |
| can_compress_scripts |
| db_upgraded |
| widget_theysaidso_widget |
| widget_recent-comments |
| theysaidso_admin_options |
| widget_recent-posts |
Browser metrics Passed 4 tests
An overview of browser requirements for Advanced Custom Fields (ACF)
Minimal impact on browser resources
| Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
|---|---|---|---|---|
| Home / | 2,828 ▲66 | 14.13 ▼0.58 | 1.49 ▼0.36 | 37.78 ▼6.39 |
| Dashboard /wp-admin | 2,233 ▲56 | 5.63 ▲0.01 | 94.64 ▲1.96 | 41.58 ▼1.04 |
| Posts /wp-admin/edit.php | 2,141 ▲41 | 2.03 ▲0.08 | 38.90 ▼3.12 | 35.84 ▼4.09 |
| Add New Post /wp-admin/post-new.php | 11,353 ▲9,816 | 26.47 ▲3.34 | 1,220.76 ▲575.74 | 42.43 ▼13.28 |
| Media Library /wp-admin/upload.php | 1,991 ▲594 | 8.33 ▲4.14 | 231.08 ▲132.76 | 49.44 ▲9.10 |
| Tools /wp-admin/edit.php?post_type=acf-field-group&page=acf-tools | 1,656 | 2.86 | 47.28 | 110.78 |
| Options Pages /wp-admin/edit.php?post_type=acf-field-group&page=acf_options_preview | 1,262 | 2.66 | 42.08 | 51.16 |
| Field Groups /wp-admin/edit.php?post_type=acf-field-group | 1,716 | 2.31 | 38.50 | 42.76 |
| Taxonomies /wp-admin/edit.php?post_type=acf-taxonomy | 1,750 | 2.21 | 37.44 | 40.46 |
| Post Types /wp-admin/edit.php?post_type=acf-post-type | 1,746 | 2.33 | 37.65 | 40.95 |
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
You still need to fix the following
-
This plugin did not uninstall successfully, leaving 7 options in the
database
- theysaidso_admin_options
- can_compress_scripts
- widget_recent-posts
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- acf_version
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Everything seems fine, however this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
-
90× PHP files trigger errors when accessed directly with GET requests
(only 10 are shown):
-
> PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/advanced-custom-fields/includes/fields/class-acf-field-post_object.php:5
-
> PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/advanced-custom-fields/includes/acf-bidirectional-functions.php:203
-
> PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/advanced-custom-fields/includes/api/api-template.php:875
-
> PHP Fatal error
Uncaught Error: Call to undefined function acf_register_store() in wp-content/plugins/advanced-custom-fields/includes/acf-helper-functions.php:142
-
> PHP Notice
Undefined variable: rule in wp-content/plugins/advanced-custom-fields/includes/admin/views/acf-field-group/location-rule.php on line 7
-
> PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/advanced-custom-fields/includes/fields/class-acf-field-accordion.php:5
-
> PHP Fatal error
Uncaught Error: Class 'acf_field' not found in wp-content/plugins/advanced-custom-fields/includes/fields/class-acf-field-password.php:5
-
> PHP Fatal error
Uncaught Error: Call to undefined function acf_get_combined_post_type_settings_tabs() in wp-content/plugins/advanced-custom-fields/includes/admin/views/acf-post-type/advanced-settings.php:5
-
> PHP Fatal error
Uncaught Error: Call to undefined function acf_get_url() in wp-content/plugins/advanced-custom-fields/includes/admin/views/acf-field-group/list-empty.php:4
-
> PHP Fatal error
Uncaught Error: Call to undefined function acf_get_location_rule_types() in wp-content/plugins/advanced-custom-fields/includes/admin/views/acf-field-group/location-rule.php:12
-
> PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
5 plugin tags: repeater, custom fields, fields, acf, meta
advanced-custom-fields/acf.php 85% from 13 tests
Analyzing the main PHP file in "Advanced Custom Fields (ACF)" version 6.2.4
The following require your attention:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("advanced-custom-fields.php" instead of "acf.php")
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin192,921 lines of code in
340 files:
| Language | Files | Blank lines | Comment lines | Lines of code |
|---|---|---|---|---|
| PO File | 46 | 47,112 | 71,545 | 113,565 |
| JavaScript | 18 | 5,326 | 7,486 | 39,328 |
| PHP | 164 | 8,018 | 20,827 | 26,446 |
| CSS | 15 | 715 | 1,529 | 13,266 |
| SVG | 96 | 0 | 0 | 301 |
| Markdown | 1 | 12 | 0 | 15 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
All good! No complexity issues found
| Cyclomatic complexity | |
|---|---|
| Average complexity per logical line of code | 0.38 |
| Average class complexity | 18.63 |
| ▷ Minimum class complexity | 1.00 |
| ▷ Maximum class complexity | 110.00 |
| Average method complexity | 3.08 |
| ▷ Minimum method complexity | 1.00 |
| ▷ Maximum method complexity | 59.00 |
| Code structure | ||
|---|---|---|
| Namespaces | 1 | |
| Interfaces | 0 | |
| Traits | 0 | |
| Classes | 114 | |
| ▷ Abstract classes | 3 | 2.63% |
| ▷ Concrete classes | 111 | 97.37% |
| ▷ Final classes | 2 | 1.80% |
| Methods | 956 | |
| ▷ Static methods | 2 | 0.21% |
| ▷ Public methods | 932 | 97.49% |
| ▷ Protected methods | 0 | 0.00% |
| ▷ Private methods | 24 | 2.51% |
| Functions | 558 | |
| ▷ Named functions | 548 | 98.21% |
| ▷ Anonymous functions | 10 | 1.79% |
| Constants | 12 | |
| ▷ Global constants | 10 | 83.33% |
| ▷ Class constants | 2 | 16.67% |
| ▷ Public constants | 2 | 100.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
43 PNG files occupy 0.86MB with 0.28MB in potential savings
Potential savings
| Compression of 5 random PNG files using pngquant | |||
|---|---|---|---|
| File | Size - original | Size - compressed | Savings |
| assets/images/field-type-previews/field-preview-flexible-content.png | 39.20KB | 17.72KB | ▼ 54.80% |
| assets/inc/select2/3/select2x2.png | 0.64KB | 0.77KB | 0.00% |
| assets/inc/datepicker/images/ui-bg_highlight-soft_0_ffffff_1x100.png | 0.08KB | 0.08KB | 0.00% |
| assets/images/field-type-previews/field-preview-group.png | 26.84KB | 12.82KB | ▼ 52.23% |
| assets/images/field-type-previews/field-preview-gallery.png | 7.83KB | 3.66KB | ▼ 53.27% |