不管你是用过wordpress还是没有用过wp建站程序,有一点你必须知道:wordpress默认的搜索代码结果就是包含搜索词的文章、页面,按照时间或ID发布顺序排序;但是这样有一点非常的不好,不利于关键词的相关性,这一点非常的不方便。有时候你搜索一个关键词,出来好几页的结果?这怎么能是我们想要的呢?
增强wordpress搜索的相关性的方法:
只需要在当前主题的 functions.php 添加如下代码来增强 WordPress 搜索的相关性:
//wp搜索相关性
if(is_search()){
add_filter('posts_orderby_request', 'search_orderby_filter');
}
function search_orderby_filter($orderby = ''){
global $wpdb;
$keyword = $wpdb->prepare($_REQUEST['s']);
return "((CASE WHEN {$wpdb->posts}.post_title LIKE '%{$keyword}%' THEN 2 ELSE 0 END) + (CASE WHEN {$wpdb->posts}.post_content LIKE '%{$keyword}%' THEN 1 ELSE 0 END)) DESC,
{$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC";
}
上面的代码就是使得搜索的结构代码,先按照日志的标题的相关性排序,然后按照日志的内容,最后才是日的志修改时间和 ID,这样的修改之后,WordPress 搜索的结果相关性就提高了很多。
现在你再去用wp自带的搜索就好得多了,这是博主增加了wordpress相关性之后的效果截图,如下:
我知道有一些看了截图之后会发现没有效果对吗?其实你就错了。之所以这些标题会出来,那是因为文章内容是含有“网站结构”这个词语的,wp搜索搜索的不仅仅是标题,还有文章内容,页面内容。而第一篇文章我就在它的结尾做了一个SEO网站结构优化策略的锚文本,当然可以搜索到它喽!不相信的,可以亲自打我的博客文章去看看。
2017年02月21日 08:36:41 沙发
这样做是可以增加相关性,赞一个!
2017年02月20日 17:30:33 板凳
发斯蒂芬