PluginCheck.CodeAnalysis.WriteFile.PluginDirectoryWrite

Plugin Directory Write

The plugin writes files in or near plugin-controlled directories.

medium weight

Why It Shows Up

Plugin Check found file creation or modification behavior that may affect the plugin directory or executable files.

Why It Matters

Runtime writes to plugin code directories can break updates, create permission issues, or introduce supply-chain risk.

How to Fix

  • Store generated data in uploads, cache, or another WordPress-approved writable location.
  • Validate paths and file names against strict allowlists.
  • Avoid modifying plugin source files at runtime.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#551Goal Tracker – Custom Event Tracking for GA438541252k+Output is not escaped
#552HashThemes Demo Importer3875336k+Output is not escaped
#553Majestic Support – The Leading-Edge Help Desk & Customer Support Plugin3824573k+Input is not sanitized
#554Simple Google Sitemap XML383882k+Output is not escaped
#555Standout CSS3 Buttons3818315500Output is not escaped
#556WP Safe Mode3895552k+Output is not escaped
#557Animate It!391371620k+Text Domain Mismatch
#558DefendWP Firewall39162033k+Non-prefixed global variable
#559Gutenverse News – News Blocks for Blog & Magazine Sites393765800Non-prefixed hook name
#560Rollbar397514400Output is not escaped
#561Sync Post With Other Site39179213k+Non Singular String Literal Domain
#562Salat Times4023520500Output is not escaped
#563Visma Pay for Woocommerce4027371k+Output is not escaped
#564Visual Editor Custom Buttons4030484k+Output is not escaped
#565SNORDIAN's H5PxAPIkatchu4111988500SQL query is not prepared
#566Simple Cache4133591k+Input is not sanitized
#567Wholesale for WooCommerce41536191k+Output is not escaped
#568Auto Coupons for WooCommerce4282684k+Output is not escaped
#569Automatic Responsive Tables4367151k+Output is not escaped
#570WP SmartCrop4343124k+Output is not escaped
#571Trusty Whistleblowing Solution4423416400Text Domain Mismatch
#572Hyper Cache45361008k+Non-prefixed global variable
#573Tabby Checkout4733464k+Non-prefixed class
#574iControlWP4745591k+Missing direct file access protection
#575Compress, Resize & Lazy Load Images – WPvivid Image Optimization471075810k+Missing direct file access protection
#576SpinupWP49433830k+Non-prefixed function
#577Royal WordPress Backup, Restore & Migration Plugin – Backup WordPress Sites Safely53349030k+Database parameter is not escaped
#578Themeflection Numbers – Number Counter and Animated Numbers55224733k+Text Domain Mismatch
#579WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance5657801m+Non-prefixed global variable
#580Surge6046474k+Non-prefixed global variable
#581CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online).612162400Direct Query
#582GutenKit – Page Builder Blocks, Patterns, and Templates for Gutenberg Block Editor61711980k+Non-prefixed global variable
#583SureDonation – Donation Forms, Fundraising Campaigns & Donor Management6139701k+Missing Arg Domain
#584Text Domain Inspector614136400Non-prefixed global variable
#585Newspack Newsletters6253451k+Request data is not unslashed
#586morkva UA Shipping641,305211k+Text Domain Mismatch
#587Web and WooCommerce Addons for WPBakery Builder654971231k+Text Domain Mismatch
#588Easy PHP Settings6634481k+Missing Translators Comment
#589Meks Audio Player672571k+Output is not escaped
#590Auto Update Post Date6911232k+Input is not validated
#591Upsell Funnel Builder for WooCommerce – Create Upsells, Cross-Sells, Order Bumps, Frequently Bought, and Popups.7031,4463k+Non-prefixed global variable
#592MemcacheD Is Your Friend7223331k+Non-prefixed function
#593Image Quality Control | Still BE728326400unlink unlink
#594Bestfreebie Elementor Icons732713400Text Domain Mismatch
#595Connect Contact Form 7 to Mailchimp, Brevo, MailerLite & Klaviyo745798440k+Text Domain Mismatch
#596LLMs.txt and LLMs-Full.txt Generator7422144k+Non-prefixed global variable
#597Styled Calendar – Customizable, Mobile Responsive Google Calendar Embeds75881k+Exception output is not escaped
#598Change Mail Sender76971920k+Text Domain Mismatch
#599Responsive Mobile-Friendly Tooltip792514600Missing Arg Domain
#600Docxpresso809142k+Input is not sanitized