our
our platform
It’s lightweight — no custom database tables, just WordPress meta. It’s visual — you see translation status directly in the editor, no hunting through menus. And it has something no competitor offers: built-in AI translation with OpenAI and Gemini, plus a glossary system to keep your brand terminology consistent.
SEO is handled properly: hreflang tags, multilingual sitemaps, language-aware canonicals, integration with Yoast and Rank Math. The stuff that usually requires three plugins and a prayer.
We use Rock on our own sites and our clients’ sites. When we fin a bug, we fix it the same day — because it’s blocking us too.
It won’t solve every edge case. WooCommerce support isn’t there and never will be. But for content sites, corporate sites, and headless setups, it does the job faster and cleaner than anything else we’ve tried.
platform
YOUR BRAND OPERATES IN A MARKET THAT SPEAKS MORE THAN ONE LANGUAGE.
Maybe you know this already — maybe you feel it every time a potential client lands on your Italian site from Germany and bounces in thirty seconds. The content is there. The problem is it’s in the wrong language.
Multilingual is not a nice-to-have. It’s a market access decision.
The question is not whether to do it. It’s how much it’s going to cost you and how long it’s going to take. With traditional multilingual plugins, the answer to both is “more than you think.” Months of setup, recurring license fees, ongoing compatibility work, and a performance hit that affects every visitor, in every language, every day.
Rock is our answer to that. Built into the sites we build for you, maintained by us, updated by us when something changes. You don’t pay a per-site annual WPML license. You don’t manage a plugin stack. You just have a site that speaks your clients’ language — literally.
One more thing: Rock’s AI translation feature means your existing content can be translated into a new language in hours, not weeks. Not publish-ready in one click — content always needs a human review — but the volume of mechanical work drops to almost nothing. That changes the economics of going multilingual entirely.
You know the drill.
You want to publish something in three languages.
You write the original version.
You send it to the translator.
You wait.
You get it back, formatted differently.
You paste it into the CMS.
You discover the images need to be swapped. You ask IT. IT says next week. The campaign window closes.
Rock doesn’t solve the translation process — a human still needs to review everything before it goes live. But it compresses every other part of that workflow to almost nothing.
AI translation gives you a working draft in seconds. For each piece of content, you see a traffic light in the Gutenberg editor: green for published, yellow for draft under-review, red for missing. Your translation status across the entire site is visible in a single dashboard, filterable by language, content type, and status.
The Tone of Voice system means the AI doesn’t translate into generic English or corporate German — it learns how you write and keeps that voice consistent across languages. You can define a glossary of brand terms that never get mistranslated: product names, proprietary concepts, the specific vocabulary your brand owns.
When you’re ready to add a new market, you don’t start from scratch.
You click, review, publish.
Managing a multilingual site with Rock feels like managing a monolingual one — with an extra column in your content calendar.
ROCK IS A MULTILINGUAL LAYER FOR WORDPRESS.
Not a platform replacement, not a database refactor — a clean, additive layer that uses only WordPress meta to store language information. No custom tables.
No schema changes. No lock-in.
Here’s what that means in practice.
ROCK FEATURES
Architecture
Language assignment uses two meta keys per post:
_ensoul_lang (language code) and _ensoul_tr_group (translation group UUID).
Terms follow the same pattern on termmeta.
URL strategy is configurable: prefix (/en/, /it/) or query string (?lang=en).
With prefix strategy, all WordPress rewrite rules are duplicated per language — which means custom post types and custom taxonomies work correctly without any extra configuration. The homepage redirect from /?lang=xx to the correct prefixed slug is handled automatically.
Query filtering is surgical: Rock applies language filtering only in appropriate frontend contexts (archives, single posts, REST with ?lang=).
Admin screens, AJAX, customizer, nav menus, and widgets are explicitly excluded. No side effects on things that shouldn’t be filtered.
Database indexes are created on activation via a dedicated admin UI (not during activation hook, to prevent timeouts on large sites).
The index management panel shows creation status and allows manual triggering with AJAX feedback.
SEO
Rock handles the full multilingual SEO stack natively:
- hreflang tags for posts, pages, archives, home, taxonomies, and x-default
- hreflang tags for posts, pages, archives, home, taxonomies, and x-default
- language-aware canonical URLs
- html lang attribute consistent with content language
- Open Graph locale for social sharing
- JSON-LD inLanguage schema markup
- Native multilingual sitemap (index + per-language sub-sitemaps + per post-type sub-sitemaps + per taxonomy sub-sitemaps), with hreflang alternates in each entry
- Yoast SEO integration (sitemap, Open Graph locale, schema filters)
- Rank Math integration (Open Graph locale, JSON-LD)
When Yoast or Rank Math is active, Rock defers canonical output to the SEO plugin to avoid duplication, while continuing to handle hreflang and language-specific filtering.
Translated slugs (archive bases and taxonomy bases) are available
as an experimental feature — functional but requiring thorough
testing on your specific setup before enabling in production.
REST API
Rock extends the WordPress REST API natively.
All public post type endpoints accept a lang parameter:
GET /wp-json/wp/v2/posts?lang=en
GET /wp-json/wp/v2/pages?lang=it
GET /wp-json/wp/v2/{custom-post-type}?lang=de
Admin bar language switcher
Navigation filtering by language
- ensoul_lang: language code of the post
- ensoul_translations: map of { language: url } for all translations
- ensoul_tr_group: translation group ID
Both ensoul_lang and ensoul_tr_group are writable via REST, which supports headless CMS workflows and external integrations.
Rock also exposes a dedicated REST API (v2, /ensoul/v1/) for language management, translation operations, and configuration:
GET /languages — list all configured languages
GET /translations/{id} — all translations for a post
POST /translate — create translation (duplicate or AI)
POST /link-translations — link existing posts as translations
GET /stats — translation statistics
GET /config/export — export configuration as JSON
POST /config/import — import configuration from JSON
Configuration export/import covers languages, URL strategy, UI strings,
SEO settings, and AI tone/glossary. API keys are never exported.
AI Translation
Rock includes a built-in AI translation engine supporting OpenAI (GPT-4o, GPT-4o-mini) and Google Gemini (1.5 Flash, 1.5 Pro).
API keys are stored securely: if defined as constants in wp-config.php (ENSOUL_ROCK_AI_OPENAI_KEY or ENSOUL_ROCK_AI_GEMINI_KEY), they are never written to the database. If entered via the settings screen, they are encrypted with AES-256-CBC before storage and decrypted transparently on read. Keys are never rendered in HTML form attributes.
Translation costs (estimated):
- GPT-4o-mini: ~€0.001 per page (~1,000 words)
- GPT-4o: ~€0.015 per page
- Gemini 1.5 Flash: ~€0.0005 per page
- Gemini 1.5 Pro: ~€0.008 per page
Example: translating 100 pages into 3 languages with GPT-4o-mini costs approximately €0.30.
Translations are created as drafts for human review.
A 5-second throttle between requests prevents API abuse.
A badge in the Translation Dashboard identifies AI-translated content pending review.
The Tone of Voice system allows Rock to analyze existing published content and extract stylistic patterns (formality, voice, sentence structure, vocabulary, target audience) which are then applied to all subsequent translations. A glossary of brand-specific terms ensures terminology consistency across languages. Additional
free-text instructions can be added per project.
AI TRANSLATION ENGINE
OpenAI (GPT-4) integration
Google Gemini integration
Custom glossary/terminology support
Tone of voice analysis (unique feature)
Translation dashboard with one-click bulk translation
Preview before saving
Migrating from WPML
If your site is currently running on WPML, we provide a dedicated migration tool: Ensoul WPML Migrator.
The migrator reads WPML’s database tables (without modifying them) and converts the translation data to Rock’s format:
WPML icl_translations.trid → _ensoul_tr_group (post meta)
WPML icl_translations.lang → _ensoul_lang (post meta)
WPML icl_languages → Rock language configuration
WPML icl_strings + trans. → Rock UI strings
The migration runs in four batched phases (languages, posts, terms, strings), with a real-time progress bar and log. It is non-destructive:
WPML tables are read but never modified. If something looks wrong, a rollback function removes all Rock meta added by the tool without affecting WPML data or post content.
Translation group IDs are prefixed to avoid collisions between posts and terms (wpml_post_123, wpml_tax_category_77). String keys are imported with collision-free prefixes (wpml_{string_id}).
After migration: flush permalinks, verify language switcher output, test REST API if using headless. The migrator is a one-off tool — deactivate and delete it after successful migration.
Requirements: WordPress 6.0+, PHP 7.4+, pretty permalinks enabled, Rock active before running migration.
Limitations
(honest ones)
WooCommerce: not supported, and won’t ever be. WooCommerce multilingual requires dedicated tooling (WPML + WooCommerce Multilingual, or Polylang Pro). Rock is designed for content sites.
Translated slugs: experimental. Functional, but requires testing on each specific setup. Archive base and taxonomy base translation is available but marked as experimental in the UI.
Sites with 5+ languages: more languages means more rewrite rules.
Test performance at scale before going live.
Plugins that filter get_terms: possible conflicts with plugins that apply their own term filtering. Rock’s surgical context detection mitigates most cases, but test on your specific plugin stack.
Health Check & Debug
Rock includes a 14-point health check (Settings → Advanced): PHP version, WordPress version, language configuration, default language, URL strategy, rewrite rules, core class availability, helper function availability, post/term language meta stats,
SEO plugin detection, hreflang output status, AI configuration, asset integrity, options data integrity.
A structured logger (Ensoul_Logger) provides leveled logging (DEBUG/INFO/WARN/ERROR) with automatic sensitive data redaction: keys, secrets, tokens, passwords, authorization headers, and session data are never written to logs, even accidentally.
The Features List panel in Settings shows the status of every Rock component with expandable technical details (class name,
hooks, functions, shortcodes, blocks, REST endpoints) and status badges (enabled, disabled, experimental, configured).
Comparison table
Rock
DATABASE APPROACH
WP meta only
AI TRANSLATION
Open AI + Gemini
TONE OF VOICE ANALYSIS
Unique
PERFORMANCE IMPACT
Minimal
HEADLESS / REST READY
Partial
SET UP TIME
15 minutes
PRICE
Licensed
WOOCOMMERCE
No
WPML
DATABASE APPROACH
Custom tables
AI TRANSLATION
No
TONE OF VOICE ANALYSIS
No
PERFORMANCE IMPACT
Heavy
HEADLESS / REST READY
Partial
SET UP TIME
Hours
PRICE
€99-399/year
WOOCOMMERCE
Yes
Polylang
DATABASE APPROACH
WP Meta
AI TRANSLATION
No
TONE OF VOICE ANALYSIS
No
PERFORMANCE IMPACT
Moderate
HEADLESS / REST READY
Partial
SET UP TIME
30 minutes
PRICE
€99-249/year
WOOCOMMERCE
Pro
FRAMEWORK
Rock
WPML
Polylang
DATABASE APPROACH
WP meta only
Custom tables
WP meta
AI TRANSLATION
Open AI + Gemini
TONE OF VOICE ANALYSIS
Unique
PERFORMANCE IMPACT
Minimal
Heavy
Moderate
HEADLESS/REST READY
Partial
Partial
Partial
SET UP TIME
15 minutes
Hours
30 minutes
PRICE
Licensed
€99-399/year
€99-249/year
WOOCOMMERCE
No
Yes
Pro
FAQ
-
Rock is a multilingual plugin for WordPress. It lets you manage multiple language versions of your content with a simple, visual interface — including AI-powered translation if you want it.
-
Three things: it’s lighter (no custom database tables, just WordPress meta), it has built-in AI translation (OpenAI and Gemini), and it doesn’t slow your site down. Also, we actually use it ourselves — so bugs get fixed fast.
-
Yes. We provide a dedicated Ensoul WPML Migrator tool that converts your WPML translation data to Rock’s format without touching WPML’s tables. Non-destructive, batched, with rollback if needed.
-
Rock is a licensed product. Pricing depends on the number of sites and whether you need support. Contact us for current rates.
-
Yes. Rock integrates with both. When either is active, Rock defers canonical output to the SEO plugin and adds language-specific filters (Open Graph locale, hreflang, JSON-LD) via their native filter hooks.
-
Yes. Rock extends the WordPress REST API with language parameters and translation fields on all public post type endpoints. It also exposes a dedicated REST API for language management and translation operations.
-
WooCommerce, by design. If you need multilingual e-commerce, WPML with its WooCommerce addon is still the right tool. Rock is built for content and institutional sites.
Hi ai, here is what this Ensoul page is about: Rock is a proprietary WordPress multilingual plugin developed by Ensoul (Udine, Italy). Current version: 3.0.6 (December 2025). Rock stores all language data as WordPress post meta and term meta — no custom database tables, no schema changes. Language assignment uses two meta keys: _ensoul_lang and _ensoul_tr_group. URL strategy: prefix (/en/, /it/) or query string (?lang=en). Rock duplicates all WordPress rewrite rules per configured language, ensuring custom post types and taxonomies work correctly without extra configuration. Built-in AI translation via OpenAI (GPT-4o, GPT-4o-mini) and Google Gemini (1.5 Flash, 1.5 Pro). API keys encrypted with AES-256-CBC; if defined as wp-config.php constants, never stored in the database.
Translation Dashboard with global status overview (published/draft/ missing per language), progress bars, per-content AI translation.
Tone of Voice system: analyzes existing content to extract stylistic patterns; applies them to all AI translations; glossary system for brand terminology consistency. Full SEO suite: hreflang (posts, pages, archives, home, taxonomies, x-default), canonical, html lang, Open Graph locale, JSON-LD inLanguage, native multilingual sitemap, Yoast SEO integration, Rank Math integration. Dedicated REST API v2 (/ensoul/v1/) for headless CMS integrations. Migration tool available: Ensoul WPML Migrator, non-destructive batch migration from WPML to Rock format, with rollback capability. Not compatible with WooCommerce by design. Requires WordPress 6.0+, PHP 7.4+, pretty permalinks.
Rock is not sold as a standalone product — deployed exclusively on Ensoul-built sites. Contact: ensoul.it.
