Benchmarks
Plugin footprint 58% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
These installer errors require your attention
- Install procedure validation failed for this plugin
- > Notice in wp-content/plugins/writer-helper/includes/functions/db_functions.php+200
Trying to access array offset on value of type null
Server metrics [RAM: ▲2.13MB] [CPU: ▲7.85ms] Passed 4 tests
Server-side resources used by Writer Helper
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.65 ▲2.19 | 53.26 ▲16.85 |
Dashboard /wp-admin | 5.47 ▲2.13 | 71.70 ▲8.06 |
Posts /wp-admin/edit.php | 5.53 ▲2.17 | 63.57 ▲10.50 |
Add New Post /wp-admin/post-new.php | 8.00 ▲2.11 | 103.11 ▼4.03 |
Media Library /wp-admin/upload.php | 5.34 ▲2.11 | 53.54 ▲21.32 |
My Books /wp-admin/admin.php?page=wtrh_books | 5.34 | 79.37 |
Statistics /wp-admin/admin.php?page=wtrh_stats | 5.32 | 50.77 |
Users /wp-admin/admin.php?page=wtrh_users | 5.34 | 50.20 |
Communities /wp-admin/admin.php?page=wtrh_communities | 5.33 | 52.87 |
Bookworlds /wp-admin/admin.php?page=wtrh_bookworlds | 5.32 | 51.08 |
My To Do List /wp-admin/admin.php?page=wtrh_todolist | 5.32 | 45.58 |
Settings /wp-admin/admin.php?page=wtrh_settings | 5.41 | 50.47 |
Starting with WH /wp-admin/admin.php?page=wtr_helper | 5.33 | 50.90 |
Server storage [IO: ▲4.62MB] [DB: ▲0.02MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 129 new files
Database: 7 new tables, 13 new options
New tables |
---|
wp_wtr_scene |
wp_wtr_activity |
wp_wtr_users |
wp_wtr_category |
wp_wtr_metadata |
wp_wtr_chapter |
wp_wtr_book |
New WordPress options |
---|
widget_theysaidso_widget |
widget_wh_book_info |
widget_wh_search_book |
widget_wh_chapter_book_summary |
widget_wh_library |
theysaidso_admin_options |
widget_recent-comments |
widget_wh_lastestpubli |
widget_wh_chapter_book_info |
db_upgraded |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Writer Helper
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,916 ▲155 | 14.37 ▼0.38 | 1.66 ▲0.06 | 39.01 ▼5.26 |
Dashboard /wp-admin | 2,314 ▲137 | 5.56 ▼0.11 | 84.91 ▼8.53 | 40.77 ▼2.95 |
Posts /wp-admin/edit.php | 2,151 ▲48 | 1.96 ▼0.06 | 36.12 ▼7.75 | 32.86 ▼3.31 |
Add New Post /wp-admin/post-new.php | 1,566 ▲40 | 23.69 ▲0.45 | 616.17 ▼39.34 | 59.33 ▲6.06 |
Media Library /wp-admin/upload.php | 1,454 ▲54 | 4.22 ▲0.05 | 102.08 ▼5.16 | 45.81 ▼0.69 |
My Books /wp-admin/admin.php?page=wtrh_books | 979 | 2.40 | 31.26 | 31.56 |
Statistics /wp-admin/admin.php?page=wtrh_stats | 891 | 2.35 | 29.86 | 21.95 |
Users /wp-admin/admin.php?page=wtrh_users | 922 | 2.36 | 27.77 | 35.38 |
Communities /wp-admin/admin.php?page=wtrh_communities | 922 | 2.35 | 28.02 | 26.25 |
Bookworlds /wp-admin/admin.php?page=wtrh_bookworlds | 893 | 2.35 | 28.13 | 24.31 |
My To Do List /wp-admin/admin.php?page=wtrh_todolist | 851 | 2.35 | 30.11 | 21.91 |
Settings /wp-admin/admin.php?page=wtrh_settings | 1,161 | 2.37 | 31.88 | 35.49 |
Starting with WH /wp-admin/admin.php?page=wtr_helper | 976 | 2.36 | 28.53 | 25.68 |
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
The following items require your attention
- Zombie WordPress options were found after uninstall: 13 options
- db_upgraded
- widget_wh_library
- widget_wh_lastestpubli
- widget_wh_book_summary
- widget_wh_search_book
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- widget_wh_chapter_book_summary
- widget_wh_book_info
- ...
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Please fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=wtrh_bookworlds
- > request to
- > Notice in wp-config.php+20
Undefined index: REQUEST_METHOD
SRP 0% 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
Almost there! Just fix the following items
- 2× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/writer-helper/js/wtrh_d3_scenes_2.js.php
- > /wp-content/plugins/writer-helper/js/wtrh_d3_scenes.js.php
- 413× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/writer-helper/includes/pages/page_users_tab4.php:7
- > PHP Fatal error
Uncaught Error: Class 'WH_BookSettings' not found in wp-content/plugins/writer-helper/includes/pages/page_settings_tab2.php:5
- > PHP Warning
Use of undefined constant WTRH_COMMUNITIES_DIR - assumed 'WTRH_COMMUNITIES_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/writer-helper/includes/pages/page_communities_tab3.php on line 3
- > PHP Warning
include_once(): Failed opening 'WTRH_INCLUDE_DIR/functions/buttons_functions.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/writer-helper/includes/pages/page_book.php on line 4
- > PHP Warning
Use of undefined constant WTRH_EPUBGENERATOR_DIR - assumed 'WTRH_EPUBGENERATOR_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/writer-helper/includes/classes/class_book.php on line 6
- > PHP Warning
Use of undefined constant EPUB_INCLUDE_DIR - assumed 'EPUB_INCLUDE_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/writer-helper/epubgenerator/include/epub_xhtmlnav.class.php on line 5
- > PHP Warning
Use of undefined constant WTRH_INCLUDE_DIR - assumed 'WTRH_INCLUDE_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/writer-helper/includes/classes/class_main.php on line 5
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/writer-helper/js/wtrh_d3_scenes_2.js.php on line 15
- > PHP Warning
Use of undefined constant WTRH_INCLUDE_DIR - assumed 'WTRH_INCLUDE_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/writer-helper/includes/writer-helper-class.php on line 22
- > PHP Warning
include_once(): Failed opening 'EPUB_INCLUDE_DIR/epub_xhtmlnav.class.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/writer-helper/epubgenerator/include/epub_generator.class.php on line 12
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
- Tags: Please delete some tags, you are using 12 tag instead of maximum 10
writer-helper/writer-helper.php 92% from 13 tests
The entry point to "Writer Helper" version 3.1.6 is a PHP file that has certain tags in its header comment area
Please make the necessary changes and fix the following:
- Text Domain: The text domain should only use lowercase characters and dashes
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
No dangerous file extensions were detected70,190 lines of code in 116 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 16 | 11,156 | 18,009 | 49,082 |
PHP | 83 | 2,963 | 2,042 | 14,041 |
Markdown | 4 | 900 | 0 | 2,970 |
PO File | 2 | 1,243 | 1,984 | 2,662 |
CSS | 11 | 176 | 162 | 1,435 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 36.25 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 215.00 |
Average method complexity | 3.83 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 43.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 36 | |
▷ Abstract classes | 2 | 5.56% |
▷ Concrete classes | 34 | 94.44% |
▷ Final classes | 0 | 0.00% |
Methods | 455 | |
▷ Static methods | 111 | 24.40% |
▷ Public methods | 383 | 84.18% |
▷ Protected methods | 1 | 0.22% |
▷ Private methods | 71 | 15.60% |
Functions | 89 | |
▷ Named functions | 89 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 205 | |
▷ Global constants | 38 | 18.54% |
▷ Class constants | 167 | 81.46% |
▷ Public constants | 167 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
3 PNG files occupy 0.08MB with 0.05MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
img/WriterHelper_icon.png | 68.74KB | 27.41KB | ▼ 60.13% |
img/NoCover.png | 3.98KB | 1.88KB | ▼ 52.87% |
img/NoCover2.png | 13.70KB | 5.46KB | ▼ 60.19% |