Directory / plugin

LangRelay – AI Translation & Multilingual

v2.18.0 · by langrelay

Make your site multilingual with AI translations you approve. Automatic hreflang, canonical tags, SEO metadata and a language switcher.

View on WordPress.org

About this plugin

LangRelay is a WordPress translation plugin that makes your site multilingual. AI translates your pages, posts, and products. You review and approve each translation in the LangRelay Dashboard, and your site serves it at its own address, with hreflang tags and a language switcher handled automatically.

Most translation plugins stop at the words on the page. LangRelay also translates your meta titles and descriptions and gives every translated page its own address, so your site gets found in every market you sell in.

What you get

  • AI translations you approve. Machine translation drafts each page, and nothing goes live until it has been approved in the LangRelay Dashboard.
  • An address for every language. Each translated page lives under its language prefix, like yoursite.com/nl/about-us, and you can set its address in that language, like yoursite.com/nl/over-ons, in the LangRelay Dashboard.
  • Automatic hreflang. Hreflang and canonical tags are set on every translated page for you. No manual setup.
  • Translated SEO metadata. Meta titles, descriptions, and Open Graph and Twitter text in your page’s HTML translate alongside the page, whichever plugin writes them, and a translated page’s Open Graph and Twitter tags name its own address and language.
  • Language switcher. A language menu or list with flags and language names, in one of four styles. A plain list of links is rendered with the page, so visitors without JavaScript and search engines still see every language. Available as a Gutenberg block, Elementor widget, shortcode, an HTML snippet, items in your menus, or as a floating switcher in the corner you choose.
  • WooCommerce pages. Product and shop pages translate like any other page once their translation is approved.
  • Visitors offered their language. A visitor who reads one of your languages is offered the page in it, or, if you choose, taken there when they arrive. Set it in the LangRelay Dashboard.

Why a multilingual WordPress site matters

  • English is only 16% of the internet. The other 84% is your addressable market.
  • Google ranks translated pages separately. A multilingual site can multiply your organic traffic without adding new content.
  • AI search engines (ChatGPT, Perplexity, Gemini) increasingly answer questions in the user’s native language. Without translated pages, you don’t show up.

How it works

  1. Install the plugin, go to Settings > LangRelay, and click Connect to LangRelay. Sign in to LangRelay, or create your account right there, approve the connection in the LangRelay Dashboard, and you’re returned to your site, connected.
  2. Pick the languages you want, in the LangRelay Dashboard.
  3. Review and approve translations in the LangRelay Dashboard. Once a page’s translation is activated, your site serves it at its own address, with the language switcher, hreflang and canonical tags taken care of.

That’s it. No content duplication, no manual translation interface, no separate posts to manage.

Multilingual SEO done right

LangRelay handles the SEO work that usually takes hours per language:

  • hreflang and x-default tags on every translated page and its original
  • A canonical tag on every translated page naming its own address in that language. When your SEO plugin points a page’s canonical at another page of your site, the translation points at that page in the same language once it is live, and a canonical to another website is left as it is
  • An address of its own for each language version, under its language prefix, with the page’s lang (and dir="rtl" for a right-to-left language)
  • Translated meta titles, descriptions, and Open Graph and Twitter text
  • og:url, og:locale, an og:locale:alternate for each other language the page is live in, and twitter:url, naming the translated page
  • Your translated pages in the sitemaps of Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework and XML Sitemap Generator for Google, each with all of its language versions
  • A sitemap of your translated pages, when your site uses WordPress’s own sitemap or no sitemap plugin

Search engines understand which language to serve to which visitor. AI models cite your site across markets.

What makes LangRelay different

Nothing goes live without your approval. Every translated page is approved in the LangRelay Dashboard before your site serves it, and your site serves exactly the translation that was approved.

The same sentence is translated once. If it appears on 500 pages, like a line in your footer, LangRelay translates it once and reuses that translation wherever it appears.

Switching from another translation plugin?

Coming from a service like Weglot, or a manual translation plugin like WPML or Polylang? Two things change:

  • You stop maintaining translations by hand. There are no duplicate posts or separate editors to keep in sync. LangRelay applies approved translations to your pages as they are served, so your content lives in one place.
  • You approve before anything goes live. Each page’s translation is reviewed and approved in the LangRelay Dashboard, and your site serves exactly what was approved.

Keep your content and keep your domain.

Pricing

Plans and prices are at langrelay.com/pricing.

Meet Relay

Relay is the AI assistant in the LangRelay Dashboard. Ask it about your Site, and it can start machine translation for a page, fetch a page again after you have changed it, or suggest a better translation for a sentence you have selected. Approving and publishing translations stay with you.

External services

LangRelay API

This plugin connects your site to the LangRelay API (api.langrelay.com) over HTTPS. It never sends your page content.

What is sent: the one-time connection code when you connect; your site’s address, WordPress and plugin versions and an installation ID when connecting and in an hourly health check, which also says whether WooCommerce is installed, which version, and whether it is active, which of Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework or XML Sitemap Generator for Google makes your sitemap and its version (or that WordPress’s own sitemap, or none of them, does), and whether your site has a robots.txt file of its own (no other plugin is named); after you save content, the address of each published page you saved, or that a menu, category or tag, or your site title, tagline or theme changed, with the time and the installation ID; after WordPress, an active plugin or your theme is updated, its name and its old and new version numbers; when a translated page had to be shown in its original language because your site’s page layout changed, which page and language, and how much of the translation still fitted; when you erase a customer’s personal data under Tools > Erase Personal Data, that customer’s profile key (see revenue below); and this site’s connection credential with every request.
What is received: the languages your site is translated into, and the approved translations of your pages, which the plugin caches on your site; and, for Settings > LangRelay, your LangRelay plan, this month’s word usage and welcome grant, the pages waiting to be translated (with their titles and addresses) and the plan that would translate them now, with its price and a link to the LangRelay Dashboard; and, for the checklist on Settings > LangRelay, how far your first translation has come (the language, how many texts are translated, whether the page is live and checked) with the address of the live page and a link to your Site in the LangRelay Dashboard.
When: when you connect, once an hour, about a minute after you save content, within ten minutes of an update or of a translated page shown in its original language (each page at most once every six hours), and on visitor page requests at most once per refresh interval (one minute by default) or when an approved translation changes; your site’s languages and its translations’ versions are also checked once an hour, with the health check. Your plan and usage only when an administrator opens Settings > LangRelay: at most once every five minutes, or a minute later when LangRelay could not be reached. The first translation’s progress only while an administrator has Settings > LangRelay open and in view: at most once every half minute (the screen asks every twenty seconds and stops after twenty minutes), or a minute later when LangRelay could not be reached. A profile key to delete when you erase a customer’s personal data, and again later if LangRelay could not be reached.

LangRelay API, from your visitors’ browsers

On every page of your site while your Site counts page views (otherwise only on pages with the language switcher, on translated pages and, while Visitor language is on, on every page that has a translation), a small script that ships with this plugin talks to the LangRelay API (api.langrelay.com) from the visitor’s browser. It reads your site’s languages on every such page, and on a translated page the approved translations it needs to translate text that appears after the page loads, such as a mini-cart. It also counts the page view for your Site’s visitor analytics in the LangRelay Dashboard. The script is served from your site, never from LangRelay. It follows your Site’s Dynamic content setting in LangRelay, which is on by default.

What is sent to read translations: your site’s public key, which is printed in the page and is not a password, and on a translated page its language and which part of your site’s translations it needs (a version and a part number).
What is sent to count a page view: your site’s public key; the page’s address on your site, without any query string; the visitor’s language as your site names it; whether the page was shown translated, could have been, or was read in the original language; and, when another website’s link brought the visitor, that website’s domain name only. Never the page’s text or title, any cookie, the full address of the page the visitor came from, or any identifier, except the profile key of a customer signed in to your shop while revenue tracking is on (see revenue below).
What LangRelay works out from a page view: the visitor’s country, the kind of device, browser and operating system, and a visitor code that changes every day, so the same visitor cannot be recognised from one day to the next (a signed-in customer’s profile key is the one exception). The visitor’s IP address and browser details are used only for that and are never stored. Counting a page view stores nothing on the visitor’s device. Individual page views are kept for three months; after that only totals remain.
What is received: your site’s languages and, on a translated page, the approved, live translations of your site’s text in that language and the addresses of its translated pages. Nothing is received for a page view.
When: translations, when a visitor opens a page, unless their browser already has a fresh copy. Page views, once for each page a visitor opens. No page view is sent when the visitor’s browser has Global Privacy Control or Do Not Track turned on. None is sent either for people signed in with a role left out under Settings LangRelay Advanced (administrators and editors by default).
Turning page-view counting off: it is on by default. Switch off Visitor analytics under your Site’s Settings Analytics in the LangRelay Dashboard, and counting stops within about a minute. LangRelay’s Privacy Policy and Data Processing Agreement describe how this data is handled.

Visitor language, in your visitors’ browsers

While your Site’s Visitor language is Suggest (the default) or Redirect in the LangRelay Dashboard, the same script compares the visitor’s browser languages with the languages each page is translated into. With Suggest, a visitor who reads one of them is offered the page in their language. With Redirect, a visitor who arrives from another website is taken to the page in their language before it shows, and told so. It sends nothing to LangRelay or anyone else for this, the small file that shows the suggestion is served from your site, and it never runs for search engines or for people signed in who can edit posts.

What is stored, in the visitor’s browser only:

  • localStorage["langrelay:language"]: the language the visitor chose, with the date. Written only after they click a choice in the suggestion, in the notice after a redirect, or in the language switcher. Kept for one year, then deleted.
  • sessionStorage["langrelay:redirected"]: the language of the page an automatic redirect left. Written just before the redirect, and deleted by the next page as soon as it opens.

Neither ever leaves the visitor’s device, and no cookie is set. To turn it off, set Visitor language to Off under your Site’s Settings WordPress in the LangRelay Dashboard.

The “Powered by LangRelay” link

The language switcher’s menu and the language suggestion show a “Powered by LangRelay” link to langrelay.com, on by default (a paid plan can turn it off in the LangRelay Dashboard). Nothing is sent unless a visitor clicks it.

What is sent: when a visitor clicks it, langrelay.com opens in a new tab with your site’s domain name, whether the link was in the switcher or the suggestion, and your site’s public key in its address, so LangRelay can tell which site the visit came from. The page the visitor was on is not sent.
When: only when a visitor clicks the link.

LangRelay API, for your shop’s revenue (WooCommerce)

When WooCommerce is active and you switch on revenue tracking under your Site’s Settings Analytics in the LangRelay Dashboard, your site tells the LangRelay API (api.langrelay.com) what happens to its orders, so the Dashboard can show your revenue and the language each order came from. It is sent from your site’s server, never from the shopper’s browser. Revenue tracking is off by default, and nothing is sent while it is off.

What is sent: for each order placed at checkout, paid, refunded or cancelled, the order’s ID, what happened, the amount (the order’s total, or the refund’s amount) with its currency, when it happened, and the language the shopper browsed in (the language of the checkout page, or else of the page they last added a product from, which WooCommerce keeps in the shopper’s existing cart session; no new cookie); for the order of a customer signed in to your shop, their profile key (below); with this site’s connection credential and installation ID. For an order placed at checkout, also the shopper’s IP address and browser details as WooCommerce recorded them, which LangRelay turns into that day’s visitor code and never stores. Never the shopper’s name, email address, postal address, phone number, customer account, or what they bought.
What is received: whether each order event was recorded.
When: about a minute after an order is placed, paid, refunded or cancelled, in batches, and again later if LangRelay could not be …

Plugin tags