Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.11MB] [CPU: ▼2.34ms] Passed 4 tests
A check of server-side resources used by belingoGeo
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.11 | 43.53 ▲6.36 |
Dashboard /wp-admin | 3.43 ▲0.08 | 50.96 ▼7.04 |
Posts /wp-admin/edit.php | 3.48 ▲0.12 | 45.11 ▲0.68 |
Add New Post /wp-admin/post-new.php | 6.03 ▲0.14 | 81.64 ▼5.00 |
Media Library /wp-admin/upload.php | 3.35 ▲0.12 | 35.99 ▲2.02 |
Cities /wp-admin/edit.php?post_type=cities | 3.44 | 39.62 |
Regions /wp-admin/edit-tags.php?taxonomy=bg_regions&post_type=cities | 3.34 | 30.94 |
Server storage [IO: ▲37.31MB] [DB: ▲0.00MB] 67% from 3 tests
How much does this plugin use your filesystem and database?
These are issues you should consider
- Total filesystem usage must be limited to 25MB (currently using 37.31MB)
Filesystem: 35 new files
Database: no new tables, 9 new options
New WordPress options |
---|
widget_recent-posts |
belingo_geo_exclude_nonobject |
can_compress_scripts |
belingo_geo_sitemap_per_page |
db_upgraded |
theysaidso_admin_options |
widget_recent-comments |
widget_theysaidso_widget |
belingo_geo_url_type |
Browser metrics Passed 4 tests
This is an overview of browser requirements for belingoGeo
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,928 ▲142 | 13.62 ▼0.59 | 12.48 ▲10.81 | 42.46 ▲2.91 |
Dashboard /wp-admin | 2,231 ▲57 | 5.82 ▲0.21 | 90.90 ▲8.32 | 83.20 ▲42.30 |
Posts /wp-admin/edit.php | 2,151 ▲51 | 2.24 ▲0.25 | 36.17 ▲1.10 | 34.52 ▼1.86 |
Add New Post /wp-admin/post-new.php | 1,568 ▲40 | 23.13 ▼0.30 | 699.49 ▲53.38 | 52.04 ▼2.58 |
Media Library /wp-admin/upload.php | 1,451 ▲51 | 4.45 ▲0.26 | 93.82 ▼4.01 | 80.96 ▲35.80 |
Cities /wp-admin/edit.php?post_type=cities | 1,701 | 2.25 | 34.91 | 29.75 |
Settings /wp-admin/belingo_geo_settings.php | 26 | 0.42 | 0.10 | 13.40 |
Import /wp-admin/belingo_geo_settings.php?page=belingogeo_import | 26 | 0.42 | 0.06 | 7.02 |
Export /wp-admin/belingo_geo_settings.php?page=belingogeo_export | 26 | 0.42 | 0.09 | 6.18 |
Regions /wp-admin/edit-tags.php?taxonomy=bg_regions&post_type=cities | 1,313 | 1.96 | 29.04 | 31.88 |
About plugin /wp-admin/belingo_geo_about.php | 26 | 0.42 | 0.06 | 6.53 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
- The uninstall procedure has failed, leaving 9 options in the database
- can_compress_scripts
- db_upgraded
- belingo_geo_sitemap_per_page
- widget_recent-comments
- belingo_geo_url_type
- widget_recent-posts
- belingo_geo_exclude_nonobject
- widget_theysaidso_widget
- theysaidso_admin_options
Smoke tests 50% from 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 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
- 10× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/belingogeo/integrations/yoast.php:3
- > PHP Notice
Undefined variable: result in wp-content/plugins/belingogeo/templates/cities_addon_contacts.php on line 1
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/belingogeo/includes/admin/settings.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/belingogeo/includes/shortcodes.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/belingogeo/includes/hooks.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/belingogeo/integrations/woocommerce.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/belingogeo/includes/sitemaps.php:33
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/belingogeo/includes/admin/functions.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/belingogeo/belingoGeo.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/belingogeo/includes/ajax-functions.php:3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
These are user-side errors you should fix
- > GET request to /wp-admin/belingo_geo_settings.php
- > Network (severe)
wp-admin/belingo_geo_settings.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/belingo_geo_settings.php?page=belingogeo_import
- > Network (severe)
wp-admin/belingo_geo_settings.php?page=belingogeo_import - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/belingo_geo_settings.php?page=belingogeo_export
- > Network (severe)
wp-admin/belingo_geo_settings.php?page=belingogeo_export - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/belingo_geo_about.php
- > Network (severe)
wp-admin/belingo_geo_about.php - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
7 plugin tags: geotargeting, geolocation, change content based on location, targeted content, geo content...
belingogeo/belingoGeo.php 85% from 13 tests
The primary PHP file in "belingoGeo" version 1.9 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Description: Please keep the plugin description shorter than 140 characters (currently 160 characters long)
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("belingogeo.php" instead of "belingoGeo.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Success! There were no dangerous files found in this plugin3,888 lines of code in 26 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 20 | 636 | 64 | 2,848 |
CSS | 2 | 84 | 2 | 491 |
PO File | 1 | 110 | 119 | 328 |
JavaScript | 3 | 17 | 1 | 221 |
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.40 |
Average class complexity | 40.00 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 78.00 |
Average method complexity | 4.90 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 2 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 20 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 15 | 75.00% |
▷ Protected methods | 5 | 25.00% |
▷ Private methods | 0 | 0.00% |
Functions | 103 | |
▷ Named functions | 101 | 98.06% |
▷ Anonymous functions | 2 | 1.94% |
Constants | 6 | |
▷ Global constants | 6 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
1 compressed PNG file occupies 0.00MB
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/logo_mini_20x20.png | 0.85KB | 0.75KB | ▼ 11.49% |