WordPress.WP.AlternativeFunctions.parse_url_parse_url
parse url parse url
The plugin uses raw URL parsing where WordPress URL helpers may be safer or more compatible.
Why It Shows Up
Plugin Check found `parse_url()` in plugin code.
Why It Matters
URL parsing is easy to get subtly wrong, especially with relative URLs, encoded values, and malformed input.
How to Fix
- Use WordPress helpers such as `wp_parse_url()`, `esc_url_raw()`, `esc_url()`, and `wp_http_validate_url()` where they fit.
- Validate schemes and hosts before using parsed URL parts.
- Do not use parsed URLs to build redirects or requests without allowlisting.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | Output is not escaped | ||
| #2 | Intercom | 0 | 60 | 71 | 6k+ | Non-prefixed function | ||
| #3 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #4 | Themify Builder | 9 | 5,304 | 2,136 | 5k+ | Text Domain Mismatch | ||
| #5 | JetBackup – Backup, Restore & Migrate | 10 | 1,563 | 149 | 200k+ | Exception output is not escaped | ||
| #6 | AnyComment | 17 | 445 | 449 | 5k+ | Output is not escaped | ||
| #7 | RestroPress – Online Food Ordering System | 17 | 524 | 3,155 | 1k+ | Non-prefixed global variable | ||
| #8 | wpForo Forum | 17 | 4,048 | 2,922 | 20k+ | Unsafe printing function | ||
| #9 | Property Hive | 18 | 1,957 | 6,027 | 3k+ | Missing nonce verification | ||
| #10 | Realtyna Organic IDX plugin + WPL Real Estate | 18 | 930 | 3,636 | 2k+ | Non-prefixed global variable | ||
| #11 | Shopping Cart & eCommerce Store | 18 | 5,373 | 17,466 | 3k+ | Non-prefixed global variable | ||
| #12 | Go Fetch Jobs (for WP Job Manager) | 19 | 1,410 | 1,741 | 700 | Non-prefixed global variable | ||
| #13 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,900 | 877 | 100k+ | Exception output is not escaped | ||
| #14 | Razorpay Payment Button Plugin | 19 | 486 | 98 | 2k+ | Exception output is not escaped | ||
| #15 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 536 | 379 | 3m+ | Missing Translators Comment | ||
| #16 | Membership Plugin – Kadence Memberships | 19 | 5,083 | 2,982 | 9k+ | Text Domain Mismatch | ||
| #17 | Scrollsequence – Cinematic Scroll Image Animation Plugin | 19 | 878 | 1,528 | 4k+ | Non-prefixed global variable | ||
| #18 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #19 | SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments | 19 | 533 | 1,149 | 80k+ | Non-prefixed global variable | ||
| #20 | WP Email Template | 19 | 344 | 345 | 2k+ | Exception output is not escaped | ||
| #21 | WP Import Export Lite | 19 | 737 | 979 | 40k+ | Non-prefixed global variable | ||
| #22 | WP Directory Kit | 19 | 1,504 | 2,638 | 2k+ | Non-prefixed global variable | ||
| #23 | WPJAM Basic | 19 | 325 | 346 | 4k+ | Output is not escaped | ||
| #24 | WPOSS阿里云对象存储 | 19 | 269 | 315 | 900 | Non-prefixed namespace | ||
| #25 | WPQiNiu七牛云对象存储 | 19 | 138 | 612 | 400 | Non-prefixed global variable | ||
| #26 | Brizy – Page Builder | 20 | 586 | 726 | 70k+ | Output is not escaped | ||
| #27 | Download Monitor | 20 | 423 | 1,364 | 80k+ | Non-prefixed hook name | ||
| #28 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #29 | GiveWP – Donation Plugin and Fundraising Platform | 20 | 3,410 | 3,554 | 100k+ | Output is not escaped | ||
| #30 | Leaky Paywall | 20 | 322 | 789 | 600 | Nonce verification recommended | ||
| #31 | Link Library | 20 | 1,942 | 1,394 | 10k+ | Unsafe printing function | ||
| #32 | Brevo – Email, SMS, Web Push, Chat, and more. | 20 | 460 | 646 | 100k+ | Request data is not unslashed | ||
| #33 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #34 | Shipping for Nova Poshta | 20 | 598 | 923 | 500 | Output is not escaped | ||
| #35 | پلاگین پرداخت دلخواه | 20 | 584 | 446 | 900 | Text Domain Mismatch | ||
| #36 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #37 | Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score | 20 | 147 | 231 | 3k+ | Exception output is not escaped | ||
| #38 | Razorpay Payment Button Elementor Plugin | 20 | 479 | 62 | 1k+ | Exception output is not escaped | ||
| #39 | Events Manager – OpenStreetMaps | 20 | 559 | 444 | 700 | Output is not escaped | ||
| #40 | Razorpay for WooCommerce | 20 | 975 | 859 | 100k+ | Non-prefixed function | ||
| #41 | School Management System – WPSchoolPress | 20 | 353 | 5,278 | 1k+ | Non-prefixed global variable | ||
| #42 | Store Locator WordPress | 21 | 2,494 | 1,628 | 10k+ | Text Domain Mismatch | ||
| #43 | Backup Migration | 21 | 981 | 1,093 | 80k+ | Non-prefixed global variable | ||
| #44 | Forumax – AI Powered Advanced Community Forum Plugin | 21 | 4,936 | 4,353 | 600 | Text Domain Mismatch | ||
| #45 | bbPress | 21 | 929 | 3,672 | 100k+ | Non-prefixed function | ||
| #46 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 21 | 1,060 | 957 | 700k+ | Missing Translators Comment | ||
| #47 | Pinpoint Booking System – Version 2 | 21 | 634 | 328 | 3k+ | Missing direct file access protection | ||
| #48 | Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots | 21 | 1,621 | 2,033 | 10k+ | Direct Query | ||
| #49 | Captcha Them All | 21 | 300 | 323 | 5k+ | Output is not escaped | ||
| #50 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,572 | 1,277 | 1m+ | Output is not escaped |