wordpress知识库
网站首页 > 知识库 > 插件知识 >

如何在WordPress中根据地理位置将用户重定向到不同的语言

从WPML到Polylang再到Weglot,有很多很棒的WordPress翻译插件可以帮助您创建多语言网站。

但是,虽然这些WordPress插件可以轻松地将您的内容翻译成另一种语言,但它们通常需要用户手动单击语言切换器按钮才能更改为他们的首选语言。或者,如果幸运的话,它们可能允许您根据浏览器语言重定向用户,但不允许您根据用户的实际地理位置重定向用户。

但是,如果您曾经看过有多少大型网站这样做,那么许多网站实际上会根据地理位置而不是浏览器语言将用户重定向到正确的语言。例如,Google会自动将越南语IP地址从google.com → google.com.vn重定向到越南语:

截屏

为了帮助您获得类似的WordPress网站重定向功能,我将向您展示如何使用用户的IP地址和地理位置将用户重定向到WordPress网站上的不同语言翻译。

根据地理位置将用户重定向到不同语言需要什么

要根据用户的地理位置将用户重定向到您网站上的其他翻译,您可以使用地理定位插件中的Geotargeting WP。该插件将与任何WordPress翻译插件一起使用,包括:

  • WPML
  • Polylang
  • Loco Translate
  • GTranslate
  • Weglot
  • Etc.

基本上,只要您的翻译插件为您的网站创建一个单独的翻译版本(例如vn.yourwebsite.com/post或yourwebsite.com/vn/post),地理重定向就可以帮助您将用户重定向到正确的翻译。

首先,请确保您已安装并激活GeotargetingWP插件,并激活Geo Redirects插件。然后,以下是设置方法:

第1步:创建新的重定向并设置重定向规则

要开始使用,请转到GeoTargetingWP → Geo Redirects,然后单击Add New:

重定向至基于地理位置的语言诊断树2

为您的重定向命名,以便您记住它。然后,查找“重定向规则”区域。

重定向规则实质上定义了哪些条件将触发重定向。

Geo Redirects允许您根据许多不同的条件重定向用户。但对于此特定用途,您可能需要从下拉列表中选择“国家/地区”。

然后,在“等于”部分中,选择要将重定向定位到的国家/地区:

重定向至基于地理位置的语言3

也可以使用OR条件同时定位多个国家/地区。

由于此功能,您可以以几种更具创意的方式设置重定向。您可以创建:

  • 每种翻译语言都有一个重定向。例如,您可以创建带有“西班牙”、“阿根廷”、“墨西哥”等的重定向,并将它们全部重定向到您网站的西班牙语翻译。
  • 对所有语言进行一次重定向,然后动态地将用户重定向到其实际的国家/地区代码(下一节将对此进行详细介绍)。请注意,这不适用于国家/地区与其2个字母的ISO国家/地区代码使用不同语言的语言。例如,阿根廷将使用“ar”而不是“es”。

要执行任一方法,只需确保使用OR,而不是AND。然后,包括您要定位的每个国家/地区:

重定向至基于地理位置的语言4

步骤2:配置重定向选项

选择要针对哪些国家/地区进行重定向后,您可以向下滚动到“重定向选项”区域。

此处最重要的设置是目标URL。地理重定向允许您使用动态占位符来重定向用户。这很重要,因为它可以确保您可以将用户重定向到相关语言的完全相同的页面,并提供出色的用户体验:

重定向至基于地理位置的语言5

目标网址的格式取决于网页翻译版本的网址结构。

如果您使用的是包含两个字母的ISO代码的子文件夹,则需要将用户重定向到:

https://yourdomain.com/{{country_code}}/{{requested_path}}

这意味着任何访问的人:

https://yourdomain.com/example-post

将被重定向到:

https://yourdomain.com/vn/example-post

如果您使用的是带有两个字母ISO代码的子域,则需要更像这样的东西:

https://{{country_code}}.yourdomain.com/{{requested_path}}

如果您为已翻译的网站使用不同的域,您甚至可以使用相同的占位符将用户重定向到外部网站。

如果您不使用两个字母的ISO代码来形成翻译后的URL,则应为每个翻译设置单独的重定向,并对翻译后的URL进行硬编码,而不是使用{{country_code}}占位符。

在此之下,您可以配置:

  • 从重定向中排除子页面?当此选项被标记时,目标url的子页面将从重定向中排除
  • 一次重定向?-重定向用户的频率。对于这种类型的重定向,您应该选择“是”或“是,每个用户会话一个”。
  • 从此重定向中删除两个字母代码?如果使用{{request_path}}动态短代码从两个字母目录(如/uk/)重定向到其他两个字母目录,则使用此选项以自动从路径中删除代码。
  • 排除搜索引擎?-是否重定向搜索引擎。
  • 传递查询字符串?查询字符串参数将传递到目标URL中
  • 重定向代码?-使用什么重定向代码。
  • IP白名单-您可以手动从重定向中排除某些IP地址。

重定向至基于地理位置的语言6

完成后,单击“发布”以使重定向生效。

现在,用户应该根据他们的地理位置自动重定向到正确的翻译。