国内的搜索引擎对 404 页面的处理几乎都不及时,就像百度似乎不处理一样,那么当用户通过搜索引擎进入网站出现 404 页面其实是非常不友好的,那么最简单的办法就是直接跳转到首页,虽然方法很多,但是子凡还想来简单的分享一下我能提供的几种关于 WordPress 404 页面的跳转。
以下所有方法的前提都需要是服务器能够直接将 404 交给程序处理,而不是中服务器直接判断 404 做跳转才有用,简而言之就是只有你的 WordPress 站点能够正常显示 WordPress 主题的 404 页面才能使用以下方法,如果你已经在服务器配置 404 跳转或者页面,那么直接在服务器上设置吧!
12
//WordPress 301 跳转到网站首页wp_redirect(home_url(), 301);exit;
首先第一种(不推荐用),直接利用 WordPress 的 wp_redirect 函数跳转,代码里面的状态码是可以修改的,可以是 302,但是不能为 404,否则会造成死循环,这样的方式我并不推荐,因为页面状态码会不会是 404,对 Google 等支持 404 状态码判断的处理不是特别友好。
1234567
//直接载入首页 返回 404 状态global $wp_query;$wp_query->set_404();status_header(404);nocache_headers();include( get_query_template( 'index' ) );die();
第二种方法,可以选择性使用,能够返回正常的 404 状态,也就是程序访问这个页面是返回的 404 状态码,而实际用户看到的则是调用的网站首页模板,URL 不会做跳转,方法也不是特别好,不是特别推荐。
1234567
//返回 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 文件的顶部