Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.09MB] [CPU: ▼300.64ms] Passed 4 tests
This is a short check of server-side resources used by Neshan Maps
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.70 ▲0.57 | 55.08 ▲18.63 |
Dashboard /wp-admin | 3.53 ▲0.12 | 33.52 ▼46.21 |
Posts /wp-admin/edit.php | 3.76 ▲0.12 | 42.96 ▲3.66 |
Add New Post /wp-admin/post-new.php | 7.00 ▲0.02 | 94.56 ▼1,173.32 |
Media Library /wp-admin/upload.php | 3.41 ▲0.11 | 37.26 ▲13.30 |
My Maps /wp-admin/admin.php?page=neshan_maps | 3.39 | 31.35 |
Create New Map /wp-admin/admin.php?page=neshan_maps_create | 3.45 | 25.54 |
Usage Help /wp-admin/admin.php?page=neshan_maps_help | 3.36 | 25.06 |
Server storage [IO: ▲0.63MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 47 new files
Database: 1 new table, no new options
New tables |
---|
neshan_maps |
Browser metrics Passed 4 tests
Neshan Maps: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,849 ▲95 | 18.15 ▲2.50 | 44.27 ▲37.33 | 2.57 ▲0.02 |
Dashboard /wp-admin | 2,931 ▲70 | 6.18 ▲0.02 | 117.28 ▼21.82 | 158.11 ▼5.01 |
Posts /wp-admin/edit.php | 2,731 ▲61 | 3.23 ▼0.01 | 63.05 ▼24.77 | 153.15 ▼17.18 |
Add New Post /wp-admin/post-new.php | 1,780 ▲141 | 17.26 ▼4.30 | 413.47 ▼32.55 | 203.20 ▲59.52 |
Media Library /wp-admin/upload.php | 1,734 ▲39 | 5.56 ▲0.04 | 155.64 ▲6.67 | 393.85 ▲188.65 |
My Maps /wp-admin/admin.php?page=neshan_maps | 1,064 | 2.42 | 71.61 | 117.89 |
Create New Map /wp-admin/admin.php?page=neshan_maps_create | 1,442 | 4.10 | 91.96 | 252.68 |
Usage Help /wp-admin/admin.php?page=neshan_maps_help | 996 | 2.42 | 52.33 | 95.71 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- The plugin did not uninstall successfully, leaving 1 table in the database
- neshan_maps
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Smoke test failed, please fix the following
- > GET request to /wp-admin/admin.php?page=neshan_maps_help
- > Warning in wp-content/plugins/neshan-maps/admin/class-neshan-maps-admin.php+307
include_once(wp-content/plugins/neshan-maps/admin/partials/help-en.php): failed to open stream: No such file or directory
- > GET request to /wp-admin/admin.php?page=neshan_maps_help
- > Warning in wp-content/plugins/neshan-maps/admin/class-neshan-maps-admin.php+307
include_once(): Failed opening 'wp-content/plugins/neshan-maps/admin/partials/help-en.php' for inclusion (include_path='.:/usr/share/php')
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 take a closer look at the following
- 20× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Notice
Trying to get property 'lat' of non-object in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 27
- > PHP Notice
Trying to get property 'lng' of non-object in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 27
- > PHP Notice
Trying to get property 'maptype' of non-object in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 24
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/neshan-maps/admin/partials/my-maps.php:19
- > PHP Notice
Trying to get property 'api_key' of non-object in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 25
- > PHP Notice
Undefined variable: current_map in wp-content/plugins/neshan-maps/admin/partials/create-simple-map.php on line 16
- > PHP Notice
Undefined variable: data in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 25
- > PHP Notice
Undefined variable: data in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 28
- > PHP Notice
Trying to get property 'zoom' of non-object in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 28
- > PHP Notice
Undefined variable: id in wp-content/plugins/neshan-maps/public/partials/simple-map.php on line 17
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser issues were found
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
6 plugin tags: persian map, map, google maps, static maps, maps...
neshan-maps/neshan-maps.php Passed 13 tests
Analyzing the main PHP file in "Neshan Maps" version 1.1.4
65 characters long description:
Handy tool for creating stylized maps using Neshan Maps Platform.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
No dangerous file extensions were detected1,569 lines of code in 29 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 15 | 220 | 637 | 814 |
JavaScript | 5 | 110 | 49 | 336 |
CSS | 7 | 26 | 18 | 281 |
PO File | 1 | 79 | 126 | 113 |
SVG | 1 | 0 | 0 | 25 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.21 |
Average class complexity | 5.86 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 23.00 |
Average method complexity | 2.03 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 7.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 7 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 7 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 33 | |
▷ Static methods | 2 | 6.06% |
▷ Public methods | 28 | 84.85% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 5 | 15.15% |
Functions | 3 | |
▷ Named functions | 3 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 1 | |
▷ Global constants | 1 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
12 PNG files occupy 0.19MB with 0.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/images/marker_red.png | 1.73KB | 0.77KB | ▼ 55.72% |
admin/images/map-types-standard-night.png | 8.22KB | 3.53KB | ▼ 57.00% |
admin/images/marker-1.png | 0.96KB | 1.04KB | 0.00% |
admin/images/map-types-neshan.png | 8.79KB | 3.69KB | ▼ 57.99% |
admin/images/marker-2.png | 2.42KB | 1.55KB | ▼ 35.80% |