「搜索优化」:防止搜索攻击,限制搜索频率,增强搜索能力,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 会使用默认的方式。

其次可以设置哪些用户可以进行搜索,这里有三个选项,默认「所有用户都可以搜索」,然后也可以设置「仅限登录用户搜索」,甚至还可以「关闭站点搜索功能」,这个功能在站点受到攻击的时候,可能会帮到你。

搜索限制

第二大的功能是对搜索功能进行限制:

做站点最重要的就是安全,如上图所示,首先支持限制每个 IP 每分钟搜索多少次,达到上限之后屏蔽多少分钟。在遭受搜索攻击的时候,甚至可以直接关闭搜索,最后还可以设置管理员搜索功能不受影响。

下图就是用户搜索达到上限之后,用户再次搜索之后页面显示的效果:

微信公众号的搜索也可以搜索限制,只要使用微信机器人的自定义回复,插件就会自动检测每个公众号用户的搜索次数:

果酱小程序也支持搜索限制,达到搜索上限之后,同样会报错:

嗯,「WPJAM」出品的插件很多功能有关联,但也不影响单独使用,非常方便。

此外还可以设置「搜索关键词最大长度」,太长的关键字其实搜索不出什么东西,并且还增加系统的搜索负担,所以可以选择直接屏蔽了事。这个长度的规则还是:一个汉字算两个,一个英文单词算两个,空格不算,所以大家设置的时候注意下,别搞错了。

此外为了防止不怀好意的人来瞎搞,还可以设置「不允许搜索禁用词」。禁用词是在「设置」-「讨论」-「禁止使用的评论关键字」中设置的。

当然了,最后不要限制都把自己给限制了,所以最后还有个选项,可以开启:「站点管理员搜索功能不受上面这些条件限制」。

搜索增强

我们在给一些客户做定制开发的时候,也会经常碰到一些搜索的优化,比如能不能只针对文章标题进行搜索,能不能搜索自定义字段等等,这些功能「搜索优化」插件都实现了:

首先是重定向功能,开始的时候,就会:当关键词为空时重定向到首页,只有一篇文章时重定向到文章。这个功能原本是集成在 WPJAM Basic 中,我写了「搜索优化」插件之后,就整和到一起了,做强做大 WPJAM「搜索优化」插件。😁

接着是我命名为「标签搜索功能」,当关键词和分类/标签/自定义分类相同时,直接展示对应的文章。

搜索结果页面标题不显示关键字,只显示「搜索结果」四个字」,这个功能大家第一眼看可能感觉没啥,其实这个功能非常重要的,这里要特别讲解一下,为什么要做这个呢?

这是因为一些 WordPress 的站点的搜索结果页面被黑产会刷了,他们把自己的网站名字和域名刷到搜索结果的页面标题上:

图片

当然上面限制了搜索关键字长度之后,在一定程度上也限制了刷搜索结果的可能性,但是要继续杜绝这种事情,通过把搜索结果页面的标题只显示「搜索结果」则可以完全的防止住,因为无论搜索搜什么,都是显示「搜索结果」这四个字:

图片


只搜索文章标题,不搜索文章内容和摘要」:字面意思,懂的吧?😂

后台文章列表支持ID搜索,如123,多个ID用「,」分隔开,如12,34,56,这个在后台要定位某篇文章 ID 的时候特别有用。

支持搜索自定义字段,功能要别注意一下,开启之后搜索效率会明显下降,然后这个功能勾选之后,还可以选择是在所有自定义字段中搜索还是在指定的自定义字段(输入 meta_key )中搜索。

WPJAM「搜索优化」

WPJAM 这个「搜索优化」是不是很强大,关于 WordPress 搜索相关的功能,我都会整合到这个插件中。

它是 WordPress 果酱知识星球福利插件,加入「WordPress果酱」知识星球(长按下图二维码)即可下载:


「WordPress果酱」知识星球福利插件基于 WPJAM Basic 开发,加入「WordPress果酱」知识星球,即可下载:

插件 简介
抓取公众号图文

支持一键同步微信公众号文章到 WordPress 博客,并支持一键将文章中所有图片都下载到 WordPress 媒体库。

搜索优化

WordPress 最强的搜索优化插件,支持限制每个 IP 每分钟搜索次数,达到上限之后屏蔽搜索时长,还可以限制搜索关键词的长度,搜索结果页面限制只显示「搜索结果」,还有以下搜索功能增强:

1. 只搜索文章标题,不搜索文章内容和摘要。
2. 当搜索关键词为空时重定向到首页,只有一篇文章时重定向到文章
3. 后台文章列表支持搜索ID。
4. 支持搜索自定义字段。

编辑器优化

一键增强 WordPress 经典 TinyMCE 编辑器:

1. 增加下划线,背景颜色,两端对齐,字体和大小设置,以及内容分页按钮。
2. 新增插入表格功能。
3. 直接插入屏幕截图。

标题设置

一键设置 WordPress 所有页面的页面标题,通过规则方式让博主可以自定义 WordPres 首页,分类,文章类型,文章详情都所有页面的页面标题。

登录优化

一键优化 WordPress 登录注册界面,并支持第三方账号登录和绑定,目前已经支持微信公众号(所有类型),微信小程序,手机号码第三方平台。

内容模板

实现在内容中插入一段共用的内容模板,通过短代码(shortcode)的方式来实现的,支持统一修改,目前支持普通的内容模板,表格内容模板和卡片内容模板三种类型。

用户管理

最强 WordPress 一键用户管理插件,一键实现以下12个功能:

1. 屏蔽个性化设置
2. 屏蔽姓氏和名字设置
3. 取消显示名称设置
4. 开启别名设置
5. 隐藏用户登录名
6. 开启登录次数限制
7. 用户最后登录时间
8. 按注册时间排序
9. 以此身份登陆
10. 生成密码重置链接
11. 自定义用户头像
12. 默认用户头像

分类管理

这是一个全能的 WordPress 分类管理插件:

1. 层式管理分类
2. 限制分类层级
3. 分类拖动排序
4. 使用数字固定链接
5. 首页文章支持分类过滤
6. 后台文章列表支持分类筛选过滤
7. 后台文章列表支持分类多重筛选

评论增强

这是一个 WordPress 评论增强插件,支持评论置顶,评论点赞和按照点赞数排序。

图片集

1. 给媒体创建个分类「图片集 | collection」
2. 图片分类限制为二级
3. 取消图片编辑入口
4. 附件页面直接图片链接。

配置器

全自动 WordPress 配置器,不用一行代码就可以开发。
支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。

Script Loader

通过恢复 WordPress 联合加载方式来优化 WordPress 后台脚本加载。

外部链接

将文章或评论中的外部链接加上安全提示的中间页。
让用户确认之后再跳转,并还支持添加 nofollow rel 属性。

话题标签

文章中插入 #话题标签#。
如果是内部链接,直接跳转,
标签或者分类,则自动转换成标签或分类链接,
否则跳转到搜索链接。

格式文章

在 WordPress 实现真正的文章格式

草稿分享

一键生成草稿临时分享链接
并可设置分享链接的有效期

文章专题

设置文章专题,并在文章末尾显示一个文章专题列表。

文章隐藏

设置文章在列表⻚不显示,并且可以根据不同平台进行设置

Meta Data

可视化管理 WordPress Meta 数据,支持所有内置的 Meta 数据:
Post Meta,Term Meta,User Meta 和 Comment Meta。

站点选项

查看和管理所有非 WordPress 系统自动生成的站点选项。
如果你觉得某个选项无用,可以直接删除它。

后台论坛

WordPress 后台论坛,支持创建帖子,分组,消息。

微信小程序

微信小程序 WordPress 基础插件,包含基础类库和管理。

微信群二维码

轮询显示微信群二维码,突破微信群100人限制。

文章置顶

支持置顶文章排序和分类文章置顶的 WordPress 插件

静态文件

一键合并 WordPress 插件和主题的 JS 和 CSS 文件,加快页面加载速度

Debug

一键检测 WordPress 运行效率。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。