Use WordPress as your CMS, then publish a fast, lower-exposure static version of your site.
Prioritized issue groups from the latest Plugin Check scan
Security
502
11 issue groups
Maintainability
121
8 issue groups
I18n
42
5 issue groups
Supply Chain
2
1 issue group
Sample message
Use placeholders and $wpdb->prepare(); found !
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"{$rootPath}/wp-content/uploads"'.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable {$direction} at "\n ORDER BY {$orderBy} {$direction}\n LIMIT {$limit} OFFSET {$offset}"
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" index: {$wpdb->last_error}"'.
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$build".
Sample message
Translatable string should not be wrapped in HTML. Found: '<p><a href="%1$s">Run the publication worker diagnostic again</a> to refresh the result.</p>'
Sample message
Detected usage of a non-sanitized input variable: $_ENV[$envName]
Sample message
Processing form data without nonce verification.
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Sample message
$_GET['staatic'] not unslashed before sanitization. Use wp_unslash() or similar
Sample message
Unescaped parameter $buildIds used in $wpdb->get_results()\n$buildIds assigned unsafely at line 163.
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Unescaped parameter $tableName used in $wpdb->get_results()
Sample message
Missing $domain parameter in function call to __().
Sample message
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().
Sample message
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().
Sample message
Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTP_HOST']. Check that the array index exists before using it.
Sample message
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
Sample message
Mismatched text domain. Expected 'staatic' but got 'staatic_premium'.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$hookName".
Sample message
parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.
Sample message
The $text parameter must be a single text string literal. Found: 'The %s task was started again after the previous attempt ended unexpectedly ' . '(a fatal error, out of memory, or a timeout); check the PHP error log ' . 'for the cause. If the log shows the task ran out of time, raising ' . '"Publication Task Timeout" under Staatic > Settings > Advanced may help.'
Sample message
Hidden files are not permitted.
Potential connections found in static code analysis.
Outbound calls
118
External assets
0
Incoming endpoints
1
No external asset domains detected.
wp_ajax
3 score snapshots
v1.13.0
30
Latest
v1.12.5
31
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 30 | 683 | 449 | 234 | v1.13.0 | 2.1.0 |
| 31 | 615 | 420 | 195 | v1.12.5 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.