作者:Kristopher Jones

翻译 :吴祺深

欢迎访问网易云社区,了解更多网易技术产品运营经验。

让我们来说一下hreflang属性。如果你还没有关掉这个页面,那么你已经完成了这个教程最重要的一步:开始。

为你的国际客户优化SEO实践,需要比试图对本地的暖通空调公司进行排名更多的技术粒度和完全不同的战略。从链接构建到URL结构的一系列东西,都需要根据区域性搜索意图和语言差异来进行优化。幸运的是,作为开始的一步,我们已经汇编了多数搜索引擎进行国际站点排名时,常用的排序因子:

* 针对语言和区域进行了优化的URL

* 针对语言和区域进行了优化的内容 * 在国际目录和GMB1上的NAP联系方式2

* 国家别域名上的本地相关链接

为了给你一个对于站点排名所需东西的更全面的概观,我们将探索一下优化国际化站点所需的技术结构。

实现hreflang并选择正确的域名结构至关重要。以下是来自维基百科的对hreflang标签的简要定义:

Hreflang指定了一篇文档的语言和(如果有的话)地理限制。Hreflang由搜索引擎解析,而网站管理员可以使用它来阐明网站的语言和地理标的。

然而这并不是轻松的解决方案,就如同你在所有网页上添加hreflangs标签的过程一样,十分繁杂。SEO分析师遇到的主要问题就是不准确的alternate型hreflang标签的实现,并且,

方案中的一个错误就可以完全毁掉你所有的努力。这里的后果会包括因被搜索引擎视为重复内容而造成的本来针对不同地理位置的网页间的关键字和内容的同类竞争。这显然会损害区域性搜索的用户体验。

本简介将帮助你了解优化国际SEO的最佳实践。

为语言/区域网页设计网站结构

针对这个问题,有三个基本想法,你可以:

* 利用ccTLD3优化你的网站

* 利用子目录组织区域/语言别内容

* 利用子域名组织区域/语言别内容

以下是对应的每种URL结构的示例:

ccTLD:example.com.fr

子域名:fr.example.com

子目录:example.com/fr/

传统上,ccTLD被视为是跨国公司向特定语言的人群进行营销的最佳方法。然而不幸的是,ccTLD价格昂贵且令人困惑。实现hreflang属性有助于帮助搜索引擎识别网页间的语言和区域差异,但它仍然会导致重复内容的问题。这就是为什么许多人把目光转向了子域名和子目录。而子域名虽然提供了标的特定语言和区域用户所需的粒度,但它仍会被视为新域名,导致搜索引擎从头开始构建SEO信息。

因而,子目录成了现在的业界首选。以上是从技术角度展开的最简单的讨论,并且你可以在Google Search Console中尝试构建你的国际化来作为入门途径。

然而,无论你选择哪种结构,同类竞争和给用户显示错误地区的内容的风险仍然是存在的。

为什么要根据用户特性本地化内容

如果你运营着一个国际化品牌,那么只有按区域和语言本地化内容,你的品牌才是有意义的,特别是当你已经拥有这些资源的时候。

现在,通过在你的着陆页上的hreflang的恰当实现和NAP联系方式,你可以安全地“复制”内容而不会引起你的搜索结果的同类竞争。

这就是为什么许多人建议严格按照用户的搜索意图本地化关键字研究和内容。最佳实践

还要求对HTML头,元标记,图像描述以及着陆页的所有其他元素进行这样的操作。

补充一下,自动翻译的内容并不是那么可靠,所以不要依赖于它们来应付不同的语言。

此外,不同的区域和文化有不同的美学常识(例如配色方案,图像等),这加强了根据区域性搜索意图来提供个性化内容的需要。

这一切听起来都很简单明了,对吧?好吧,我们才刚开始。

Hreflang使用中的问题

在针对区域和语言优化页面后,如何确保Google为特定用户展示了正确版本的网页?这就是hreflang标签的用武之地:它是一个可用于为标的区域和语言的用户显示正确版本的标签。

总的说来,如果你有一个针对英文搜索的高搜索排名的澳州版英文网页,理论上,美国的搜索用户将被显示对应的美国版英文网页。Hreflang常用于组织不同语言、用同种语言的不同区域以及同一区域的不同语言的内容。

但问题是,我估计大约75%的国际化网站实现的hreflang标签是前后不一致的。如果你要为超过20种语言优化站点的搜索结果,最终,依标的区域数量的不同,可能会导致你需要插入数百条alternate型或canonical型的标记。不幸的是,一个错误就可能毁了整个结构,导致重复内容错误和糟糕的用户体验。 最常见的hreflang使用错误包括:

* 未在网页中实现自引用链接

* alternate型标签引用的页面中的canonical型标签描述不正确

* 使用了不符合ISO的值

* 忘记在所有alternate型标签对应页面上插入返回链接

Hreflang属性的放置位置

有三个区域可以实现hreflang标签:

* HTML头

* HTTP * XML站点地图

这里,我不会深入阐述各自的优势。简单说来,HTML的<head>标签内通常是实现hreflang标签的最简单策略,尽管它会大大增加用户下载所需的数据量。HTTP也是如此。

XML会有不错的效果,但它需要比HTML更多的标记。不管怎样,无论你决定在哪个部

分实施hreflang标签,标签的实现方法和原则都保持不变。

Hreflang最佳实践

当构建hreflang标签时,你总是需要首先选定标的语言,然后再选定标的区域。在许多情况下,实际上并不需要考虑区域。这就是为什么你不能在没有定义语言标的的情况下定义区域标的的原因。

在hreflang标签内,你需要填入一个两字母长度的语言编码,用于指定文档的语言。这些编码可以在ISO 639-1中找到。而标的区域是可选的,相应编码可以从ISO 3166-1 Alpha 2中找到。

以下是你需要遵守的最重要的hreflang属性规则:

* 所有alternate型标签都需要自引用。

* 所有alternate型标签指向的页面都需要有canonical标签。

* 所有alternate型标签都需要是双向的。

* 始终插入默认版本链接

1. 自引用的Hreflang标签

确保所有hreflang属性都是自引用的,这一点非常重要。简要说,每个alternate型标签对应的区域/语言别链接所指向的页面上都应该有一个canonical型标签。

例如,对于

<link rel =“alternate”hreflang =“en-ca”href =“https://www.example.com/ca/”/>

而言,显然会有不同的区域选项,例如:

<link rel =“alternate”hreflang =“en-us”href =“https://www.example.com/us/”/>

<link rel =“alternate”hreflang =“en-gb”href =“https://www.example.com/uk/”/>

在加拿大版的页面上,你将实现指向自身的canonical标签:

<link rel =“Canonical”href =“http://www.example.com/ca/”/>。

你还必须确保每个alternate型标签指向的页面上还包括以上分组中的其他两个URL。这意味着你的美国版网页需要其加拿大版和英国版网页的链接。但是在美国版网页上,canonical型标签也将被插入到

<link rel =“alternate”hreflang =“en-us”href =“https://www.example.com/us/”/>

指向的页面以使其自引用。它看起来会是这样的:

<link rel =“canonical”href =“http://www.example.com/us/”/>

<link rel =“alternate”hreflang =“en-us”href =“https://www.example.com/us/”/>

<link rel =“alternate”hreflang =“en-gb”href =“https://www.example.com/uk/”/>

<link rel =“alternate”hreflang =“en-ca”href =“https://www.example.com/ca/”/>

而在加拿大版页面上,它看起来是这样的:

<link rel =“canonical”href =“https://www.example.com/ca/”/>

<link rel =“alternate”hreflang =“en-us”href =“https://www.example.com/us/”/>

<link rel =“alternate”hreflang =“en-gb”href =“https://www.example.com/uk/”/>

<link rel =“alternate”hreflang =“en-ca”href =“https://www.example.com/ca/”/>

2. 正确使用canonical型标签

回看之前的示例我们会发现,加拿大版网页上的canonical型标签不应该指向https://www.example.com。然而不恰当的canonical型标签使用会破坏hreflang标签组的一致性,并且浪费了几乎所有的艰苦工作。另一个常见的错误是选择一种语言版本并让多种语言版本网页上的canonical型标签指向那个版本的URL。简要说,alternate型标签是说明,“我是...的备用版本”,而canonical型标签是说“我是你期望搜索到的URL的版本。”

对于alternate型标签,需要引用的是基于单一语言的包含指向该版本URL的canonical型标签的着陆页。因而,你不应在hreflang标签中引用没有包含指向所引用链接的canonical型标签的网页。例如,如果你设置了指向http://www.example.com的canonical型标签和指向http://www.example.com/homepage的alternate型标签,那么你可以这样为每种语言版本设置alternate型标签,例如: <link rel =“alternate”hreflang =“en-ca”href =“http://www.example.com/ca/”/>,等等。但是,你不应在hreflang标签中引用http://www.example.com/homepage这个地址。

3. 确保链接是双向的

同样,你需要确保所有语言版本的页面都引用其他语言版本,以确保你的编码一致。

这对应于在Google Search Console中显示的“返回标记错误”。总的说来,如果页面A上有指向页面B的alternate型标签,那么页面B上应该有指向页面A的alternate型标签。重申一下,页面A还应该有指向自己的canonical型标签并列出所有引用了它的页面对应的alternate型标签,而B页面也应这样做。

4. 当所有其他标签失效时插入默认版本

现在,你可能会注意到在一堆hreflang属性的末尾会出现

<link rel =“alternate”hreflang =“x-default”href =“https://www.example.com/”/>。

如果尚未为特定区域指定版本,则会使用“x-default”版本。例如,假如说英语的孟加拉国用户碰巧搜索并找到你的网页,并且没有适合特定该地区的版本,那么根据“x-default”会使用标准英文版本。

5. 学习使用工具

大量工具能帮助你实现hreflang的审计和实现。Python就在SEO专业人士中很受欢迎,尽管此外还有数百种工具。多学习工具,并始终进行手动检查,以确定你的rel-alternate标签已经被正确实现。

你已经上道了

在针对区域性搜索意图优化内容并恰当实现了hreflang属性之后,其他的SEO最佳实践方法就可以用上了。记住,其他国家/地区的搜索用户会使用不同的搜索引擎和平台来检索你的内容。这就是为什么始终站在研究和分析之上的角度,来检验是否为国际用户提供了最佳服务,是十分关键的。

更多的国际化搜索相关资源: * 国际化SEO快速入门 * hreflang实现:对SEO的8个最大的误解 * 常见的国际化SEO挑战及预防

免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 加固apk的开发者最常面对的十种问题

国际化SEO优化的最佳实践的更多相关文章

  1. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  2. 京东云TiDB SQL优化的最佳实践

    京东云TiDB SQL层的背景介绍 从总体上概括 TiDB 和 MySQL 兼容策略,如下表: SQL层的架构 用户的 SQL 请求会直接或者通过 Load Balancer 发送到 京东云TiDB ...

  3. MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"

    本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...

  4. 读<jquery 权威指南>[7]-性能优化与最佳实践

    一.优化选择器执行速度 1. 优先使用ID选择器和标记选择器 使用选择器时应该首选ID选择器($("#id")),其次是标记选择器($("div")),最后再选 ...

  5. MongoDB进阶之路:不仅仅是技术研究,还有优化和最佳实践--转载

    摘要:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 本文将从操作手册.技术研究.会议分享.场景应用等几个方面给大家推荐干货好文 ...

  6. Mysql学习总结(20)——MySQL数据库优化的最佳实践

    1)谨慎而有效地使用索引 选择合理的索引(前缀性及可选性).删除没有用的索引. 2)使用规范化,但不要使用过头 规范化(至少是第三范式)是一个易于理解且标准的方法.然而,在有些情况下,你可能希望违反这 ...

  7. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  8. 最详细的网站改版SEO优化指南:如何让排名不降反升

    我知道,网站改版很是让人头疼.首先,这个过程需要很长时间还有大量工作要做,并且通常结果不会如你的预期.其次,改版确实有破坏之前为 SEO 所做努力的风险. 但不要因为通常网站改版带来排名下降就认为这是 ...

  9. 【Spring Cloud】Spring Cloud之整合Spring Cloud Bus以及最佳实践

    一.整合步骤 1)加入Maven坐标 <!-- actuator监控模块 --> <dependency> <groupId>org.springframework ...

随机推荐

  1. (重要)LRU cache

    [抄题]: [思维问题]: 需要从任何位置访问某数字有没有(重要 ),返回其位置(不重要),所以用hashmap. 需要从任何位置删除,用linkedlist.最终二者结合,用linked hashm ...

  2. OC 和 swift 冒泡排序

    swift 版 var numbers = [17, 28, 36, 15, 39] print("排序前\(numbers)") for i in 0..<numbers. ...

  3. iOS - 上架的APP 生成二维码下载

    1.首先打开苹果App Store商店进入到里面,找到需要打开链接地址的应用程序,例如:百度. 2. 在App Store商店里面先点击一下应用程序图标,再按一下…分享按钮. 3. 接着选择分享APP ...

  4. iOS 7.0.2 的bug记录

    在iOS 7.0.2 版本上,如果从主屏幕进入webapp且webapp进入全屏模式,那么alert和修改window.location到某产品对应的itunes下载页面则无效. 可参考下面的代码示例 ...

  5. nginx 反向代理 502 Bad Gateway

    查看nginx的error.log日志文件发现如下信息: upstream sent too big header while reading response header from upstrea ...

  6. jdeveloper基础教程(中文版)

    jdeveloper基础教程(中文版) 程序员的基础教程:菜鸟程序员

  7. 面向对象设计模式纵横谈:Builder 生成器模式(笔记记录)

    Builder模式的缘起 假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化. 如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正…… 动 ...

  8. Judy Array API介绍

    本文介绍https://code.google.com/p/judyarray/这个JudyArray实现的API. judy_open:新建一个JudyArray,并返回指向这个JudyArray的 ...

  9. DB2与oracle类型对比

    本文摘自http://www.cnblogs.com/cy163/archive/2010/11/17/1880280.html 做过DB2数据库应用迁移的工程师,了解IBM MTK工具在迁移过程中所 ...

  10. centos6.5 redis 安装配置及java调用

    1.安装gcc 执行命令  yum install gcc 2. 安装ruby环境 yum install ruby yum install rubygems gem install redis 下载 ...