菜鸟科技网

WordPress如何正确设置301跳转?

下面我将从最推荐到最不推荐的顺序,为你详细介绍几种在 WordPress 中实现 301 跳转的方法。

WordPress如何正确设置301跳转?-图1
(图片来源网络,侵删)

使用 SEO 插件(最推荐、最简单)

对于绝大多数用户,尤其是新手来说,使用 SEO 插件是最佳选择,它简单、直观,且功能强大,无需编写代码。

推荐插件:

  1. Yoast SEO:最流行的 WordPress SEO 插件,自带强大的重定向管理功能。
  2. Redirection:专门用于管理重定向的轻量级插件,功能非常专注和强大。

Yoast SEO 为例:

  1. 安装并激活插件:在 WordPress 后台“插件” -> “安装插件”,搜索“Yoast SEO”并安装激活。

  2. 设置重定向

    • 安装激活后,进入 WordPress 后台的 SEO -> 工具 -> 重定向
    • 在“旧 URL”输入框中填入你想要跳转的旧地址https://www.old-site.com/old-post)。
    • 在“新 URL”输入框中填入你想要跳转到的新地址https://www.new-site.com/new-post)。
    • 确保“类型”选择为 301 (永久)
    • 点击“添加重定向”按钮。
  3. 管理重定向:你可以在这里查看、编辑或删除所有已设置的重定向,插件还会自动记录 404(页面未找到)错误,方便你找到需要跳转的旧链接。

    WordPress如何正确设置301跳转?-图2
    (图片来源网络,侵删)

Redirection 插件为例:

  1. 安装并激活插件:搜索并安装“Redirection”。
  2. 设置重定向
    • 进入后台的 工具 -> Redirection
    • 点击顶部的 “Add New” 按钮。
    • Source URL (源 URL) 中输入旧地址。
    • Target URL (目标 URL) 中输入新地址。
    • 确保 Match (匹配) 和 Action (动作) 设置正确(通常保持默认即可)。
    • 点击 “Add Redirect” (添加重定向)。

优点

  • 无需代码:图形化界面,操作简单。
  • 管理方便:可以轻松管理所有重定向,查看跳转日志。
  • 功能强大:支持正则表达式、通配符等高级匹配。
  • 自动重定向:有些插件(如 Redirection)甚至可以在检测到 404 错误后,提示你创建重定向。

缺点

  • 需要额外安装一个插件。

使用 .htaccess 文件(适合高级用户)

如果你的网站使用的是 Apache 服务器(Linux 主机),你可以直接编辑网站根目录下的 .htaccess 文件来实现跳转,这是服务器级别的重定向,效率很高。

操作步骤

  1. 通过 FTP 或文件管理器连接你的网站
  2. 找到 WordPress 根目录下的 .htaccess 文件。
  3. 下载备份:在修改之前,务必备份这个文件!
  4. 编辑文件:使用文本编辑器(如 VS Code, Sublime Text, 或服务器自带的文件管理器编辑器)打开 .htaccess 文件。

常用 301 跳转代码示例:

示例 1:将整个旧域名永久重定向到新域名

# 将 old-site.com 重定向到 new-site.com
# 包括 http 和 https,以及带 www 和不带 www 的情况
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.com [NC]
RewriteRule ^(.*)$ https://www.new-site.com/$1 [L,R=301]

示例 2:将单个旧页面重定向到新页面

# 将 /old-post/ 重定向到 /new-post/
RewriteEngine On
RewriteRule ^old-post/?$ https://www.your-site.com/new-post/ [L,R=301]

示例 3:将整个旧目录重定向到新目录

# 将 /old-category/ 下的所有内容重定向到 /new-category/
RewriteEngine On
RewriteRule ^old-category/(.*)$ https://www.your-site.com/new-category/$1 [L,R=301]

代码解释

  • RewriteEngine On:开启重写引擎。
  • RewriteCond:重定向的条件(当主机是 old-site.com 时)。
  • RewriteRule:重定向的规则(将请求的路径 捕获并放到新路径的 $1 位置)。
  • [L,R=301]L 表示 Last Rule(如果匹配到此规则,则停止后续规则);R=301 表示执行 301 永久重定向。

优点

  • 性能高:直接在服务器层处理,比 WordPress 插件更快。
  • 灵活:可以实现非常复杂的重定向逻辑。
  • 不依赖 WordPress:即使网站出问题,重定向依然有效。

缺点

  • 需要技术知识:需要了解正则表达式和服务器配置。
  • 有风险:错误的代码可能导致网站无法访问。
  • 每次修改都需要手动上传文件

使用 PHP 代码(主题的 functions.php 文件)

这种方法将重定向逻辑直接写入你的主题文件中,适合不想安装插件,且对 PHP 有一定了解的用户。

操作步骤

  1. 通过 FTP 或文件管理器连接你的网站
  2. 进入 wp-content/themes/你的主题文件夹/ 目录。
  3. 找到 functions.php 文件。
  4. 下载备份:同样,先备份这个文件!
  5. 在文件末尾添加以下代码

示例 1:将单个页面重定向

// 将旧页面 /old-page/ 永久重定向到 /new-page/
add_action('template_redirect', 'my_custom_301_redirect');
function my_custom_301_redirect() {
    if ( is_page('old-page') ) { // 'old-page' 是旧页面的 slug 或 ID
        wp_redirect('https://www.your-site.com/new-page/', 301);
        exit();
    }
}

示例 2:将整个旧域名重定向到新域名 注意:这种方法不如 .htaccess 高效,因为每次页面加载都会执行 PHP 代码。

add_action('template_redirect', 'my_domain_redirect');
function my_domain_redirect() {
    if ( $_SERVER['HTTP_HOST'] == 'old-site.com' || $_SERVER['HTTP_HOST'] == 'www.old-site.com' ) {
        wp_redirect('https://www.new-site.com' . $_SERVER['REQUEST_URI'], 301);
        exit();
    }
}

优点

  • 无需插件:保持网站整洁。
  • 与主题集成:可以基于 WordPress 的条件标签(如 is_page(), is_category())进行更精细的控制。

缺点

  • 性能较差:每次页面请求都会执行 PHP 代码,增加服务器负担。
  • 有风险:错误的 PHP 代码会导致网站“白屏”(Fatal Error)。
  • 切换主题会失效:代码绑定在特定主题的 functions.php 中,如果更换主题,重定向就会消失。

使用主机控制面板(如 cPanel)

很多虚拟主机服务商(如 Bluehost, SiteGround, cPanel 主机)都提供了在控制面板中设置重定向的功能。

操作步骤(以 cPanel 为例)

  1. 登录你的 cPanel 控制面板。
  2. 在“域名”部分,找到并点击 “重定向” (Redirects) 图标。
  3. 在“类型”中选择 “永久 (301)”
  4. 在“重定向”中输入你想要重定向的旧路径(/old-post)。
  5. 在“指向”中输入你想要跳转到的完整新 URL(https://www.your-site.com/new-post)。
  6. 点击“添加”按钮。

优点

  • 图形化界面:比手动编辑 .htaccess 文件更安全。
  • 服务器级别:性能和 .htaccess 方法一样好。

缺点

  • 依赖主机:只有你的主机服务商提供此功能时才能使用。
  • 管理不便:如果重定向数量很多,管理起来可能没有插件方便。

总结与选择建议

方法 优点 缺点 适用场景
SEO 插件 简单、直观、管理方便、功能强大 需要安装插件 绝大多数用户,特别是新手和需要管理大量重定向的用户。
.htaccess 文件 性能高、灵活、不依赖 WordPress 需要技术知识、有风险、需手动操作 高级用户、服务器管理员、需要极致性能或复杂重定向逻辑。
PHP 代码 无需插件、可与主题深度集成 性能较差、有风险、切换主题失效 不想用插件,且重定向逻辑简单且固定的开发者。
主机控制面板 图形化界面、服务器级别性能 依赖主机、管理不便不便 使用 cPanel 等主流控制面板,且只需要设置少量重定向的用户。

最终建议

  • 如果你是普通用户:直接使用 Yoast SEORedirection 插件,这是最省心、最安全的选择。
  • 如果你是开发者或技术爱好者:对于网站级别的域名重定向,使用 .htaccess 方法;对于需要基于 WordPress 条件的少量重定向,可以考虑 PHP 代码 方法。
  • 如果你只是临时需要一个简单的重定向:检查你的主机是否提供 控制面板 功能,也可以快速搞定。
分享:
扫描分享到社交APP
上一篇
下一篇