为什么要更改默认 WordPress 搜索 URL 这是因为搜索引擎对带有动态参数变量的链接的索引(http://example.com/?s=search-term) 不是很用户友好.
搜索引擎通常更喜欢更简洁的结构,例如 http://example.com/search/search-term,以获得更好的用户体验和搜索引擎可见性。
我们找到了 3 种在 WordPress 中自定义搜索 URL slug 的有效方法。在本指南中,我们将引导你完成这两种方法,帮助你为你的网站创建更专业和对 SEO 友好的搜索 URL。让我们开始吧!
方法 1:使用 template_redirect钩子更改 WordPress 搜索 URL slug(推荐)
您只需要将下面的代码放到您主题的functions.php文件中,然后保存即可。
function wpb_change_search_url() {
if ( is_search() && ! empty( $_GET[‘s’] ) ) {
wp_redirect( home_url( “/search/” ) . urlencode( get_query_var( ‘s’ ) ) );
exit();
}
}
add_action( ‘template_redirect’, ‘wpb_change_search_url’ );
全选代码复制
此代码片段将 ‘/?s=search-term’ 字符替换为 ‘search’,因此你的 slug 将如下所示:http://example.com/search/wordpress
要在 URL 中使用 ‘search’ 以外的内容,只需自定义上面的代码片段即可。
现在,访问您的网站并执行搜索。
如果你查看浏览器的地址栏,你会看到新的 SEO 友好搜索 URL。
方法 2:通过 .htaccess 文件更改 WordPress 搜索 URL Slug
另一种选择是编辑您网站的 .htaccess 文件。这种方法比较复杂,所以不建议初学者使用。但是,它确实允许您在不使用代码片段插件的情况下更改搜索 URL slug。
要访问 .htaccess 文件,您需要一个 FTP 客户端,例如 FileZilla,或者您可以使用 WordPress 托管 cPanel 的文件管理器。
例如,我们将使用 Bluehost 的文件管理器应用程序。如果您是 Bluehost 用户,请继续登录您的托管仪表板。然后,导航到“网站”选项卡,然后单击要编辑的网站的“设置”。
找到 .htaccess 文件后,我们打开它对其进行编辑,将以下代码粘贴到文件底部。
# Change WordPress search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
全选代码复制
这会将 WordPress 搜索 slug更改为以下内容:
http://example.com/search/your-search-query/
您可以通过自定义代码片段来更改此 slug。
完成后,不要忘记单击“保存更改”。
现在,如果你在你的网站上执行搜索,你会注意到它正在使用新的 slug。
方法3:使用 SearchWP插件 创建自定义 WordPress 搜索引擎
内置的 WordPress 搜索块可以很好地作为您网站的搜索引擎。但是,如果您想提供更好的搜索体验,那么您将需要 安装SearchWP插件。