Benchmarks
Plugin footprint 47% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲5.52MB] [CPU: ▲42.20ms] 75% from 4 tests
Analyzing server-side resources used by PDF Poster - PDF Embedder Plugin for WordPress
It is recommended to improve the following
- Extra RAM: The extra memory usage must be under 5MB (currently 5.52MB on /wp-admin/admin.php?page=pdf-poster-pricing-manual)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.95 ▲5.49 | 77.24 ▲38.24 |
Dashboard /wp-admin | 8.97 ▲5.67 | 87.89 ▲40.15 |
Posts /wp-admin/edit.php | 8.97 ▲5.61 | 102.99 ▲55.11 |
Add New Post /wp-admin/post-new.php | 11.20 ▲5.31 | 147.92 ▲42.09 |
Media Library /wp-admin/upload.php | 8.97 ▲5.74 | 82.87 ▲48.30 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 8.97 | 73.99 |
Upgrade /wp-admin/admin.php?page=pdf-poster-pricing-manual | 8.97 | 70.19 |
Server storage [IO: ▲18.40MB] [DB: ▲0.07MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 827 new files
Database: 1 new table, 12 new options
New tables |
---|
wp_pdfposter_presets |
New WordPress options |
---|
fs_accounts |
pdfp_import |
can_compress_scripts |
db_upgraded |
widget_recent-posts |
widget_recent-comments |
pdfposter_presets_database_version |
widget_theysaidso_widget |
fs_active_plugins |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for PDF Poster - PDF Embedder Plugin for WordPress
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,895 ▲133 | 14.16 ▼0.18 | 1.60 ▼0.11 | 33.01 ▼12.32 |
Dashboard /wp-admin | 2,287 ▲109 | 5.68 ▲0.02 | 109.28 ▼3.50 | 111.84 ▲72.41 |
Posts /wp-admin/edit.php | 2,214 ▲114 | 2.59 ▲0.63 | 41.06 ▲0.31 | 68.59 ▲32.15 |
Add New Post /wp-admin/post-new.php | 6,308 ▲4,777 | 20.14 ▼2.62 | 1,001.06 ▲399.73 | 55.11 ▲7.27 |
Media Library /wp-admin/upload.php | 1,500 ▲103 | 4.90 ▲0.74 | 114.00 ▲13.96 | 87.49 ▲43.77 |
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius | 1,062 | 2.14 | 31.08 | 44.75 |
Upgrade /wp-admin/admin.php?page=pdf-poster-pricing-manual | 1,845 | 4.19 | 138.65 | 89.61 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 25% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- The plugin did not uninstall gracefully
- > Notice in wp-content/plugins/pdf-poster/freemius/includes/class-freemius.php+8546
Undefined property: stdClass::$plugins
- The uninstall procedure failed, leaving 1 table in the database
- wp_pdfposter_presets
- Zombie WordPress options detected upon uninstall: 12 options
- widget_recent-comments
- fs_accounts
- widget_recent-posts
- widget_theysaidso_widget
- pdfposter_presets_database_version
- pdfp_import
- db_upgraded
- theysaidso_admin_options
- fs_debug_mode
- fs_active_plugins
- ...
Smoke tests 25% 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)
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following items
- 4× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/pdf-poster/pdfjs-new/web/viewer.php
- > /wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php
- > /wp-content/plugins/pdf-poster/pdfjs-new/raw/raw.php
- > /wp-content/plugins/pdf-poster/pdfjs-new/web/pviewer.php
- 27× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Notice
Undefined index: print in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php on line 167
- > PHP Notice
Undefined index: nobaki in wp-content/plugins/pdf-poster/pdfjs-new/web/pviewer.php on line 240
- > PHP Notice
Undefined index: download in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php on line 105
- > PHP Notice
Undefined index: nobaki in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer.php on line 249
- > PHP Notice
Undefined index: print in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php on line 101
- > PHP Notice
Undefined index: nobaki in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer.php on line 146
- > PHP Fatal error
Uncaught Error: Class 'Aws\\Sdk' not found in wp-content/plugins/pdf-poster/inc/Api/AWSS3.php:24
- > PHP Notice
Undefined index: print in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php on line 110
- > PHP Notice
Undefined index: side in wp-content/plugins/pdf-poster/pdfjs-new/web/pviewer.php on line 208
- > PHP Notice
Undefined index: download in wp-content/plugins/pdf-poster/pdfjs-new/web/viewer-old.php on line 110
- > PHP Notice
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
There are user-side issues you should fix
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=pdf-poster-pricing-manual
- > Security (severe) in unknown
https://js.freemius.com/vendors/nojquery.ba-postmessage.min.js?v=180 11 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://carefulspace.s4-tastewp.com') does not match the recipient window's origin ('').
Optimizations
Plugin configuration 96% 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: pdf, embed pdf, google, pdf embedder, pdf plugin...
pdf-poster/pdf-poster.php 92% from 13 tests
The entry point to "PDF Poster - PDF Embedder Plugin for WordPress" version 2.1.16 is a PHP file that has certain tags in its header comment area
You should first fix the following items:
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin165,689 lines of code in 356 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 23 | 14,422 | 1,576 | 92,646 |
PHP | 254 | 12,222 | 19,324 | 52,584 |
CSS | 23 | 679 | 554 | 6,973 |
PO File | 21 | 3,302 | 3,885 | 6,725 |
Sass | 16 | 970 | 3 | 5,674 |
HTML | 4 | 92 | 46 | 865 |
SVG | 11 | 0 | 0 | 152 |
JSON | 4 | 0 | 0 | 70 |
PHP code 50% from 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
It is recommended to fix the following
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 3,096)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.62 |
Average class complexity | 42.78 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,096.00 |
Average method complexity | 4.77 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 94.00 |
Code structure | ||
---|---|---|
Namespaces | 13 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 151 | |
▷ Abstract classes | 4 | 2.65% |
▷ Concrete classes | 147 | 97.35% |
▷ Final classes | 0 | 0.00% |
Methods | 1,715 | |
▷ Static methods | 320 | 18.66% |
▷ Public methods | 1,308 | 76.27% |
▷ Protected methods | 17 | 0.99% |
▷ Private methods | 390 | 22.74% |
Functions | 144 | |
▷ Named functions | 134 | 93.06% |
▷ Anonymous functions | 10 | 6.94% |
Constants | 149 | |
▷ Global constants | 102 | 68.46% |
▷ Class constants | 47 | 31.54% |
▷ Public constants | 47 | 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
93 compressed PNG files occupy 0.17MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
pdfjs-new/web/images/toolbarButton-sidebarToggle-rtl@2x.png | 0.34KB | 0.57KB | 0.00% |
pdfjs-new/web/images/treeitem-collapsed@2x.png | 0.15KB | 0.20KB | 0.00% |
pdfjs-new/web/images/toolbarButton-zoomOut.png | 0.09KB | 0.12KB | 0.00% |
img/buynow.png | 22.06KB | 9.81KB | ▼ 55.52% |
pdfjs-new/web/images/toolbarButton-viewAttachments@2x.png | 0.84KB | 1.56KB | 0.00% |