WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Interpolated SQL is not prepared

Variables are interpolated into a SQL string before the query is prepared.

critical weight

Why It Shows Up

The scan found dynamic values placed directly inside SQL, often through string interpolation, before `$wpdb->prepare()` can safely bind them.

Why It Matters

Preparing a query after unsafe interpolation does not reliably protect the dynamic value.

How to Fix

  • Replace interpolated variables with placeholders.
  • Pass each dynamic value as a separate `$wpdb->prepare()` argument.
  • Use allowlists for SQL identifiers and directions that cannot be represented as normal values.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1001Mass Ping Tool for SEO – WordPress ping list to get indexed faster on Google, Yandex, …347796500Output is not escaped
#1002Montonio for WooCommerce344425710k+Non-prefixed global variable
#1003Multi Step Form342771369k+Output is not escaped
#1004PW WooCommerce Bulk Edit3421914920k+Unsafe printing function
#1005PW WooCommerce Gift Cards3423818520k+Output is not escaped
#1006Event Timeline – Vertical Timeline34266841k+Non-prefixed global variable
#1007Route ‑ Shipping Protection3465150500Missing nonce verification
#1008Search Meter341919420k+Output is not escaped
#1009Security Safe34193164700Missing Translators Comment
#1010Seriously Simple Stats34991265k+Output is not escaped
#1011Student Result or Employee Database3489981k+Direct Query
#1012Social Integration for BlueSky3498147700Non-prefixed global variable
#1013Software License Manager3469289900Nonce verification recommended
#1014Subscribe to Download Lite – Email Before Download Plugin34106157400Non-prefixed global variable
#1015SuperFrete34842421k+Request data is not unslashed
#1016TaxJar – Sales Tax Automation for WooCommerce342361705k+Text Domain Mismatch
#1017Testimonial Slider344482623k+Unsafe printing function
#1018Throws SPAM Away3432712310k+Missing Arg Domain
#1019Tools for Twitter34135871k+Output is not escaped
#1020Visual Form Builder348232920k+Direct Query
#1021Abandoned Cart Reports For WooCommerce341331632k+Output is not escaped
#1022Simple Discount Rules for Woocommerce341752145k+Nonce verification recommended
#1023Integration for WooCommerce and Zoho CRM, Books, Invoice, Inventory, Bigin342301542k+Output is not escaped
#1024Digital Signature Add-on for WooCommerce34168751k+Text Domain Mismatch
#1025Easy Booking – WooCommerce Booking & Reservation Plugin341381724k+Output is not escaped
#1026WP-Cron Status Checker342771115k+Text Domain Mismatch
#1027WP Maps – Google Maps,OpenStreetMap,Mapbox,Store Locator,Listing,Directory & Filters3421945360k+wp function not compatible with requires wp
#1028WP Mail Logging3476258300k+Nonce verification recommended
#1029WP Popup Builder – Popup Forms and Marketing Lead Generation343571433k+Text Domain Mismatch
#1030Thumbnail Slider With Lightbox34244141700Output is not escaped
#1031WP SendFox342961181k+Text Domain Mismatch
#1032WP Subscription Forms – Subscription Form Plugin for WordPress34131220400Non-prefixed global variable
#1033Live Visitor Counter341081144k+Interpolated SQL is not prepared
#1034WPLMS MyCred AddOn3438373800Text Domain Mismatch
#1035Xml Sitemap Generator347247400SQL query is not prepared
#1036Embed Plus for YouTube Gallery, Livestream and Lazy Loading with Facades34571195100k+Output is not escaped
#1037Zero Spam for WordPress347939320k+Non-prefixed global variable
#1038zipMoney(Zip Co) Payments Plugin for WooCommerce34147702k+Text Domain Mismatch
#1039Abandoned Checkout Recovery & Order Notifications for WooCommerce3510877800Text Domain Mismatch
#1040AfterSalesPro Plugin3524111400Nonce verification recommended
#1041SOOZ – AI for SEO – Bulk Generate Focus Keyphrases, Metadata, Alt Text (SEO Autopilot)35443942k+Nonce verification recommended
#1042Tuskcode Map Pro for Bing Maps3559359600Direct Query
#1043Automatic Internal Links for SEO by Pagup35342151k+error log error log
#1044Automatic YouTube Gallery3583599k+Output is not escaped
#1045BORICA Payments by BORICA AD35537196500Text Domain Mismatch
#1046BotWriter – AI Writer & SEO Content Generator35165033k+Direct Query
#1047Registration Options for BuddyPress35471321k+Non-prefixed function
#1048Brozzme DB Prefix & Tools Addons35244210k+Request data is not unslashed
#1049BSK Forms Blacklist358315501k+Output is not escaped
#1050CatFolders – WordPress Media Library Folders & Categories3535766k+Direct Query