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
#1751Compress, Resize & Lazy Load Images – WPvivid Image Optimization471075810k+Missing direct file access protection
#1752Comment Notifier481055400Non-prefixed global variable
#1753Maps Plugin using Google Maps for WordPress – WP Google Map482893810k+wp function not compatible with requires wp
#1754Simple Custom Post Order481077300k+Direct Query
#1755Easy Updates Manager4813182300k+Non-prefixed global variable
#1756WS Action Scheduler Cleaner4813802k+error log error log
#1757SiteEase Bulk Delete Manager495072800Direct Query
#1758CIO Custom Fields Importer49238500Output is not escaped
#1759Import into Easy Property Listings49335241k+Text Domain Mismatch
#1760Anti-Spam Protection – No API Key, GDPR Friendly4921061k+Direct Query
#1761Plugins Last Updated Column492114700Output is not escaped
#1762ReCrawler4910404k+Direct Query
#1763Search in Place4974573k+wp function not compatible with requires wp
#1764SKT Themes Demo Import492181044k+Text Domain Mismatch
#1765WP Sitemap Page494314200k+Missing Translators Comment
#1766Server Info – System Health & Diagnostics Suite5015463k+Input is not sanitized
#1767Theme Demo Import50101955k+Non-prefixed hook name
#1768WPML Multilingual for BuddyPress and BuddyBoss5118216k+SQL query is not prepared
#1769Lite Video Embed513571k+Output is not escaped
#1770OnSale Page for WooCommerce5130442k+Text Domain Mismatch
#1771Popular Brand Icons – Simple Icons5120123k+Output is not escaped
#1772REST API Log5144955k+Non-prefixed hook name
#1773YayMail – WooCommerce Email Customizer5116378850k+Non-prefixed global variable
#1774MB Custom Post Types & Custom Taxonomies5294910k+Nonce verification recommended
#1775Post Notification by Email5236132k+Output is not escaped
#1776SKU Generator for WooCommerce5229122k+Output is not escaped
#1777Stealth Publish52722900Missing nonce verification
#1778Connect Contact Form 7 and Mailchimp532365240k+Text Domain Mismatch
#1779Disable Comments – Remove Comments & Stop Spam [Multi-Site Support]5315461m+Non-prefixed global variable
#1780LearnPress – bbPress Integration5319142k+Output is not escaped
#1781MOBILOOK — Mobile View & Mobile‑Friendly Test5310201k+Missing nonce verification
#1782Customizable Post Listings544213700Deprecated parameter: the_author parameter 1
#1783Cyr-To-Lat541648300k+Dynamic hook name
#1784Expanding Archives543793k+Output is not escaped
#1785Extended User Search In WP-Admin5414171k+SQL query is not prepared
#1786Helpie FAQ — Accordion, Docs & Knowledge Base5496899k+Nonce verification recommended
#1787AI Agent by SiteGround542861m+Exception output is not escaped
#1788Easy Quotes551131700Direct Query
#1789Enhanced Category Pages5523252k+Direct Query
#1790Go Live Update Urls55114980k+Non-prefixed hook name
#1791Fast Page & Post Duplicator55122560k+Direct Query
#1792AI Copilot – ChatGPT Chatbot & AI Engine for Post Automation5665201k+Text Domain Mismatch
#1793Replace Protected Password56618600Input is not sanitized
#1794Internal Link Juicer: SEO Auto Linker for WordPress57126190k+Database parameter is not escaped
#1795iZooto – Web Push Notifications5726251k+wp function not compatible with requires wp
#1796Longer Permalinks5727218k+Missing Arg Domain
#1797Ultimate Member – Terms & Conditions571994k+Output is not escaped
#1798Filter Orders by Product for WooCommerce579214k+Nonce verification recommended
#1799BCM Duplicate Menu588114k+Nonce verification recommended
#1800HAL5810624500Text Domain Mismatch