Simply Static – The Static Site Generator

Convert WordPress to static HTML. Boost performance 3-5x. Eliminate security vulnerabilities. Deploy anywhere.

v3.7.8Simply StaticUpdated Added 30k+ installs90% rating86% support resolved
25
Score
165
Errors
448
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability1

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

613 findings

Maintainability

410

12 issue groups

Security

118

10 issue groups

I18n

67

3 issue groups

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'ss_get_option_' . strtolower( $name )".262
Category
Maintainability
Occurrences
262
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'ss_get_option_' . strtolower( $name )".

ERRORI18nMissing Translators CommentA 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.58
Category
I18n
Occurrences
58
Severity
error

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.

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.34
Category
Security
Occurrences
34
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.33
Category
Maintainability
Occurrences
33
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().32
Category
Maintainability
Occurrences
32
Severity
warning

Sample message

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

WARNINGMaintainabilityDynamic hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->cron_interval_identifier".23
Category
Maintainability
Occurrences
23
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->cron_interval_identifier".

ERRORMaintainabilityparse url parse urlparse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.20
Category
Maintainability
Occurrences
20
Severity
error

Sample message

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

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $table_name at "DROP TABLE IF EXISTS $table_name"18
Category
Security
Occurrences
18
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $table_name at "DROP TABLE IF EXISTS $table_name"

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $delete_table used in $wpdb->get_var()\n$delete_table assigned unsafely at line 666.11
Category
Security
Occurrences
11
Severity
warning

Sample message

Unescaped parameter $delete_table used in $wpdb->get_var()\n$delete_table assigned unsafely at line 666.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$idle'.11
Category
Security
Occurrences
11
Severity
error

Sample message

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

Show 15 more
ERRORSecuritySQL query is not prepared10
Category
Security
Occurrences
10
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $query

ERRORMaintainabilityunlink unlink10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERRORSecurityDatabase parameter is not escaped8
Category
Security
Occurrences
8
Severity
error

Sample message

Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 57.

WARNINGSecurityInput is not sanitized8
Category
Security
Occurrences
8
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['page']

WARNINGSecurityRequest data is not unslashed8
Category
Security
Occurrences
8
Severity
warning

Sample message

$_GET['page'] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilityfile system operations is writable8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

ERRORSecurityException output is not escaped7
Category
Security
Occurrences
7
Severity
error

Sample message

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

ERRORI18nUnordered Placeholders Text6
Category
I18n
Occurrences
6
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'Transferred %d of %d files'.

WARNINGMaintainabilityerror log error log5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

ERRORMaintainabilityfile system operations rmdir5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: rmdir().

ERRORMaintainabilityrename rename5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

rename() is discouraged. Use WP_Filesystem::move() to rename a file.

ERRORMaintainabilityMissing direct file access protection4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

WARNINGSecurityInput is not validated3
Category
Security
Occurrences
3
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_GET['simply_static_page']. Check that the array index exists before using it.

ERRORMaintainabilityNon Enqueued Script3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Scripts must be registered/enqueued via wp_enqueue_script()

ERRORI18nMissing Arg Domain3
Category
I18n
Occurrences
3
Severity
error

Sample message

Missing $domain parameter in function call to __().

External Connections

Potential connections found in static code analysis.

32 domains

Outbound calls

91

External assets

0

Incoming endpoints

70

Notable Domains

youtu.be23 · outbound
simplystatic.com18 · outbound
stackoverflow.com3 · outbound
youtube.com3 · outbound
foo.com2 · outbound

Platform / Reference Domains

w3.org5 · platform/reference
github.com4 · platform/reference
developer.wordpress.org1 · platform/reference
gnu.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

/wp-json/simplystatic/v1/settingsREST

register_rest_route

/wp-json/simplystatic/v1/active-pluginsREST

register_rest_route

/wp-json/simplystatic/v1/active-themesREST

register_rest_route

/wp-json/simplystatic/v1/activity-logREST

register_rest_route

/wp-json/simplystatic/v1/cancel-exportREST

register_rest_route

/wp-json/simplystatic/v1/check-can-runREST

register_rest_route

Admin AJAX endpoints2
wp_ajax_ss_admin_get_statusauthenticated

wp_ajax

wp_ajax_ss_export_progress_title_statusauthenticated

wp_ajax

Score History

3 score snapshots

+0
1007550250Jun 20, 2026, 02:59 AM UTC Score 25/100 Plugin v3.7.6 Plugin Check 2.0.0 163 errors, 446 warningsJun 24, 2026, 03:00 PM UTC Score 25/100 Plugin v3.7.7 Plugin Check 2.0.0 163 errors, 448 warningsJun 30, 2026, 08:49 AM UTC Score 25/100 Plugin v3.7.8 Plugin Check 2.0.0 165 errors, 448 warningsJun 20, 2026Jun 30, 2026

v3.7.8

25

Latest

Findings
613
Errors
165
Warnings
448
Check
2.0.0

v3.7.7

25

Score

Findings
611
Errors
163
Warnings
448
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

36 nodes

Related Plugins

Dam Spam

1k+ active installs

100
DietPress

2k+ active installs

100
Disable Emojis (GDPR friendly)

60k+ active installs

100
Embed Optimizer

50k+ active installs

100
Image Placeholders

60k+ active installs

100
100