missing_composer_json_file
missing composer json file
Plugin Check reported a maintainability issue that can make the plugin harder to review, run, or update.
Why It Shows Up
The finding matches a WordPress coding-standard or Plugin Check rule for code clarity, compatibility, packaging, or API usage.
Why It Matters
Maintainability findings reduce confidence that the plugin will behave consistently across hosts, WordPress versions, and other plugins.
How to Fix
- Find the exact file and line in the raw scan output.
- Prefer WordPress APIs and standard coding patterns over custom or legacy behavior.
- If the warning is from bundled third-party code, document that separately and avoid modifying vendor files unless necessary.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #351 | پینوا | Pinova | 33 | 171 | 75 | 500 | Output is not escaped | ||
| #352 | Frisbii Pay | 33 | 91 | 292 | 1k+ | Non-prefixed global variable | ||
| #353 | RTMKit | 33 | 11 | 388 | 50k+ | Non-prefixed global variable | ||
| #354 | ShopPress – Shop Builder for Elementor and WooCommerce | 33 | 11 | 879 | 500 | Non-prefixed global variable | ||
| #355 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #356 | Mercado Pago payments for WooCommerce | 33 | 614 | 63 | 100k+ | Short PHP open tag found | ||
| #357 | WP EXtra – One Click Optimize | 33 | 414 | 101 | 7k+ | Missing Arg Domain | ||
| #358 | WP Multilang – Translation and Multilingual Plugin | 33 | 53 | 118 | 10k+ | Database parameter is not escaped | ||
| #359 | AyeCode Connect | 34 | 178 | 253 | 10k+ | Nonce verification recommended | ||
| #360 | Cache Master | 34 | 371 | 27 | 400 | Output is not escaped | ||
| #361 | SMS Abandoned Cart Recovery ✦ CartBoss | 34 | 67 | 72 | 400 | SQL query is not prepared | ||
| #362 | Document Library Lite | 34 | 149 | 85 | 4k+ | Text Domain Mismatch | ||
| #363 | Delisho – Recipe Widgets and Blocks | 34 | 60 | 355 | 1k+ | Input is not sanitized | ||
| #364 | Meta for WooCommerce | 34 | 66 | 186 | 400k+ | Non-prefixed hook name | ||
| #365 | Inavii Social Feed – Live Social Proof Gallery | 34 | 532 | 180 | 9k+ | Text Domain Mismatch | ||
| #366 | IP2Location Country Blocker | 34 | 295 | 88 | 30k+ | Output is not escaped | ||
| #367 | Meow Lightbox | 34 | 77 | 52 | 10k+ | Non Singular String Literal Domain | ||
| #368 | Payoneer Checkout | 34 | 168 | 41 | 5k+ | Exception output is not escaped | ||
| #369 | PushEngage – Web Push Notifications, WooCommerce Automation & Chat Widget | 34 | 46 | 298 | 9k+ | Missing nonce verification | ||
| #370 | QuadLayers Telegram Button | 34 | 149 | 71 | 1k+ | Text Domain Mismatch | ||
| #371 | Security Safe | 34 | 193 | 164 | 700 | Missing Translators Comment | ||
| #372 | Seriously Simple Stats | 34 | 99 | 126 | 5k+ | Output is not escaped | ||
| #373 | DPD SK for WooCommerce | 34 | 130 | 165 | 700 | Output is not escaped | ||
| #374 | Pix Automático com Pagarme para WooCommerce | 34 | 68 | 66 | 500 | Non-prefixed global variable | ||
| #375 | PostNL for WooCommerce | 34 | 597 | 104 | 3k+ | Text Domain Mismatch | ||
| #376 | Product Tabs for WooCommerce | 34 | 196 | 93 | 10k+ | Text Domain Mismatch | ||
| #377 | WP-Cron Status Checker | 34 | 277 | 111 | 5k+ | Text Domain Mismatch | ||
| #378 | Email Template Designer – WP HTML Mail | 34 | 62 | 80 | 20k+ | badly named files | ||
| #379 | WP Mail Logging | 34 | 76 | 258 | 300k+ | Nonce verification recommended | ||
| #380 | LightStart – Maintenance Mode, Coming Soon and Landing Page Builder | 34 | 42 | 312 | 400k+ | Request data is not unslashed | ||
| #381 | Zero Spam for WordPress | 34 | 79 | 393 | 20k+ | Non-prefixed global variable | ||
| #382 | zipMoney(Zip Co) Payments Plugin for WooCommerce | 34 | 147 | 70 | 2k+ | Text Domain Mismatch | ||
| #383 | ACF Content Analysis for Yoast SEO | 35 | 9 | 17 | 100k+ | Non-prefixed constant | ||
| #384 | CAPTCHA 4WP – Antispam CAPTCHA solution for WordPress | 35 | 20 | 10 | 100k+ | Missing Arg Domain | ||
| #385 | Air WP Sync – Airtable to WordPress | 35 | 37 | 45 | 1k+ | Non-prefixed hook name | ||
| #386 | BackWPup – WordPress Backup & Restore Plugin | 35 | 11 | 779 | 500k+ | Non-prefixed global variable | ||
| #387 | Block Responsive – Make Editor Blocks Responsive Easily | 35 | 2 | 1 | 600 | Hidden files included | ||
| #388 | Bluehost Site Migrator | 35 | 11 | 18 | 4k+ | Missing direct file access protection | ||
| #389 | Bulk Download for Gravity Forms | 35 | 5 | 2 | 500 | Hidden files included | ||
| #390 | CatFolders – WordPress Media Library Folders & Categories | 35 | 35 | 76 | 6k+ | Direct Query | ||
| #391 | Constant Contact Forms | 35 | 41 | 89 | 20k+ | Missing nonce verification | ||
| #392 | EasyTest – Simplify A/B Testing | 35 | 9 | 76 | 10k+ | Non-prefixed global variable | ||
| #393 | Core Framework | 35 | 70 | 62 | 10k+ | Text Domain Mismatch | ||
| #394 | CrowdSec | 35 | 130 | 119 | 2k+ | Output is not escaped | ||
| #395 | DarkLooks – Dark Mode Switcher For WordPress | 35 | 195 | 21 | 900 | Text Domain Mismatch | ||
| #396 | Nexi Checkout | 35 | 45 | 308 | 3k+ | Dynamic hook name | ||
| #397 | Easy Post Types and Fields | 35 | 138 | 135 | 1k+ | Text Domain Mismatch | ||
| #398 | Product Bundle Builder for WooCommerce | 35 | 152 | 138 | 6k+ | Text Domain Mismatch | ||
| #399 | Easy Watermark | 35 | 82 | 53 | 30k+ | Non-prefixed global variable | ||
| #400 | Elementor Website Builder – more than just a page builder | 35 | 46 | 428 | 10m+ | Non-prefixed global variable |