如果你的站点被恶意的关键词搜索,如果没有屏蔽的话,这些搜索结果很有可能被搜索引擎抓取到。那结果就很悲剧了。
今天这篇文章就来说说如何规避这种问题出现,当然,如果机器人搜索,你还需要设置下搜索频率。
1、添加代码
添加如下代码到functions.php。[reply]
add_action('admin_init', 'php_search_ban_key');function php_search_ban_key() {add_settings_field('php_search_key', '搜索关键词屏蔽', 'php_search_key_callback_function', 'reading');register_setting('reading','php_search_key');}function php_search_key_callback_function() {echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .get_option('php_search_key') . '</textarea>';}add_action('template_redirect', 'php_search_ban');function php_search_ban(){if (is_search()) {global $wp_query;$php_search_key = get_option('php_search_key');if($php_search_key){$php_search_key = str_replace("\r\n", "|", $php_search_key);$BanKey = explode('|', $php_search_key);$S_Key = $wp_query->query_vars;foreach($BanKey as $Key){if( stristr($S_Key['s'],$Key) != false ){wp_die('请不要搜索敏感关键字');}}}}}
[/reply]
2、添加关键词
常用的词看这里:https://github.com/jkiss/sensitive-words
在后台(设置→阅读)中添加你要屏蔽的关键词。
注意:一行一个。
3、效果
保存后,自己搜索下,效果如图:
4、限制搜索频率
这个东西,随便搜搜,网上一大堆,最常见的解决方法是安装一个插件。
1)插件名
限制频率的插件名:Search Limiter & Blocker
2)后台搜索安装
插件很小,就要给PHP文件,设置界面如图:
插件页面 https://wordpress.org/plugins/search-limiter-blocker/
- Search Limit (Count) :限制搜索次数
- Block Time (in seconds):限制搜索时间
- Message for blocked visitor:信息提示
5、设置robots.txt
如果你不希望搜索引擎抓取你的搜索结果,或者被人恶意刷搜索的结果,你可以新建一个robots.txt,然后再最下面加一行禁止蜘蛛抓取搜索结果的代码。
Disallow: /?s=*
贴一份完整的,可以根据需要求改。
User-agent: *Disallow: /wp-admin/Disallow: /wp-includes/Disallow: /*/comment-page-*Disallow: /*?replytocom=*Disallow: /*/*page/*Disallow: /category/*/page/Disallow: /tag/*/page/Disallow: /*/trackbackDisallow: /feedDisallow: /*/feedDisallow: /comments/feedDisallow: /?s=*Disallow: /*/?s=*\Disallow: /attachment/
6、最后
如果你的站恶意搜索已经被收录,那么你需要site网址,比如:(关键词 site:www.你的域名.com) ,举例:比如( 拿走 site:www.aaa.com)
得到结果后,新建一个记事本,把连接都复制进去,然后到百度的死链提交中提交,让百度删除这些搜索结果。当然具体的操作可以根据百度死链提交的说明来进行。
当然,也可以利用站长工具来检索死链:http://tool.chinaz.com/Links/
不过,没用过,不知道这个站长工具是否能检测恶意搜索的结果。
评论前必须登录!
注册