WordPress 一键式搜索优化增强插件来了
在 WordPress 使用关键词搜索文章,是一个常见的操作,WordPress 的搜索底层是使用 MySQL like 语法去检索文章的标题,摘要和内容查出相关的文章;
一般情况 WordPress 这样搜索没有什么大的问题,可能中文分词会存在一些语义理解的小问题,但是修改关键字多搜索几次总能找到想要的文章;
WordPress 搜索存在的问题
如果碰到攻击,WordPress 的搜索就有很大的问题,因为 WordPress 搜索的链接是 https://blog.wpjam.com/?s=关键词
,攻击者只要使用脚本不停的切换关键字,就会造成系统不停去数据库搜索查询;
而这样 MySQL Like 查询相对来说是比较耗时的,就存在被攻击的漏洞,并且攻击的搜索的关键字都是随机的,连缓存都救不了;
另外 WordPress 只是简单使用 MySQL like 语法去检索文章的标题,摘要和内容来查出相关的文章,没有别的选项,能不能只搜索标题?能不能搜索ID,甚至搜索自定义字段等;
WordPress 最强的搜索优化插件
WPJAM 的「搜索优化」插件就能为了这些功能而实现的,在碰到搜索攻击的时候,可以去限制甚至关闭 WordPress 的搜索,然后一方面,它还提供很多的选项增强 WordPress 的搜索功能;
「搜索优化」插件安装之后,在「WPJAM」菜单下就有「搜索优化」子菜单,点击进入即可设置搜索优化的功能:

限制和关闭 WordPress 搜索
第一个功能就是安全,就是可以限制和屏蔽 WordPress 搜索,如上图第一大块所示,支持限制每个 IP 每分钟搜索多少次,达到上限之后屏蔽多少分钟。在遭受搜索攻击的时候,甚至可以直接关闭搜索,最后还可以设置管理员搜索功能不受影响。
下图就是用户搜索达到上限之后,用户再次搜索之后页面显示的效果:
微信公众号的搜索也可以搜索限制,只要使用微信机器人的自定义回复,插件就会自动检测每个公众号用户的搜索次数;
增强 WordPress 搜索能力
给一些客户定制开发的时候,也会经常碰到一些搜索的优化,比如能不能限制搜索关键词的长度,只针对文章标题进行搜索,能不能搜索自定义字段等等,这些功能「搜索优化」插件都实现了,看第二大块功能:「功能增强」

首先第一个功能是可以限制搜索关键词的长度:太长的关键字其实搜索不出什么东西,并且还增加系统的搜索负担,所以可以选择直接屏蔽了事;这个长度的规则还是:一个汉字算两个,一个英文单词算两个,空格不算,所以大家设置的时候注意下,别搞错了;
然后是几个简单的功能,快速过一下:
- 「只搜索文章标题,不搜索文章内容和摘要」:字面意思,懂的吧?
- 「当搜索关键词为空时重定向到首页,只有一篇文章时重定向到文章」这个功能原本是集成在 WPJAM Basic 中,我写了「搜索优化」插件之后,就整合到一起了,做强做大 WPJAM「搜索优化」插件;
- 「后台文章列表支持搜索ID」可以支持搜索单个 ID,如
123
,搜索多个 ID 时候,用「,」分隔开,如123,456,678
- 「 支持搜索自定义字段」功能要别注意一下,开启之后搜索效率会明显下降,然后需要指定在哪几个自定义字段的 meta_key 中搜索,不指定,该功能是不生效的;
最后搜索结果页面只显示「搜索结果」这个很重要,要特别讲解一下,为什么要做这个呢?这是因为一些 WordPress 的站点的搜索结果页面被黑产会刷了,他们把自己的网站名字和域名刷到搜索结果的页面标题上:

获取「WordPress」所有免费插件
为了方便大家获取「WordPress」免费插件,以及日后的更新,有新免费插件或者插件更新,都只需下载一个压缩包,然后一起安装或者更新即可;
本文资源属于 : 2022-1期 ID-74
共有 0 条评论