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
- > Deprecated in wp-content/plugins/rentivo-widgets/framework/shared.php+34
Function get_magic_quotes_gpc() is deprecated
Server metrics [RAM: ▼1.93MB] [CPU: ▼51.97ms] Passed 4 tests
A check of server-side resources used by Rentivo Widgets
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.05 ▼1.41 | 4.41 ▼36.72 |
Dashboard /wp-admin | 2.07 ▼1.23 | 5.78 ▼41.42 |
Posts /wp-admin/edit.php | 2.07 ▼1.28 | 6.97 ▼44.76 |
Add New Post /wp-admin/post-new.php | 2.07 ▼3.81 | 6.31 ▼84.99 |
Media Library /wp-admin/upload.php | 2.07 ▼1.15 | 4.82 ▼28.64 |
Settings /wp-admin/admin.php?page=rentivo-settings | 2.07 | 5.72 |
Rentivo Widgets /wp-admin/admin.php?page=rentivo-index | 2.07 | 5.76 |
Server storage [IO: ▲3.22MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 707 new files
Database: no new tables, 36 new options
New WordPress options |
---|
propertyNearbyProperties |
locationsPropertiesListing |
propertyDetails |
dataBridgeIncluded |
propertyViewport |
db_upgraded |
propertyRates |
locationsRegions |
rentivoWidgets |
propertyRooms |
... |
Browser metrics Passed 4 tests
Checking browser requirements for Rentivo Widgets
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,918 ▲183 | 13.57 ▼0.81 | 1.92 ▲0.22 | 46.72 ▲7.83 |
Dashboard /wp-admin | 2,261 ▲73 | 5.29 ▲0.24 | 105.25 ▼4.05 | 40.99 ▼3.37 |
Posts /wp-admin/edit.php | 2,128 ▲39 | 2.50 ▲0.49 | 42.20 ▲0.57 | 32.51 ▼1.39 |
Add New Post /wp-admin/post-new.php | 1,562 ▲43 | 17.94 ▼5.10 | 665.37 ▲55.87 | 35.84 ▼12.39 |
Media Library /wp-admin/upload.php | 1,446 ▲55 | 4.61 ▲0.36 | 100.60 ▼5.47 | 42.54 ▼1.13 |
Settings /wp-admin/admin.php?page=rentivo-settings | 1,344 | 2.93 | 61.20 | 29.95 |
Rentivo Widgets /wp-admin/admin.php?page=rentivo-index | 4,573 | 2.32 | 32.18 | 88.95 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- Uninstall procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/rentivo-widgets/framework/shared.php+34
Function get_magic_quotes_gpc() is deprecated
- This plugin does not fully uninstall, leaving 10 options in the database
- rentivoWidgets
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-posts
- rentivoSettings
- widget_recent-comments
- widget_theysaidso_widget
- rentivoWidgetsGeneral
- dataBridgeIncluded
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
These errors were triggered by the plugin
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=rentivo-index
- > Deprecated in wp-content/plugins/rentivo-widgets/framework/shared.php+34
Function get_magic_quotes_gpc() is deprecated
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=rentivo-index
- > User deprecated in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Extension/Escaper.php+56
Using "true" as the default strategy is deprecated since version 1.21. Use "html" instead.
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
- 231× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Twig_LoaderInterface' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Loader/Chain.php:17
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/test/Twig/Tests/Node/TextTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Node/If.php:18
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Filter' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php:21
- > PHP Fatal error
Uncaught Error: Interface 'Twig_LoaderInterface' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Loader/String.php:30
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Node/SetTemp.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function __autoload() in wp-content/plugins/rentivo-widgets/app/panels.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function __autoload() in wp-content/plugins/rentivo-widgets/app/meta.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/rentivo-widgets/app/activate.php:29
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Binary' not found in wp-content/plugins/rentivo-widgets/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php:11
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% 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
Attributes that require attention:
- Screenshots: Add an image for screenshot #1 (Rentivo Widgets admin interface screenshot-1.png)
- Plugin Name: Please replace "Plugin Name" with the name of your plugin on the first line (
=== rentivo-widgets ===
)
rentivo-widgets/plugin.php 92% from 13 tests
The main PHP script in "Rentivo Widgets" version 0.0.1 is automatically included on every request by WordPress
It is important to fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("rentivo-widgets.php" instead of "plugin.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
No dangerous file extensions were detected20,145 lines of code in 417 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 286 | 3,430 | 6,461 | 15,129 |
reStructuredText | 88 | 2,285 | 2,030 | 3,161 |
C | 1 | 161 | 174 | 792 |
CSS | 3 | 65 | 31 | 324 |
JavaScript | 5 | 51 | 62 | 279 |
Twig | 17 | 34 | 0 | 258 |
JSON | 2 | 0 | 0 | 111 |
YAML | 1 | 7 | 1 | 31 |
XML | 1 | 2 | 0 | 23 |
HTML | 11 | 0 | 0 | 17 |
C/C++ Header | 1 | 7 | 13 | 15 |
m4 | 1 | 2 | 1 | 5 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 5.65 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 122.00 |
Average method complexity | 2.12 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 51.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 22 | |
Traits | 0 | |
Classes | 273 | |
▷ Abstract classes | 14 | 5.13% |
▷ Concrete classes | 259 | 94.87% |
▷ Final classes | 0 | 0.00% |
Methods | 1,291 | |
▷ Static methods | 13 | 1.01% |
▷ Public methods | 1,144 | 88.61% |
▷ Protected methods | 130 | 10.07% |
▷ Private methods | 17 | 1.32% |
Functions | 76 | |
▷ Named functions | 65 | 85.53% |
▷ Anonymous functions | 11 | 14.47% |
Constants | 47 | |
▷ Global constants | 4 | 8.51% |
▷ Class constants | 43 | 91.49% |
▷ Public constants | 43 | 100.00% |
Plugin size 0% from 2 tests
Image compression 0% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
2 PNG files occupy 0.66MB with 0.54MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-1.png | 337.81KB | 123.59KB | ▼ 63.41% |
(invalid) resources/img/widgets/screenshot-1.png | 340.76KB | 0.00KB | ▼ 100.00% |