Seriously Simple Podcasting

Podcasting the way it's meant to be. No mess, no fuss - just you and your content taking over the world.

v3.16.2Craig HewittUpdated Added 30k+ installs94% rating33% support resolved
23
Score
548
Errors
627
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance92
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,175 findings

Maintainability

558

14 issue groups

Security

446

6 issue groups

I18n

107

4 issue groups

Performance

5

1 issue group

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "episode_list_data".231
Category
Maintainability
Occurrences
231
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "episode_list_data".

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

Sample message

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

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$album_art".115
Category
Maintainability
Occurrences
115
Severity
warning

Sample message

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

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.96
Category
Security
Occurrences
96
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "convert_human_readable_to_bytes".78
Category
Maintainability
Occurrences
78
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "convert_human_readable_to_bytes".

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;58
Category
Maintainability
Occurrences
58
Severity
error

Sample message

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

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

Sample message

Processing form data without nonce verification.

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.45
Category
I18n
Occurrences
45
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.

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().42
Category
I18n
Occurrences
42
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed$_COOKIE[LOGGED_IN_COOKIE] not unslashed before sanitization. Use wp_unslash() or similar37
Category
Security
Occurrences
37
Severity
warning

Sample message

$_COOKIE[LOGGED_IN_COOKIE] not unslashed before sanitization. Use wp_unslash() or similar

Show 15 more
WARNINGSecurityMissing nonce verification23
Category
Security
Occurrences
23
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitized15
Category
Security
Occurrences
15
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE[LOGGED_IN_COOKIE]

ERRORI18nNon Singular String Literal Text13
Category
I18n
Occurrences
13
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $class

ERRORMaintainabilitydate date12
Category
Maintainability
Occurrences
12
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

ERRORMaintainabilitystrip tags strip tags12
Category
Maintainability
Occurrences
12
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNINGMaintainabilityNot In Footer9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

ERRORMaintainabilityrand mt rand8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

mt_rand() is discouraged. Use the far less predictable wp_rand() instead.

WARNINGMaintainabilityNon-prefixed constant7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "SSP_CASTOS_APP_URL".

ERRORI18nText Domain Mismatch7
Category
I18n
Occurrences
7
Severity
error

Sample message

Mismatched text domain. Expected 'seriously-simple-podcasting' but got 'seriousy-simple-podcasting'.

WARNINGMaintainabilityDirect Query6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityslow db query meta query6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

WARNINGMaintainabilityslow db query tax query6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Detected usage of tax_query, possible slow query.

ERRORMaintainabilityparse url parse url5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

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

ERRORMaintainabilityDeprecated parameter: get_terms parameter 25
Category
Maintainability
Occurrences
5
Severity
error

Sample message

The parameter "$args" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter.

WARNINGPerformancePost Not In exclude5
Category
Performance
Occurrences
5
Severity
warning

Sample message

Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.

External Connections

Potential connections found in static code analysis.

45 domains

Outbound calls

111

External assets

2

Incoming endpoints

17

Notable Domains

castos.com16 · outbound
support.castos.com12 · outbound
purl.org8 · outbound
app.castos.com4 · outbound
jqueryui.com4 · outbound
itunes.com3 · outbound

Platform / Reference Domains

github.com9 · platform/reference
wordpress.org6 · platform/reference
w3.org5 · platform/reference
developer.wordpress.org1 · platform/reference
make.wordpress.org1 · platform/reference

External Asset Domains

code.jquery.com2 · asset + outbound
youtube.com2 · asset + outbound

Incoming Endpoints

/wp-json/ssp/v1/audio_playerREST

register_rest_route

/wp-json/ssp/v1/episodes/(?P<episode_id>[\d]+)REST

register_rest_route

/wp-json/ssp/v1/podcastREST

register_rest_route

/wp-json/ssp/v1/podcast_updateREST

register_rest_route

/wp-json/ssp/v1/statusREST

register_rest_route

wp_ajax_nopriv_get_playlist_itemspublic

wp_ajax

Admin AJAX endpoints11
wp_ajax_connect_castosauthenticated

wp_ajax

wp_ajax_disconnect_castosauthenticated

wp_ajax

wp_ajax_get_external_rss_feed_progressauthenticated

wp_ajax

wp_ajax_get_playlist_itemsauthenticated

wp_ajax

wp_ajax_import_external_rss_feedauthenticated

wp_ajax

wp_ajax_remove_constant_noticeauthenticated

wp_ajax

wp_ajax_reset_rss_feed_dataauthenticated

wp_ajax

wp_ajax_ssp_ratedauthenticated

wp_ajax

wp_ajax_ssp_review_notice_statusauthenticated

wp_ajax

wp_ajax_sync_castosauthenticated

wp_ajax

wp_ajax_update_episode_embed_codeauthenticated

wp_ajax

Score History

2 score snapshots

+0
1007550250Jun 20, 2026, 10:45 AM UTC Score 23/100 Plugin v3.16.1 Plugin Check 2.0.0 548 errors, 627 warningsJun 23, 2026, 01:36 PM UTC Score 23/100 Plugin v3.16.2 Plugin Check 2.0.0 548 errors, 627 warningsJun 20, 2026Jun 23, 2026

v3.16.2

23

Latest

Findings
1,175
Errors
548
Warnings
627
Check
2.0.0

v3.16.1

23

Score

Findings
1,175
Errors
548
Warnings
627
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins

Audio Album

4k+ active installs

99
Playlist Player for YouTube

2k+ active installs

99
Podlove Web Player

4k+ active installs

97
Spreaker Shortcode

4k+ active installs

95
81