基于SEO优化角度应该选择301还是302重定向

关于链接重定向,即将内容移动至新位置。如果是永久性移动,需使用 301 重定向;暂时移动,则应使用 302 重定向。

但你可能会想,这很重要吗?毕竟,用户无法察觉 301 和 302 的区别,两者在功能上是相同的。

答案很简单:搜索引擎对待 301 重定向和 302 重定向的方式不同。并且,选择错误的重定向可能会导致 SEO 问题,而这些问题往往在数月甚至数年内被忽视。

在本文中,你将了解:

  • 何时使用 301 和 302 重定向
  • 如何创建 301 和 302 重定向
  • Google 如何处理 301 和 302 重定向
  • 如何修复“意外” 302 重定向(以及是否应该修复)

何时使用重定向

301 重定向使用场景

  • 你将永久更改网页的 URL时。
  • 你将永久迁移到新域名时。
  • 当你从 HTTP 切换到 HTTPS 时。
  • 你希望修复非 www / www 重复内容问题时。
  • 永久合并两个或多个页面或网站时。
  • 你将永久更改网站的 URL 结构时。

302 重定向使用场景

302 重定向的用例很少,但也有一些:

  • 当你想将用户重定到正确的网站版本(基于位置/语言)时。
  • 当你要对网页的功能或设计进行 A / B 拆分测试时。
  • 你希望在不影响旧页面排名的情况下获得新页面的反馈时。
  • 当你正在进行促销,并希望暂时将访问者重定向到促销页面时。

毫无疑问,还有其他用例,但是它们往往是非常具体和个性化的。金科玉律是,如果你打算在短时间后恢复旧页面,则只应使用 302 重定向。

如何创建重定向

你可以用多种方法创建 301 和 302 重定向,但最常见的方法是编辑网站的 .htaccess 文件。你可以在网站的根目录中找到此文件。

1-root-directory-htaccess.pngo_

小提示.  如果你在站点的根目录中没有看到此文件,说明你的服务器没有在 Apache 上运行,或者你没有此文件。你可以使用此工具检查正在运行的服务器类型。如果服务器类型是 Apache,解决方法就是使用 Notepad 或 TextEdit 创建一个 .htaccess 文件并将其上载到根服务器。如果你的服务器类型是 Nginx,请阅读这篇文章。如果你运行的是 Windows 或 IIS,请阅读这篇文章。

如果你使用的是 WordPress,一个比较简单的选择是使用免费的 SEO 插件来创建重定向。 RankMath 内置了此功能,但是这个插件也可以完成这项工作。

如何创建 301 重定向

如果要创建从一个 URL 到另一个 URL 的 301 重定向,请将以下内容添加到你的 .htaccess 文件中:

Redirect 301 /old-page.html /new-page.html

你也可以使用 RankMath 或“重定向”插件来执行此操作。只需选择所需的重定向类型,然后添加源 URL 和目标 URL。

2-301-rankmath.pngo_

如果你要重定向整个网站,请将以下内容添加到你的 .htaccess 文件中:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC] 
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=301,NC]

你需要保持你的旧主机处于活动状态,才能使用 .htaccess 重定向你的网站,这可能会很昂贵。因此,通常最好通过 DNS 重定向。大多数注册商都允许你为此选择 301 或 302 重定向。如果你使用的是 Google 域,只需点击 Website(网站)> forwarddomain(转发域),然后输入新域并选择“ Permanent redirect(永久重定向)”。

3-google-domains-301.pngo_

后面有时间,我们专门针对 301 重定向写个教程指南(例如,从非 www 到 www,从 HTTP 到 HTTPS),敬请关注。又或者如果你对这一块有需要了解的,随时留言与我们讨论。

如何创建 302 重定向

如果要创建从一个 URL 到另一个 URL 的 302 重定向,请将以下内容添加到你的 .htaccess 文件中:

Redirect 302 /old-page.html /new-page.html

你也可以使用 RankMath 或 WordPress 中的重定向插件来执行此操作:

4-302-rankmath.pngo_

如果你要重定向整个网站,请使用以下代码:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC] 
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=302,NC]

只是你也许不想使用 302 将一个站点重定向到另一个站点。大多数域更改都是永久性的,所以你需要使用 301。从 HTTP 重定向到 HTTPS,或者从非 www 重定向到 www(反之亦然),情况也是一样的。

Google 如何处理 301 和 302 重定向

由于 301 和 302 重定向的功能与最终用户相同,因此选择使用哪种重定向主要取决于 Google 如何对待它们。这里我们需要谈谈两件事:

  1. 索引化
  2. 链接信号

索引化

当一个 URL 重定向到另一个 URL 时,Google 只会保留其中一个 URL 的索引。

对于 301 重定向…

…这就是“新”  URL。 例如,如果你创建了从旧的-页面 .html 到新的-页面 .html 的 301 重定向,Google将索引新的-页面 .html 去索引旧的-页面 .html.,并为旧的-页面 .html 取消索引。 这是因为 301 重定向告诉 Google 这是一个永久性的移动,因此没有必要保留旧的 URL 索引。

人们有时对此感到困惑,因为在创建 301 重定向后,旧的 URL 在使用site: 搜索时仍然可以在 Google 中显示一段时间。

例如,很多年前,Moz 将域名 seomoz.org 更改并重定向到了 moz.com,但 seomoz.org 仍然显示在 Google 上。

5-301-site-search.pngo_

原因正如 Patrick 最近解释的,site:searches (网站搜索)不会告诉你 URL 是否被索引。为此,你需要在 Google 搜索控制台中使用 URL 检查工具或覆盖率报告。

对于 302 重定向…

…Google 索引的 URL 通常是原始网址。 然而,由于 Google 知道人们经常错误地使用 302 进行永久重定向,因此他们实际上会单独评估每个 302 重定向,以试图确定你的真正目的。

这是 Google 的 John Mueller 所说的:

当我们识别到一个重定向并看到它是 302 时,我们首先假定它是一个临时重定向,并假定你想要为初始 URL 编制索引,而不是为了重定向。 […] 然而,当我们意识到它实际上更像是一个永久重定向,302 可能是你不小心设置的,那么我们会将其视为 301。我们不会为此 URL 编制索引, 而将为重定向目标建立索引。——John Mueller, Webmaster Trends Analyst Google

在 Google 将其视为永久重定向之前,没人确切知道 302 重定向需要多长时间。通常需要几周到几个月,但也可能是几天,几周或几个月。

在某些情况下,Google 甚至从一开始就把 302 当作 301。

例如,Patrick 最近做了一个小实验,在这个实验中,他将一个已建立的站点 302 重定向到了另一个站点的。当 Google 检索“旧”域并检测重定向后,“旧”域从搜索结果中消失了,取而代之的是“新”域。

如果你不确定 Google 如何处理你的 302 重定向,以下是一个快速“窍门”:

将重定向 URL 粘贴到 Search Console 的 URL 检查工具中。 如果显示“ URL 不在 Google 上”警告,则 Google 必定将其视为永久重定向(301)。 如果它在 Google 上,则他们将其视为临时重定向(302)。

6-url-is-not-on-google.pngo_

只需确保在执行此操作时检查上一次的爬网日期。如果此日期是在你实现重定向之后,则请求重新索引并稍后返回。

小提示. 根据我们的观察,当重定向到“已建立”的页面或网站时,Google 通常会更快地将 302 重定向视为永久重定向。这可能是因为“新”页面或网站已经存在了一段时间了,因此你希望永久重定向 URL 的概率要高于平均水平。

链接信号

3XX 重定向曾经会降低 PageRank (网页排名),但该重定向于 2016 年停止。

现在,当你将一个 URL 重定向到另一个 URL 时,链接信号将合并在一个 URL 上而不会被减弱。但是,这种工作方式通常会被误解,因为重定向的类型会影响信号合并的位置。

对于 301 重定向

…链接信号将“转发”合并为“新” URL。

例如,如果是旧的-页面 .html有十个反向链接,你将其重定向(301)到新的-页面 .html,则所有链路信号将合并在新的-页面 .html处。换言之,Google 应该将新的-页面 .html排名为 10 个链接。

然而,这并不是那么简单,因为 Google 将无关的重定向视为软 404(该视频播放需要梯子):

如果你将内容移至新 URL 而不进行大幅度更改,那么这不是问题。但是,如果重定向是不相关的,例如将旧博客帖子重定向到你的主页时,则指向“旧”页面的链接可能无助于“新”页面的排名。因此,黄金法则就是尽可能保持你的重定向的相关性。

如果你好奇 Google 如何处理你的 301 重定向之一,尝试以下操作:

转到 Search Console(搜索控制台) > Links(链接)> External Links(外部链接)。

7-top-linked-pages.pngo_

接下来,按“ Target page(目标页面)”过滤报告,并粘贴到“ new (新的)” URL 中。例如,我们最近 301 重定向了一篇我们的旧博客文章( domain.com/blog/seo/)到博客主页( domain.com/blog/ ),因此我们将其粘贴到了博客主页并从列表中选择了 URL。

top-target-pages-new-url

下一步,将“旧的” URL 粘贴到 Ahrefs 的网站分析中,并转到引用域报告。

8-referring-domains-ahrefs.pngo_

最后,在 GSC 中,按“ Site(站点)”过滤链接,然后逐个粘贴来自 Ahrefs 的引用域。

如果你对多个引荐域执行此操作,但在 GSC 中没有找到匹配项,Google 可能会将重定向视为软 404,并且不计入指向“新的” URL 的反向链接。

9-no-results-domain-gsc.pngo_

如果有匹配项,请单击该站点以查看实际链接。你应该会看到以下内容:

10-target-url-if-different.pngo_

注意,“ Target URL(if different)” 列显示的是“旧的”重定向的 URL。这表明 Google 正在将指向重定向 URL 的链接计入“新的” URL。

对于 302 重定向

…链接信号通常会将“向后”合并到“旧的” URL。

例如,如果你将旧-页面 .html 重定向(302)到新-页面 .html,并且新-页面 .html具有十个反向链接,则所有链接信号通常将合并在旧-页面 .html处。换句话说,Google 应该将旧-页面 .html 视为 10 个链接排名。

但是,事情并不是那么简单。这取决于 Google 如何对待 302 重定向。

如果他们将其视为临时重定向,则链接信号的确会向后合并。这是假设重定向页面与“新”页面相同或相似。如果不是,他们可能会把它当作软 404。

如果他们将其视为永久重定向,则链接信号将向前合并。

你可以用 URL 检查工具检查 Google 是如何处理重定向的。只需粘贴“旧”重定向的URL。如果“ Google-selected canonical( Google 选定的规范) ”显示“ Inspected URL(已检查的 URL)”(如下所示),Google 将把重定向视为临时的。如果不是,那就是将它视为永久性的。

11-inspected-url-canonical.pngo_

你是否应该“修复”意外 302 重定向?

假设你在使用 302 重定向进行永久移动时犯了一个常见错误。你是否需要花费宝贵的时间将它们全部交换成 301 重定向?

这取决于 Google 当前如何处理这些重定向。

如果他们自己发现了问题,并且已经将“意外” 302 视为永久性的移动,那么将其更改为 301 可能不会有任何影响。如果他们还没有发现问题,那么将重定向从 302 改为 301 可能是最好的做法。

你可以使用 GSC 中的网址检查工具来检查 Google 如何处理单个网址,如上一节所示。但是,如果你进行了大量重定向,那将非常耗时。更快的方法是首先查找获得自然流量的 302 重定向。毕竟,这是一个明显的信号,表明 Google 仍将重定向视为临时重定向。

你可以在 Ahrefs 的网站诊断中执行此操作。只需爬网你的网站,然后检查重定向报告中的“ 302 重定向”警告。

12-302-redirects-site-audit.pngo_

如果存在警告,请单击查看受影响的 URL,并按“自然流量”从高到低对报告进行排序。

13-302-redirects-with-traffic.pngo_

由于此数据是来自 Ahrefs 的网站分析的估计,因此值得在 URL 检查工具中仔细检查所有重定向的 URL 的访问量。如果用户声明的规范与 Google 声明的规范匹配,则 Google 将 302 重定向视为永久的。如果他们没这么做,则重定向的页面很可能会获得自然流量,因为它仍在被索引,而 Google 将其视为临时页面。如果你在一个永久性的移动中意外地使用了 302 重定向,这是不可取的。幸运的是,将 302 重定向改为 301 应该可以解决此问题。

结语

重定向并不复杂。如果你要将内容永久移动到新位置,请使用 301 重定向。如你果要临时移动它,请使用 302 重定向。

也就是说,即使你碰巧使用了错误的重定向类型,Google 最终可能也会明白你的意思。但能确保万无一失吗? 当然不是。Google 并不总是足够聪明,能够每次都明白你的意思,所以最佳的做法是尽可能使用正确的重定向类型。

然后重定向对网站SEO优化有一定影响,请不要忽视重定向的作用!无论是www和非www之间的重定向,又或者http和https之间、错误状态码页面和404页面之间…的重定向

(via ahrefs.com 译者,Frida Zheng,文章有改动)

文章网址:https://www.wpbull.com/seo/17656.html