yoast_seo_i18n
Introduction
Yoast SEO's Real-Time SEO widget analyzes your content as you type and gives plain-language coaching — your title is too short, your focus keyword should appear earlier, your paragraphs are too long. The catch: that coaching has always been in English only, no matter what language your site or your editors use. This module fixes that. It bridges the widget's feedback strings into Drupal's own translation system, so every editor sees the same real-time advice in their own language.
Features
The basic functionality is simple: enable this module alongside yoast_seo, and every string the Real-Time SEO widget displays — scores, hints, snippet preview labels — is routed through Drupal.t() instead of being hardcoded in English.
- Translates all Real-Time SEO feedback messages, including score labels ("Good SEO score", "Needs improvement") and detailed hints (keyword density, readability, meta description length, subheadings, links, images, etc.).
- Correctly handles plural forms per language (e.g. "1 word" vs. "3 words"), using
Drupal.formatPlural()rather than English-only singular/plural rules. - Ships ready-made translations for 36 languages out of the box — no extra setup needed for those languages.
- Makes no changes to Yoast SEO's own logic or scoring — only the language the feedback is shown in.
Use this module on any Drupal site that runs Yoast SEO and has editors who work in a language other than English. It's especially useful for multilingual sites, agencies with international clients, or any team where "the SEO tool doesn't speak our language" has been a recurring complaint.
Post-Installation
There is no configuration page and nothing to set up. Once the module is installed and enabled:
- The module hooks into the
yoast_seo_corelibrary automatically viahook_library_info_alter(), so its translation bridge always loads before the widget itself. - Feedback is translated according to the interface language already in effect for the current user/page, exactly like the rest of Drupal's admin UI.
- To see translated feedback, make sure the relevant language is enabled on your site (Configuration > Regional and language > Languages) and that interface translations are up to date (Configuration > Regional and language > Translate interface).
Additional Requirements
drupal/yoast_seo^2.2- Drupal core ^10 || ^11 || ^12
- Drupal core's
localemodule (for interface translation)
No external libraries or APIs are required beyond what yoast_seo itself already bundles (RTSEO.js).
Recommended modules/libraries
Since translations are delivered through Drupal's standard interface translation system, sites that already use the core locale module and language negotiation (language module) will get the most out of this bridge with zero extra effort. If you want to add or improve a translation, the standard localize.drupal.org workflow applies.
Similar projects
No other project currently bridges Yoast SEO's Real-Time SEO widget to Drupal's translation system — the underlying request has been open in Yoast SEO's own issue queue since 2017. This module exists specifically to fill that gap without patching the vendored RTSEO.js library.
Supporting this Module
No funding links are set up at this time. The most valuable support is contributing or correcting translations, or filing issues for strings that read awkwardly in your language.
Community Documentation
For the technical details of how the translation bridge works — why plural handling needed special care, and what to watch for when maintaining this module — see TECHNICAL.md in the module's repository.
The development of this module was accelerated with the help of a large language model (LLM).