
您听说过301重定向吗?如果您正在运营WordPress网站,可以通过短代码来实现这一点,我将整理出使用301重定向短代码实现的方法。
301重定向短代码是什么?
在我们运营网站时,有时用户可能会打开某个特定页面,但该页面可能不再存在。从搜索引擎的角度来看,如果这种情况频繁发生,网站的信任度可能会降低。
在这种情况下,使用301重定向可以自动将访客引导到其他页面。301重定向是指告知访客(搜索引擎)当前访问的URL内容已移至其他URL,并将其连接到更改后的URL页面。这样可以改善用户体验,并有助于搜索引擎优化(SEO)。
为什么需要301重定向短代码?
让我们更深入地探讨一下301重定向短代码的必要性。网站管理员设置重定向的原因如下:
- 页面删除:当删除不再使用的页面时,可以将用户引导到主页或其他有用的页面。
- URL更改:当更改网站结构或URL时,即使访问旧URL,也可以自动跳转到新URL。
- SEO优化:防止用户在寻找不存在的页面时出现404错误,从而提高网站的信任度并提升SEO分数。
如何编写301重定向短代码
现在让我们编写可以实现301重定向的短代码。以下代码是一个示例:
add_action( 'template_redirect', function () {
$request_uri = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
$request_uri = trim( $request_uri, '/' );
$blocked_paths = [
'login',
'sample-page',
];
if ( in_array( $request_uri, $blocked_paths, true ) ) {
wp_redirect( home_url( '/' ), 301 );
exit;
}
} );
代码说明
这段代码非常简单。它检查用户请求的URI,如果该URI是被阻止的路径(记录在$blocked_path中的路径)之一,则将用户301重定向到主页。在这里,将路径添加到’blocked_paths’变量中,最好加上注释以便于后续管理。
template_redirect
add_action( ‘template_redirect‘, function () {..} 是函数的开始。
template_redirect
是WordPress在加载模板文件之前执行的动作钩子(action hook)。’动作钩子’隐藏在WordPress源代码的各个地方,以便于开发者为网站添加所需的功能。- 也就是说,当用户访问某个URL时,WordPress决定适当的模板(
single.php
,page.php
,archive.php
,404.php
等),并在加载该文件之前发生的时刻。 - 在这个时刻,function() { … }中编写的函数会被执行。
- template_redirect动作钩子在WordPress页面打开时内部执行的函数列表中执行的时机如下所示。
index.php
-> wp-blog-header.php
-> wp-load.php
-> wp-config.php
...
-> wp()
-> $wp->main()
-> parse_request()
-> query_posts()
-> handle_404()
-> template_redirect() //← 就在这里!
-> load_template()
您也可以将add_action()内使用的回调函数分离,并按如下方式编写代码。
function my_custom_redirect_logic() {
// 重定向逻辑
}
add_action( 'template_redirect', 'my_custom_redirect_logic' );
功能详情
$_SERVER['REQUEST_URI']
获取请求的路径,去掉斜杠(/
)后进行检查。- 当尝试访问名为’login’或’sample-page’的页面时,此短代码会自动将用户重定向到主页。通过这种方式,可以为用户提供更好的体验,提升网站的使用率。
template_redirect
钩子在主题模板加载之前运行,因此适合拦截页面处理。
使用方法
- 将上述代码直接添加到当前使用的主题文件夹中的functions.php中。
- 将’login’,’sample-page’部分更改为实际需要的URL,或进行添加。
注意事项
- 如果希望不区分URL的大小写,可以使用
strtolower()
。 - 即使包含查询字符串,也会忽略,只识别路径(例如:
/login?redirect=true
→/
)。 wp_safe_redirect()
也可以使用,但由于只能重定向到相同域名,因此在这里使用wp_redirect()
更合适。- wp_redirect()是执行重定向的WordPress提供的基本函数。
实际使用案例
使用这些301重定向短代码的情况是多种多样的。例如,有时网站会进行更新,或在停止某项服务时,之前使用的页面将不再可用。这时,如果设置了301重定向,即使用户点击错误的页面,也不会迷失方向,而是能获取到其他有用的信息。
总结
301重定向短代码在提升用户体验和对SEO产生积极影响方面发挥着重要作用。网站管理员通过这些短代码可以更系统地管理页面,并避免不必要的404错误,因此强烈建议您加以利用。
如果您使用像Rank Math这样的SEO插件,也可以利用它们。(相关内容将另行整理)
[SEO] : 搜索引擎优化,提高网站在搜索引擎中的可见性过程。
[wp_redirect] : WordPress的函数,用于将用户引导至特定URL,处理重定向。