Ultimate Guide to Redirects

SEO 重定向 - 终极指南

重定向用于将用户和搜索引擎爬网程序从一个 URL 转发到另一个 URL。

在更改现有 URL 时,你可以使用重定向 – 常见使用案例包括:

  • 合并网站,
  • 更改、更新或删除内容,
  • 修复返回 404 状态代码的页面,
  • 更改网站的信息架构,以及
  • 执行站点迁移。

任何重定向错误 – 或者尽管有必要但不实施重定向 – 都可能导致严重的 SEO 问题。Google 可能不会将原始页面的排名信号与新页面的排名信号相关联,从而导致排名下降,从而导致流量流失。

这就是为什么分析你网站的所有重定向是Nat 技术 SEO 服务不可或缺的一部分。

本文将帮助你了解如何实施重定向以使你的网站受益。

阅读文章以找出答案:

  • 何时以及为何应该使用重定向,
  • 不同类型的重定向及其用例,
  • 重定向的最佳实践,
  • 审计、实施和测试的方法。

文章目录

重定向用于将用户和搜索引擎从他们最初想要访问的 URL 转发到不同的 URL。

它们可以帮助你从不希望任何人访问的 URL 转移流量,例如使用 404 (错误) 状态代码响应的 URL 或包含过时或更改内容的 URL。

通过实施重定向,你可以为尝试访问页面的访客提供积极的用户体验,而如果没有重定向,该页面可能会显示错误。 错误页面会导致用户跳出或离开页面,从而降低他们返回您的网站的可能性。

从 SEO 的角度来看,重定向是一种保留原始页面排名信号的方法,这有助于保持排名。

Google 使用排名信号(其中许多我们不知道)来确定如何对页面进行排名。谷歌的排名信号包括 PageRank(指向页面的链接的价值和数量)、移动友好性和网络性能。通过实施重定向,可以将旧页面积累的排名信号传输到新页面。

规范和重定向之间的区别

如果你曾经使用过规范标签,你可能想知道重定向和规范化之间的用例差异。

使用 HTML rel=“ canonical” 标签可以帮助搜索引擎了解一组相似页面中的哪个页面是规范页面——你希望在搜索结果中显示的原始页面。

从表面上看,规范标签和重定向都可以帮助你避免重复内容的问题并整合不同的 URL 版本。

但是重定向和规范的工作方式之间存在关键差异,它们不应互换使用。

当页面不再存在或已更改时,将使用重定向。同时,在实施了 canonical 标签后,该页面的另一个副本仍然存在。 你可以使用规范标签向搜索引擎指定哪个 URL 版本是主要版本。

另外,请记住,Google 可以忽略不正确创建的规范标签。如果 Google 忽略了你的 canonical 标签,你可以通过 GSC 中的 “Duplicate, Google chosen different canonical than user” 状态来发现它。

重定向应该优先于规范,以整合 URL 属性并消除重复内容的问题。Google 可以根据标签选择规范版本,但如果它认为更好,它也可以使用不同的页面。同时,如果重定向实施正确,Google 不会选择其他 URL。

什么时候需要重定向

通常,如果原始 URL 是:

  • 已收录和排名,
  • 用户经常访问,
  • 从你的网站和外部来源链接到,
  • 用于其他内容,例如你的新闻通讯。

但是,如果你的页面没有价值或不受欢迎,那么修复它们并不重要。

以下是 Google 对 404 错误的描述:“一般来说,404 错误不会影响你网站的搜索性能,如果你确定这些 URL 不应该存在于你的网站上,你可以安全地忽略它们”。

在大多数情况下,404 会损害你的 SEO 的唯一情况是,如果你有来自其他网站的链接指向错误页面。然后,你应该实施重定向以保留累积的 PageRank。

有一些方法可以增强访问者访问你的错误页面的体验。例如,你可以引导他们到更好的位置或建议他们的下一步。

重定向的类型

有两种类型的重定向:

  • 服务器端重定向,以及
  • 客户端重定向。

区别在于重定向发生的位置 – 服务器或客户端。

服务器端重定向与HTTP 状态代码相关,HTTP 状态代码是服务器对浏览器请求的响应。3xx 状态代码用于重定向。

客户端重定向是通过在页面的 HTML 中插入代码来实现的。

让我们看看两种重定向类型的最常见示例、它们的特征和用例。

服务器端重定向

最常见的服务器端重定向是 301 和 302。还有他们的 HTTP 1.1 版本——307 和 308。

让我们专注于 301 和 302 重定向、有关如何以及何时使用它们的建议,以及搜索引擎如何处理它们。我还将解释其他 HTTP 请求代码的含义以及何时可能会遇到它们。

301 重定向

301 重定向通常是 SEO 最推荐的重定向方法。它们表示 URL 已被永久重定向到的目的地。

你可以决定删除或更改你的一个或多个页面。但是,如你只是删除或更改它,就会出现问题,特别是如果这些页面获得大量流量并且对你的业务有价值。

如果你也不打算再使用原始 URL,那么使用 301 重定向将是正确的选择。

301 重定向的用例

301 重定向有多种用例,其中一些用例包括:

  • 更改你的内容,例如,更新或删除或整合内容,
  • 将你的网站移动到新域名,
  • 更改 URL 的结构,例如,通过调整网站架构或更改 URL 的子域或子目录结构,
  • 从 HTTP 迁移到 HTTPS 协议,
  • 更改你的 CMS,
  • 合并网站,
  • 你希望从具有 404 状态的 URL 重定向用户和搜索引擎的任何情况。
301 重定向的 SEO 影响

301 重定向告诉搜索引擎该页面已更改位置,并且可以在新 URL 中找到内容。

在这种情况下,搜索引擎应该从索引中删除旧 URL,并将尽可能多的 PageRank 从原始 URL 转移到新 URL。然后,你还可以保持排名,这将使你能够保持流量和转化率。

我们不知道 301 重定向会丢失多少累积的排名信号,但是,如果重定向正常工作,这是挽救这些信号的最佳方法。

但是,请确保每次创建 301 重定向到新 URL 时,它都会指向与旧 URL 内容尽可能匹配的页面。它将帮助你最大限度地减少重定向可能对您的搜索可见性产生的任何不利影响。

应该把你的 301 保留多长时间

请记住,发现更新的 URL 的过程可能需要一些时间,具体取决于搜索引擎抓你的页面的频率。

但是,我们建议你不要删除重定向,以避免搜索引擎在一段时间内未在你的 URL 上注册更改时出现问题。

确保 Google 将重定向的 URL 视为规范 URL

“你告诉我们你更愿意将目标页面编入索引,而不是原始页面。这很好。但是,我们使用了很多因素来进行规范化,而不仅仅是重定向……”——来源:谷歌

“如果一切都一致,我们将专注于目标页面。为了简化这一点,请确保更新内部链接、站点地图文件和其他对原始页面的引用,以便它们都指向目标页面。“——来源:谷歌

302 重定向

302 重定向表示 URL 已临时移动。

它告诉访问者和搜索引擎此 URL 目前在此位置不可用,但会再次可用。

302 重定向的用例

如果你是以下情况,应该选择 302 重定向:

  • 重新设计或更新页面上的内容,但计划恢复它们,
  • 修复损坏的 URL 并将其流量临时重定向到其他目的地,
  • 重定向产品页面,例如,对于暂时缺货、季节性供应或特别优惠的产品,
  • A/B 测试 – 例如,如果你正在测试新的网站模板,
  • 地理定位 – 如果你想根据用户的位置将用户重定向到不同的 URL,
  • 设备定位 – 根据用户的设备重定向用户。
302 重定向的 SEO 影响

与 301 不同,使用 302 重定向将排名信号传输到新 URL 的问题更大。

以前,许多 SEO 认为 302 重定向无法通过 PageRank。

一般来说,谷歌将 302 重定向视为临时的,在这种情况下,它可能不会将所有排名信号都传输到目标 URL。但是,如果 302 存在了一段时间,谷歌可能会将其视为规范版本,并像对待 301 一样有效地对待 302 重定向。

实施 302 规则的最重要规则是暂时保留它们,并在原始 URL 再次可用时立即删除重定向。

307 和 308 重定向

307 和 308 是 HTTP 1.1 中 301 和 302 的等效版本,其工作方式类似。307 是临时重定向,而 308 表示页面已永久移动。

301 和 302 与 307 和 308 之间的唯一区别是,使用后者可以保证在发出重定向请求时不会更改方法和正文。

换句话说,301 和 302 有时会错误地从 POST 更改为 GET 方法,其中 POST 方法将数据发送到服务器,而 GET 用于请求数据。为了更好地说明这种差异:GET 方法可用于通过搜索页面接收数据,而 POST 方法可以用于更改密码的形式。

Google 的指南指出,307 和 308 的处理方式与 301 和 302 一样。

客户端重定向

如前所述,客户端重定向发生在浏览器中。有两种客户端重定向方法:
  • Meta refresh
  • JavaScript.
总的来说,只有在服务器端解决方案无法实现时,例如,你无权访问你的服务器,才建议使用客户端重定向。 让我们看看这两种重定向方法,并学习如何实现它们以及它们如何影响您的 URL。

Meta refresh

在 meta refresh redirect 中,应该在页面的 <head> 部分放置一个 meta 标签,告诉浏览器在指定时间过后移动到另一个页面。 

				
					<meta http-equiv="refresh" content="2; URL='https://www.imrnat.com/ultimate-guide-to-noindex-tag/'" />
				
			

数字 (2) 指定浏览器重定向到指定 URL 之前的秒数。

此重定向方法通常与显示消息一起使用,该消息显示“如果你在 5 秒内未重定向,请单击此处”,在这种情况下,重定向将在 5 秒后发生。

Google 区分了即时和延迟元刷新重定向。 即时的应将秒数设置为“0”,在这种情况下,Google 会将其视为永久重定向。延迟的在重定向之前会有一些数,谷歌表示此重定向将被视为临时重定向。

即使 Google 正确处理了你的重定向,这种重定向方法也通常会给用户带来糟糕的体验。首先,它比服务器端重定向需要更多的时间来处理。它也可能出现垃圾邮件并使用户感到困惑,因为他们没有启动重定向或被太快或太慢地带到不同的页面。

元刷新仅在特定情况下是一个建议选项,例如,如果你无法访问或使用 .htaccess 文件,或者你只想重定向多文件目录中的单个文件。

如果你决定使用元刷新,请将请求目标 URL 的延迟保持在最低限度 – 最好将其设置为 0。

JavaScript 重定向

使用 JavaScript 重定向通常对 SEO 不友好。Google 抓取和呈现 JavaScript 仍然是一个复杂的话题,需要遵循许多准则来帮助 Google 尽可能地理解你的 JavaScript。

此外,如果 Google 不将你的 JavaScript 文件视为与页面相关,则它可能根本不会呈现 JavaScript。

JavaScript 重定向不会为你提供设置 HTTP 状态代码的选项,因此当请求 URL 时,服务器将以 200 OK 状态响应。因此,在进行重定向之前,需要下载和呈现页面的资源。这会导致重定向过程比服务器端解决方案花费更长的时间。通过使用 JavaScript,所有排名信号传递到新 URL 的机会也较低。

但在某些情况下,JavaScript 重定向是一个可行的选择。JavaScript 重定向的一个好处是你可以包含额外的逻辑。例如,你可以使用它来检测用户的位置或语言,并根据此设置进行重定向。

你是否正在努力自己优化 JavaScript 重定向?了解我们的 JavaScript SEO 服务如何为你提供帮助。

哪些重定向更适合 SEO?

上述重定向类型——HTTP、元刷新 (HTML) 和 JavaScript 重定向——的工作方式不同,并在不同阶段被搜索引擎选择。

Google 可以在抓取过程中捕获服务器端的 HTTP 重定向。机器人可以收到 3xx 响应并了解页面已移动到不同的位置。这使他们可以更快地访问新 URL。

但是,对于客户端重定向,Google 只能在渲染阶段检测到重定向。这会为流程添加更复杂的步骤,并使其明显更长。

客户端重定向并不能保证 Google 会正确索引重定向。在这种情况下,与服务器端重定向不同,旧 URL 仍然存在。

无法使用客户端重定向指示 HTTP 状态代码,这是一个重大的缺点,使搜索引擎更难决定应如何处理重定向。

值得补充的是,元刷新将在 JavaScript 重定向之前执行。此外,需要执行 JavaScript 才能跟随 JavaScript 重定向,这使其成为最不利的重定向方法。

尽可能使用服务器端重定向。如果它们不可用,请选择客户端重定向。

实施重定向的最佳实践

如果重定向结构正确,搜索引擎会将旧 URL 的排名信号与新 URL 的排名信号相关联。这样,您可以保持您的排名、流量和收入。

让我们看看你在重定向中应该遵循的准则。

避免重定向链和循环

原始 URL 和目标 URL 之间存在多个重定向 时,就会发生重定向链。这会增加到达目标页面所需的时间。

如果你有三个 URL(A、B 和 C),请不要创建像这样的重定向:

  • 网址 A →网址 B
  • 网址 B →网址 C

相反,请确保始终只有一个重定向:

  • 网址 A →网址 C
  • 网址 B →网址 C

当无法访问目标 URL 时,会发生重定向循环。例如,如果重定向的实现方式如下,则可能会发生这种情况:

  • 网址 A →网址 B
  • 网址 B →网址 A

因此,这些 URL 会相互重定向,并且无法访问目标。

每个重定向都会向服务器创建一个额外的 HTTP 请求。使用一个重定向不会对性能产生太大影响,但每个额外的重定向都会对加载时间产生负面影响,从而提供更糟糕的用户体验。

使用 301 重定向解决潜在的重复内容问题

你的 URL 可能以不同的格式存在,这可能会导致重复的内容问题。

例如,可能有 URL 的版本:

  • 带和不带 www
  • 带和不带尾部斜杠 (/)
  • 使用 HTTP 和 HTTPS

为避免出现重复内容问题,请使用 301 重定向来指向该 URL 的规范版本。

重定向到主题相关的页面

你的重定向应始终指向与旧 URL 最匹配的页面。

在选择最合适的页面重定向到时,请考虑用户最初期望找到的内容,并将他们重定向到能够解决其搜索意图的内容。

例如,如果用户试图访问您不再销售的特定鞋子的页面,你可以将他们重定向到具有相关鞋子类别的页面。

将产品页面重定向到主页通常被视为不良做法。

解决链接断开的问题

可能有内部和外部链接指向你网站上的 404 个页面。你可以使用 Ahrefs Site Explorer(网站分析)或 Semrush 外链分析工具等工具来查找失效的链接。

  • 更新内部链接

断开的内部链接不会帮助搜索引擎发现你的内容或识别它所连接的内容。你应该以**更新指向 404 页面的内部链接为目标。**不要在此处实施重定向 – 这样,你可以避免搜索引擎和访问者的额外步骤。

  • 修复外部链接

如果外部链接损坏,你将错过重要的排名信号。但是,这些链接不受你的控制,因此你不能简单地更新它们。相反,请联系链接到你的网站并要求他们将链接更改为不同的 URL。如果这不起作用,你应该 301 将错误页面重定向到有效的页面。

使用 301 重定向解决关键词蚕食问题

如果你发现多个页面针对相同的用户意图,请考虑将他们重定向到最能满足该意图的主要内容。

如有必要,如果有任何信息可以使其更全面,你还可以更新主要部分,然后实施重定向。

准备重定向策略

在进行站点迁移之前,制定重定向策略尤为重要。首先创建一个列表,列出迁移后将不存在的所有旧 URL。

你可以通过以下几种方式访问它们:

  • 从 XML 站点地图导出 URL,
  • 使用爬虫程序查找并收集你的所有 URL。

当你拥有所有 URL 的列表时,你应该映射它们以确定每个 URL 应该重定向到何处。

你可以根据新旧 URL 之间的共享模式(例如页面标题或产品代码)重定向页面。确保这些模式包含唯一标识符,以降低出错的风险。

在准备策略时,请确保你要映射的 URL 在主题上相关,并且没有重定向链——或者至少将重定向的数量保持在最低限度。

管理已停产的产品

为已停产产品实施重定向的策略取决于你的情况。

如果你的产品缺货且不会退货,最好将这些页面 301 重定向到最近的替代品。

但是,如果停产的产品产生兴趣和流量,那么保持相同的 URL 并简单地更改页面可能是更好的选择。然后,它可以额外显示相关可用产品的其他报价,或者你可以将其转换为停产产品及其替代品的比较文章。

如何检查网站的重定向是否设置正确

要了解你的重定向设置是否正确,请先审核你网站的重定向。如果你有一个大型网站,此解决方案特别有用。

然后,你将知道是否需要修复任何 URL,如果需要,在何处实施重定向。

首先,通过导出站点地图中的 URL 或抓取你的网站并提取所有 URL 来访问你的所有 URL。然后,你可以将它们保存在 .csv 文件中。

检测到的带有重定向的 URL 列表也可以在你的 Google Search Console 中找到。在大多数情况下,当你正确重定向页面时,你会发现它们处于“重定向页面”状态。但是,当你的重定向不起作用时,Google 会在“重定向错误”状态中报告它们。

检测到的带有重定向的 URL 列表也可以在你的 Google Search Console 中找到。在大多数情况下,当你正确重定向页面时,你会发现它们处于“重定向页面”状态。但是,当你的重定向不起作用时,Google 会在“重定向错误”状态中报告它们。

如果你的重定向较少,你可以手动测试你的重定向是否正常工作。只需访问旧 URL,看看是否被重定向到新 URL。

还可以使用一些工具——例如,可以在 Google Search Console 或 Semrush 的 Site Audit(网站诊断)中检查临时和永久重定向。

如果你想测试一个特定的 URL,你可以使用像 httpstatus 这样的工具,它会向你显示状态代码和重定向链。还有 Redirect Checker,它将检查 HTTP 代码,以及元刷新和 JavaScript 重定向。

如果你执行站点迁移,则应在暂存环境中和测试 301 重定向,并在新站点上线后进行测试。你只需抓取 URL 并检查它们中的每一个是否 301 重定向到指定的目标 URL,这将返回 200 代码。

还应该在实施重定向后监控的 URL,以确保没有错误并且重定向继续工作。

如果你在进行网站迁移方面遇到困难,请查看我们的网站 迁移服务,了解我们如何提供帮助。

如何实现重定向?

有几种方法可以根据服务器或你使用的 CMS 实施重定向。

常见的方法包括在 Apache 或 Nginx 服务器上实现它们,或使用适用于 WordPress、Shopify 或 Magento 的插件。

如果概述的方法不适用于你,可以找到托管或 CDN 平台的指南,了解有关实施重定向的指导。他们中的大多数提供了一种简单的方法来通过其管理面板管理重定向。例如,以下是 Hostinger 的指南。

Apache

如果网站在 Apache 服务器上运行,可以通过访问服务器根文件夹中的 .htaccess 文件来实现重定向。此文件允许您对网站的详细信息进行配置,而无需更改服务器配置文件。

你可以通过使用 FTP 或文件管理器访问服务器的 public_html 目录来访问此文件。如果没有 .htaccess 文件,可以使用任何文本编辑器创建一个,将其名称设置为不带扩展名的“.htaccess”,然后将其上传到 public_html。

在对此文件进行任何更改之前,请创建它的备份。其中的任何错误都可能导致你的内容无法正确显示。

以下是你可以实施的不同重定向指令的一些常见示例。

要 301 将一个 URL 重定向到另一个 URL,请使用以下代码:

				
					Redirect 301 /old-page.html https://website/new-page.html
				
			

由于该命令驻留在该域的根服务器中,因此无需在此处包含旧页面的完整 URL。但请注意,尽管可能要重定向同一域上的页面,但必须提供目标的完整 URL。

如果要重定向具有 302 状态代码的 URL,只需将重定向更改为“重定向 302.”

如果想将整个域永久重定向到另一个域,请按照以下步骤作:

				
					Redirect 301 / https://www.newwebsite.com/
				
			

如果你的 URL 从 HTTP 更改为 HTTPS,请使用以下命令:

				
					RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
				
			

在这种情况下,首先在 .htaccess 文件中打开 RewriteEngine 模块(这是条件正常工作所必需的),然后指定条件。

还可以将旧文件路径重定向到新文件路径:

				
					Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
				
			
使用 .htaccess 文件的另一种方法是将用户重定向到自定义 404 页面。可以通过实现以下代码来实现:
				
					ErrorDocument 404 /error/pagenotfound.html
				
			

在这里,/error/pagenotfound.html 应该指向你的 404 页面的位置。

如果不确定如何在 .htaccess 文件中实现重定向以及它们是如何工作的,请查看此 Apache 教程及其 URL 重写指南

Nginx

如果服务器运行 Nginx,可以通过 添加服务器块来处理重定向请求,从而在 ‘nginx.conf’ 文件中管理重定向

此代码示例将导致重定向到新 URL:

				
					server {
    listen 80;
    listen 443 ssl;
    server_name www.old-name.com;
    return 301 $scheme://www.new-name.com$request_uri;
}
				
			

查看此指南创建 Nginx 重写规则 ,了解如何创建这些请求。

Plugins  插件

可以使用 CMS 插件,这是一种自动化重定向实施的方法,可以加快流程,尤其是在你有一个大型网站的情况下。

大多数 CMS 或电子商务平台都提供一系列重定向插件。

WordPress

以下是一些可用于 WordPress 的流行插件:

Redirection – 它将让你管理 301 重定向并跟踪站点可能存在的任何 404 错误。将它用于只有少量重定向的站点和具有数千个重定向的站点。

301 Redirects – 此插件可让你管理和创建 301、302 和 307 重定向。它还保留 404 错误的日志。如果有很多页面要重定向,此工具可让你批量重定向数千个 URL。

Safe Redirect Manager – 使用此插件,可以创建 301 和 302 重定向,尽管它不提供批量重定向的选项,因此建议用于较小的网站。

还可以考虑提供此功能的通用 SEO 插件,例如 Yoast 或 All in One SEO。

Shopify

如果使用的是 Shopify,则可以使用其中一个可用的应用程序,例如:

Easy Redirects by ESC – 此应用程序可让你管理 301 重定向和 404 错误页面,包括批量重定向。如果在平台之间迁移商店或调整网站结构或产品页面,这是一个有用的工具。

Redirectify  – 这是一个 Shopify 应用程序,可帮助查找和重定向 404 错误。

Magento

如果使用的是 Magento,则可以在 URL 重写功能中设置 301 重定向

结束语

重定向是一种保留内容已被删除或更改的页面的排名信号、流量和转化的方法。遵循上述指南是保持搜索性能的关键,因此请特别注意正确实施它们。

通过实施重定向,可以将用户从可能导致负面用户体验的错误页面中带走,并指示搜索引擎应该去哪里以及他们应该如何处理你更改的 URL。

内容创作不易,如果觉得Nat写的东西对您有一定的帮助,请不要吝啬对Nat的赞赏,谢谢!

提升网站的盈利能力

联系Nat并了解如何实现!
滚动至顶部

联系Nat

与Nat取得联系,我会在短时间内合理的规划关于建站,网站优化,及SEO推广方面的任何问题。