PDF.js Viewer

Embed a beautiful PDF viewer into pages.

v3.1.1Ben LawsonUpdated 2026-04-21Added Nov 1, 201320k+ installs88% rating0% support resolved
69
Score
14
Errors
38
Warnings
+0
Change

Category Scores

Security52
Repo100
Performance100
Maintainability75

Top Issues by Category

Issues Details

52 issues found in latest scan

WARNING24
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_domains".

ERROR7
WordPress.WP.AlternativeFunctions.parse_url_parse_url

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

WARNING4
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR2
PluginCheck.CodeAnalysis.Heredoc.NotAllowed

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

ERROR2
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found 'str_replace'.

WARNING2
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET[&#039;url&#039;] not unslashed before sanitization. Use wp_unslash() or similar

ERROR2
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING1
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

WARNING1
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING1
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;include_pdfjs_media_button_js_file&quot;.

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET[&#039;v&#039;]

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_SERVER[&#039;REQUEST_METHOD&#039;]. Check that the array index exists before using it.

ERROR1
application_detected

Application files are not permitted.

WARNING1
mismatched_plugin_name

Plugin name "PDF.js Viewer" is different from the name declared in plugin header "PDFjs Viewer - Embed PDFs".

WARNING1
unexpected_markdown_file

Unexpected markdown file "DEVELOPER.md" detected in plugin root. Only specific markdown files are expected in production plugins.

Latest Snapshot

Findings

52

Errors

14

Warnings

38

Score History

First score snapshot

First scan completed Jun 20, 2026

v3.1.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v3.1.1

69

Latest

Findings
52
Errors
14
Warnings
38
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins