如何像专业人士一样执行 301 重定向

已发表: 2023-10-10

假设您要将网站从一个 URL(统一资源定位器)移动到另一个 URL。 点击上一个链接的访问者会发生什么? 他们会遇到错误,直到您使用 301 重定向来确保他们到达正确的网页。 本博客将讨论您需要了解的有关 301 重定向以及如何执行此操作的所有信息。

什么是 301 重定向?

301 重定向是一种 HTTP 状态代码,表示从一个 URL 永久重定向到另一个 URL。 实施后,它会通知用户和搜索引擎原始 URL 已永久移动到新位置。 此过程可确保访问旧 URL 的访问者自动重定向到新 URL,从而保持无缝的浏览体验。

当用户或搜索引擎机器人尝试访问 URL 时,Web 服务器会检查所请求页面上是否有 301 重定向。 如果存在此类重定向,服务器会返回 301 状态代码和新 URL 的位置。 然后,用户的浏览器会自动导航到新的 URL,从而避免可怕的“404 Not Found”错误并消除任何潜在的损坏链接。

301重定向的重要性

301重定向是一种永久重定向工具,可以有效地将SEO价值从旧URL转移到新URL,确保搜索引擎排名在网站重组或迁移期间不受影响。 此外,301 重定向通过消除损坏的链接和错误页面、为访问者提供对所需内容的无缝访问并降低跳出率来显着增强用户体验。 网站所有者可以通过实施这些重定向来维护其在线信誉、保留自然流量并促进积极的用户旅程。

什么时候应该使用 301 重定向?

当您想要将用户和搜索引擎从一个 URL 永久重定向到另一个 URL 时,使用 301 重定向适用于各种场景。 以下是一些应使用 301 重定向的特定情况:

网站重组:在网站结构发生重大变化(例如更新 URL 模式、删除或合并页面或更改网站架构)期间,实施 301 重定向至关重要。 这可确保用户和搜索引擎无缝重定向到新 URL,从而保留 SEO 价值并防止链接损坏。

更改域名:如果您决定将网站移至新域,无论是由于品牌重塑还是其他原因,301 重定向都是必不可少的。 此永久重定向将通知搜索引擎您的网站已移至新位置,并帮助维持您的排名和自然流量。

WWW 和非 WWW 版本:为了避免重复内容问题,选择您希望您的网站使用“www”版本还是“非 www”版本至关重要。 实施从一个版本到另一版本的 301 重定向可确保所有流量都定向到首选版本,从而巩固您网站的权威。

HTTP 到 HTTPS 迁移:通过从 HTTP 迁移到 HTTPS 来升级网站的安全性时,需要 301 重定向来通知搜索引擎和用户网站已永久迁移到安全版本。 这种转变有助于维持搜索排名并在用户之间灌输信任。

规范化:要处理多个 URL 指向相同或相似内容的重复内容问题,您可以使用 301 重定向来设置规范 URL。 这向搜索引擎发出信号,表明您希望对哪个版本的页面进行索引和排名。

修复失效链接:如果您的网站存在导致 404 错误页面的失效链接,则实施从旧失效 URL 到相关活动页面的 301 重定向可确保流畅的用户体验并保留链接资产。

巩固反向链接:如果您有多个包含相关内容的页面,但更喜欢将其 SEO 价值集中在单个页面上,则使用从不太重要的页面到主页面的 301 重定向可以帮助巩固反向链接权限。

如何进行301重定向?

301 重定向的过程取决于您的 CMS、服务器和情况。 以下是详细的分步指南,可帮助您根据不同因素进行 301 重定向。

如何使用重定向插件在 WordPress CMS 上执行 301 重定向

您可以使用 .htaccess 文件中的手动代码编辑或 WordPress 插件在 WordPress 中设置 301 重定向。 以下是使用流行的重定向插件的方法:

  1. 转到 WordPress 仪表板,导航至“插件”>“添加新插件”,搜索“重定向”,单击“立即安装”,然后单击“激活”。
  2. 激活后,您可以在“工具”>“重定向”下找到插件设置。
  3. 在重定向仪表板中,找到“添加新重定向”部分。 在“源 URL”字段中输入旧 URL,在“目标 URL”字段中输入新 URL。 从“操作”下拉菜单中选择“301 - 永久”。
  4. 单击“添加重定向”按钮保存 301 重定向。

如何在 Shopify 上进行 301 重定向

在 Shopify 上,您可以使用以下步骤设置 301 重定向:

  1. 登录到您的 Shopify 管理仪表板。
  2. 在左侧边栏中,单击“在线商店”和“导航”。
  3. 向下滚动到“URL 重定向”部分,然后单击“添加 URL 重定向”。
  4. 在“重定向自”字段中,输入旧 URL(您要从中重定向的 URL),然后在“重定向至”字段中,输入新 URL(您要重定向到的 URL)。 选中“通过 301 永久移动进行重定向”复选框。
  5. 单击“保存”以应用 301 重定向。

如何在 Magento 商店上进行 301 重定向

要在 Magento 商店上设置 301 重定向,您可以使用该平台的内置功能:

  1. 登录到您的 Magento 管理面板。
  2. 导航至“营销”>“SEO 和搜索”>“URL 重写”。
  3. 单击“添加 URL 重写”按钮。
  4. 在“创建 URL 重写”部分中,从“创建 URL 重写”下拉菜单中设置“自定义”。 从“重定向类型”下拉列表中选择“永久 (301)”。
  5. 在“请求路径”字段中输入旧 URL,然后在“目标路径”字段中输入新 URL。
  6. 单击“保存”按钮创建 301 重定向。

如何在 Bigcommerce 上进行 301 重定向

在 BigCommerce 中,您可以使用以下步骤创建 301 重定向:

  1. 登录您的 BigCommerce 管理仪表板。
  2. 在左侧边栏中,单击“店面”和“URL 重定向”。
  3. 单击“创建重定向”按钮。
  4. 在“旧 URL”字段中,输入旧 URL(您要从中重定向的 URL),然后在“新 URL”字段中,输入新 URL(您要重定向到的 URL)。 从“类型”下拉列表中选择“301 - 永久移动”。
  5. 单击“保存”按钮应用 301 重定向。

Apache 服务器上的 301 重定向

在 Apache Web 服务器上,您可以使用“.htaccess”文件设置 301 重定向,该文件允许您控制 URL 重定向和操作。 此外,请确保您已启用 Apache 中的“mod_rewrite”模块以使代码正常工作。 以下是如何在 Apache 服务器上执行各种类型的 301 重定向的示例:

重定向单个页面

要重定向单个页面,您可以在“.htaccess”文件中使用以下代码:

重定向 301 /old-page.html http://example.com/new-page.html

这是 Apache 服务器上单个页面的 301 重定向代码。

将整个域重定向到另一个域

要将整个域重定向到新域,请使用以下代码:

重定向 301 / http://newdomain.com/

这是 301 重定向代码,用于重定向 Apache 服务器上的整个域。

将子文件夹重定向到不同的域

要将子文件夹重定向到不同的域,请使用以下代码:

重定向 301 /子文件夹 http://newdomain.com/

这是 301 重定向代码,用于将子文件夹重定向到 Apache 服务器上的不同域

将整个站点重定向到子文件夹

要将整个站点重定向到子文件夹,请使用以下代码:

RedirectMatch 301 ^/$ /子文件夹/

这是 301 重定向代码,用于将整个站点重定向到 Apache 服务器上的子文件夹

URL 更改后重定向站点目录。

要在 URL 更改后重定向特定目录,请使用以下代码:

重定向 301 /old-directory/ http://example.com/new-directory/

这是 301 重定向代码,用于在 Apache 服务器上的 URL 更改后重定向站点目录

从非 www 重定向到 www

要将来自非 www URL 的请求重定向到 www 版本,请使用以下代码:

重写引擎开启

RewriteCond %{HTTP_HOST} !^www\. [NC]

重写规则 ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

这是 301 重定向代码,用于将来自非 www URL 的请求重定向到 Apache 服务器上的 www 版本

从 HTTP 重定向到 HTTPS

要将 HTTP 请求重定向到安全 HTTPS 版本,请使用以下代码:

重写引擎开启

RewriteCond %{HTTPS} 已关闭

重写规则 ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

这是 301 重定向代码,用于将 HTTP 请求重定向到 Apache 服务器上的安全 HTTPS 版本

重定向到尾部斜杠 URL

要向没有尾部斜杠的 URL 添加尾部斜杠,请使用以下代码:

重写引擎开启

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

重写规则 ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]

这是 301 重定向代码,用于向 Apache 服务器上没有尾部斜杠的 URL 添加尾部斜杠

Nginx 上的 301 重定向

在 Nginx Web 服务器上,您可以使用 Nginx 配置文件中的服务器块配置来设置 301 重定向。 下面是如何在 Nginx 上执行各种类型的 301 重定向的示例:

从非 www 重定向到 www

要将来自非 www URL 的请求重定向到 www 版本,请在服务器块内使用以下代码:

服务器 {

服务器名称 example.com;

返回 301 $scheme://www.example.com$request_uri;

}

这是 301 重定向代码,用于将来自非 www URL 的请求重定向到 Nginx 服务器上的 www 版本

从 HTTP 重定向到 HTTPS

要将 HTTP 请求重定向到安全 HTTPS 版本,请在服务器块内使用以下代码:

服务器 {

听80;

服务器名称 example.com;

返回 301 https://$host$request_uri;

}

这是 301 重定向代码,用于将 HTTP 请求重定向到 Nginx 服务器上的安全 HTTPS 版本

将整个域重定向到另一个域。

要将整个域重定向到新域,请在服务器块中使用以下代码:

服务器 {

服务器名称olddomain.com;

返回 301 http://newdomain.com$request_uri;

}

这是在 Nginx 服务器上重定向整个域的代码

重定向单个页面

要重定向单个页面,请在服务器块内使用“location”指令和“return”指令:

服务器 {

服务器名称 example.com;

位置/old-page.html {

返回 301 http://example.com/new-page.html;

}

# 其余配置...

}

这是在 Nginx 服务器上重定向单个页面的代码

Windows 服务器上的 301 重定向

在使用 IIS(Internet 信息服务)的 Windows Server 上,您可以使用“URL 重写”模块设置 301 重定向。 以下是如何在具有 IIS 的 Windows Server 上执行各种类型的 301 重定向的示例:

重定向单个页面

请按照以下步骤重定向单个页面:

  1. 在 Windows 服务器上打开 IIS 管理器。
  2. 在左侧的连接窗格中选择您的网站。
  3. 在功能视图中,双击“URL 重写”。
  4. 单击右侧操作窗格中的“添加规则”。
  5. 选择“入站规则”类别下的“空白规则”,然后单击“确定”。
  6. 在匹配 URL 部分:
  1. 将“请求的 URL”设置为“匹配模式”。
  2. 在“Pattern”字段中输入您要重定向的旧页面的具体路径(例如“old-page.html”)。
  1. 在操作部分:
  1. 将“操作类型”设置为“重定向”。
  2. 在“重定向 URL”字段中输入要重定向到的新页面的完整 URL(例如“http://example.com/new-page.html”)。
  3. 将“重定向类型”设置为“永久 (301)”。
  1. 单击“应用”保存重定向规则。

将整个域重定向到另一个域

请按照以下步骤将旧域重定向到新域:

  1. 在 Windows 服务器上打开 IIS 管理器。
  2. 在左侧的连接窗格中选择您的网站。
  3. 在功能视图中,双击“URL 重写”。
  4. 单击右侧操作窗格中的“添加规则”。
  5. 选择“入站规则”类别下的“空白规则”,然后单击“确定”。
  6. 在匹配 URL 部分:
  1. 将“请求的 URL”设置为“匹配模式”。
  2. 在“模式”字段中输入“(.*)”以匹配域上的任何 URL。
  1. 在操作部分:
  1. 将“操作类型”设置为“重定向”。
  2. 在“重定向 URL”字段中输入您要重定向到的新域的完整 URL(例如“http://newdomain.com{R:1}”)。
  3. 将“重定向类型”设置为“永久 (301)”。
  1. 单击“应用”保存重定向规则。

从 HTTP 重定向到 HTTPS

以下是从 HTTP 重定向到 HTTPS 的最佳方法:

  1. 在 Windows 服务器上打开 IIS 管理器。
  2. 在左侧的连接窗格中选择您的网站。
  3. 在功能视图中,双击“URL 重写”。
  4. 单击右侧操作窗格中的“添加规则”。
  5. 选择“入站规则”类别下的“空白规则”,然后单击“确定”。
  6. 在匹配 URL 部分:
  1. 将“请求的 URL”设置为“匹配模式”。
  2. 在“模式”字段中输入“(.*)”以匹配域上的任何 URL。
  1. 在条件部分:
  1. 单击“添加”以添加新条件。
  2. 将“条件输入”设置为“{HTTPS}”,将“检查输入字符串”设置为“匹配模式”。
  3. 在“Pattern”字段中输入“off”以匹配 HTTP 请求。
  1. 在操作部分:
  1. 将“操作类型”设置为“重定向”。
  2. 在“重定向 URL”字段中输入“https://{HTTP_HOST}/{R:1}”以重定向到 HTTPS 版本。
  3. 将“重定向类型”设置为“永久 (301)”。
  1. 单击“应用”保存重定向规则。

从非 www 重定向到 www

请按照以下步骤从非 www 重定向到 www:

  1. 在 Windows 服务器上打开 IIS 管理器。
  2. 在左侧的连接窗格中选择您的网站。
  3. 在功能视图中,双击“URL 重写”。
  4. 单击右侧操作窗格中的“添加规则”。
  5. 选择“入站规则”类别下的“空白规则”,然后单击“确定”。
  6. 在匹配 URL 部分:
  1. 将“请求的 URL”设置为“匹配模式”。
  2. 在“模式”字段中输入“(.*)”以匹配域上的任何 URL。
  1. 在条件部分:
  1. 单击“添加”以添加新条件。
  2. 将“条件输入”设置为“{HTTP_HOST}”,将“模式”设置为不带“www”的域(例如“example.com”)。
  1. 在操作部分:
  1. 将“操作类型”设置为“重定向”。
  2. 在“重定向 URL”字段中输入“http://www.{HTTP_HOST}/{R:1}”以重定向到域的“www”版本。
  3. 将“重定向类型”设置为“永久 (301)”。
  1. 单击“应用”保存重定向规则。

请务必测试您的重定向以确保它们按预期工作。 您可以使用 Scalenut 的免费重定向检查器来验证其功能。

301 重定向与 302 重定向之间的区别

301 重定向是永久重定向,表示原始 URL 已永久移动到新位置。 它将 SEO 价值转移到新的 URL 并告诉搜索引擎更新其索引。 另一方面,302重定向是一种临时重定向,它通知搜索引擎原始URL已暂时移动,并且该更改不是永久性的。 它不会转移SEO价值并提示搜索引擎保留原始URL索引。

301重定向错误以避免更好的SEO

以下是您应该避免的一些错误:

在域和子域的版本之间设置 302 重定向

在域和子域版本之间设置 302 重定向可能会混淆搜索引擎,导致它们将两个版本视为单独的实体,从而削弱 SEO 权威。

将链接重定向到过时的内容或博客

将重定向链接指向过时的内容或博客可能会导致用户体验不佳并降低可信度,因为访问者可能找不到他们期望的相关信息。 这也可能会影响您在 Google 搜索结果中的排名。

重定向与目标页面意图不同的页面

重定向与目标页面意图不同的页面可能会误导用户和搜索引擎,可能导致排名下降和跳出率增加。

在内容迁移期间使用 302 重定向

在内容迁移期间使用 302 重定向可能会阻止搜索引擎将移动识别为永久性的,从而对 SEO 和流量产生负面影响。

创建新页面后设置 301 重定向

创建新页面后设置 301 重定向是不必要且浪费的。 它在重定向过程中添加了一个额外的步骤,可以通过直接链接到新页面来避免。

使用重定向而不是更新损坏的内部链接

使用重定向而不是更新损坏的内部链接可能会导致未解决的 404 错误,影响用户体验并导致搜索引擎降低网站价值。

在没有正确设置的情况下使用 JavaScript 进行重定向

在没有正确设置的情况下使用 JavaScript 进行重定向可能会导致搜索引擎无法遵循重定向,从而导致错过索引机会和潜在的 SEO 问题。

允许页面404

允许页面在没有正确重定向或有意义的错误页面的情况下返回 404 错误会导致糟糕的用户体验。 它会浪费抓取预算并失去潜在流量,从而对搜索引擎优化产生负面影响。

另外,建议使用 301 重定向检查工具来确保您的重定向有效。

结论

当搜索引擎对页面进行索引时,它会分配某些排名因素,例如反向链接、权限和相关性。 同样,用户可以为他们喜欢的内容添加书签或链接。 通过实施 301 重定向,您可以确保所有这些 SEO 信号和用户都传递到新 URL,从而帮助维持或提高搜索排名。 我们希望本指南为您提供最简单的方法。

了解 Scalenut(一个人工智能驱动的 SEO 和内容营销平台)如何简化为受众查找和创建相关内容的过程。 从内容策略集思广益到生成全面的简报和优化 SEO,Scalenut 简化了每一步。 免费注册并探索该工具提供的众多功能。

常见问题解答

301重定向在浏览器上需要多长时间才能生效?

301 重定向在浏览器上生效所需的时间通常是瞬时的或需要几毫秒。 浏览器快速按照重定向指令加载新的URL,减少对用户体验的影响。

我的主页和其他网页可以连续使用多少个 301 重定向?

对于您的主页或其他网页可以连续使用多少个 301 重定向,没有具体限制。 但是,过多的重定向可能会导致性能问题并影响页面加载时间,因此最好将重定向数量保持在最低限度,以获得最佳网站性能。

实施 301 重定向后,有什么方法可以跟踪我的网站在 Google 上的关键字排名吗?

实施 301 重定向后,您可以使用各种 SEO 工具(例如 Google Search Console、SEMrush 或 Ahrefs)跟踪您网站在 Google 上的关键字排名。 这些工具允许您监控关键字排名、自然流量和其他 SEO 指标,以评估重定向对网站性能的影响。

什么是服务器端 301 重定向?

服务器端 301 重定向是一种在服务器级别实现的重定向,而不是通过客户端代码实现。 它涉及配置服务器以将 301 状态代码和新 URL 发送到用户的浏览器,以确保无缝且永久的重定向。

如何通过 PHP 在 HTML 中添加 301 重定向?

要通过 PHP 在 HTML 中添加 301 重定向,可以使用 PHP 中的“header()”函数向浏览器发送适当的 HTTP 状态代码和重定向位置。 例如,要从“old-page.html”重定向到“new-page.html”,您可以使用: header("HTTP/1.1 301 Moved Permanently"); 标题(“位置:http://example.com/new-page.html”); 出口;