WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress怎么设置重定向?

查看 WP集市 的更多文章WP集市 2025-08-21 【WordPress教程】 1513人已围观

咱做网站的,谁还没遇到过“链接换了,老访问量全丢了”的情况?比如换域名、改文章URL,或者页面搬家,这时候“重定向”就是救命稻草——简单说就是“你访问A页面,系统自动把你拽到B页面”,跟你去老面馆发现搬家了,门口贴个条“新地址在XX巷”一个意思。今天咱就掰扯掰扯,WordPress咋设置重定向,新手也能看懂的那种。

先唠明白:重定向分哪几种?用哪个?

别一上来就瞎操作,先搞懂基本款。常用的就俩:301永久重定向302临时重定向

  • 301:告诉浏览器和搜索引擎“这页面彻底搬家了,以后都去新地址”,适合换域名、永久改链接,SEO权重能继承,靠谱!
  • 302:“临时去那边待几天,过阵子可能回来”,比如网站维护时临时跳转,别乱用,不然搜索引擎会懵圈——“你到底搬不搬?”

记住:非特殊情况,无脑选301!除非你只是临时跳转,比如搞活动临时换个落地页,那用302。

方法一:插件法(新手首选,点点鼠标就完事)

新手别折腾代码,插件就是为懒人准备的!推荐Redirection, WordPress官方插件,几千万人在用,跟老司机开车一样稳。

步骤贼简单:

  1. 后台“插件”→“安装插件”,搜“Redirection”,安装激活(跟装微信似的,下一步下一步)。
  2. 激活后点左侧“工具”→“Redirection”,第一次用会让你设置,直接点“Start Setup”(开始设置),一路默认就行,它会自动备份你的链接变化,贴心!
  3. 到“Add new redirection”(添加新重定向)区域:
    • Source URL(源URL):填旧链接,比如/old-page(注意别带域名,就填后面的路径);
    • Target URL(目标URL):填新链接,比如https://你的域名/new-page(这里得带全域名,别偷懒);
    • Type(类型):选“301 - Permanent Move”(永久移动)。
  4. 点“Add Redirect”,搞定!

对了,插件虽好,但别贪多!有的花里胡哨的重定向插件,功能没多强,还跟主题插件打架,比女朋友生气时哄人还费劲。Redirection这种老牌的,够用了,听我的。

方法二:代码法(适合有点基础的,灵活!)

插件是方便,但懂点代码更自由——比如你想批量重定向,或者服务器不支持插件(虽然少见),就得靠代码。分两种:改.htaccess文件,或改functions.php文件。

先提醒:改代码前,一定备份!备份!备份!

重要的事说三遍,不然改错了网站打不开,你哭都来不及。就像拆家电前先断电,稳!

1. .htaccess文件:服务器级重定向,快!

.htaccess是Apache服务器的配置文件,在你网站根目录(跟wp-config.php一个文件夹),用FTP工具(比如FileZilla)或主机面板的“文件管理器”就能找到。

举例1:整个网站换域名,301重定向所有页面
.htaccess里加这段(记得把olddomain.comnewdomain.com换成你的域名):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ https://www.newdomain.com/$1 [L,R=301]
</IfModule>

解释下:RewriteEngine On是打开重定向功能,RewriteCond是条件(“如果访问的是旧域名”),RewriteRule是规则(“把所有页面转到新域名”)。

举例2:单个页面重定向
比如旧链接是https://你的域名/old-article,想转到https://你的域名/new-article,加这段:

Redirect 301 /old-article https://你的域名/new-article

听我的,改.htaccess前,先把原文件复制一份存电脑,出事了粘贴回去,稳得一批。

2. functions.php文件:WordPress主题级重定向,灵活!

如果你用的是子主题(必须用子主题!别改父主题,不然主题一更新,代码全没了,白忙活),可以在子主题的functions.php里写代码。

wp_redirect()函数就行,举例:把旧页面https://你的域名/contact-old重定向到新页面https://你的域名/contact

function custom_page_redirect() {
    // 判断是否访问旧页面('contact-old'是页面的slug,就是URL里的那串英文)
    if (is_page('contact-old')) { 
        // 重定向到新页面,301是状态码
        wp_redirect('https://你的域名/contact', 301); 
        exit; // 必须加!不然WordPress可能继续加载旧页面,相当于门没关严
    }
}
// 挂载到WordPress的页面加载钩子上
add_action('template_redirect', 'custom_page_redirect');

这里重点说下exit;——这就像你出门前关门,都重定向了,旧页面就别加载了,不然用户可能看到旧页面一闪而过,体验差。

踩坑提醒:这些细节别忽略!

  1. 清缓存!清缓存!清缓存!
    刚设置完重定向,自己访问旧链接发现没跳转?别急着骂娘,先清浏览器缓存(按Ctrl+Shift+Delete),或者用“无痕模式”访问——浏览器有时候会记仇,缓存没清,它还按老记忆走。

  2. 别用前端重定向(比如meta标签)
    有人图省事,在旧页面加<meta http-equiv="refresh" content="0;url=https://新页面">,这叫“前端重定向”。但搜索引擎不认啊!就像你搬家只在朋友圈说一声,物业(搜索引擎)不知道,邮件(流量)还是寄到老地址,白搭。

  3. 批量重定向?用插件或正则!
    如果改了很多链接(比如把/blog/xxx改成/articles/xxx),一个个手动加太累。插件的话,Redirection支持“正则表达式”(比如用^/blog/(.*)$匹配所有/blog/开头的页面,转到/articles/$1);代码的话,.htaccess也能用正则,具体可以搜“htaccess正则重定向”,不难。

总结一下:

新手选插件(Redirection),点点鼠标搞定;有点基础的用.htaccess(快)或functions.php(灵活);不管用啥,记得备份、清缓存、选301。重定向这事儿,说难不难,说简单也别马虎,毕竟关系到用户体验和SEO,搞明白了,网站流量稳稳的!

行了,就唠到这儿,快去试试吧,有问题评论区喊我~

Tags:

WordPress模板插件定制