WordPress.DB.DirectDatabaseQuery.SchemaChange

Schema Change

The plugin runs a direct database query instead of using a higher-level WordPress API or cache-aware pattern.

medium weight

Why It Shows Up

Plugin Check found `$wpdb` access that queries the database directly, changes schema, or bypasses normal caching expectations.

Why It Matters

Direct queries can be correct, but they are easier to make unsafe, slower at scale, and harder for WordPress to cache or filter.

How to Fix

  • Use WordPress APIs such as post, term, metadata, option, or user functions when they fit the task.
  • If direct SQL is necessary, prepare dynamic values and add a clear caching strategy for repeated reads.
  • Keep schema changes in activation or upgrade routines and make them idempotent.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#151WP Easy Pay – Payment and Donation form Builder for Square228931,8281k+Non-prefixed global variable
#152WP Fusion Lite – Marketing Automation and CRM Integration for WordPress222756835k+Nonce verification recommended
#153WP Umbrella: Update Backup Restore & Monitoring2291891670k+Exception output is not escaped
#154AidWP – Donation & Payment Forms (Stripe Powered)221,3171,675800Non-prefixed global variable
#155NotifSMS – SMS Notifications OTP & 2FA for WordPress & WooCommerce221,3531,4122k+Non-prefixed global variable
#156User Frontend: AI Powered Frontend Posting, User Directory, Profile, Membership & User Registration222871,43220k+Non-prefixed global variable
#157WP-WebAuthn229573962k+Exception output is not escaped
#158WPBITS Addons For Elementor Page Builder229961,3992k+Non-prefixed global variable
#159WUPO Group Attributes for WooCommerce225921,391400Non-prefixed global variable
#160YaySMTP – WP Mail SMTP with Email Logs, Tracking & Reports2265443510k+Exception output is not escaped
#161Recipe Cards For Your Food Blog from Zip Recipes221,1261,7311k+Non-prefixed global variable
#162Gutenberg Blocks – ACF Blocks Suite231,0971,449400Non-prefixed global variable
#163Custom WooCommerce Checkout Fields Editor237551,3862k+Non-prefixed global variable
#164Admin and Site Enhancements (ASE)23136330200k+Nonce verification recommended
#165Advanced Menu Manager Pro – Built for Content-heavy WordPress Sites to Add, Filter, Lock, and Edit Menus Easily235451,397500Non-prefixed global variable
#166Advanced Product Labels for WooCommerce2392155920k+Text Domain Mismatch
#167AI Engine – The Chatbot, AI Framework & MCP for WordPress23411544100k+error log error log
#168Fullscreen Menu235371,2872k+Non-prefixed global variable
#169Autocomplete Address and Location Picker for WooCommerce236301,2992k+Non-prefixed global variable
#170BA Book Everything231,1841,08610k+Output is not escaped
#171Kadence Security – Password, Two Factor Authentication, and Brute Force Protection231,053967700k+Missing Translators Comment
#172Booking calendar, Appointment Booking System231,0791,1254k+Output is not escaped
#173BSK PDF Manager231,5766257k+Text Domain Mismatch
#174BuddyDrive237221,5971k+Non-prefixed global variable
#175Announcement & Notification Banner – Bulletin239301,5762k+Non-prefixed global variable
#176Business Directory Plugin – Easy Listing Directories for WordPress236111,05810k+Non-prefixed global variable
#177Captivate Sync231745571k+Non-prefixed global variable
#178Geo Controller232035441k+Non-prefixed global variable
#179Grid & Styler For Contact Form 7 And Divi235481,341500Non-prefixed global variable
#180All In One Login — Login Page Security and Customization for WordPress with Google reCAPTCHA, Social Login, Temporary Login, 2FA, and more.237501,35960k+Non-prefixed global variable
#181WPBot – AI ChatBot for Live Support, Lead Generation, AI Services236241,2455k+Non-prefixed global variable
#182Church Admin231,6434,202900Direct Query
#183Classified Listing – AI-Powered Classified ads & Business Directory231552,0749k+Non-prefixed global variable
#184CLUEVO LMS, E-Learning Platform231,8431,176400Text Domain Mismatch
#185Content Aware Sidebars – Fastest Widget Area Plugin239931,73830k+Non-prefixed global variable
#186Content Egg – Affiliate Product Importer & Price Comparison231,2311,25710k+Non-prefixed global variable
#187Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe239,31026,642900Non-prefixed global variable
#188Auto Post Cleaner237151,3781k+Non-prefixed global variable
#189Disable Bloat for WordPress & WooCommerce238631,32510k+Non-prefixed global variable
#190Double Opt-In for Contact Form 7 & Avada – Secure, GDPR-Compliant Email Verification236756431k+Unsafe printing function
#191Easy Age Verify231,1382,6311k+Non-prefixed global variable
#192Easy Digital Downloads – eCommerce Payments and Subscriptions made easy233,72310,28340k+Non-prefixed namespace
#193Marijuana Age Verify231,1542,6301k+Non-prefixed global variable
#194Error Log Monitor236941,41420k+Non-prefixed global variable
#195Events Addon for Elementor237791,3397k+Non-prefixed global variable
#196Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI233951,34290k+Non-prefixed global variable
#197Spreadsheet Price Changer for WooCommerce and WP E-commerce – Light23386999500Non-prefixed global variable
#198Export WordPress Pages to Static HTML & PDF — Static Site Export234903014k+Text Domain Mismatch
#199Featured Images in RSS for Mailchimp & More237801,29920k+Non-prefixed global variable
#200Filr – Secure document library237751,317800Non-prefixed global variable