在使用Firebase Hosting i18n重写时,如何告知搜索引擎网站的本地化版本?

问题描述

Firebase最近announced支持i18n rewrites功能。它使您可以根据用户所在的国家或首选语言来提供不同的内容。

但是由于不同版本的内容是在相同的 URL下提供的,因此搜索引擎搜寻器将只能找到一个版本的本地化内容。

在没有i18n重写的情况下,我需要创建一个根页面,该根页面根据用户的语言首选项或位置重定向到本地化的页面(myapp.com重定向到myapp.com/en/myapp.com/fr/)。通过这种方法,抓取工具可以轻松找到并索引我网站的所有本地化版本。

但是如何通过i18n重写实现可发现性?

解决方法

您应该可以同时使用<link rel="alternate"><link rel="canonical">的组合。 Firebase Hosting仍将通过完整路径提供您本地化的内容(例如,如果您的root/intl,并且有人访问/intl/fr,则无论标题和Cookie,他们都会看到法语内容)。>

Google搜寻器将使用来自多个国家/地区的本地IP,但是在搜寻(source)时没有接受语言标头。所以我的建议是:

  1. 在您的所有页面中,为每个本地化版本添加<link rel="alternate" langhref="{lang}" href="{url}">标签,其中{url}是本地化版本的绝对URL(例如/intl/fr/about.html)。
  2. 在所有本地化页面中,添加一个指向完整本地化版本的<link rel="canonical" href="{url}">。 (请参阅Google guidance

有了这些标签,Google应该能够发现您网站中的多语言和多语言环境内容。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...