Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Please fix the following installer errors
- Install procedure had errors
- > Warning in wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporter/AffiliateImporterAbstract.php+548
file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
Server metrics [RAM: ▼1.17MB] [CPU: ▼180.58ms] Passed 4 tests
Server-side resources used by AffiliateImporterBg
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.22 ▲0.39 | 40.93 ▲2.66 |
Dashboard /wp-admin | 2.48 ▼0.58 | 12.30 ▼29.38 |
Posts /wp-admin/edit.php | 2.48 ▼0.63 | 13.01 ▼34.80 |
Add New Post /wp-admin/post-new.php | 2.48 ▼2.96 | 16.75 ▼635.47 |
Media Library /wp-admin/upload.php | 2.48 ▼0.53 | 12.03 ▼22.67 |
Backup / Restore /wp-admin/admin.php?page=bgdn-backup | 2.48 | 14.26 |
Statistics /wp-admin/admin.php?page=bgdn-stats | 2.48 | 10.97 |
Add product /wp-admin/admin.php?page=bgdn-add | 2.48 | 16.83 |
Support /wp-admin/admin.php?page=bgdn-support | 2.48 | 14.82 |
Shedule /wp-admin/admin.php?page=bgdn-schedule | 2.48 | 13.90 |
Status /wp-admin/admin.php?page=bgdn-status | 2.48 | 12.28 |
AffImporterBg /wp-admin/admin.php?page=bgdn | 2.48 | 12.83 |
Settings /wp-admin/admin.php?page=bgdn-settings | 2.48 | 23.16 |
Server storage [IO: ▲8.61MB] [DB: ▲0.01MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 865 new files
Database: 6 new tables, 1 new option
New tables |
---|
wp_bgdn_goods_archive |
wp_bgdn_price_formula |
wp_bgdn_stats |
wp_bgdn_goods |
wp_bgdn_blacklist |
wp_bgdn_account |
New WordPress options |
---|
recovery_mode_email_last_sent |
Browser metrics Passed 4 tests
An overview of browser requirements for AffiliateImporterBg
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,806 ▲211 | 16.84 ▲0.87 | 10.94 ▲1.96 | 47.52 ▼1.67 |
Dashboard /wp-admin | 3,072 ▲144 | 7.15 ▲1.16 | 151.74 ▼1.65 | 135.68 ▲26.99 |
Posts /wp-admin/edit.php | 2,842 ▲103 | 2.84 ▲0.14 | 77.80 ▲17.24 | 124.83 ▲40.56 |
Add New Post /wp-admin/post-new.php | 1,972 ▲357 | 15.71 ▼5.82 | 423.78 ▲127.02 | 108.16 ▲0.08 |
Media Library /wp-admin/upload.php | 1,860 ▲53 | 5.53 ▲0.47 | 143.81 ▼3.52 | 138.78 ▲16.31 |
Backup / Restore /wp-admin/admin.php?page=bgdn-backup | 1,527 | 2.86 | 57.70 | 109.47 |
Statistics /wp-admin/admin.php?page=bgdn-stats | 1,564 | 2.86 | 64.98 | 95.99 |
Add product /wp-admin/admin.php?page=bgdn-add | 1,102 | 2.25 | 36.48 | 56.14 |
Support /wp-admin/admin.php?page=bgdn-support | 1,286 | 2.67 | 55.73 | 85.42 |
Shedule /wp-admin/admin.php?page=bgdn-schedule | 1,546 | 2.86 | 64.74 | 103.09 |
Status /wp-admin/admin.php?page=bgdn-status | 1,298 | 2.31 | 46.58 | 91.46 |
AffImporterBg /wp-admin/admin.php?page=bgdn | 1,508 | 2.69 | 64.02 | 122.70 |
Settings /wp-admin/admin.php?page=bgdn-settings | 2,459 | 2.90 | 76.06 | 125.83 |
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
Please fix the following items
- This plugin cannot be uninstalled
- > Warning in wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporter/AffiliateImporterAbstract.php+548
file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
- This plugin did not uninstall successfully, leaving 1 option in the database
- recovery_mode_email_last_sent
Smoke tests 25% 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
- 9 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=bgdn-settings
- > Warning in wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporter/AffiliateImporterAbstract.php+548
file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
- 9 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=bgdn-settings
- > Warning in wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporter/AffiliateImporterAbstract.php+548
file_get_contents(http://...@potrivit.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known
- 16 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=bgdn-settings
- > Deprecated in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Node.php+198
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
- > GET request to /wp-admin/admin.php?page=bgdn-status
- > Error in wp-content/plugins/affiliateimporterbg/layout/status.php+58
Uncaught Error: Call to undefined function woocommerce_let_to_num() in wp-content/plugins/affiliateimporterbg/layout/status.php:58
Stack trace:
#0 wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporter/Pages/Status.php(16): include()
#1 wp-includes/class-wp-hook.php(303): Dnolbon\AffiliateImporter\Pages\Status->render()
#2 wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters()
#3 wp-includes/plugin.php(470): WP_Hook->do_action()
#4 wp-admin/admin.php(259): do_action()
#5 {main}
thrown- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=bgdn-settings
- > Notice in wp-content/plugins/affiliateimporterbg/src/Dnolbon/WooCommerce/Categories/Categories.php+18
Undefined index: parent
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
- 293× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Binary' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Binary' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php:11
- > PHP Fatal error
Uncaught Error: Class 'Twig_Error' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Error/Loader.php:25
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Call' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Test' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php:17
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/test/Twig/Tests/Node/ImportTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Extension' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/Extension/Staging.php:21
- > PHP Fatal error
Uncaught Error: Class 'Dnolbon\\AffiliateImporter\\Configurator\\ConfiguratorAbstract' not found in wp-content/plugins/affiliateimporterbg/src/Dnolbon/AffiliateImporterEbay/AffiliateImporterEbayConfigurator.php:8
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/test/Twig/Tests/CustomExtensionTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_TokenParser' not found in wp-content/plugins/affiliateimporterbg/vendor/twig/twig/lib/Twig/TokenParser/Block.php:25
- > PHP Fatal error
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=bgdn-support
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.8.1 1:31592 "jQuery.Deferred exception: Cannot read properties of undefined (reading 'replace')" "TypeError: Cannot read properties of undefined (reading 'replace')\n at setActivePage (/wp-admin/admin.php?page=bgdn-support:248:87)\n at HTMLDocument.\u003Canonymous> (/wp-admin/admin.php?page=bgdn-support:238:9)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.8.1:2:30038)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.8.1:2:30340)" undefined
- > GET request to /wp-admin/admin.php?page=bgdn-support
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.8.1 1:31702 Uncaught TypeError: Cannot read properties of undefined (reading 'replace')
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
These attributes need to be fixed:
- Screenshots: These screenshots do not have images: #1 (This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from), #2 (This is the second screen shot)
- Tags: You are using too many tags: 11 tag instead of maximum 10
affiliateimporterbg/AffiliateImporterBg.php 92% from 13 tests
The entry point to "AffiliateImporterBg" version 1.0 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Main file name: Name the main plugin file the same as the plugin slug ("affiliateimporterbg.php" instead of "AffiliateImporterBg.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Good job! No executable or dangerous file extensions detected42,065 lines of code in 536 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 382 | 5,134 | 8,071 | 23,906 |
CSS | 7 | 858 | 21 | 4,841 |
JSON | 12 | 0 | 0 | 3,925 |
reStructuredText | 89 | 2,387 | 2,111 | 3,349 |
JavaScript | 6 | 320 | 56 | 2,400 |
HTML | 23 | 118 | 0 | 1,378 |
SVG | 2 | 0 | 0 | 1,301 |
C | 1 | 172 | 184 | 859 |
YAML | 1 | 8 | 1 | 35 |
XML | 2 | 4 | 0 | 31 |
C/C++ Header | 1 | 7 | 13 | 15 |
Twig | 8 | 6 | 0 | 14 |
Markdown | 1 | 3 | 0 | 6 |
m4 | 1 | 2 | 1 | 5 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 6.71 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 147.00 |
Average method complexity | 2.27 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 91.00 |
Code structure | ||
---|---|---|
Namespaces | 29 | |
Interfaces | 31 | |
Traits | 0 | |
Classes | 378 | |
▷ Abstract classes | 28 | 7.41% |
▷ Concrete classes | 350 | 92.59% |
▷ Final classes | 4 | 1.14% |
Methods | 1,949 | |
▷ Static methods | 55 | 2.82% |
▷ Public methods | 1,708 | 87.63% |
▷ Protected methods | 204 | 10.47% |
▷ Private methods | 37 | 1.90% |
Functions | 66 | |
▷ Named functions | 59 | 89.39% |
▷ Anonymous functions | 7 | 10.61% |
Constants | 50 | |
▷ Global constants | 2 | 4.00% |
▷ Class constants | 48 | 96.00% |
▷ Public constants | 48 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
27 PNG files occupy 0.84MB with 0.50MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/logo.png | 15.83KB | 0.73KB | ▼ 95.42% |
assets/screenshots/AddProduct.png | 260.55KB | 71.71KB | ▼ 72.48% |
assets/screenshots/Dashboard.png | 239.08KB | 66.30KB | ▼ 72.27% |
assets/img/toolbar/dashboard.png | 1.69KB | 1.17KB | ▼ 30.92% |
assets/img/toolbar/status_active.png | 2.31KB | 1.73KB | ▼ 25.18% |