WordPress.DB.PreparedSQL.NotPrepared

SQL query is not prepared

A database query includes dynamic data without using `$wpdb->prepare()` or an equivalent safe pattern.

critical weight

Why It Shows Up

The scan found a SQL string passed to `$wpdb` where variables appear to be interpolated or concatenated directly.

Why It Matters

Unprepared SQL can allow SQL injection when user-controlled values reach the query.

How to Fix

  • Move dynamic values into placeholders such as `%s`, `%d`, `%f`, or `%i` where supported.
  • Pass the values as separate arguments to `$wpdb->prepare()`.
  • For table names, column names, and sort directions, use strict allowlists instead of raw user input.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1301Sticky Chat Widget – Floating Chat Icons, Contact Form, Call, Click to Chat, Email & Message Buttons353329310k+Non-prefixed global variable
#1302Subscribe to Unlock Lite – Opt In Content Locker Plugin for WordPress35106145500Non-prefixed global variable
#1303Tapfiliate353549400Nonce verification recommended
#1304TBThemes Theme Import358448500Text Domain Mismatch
#1305Advance Product Search- Voice & Ajax Search for WooCommerce351259210k+Text Domain Mismatch
#1306The Courier Guy Shipping for WooCommerce35571073k+Missing nonce verification
#1307Two Factor Authentication3510813920k+Output is not escaped
#1308Uptime Robot Plugin for WordPress35398324600Text Domain Mismatch
#1309Video Grid352531061k+Output is not escaped
#1310Video Gallery35336178600Output is not escaped
#1311Void Elementor Post Grid Addon for Elementor Page builder35189933k+Text Domain Mismatch
#1312W4 Post List35501383k+Non-prefixed global variable
#1313WC Cancel Order35521225k+Non-prefixed hook name
#1314Spreadconnect35128126700Output is not escaped
#1315WC Ukraine Shipping – Integration of Nova Poshta and Ukrposhta for WooCommerce355041647k+Text Domain Mismatch
#1316Webflow Pages3536632k+Non Singular String Literal Domain
#1317Wired Impact Volunteer Management352531751k+Output is not escaped
#1318Backend Payments for WooCommerce356342900Exception output is not escaped
#1319DPD Baltic Shipping35912022k+Text Domain Mismatch
#1320WP Associate Post R235259863k+Output is not escaped
#1321WP Cassify35106143800Missing nonce verification
#1322WP Datepicker352251817k+Output is not escaped
#1323WP GPX Maps35271004k+Non-prefixed global variable
#1324Mail logging – WP Mail Catcher3523215720k+Text Domain Mismatch
#1325WP Open Street Map35591113k+Input is not validated
#1326WP-Persian35144377k+Unsafe printing function
#1327WP All Import – Property Import for WP Residence354132700Output is not escaped
#1328video carousel slider with lightbox353501361k+Output is not escaped
#1329Integration for WooCommerce and QuickBooks352631251k+Output is not escaped
#1330WPCore Plugin Manager351183810k+Text Domain Mismatch
#1331WP Views Counter3581422k+Output is not escaped
#1332WPFront User Role Editor3533357830k+Output is not escaped
#1333wpLingua – Automatic translation – Translate and make website multilingual35791672k+Nonce verification recommended
#1334WPPerformanceTester3594441k+Output is not escaped
#1335WPZOOM Addons for Elementor – Starter Templates & Widgets3516013020k+Output is not escaped
#1336WPZOOM Portfolio Lite – Filterable Portfolio Plugin35429220k+Non-prefixed global variable
#1337xili-tidy-tags352241571k+Output is not escaped
#1338Yabe Webfont – Use Custom Fonts, Google Fonts or Adobe Fonts35481145k+Non-prefixed hook name
#1339Yes/No Chart351361392k+Unsafe printing function
#1340Year Make Model Search for WooCommerce351881621k+Output is not escaped
#1341Embeds for YouTube3525530710k+Non-prefixed global variable
#1342Product Labels For Woocommerce (Sale Badges)36904810k+Output is not escaped
#1343Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder36332110k+Nonce verification recommended
#1344Blaze Demo Importer36101948k+Output is not escaped
#1345BlockStrap Page Builder – Bootstrap Blocks3681892k+Missing direct file access protection
#1346BP Group Documents3627195600Non-prefixed global variable
#1347BP Profile Search36321855k+Output is not escaped
#1348Better WordPress Recent Comments3631969600Text Domain Mismatch
#1349Simple SEO3616411310k+Non Singular String Literal Domain
#1350Multi Step for Contact Form 7366110610k+Missing nonce verification