WordPress 限制搜索关键词实现搜索黑名单

昨天有位站长问我能不能限制 WordPress 的搜索关键词,因为有人利用他的网站搜索色情词汇,本来正常搜索没有影响的,但是在部分网站中,搜索关键词产生的搜索页会被搜索引擎收录,实现推广功能。

WordPress 的关键词搜索限制实现起来还是比较简单的,最简单的要数直接修改主题搜索文件了,在接收关键词时先处理再给 WordPress 进行搜索。但这样不利于后期更新主题,于是我选择下面这种利用 WordPress 过滤器实现。

  1. function dmd_search_filter($request_vars) {
  2. if (!is_user_logged_in()){
  3. $request_vars['s'] = "请先登录";
  4. }
  5. if (!empty($request_vars['s']) && strlen($request_vars['s'])>5) {
  6. $request_vars['s'] = "搜索词太长";
  7. }
  8. return $request_vars;
  9. }
  10. add_filter('request', 'dmd_search_filter');

将以上代码添加到你主题下的 functions.php 文件中即可。具体效果自行测试,部分主题不会显示搜索词而是返回 404,这就不要找我了,自行解决,解决不了的请带价来询!
WordPress 限制搜索关键词实现搜索黑名单
如果你想过滤部分关键词,请使用如下代码。

  1. function dmd_search_filter($request_vars) {
  2. if (!is_user_logged_in()){
  3. $request_vars['s'] = "请先登录";
  4. }
  5. if (!empty($request_vars['s']) && iconv_strlen($request_vars['s'],"UTF-8")>5) {
  6. $request_vars['s'] = "搜索词太长";
  7. }
  8. $a=array("色情","赌博","政治");
  9. for($i=0;$i<count($a);$i++){
  10. if(stristr($request_vars['s'],$a[$i])!=false){
  11. $request_vars['s'] = "非法搜索";
  12. //header('HTTP/1.1 404 No Found');
  13. //exit;
  14. break;
  15. }
  16. }
  17. return $request_vars;
  18. }
  19. add_filter('request', 'dmd_search_filter');

需要过滤的关键词自行添加,注意:过滤词尽量大于 2 个字长度越短越好,这里进行完全匹配,因此过滤词越长越难过滤,一个字将过滤很多搜索,建议不要使用 1 个字。

当然如果你觉得使用搜索页显示搜索黑名单不明显,也可以直接返回 404,将上面代码中屏蔽内容打开即可。

溫馨提示:

文章標題:WordPress 限制搜索关键词实现搜索黑名单

文章連結:https://www.wuyanshuo.cn/758.html

更新時間:2022年4月20日

1、本站所有資源均不添加推廣檔案或浮水印,壓縮包內若有廣告檔案和浮水印請勿輕易相信。

2、本站資源均為兩層壓縮,第一層7z(尾碼若為wys,請自行修改為7z)有解壓密碼; 第二層zip或cbz,無解壓密碼,可直接使用漫畫類軟件程式查看; 詳情可參攷解壓教程

3、本站大部分內容均收集於網絡! 若內容侵犯到您的權益,請發送郵件至:admin#wysacg.top我們將第一時間處理! 資源所需價格並非資源售賣價格,是收集、整理、編輯詳情以及本站運營的適當補貼,並且本站不提供任何免費技術支援。 所有資源僅限於參攷和學習,版權歸原作者所有!

给TA打赏
共{{data.count}}人
人已打赏
建站教程

隐藏失效的 WordPress 短代码

2022-4-18 23:29:56

建站教程

WordPress 伪静态规则(IIS/Apache/Nginx)设置方法

2022-4-20 11:02:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索