Skip to main content
If your app supports multiple languages but pre-renders always show one language (usually English), the language detection isn’t working for bots.

Why This Happens

Many apps detect language using:
  • Browser Accept-Language header
  • User’s saved preference (cookies/localStorage)
  • Geolocation
Bots don’t have these signals, so they see the default language.

Solutions

Tell Google about language versions:
<link rel="alternate" hreflang="en" href="https://example.com/en/about" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/about" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about" />
You can set a default pre-rendering language for your domain in your Domain Settings. The renderer will use this language when pre-rendering your pages, so you don’t need to change any code.This is the simplest option if your site primarily serves one language to search engines.
If you need more control, you can detect Hado SEO’s renderer and serve a specific language:
const isHadoBot = /HadoBot/i.test(navigator.userAgent);
const language = isHadoBot ? 'en' : detectUserLanguage();
Hado SEO’s renderer identifies itself with HadoBot/1.0 in the user agent string.This is less ideal because:
  • Only one language version gets pre-rendered per URL
  • You can’t have separate Google listings per language

Sitemap for Multi-lingual Sites

Create separate sitemap entries for each language version:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/en/about</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/about"/>
  </url>
  <url>
    <loc>https://example.com/ja/about</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/about"/>
  </url>
</urlset>