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
#601Broadcast Live Video – Live Streaming : WebRTC, HLS, RTSP, RTMP252981,010500Request data is not unslashed
#602Product Customer List for WooCommerce256101,3349k+Non-prefixed global variable
#603weForms – Easy Drag & Drop Contact Form Builder For WordPress2591645010k+Output is not escaped
#604Payment Plugins for Stripe WooCommerce25348772100k+Non-prefixed global variable
#605Pay with Vipps and MobilePay for WooCommerce258465145k+Output is not escaped
#606Wordfence Login Security2524841870k+Output is not escaped
#607WP Airbnb Review Slider253256461k+Non-prefixed global variable
#608WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards251,4311,27010k+Output is not escaped
#609WP-DownloadManager256075083k+Unsafe printing function
#610WP Review Slider251,1862,2796k+Non-prefixed global variable
#611WP Go Maps – Google Map, OpenStreetMap, Leaflet Map254,9961,008300k+Unsafe printing function
#612WP Google Review Slider251,3672,58230k+Non-prefixed global variable
#613WP Encryption – One Click Free SSL Certificate & SSL / HTTPS Redirect, Security & SSL Scan257271,55450k+Non-prefixed global variable
#614Nested Pages2567456090k+Non-prefixed global variable
#615WP Photo Album Plus2531,79910k+Direct Query
#616WP-Polls2561863940k+Unsafe printing function
#617Perfect Images: Regenerate Thumbnails, Image Sizes, WebP & AVIF2515411860k+Non-prefixed global variable
#618SlimStat Analytics251,17787070k+Exception output is not escaped
#619Smush – Image Optimization, Compression, Lazy Load, WebP & CDN252525661m+Non-prefixed hook name
#620WP Spell Check2564,3902k+Direct Query
#621WP Statistics – Simple, privacy-friendly Google Analytics alternative256102,465600k+Non-prefixed global variable
#622WP Super Cache258009891m+Output is not escaped
#623WP Time Slots Booking Form254391,1371k+Non-prefixed global variable
#624WP TripAdvisor Review Slider259582,0588k+Non-prefixed global variable
#625WP Yelp Review Slider254296451k+Non-prefixed global variable
#626WPCargo Track & Trace2523955710k+Non-prefixed global variable
#627Team Members Showcase255911,4944k+Non-prefixed global variable
#628WPvivid Backup for MainWP258181,79410k+Missing nonce verification
#629WPvivid — Backup, Migration & Staging258991,461900k+Non-prefixed namespace
#630YeeMail — Email Template Builder & Customizer25606222600wp function not compatible with requires wp
#631Video Gallery – YouTube Gallery, Playlist & Video Grid252751,0702k+Non-prefixed hook name
#632YT Player – Embed and Customize Video Players253,1632611k+Output is not escaped
#633AI Content Writing Assistant261,069516700Text Domain Mismatch
#634Blog Floating Button267052409k+Output is not escaped
#635Booking Manager – Sync WP Booking Calendar – Import Events, Export Bookings to ICS Calendar265262635k+Output is not escaped
#636Charitable – Donation Plugin for WordPress – Fundraising with Recurring Donations & More269727010k+error log error log
#637Floating Chat Widget: Contact Chat Icons, Telegram Chat, Line Messenger, WeChat, Email, SMS, Call Button – Chaty26113671400k+Non-prefixed global variable
#638Database for Contact Form 7, WPforms, Elementor forms2631748960k+Non-prefixed global variable
#639WP Frontend Admin – Display WP Admin Pages in the Frontend26347337500Non Singular String Literal Domain
#640Ditty – Responsive News Tickers, Sliders, and Lists2656148430k+Output is not escaped
#641Easy Appointments2613556910k+Alternative PHP tag found
#642Event Monster – Event Manager, Ticket Booking & Registration26781781700Non-prefixed global variable
#643ezCache2612726910k+Direct Query
#644RSS Redirect & Feedburner Alternative262772721k+Output is not escaped
#645Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager2611359790k+Non-prefixed global variable
#646FuseWP – WordPress User Sync to Email List & Marketing Automation (Mailchimp, Constant Contact, ActiveCampaign etc.)265914162k+Exception output is not escaped
#647FV Antispam26332239900Output is not escaped
#648GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites26284216500badly named files
#649Image SEO – AI-Driven Image SEO Optimizer263503271k+Text Domain Mismatch
#650Media File Renamer: Rename for better SEO (AI-Powered)2614817040k+Direct Query