Skill 15 · Wp Plugin Directory Guidelines
Subchapter 15.3
references/naming-rules.mdMarkdown7 KBView on GitHub
Sources: Plugin Header Requirements · · Plugin Check , , and AI Namer prompts.
Plugin_Header_Fields_CheckTrademarks_Check| Rule | Details | Error Code |
|---|---|---|
| Must not use placeholder names | "Plugin Name" or "My Basics Plugin" are rejected | plugin_header_invalid_plugin_name |
| Minimum 5 alphanumeric characters | Name must contain at least 5 latin letters (a–Z) or digits | plugin_header_unsupported_plugin_name (new plugins only) |
| Name must exist in readme | === Plugin Name === header required and must be valid | invalid_plugin_name / empty_plugin_name |
| Name must match across files | Readme and plugin header name must match (case/entity-decoded) | mismatched_plugin_name (warning) |
Slug rules: lowercase, hyphens only, max 50 characters, derived from display name.
1. No generic names Names must be specific enough to distinguish the plugin from ~60,000 others.
2. Name must relate to plugin function The display name must correlate with what the plugin actually does. Exception: original invented terms.
3. No keyword stuffing Unnaturally repeating keywords in the name for SEO purposes is not allowed.
4. No names too similar to existing plugins Checked against the WordPress.org Plugin Directory. If similar, suggest a distinctive term (author name, brand, or crafted term) at the beginning.
5. Trademark/project name usage rules
Trademarks and project names are allowed only after connectors like for, with, using, or and:
"My Plugin for WooCommerce" — trademark after “for”, no affiliation implied"Pricing Rates for WooCommerce" — OK"WooCommerce Pricing Rates" — starts with trademark, implies affiliation"Nicedev Paypal for WooCommerce" — PayPal is not after a no-affiliation structure; correct form: "Nicedev Payment Gateway with PayPal for WooCommerce""PricingPress" — portmanteau using -Press (WordPress trademark)-Press, Woo-) are not allowed6. Banned and discouraged terms
Banned/discouraged terms cannot appear anywhere in the name — not even after for/with.
| Term | Reason |
|---|---|
| Facebook, FB, fbook, Whatsapp, WA, Instagram, Insta, Gram, INS, Threads, Oculus | Meta legal request: no use in name, slug, or banners |
| WordPress, wordpess, wpress | WordPress trademark; redundant in the WP.org directory |
| WP (as standalone/redundant, e.g., “for WP”) | Same as WordPress — redundant in context |
| Trustpilot | Direct request from trademark holder |
| Binance Pay | Direct request from trademark holder |
| Term | Reason |
|---|---|
| plugin (when redundant, e.g., “SEO Plugin”) | Redundant; forbidden as first word |
| best, #1, First, Perfect, The most | Superlatives / unverifiable comparative claims |
| free (when redundant, e.g., “(free)”) | All directory plugins are free — redundant |
| WP, W P (at beginning or end, referring to WordPress) | WordPress abbreviation — redundant |
| Gutenberg, gberg, guten, berg | Creates confusion; block editor is the current name |
The following slugs are statically blocked. Terms ending in - cannot begin a slug; terms without - cannot appear anywhere in the slug. woocommerce (no dash) is allowed only as for-woocommerce, with-woocommerce, using-woocommerce, or and-woocommerce.
adobe-, adsense-, advanced-custom-fields-, adwords-, akismet-,
all-in-one-wp-migration, amazon-, android-, apple-, applenews-, applepay-,
aws-, azon-, bbpress-, bing-, booking-com, bootstrap-, buddypress-,
chatgpt-, chat-gpt-, cloudflare-, contact-form-7-, cpanel-, disqus-, divi-,
dropbox-, easy-digital-downloads-, elementor-, envato-,
fbook, facebook, fb-, fb-messenger, fedex-, feedburner, firefox-,
fontawesome-, font-awesome-, ganalytics-, gberg, github-, givewp-, google-,
googlebot-, googles-, gravity-form-, gravity-forms-, gravityforms-, gtmetrix-,
gutenberg, guten-, hubspot-, ig-, insta-, instagram, internet-explorer-,
ios-, jetpack-, macintosh-, macos-, mailchimp-, microsoft-,
ninja-forms-, oculus, onlyfans-, only-fans-, opera-, paddle-, paypal-,
pinterest-, plugin, skype-, stripe-, tiktok-, tik-tok-, trustpilot,
twitch-, twitter-, tweet, ups-, usps-, vvhatsapp, vvcommerce, vva-, vvoo,
wa-, webpush-vn, wh4tsapps, whatsapp, whats-app, watson, windows-,
wocommerce, woocom-, woocommerce, woocomerce, woo-commerce, woo-, wo-,
wordpress, wordpess, wpress, wp, wc, wp-mail-smtp-, yandex-, yahoo-,
yoast, youtube-, you-tube-Portmanteaus also blocked: any slug starting with woo (case-insensitive) — e.g., woopress, wooland.
| Plugin Name | Verdict | Reason |
|---|---|---|
Shipping | ❌ | Too generic |
Ecommerce Tracker | ❌ | Too generic, no context |
Shipping Tracker for UPS | ✅ | Descriptive + context |
ShipGlex Shipping | ✅ | Invented term at beginning |
WooCommerce Pricing Rates | ❌ | Starts with trademark |
Pricing Rates for WooCommerce | ✅ | Trademark after “for” |
PricingPress | ❌ | -Press portmanteau |
PRT Text editor for WP | ❌ | WP is banned/redundant; correct: PRT Text editor |
Nicedev Paypal for WooCommerce | ❌ | PayPal not after no-affiliation structure |
Nicedev Payment Gateway with PayPal for WooCommerce | ✅ | Correct structure |
Best SEO Plugin for WordPress | ❌ | Superlative + banned terms |
My Free Slider | ❌ | “free” is redundant/discouraged |
Plugin Name, My Basics Plugin)for/with/using/and