301 重定向详解:它如何影响 SEO?
301 重定向的作用是把一个网页重定向到另一个网页,但它与 SEO 的关系要复杂得多。本指南介绍什么是 301 重定向、如何设置、如何影响 SEO,以及如何借助它提升自然流量。
若想全面了解 301 重定向,包括如何借助它提升自然流量,本指南正是所需。
301 重定向本身并不复杂,作用是把一个网页重定向到另一个网页。
但它与 SEO 的关系要复杂得多。
本指南涵盖以下内容:
先从最基础的部分讲起。
什么是 301 重定向?
301 重定向表示网页从一个位置永久迁移到另一个位置。
其中的“301”指的是被重定向页面的 HTTP 状态码。
示例:blog.ahrefs.com 重定向到 ahrefs.com/blog
简而言之,301 重定向向浏览器表明:该页面已永久迁移,新地址如下,且不会迁回。浏览器随后把用户送往新地址。
正因如此,访问 blog.ahrefs.com 不会停留在原地址。
用户会被带到 ahrefs.com/blog。
如何设置 301 重定向
设置 301 重定向的方法有多种,最常见的是编辑网站根目录下的 .htaccess 文件。
该文件位于网站的根目录:
如果未找到该文件,可能是以下两种情况之一:
- 你没有 .htaccess 文件。用记事本(Windows)或 TextEdit(Mac)新建一个文档,另存为 .htaccess 即可,须去掉默认的 .txt 扩展名。
- 你的网站没有运行在 Apache 服务器上。此问题涉及一些技术细节:Web 服务器分为不同类型,最常见的是 Apache、Windows/IIS 和 Nginx,只有 Apache 使用 .htaccess。确认网站是否运行在 Apache 上,可咨询主机服务商。
以下是通过 .htaccess 添加几种常见 301 重定向的代码片段:
重要提示。这些说明仅适用于 Apache 服务器。网站运行在 Nginx 上,请阅读这篇文章;运行在 Windows/IIS 上,请阅读这篇文章。
将旧页面重定向到新页面
若使用 WordPress,可安装免费的 Redirection 插件,无需编辑 .htaccess 文件。
添加 301 重定向因此变得非常简单:
将旧域名重定向到新域名
重要提示!若 .htaccess 文件中已存在 [['Text', 'RewriteEngine on']],不要重复添加,只复制其余代码。也可以在 Cpanel 中完成,操作可能更方便。
将整个域名从非 www 重定向到 www(反之亦然)
以下是非 www 到 www 的写法:
以下是 www 到非 www 的写法:
重要提示!htaccess 文件中代码的位置和顺序也很重要。指令顺序不当可能产生意外结果(例如重定向链)。计划在 htaccess 文件中设置大量 301 重定向时,这一点值得仔细研究。
将整个域名从 HTTP 重定向到 HTTPS
重要提示!要让这条规则生效,网站必须安装 SSL 证书,否则浏览器会显示“不安全”的警告提示。
将整个域名从非 www 重定向到 www,并同时从 HTTP 重定向到 HTTPS
301 重定向会影响 SEO 吗?
大多数 SEO 从业者关注的是 301 重定向与 PageRank 之间的关系。
不了解 PageRank?PageRank 是 Google 设计的一套公式,依据链接的数量与质量衡量“页面价值”。它并非唯一的“排名因素”,但普遍认为,PageRank 越高,排名也越高。
有证据支持:Google 去年(再次)确认了 PageRank 是一种排名信号:
Ahrefs 的 URL 评分(其运作方式与 PageRank 类似)与页面获得的自然流量之间也存在明显的正相关:
这与 301 重定向有何关联?
2016 年之前,用 301 重定向把一个页面指向另一个页面,过程中会有一定的 PageRank 损失。损失幅度存在争议,但 15% 是较普遍的看法,也是 Google 前反垃圾网页负责人 Matt Cutts 在 2013 年这段视频中暗示的数值范围:
为便于说明,这里假设这一数字为 15%。
大致情况如下:
不过,Google 在 2016 年改变了对此事的官方立场:
因此在 2019 年,把 domain.com/page1 重定向到 domain.com/page2,被重定向的页面应当拥有与原页面同等的“权重”。
这一点意义重大,也是 301 重定向能有效提升自然流量的原因之一。(后文详述。)
301 重定向还可能引发许多其他与 SEO 相关、却鲜少被讨论的问题。
如何修复网站中现有的 301 重定向问题
下面介绍如何发现并修复与 301 重定向相关的现有问题。
1. 确保网站的 HTTP 版本会重定向到 HTTPS
所有网站都应使用 HTTPS。
它为访客增加了一层安全保障,且 Google 将 HTTPS 作为排名信号。加上可通过 Let's Encrypt 免费获取 SSL 证书,2019 年已没有理由不使用 HTTPS。
安装 SSL 证书只是第一步……
还需确保用户真正访问网站的 HTTPS 版本,这需要在 HTTP 与 HTTPS 版本之间使用 301 重定向。
检查该重定向是否生效:打开首页并查看地址栏,应看到 https://[www].yourwebsite.com/ 以及一个锁形图标。
将地址改为 http://(不是 https://)后回车,应自动重定向到 HTTPS 版本。
若出现该结果,大体上没有问题。但仍可能存在一些问题,例如:
- HTTP 到 HTTPS 的重定向并未覆盖网站的所有页面(例如子域名)。
- 出现 HTTPS 到 HTTP 的反向重定向
为确保没有此类问题,可以用 Ahrefs 的 Site Audit 抓取网站。
进入内部页面(Internal pages)报告,查找以下问题:
注意。若只看到一条 HTTP 到 HTTPS 的警告,且它仅是抓取起始页面的 HTTP 版本,则不算问题。
修复方式:为受影响页面设置正确的、从 HTTP 到 HTTPS 的 301 重定向。
2. 从站点地图中移除返回 301 状态码的页面
Google 依据站点地图了解应抓取和索引哪些页面。
返回 301 状态码的页面在技术上已不复存在,再让 Google 抓取它们没有意义。这类页面若留在站点地图中,Google 每次重新抓取网站时都可能反复访问,既无必要,也浪费抓取预算。
找出这类页面的一种方法如下:
- 找到你的站点地图 URL(通常是 yourdomain.com/sitemap.xml……但并非总是如此)
- 用这个工具下载所有 URL。
- 把这份 URL 列表粘贴到这个免费的 HTTP 状态码检查工具中(注意:一次最多 100 个 URL)
- 筛选出返回 301 状态码的页面。
如需更快捷的方法,用 Ahrefs 的 Site Audit 抓取网站,进入概览(Overview)报告,查找“站点地图中的 3XX 重定向”错误。
点击该项,即可看到站点地图中所有返回 301 状态码的页面。
从站点地图中移除这些 URL,并替换为最终的重定向 URL(如果它还不在站点地图中)。
3. 修复重定向链
当初始 URL 与目标 URL 之间存在两个或更多重定向时,就形成了重定向链。
这是 Google 对此的说明:
重定向链只会损害用户体验、拖慢速度,应尽量避免。
可以用这个 HTTP 状态码检查工具一次检查最多 100 个 URL 的重定向链。
查找存在两个或更多重定向的页面。
要一次性检查超过 100 个页面,可在 Ahrefs 的 Site Audit 中查看内部页面报告里的“重定向链”错误。
点击该项,即可看到重定向链中的所有 URL,包括最终目标页面。
修复这类错误有两种方法:
- 用单个 301 重定向替代整条重定向链。原来的 页面 1 > 页面 2 > 页面 3 > 页面 4 将变成 页面 1 > 页面 4。
- 把指向被重定向页面的内链,替换为直接指向最终 URL 的链接。这样可以避免 Google 及其他爬虫抓取重定向链。更重要的是,它能避免真实的用户(也就是*可能*会在网站上购买的人)点击链接时遭遇多次重定向带来的延迟。
条件允许时,第二种方案最佳。
做法是:把重定向链列表按“入链数量(No. of inlinks)”列降序排列,再点击入链数量,查看指向被重定向页面的所有内链。
把受影响页面上的内链替换为直接指向最终目标 URL 的链接。
4. 修复重定向循环
重定向循环发生在某个 URL 又重定向回链中的另一个 URL 时。它会造成无限重定向,令搜索引擎和用户困惑,并把他们困在其中。
示例:页面 1 > 页面 2 > 页面 3 > 页面 2 > 页面 3 > 页面 2 > 页面 3 [...]
这类问题对用户体验伤害极大,浏览器通常会给出如下响应:
用前面那个 HTTP 状态码检查工具,可以每批 100 个地查找重定向循环错误,查找“超出最大重定向次数(Exceeded maximum number of redirects)”错误即可。
若超过 100 个页面,可在 Ahrefs 的 Site Audit 中查看内部页面报告里的“重定向循环”错误。
点击该项即可看到所有存在重定向循环问题的页面,然后用以下两种方式之一修复:
- 如果该 URL 本不应该重定向,就把它的 HTTP 响应码改为 200。
- 如果该 URL 确实应该重定向,就修正最终目标 URL 并消除循环。或者,移除或替换所有指向该重定向 URL 的入链。
5. 修复失效重定向
失效重定向是指重定向到一个已失效页面(即返回 4XX 或 5XX HTTP 响应码的页面)的页面。
示例:页面 1 (301) > 页面 2 (404)
这类情况问题严重:访客与搜索引擎爬虫都无法访问最终 URL,多数访客会离开网站,大多数搜索引擎也会放弃抓取。
可以用 HTTP 状态码检查工具,每批 100 个地检查这些错误。
要检查更多页面,可在 Ahrefs 的 Site Audit 中查看内部页面报告里的“失效重定向(Broken redirect)”错误。
修复这类错误有以下两种方式:
- 在原有 URL 上恢复该失效页面(如果是误删)
- 移除指向该重定向 URL 的入链。
6. 为 404 页面设置重定向
返回 404 状态的页面已失效,因此浏览器会显示这样的页面:
有时用户看到该页面是合理的,例如有人在浏览器中输入了错误的 URL,错误页可以提示出了问题。上面就是一个例子,对这个 URL 返回 404 完全合理。
不过,在以下情况中,返回 404 状态码的页面会成为问题:
- 它们可以被抓取。可被抓取通常意味着可被点击。而如果可被点击,就会有一些用户点击网站上的内链,结果看到一个失效页面,损害用户体验。
- 它们有反向链接。由于 404 页面无法访问,任何指向它们的反向链接实际上都被浪费了。
要解决第一个问题,可在 Ahrefs 的 Site Audit 中查看内链(Internal links)报告里的“404 页面”错误。
点击该项,即可看到抓取过程中发现的所有 404 页面。
接下来,点击“管理列(Manage columns)”按钮,添加“dofollow 反向链接数量(No. of dofollow backlinks)”列,点击“应用(Apply)”,然后按该列降序排列。
在 Ahrefs Site Explorer 中查看反向链接(Backlinks)报告,找出拥有一个或多个“dofollow”反向链接的页面。这些链接可能是有价值的,若确有价值,就把该页面 301 重定向到网站上另一个相关资源。
对于没有 dofollow 反向链接的页面,可用以下任一方式处理:
- 在原有 URL 上恢复该失效页面
- 把该失效页面 301 重定向到另一个相关页面
- 移除或替换所有指向该失效页面的内链
重要提示。如果选择第 3 种方式,不仅要替换内链,必要时还要替换相应的锚文本和周边文字。
7. 用 301 替代 302 重定向和 meta refresh 重定向
不要用 302 重定向或 meta refresh 重定向来实现永久重定向。
302 重定向用于临时跳转,而 Google 建议尽可能完全不要使用 meta refresh 重定向。若网站上存在这两种重定向,应设法移除,或替换为 301 重定向。
要查看使用这些 HTTP 状态码的页面,可在 Ahrefs 的 Site Audit 中查看内部页面报告里的“Meta refresh 重定向”和“302 重定向”问题。
这两个问题可以用相同的方式修复:
- 如果该重定向是永久的,就改用 301。
- 如果该重定向不是永久的,就移除它。
还应设法移除或替换指向被重定向页面的内链,尤其是当这些链接很可能让点击它的用户困惑时。
8. 找出获得自然流量的(301)重定向页面
返回 HTTP 301 状态码的页面本不该获得自然流量,因为它们不应出现在 Google 的索引中。若这类页面仍在获得流量,说明 Google 尚未发现该重定向。
要检查有流量的 3XX 页面,可在 Ahrefs 的 Site Audit 中查看概览报告里的“3XX 页面获得自然流量”错误。
如果是从别处(例如某个 HTTP 状态码检查工具)获得的 3XX 页面列表,可以把它们粘贴到 Ahrefs 的批量分析(Batch Analysis)工具中,每批最多 200 个,以查看页面级的自然流量。
注意。你也可以在 Ahrefs 的 Web Analytics 或 Google Search Console 中查看自然流量。
如果最近才添加 301 重定向,这通常不算大问题。Google 在下一次抓取时应当会发现它,之后会将该页面从索引中移除。
要加快这一过程,可把 URL 粘贴到 Google Search Console 的网址检查(URL Inspection)工具中,然后点击“请求编入索引(Request indexing)”。
还应从站点地图中移除这些页面(参见第 2 点),并通过 Google Search Console 重新提交。
9. 找出“不良”的外部 301 重定向
大多数网站都会外链到相关的第三方网站和资源。
这本来没有问题,直到所外链的页面被重定向到别处。
举例来说,假设你外链到一个有用的资源。十二个月后该域名过期,被专门囤积过期域名的人接手,他删除原资源,并重定向到自己的盈利网站。你就在不知不觉中链接到了与访客无关、甚至可能有害的内容。
因此,定期检查“不良”的外部 301 重定向很有必要。
做法是:进入 Ahrefs 的 Site Audit 中的外部页面(External pages)报告,查找“外部 3XX 重定向”警告。
点击该项,即可看到所有被重定向的外链列表,以及最终目标 URL。
接下来浏览报告,查看 URL 和 重定向 URL 两列,找出看起来不正常的重定向。诸如 HTTP 到 HTTPS 的重定向,以及 blog.domain.com/page 到 domain.com/blog/page 这类重定向可以忽略,需要关注的是跳转到完全不同网站或页面的重定向。
以下是我在抓取 Backlinko 时发现的一个例子:
这里的问题并不在于重定向指向了另一个网站。熟悉 Neil Patel 的人都知道,他今年早些时候把 blog.kissmetrics.com 并入了 neilpatel.com。
问题在于,被重定向到的页面是一篇完全不同的文章。
遇到这种情况,最好移除指向被重定向页面的内链。
做法是:点击“入链数量(No. of inlinks)”列中的数字,即可看到所有内链指向该被重定向页面的页面。
进入 CMS,把它们移除。
如何利用 301 重定向提升自然流量
到这一步,网站应该已经不存在任何会拖累 SEO 的 301 重定向问题。
接下来讨论如何借助重定向提升自然流量。
有两种方法可以做到。
鸡尾酒技术(The Cocktail Technique)
假设你有一杯可乐,口感不错;又有一杯朗姆酒,同样出色。
两者各自都是出色的饮品,混合之后则更进一步。这就是自由古巴(Cuba Libre)。
这与 301 重定向有何关系?
把这两杯饮品看作网站上两个主题相关的页面。它们各自表现尚可:有一些不错的外链,能带来一些自然流量。既然如此,为什么不把这两个页面合并成一个更好的页面?
这样就能把两个表现平平的页面,变成一个表现远胜从前的“鸡尾酒”页面。
我们最近就把 Ahrefs 博客上的两篇文章这样处理了:
- https://ahrefs.com/blog/skyscraper-technique/
- https://ahrefs.com/blog/skyscraper-technique-fail/
这两篇文章都日渐过时,因此我们决定把它们合并成一篇新的指南。
随后在 ahrefs.com/blog/skyscraper-technique/ 重新发布,并把另一篇文章重定向到那里。
结果不言自明:
为什么这样做有效?
有两个原因:
- “权重”整合:还记得 301 重定向不再“流失”PageRank 了吗?把其中一篇文章重定向到另一篇,就能把两个页面的“权重”合并到一个页面。若两个页面并不相关,这一方法就不奏效,因为 Google 会把这类重定向视为软 404;正因为这两个页面相似,效果才非常好。
- 更好的内容:原有的两篇文章质量都还不错,只是开始有点过时。取两篇文章的精华加以合并,打造出一篇质量大幅提升的内容——在我们看来,它理应获得更多流量。
剩下的问题就是如何复制这套策略,对吧?
流程如下。
第 1 步:查找关键词蚕食问题(带有反向链接的)
关键词蚕食指两个或多个页面针对同一个或同一组关键词参与排名。找出这类问题,有助于发现机会。
首先要做的是复制这张 Google 表格。
接下来,把网站输入 Ahrefs 的 Site Explorer,进入热门页面(Top Pages)报告,并导出为 CSV。
把 CSV 导入 Google 表格的第一个标签页。
具体操作:依次点击 文件 > 导入… > 上传 > 选择该 CSV > 在弹窗中选择“追加到当前工作表”
操作完成后,切换到“Results”标签页,即可看到整理好的结果。
第 2 步:寻找相关的机会
接下来仔细浏览结果表,寻找潜在的重定向机会。
以下是来自 Hubspot 博客的一个例子:
这两个页面针对“user generated content(用户生成内容)”分别排名第 5 和第 6 位。
这两个页面:
- 主题非常相似
- 拥有大量来自不同网站的反向链接(合计 467 个引用域!)
- 能带来一些自然流量
再看 Ahrefs 的 Keywords Explorer 中“user generated content”的排名前列页面:
当前排名第一的页面有两点很突出:
- 它带来的流量几乎是 Hubspot 那两篇文章合计的两倍!
- 它只有 192 个引用域……不到 Hubspot 那两篇文章 467 个引用域的一半
如果 Hubspot 把这两篇文章合并为一篇,整合全部的“链接权重(link juice)”,他们很有机会拿下第一的位置,流量也可能大幅增长。
第 3 步:重写并合并页面
接下来把各页面的精华整合到一起。
例如,若要处理前面提到的 Hubspot 文章,我们大概会保留其中一篇里“How to Run Your Own User Generated Content Campaign(如何开展你自己的用户生成内容活动)”这一节:
……并保留另一篇里解释“Why User-Generated Content?(为什么要做用户生成内容?)”的部分:
为了尽量保持新页面的相关性,并降低 Google 把我们的 301 当作软 404 处理的风险,还可以在 Site Explorer 中查看每个页面的锚文本(Anchors)报告:
这能让我们了解人们当初链接这些页面的原因。
例如,可以看到有不少人在链接这个页面时引用了其中的统计数据,那么在改版后的文章中保留这些数据可能是值得的。
第 4 步:发布改版后的页面并设置 301 重定向
现在可以发布改版后的文章或页面了。
如果原来的某个 URL 与新文章契合,就在同一 URL 上重新发布,然后删除另一篇文章或页面,并为新文章添加 301 重定向。
你可能记得,我们对摩天大楼技术(skyscraper technique)那篇文章就是这样处理的——沿用了 /skyscraper-technique/ 这个 URL。
如果原来的两个 URL 都与新文章或页面不契合,就把两个页面都 301 重定向到一个全新的 URL。
例如,如果要把 Hubspot 那两篇文章合并成这样一篇指南:
……那么原来的两个 URL 都不合适。
更好的做法是发布在类似 blog.hubspot.com/marketing/user-generated-content/ 这样的地址。
于是可以这样做,再把另外两个页面 301 重定向到该 URL。
并购法(The Merger Method)
下面是某个网站在采用并购法后自然流量的变化:
12 个月内流量增长了约 116%!
流程简述如下:
- 收购你所在行业的另一家企业或网站。
- 用 301 重定向把他们的网站与你的网站合并。
Backlinko 的 Brian Dean 去年就这么做了。他收购了另一个 SEO 博客——Point Blank SEO——并把它重定向到 Backlinko。事实上,上面截图中的效果正是他采用这种方法实现的。
但在开始大量收购之前,需要先理解一点:
要成功运用这一方法,并非随便买一个旧网站、再用 301 把所有页面都重定向到首页那么简单。这种做法过于草率,在 2019 年已不是好主意。你还需要逐页设置 301 重定向。
下面是分步骤的做法:
1. 迁移并重定向内容
流量增长中最大的一部分,很可能来自内容的迁移与重定向。
Brian Dean 就对 pointblankseo.com 上的一些文章做了这样的处理,包括 Jon 那份大名鼎鼎的链接建设策略清单。
就是那份拥有如下反向链接档案的文章:
原 URL 为:pointblankseo.com/link-building-strategies新的(重定向后的)URL 为: backlinko.com/link-building-strategies
Brian 用 301 重定向把文章从旧域名迁移到了新域名,所有这些链接现在实际上都指向了 backlinko.com 上的同一个页面。这个页面相当于换了一个新地址。
当以下条件全部满足时,迁移并重定向内容是最佳选择:
- 内容能带来自然流量
- 主题与你的业务相关
- 内容质量高
最后一点可以通过在迁移与重定向之后更新或重写内容来弥补。Brian 就是这样处理那份链接建设策略清单的,它自 2012 年左右起就未更新过。
2. 删除并重定向到另一个页面
对于满足以下情况的页面,保留或迁移都没有意义:
- 几乎没有或完全没有自然流量潜力。
- 与你已经覆盖过的主题重复
例如,保留待合并网站上的关于我们页面毫无意义,因为那样会有两个关于我们页面,显然不合理。对于其他与网站上现有页面针对相同关键词的页面,道理相同。
迁移这些页面只会导致关键词蚕食问题。
同样,如果页面几乎没有流量潜力,不如舍弃并重定向到别处。Brian 就对 pointblankseo.com 上不少文章这么做了,比如这篇关于外联平台的文章:
那篇文章已不复存在。Brian 把它重定向到了他关于链接建设工具的博客文章。
原 URL 为:pointblankseo.com/outreach-platforms新的(重定向后的)URL 为: backlinko.com/link-building-tools
他这么做,是因为“outreach platforms”这个关键词没有搜索量,也没有流量潜力,不值得作为一个主题去覆盖。
因此,把这篇文章重定向到另一篇具有流量潜力的相关文章更有意义。
3. 删除并重定向到你的首页
如果没有合适的位置可重定向、迁移也不合理,最后的办法是重定向到首页。
Brian 对 pointblankseo.com 上的大多数页面都是这么做的,比如这篇“自我吹捧(ego-bait)”指南:
原 URL 为:pointblankseo.com/egobait-guide新的(重定向后的)URL 为: backlinko.com/blog
为什么这是最后的办法?还记得前面提到的:Google 会把不相关的 301 重定向当作软 404 处理。把文章和页面重定向到首页时,就可能发生这种情况。
关键在于:如果不重定向这些页面,Google 100% 会把它们当作软 404 处理。结论是仍应重定向。
不过有一个注意事项:不应重定向带有低质量反向链接的页面。这样做很可能弊大于利,重定向之前务必在 Site Explorer 中查看每个页面的反向链接报告。
如果反向链接档案长这样……
……最好直接删除该页面,让它保持为 404。
如果确实需要重定向该页面,可以先拒绝(disavow)不良链接再重定向,但这样做很可能得不偿失。
结语
在 SEO 方面,301 重定向有很多用途。
策略性地使用它们,自然流量可能大幅增长。不过,先确保网站上不存在现有的 301 重定向问题更划算,这些问题可能正在拖累当前和未来的 SEO 工作。
本指南若有遗漏,欢迎在评论区指出,或通过 Twitter 联系我。