Panduan Multilingual SEO

cara mengoptimalkan sebuah situs itu menyajikan multiple languages — multilingual vs. multi-regional, how Google really detects language, hreflang, struktur URL, dan Bing.

Pertama kali diterbitkan: 25 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa

Multilingual SEO adalah optimizing sebuah situs itu menyajikan more daripada one language so setiap versi reaches right searcher. thing almost everyone gets wrong: Google ignores Anda <html lang> attribute dan konten-Language headers — ini reads terlihat text untuk detect language. hreflang doesn't tell Google sebuah halaman's language either; ini maps which URLs adalah alternates dari setiap lainnya. Bing adalah opposite — ini leans pada konten-language meta tag. Get language right pertama, lalu connect alternates dengan hreflang, lalu pick sebuah struktur URL (subdirectories untuk sebagian besar situs). 67% dari hreflang setups memiliki errors, tetapi Google fixes banyak dari them automatically.

TL;DR — Get mental model right dan sebagian besar multilingual SEO falls ke place. Google melakukan not read Anda <html lang> attribute atau Content-Language header HTTP untuk detect language — ini primarily menggunakan terlihat text. lainnya mesin dapat gunakan berbeda signals, so verify mereka saat ini guidance. hreflang doesn’t declare sebuah halaman’s language; ini maps which URLs adalah alternates so Google dapat swap di right one — dan ini adalah sebuah hint, not sebuah directive. ini adalah juga fiendishly error-prone: my study dari 374 756 domains ditemukan 67% memiliki hreflang issues. gunakan subdirectories untuk sebagian besar situs, tidak pernah auto-redirect Googlebot, dan hanya translate halaman dengan sebuah nyata business case.

Evidence for this claim Google recommends distinct URLs for each language version and cautions against relying on cookies or browser settings to swap content at one URL. Scope: Current Google multilingual site guidance. Confidence: high · Verified: Google Search Central: Managing multilingual sites Evidence for this claim hreflang can connect equivalent language or regional URLs, while page language is determined from visible content rather than the annotation alone. Scope: Current Google localized-version guidance. Confidence: high · Verified: Google Search Central: Localized versions

Multilingual ≠ multi-regional

foundational distinction. Multilingual adalah tentang language; multi-regional adalah tentang country. sebuah Swiss situs di German, French, dan Italian adalah multilingual tetapi single-regional. sebuah US/UK English situs adalah multi-regional tetapi single-language. mereka overlap semua time, tetapi mereka gunakan berbeda signals dan buat berbeda masalah, so I pertahankan them separate di my head dan so seharusnya Anda. Google’s own framing: “A multilingual website is any website that offers content in more than one language,” (terjemahan) “sebuah multilingual situs web adalah apa pun situs web itu offers konten di more daripada one language,” versus “A multi-regional website is one that explicitly targets users in different countries.” (terjemahan) “sebuah multi-regional situs web adalah one itu explicitly targets pengguna di berbeda countries.”

How Google actually detects halaman language (ini adalah big one)

Here adalah single sebagian besar-misunderstood thing di ini whole topic, dan ini adalah worth overstating because so banyak people get ini wrong:

Google ignores Anda <html lang> attribute. Google ignores Anda Content-Language header HTTP. ini reads terlihat text.

Straight dari docs: “Google uses the visible content of your page to determine its language. We don’t use any code-level language information such as lang attributes, or the URL.” (terjemahan) “Google menggunakan terlihat konten dari Anda halaman untuk determine -nya language. kami don’t gunakan apa pun code-tingkat language informasi such sebagai undefined attributes, atau URL.” dan pada hreflang halaman: “Google doesn’t use hreflang or the HTML lang attribute to detect the language of a page; instead, we use algorithms to determine the language.” (terjemahan) “Google doesn’t gunakan undefined atau HTML undefined attribute untuk detect language dari sebuah halaman; instead, kami gunakan algorithms untuk determine language.”

pada Search Off Record (July 2024), Gary Illyes gave ini sebuah name: LDCP — Language Demotion, Country Promotion. His explanation: “if someone is searching in German and your page is in English, then you would get a demotion.” (terjemahan) “jika someone adalah searching di German dan Anda halaman adalah di English, lalu Anda akan get sebuah demotion.” itu’s sebuah peringkat mechanism, dan ini adalah more fundamental daripada hreflang — jika Anda halaman isn’t genuinely di searcher’s language, LDCP demotes ini regardless dari what Anda tags say. (Illyes juga signaled ini jenis dari manual signaling adalah pada cara out, noting Google sudah memiliki sistem “automatically learning” (terjemahan) “automatically learning” untuk pair alternate-language versi — auto-detection adalah direction dari travel.)

Why melakukan Google distrust <html lang> so much? Because ini adalah wrong constantly. Gary told Joomla story: CMS “came with the Lang attribute set to English, and there was no way to override it… And then you looked at the page, and it was 100% German. So it was like you can’t trust that.” (terjemahan) “came dengan Lang attribute atur ke English, dan there adalah no cara untuk override ini… dan lalu Anda looked di halaman, dan ini adalah 100% German. So ini adalah like Anda dapat’t trust itu.” John Mueller memiliki said yang sama — HTML lang attribute adalah “something we don’t use at all” (terjemahan) “something kami don’t gunakan di semua” dan “almost always wrong. So we tend to ignore that.” (terjemahan) “almost selalu wrong. So kami tend untuk ignore itu.”

** takeaway:** language detection adalah sebuah konten masalah, not sebuah markup masalah. Write nyata konten di bahasa target. lang attribute masih penting untuk accessibility (screen readers) dan untuk Bing — hanya not untuk Google’s language detection.

Bing melakukan ini opposite cara

Bing melakukan not mendukung hreflang. dan where Google ignores Anda code-tingkat language hints, Bing depends pada them. Bing’s priority order:

  1. <meta http-equiv="content-language" content="en-us">primary signal.
  2. <html lang=""> attribute — secondary.
  3. pada-halaman text konten.

Bing’s format adalah sebuah 2-letter ISO 639 language code, sebuah dash, lalu sebuah ISO 3166 geography code (en-us, es-mx). So sebuah properly internationalized situs running pada both mesin ingin distinct-URL konten plus hreflang (untuk Google/Yandex) plus konten-language meta tag (untuk Bing). mereka’re not redundant; mereka feed berbeda mesin.

What hreflang actually melakukan (dan doesn’t)

hreflang adalah sebuah relationship map, not sebuah language detector. ini doesn’t tell Google language dari sebuah halaman — Google sudah gets itu dari konten. ini tells Google which URLs adalah alternates dari setiap lainnya dan untuk which language-region audience, so Google dapat swap di right one per searcher. Google: “Use hreflang to tell Google about the variations of your content, so that we can understand that these pages are localized variations of the same content.” (terjemahan) “gunakan undefined untuk tell Google tentang variations dari Anda konten, so itu kami dapat memahami itu ini halaman adalah localized variations dari yang sama konten.”

Three things memiliki untuk menjadi right atau cluster adalah ignored:

  • Bidirectional. “If two pages don’t both point to each other, the tags will be ignored.” (terjemahan) “jika two halaman don’t both poin untuk setiap lainnya, tags akan menjadi ignored.” English poin untuk Italian, Italian harus poin back.
  • Self-referencing. setiap halaman lists itself plus semua others.
  • x-default sebagai sebuah fallback untuk unmatched languages (recommended, not strictly diperlukan).

Three delivery metode: HTML <link> tags di <head>, HTTP Link header (berguna untuk non-HTML files like PDFs), atau sebuah sitemap XML dengan xhtml:link namespace. URLs harus menjadi fully qualified including https://.

dan critically: hreflang adalah sebuah hint, not sebuah directive. Google’s own line adalah itu “hreflang annotations are a hint to Google, not a directive.” (terjemahan) “hreflang annotations adalah sebuah hint untuk Google, not sebuah directive.” ini dapat dan akan override Anda when tag canonical, konten signals, atau pengindeksan status disagree.

valuable, di bawah-covered angle: hreflang speeds pengindeksan dari baru languages

Here’s sebuah benefit almost nobody talks tentang. pada yang sama SOTR episode, Gary Illyes said discovering hreflang triggers sebuah verification crawl dari alternates: “There is a dependency crawl triggering when we discover Hreflang, like we want to verify that.” (terjemahan) “ada sebuah dependency crawl triggering when kami menemukan Hreflang, like kami ingin untuk verify itu.” di plain istilah — when Google menemukan hreflang pada sebuah halaman, ini goes dan melakukan crawl alternate-language versi untuk verify relationship, which speeds up pengindeksan dari Anda baru language halaman. So hreflang isn’t hanya tentang serving right versi; ini adalah sebuah penemuan accelerant untuk newly launched languages.

Why Anda GSC hreflang data looks thin (dan itu’s normal)

lainnya Illyes poin worth internalizing: “Search Console only reports canonicals… the vast majority of the Hreflang clusters… are not canonical.” (terjemahan) “Search Console hanya reports canonicals… vast majority dari Hreflang clusters… adalah not canonical.” sebagian besar hreflang alternates aren’t canonical URLs, so mereka don’t tampilkan up individually di GSC’s coverage reporting. jika Anda dashboards membuat ini look like Anda language halaman “aren’t indexed,” (terjemahan) “aren’t terindeks,” itu’s sering hanya GSC reporting canonicals — not sebuah nyata masalah. Verify dengan pemeriksaan URL alat dan live SERPs alih-alih trusting aggregate count.

Duplicate konten: es-MX vs. es-ES

sebuah umum fear adalah itu two Spanish variants akan menjadi flagged sebagai duplicates. Google’s actual aturan: “Localized versions of a page are only considered duplicates if the main content of the page remains untranslated.” (terjemahan) “Localized versi dari sebuah halaman adalah hanya considered duplicates jika main konten dari halaman remains untranslated.” Two genuinely-Spanish halaman dengan nyata regional differences (currency, vocabulary, local references) adalah distinct. tetapi two es-ES dan es-MX URLs dengan identical text dan no regional differentiation akan menjadi treated sebagai duplicates — hreflang alone doesn’t separate them; distinct regional konten melakukan. di dalam sebuah valid hreflang cluster, signals dapat juga consolidate di seluruh alternates, which adalah umumnya helpful.

struktur URL, internal linking, dan language detection

Structure. Subdirectories (/es/, /fr/) untuk sebagian besar situs — mereka inherit root domain authority dan adalah rendah-maintenance. Subdomains get treated more like separate situs. ccTLDs adalah strongest country geotargeting signal tetapi berarti separate properties dan separate tautan-membangun. parameter URL adalah explicitly “not recommended.” (terjemahan) “not recommended.”

Internal linking antara versi. tautan language versi untuk setiap lainnya sensibly ( language switcher adalah bagian dari ini), tetapi don’t treat setiap alternate sebagai sebuah primary nav tautan. Let hreflang carry formal relationship; let switcher sajikan pengguna.

Language detection UX — dan crawlability trap. ini adalah where situs quietly break themselves. Googlebot “sends HTTP requests without setting Accept-Language in the request header” (terjemahan) “mengirim HTTP permintaan without setting undefined di permintaan header” dan melakukan crawl mostly dari US IPs (though ini melakukan gunakan beberapa non-US IPs too). jika Anda auto-redirect pengguna untuk sebuah language versi berdasarkan IP atau Accept-Language, Googlebot dapat hanya ever see Anda English versi dan tidak pernah menemukan rest. Google’s blunt instruction: “Avoid automatically redirecting users from one language version of a site to a different language version.” (terjemahan) “hindari automatically redirecting pengguna dari one language versi dari sebuah situs untuk sebuah berbeda language versi.”

melakukan ini instead: sajikan distinct URLs, annotate dengan hreflang, dan jika Anda ingin help pengguna, tampilkan sebuah non-intrusive nudge banner (“This page is available in English — switch?” (terjemahan) “ini halaman adalah available di English — switch?”) itu mempertahankan them pada mereka saat ini URL dan remembers mereka choice via cookie atau localStorage. gunakan Accept-Language sebagai sebuah suggestion, tidak pernah sebuah redirect trigger. dan don’t gunakan flags sebagai language identifiers — flags adalah countries, not languages.

Translation quality dan machine translation

Machine translation itself isn’t banned. Google’s own definition: “Scaled content abuse is when many pages are generated for the primary purpose of manipulating search rankings and not helping users.” (terjemahan) “Scaled konten abuse adalah when banyak halaman adalah generated untuk primary purpose dari manipulating search rankings dan not helping pengguna.” Jump untuk quote Translation adalah named sebagai one contoh dari sebuah automated transformation covered oleh itu policy — “including through automated transformations like synonymizing, translating, or other obfuscation techniques,” (terjemahan) “including melalui automated transformations like synonymizing, translating, atau lainnya obfuscation techniques,” specifically “where little value is provided to users.” (terjemahan) “where little nilai adalah disediakan untuk pengguna.” Jump untuk quote judgment adalah nilai, not production metode. Raw MT dumped di scale dengan no editorial oversight adalah nyata risk; MT dengan human review dan curation (sebuah workflow sering called MTPE) adalah sebuah standard, scalable cara untuk stay jelas dari ini. Judge sebuah translated halaman cara Anda’d judge apa pun halaman — melakukan ini sajikan nyata search intent untuk itu market — dan don’t hanya translate Anda English keywords: melakukan nyata keyword research per language, because intent dan phrasing differ market untuk market. (More depth: machine translation dan SEO.)

Schema untuk multilingual situs

gunakan inLanguage property pada Anda artikel/Product/FAQPage schema untuk state konten’s language, dan give setiap language versi -nya own schema block di itu language. Schema dan hreflang melakukan berbeda jobs: hreflang maps alternate URLs; schema clarifies konten meaning dan language. mereka’re complementary layers.

error rate: my 374 756-domain study

I ran sebuah study di seluruh 374 756 domains menggunakan hreflang. headline: di atas 67% memiliki issues. breakdown, sebagian besar umum pertama: missing x-default (56,3%), missing self-referencing tags (18%), broken/redirected references (16,9%), missing reciprocal tags (15,3%), non-canonical references (8%), wrong ISO codes (4,6%), inconsistent HTML lang vs. hreflang (3,2%), duplicate language entries (2,5%), dan yang sama halaman declared untuk multiple languages (2,5%).

Two caveats pertahankan ini dari menjadi doom. pertama, top two — x-default dan self-referencing — adalah recommended, not strictly diperlukan, so nyata-severity picture adalah softer daripada 67% suggests. kedua, Google fixes sebuah lot dari ini untuk Anda. Gary Illyes memiliki said hreflang errors “didn’t cause problems” (terjemahan) “didn’t cause masalah” di his implementation era, dan my own panjang-standing position (dari my SEO perusahaan Chaos SMX talk) adalah itu ini dapat not menjadi worth Anda time chasing setiap hreflang error because Google adalah probably correcting banyak dari them automatically. tetapi structural errors — missing reciprocal tautan, broken URLs — melakukan break cluster dan seharusnya menjadi fixed. Triage: fix structural, monitor behavioral.

2025 threat: Google’s translate.goog proxy

sebuah newer wrinkle worth knowing tentang (Motoko Hunt’s June 2025 mesin pencari Land piece): when Google determines there’s no tinggi-quality, local-language konten available, ini auto-translates konten via sebuah translate.goog proxy. browser penting — Chrome pengguna get routed untuk publisher’s original URL (traffic dipertahankan), tetapi Safari/Firefox pengguna go melalui translate.goog (traffic lost). Ahrefs data put ini di 6,2 million AI Overview appearances dengan translated URLs dan hundreds dari millions dari clicks dari exposure. strategic read: publishing native local-language konten adalah both defense (Google won’t proxy-translate what Anda sudah menyediakan) dan offense (Anda peringkat untuk itu markets yourself). Treat auto-translated SERPs sebagai sebuah signal dari unmet demand.

Mueller’s caution: don’t translate everything

Finally, restraint. John Mueller warns terhadap semua-languages reflex — “Let’s create all languages! Let’s make pages for all countries! What if someone in Japan wants to read it in Swahili?” (terjemahan) “Let’s buat semua languages! Let’s membuat halaman untuk semua countries! What jika someone di Japan ingin untuk read ini di Swahili?” — dan notes “it’s easy to dig into endless pits of complexity with hreflang.” (terjemahan) “ini adalah easy untuk dig ke endless pits dari complexity dengan hreflang.” His advice, which I echo: “first… limit the number of pages you create to those that are absolutely critical & valuable.” (terjemahan) “pertama… limit angka dari halaman Anda buat untuk itu itu adalah absolutely critical & valuable.” Prioritize tinggi-traffic, tinggi-conversion halaman di markets dengan demonstrated demand (gunakan GSC untuk temukan kueri sudah pulling impressions di sebuah bahasa target). setiap language versi Anda buat adalah crawl, pengindeksan, canonicalization, dan maintenance overhead — hanya spend ini where there’s sebuah nyata kembalikan.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.