EWWW Image Optimizer

Comprehensive image optimization with WebP, AVIF, Lazy Load, and more. Optimize images automatically for Faster Sites and Happy Visitors.

v8.7.2Shane BishopUpdated 2026-06-10Added Jun 7, 20121m+ installs96% rating100% support resolved
35
Score
225
Errors
729
Warnings
+0
Change

Category Scores

Security53
Repo90
Performance100
Maintainability0

Top Issues by Category

maintainability930
1Direct QueryWordPress.DB.DirectDatabaseQuery.DirectQueryWARNING2592No CachingWordPress.DB.DirectDatabaseQuery.NoCachingWARNING2483Non Prefixed Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFoundWARNING994unlink unlinkWordPress.WP.AlternativeFunctions.unlink_unlinkERROR935file system operations is writableWordPress.WP.AlternativeFunctions.file_system_operations_is_writableERROR436rename renameWordPress.WP.AlternativeFunctions.rename_renameERROR327error log print rWordPress.PHP.DevelopmentFunctions.error_log_print_rWARNING268Schema ChangeWordPress.DB.DirectDatabaseQuery.SchemaChangeWARNING249file system operations freadWordPress.WP.AlternativeFunctions.file_system_operations_freadERROR1610Non Prefixed Variable FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFoundWARNING1511Non Prefixed Constant FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFoundWARNING1212Not In FooterWordPress.WP.EnqueuedResourceParameters.NotInFooterWARNING1013file system operations chmodWordPress.WP.AlternativeFunctions.file_system_operations_chmodERROR914Dynamic Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFoundWARNING815file system operations fopenWordPress.WP.AlternativeFunctions.file_system_operations_fopenERROR616parse url parse urlWordPress.WP.AlternativeFunctions.parse_url_parse_urlERROR617application detectedapplication_detectedERROR618DiscouragedSquiz.PHP.DiscouragedFunctions.DiscouragedWARNING519Non Prefixed Function FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFoundWARNING420file system operations fcloseWordPress.WP.AlternativeFunctions.file_system_operations_fcloseERROR321file system operations touchWordPress.WP.AlternativeFunctions.file_system_operations_touchERROR322Missing VersionWordPress.WP.EnqueuedResourceParameters.MissingVersionWARNING3
security14

Issues Details

954 issues found in latest scan

WARNING259
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING248
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING99
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR93
WordPress.WP.AlternativeFunctions.unlink_unlink

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

ERROR43
WordPress.WP.AlternativeFunctions.file_system_operations_is_writable

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

ERROR32
WordPress.WP.AlternativeFunctions.rename_rename

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

WARNING26
WordPress.PHP.DevelopmentFunctions.error_log_print_r

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

WARNING24
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR16
WordPress.WP.AlternativeFunctions.file_system_operations_fread

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

WARNING15
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING12
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

WARNING10
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $attachment_query used in $wpdb->get_col()\n$attachment_query assigned unsafely at line 793.

WARNING10
WordPress.WP.EnqueuedResourceParameters.NotInFooter

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.

ERROR9
WordPress.WP.AlternativeFunctions.file_system_operations_chmod

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

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

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

ERROR6
WordPress.WP.AlternativeFunctions.file_system_operations_fopen

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

ERROR6
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.

ERROR6
application_detected

Application files are not permitted.

WARNING5
Squiz.PHP.DiscouragedFunctions.Discouraged

The use of function set_time_limit() is discouraged

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

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

ERROR3
WordPress.WP.AlternativeFunctions.file_system_operations_fclose

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

ERROR3
WordPress.WP.AlternativeFunctions.file_system_operations_touch

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

WARNING3
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_style(). This means new versions of the style may not always be loaded due to browser caching.

WARNING2
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_SERVER['HOME']

WARNING2
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_SERVER['HOME'] not unslashed before sanitization. Use wp_unslash() or similar

Latest Snapshot

Findings

954

Errors

225

Warnings

729

Score History

First score snapshot

First scan completed Jun 19, 2026

v8.7.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v8.7.2

35

Latest

Findings
954
Errors
225
Warnings
729
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins