如果你对网络营销有点熟悉,你可能知道搜索引擎在重复内容时看起来并不太友好。有太多的(在联合,样板重复,打印机或仅限移动版本的页面等情况下可能发生),你可能会发现 当Google试图列出"更新鲜"的内容时,您自己会从搜索引擎结果页面(SERP)中过滤掉。
您可以通过多种方式解决重复内容问题,包括使用301重定向,rel ="canonical"标记和"noindex"元标记。
但是,对于国际网站来说,这些都不是真正好的解决方案。
问题
假设您有一个针对三个不同地区用户的电子商务网站:美国的英语使用者,加拿大的英语使用者和加拿大的法语使用者。您的网站向所有三个地区的用户提供基本相同的产品信息,内容仅略有不同,以便考虑定价,送货信息等。
您希望每个地区的用户都能在SERP中查看适合他们的信息。您还希望避免因内容过于相似而导致的任何搜索引擎问题。
解决方案
这就是hreflang属性的用武之地。这个属性本质上是为了让Google知道有多个版本的页面服务于不同的区域。通过标记每页的语言(使用ISO 639-1-1格式)和目标位置(使用ISO 3166-1 Alpha 2格式),您可以帮助Google了解要为哪些用户显示的版本。
何时实施Hreflang
在决定是否应在您的网站上实施hreflang时,您应该问自己以下一些问题:
我有多个页面具有相同或大致相同的内容吗?
我是否有任何完全翻译的页面彼此重复?
如果这些问题中的任何一个的答案都是"不",那么您不必担心使用hreflang。另一方面,如果您的页面的国际版本接近重复,则需要使用hreflang。
Hreflang如何运作
在您的网站上使用hreflang有三种不同的方法。虽然技术上没有一个比其他任何一个"更好",但在某些情况下可能更方便实现:
在网页的<head>中使用Hreflang
第一种方法是在每个区域特定网页的<head>部分添加"link"标签。每个页面必须使用rel ="alternate"(包括其自身)标识所有备用语言版本。
在我们上面的示例中,页面的英美版本应该在其<head>部分中具有类似的内容:
<link rel ="alternate" href ="http:// www.xyphp.com"hreflang ="en-us"/>
<link rel ="alternate" href ="http://www.xyphp.ca"hreflang ="en-ca"/>
<link rel ="alternate" href ="http:// www.xyphp.ca/fr"hreflang ="fr-ca"/>
而英文版CA看起来像这样:
<link rel ="alternate" href ="http:// www.xyphp.com"hreflang ="en-us"/>
<link rel ="alternate" href ="http://www.xyphp.ca"hreflang ="en-ca"/>
<link rel ="alternate" href ="http:// www.xyphp.ca/fr"hreflang ="fr-ca"/>
等等。您需要将这些标记放在几乎重复的每个页面上,如下所示:
英语(美国):
<link rel ="alternate" href ="http:// www.xyphp.com/product.html"hreflang ="en-us"/>
<link rel ="alternate" href ="http://www.xyphp .ca / product.html"hreflang ="en-ca"/>
<link rel ="alternate" href ="http:// www.xyphp.ca/fr/produit.html"hreflang ="fr-ca"/ >
英语-CA:
<link rel ="alternate" href ="http:// www.xyphp.com/product.html"hreflang ="en-us"/>
<link rel ="alternate" href ="http://www.xyphp .ca / product.html"hreflang ="en-ca"/>
<link rel ="alternate" href ="http:// www.xyphp.ca/fr/produit.html"hreflang ="fr-ca"/ >
等等。
一旦谷歌对这些页面编制索引,它应该理解将美国用户发送到该页面的.com版本,并将加拿大用户发送到适当语言的.ca版本的页面。
在站点地图中使用Hreflang
实现hreflang的另一种方法是在站点地图中执行此操作。如果您有一个网站的许多不同语言版本,这可能是一个好主意 - 添加到页面的许多代码行可能会很麻烦。
上面示例中的XML站点地图如下所示:
<?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>http://www.xyphp.com </loc>
<xhtml:link rel ="alternate" hreflang ="en-us"href ="http://www.xyphp.com"/>
<xhtml:link rel ="alternate"hreflang ="en-ca"href ="http://www.xyphp.ca"/>
<xhtml:link rel ="alternate"hreflang ="fr-ca"href ="http://www.xyphp.ca/fr"/>
</url>
<url>
<loc> http://www.xyphp.com/product.html </loc>
<xhtml:link rel ="alternate" hreflang ="en-us"ref ="http://www.xyphp.com/product.html"/>
<xhtml:link rel ="alternate"hreflang ="en-ca"href ="http://www.xyphp.com/product.html"/>
<xhtml:link rel ="alternate" hreflang ="fr-ca"href ="http://www.xyphp.com/fr/produit.html"/>
</url>
<url>
</url>
</urlset>
对于每个URL,您需要使用rel ="alternate" 属性引用页面的所有版本(包括其自身),如果您有多个顶级域,则需要为每个版本创建站点地图。
如果生成这样的站点地图看起来像是一项艰巨的任务,那就别担心。有多种 工具可以帮助您快速生成它们。
在HTTP标头中使用Hreflang
使用hreflang这种方式对于指示非HTML文档(如PDF)中的语言和区域特别有用。
在HTTP标头中使用hreflang的格式如下所示:
链接:<http://www.xyphp.ca>; REL ="备用"; 的hreflang =" EN-CA"
结论
如果您的网站针对多个地区的用户,那么hreflang应该是您最好的朋友。