xunruicms 【全站模块搜索】 插件升级V1.7

xunruicms 【全站模块搜索】 插件升级V1.7

最近一直在用迅睿CMS做站,顺便也折腾了一下它的全站搜索插件。这插件是小波设计的,底子挺好,依赖迅睿CMS的建站系统大众版或高级版,支持XunRuiCMS V4.7.1及以上版本。我平时在自己的项目里用着用着,发现了一些不太顺手的地方,就动手改了一版,现在版本号到了v1.7。想着可能也有朋友遇到类似的问题,就把这次优化的内容整理出来,分享给大家。

合站模块搜索v1.7.png

一、搜索更稳了,自己踩的坑都填上了

我自己在几个站上测试时发现,用英文或数字做关键词搜索,如果开启了伪静态,偶尔会蹦出404页面。比如搜“iPad2024”,明明数据库里有内容,页面却丢了,挺尴尬的。这次把英文/数字伪静态下的404彻底修复了,现在不管搜啥字符,都能稳稳出结果。

还有301跳转的问题。我之前为了统一链接权重,开了301重定向,结果发现翻页链接生成有点乱,比如第二页的URL跳到了奇怪的地方。这次专门把301和分页规则的兼容性调好了,翻页不再乱跳,路径也规规矩矩。

另外一个小细节:有时候误点进搜索页(比如从导航栏直接点搜索,没输关键词),系统直接报“关键词不能为空”,体验很生硬。现在改成支持空关键词进入搜索页,展示一段引导文案,告诉用户可以在这里搜点什么,更友好一些。


二、伪静态能力增强,按自己的需求加开关

伪静态这块,我根据自己的喜好加了几个控制开关。

  • “启用伪静态301跳转”开关:想不想把动态链接全部301跳到伪静态,现在可以自己决定。开了对SEO友好点,关了也能省点跳转开销。

  • “纯净伪静态模式”开关:我比较喜欢简洁的URL,开了这个之后,搜索页的链接会变成 so-关键词.html 这种干净格式,看着舒服,分享出去也显得专业。

  • 后台补充了可用的讯睿规则示例:之前配置伪静态规则时,我总是记不住格式,动不动就配错。所以这次直接把我测试能用的规则贴在后台,复制粘贴就能用,省得再去翻文档。


三、安全和防刷,被爬虫骚扰后加的防线

之前有个站搜索模块老是被一些莫名其妙的爬虫刷,CPU经常飙高。我琢磨着得加几道防线:

  • 关键词安全清洗:自动过滤掉控制字符、危险符号,限制关键词长度,防止有人搞XSS或者注入攻击。毕竟搜索框是最容易被盯上的地方。

  • IP维度限流:支持设置搜索间隔、每分钟阈值,连续触犯规则的IP会自动封禁一段时间。实测能挡住大部分恶意刷搜索的行为。

  • 机器人UA更严格限流:针对常见爬虫和脚本的UA,加大限制力度,减少无效请求对服务器的影响。

顺带还修复了一个误报:因为301跳转会先访问动态地址,再跳转到伪静态,这就会产生两次请求。之前限流逻辑太死板,把这当成了两次搜索,误判“搜索过于频繁”。现在301双请求不再触发限流,真正的用户不会被误伤。


四、细节体验,边用边打磨

  • so.html结果数量展示更稳定:以前有时候统计的总数会跳变,现在修复了,显示的结果数和实际搜索结果一致。

  • 整体流程更流畅:从搜索请求到结果渲染,我把一些边缘情况都跑了一遍,确保在各种模板下都能稳定工作。


总结

v1.7这个版本,基本是我自己在项目里用着用着,遇到啥不爽的就修啥,慢慢攒出来的。现在感觉日常使用已经没啥大毛病了,分享出来给有需要的朋友。

如果你也在用迅睿CMS建站,正好需要一套全站搜索功能,可以试试这个插件。当然,前提是已经安装了建站系统大众版或高级版,CMS版本在V4.7.1以上。

下载:迅睿CMS-全站搜索插件v1.7
密码:1234

我还会继续折腾,如果你在项目里遇到什么奇葩问题,或者有更好的想法,随时交流~