WordPress 404 页面处理及跳转方法

leixue WordPress优化 2019-10-08 11:43:53 阅读(...) 评论(0)

国内的搜索引擎对 404 页面的处理几乎都不及时,就像百度似乎不处理一样,那么当用户通过搜索引擎进入网站出现 404 页面其实是非常不友好的,那么最简单的办法就是直接跳转到首页,虽然方法很多,但是子凡还想来简单的分享一下我能提供的几种关于 WordPress 404 页面的跳转。

WordPress 404

以下所有方法的前提都需要是服务器能够直接将 404 交给程序处理,而不是中服务器直接判断 404 做跳转才有用,简而言之就是只有你的 WordPress 站点能够正常显示 WordPress 主题的 404 页面才能使用以下方法,如果你已经在服务器配置 404 跳转或者页面,那么直接在服务器上设置吧!

1
2
//WordPress 301 跳转到网站首页
wp_redirect(home_url(), 301);exit;

首先第一种(不推荐用),直接利用 WordPress 的 wp_redirect 函数跳转,代码里面的状态码是可以修改的,可以是 302,但是不能为 404,否则会造成死循环,这样的方式我并不推荐,因为页面状态码会不会是 404,对 Google 等支持 404 状态码判断的处理不是特别友好。

1
2
3
4
5
6
7
//直接载入首页 返回 404 状态
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include( get_query_template( 'index' ) );
die();

第二种方法,可以选择性使用,能够返回正常的 404 状态,也就是程序访问这个页面是返回的 404 状态码,而实际用户看到的则是调用的网站首页模板,URL 不会做跳转,方法也不是特别好,不是特别推荐。

1
2
3
4
5
6
7
//返回 404 状态,然后通过 html 刷新跳转到首页
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
echo '<meta http-equiv="refresh" content="0;url='.home_url().'">';
exit;

这是第三种方法,算是比较推荐的一种,给 WordPress 设置 404 状态码,并且输出 html 刷新代码跳转到网站首页,这样当程序直接访问这个 URL 是会返回 404 状态码,而如果是用户的话则会在打开的瞬间跳转到首页,因为刷新设置的 0 秒(content="0;),当然你也可以修改。

以上代码都是通过添加到当前 WordPress 主题的 404.php 文件的顶部

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-404.html

发表评论

登录 后参与评论