Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲0.14MB] [CPU: ▼10.17ms] Passed 4 tests
Analyzing server-side resources used by Insert Amz Images
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.61 ▲0.15 | 39.33 ▼6.63 |
Dashboard /wp-admin | 3.46 ▲0.11 | 50.51 ▼13.43 |
Posts /wp-admin/edit.php | 3.57 ▲0.21 | 51.59 ▲2.46 |
Add New Post /wp-admin/post-new.php | 6.04 ▲0.15 | 87.40 ▼22.28 |
Media Library /wp-admin/upload.php | 3.38 ▲0.15 | 38.56 ▲1.65 |
Insert Amz Images /wp-admin/options-general.php?page=AmazonImages | 3.35 | 34.30 |
Server storage [IO: ▲6.42MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 498 new files
Database: no new tables, 22 new options
New WordPress options |
---|
db_upgraded |
AmazonImages\AmazonImagesTagUs |
widget_recent-comments |
AmazonImages\AmazonImagesNoFollowLinks |
AmazonImages\AmazonImagesAccessKey |
AmazonImages\AmazonImagesTagCa |
AmazonImages\AmazonImagesSecretKey |
theysaidso_admin_options |
AmazonImages\AmazonImagesTagFr |
widget_recent-posts |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Insert Amz Images
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,800 ▲54 | 14.35 ▼0.38 | 1.63 ▼0.04 | 40.04 ▼20.85 |
Dashboard /wp-admin | 2,203 ▲29 | 5.56 ▲0.02 | 84.63 ▼12.53 | 40.01 ▲2.41 |
Posts /wp-admin/edit.php | 2,119 ▲19 | 2.01 ▲0.01 | 34.25 ▼2.91 | 38.47 ▲0.20 |
Add New Post /wp-admin/post-new.php | 1,548 ▲22 | 18.49 ▼4.63 | 619.17 ▲8.87 | 63.89 ▲10.28 |
Media Library /wp-admin/upload.php | 1,416 ▲16 | 4.27 ▲0.02 | 99.97 ▼5.24 | 44.30 ▼3.00 |
Insert Amz Images /wp-admin/options-general.php?page=AmazonImages | 826 | 2.06 | 25.50 | 29.44 |
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
The following items require your attention
- This plugin does not fully uninstall, leaving 22 options in the database
- widget_recent-comments
- widget_recent-posts
- AmazonImages\AmazonImagesSecretKey
- AmazonImages\AmazonImagesNoFollowLinks
- theysaidso_admin_options
- can_compress_scripts
- AmazonImages\AmazonImagesTagAu
- AmazonImages\AmazonImagesTagFr
- AmazonImages\AmazonImagesTagUs
- AmazonImages\AmazonImagesTagEs
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 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
Please fix the following
- 9× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/Lookup/SimpleLookup.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/Batch/BatchSearch.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/Search/SimpleSearch.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/SimilarityLookup/SimpleSimilarityLookup.php
- > /wp-content/plugins/insert-amazon-images/add_amazon_images_form.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/BrowseNodeLookup/SimpleBrowseNodeLookup.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/tests/bootstrap.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/CartModify/SimpleCartFlow.php
- > /wp-content/plugins/insert-amazon-images/vendor/exeu/apai-io/samples/CartCreate/SimpleCartCreate.php
- 253× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'AmazonImages\\MaxMind\\WebService\\Http\\Request' not found in wp-content/plugins/insert-amazon-images/vendor/maxmind/web-service-common/src/WebService/Http/CurlRequest.php:12
- > PHP Notice
Undefined variable: shortname in wp-content/plugins/insert-amazon-images/add_amazon_images_form.php on line 5
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/insert-amazon-images/vendor/najamhaq/paapi5-php-sdk/vendor/guzzlehttp/psr7/src/LimitStream.php:10
- > PHP Fatal error
Uncaught Error: Interface 'AmazonImages\\Amazon\\ProductAdvertisingAPI\\v1\\com\\amazon\\paapi5\\v1\\ModelInterface' not found in wp-content/plugins/insert-amazon-images/vendor/najamhaq/paapi5-php-sdk/src/com/amazon/paapi5/v1/RentalOfferListing.php:28
- > PHP Fatal error
Uncaught Error: Class 'AmazonImages\\GuzzleHttp\\Promise\\RejectionException' not found in wp-content/plugins/insert-amazon-images/vendor/guzzlehttp/promises/src/CancellationException.php:7
- > PHP Fatal error
Uncaught Error: Interface 'AmazonImages\\GeoIp2\\ProviderInterface' not found in wp-content/plugins/insert-amazon-images/vendor/geoip2/geoip2/src/Database/Reader.php:34
- > PHP Fatal error
Uncaught Error: Class 'AmazonImages\\GeoIp2\\Record\\AbstractPlaceRecord' not found in wp-content/plugins/insert-amazon-images/vendor/geoip2/geoip2/src/Record/Subdivision.php:29
- > PHP Fatal error
Uncaught Error: Class 'AmazonImages\\MaxMind\\Exception\\InvalidRequestException' not found in wp-content/plugins/insert-amazon-images/vendor/maxmind/web-service-common/src/Exception/IpAddressNotFoundException.php:5
- > PHP Fatal error
Uncaught Error: Interface 'AmazonImages\\Amazon\\ProductAdvertisingAPI\\v1\\com\\amazon\\paapi5\\v1\\ModelInterface' not found in wp-content/plugins/insert-amazon-images/vendor/najamhaq/paapi5-php-sdk/src/com/amazon/paapi5/v1/GetVariationsResponse.php:28
- > PHP Fatal error
Uncaught Error: Interface 'AmazonImages\\Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/insert-amazon-images/vendor/guzzlehttp/psr7/src/InflateStream.php:17
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
There were no browser issues found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that need to be fixed:
- Contributors: Plugin contributors field is missing
insert-amazon-images/AmazonImages.php 92% from 13 tests
The main PHP script in "Insert Amz Images" version 0.45.1 is automatically included on every request by WordPress
The following require your attention:
- Main file name: The principal plugin file should be the same as the plugin slug ("insert-amazon-images.php" instead of "AmazonImages.php")
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
Good job! No executable or dangerous file extensions detected43,704 lines of code in 456 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 395 | 8,265 | 28,619 | 36,376 |
Markdown | 22 | 1,412 | 0 | 4,245 |
JSON | 18 | 0 | 0 | 1,387 |
JavaScript | 1 | 32 | 13 | 632 |
C | 1 | 73 | 15 | 476 |
make | 2 | 34 | 6 | 196 |
reStructuredText | 7 | 190 | 249 | 114 |
Ant | 1 | 13 | 8 | 79 |
YAML | 3 | 8 | 1 | 58 |
Python | 1 | 6 | 0 | 43 |
Bourne Shell | 1 | 20 | 0 | 40 |
XML | 2 | 2 | 0 | 36 |
m4 | 1 | 5 | 0 | 14 |
C/C++ Header | 1 | 4 | 12 | 8 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 10.18 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 172.00 |
Average method complexity | 1.87 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 28.00 |
Code structure | ||
---|---|---|
Namespaces | 48 | |
Interfaces | 35 | |
Traits | 5 | |
Classes | 310 | |
▷ Abstract classes | 4 | 1.29% |
▷ Concrete classes | 306 | 98.71% |
▷ Final classes | 17 | 5.56% |
Methods | 3,499 | |
▷ Static methods | 549 | 15.69% |
▷ Public methods | 3,135 | 89.60% |
▷ Protected methods | 71 | 2.03% |
▷ Private methods | 293 | 8.37% |
Functions | 346 | |
▷ Named functions | 132 | 38.15% |
▷ Anonymous functions | 214 | 61.85% |
Constants | 405 | |
▷ Global constants | 4 | 0.99% |
▷ Class constants | 401 | 99.01% |
▷ Public constants | 401 | 100.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
No PNG files were detected