What is WPML plugin?
WPML (WordPress Multilingual Plugin) is the most established and comprehensive paid translation plugin for WordPress, supporting over 65 languages and used on hundreds of thousands of professional and enterprise WordPress sites. It enables building fully multilingual WordPress sites with translated content stored in the same database alongside the original — each post, page, product, and taxonomy term can have a corresponding translation accessible at a language-specific URL (subdirectory, subdomain, or different domain).
WPML’s depth of compatibility is its primary strength: it works with virtually every major WordPress theme, page builder (Elementor, Divi, Beaver Builder, Bricks), WooCommerce, and plugin. Its WooCommerce Multilingual add-on (bundled with higher-tier plans) translates products, categories, attributes, variations, checkout pages, and order notification emails — making it the most complete solution for multilingual WooCommerce stores. WPML also manages SEO hreflang tags, translated slugs, language-specific XML sitemaps, and multilingual metadata automatically.
Pricing starts at €29/year for the Multilingual Blog plan (content translation only) and €99/year for the Multilingual CMS plan (which includes string translation, page builder support, and WooCommerce compatibility). The annual renewal requirement and the complexity of setting up a multilingual site are the most common concerns. For simple sites needing two languages, Polylang Pro or TranslatePress are worth comparing. For complex professional sites, agencies, or WooCommerce stores needing reliable multilingual infrastructure with deep plugin compatibility, WPML remains the industry-standard choice.
Need Help With WPML Setup, Troubleshooting, or Customization?
Need help with WPML? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.
Get WPML Expert HelpKey Features
- Translates posts, pages, custom post types, taxonomies, custom fields
- 65+ supported languages with custom language variants option
- URL format options: subdirectory (/fr/), subdomain (fr.domain.com), different domain
- WooCommerce Multilingual add-on: products, categories, checkout, order emails
- String translation for theme and plugin UI text
Pros & Cons
Pros
- Deepest theme and plugin compatibility of any multilingual plugin
- Most complete WooCommerce multilingual solution available
- Professional translation workflow with translator accounts and notifications
Cons
- Annual renewal required — significant long-term cost compared to one-time alternatives
- Can slow WordPress admin on sites with large multilingual databases — noted in user reports
Free vs Premium
No free version. Multilingual Blog (€29/year): basic content translation. Multilingual CMS (€99/year): string translation, page builders, WooCommerce. Agency (€199/year): unlimited sites. All plans require annual renewal.
Common Problems & Fixes
WPML is slowing down my WordPress admin significantly — page loads in the dashboard are very slow. How do I fix this?
WPML adds database queries for translation relationships on every admin page. For sites with large content libraries and many languages, this can impact admin performance. Mitigation: (1) in WPML → Settings → Performance, enable caching for WPML language information; (2) ensure WordPress database tables are optimized — run OPTIMIZE TABLE on wp_posts and wp_icl_translations; (3) disable WPML features not in use (if String Translation is not needed, disable the module); (4) consider WP Engine or Kinsta hosting with object caching (Redis/Memcached) which significantly reduces the impact of WPML’s additional queries.
Translated pages in WPML are not showing the correct content — the translation shows the original language content instead. How do I debug this?
This typically indicates the translation relationship is broken or the language detection is not working correctly. Check: (1) go to WPML → Translation Management and verify the page shows a translation for the target language; (2) clear all caches — caching plugins often serve the wrong language version to visitors; (3) in WPML → Languages, verify the language detection method (URL, cookie, or browser) is configured correctly; (4) check if a caching plugin is caching pages without language differentiation — add language-specific cache keys or configure your caching plugin to differentiate by language URL.
WooCommerce product variations are not translating correctly with WPML — variation attributes appear in the wrong language. How do I fix this?
WooCommerce attribute translation requires the WooCommerce Multilingual add-on. Go to WPML → WooCommerce Multilingual → Attributes and translate each attribute name and its values. After translating, synchronize the translations by going to WooCommerce Multilingual → Products and running the translation sync. Attribute values that appear in the wrong language are usually cached — clear all caches after completing attribute translations.
Customization & Developer Notes
How do I add a language switcher to my WordPress menu with WPML?
WPML provides multiple language switcher placement options. For menus: go to Appearance → Menus, add the WPML Language Switcher as a custom item, and configure display options (show flags, language names, or both). For widget areas: add the WPML Language Switcher widget. WPML also inserts a language switcher automatically in the footer or admin bar based on Settings → Languages → Language Switcher. Custom placement is available via the wpml_add_language_selector PHP function or the [language_selector_widget] shortcode.
How do I translate WooCommerce checkout fields and button text with WPML?
WooCommerce checkout UI strings (field labels, button text, error messages) are translated via WPML String Translation. Go to WPML → String Translation and search for the checkout strings — filter by domain “woocommerce” to find all WooCommerce text. Click the string, add translations for each language, and save. For page builder-built checkout pages (Elementor, etc.), use the Translation Editor to translate page builder-specific text. Order notification email content is translated in WooCommerce → Emails where each email template has language-specific versions managed by WooCommerce Multilingual.
Frequently Asked Questions
Is WPML or Polylang better for a multilingual WordPress site?
WPML offers more comprehensive compatibility, deeper WooCommerce support, and professional translation management tools — at €99/year. Polylang has a functional free version and Polylang Pro at €99/year (unlimited sites) for sites needing multilingual without per-site licensing. For agencies managing many client sites, Polylang Pro is more economical. For complex single sites with WooCommerce, custom post types, and page builder content, WPML’s depth of compatibility justifies its cost.
Can WPML automatically translate content without manual translation?
WPML integrates with AI-powered automatic translation services (DeepL, Google Translate, Microsoft Translator) via WPML’s Translation Credits system. Automatic translations are sent to these services and returned to WPML for review before publishing. Translation credits are purchased separately on top of the WPML license. Human review of machine-translated content is strongly recommended before publishing for professional sites, as machine translation quality varies significantly by language pair and content type.
Can WPML break after updates?
Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.
What should I check before installing WPML?
Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.