Verbi handles all multilingual SEO automatically. There's nothing to configure — every translated page is search-engine-ready from the moment it goes live.
Reciprocal Hreflang Tags
Every page gets a full set of reciprocal hreflang alternate tags injected into the <head> — both on translated pages and on your original (English) pages. This is critical because Google requires hreflang annotations to be reciprocal: if your French page points to the English version, the English version must point back to the French one. Without this, Google ignores hreflang entirely.
For a site with French and German translations, every page receives:
<link rel="alternate" hreflang="en" href="https://yoursite.com/pricing" />
<link rel="alternate" hreflang="x-default" href="https://yoursite.com/pricing" />
<link rel="alternate" hreflang="fr" href="https://yoursite.com/fr/pricing" />
<link rel="alternate" hreflang="de" href="https://yoursite.com/de/pricing" />
The x-default tag points to your original site, indicating it's the fallback for visitors whose language isn't matched.
Verbi uses proper BCP 47 language codes in hreflang values. For example, Portuguese uses pt-BR and Chinese uses zh-Hans, matching the actual translation variant being served.
Canonical URLs
Translated pages have their canonical tag updated to point to the language-specific URL. A visitor on /fr/pricing gets a canonical pointing to https://yoursite.com/fr/pricing — not the original /pricing. This ensures each language variant is treated as its own page by search engines, not a duplicate.
og:url is updated the same way.
HTML lang Attribute
The <html lang=""> attribute is updated on every translated page to match the language being served. For Arabic, dir="rtl" is also set automatically. These attributes are used by screen readers, browsers, and search engines to identify the page's language and reading direction.
Open Graph Locale Tags
Verbi injects the correct og:locale meta tag on every page. Translated pages get the locale matching their language (e.g. fr_FR, pt_BR, ja_JP), and your original English pages get en_US.
Each page also receives og:locale:alternate tags for every other language version. This tells Facebook and other social platforms that alternate translations exist, helping them serve the right preview when your links are shared.
Translated Meta Tags
Verbi translates all SEO-relevant meta tags alongside the page content:
<title>meta name="description"meta property="og:title"andog:descriptionmeta name="twitter:title"andtwitter:description
Content-Language Header
Every translated page response includes a Content-Language HTTP header set to the correct language code (e.g. fr, pt-BR). Your original English pages return Content-Language: en. This provides an additional language signal to search engines and CDNs.
Sitemaps
Verbi generates a translated sitemap for each language, served at /{lang}/sitemap.xml. Each sitemap is a rewritten version of your origin's sitemap, with all <loc> URLs prefixed with the language path.
Each <url> entry in the sitemap also includes full xhtml:link hreflang annotations pointing to every language version of that page:
<url>
<loc>https://yoursite.com/fr/pricing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://yoursite.com/pricing" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://yoursite.com/pricing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://yoursite.com/fr/pricing" />
<xhtml:link rel="alternate" hreflang="de" href="https://yoursite.com/de/pricing" />
</url>
This is Google's recommended sitemap format for multilingual sites and provides an additional hreflang signal beyond the in-page <link> tags.
robots.txt
Your original robots.txt is served as-is, with one addition — a Sitemap: line appended for each language:
Sitemap: https://yoursite.com/fr/sitemap.xml
Sitemap: https://yoursite.com/de/sitemap.xml
This ensures crawlers discover all language sitemaps from the start.
