WordPress.Security.EscapeOutput.HeredocOutputNotEscaped

Heredoc Output Not Escaped

A value reaches browser output without clear escaping for the final HTML context.

critical weight

Why It Shows Up

The scan found output where WordPress Coding Standards could not see `esc_html()`, `esc_attr()`, `esc_url()`, `wp_kses()`, or another context-appropriate escaping function.

Why It Matters

When dynamic data is printed raw, any user-controlled part of that data can become cross-site scripting.

How to Fix

  • Use `esc_html()` for text nodes, `esc_attr()` for attributes, and `esc_url()` for URLs.
  • Use `wp_kses()` when limited HTML is allowed.
  • Escape late, right before output, so the escaping function matches the final context.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1JetBackup – Backup, Restore & Migrate101,563149200k+Exception output is not escaped
#2AnyComment174454495k+Output is not escaped
#3Podlove Podcast Publisher182,3541,4333k+Output is not escaped
#4Matomo Analytics – Powerful, Privacy-First Insights for WordPress191,911877100k+Exception output is not escaped
#5SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments195281,11980k+Non-prefixed global variable
#6Broadstreet20434273700Output is not escaped
#7Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC)207362,112900Non-prefixed global variable
#8DMCA Protection Badge204,4252171k+Output is not escaped
#9Oasis Workflow21775575700Text Domain Mismatch
#10Professional Social Sharing Buttons, Icons & Related Posts – Shareaholic2132718110k+Output is not escaped
#11Revive Social – Social Media Auto Post and Scheduling Automation Plugin2125643120k+Non-prefixed hook name
#12Wordfence Security – Firewall, Malware Scan, and Login Security211,5922,9735m+Output is not escaped
#13RegistrationMagic – Custom Registration Forms, User Registration, Payment, and User Login223,6535,0848k+Non-prefixed global variable
#14Diverse Solutions IDX Real Estate Listings & MLS Search227456051k+Heredoc Output Not Escaped
#15Dynamic QR Code – generator222382086k+Missing direct file access protection
#16JCH Optimize221,1451364k+Output is not escaped
#17Seraphinite Accelerator2259425550k+Output is not escaped
#18Slim Jetpack222,5861,9472k+Text Domain Mismatch
#19WP Super Minify • Minify, Compress and Cache HTML, CSS & JavaScript221642578k+Non-prefixed constant
#20ЮKassa для WooCommerce225901689k+Short PHP open tag found
#21Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe239,31526,6441k+Non-prefixed global variable
#22Fastcache by Host.it231,327203800Text Domain Mismatch
#23Gutenberg23605327300k+Missing direct file access protection
#24Clone2324426240k+Output is not escaped
#25Youzify – BuddyPress Community, User Profile, Social Network & Membership Plugin for WordPress232,3171,7145k+Output is not escaped
#26TermsFeed AutoTerms: Privacy Policy Generator, Cookie Consent, GDPR, CCPA, Terms & Conditions, Disclaimers, Cookies Policy, EULA2493916170k+Non Singular String Literal Domain
#27Democracy Poll243874367k+Short PHP open tag found
#28Gutenberg Essential Blocks – Page Builder for Gutenberg Blocks & Patterns24120684200k+Non-prefixed global variable
#29SEO Ultimate2443726910k+Output is not escaped
#30Sugar Calendar – Events Calendar, Event Tickets, and Events Management Platform2442895610k+Output is not escaped
#31WCMultiShipping — Mondial Relay, Inpost & Chronopost for WooCommerce247334995k+Output is not escaped
#32European VAT Compliance Assistant for WooCommerce245153173k+Output is not escaped
#33WPSpeed – WordPress Speed, Cache & Performance Optimization (Core Web Vitals, PageSpeed 100)244821892k+Output is not escaped
#34Colissimo shipping methods for WooCommerce251,75555710k+Text Domain Mismatch
#35Genesis Club Lite25513317900Output is not escaped
#36VikAppointments Services Booking Calendar259,7535,207500Output is not escaped
#37VikRestaurants Table Reservations and Take-Away2511,6444,932600Output is not escaped
#38Crowdsignal Dashboard – Polls, Surveys & more26481491200k+Unsafe printing function
#39Lean Player – Video and Audio Player with Playlist for WordPress, Elementor and Gutenberg271,6154662k+Text Domain Mismatch
#40Online Lesson Booking27978281500Non Singular String Literal Domain
#41WP Job Manager279358280k+Non-prefixed hook name
#42My auctions allegro28483235500Non Singular String Literal Domain
#43ووکامرس فارسی2815721590k+Output is not escaped
#44افزونه حمل و نقل ووکامرس | پست پیشتاز، تیپاکس و پیک موتوری2813119020k+Missing nonce verification
#45WP Google Analytics Events – No-Code Custom Event Tracking for Google Analytics291181285k+Output is not escaped
#46Speed Kit32296732k+Output is not escaped
#47Barion Payment Gateway for WooCommerce32671526k+Non-prefixed global variable
#48Post and Page Builder by BoldGrid – Visual Drag and Drop Editor3234825850k+Output is not escaped
#49Showcase IDX Real Estate Search & Lead Capture32123522k+Output is not escaped
#50WP fail2ban – Advanced Security327515360k+Dynamic hook name