Geo-Các chuyển hướng cho SEO quốc tế
Vì sao tự động geo-các chuyển hướng break international crawling và có thể sabotage hreflang — Googlebot mostly crawl từ đó US, đó phát hiện vấn đề, đó hẹp homepage-chỉ 302 exception, và điều cần làm thay vì. Từ Patrick Stox.
Ngôn ngữ
MỘT geo-chuyển hướng tự động gửi một khách truy cập để một location- hoặc language-cụ thể URL dựa trên IP, Accept-Language, hoặc một cookie. My take sau studying 374 756 domains: automated các chuyển hướng dựa trên cookies, IP, hoặc trình duyệt language là generally một bad ý tưởng. Đó chế độ lỗi hầu hết các hướng dẫn miss là một phát hiện vấn đề, không chỉ an lập chỉ mục một — Googlebot mostly crawl từ US IPs và không gửi Accept-Language, so một chuyển hướng on của bạn entry point (thường đó homepage) có thể trap đó crawler on đó default version và dừng điều này từ bao giờ reaching đó alternate-locale URLs của bạn hreflang tags point tại. Geo-các chuyển hướng là một serving mechanism; hreflang là đó tách biệt phát hiện tín hiệu — they không replace mỗi other, và một bad chuyển hướng actively sabotages hreflang. Google own prescription không 'chuyển hướng tốt hơn,' đây là 'suggest, không force': một banner hoặc link list plus correct hreflang. Đó một hẹp exception là một homepage-chỉ 302 cho dynamic locale suggestion — nhưng 16,9% of đó domains I studied đã có hreflang pointing tại được chuyển hướng hoặc hỏng các trang, mà có nghĩa là đó exception goes sai constantly.
Tóm tắt — geo-chuyển hướng tự động gửi khách truy cập để khác version của bạn trang web —
/de/trang, German domain, subdomain — dựa trên guess về nơi họ là hoặc Điều gì language họ speak (thường của họ IP address hoặc trình duyệt language). nó feels helpful, nhưng nó một của phần lớn phổ biến ways international các trang accidentally hide của họ own các trang từ Google. safer move là để suggest local version với banner hoặc link, không để force nó.
Điều gì geo-chuyển hướng là
Chẳng hạn bạn có an English site và một German site. MỘT geo-chuyển hướng là một rule đó says: “if this visitor looks like they’re in Germany (or their browser is set to German), send them to the German version automatically.” (bản dịch) «nếu này khách truy cập looks như họ là trong Germany (hoặc của họ trình duyệt là set để German), gửi them để đó German version tự động.» Đó khách truy cập không bao giờ asks cho điều này — đó máy chủ hoặc một script decides cho them, dựa trên:
- của họ IP address (mà roughly maps để country),
- của họ trình duyệt
Accept-Languagesetting, hoặc - cookie đó remembers trước đó lựa chọn.
On surface đó nice touch. vấn đề là Điều gì nó làm để các công cụ tìm kiếm.
Vì sao Đây là risky Đối với SEO
Google crawler, Googlebot, là điều đó tìm thấy và đọc của bạn các trang so họ có thể hiển thị lên trong tìm kiếm. và ở đây catch đó trips lên so nhiều international các trang: Googlebot mostly crawl từ IP addresses trong United Trạng thái, và nó không gửi language preference.
Evidence for this claim Google warns that language- or location-based rerouting can prevent it from finding site variations because Googlebot usually crawls from the US and does not send Accept-Language. Scope: Google Search crawling behavior for locale-adaptive pages. Confidence: high · Verified: Google: Managing multilingual sitesSo nếu của bạn homepage tự động các chuyển hướng “US-looking” khách truy cập để English version, Googlebot — mà looks như nó trong US — nhận được gửi để English version cũng, mỗi time. nó có thể không bao giờ follow path để của bạn German, French, hoặc Japanese các trang on của nó own. nếu Google có thể’t reach những điều đó các trang, nó có thể’t chỉ mục them, và họ có thể’t xếp hạng. bạn được xây dựng German trang web, nhưng bạn âm thầm walled nó off từ một khách truy cập ai decides liệu anyone tìm thấy nó.
điều mọi người nhận backwards
có một related tag called hreflang đó tells các công cụ tìm kiếm “here are the other language/country versions of this page.” (bản dịch) «ở đây là đó other language/country versions of này trang.» MỘT lot of mọi người assume hreflang “các cách sửa” whatever một geo-chuyển hướng breaks. đây là đó other way khoảng: hreflang không thể help một trang đó crawler đã là không bao giờ được phép để reach. Đó chuyển hướng có thể dừng Google từ bao giờ seeing đó hreflang tags ngay từ đầu. (có một toàn bộ primer on hreflang on này site nếu bạn muốn đó mechanics.)
Điều gì để làm thay vì
Google own advice là ngắn và clear: không force nó, suggest nó. thay vì chuyển hướng tự động:
- Cho thấy một nhỏ banner (“Looks like you’re in Germany — view the German site?” (bản dịch) «Looks như bạn là trong Germany — view đó German site?») đó khách truy cập có thể nhấp hoặc bỏ qua.
- Put links để mỗi language version on đó trang so cả hai mọi người và các crawler có thể reach them. Evidence for this claim Google recommends avoiding automatic language redirects and providing hyperlinks that let users and crawlers reach each language version. Scope: Google Search guidance for language switching and discovery. Confidence: high · Verified: Google: Let users switch language
- Thêm hreflang so các công cụ tìm kiếm có thể hình out và serve đó right version on của họ own.
đó way thực person vẫn nhận nudged toward của họ language, nhưng Google có thể vẫn crawl và chỉ mục mỗi version. Muốn deeper version — Vì sao 302 so với 301 matters, một hẹp exception nơi chuyển hướng là okay, và dữ liệu on Cách thường điều này breaks? Switch để Nâng cao tab.
Khắc phục sự cố geo-chuyển hướng failures
Alternate locales là absent từ crawl
Symptom: crawler repeatedly lands on default locale. có khả năng nguyên nhân: IP, cookie, hoặc Accept-Language routing forces các yêu cầu away từ trực tiếp locale các URL. khắc phục: làm mỗi locale URL trả về trực tiếp và replace forced routing với visible suggestion.
Hreflang targets trả về các chuyển hướng
Symptom: annotations point để 3xx các phản hồi thay vì cuối các trang. có khả năng nguyên nhân: routing hoặc URL normalization changed không có regenerating locale map. khắc phục: cập nhật hreflang để trực tiếp canonical 200 destinations và retest mỗi cluster member.
Người dùng không thể switch back sau khi chuyển hướng
Symptom: selecting một locale immediately gửi khách truy cập để assumed market. có khả năng nguyên nhân: IP logic overrides rõ ràng người dùng lựa chọn. khắc phục: let chosen locale win, cung cấp persistent crawlable switcher links, và reserve bất kỳ cookie cho remembering—không forcing— lựa chọn.
Bots và tương đương người dùng nhận khác nội dung
Symptom: giống nhau yêu cầu path và locale context produce bot-cụ thể routing. có khả năng nguyên nhân: crawler exception là đã thêm để hoạt động khoảng phát hiện các vấn đề. khắc phục: xóa bot-chỉ behavior và solve access cho all tương đương các yêu cầu; bot exceptions tạo tách biệt cloaking risk.
Kiểm thử geo-routing behavior yourself
So sánh default yêu cầu với language preferences
Truyền representative locale entry point as đầu tiên argument. điều này các kiểm thử header-phụ thuộc routing; nó không simulate một IP location.
url="${1:?Pass a representative entry URL as the first argument}"
for language in "" "en-US,en;q=0.9" "fr-FR,fr;q=0.9"; do
echo "Accept-Language: ${language:-<none>}"
curl -sS -o /dev/null -D - ${language:+-H "Accept-Language: $language"} "$url" \
| grep -Ei '^(HTTP/|location:|vary:|set-cookie:)'
donekiểm tra đó declared locale targets resolve trực tiếp
Put một dự kiến locale URL theo line trong locale-urls.txt.
while IFS= read -r url; do
curl -sS -o /dev/null -w '%{http_code}\t%{redirect_url}\t%{url_effective}\n' "$url"
done < locale-urls.txthealthy đích thông thường các báo cáo 200 với rỗng chuyển hướng đích. Review intentional exceptions thay vì sau các chuyển hướng và hiding them.
Validate geo-chuyển hướng thay đổi
Trực tiếp locale access
Kiểm thử để chạy: yêu cầu representative locale các URL không có cookies và không có sau các chuyển hướng. Dự kiến kết quả: mỗi dự kiến locale trả về của nó own trực tiếp 200 phản hồi. thất bại interpretation: Routing là overriding rõ ràng URL và có thể block phát hiện. Monitoring window: Immediately sau khi deployment và qua tiếp theo scheduled crawl. Rollback trigger: bất kỳ priority locale becomes unreachable không có chuyển hướng chain.
yêu cầu-header matrix
Kiểm thử để chạy: So sánh giống nhau entry URL với không Accept-Language header và với supported language preferences. Dự kiến kết quả: nội dung vẫn accessible và bất kỳ locale khuyến nghị không ngăn navigation để một version. thất bại interpretation: Header-based logic là forcing locale hoặc trapping người dùng lựa chọn. Monitoring window: During phát hành verification và cho đầu tiên đầy đủ traffic cycle. Rollback trigger: Các yêu cầu là được chuyển hướng away từ explicitly chosen locale.
Hreflang đích phản hồi
Kiểm thử để chạy: Extract hreflang targets từ representative clusters và yêu cầu mỗi không có sau các chuyển hướng. Dự kiến kết quả: mỗi annotation resolves trực tiếp để indexable canonical 200 URL. thất bại interpretation: locale map là stale hoặc routing contradicts hreflang. Monitoring window: sau khi phát hành và again sau khi tiếp theo sitemap hoặc template generation. Rollback trigger: material cluster points để được chuyển hướng, blocked, hoặc erroring targets.
Tương đương-yêu cầu parity
Kiểm thử để chạy: So sánh ordinary và crawler người dùng agents dưới nếu không tương đương yêu cầu conditions. Dự kiến kết quả: Status, đích, và substantive nội dung là tương đương. thất bại interpretation: Bot-cụ thể xử lý có thể là masking access các vấn đề và creating cloaking risk. Monitoring window: mỗi routing phát hành và quarterly thereafter. Rollback trigger: Bot-chỉ exceptions thay đổi đích hoặc nội dung cho tương đương các yêu cầu.
Evidence for this claim Google warns that language- or location-based rerouting can prevent it from finding site variations because Googlebot usually crawls from the US and does not send Accept-Language. Scope: Google Search crawling behavior for locale-adaptive pages. Confidence: high · Verified: Google: Managing multilingual sites Evidence for this claim Google recommends avoiding automatic language redirects and providing hyperlinks that let users and crawlers reach each language version. Scope: Google Search guidance for language switching and discovery. Confidence: high · Verified: Google: Let users switch languageTL;DR — Geo-các chuyển hướng và hreflang operate tại khác nhau layers: một geo-chuyển hướng là một serving decision, hreflang là một phát hiện tín hiệu. Đó cốt lõi failure là một phát hiện vấn đề, không chỉ an lập chỉ mục một — Googlebot mostly crawl từ US IPs và gửi không
Accept-Language, so một chuyển hướng on của bạn entry point có thể dừng điều này từ bao giờ reaching (và thus discovering) đó alternate URLs của bạn hreflang points tại. hreflang không thể rescue một URL đó crawler không bao giờ sees. Cloaking là một tách biệt risk: even một fully compliant, non-cloaking chuyển hướng vẫn gây ra đó phát hiện vấn đề. Google prescription là “suggest, don’t force” (bản dịch) «suggest, không force» (một banner/links + hreflang). Đó một hẹp exception là một homepage-chỉ 302 cho dynamic locale suggestion — nhưng trong my study of 374 756 domains, 16,9% đã có hreflang pointing tại được chuyển hướng hoặc hỏng các trang, mà là chính xác này exception going sai.
Hai mechanisms, hai khác layers
Gần như mỗi geo-chuyển hướng mistake xuất hiện từ conflating hai điều đó trực tiếp tại khác layers của stack:
- geo-chuyển hướng là serving decision: Điều gì làm I hiển thị điều này cụ thể khách truy cập, hiện tại, dựa trên Điều gì I think I know về them?
- hreflang là phát hiện/annotation tín hiệu: Điều gì alternate các URL exist cho điều này nội dung, so công cụ tìm kiếm có thể tìm them và đổi trong right một trong của nó own kết quả?
họ không substitute cho mỗi khác. geo-chuyển hướng thay đổi Điều gì một khách truy cập sees; hreflang tells các công cụ tìm kiếm alternates exist so họ có thể phục vụ right một tại query time không có anyone forcing bất cứ điều gì tại serving time. nếu bạn internalize một điều từ điều này bài viết, làm nó điều này phân biệt — phần lớn breakage luồng từ treating chuyển hướng as nếu nó là phát hiện tín hiệu.
cốt lõi mechanical thất bại: phát hiện, không chỉ lập chỉ mục
Ở đây đó part hầu hết competing nội dung nhận slightly sai. Điều này frames đó risk as “your other pages won’t get indexed.” (bản dịch) «của bạn other các trang sẽ không nhận được lập chỉ mục.» Đó sharper, hơn chính xác cách diễn đạt là đó của bạn other các trang có thể không bao giờ nhận được crawl — không bao giờ even discovered — trong đó đầu tiên place.
Google là rõ ràng về đó nguyên nhân. Của nó
locale-adaptive các trang doc
says đó nếu trang web của bạn trả về khác nhau nội dung dựa trên đó perceived country hoặc
được ưu tiên language of đó khách truy cập, “Google might not crawl, index, or rank all your
content for different locales.” (bản dịch) «Google có thể không crawl, chỉ mục, hoặc xếp hạng all nội dung của bạn cho khác nhau locales.» Vì sao? Vì Googlebot’s default IPs xuất hiện để là trong
đó USA, và đó crawler gửi HTTP các yêu cầu không có setting Accept-Language.
Hiện tại trace đó qua typical setup. của bạn chuyển hướng logic fires on IP và/hoặc
Accept-Language, và nó fires tại entry point — rất thường homepage hoặc
root domain, mà là chính xác trang đó carries (hoặc links để) của bạn hreflang
annotations. Googlebot arrives looking như US khách truy cập với không language preference,
nhận được chuyển hướng để US/default version, và dừng. chỉ crawlable path để của bạn
/de/ tree là gated behind đó chuyển hướng. So:
- Googlebot không bao giờ reaches alternate-locale các URL.
- nó làm đó không bao giờ discovers các chú thích hreflang đó sẽ có told nó những điều đó các URL exist.
- hreflang tags trên một trang Googlebot có thể’t reach làm không có gì.
hreflang assumes crawl access. nó không tạo nó. đó toàn bộ trap trong một line.
Geo-các chuyển hướng so với. cloaking: hai tách biệt risks
có thứ hai risk ở đây đó mọi người constantly hợp nhất với đầu tiên, và hợp nhất produces bad advice. Treating Googlebot differently từ thực người dùng trong giống nhau location — chẳng hạn, special-casing Googlebot người dùng-agent so nó skips chuyển hướng và sees mọi thứ — là cloaking, và nó guidelines violation. Google hướng dẫn on geo-distributed crawling là consistency rule: Googlebot làm crawl từ some non-US IP addresses ngoài ra để US ones, và Khi nó xuất hiện để come từ được cho country bạn nên treat nó chính xác như bất kỳ khác khách truy cập từ đó country (block US Googlebot nếu bạn block US người dùng; cho phép Australian Googlebot nếu bạn cho phép Australian người dùng).
Ở đây đó part worth của nó own subsection: không cloaking không rescue bạn từ đó phát hiện vấn đề. MỘT lot of writing says “as long as you don’t cloak Googlebot, geo-redirects are fine.” (bản dịch) «miễn là bạn không cloak Googlebot, geo-các chuyển hướng là fine.» đó là incomplete. MỘT fully compliant geo-chuyển hướng — nơi đó bot và một giống nhau-location người dùng nhận giống hệt treatment — vẫn traps Googlebot on đó default version nếu đó là nơi một US-looking yêu cầu lands. bạn đã avoided một cloaking hình phạt và vẫn starved của bạn other locales of crawl access. Hai tách biệt các vấn đề; solving một không solve đó other.
Và không over-đọc đó geo-distributed crawling nuance as một cách sửa. đây là một cloaking-consistency requirement, không một promise đó Google sẽ reliably discover mỗi locale by simulating mỗi region. Google hiện tại doc vẫn leads với “Googlebot’s default IPs appear to be US-based” (bản dịch) «Googlebot’s default IPs xuất hiện để là US-based» as đó reason này breaks — vì đó là vẫn đó reason.
Điều gì Google officially khuyến nghị: suggest, không force
Google prescription không “redirect more carefully.” (bản dịch) «chuyển hướng hơn cẩn thận.» đây là “don’t redirect — suggest.” (bản dịch) «không chuyển hướng — suggest.» Hai lines từ đó multi-regional các trang doc là đó spine of đó cách sửa:
“Avoid automatically redirecting users from one language version of a site to a different language version of a site.” (bản dịch) «Tránh tự động chuyển hướng người dùng từ một language version of một site để một khác nhau language version of một site.» — Google Search Central
“Consider adding hyperlinks to other language versions of a page. That way users can click to choose a different language version of the page.” (bản dịch) «Consider thêm hyperlinks để other language versions of một trang. Đó way người dùng có thể nhấp để chọn một khác nhau language version of đó trang.» — Google Search Central
và on IP detection cụ thể, Google không mince words:
“Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations.” (bản dịch) «Không dùng phân tích IP để điều chỉnh nội dung. Phân tích vị trí IP khó và nhìn chung không đáng tin cậy. Hơn nữa, Google có thể không crawl đúng các biến thể của trang web. Phần lớn, nhưng không phải tất cả, lượt crawl của Google bắt nguồn từ Hoa Kỳ, và chúng tôi không cố thay đổi vị trí để phát hiện các biến thể của trang.» — Google Search Central
Vì targeting là không bao giờ perfect, Google cũng tells bạn để plan cho đó sai-version khách truy cập: “geotargeting isn’t an exact science, so it’s important to consider users who land on the ‘wrong’ version of your site. One way to do this could be to show links on all pages for users to select their region and/or language of choice.” (bản dịch) «geotargeting không an chính xác science, so đây là quan trọng để consider người dùng ai land on đó ‘sai’ version of trang web của bạn. Một way để làm này có thể là để cho thấy links on all các trang cho người dùng để select của họ region và/hoặc language of lựa chọn.» đó là đó banner/link-list pattern, straight từ đó nguồn.
Điều gì Bing khuyến nghị — và Vì sao nó arguably cao hơn-stakes ở đó
Bing không có hreflang-tương đương để sabotage, so bạn có thể think nó ít hơn
exposed. nó opposite. Bing leans on thực ra crawling thực localized các URL
và on content-language meta tag/HTTP header thay vì declarative
hreflang annotation. Fabrice Canel của Microsoft Bing có đã nói hreflang là far weaker
tín hiệu hơn nội dung-language tại Bing ( point I dig vào trong hreflang deep dive on
điều này trang web). practical consequence: geo-chuyển hướng đó Bingbot có thể’t nhận past là tại
least as damaging để Bing visibility as nó là để Google — arguably nhiều hơn, vì Bing
phụ thuộc vào reaching và reading những điều đó localized các URL trực tiếp, không on annotation
đó có thể trong theory là discovered elsewhere.
dữ liệu: Cách thường điều này thực ra breaks
I không có để argue điều này hypothetically. cho my Brighton SEO 2023 talk, I studied hreflang across 374 756 domains (đầy đủ writeup on Ahrefs blog). My blunt takeaway on điều này chính xác topic: automated các chuyển hướng dựa trên cookies, IP, hoặc trình duyệt language là generally bad ý tưởng. numbers back nó:
- 16,9% of domains đã có hreflang tags referencing được chuyển hướng hoặc hỏng các trang — này là essentially một trực tiếp việc đo lường of cách thường các trang’ chuyển hướng setups collide với của họ own hreflang.
- 67% of đó hreflang-dùng domains trong đó study đã có ít nhất một vấn đề overall.
- 56,3% đã là bị thiếu x-default — đó hreflang giá trị designed khoảng đó “which version does an unmatched visitor see” (bản dịch) «mà version làm an unmatched khách truy cập see» vấn đề (có một dedicated x-default bài viết on này site).
As I put điều này trong đó writeup: “Hreflang is complex and hard to get right. It can break in so many different ways.” (bản dịch) «Hreflang phức tạp và khó triển khai đúng. Nó có thể hỏng theo rất nhiều cách khác nhau.» MỘT geo-chuyển hướng là một of đó hầu hết reliable ways để làm điều này break.
một hẹp exception: homepage-chỉ 302
Ở đó là defensible pattern, và nó hẹp. 302 (tạm thời) chuyển hướng on homepage chỉ, đang làm dynamic locale suggestion dựa trên location/language, có là workable, dài-được sử dụng setup on nhiều các trang. reason nó 302, không 301: “correct” đích là khách truy cập-phụ thuộc — nó thay đổi theo person, theo session — so nó không single vĩnh viễn đích. 301 declares một vĩnh viễn đích, mà không phải Điều gì happening ở đây. (Đây là ngành practice — mine và Ahrefs’ cách diễn đạt — không status-code khuyến nghị Google publishes cho geo-các chuyển hướng cụ thể.)
nhưng moment được chuyển hướng URL hiển thị lên as đích bên trong của bạn hreflang
annotations elsewhere on trang web, đó bug, không feature — mỗi hreflang đích
nên resolve 200 trực tiếp, không 3xx. đó 16,9% hình trên là largely điều này
exception going sai: các trang đang chạy homepage-302 pattern (hoặc tệ hơn, sitewide
các chuyển hướng) và sau đó pointing hreflang tại các trang đó chuyển hướng.
Điều gì để làm thay vì hard chuyển hướng
Put together, khắc phục là handful của moving parts:
- Suggest, không force. MỘT visible, dismissible banner/interstitial (“View the German site?” (bản dịch) «View đó German site?») đó khách truy cập có thể accept hoặc bỏ qua. Này là Google được khuyến nghị alternative để an tự động chuyển hướng.
- Giữ mỗi localized URL trực tiếp crawlable và linkable. Real
<a href>links để mỗi version — một language/country switcher trong đó footer hoặc header — so các crawler reach mỗi locale không có đang được chuyển hướng away đầu tiên. (MỘT switcher on của nó own không một cách sửa nếu đó chuyển hướng vẫn fires trước đó crawler có thể load đó trang.) - Pair điều này với correct, reciprocal hreflang so các công cụ tìm kiếm có thể determine và serve
đó right version trong kết quả on của họ own. Mỗi hreflang đích resolves
200. - Dùng x-default cho đó “no explicit match” (bản dịch) «không rõ ràng match» case on một language-selector hoặc auto-suggesting homepage — điều này names điều cần cho thấy một khách truy cập ai matches none of của bạn tags. Điều này solves đó serving câu hỏi cho unmatched khách truy cập; điều này không solve đó crawl-access vấn đề, so không lean on điều này as một rescue.
related fundamentals ở đây — language so với. country targeting phân biệt, ccTLD / subdomain / subdirectory URL-structure lựa chọn, reciprocal hreflang, và x-default — all sit trong điều này giống nhau international-SEO cluster và là worth reading alongside điều này. ngắn version: khắc phục crawl path đầu tiên, sau đó let hreflang và x-default làm serving.
AI summary
condensed take on Nâng cao version:
- MỘT geo-chuyển hướng tự động gửi một khách truy cập để một location-/language-cụ thể URL
dựa trên IP,
Accept-Language, hoặc một cookie. đây là một serving mechanism; hreflang là một tách biệt phát hiện tín hiệu. They không replace mỗi other. - Đó cốt lõi failure là phát hiện, không chỉ lập chỉ mục. Googlebot mostly crawl từ US
IPs và gửi không
Accept-Language. MỘT chuyển hướng on đó entry point (thường đó homepage) có thể trap đó crawler on đó default version, so điều này không bao giờ reaches — và không bao giờ discovers — đó alternate-locale URLs của bạn hreflang points tại. hreflang không thể rescue một URL đó crawler không bao giờ sees. - Cloaking là một tách biệt risk. Treating Googlebot differently từ một giống nhau-location người dùng là một violation. Nhưng even một fully compliant, non-cloaking chuyển hướng vẫn gây ra đó phát hiện vấn đề — không cloaking không save bạn.
- Geo-distributed crawling là một consistency rule, không một phát hiện bảo đảm. Google crawl từ some non-US IPs cũng, nhưng đó là về không cloaking, không một promise để tìm mỗi locale.
- Google prescription: “Avoid automatically redirecting” (bản dịch) «Tránh tự động chuyển hướng» + “Consider adding hyperlinks to other language versions” (bản dịch) «Consider thêm hyperlinks để other language versions» — i.e., suggest với một banner/links, không force, và pair với hreflang. Google cũng calls IP analysis “difficult and generally not reliable.” (bản dịch) «difficult và generally không reliable.»
- Bing là arguably cao hơn-stakes: điều này leans on crawling real localized URLs và đó
content-languagetín hiệu thay vì hreflang, so một chuyển hướng Bingbot không thể escape hurts ít nhất as nhiều. - Đó dữ liệu: trong my study of 374 756 domains, 16,9% đã có hreflang pointing tại được chuyển hướng hoặc hỏng các trang; 67% đã có ít nhất một hreflang vấn đề; 56,3% đã là bị thiếu x-default. My take: automated các chuyển hướng dựa trên cookies, IP, hoặc trình duyệt language là generally một bad ý tưởng.
- Đó một hẹp exception: một homepage-chỉ 302 cho dynamic locale suggestion (302, không 301, vì đó đích là khách truy cập-phụ thuộc). Nhưng không được chuyển hướng URL nên bao giờ là một hreflang đích.
Tài liệu chính thức
Chính-nguồn tài liệu on các chuyển hướng, locale-adaptive serving, và geotargeting.
- Managing Multi-Regional và Multilingual Các trang — đó “avoid automatically redirecting,” (bản dịch) «tránh tự động chuyển hướng,» “add hyperlinks to other language versions,” (bản dịch) «thêm hyperlinks để other language versions,» và “don’t use IP analysis to adapt your content” (bản dịch) «không dùng phân tích IP để điều chỉnh nội dung» hướng dẫn, plus đó geotargeting section.
- Cách Google Crawl Locale-Adaptive Các trang — vì sao Googlebot’s US-based default IPs và bị thiếu
Accept-Languageheader có nghĩa là locale-adaptive nội dung có thể không là fully được crawl/được lập chỉ mục, đó khuyến nghị để dùng tách biệt locale URLs vớirel="alternate" hreflang, và đó geo-distributed crawling (cloaking-consistency) rule. - Localized versions of của bạn các trang — hreflang implementation reference: HTML tags, HTTP các header, sitemap entries, và reciprocity requirements.
- Crawling và lập chỉ mục of locale-adaptive các trang (Tìm kiếm Central Blog, Jan 2015) — đó giống nhau cốt lõi message, cho thấy Google có đã nói này consistently cho một decade.
Bing / Microsoft
- Going international: considerations cho của bạn global trang web (Bing Quản trị viên web Blog, Feb 2009) — dài-standing warning đó cookie- và JavaScript-based locale switching (với không navigational path và không URL thay đổi) hides non-default nội dung từ các crawler, since các crawler không giữ cookies hoặc execute switcher.
- Bing Quản trị viên web Guidelines — Bing tín hiệu stack, including của nó preference cho
content-languageover hreflang.
Quotes từ nguồn
On—record statements từ Google, plus my own take. mỗi Google link là deep link đó jumps để quoted passage on nguồn trang.
Google — không force các chuyển hướng; suggest thay vì
- “Avoid automatically redirecting users from one language version of a site to a different language version of a site.” (bản dịch) «Tránh tự động chuyển hướng người dùng từ một language version of một site để một khác nhau language version of một site.» — Google Search Central tài liệu. Nhảy đến trích dẫn
- “Consider adding hyperlinks to other language versions of a page. That way users can click to choose a different language version of the page.” (bản dịch) «Consider thêm hyperlinks để other language versions of một trang. Đó way người dùng có thể nhấp để chọn một khác nhau language version of đó trang.» Nhảy đến trích dẫn
- “Remember that geotargeting isn’t an exact science, so it’s important to consider users who land on the ‘wrong’ version of your site. One way to do this could be to show links on all pages for users to select their region and/or language of choice.” (bản dịch) «Remember đó geotargeting không an chính xác science, so đây là quan trọng để consider người dùng ai land on đó ‘sai’ version of trang web của bạn. Một way để làm này có thể là để cho thấy links on all các trang cho người dùng để select của họ region và/hoặc language of lựa chọn.» Nhảy đến trích dẫn
Google — IP analysis là unreliable
- “Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations.” (bản dịch) «Không dùng phân tích IP để điều chỉnh nội dung. Phân tích vị trí IP khó và nhìn chung không đáng tin cậy. Hơn nữa, Google có thể không crawl đúng các biến thể của trang web. Phần lớn, nhưng không phải tất cả, lượt crawl của Google bắt nguồn từ Hoa Kỳ, và chúng tôi không cố thay đổi vị trí để phát hiện các biến thể của trang.» Nhảy đến trích dẫn
Google — locale-adaptive crawling ( phát hiện vấn đề)
- “If your site has locale-adaptive pages (that is, your site returns different content based on the perceived country or preferred language of the visitor), Google might not crawl, index, or rank all your content for different locales.” (bản dịch) «Nếu trang web của bạn có locale-adaptive các trang (đó là, trang web của bạn trả về khác nhau nội dung dựa trên đó perceived country hoặc được ưu tiên language of đó khách truy cập), Google có thể không crawl, chỉ mục, hoặc xếp hạng all nội dung của bạn cho khác nhau locales.» Nhảy đến trích dẫn
- “We recommend using separate locale URL configurations and annotating them with rel=” (bản dịch) «We khuyến nghị dùng tách biệt locale URL configurations và annotating them với rel=»alternate” hreflang annotations.” (bản dịch) «các chú thích hreflang.» Nhảy đến trích dẫn
- “Googlebot crawls with IP addresses based outside the USA, in addition to the US-based IP addresses.” (bản dịch) «Googlebot crawl với IP addresses based bên ngoài đó USA, ngoài ra để đó US-based IP addresses.» — đó geo-distributed crawling caveat, mà là một cloaking-consistency rule, không một phát hiện bảo đảm. Nhảy đến trích dẫn
Me, on pattern
- “Automated redirects based on cookies, IP, or browser language are generally a bad idea.” (bản dịch) «Automated các chuyển hướng dựa trên cookies, IP, hoặc trình duyệt language là generally một bad ý tưởng.» — my Brighton SEO 2023 hreflang study of 374 756 domains (deck, Ahrefs writeup).
- “Hreflang is complex and hard to get right. It can break in so many different ways.” (bản dịch) «Hreflang phức tạp và khó triển khai đúng. Nó có thể hỏng theo rất nhiều cách khác nhau.» — đó Ahrefs writeup of đó study.
nên I geo-chuyển hướng — và nếu so, Cách?
Hầu hết “should I geo-redirect?” (bản dịch) «nên I geo-chuyển hướng?» các câu hỏi collapse để một điều: có thể các crawler vẫn reach mỗi locale on của họ own? Nhấp qua điều này.
Deciding on (and safely scoping) a geo-redirect
Geo-chuyển hướng myths và mistakes để tránh
mỗi của những điều này là phổ biến belief đó sai (hoặc dangerously incomplete), với Điều gì để làm thay vì.
-
“As long as I don’t cloak Googlebot, geo-redirects are totally safe for SEO.” (bản dịch) «Miễn là I không cloak Googlebot, geo-các chuyển hướng là totally safe cho SEO.» Vì sao đây là sai: Không cloaking chỉ tránh một hình phạt. MỘT fully compliant, non-cloaking chuyển hướng vẫn traps đó crawler on đó default locale nếu đó là nơi một US-looking yêu cầu lands, so của bạn other locales không bao giờ nhận được crawl hoặc discovered. Làm thay vì: Treat crawl access as một tách biệt vấn đề từ cloaking — giữ mỗi locale reachable by một real link, chuyển hướng hoặc không.
-
“hreflang fixes whatever my geo-redirect breaks.” (bản dịch) «hreflang các cách sửa whatever my geo-chuyển hướng breaks.» Vì sao đây là sai: Backwards. hreflang assumes crawl access; điều này không thể làm bất cứ điều gì cho một URL đó crawler đã là không bao giờ được phép để reach. Nếu đó chuyển hướng dừng Google từ loading đó trang đó carries đó hreflang tags, đó tags là không bao giờ even discovered. Làm thay vì: Bảo đảm các crawler có thể reach mỗi locale đầu tiên, thì let hreflang xử lý version-swapping trong kết quả.
-
“Google crawls from every country now, so the old ‘Googlebot only sees the US version’ problem is solved.” (bản dịch) «Google crawl từ mỗi country hiện tại, so đó old ‘Googlebot chỉ sees đó US version’ vấn đề là solved.» Vì sao đây là sai: Overstated. Google làm crawl từ some non-US IPs, nhưng của nó own tài liệu frame đó as một cloaking-consistency requirement — không phải là bảo đảm điều này sẽ discover mỗi locale. Đó hiện tại hướng dẫn vẫn leads với “Googlebot’s default IPs appear to be US-based” (bản dịch) «Googlebot’s default IPs xuất hiện để là US-based» as đó reason này breaks. Làm thay vì: không rely on geo-distributed crawling để tìm của bạn locales cho bạn; cho mỗi locale an rõ ràng, crawlable path.
-
“A 301 is always the most SEO-friendly redirect, so use it for geo-redirects too.” (bản dịch) «MỘT 301 là luôn đó hầu hết SEO-friendly chuyển hướng, so dùng điều này cho geo-các chuyển hướng cũng.» Vì sao đây là sai: Cho một dynamic homepage locale suggestion, đó “correct” đích là khách truy cập-phụ thuộc, không một single vĩnh viễn đích — một 301 misrepresents đó as vĩnh viễn. Làm thay vì: Dùng một 302 cho đó hẹp homepage-chỉ dynamic pattern (ngành practice — mine và Ahrefs’).
-
“IP geolocation is accurate enough to safely gate content on.” (bản dịch) «IP geolocation là chính xác đủ để safely gate nội dung on.» Vì sao đây là sai: Google own tài liệu call IP location analysis “difficult and generally not reliable.” (bản dịch) «difficult và generally không reliable.» VPNs, mobile carrier IP pooling, corporate proxies, và IPv6 allocation all degrade điều này — trước khi bạn even nhận để đó crawler-cụ thể các vấn đề. Làm thay vì: không hard-gate nội dung on inferred location; suggest, và let người dùng override.
-
“If I add a language/country switcher, the redirect can stay.” (bản dịch) «Nếu I thêm một language/country switcher, đó chuyển hướng có thể stay.» Vì sao đây là sai: MỘT switcher là một UI element on một được kết xuất trang đó crawler vẫn có để là able để load — nếu đó chuyển hướng fires đầu tiên và bounces đó bot away, đó switcher không bao giờ nhận một chance để help. Làm thay vì: Giữ đó switcher và hãy bảo đảm đó chuyển hướng không block các crawler từ reaching alternate URLs on của họ own path.
-
“Bing doesn’t care about this since it doesn’t use hreflang.” (bản dịch) «Bing không care về này since điều này không dùng hreflang.» Vì sao đây là sai: Bing cares arguably hơn. Điều này leans on crawling đó real localized nội dung và đó
content-languagetín hiệu thay vì một declarative annotation, so một chuyển hướng Bingbot không thể escape là ít nhất as damaging để Bing visibility. Làm thay vì: Treat Bingbot’s crawl access để mỗi locale as ít nhất as quan trọng as Googlebot’s.
Geo-chuyển hướng audit checklist
nhanh truyền để xác nhận của bạn location-based serving không phải âm thầm hiding của bạn locales từ các công cụ tìm kiếm:
- Mỗi localized URL là reachable by một real
<a href>link (footer/header switcher), không chỉ qua đó chuyển hướng. - Đó chuyển hướng, nếu bất kỳ, là homepage-chỉ — điều này không fire on deep các trang.
- Bất kỳ dynamic locale-suggestion chuyển hướng dùng một 302, không một 301.
- Không hreflang đích là một
3xx— mỗi hreflang URL resolves200trực tiếp. (Trong my study, 16,9% of domains đã nhận này sai.) - hreflang là reciprocal — mỗi version links back để đó others, including x-default nơi appropriate.
- Googlebot/Bingbot là treated chính xác như một giống nhau-location người dùng — không người dùng-agent- hoặc IP-based bypass cho đó crawler (đó là cloaking).
- Bạn ưu tiên một dismissible banner/interstitial over một hard chuyển hướng wherever có thể (“View the German site?” (bản dịch) «View đó German site?» đó khách truy cập có thể bỏ qua).
- bạn là không gating nội dung on IP alone — bạn offer an easy manual override.
- Nội dung là không switched by cookie hoặc client-side JavaScript không có một URL thay đổi (các crawler không giữ cookies và sẽ không reliably reach JS-chỉ locale nội dung).
- bạn đã spot-checked crawl access by requesting của bạn non-default locales từ một US IP
/ với không
Accept-Language(e.g.curl -IL) để xác nhận một crawler sẽ không là được chuyển hướng away.
các tài nguyên worth của bạn time
My related writing & speaking
- Over 67% of Domains Dùng Hreflang Có Các vấn đề (Study of 374 756 Domains) (Ahrefs) — my lớn-scale hreflang study; đó nguồn of đó 16,9% được chuyển hướng/hỏng-hreflang stat và đó “automated redirects are generally a bad idea” (bản dịch) «automated các chuyển hướng là generally một bad ý tưởng» take, plus đó homepage-chỉ 302 exception.
- Đó hầu hết phổ biến hreflang các vấn đề across 374 756 domains (Speaker Deck) — đó Brighton SEO 2023 slides. Talk listing · video.
- Hreflang: Đó Easy Hướng dẫn cho Beginners (Ahrefs) — đó mechanics of hreflang, reciprocity, và x-default đó một geo-chuyển hướng có thể undermine.
- SEO quốc tế: Đó Weird Kỹ thuật Parts (Pubcon Vegas 2019) và bạn là Going Để Screw Lên SEO quốc tế (Pubcon Vegas 2017) — older nhưng consistent background on nơi international setups (including geo-các chuyển hướng) go sai.
Từ khoảng đó ngành
- Managing Multi-Regional và Multilingual Các trang (Google Search Central) — đó chính nguồn cho “avoid automatically redirecting,” (bản dịch) «tránh tự động chuyển hướng,» “add hyperlinks to other language versions,” (bản dịch) «thêm hyperlinks để other language versions,» và “don’t use IP analysis to adapt your content.” (bản dịch) «không dùng phân tích IP để điều chỉnh nội dung.»
- Cách Google Crawl Locale-Adaptive Các trang (Google Search Central) — đó US-based-IP / không-
Accept-Languagelời giải thích và đó geo-distributed crawling caveat. - Google On Đó Main Điều Để Know Về Geo IP Các chuyển hướng (Search Engine Journal) — coverage of John Mueller Ask Googlebot câu trả lời (Oct 2022): Googlebot indexes essentially một version, so giữ bất cứ điều gì quan trọng trong đó default nội dung.
- Google Says Geolocation Các chuyển hướng Là Okay (Công cụ tìm kiếm Roundtable) — Mueller “allowed if you don’t treat Googlebot differently than a user” (bản dịch) «được phép nếu bạn không treat Googlebot differently hơn một người dùng» cách diễn đạt (đó cloaking condition).
- Bing Says Hreflang MỘT Yếu Tín hiệu Cho Của nó Công cụ tìm kiếm (Công cụ tìm kiếm Roundtable) — Fabrice Canel of Microsoft Bing on hreflang đang weaker hơn nội dung-language, mà là vì sao crawl access để real localized URLs matters hơn on Bing.
- Going international: considerations cho của bạn global website (Bing Quản trị viên web Blog) — đó dài-standing warning về cookie- và JavaScript-based locale switching hiding nội dung từ các crawler.
Tự kiểm tra: Geo-Các chuyển hướng cho SEO quốc tế
Five nhanh các câu hỏi on Vì sao geo-các chuyển hướng break SEO quốc tế và Điều gì để làm thay vì. Pick câu trả lời cho mỗi, sau đó kiểm tra.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.