WordPress.DB.SlowDBQuery.slow_db_query_tax_query
slow db query tax query
A query pattern is likely to be slow on larger WordPress sites.
Why It Shows Up
The scan found query arguments such as broad meta queries, tax queries, or unindexed lookups that commonly become expensive as content grows.
Why It Matters
A query that feels fine on a small test site can become a production bottleneck on large stores, membership sites, or publishers.
How to Fix
- Avoid broad `meta_query`, `tax_query`, and unindexed searches on front-end requests when possible.
- Cache expensive results with transients, object cache, or precomputed data.
- Add narrower constraints, pagination, and indexes when custom tables are appropriate.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #401 | Thim Kit for Elementor – Pre-built Templates & Widgets for Elementor | 28 | 291 | 292 | 20k+ | Output is not escaped | ||
| #402 | Ultimate FAQ Accordion Plugin | 28 | 386 | 227 | 30k+ | Unsafe printing function | ||
| #403 | Product Sort and Display for WooCommerce | 28 | 199 | 235 | 2k+ | Output is not escaped | ||
| #404 | WP Mapbox GL JS Maps | 28 | 104 | 119 | 1k+ | Output is not escaped | ||
| #405 | WP Travel Gutenberg Blocks | 28 | 485 | 157 | 900 | Output is not escaped | ||
| #406 | Accordion Slider | 29 | 391 | 444 | 2k+ | Unsafe printing function | ||
| #407 | Advance coupon for WooCommerce | 29 | 472 | 241 | 900 | Text Domain Mismatch | ||
| #408 | AI Copilot – Content Generator | 29 | 166 | 161 | 1k+ | wp function not compatible with requires wp | ||
| #409 | Attribute Stock for WooCommerce – Shared Stock & Variable Quantities (Lite Version) | 29 | 481 | 313 | 2k+ | Text Domain Mismatch | ||
| #410 | Document Gallery | 29 | 183 | 98 | 8k+ | Output is not escaped | ||
| #411 | Getwid – Gutenberg Blocks | 29 | 139 | 173 | 50k+ | Non-prefixed global variable | ||
| #412 | Image Hover Effects Ultimate ( Image Gallery, Effects, Lightbox, Comparison & Magnifier ) | 29 | 20 | 825 | 20k+ | Non-prefixed namespace | ||
| #413 | Music Player for WooCommerce | 29 | 106 | 155 | 1k+ | Non-prefixed global variable | ||
| #414 | Post Timeline | 29 | 91 | 200 | 800 | Missing nonce verification | ||
| #415 | Themify – WooCommerce Product Filter | 29 | 643 | 145 | 20k+ | Output is not escaped | ||
| #416 | Post Grid Gutenberg Blocks for News, Magazines, Blog Websites – PostX | 29 | 135 | 400 | 40k+ | Non-prefixed global variable | ||
| #417 | Ultimate Auction for WooCommerce – Excellent WP Auction Plugin | 29 | 52 | 523 | 2k+ | Non-prefixed global variable | ||
| #418 | User Verification by PickPlugins | 29 | 41 | 314 | 5k+ | Request data is not unslashed | ||
| #419 | Product Carousel Slider & Grid Ultimate for WooCommerce | 29 | 719 | 122 | 6k+ | Text Domain Mismatch | ||
| #420 | WP Magazine Modules Lite | 29 | 152 | 674 | 5k+ | Non-prefixed global variable | ||
| #421 | Xagio SEO – AI Powered SEO | 29 | 1 | 1,268 | 10k+ | Direct Query | ||
| #422 | Xpro Addons — 140+ Widgets for Elementor | 29 | 27 | 826 | 30k+ | Non-prefixed global variable | ||
| #423 | Dynamic Pricing With Discount Rules for WooCommerce | 30 | 136 | 131 | 5k+ | Output is not escaped | ||
| #424 | PublishPress Blocks – Block Controls, Block Visibility, Block Permissions | 30 | 251 | 340 | 20k+ | Unsafe printing function | ||
| #425 | AI Product Tools – Bulk Product Content Generator & AI Toolkit for WooCommerce | 30 | 502 | 560 | 400 | SQL query is not prepared | ||
| #426 | ApplyOnline – Application Form Builder and Manager | 30 | 354 | 260 | 2k+ | Output is not escaped | ||
| #427 | Classic Addons – WPBakery Page Builder | 30 | 1,245 | 263 | 3k+ | Text Domain Mismatch | ||
| #428 | Classified Listing Toolkits | 30 | 43 | 1,859 | 4k+ | Non-prefixed global variable | ||
| #429 | DethemeKit for Elementor | 30 | 335 | 228 | 30k+ | Output is not escaped | ||
| #430 | Easy Affiliate Links | 30 | 186 | 198 | 7k+ | Missing direct file access protection | ||
| #431 | Edwiser Bridge – WordPress Moodle Integration | 30 | 4 | 669 | 4k+ | Non-prefixed hook name | ||
| #432 | Event post | 30 | 355 | 100 | 1k+ | Output is not escaped | ||
| #433 | Exclusive Addons for Elementor | 30 | 3,629 | 266 | 50k+ | Text Domain Mismatch | ||
| #434 | core plugin for kitestudio themes | 30 | 244 | 415 | 500 | Nonce verification recommended | ||
| #435 | Meow Gallery | 30 | 111 | 182 | 10k+ | Direct Query | ||
| #436 | Move Addons for Elementor | 30 | 3,919 | 91 | 3k+ | Text Domain Mismatch | ||
| #437 | Novelist | 30 | 475 | 158 | 1k+ | Output is not escaped | ||
| #438 | Popup Builder – Create highly converting, mobile friendly marketing popups. | 30 | 26 | 722 | 200k+ | Non-prefixed global variable | ||
| #439 | Post Grid, Slider & Carousel Ultimate – with Shortcode, Gutenberg Block & Elementor Widget | 30 | 231 | 102 | 1k+ | Non Singular String Literal Domain | ||
| #440 | Real Cookie Banner: GDPR & ePrivacy Cookie Consent | 30 | 9 | 496 | 100k+ | Database parameter is not escaped | ||
| #441 | Responsive Addons for Elementor – Free Elementor Addons, Kits and Elementor Templates | 30 | 60 | 387 | 3k+ | Non-prefixed global variable | ||
| #442 | Star Addons for Elementor | 30 | 236 | 255 | 1k+ | Non-prefixed global variable | ||
| #443 | Subscriptions for WooCommerce | 30 | 1 | 1,190 | 10k+ | Non-prefixed global variable | ||
| #444 | Themify Portfolio Post | 30 | 214 | 102 | 30k+ | Text Domain Mismatch | ||
| #445 | Travel Booking Toolkit | 30 | 245 | 324 | 3k+ | Non-prefixed global variable | ||
| #446 | Travelers' Map | 30 | 311 | 155 | 1k+ | Output is not escaped | ||
| #447 | Tutor LMS Divi Modules | 30 | 420 | 722 | 1k+ | Non-prefixed global variable | ||
| #448 | WCPOS – Point of Sale (POS) plugin for WooCommerce | 30 | 77 | 228 | 5k+ | Nonce verification recommended | ||
| #449 | YayPricing – WooCommerce Dynamic Pricing & Discounts | 30 | 174 | 186 | 3k+ | Non-prefixed global variable | ||
| #450 | Advanced Woo Search – Product Search for WooCommerce | 31 | 228 | 377 | 70k+ | Nonce verification recommended |