textdomain_invalid_format
textdomain invalid format
A translation or text-domain pattern does not match WordPress internationalization expectations.
Why It Shows Up
Plugin Check found missing text domains, mismatched domains, missing translator comments, variable-only strings, placeholder issues, or deprecated translation loading patterns.
Why It Matters
Translation issues make the plugin harder to localize and can break strings for non-English WordPress users.
How to Fix
- Use the plugin slug as the text domain unless the plugin intentionally declares a different one.
- Keep translatable strings literal and move variables into placeholders.
- Add translator comments before strings with placeholders or ambiguous context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | AI Infographic Maker | 19 | 1,383 | 599 | 600 | Output is not escaped | ||
| #2 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #3 | Store Locator WordPress | 21 | 2,494 | 1,628 | 10k+ | Text Domain Mismatch | ||
| #4 | Smart Forms – when you need more than just a contact form | 21 | 776 | 574 | 5k+ | Output is not escaped | ||
| #5 | IS-theme-companion | 21 | 3,559 | 511 | 1k+ | Non Singular String Literal Domain | ||
| #6 | Pay For Post with WooCommerce | 21 | 958 | 1,477 | 1k+ | Non-prefixed global variable | ||
| #7 | Data Tables Generator by Supsystic | 22 | 164 | 198 | 10k+ | Exception output is not escaped | ||
| #8 | DirectoryPress – Business Directory And Classified Ad Listing | 22 | 4,787 | 2,795 | 700 | Text Domain Mismatch | ||
| #9 | easyReservations | 22 | 5,307 | 2,480 | 800 | Text Domain Mismatch | ||
| #10 | Motors – Car Dealership & Classified Listings Plugin | 22 | 5,343 | 5,955 | 9k+ | Text Domain Mismatch | ||
| #11 | MStore API – Create Native Android & iOS Apps On The Cloud | 22 | 635 | 856 | 3k+ | SQL query is not prepared | ||
| #12 | PAYCOMET for WooCommerce | 22 | 1,206 | 423 | 2k+ | Text Domain Mismatch | ||
| #13 | Advanced AJAX Product Filters | 22 | 2,840 | 1,252 | 50k+ | Text Domain Mismatch | ||
| #14 | Advanced Product Labels for WooCommerce | 23 | 921 | 559 | 20k+ | Text Domain Mismatch | ||
| #15 | Print Anywhere & Create PDFs of Order Receipts, Invoices, Labels & More. | 23 | 1,485 | 444 | 1k+ | Text Domain Mismatch | ||
| #16 | Deployer for Git | 24 | 541 | 1,348 | 500 | Non-prefixed global variable | ||
| #17 | Grid/List View for WooCommerce | 24 | 1,071 | 556 | 2k+ | Output is not escaped | ||
| #18 | Load More Products for WooCommerce | 24 | 731 | 459 | 20k+ | Text Domain Mismatch | ||
| #19 | My Agile Privacy® – CMP, Cookie Consent & Privacy Tools | 24 | 1,329 | 705 | 7k+ | Text Domain Mismatch | ||
| #20 | Sequential Order Numbers for WooCommerce | 24 | 698 | 472 | 1k+ | Text Domain Mismatch | ||
| #21 | Smart Variations Images & Swatches for WooCommerce | 24 | 990 | 1,486 | 1k+ | Non-prefixed global variable | ||
| #22 | Softaculous | 24 | 115 | 50 | 10k+ | file system operations fread | ||
| #23 | Bulk Edit Categories and Tags – Create Thousands Quickly on the Editor | 25 | 1,041 | 1,016 | 4k+ | Text Domain Mismatch | ||
| #24 | Bulk Edit and Create User Profiles – WP Sheet Editor | 25 | 995 | 1,001 | 1k+ | Text Domain Mismatch | ||
| #25 | Smart Online Order for Clover | 25 | 1,744 | 1,148 | 1k+ | Text Domain Mismatch | ||
| #26 | FlatPM – Ad Manager, AdSense and Custom Code | 25 | 3,017 | 557 | 10k+ | Text Domain Mismatch | ||
| #27 | Hardcore Google Fonts Localizer | 25 | 331 | 261 | 800 | Text Domain Mismatch | ||
| #28 | Seers AI | Cookie Consent Banner – GDPR & CCPA Compliant Consent Management Platform | 25 | 1,446 | 421 | 1k+ | Output is not escaped | ||
| #29 | Bulk Edit Products for WooCommerce – WP Sheet Editor | 25 | 957 | 968 | 10k+ | Text Domain Mismatch | ||
| #30 | Bulk Edit Coupons for WooCommerce – WP Sheet Editor | 25 | 1,022 | 982 | 500 | Text Domain Mismatch | ||
| #31 | Bulk Edit Posts and Products in Spreadsheet | 25 | 934 | 944 | 8k+ | Text Domain Mismatch | ||
| #32 | WP Frontend Admin – Display WP Admin Pages in the Frontend | 26 | 347 | 337 | 400 | Non Singular String Literal Domain | ||
| #33 | SV Proven Expert | 26 | 747 | 380 | 900 | Output is not escaped | ||
| #34 | Social Web Suite – Social Media Auto Post, Social Media Auto Publish | 27 | 74 | 164 | 500 | Non-prefixed global variable | ||
| #35 | SV Tracking Manager | 27 | 968 | 129 | 1k+ | Output is not escaped | ||
| #36 | Mihdan: Ajax Edit Comments | 27 | 1,300 | 523 | 400 | Text Domain Mismatch | ||
| #37 | Geo Mashup | 28 | 775 | 232 | 1k+ | Text Domain Mismatch | ||
| #38 | Terms descriptions | 28 | 222 | 423 | 1k+ | Non-prefixed function | ||
| #39 | CloudSecure WP Security | 29 | 74 | 333 | 100k+ | Request data is not unslashed | ||
| #40 | Page Restrict for WooCommerce | 29 | 579 | 374 | 700 | Text Domain Mismatch | ||
| #41 | Pixelgrade Assistant | 29 | 1,365 | 160 | 2k+ | Text Domain Mismatch | ||
| #42 | Tilda-publishing | 29 | 219 | 78 | 700 | Output is not escaped | ||
| #43 | BrightEdge Autopilot | 30 | 107 | 31 | 600 | curl curl setopt | ||
| #44 | Mailrelay | 31 | 317 | 170 | 1k+ | Text Domain Mismatch | ||
| #45 | IP2Location Redirection | 32 | 206 | 126 | 7k+ | Output is not escaped | ||
| #46 | Posti Shipping | 32 | 664 | 157 | 1k+ | Text Domain Mismatch | ||
| #47 | Awesome Widgets for SiteOrigin Page Builder | 33 | 314 | 59 | 500 | Text Domain Mismatch | ||
| #48 | SMTP2GO for WordPress – Email Made Easy | 33 | 186 | 111 | 30k+ | Output is not escaped | ||
| #49 | IP2Location Country Blocker | 34 | 295 | 88 | 30k+ | Output is not escaped | ||
| #50 | WP Dummy Content Generator | 34 | 93 | 130 | 6k+ | Output is not escaped |