什么是恶意搜索攻击?这种恶意搜索攻击,其实非常简单,就是通过既定的网址结构不断对网站发起不良关键词搜索访问,比如 WordPress 的搜索网址结构为 域名/?s=搜索词,而且可能还会顺便将访问的地址推送到各大搜索引擎,加快这些恶意网址的收录。这样,你的网站就会沦为这些不法之徒传播不良信息的渠道,这对网站排名是非常不利的,甚至可能会直接被搜索引擎 K 站。
说白了,所谓的“恶意搜索攻击”就是借助 WordPress 站内搜索来优化某些长尾关键词的外链数量以达到提升搜索权重的一种黑帽 SEO 手段而已(如上图所示),如果网站管理员没有定期检查网站的情况,很可能就会遭殃。
那么如何应对这类恶意搜索攻击呢?办法有多种,大家自己选择一个比较适合自己的即可,下面给大家一一分享一下:
1、禁止搜索引擎收录搜索结果页
搜索结果页一般我们都不推荐被收录,所以建议大家还是禁止收录。现在几乎所有搜索引擎都遵循 robots.txt 的规则,也就是我们可以通过 robots.txt 定义规则,阻止搜索引擎收录搜索结果页面。我们可以在网站根目录,创建一个 robots.txt 文件,填入下面的内容:
Disallow: /?s=*
这样就禁止搜索引擎收录 WordPress 搜索结果页了。
但是这个方法有个不足之处就是一旦搜索引擎不遵循 robots 规则就没有作用了(国内不少搜索引擎就不遵守 robots 协议),所以这个办法明月的态度是仅供参考,聊胜于无了!
2、使用代码实现屏蔽搜索某些关键词
在当前主题目录下/wp-content/themes/主题名/functions.php 文件添加下列代码:
add_action('admin_init', 'ytkah_search_ban_key');
function ytkah_search_ban_key() {
add_settings_field('ytkah_search_key', '搜索关键词屏蔽', 'ytkah_search_key_callback_function', 'reading');
register_setting('reading','ytkah_search_key');
}
function ytkah_search_key_callback_function() {
echo '<textarea name="ytkah_search_key" rows="10" cols="50" id="ytkah_search_key" class="large-text code">' . get_option('ytkah_search_key') . '</textarea>';
}
add_action('template_redirect', 'ytkah_search_ban');
function ytkah_search_ban(){
if (is_search()) {
global $wp_query;
$ytkah_search_key = get_option('ytkah_search_key');
if($ytkah_search_key){
$ytkah_search_key = str_replace("\r\n", "|", $ytkah_search_key);
$BanKey = explode('|', $ytkah_search_key);
$S_Key = $wp_query->query_vars;
foreach($BanKey as $Key){
if( stristr($S_Key['s'],$Key) != false ){
wp_die('请不要搜索非法关键字');
}
}
}
}
}
然后进入WordPress网站后台设置——阅读——找到搜索关键词屏蔽添加您想屏蔽的搜索关键词,比如(恶意关键词1,恶意关键词2…),一行一个关键词
在后台(设置→阅读)中添加要屏蔽的关键词
保存之后,自己可以测试搜索下,效果如下图所示:
这个方法相对于第一个方法来说效果好了很多,但还是比较被动,需要站长及时发现和屏蔽关键词才可以,这就存在一个防不胜防的问题了,毕竟谁也没有时间和精力一天24个小时盯着这种事儿呀!
3、彻底禁用WordPress内置搜索,使用第三方的站内搜索替代
目前大部分主流WordPress主题都自带集成第三方站内搜索了,比如像知更鸟的Begin主题就集成了百度、搜狗、360站内搜索的同时还提供了WordPress内置搜索的开关控制,如下图所示:
这样一来可以说是彻底一劳永逸的解决了“恶意搜索攻击”这个顽疾了,同时也防止某些无聊幼稚的人借助WordPress内置搜索试试的流量攻击啥骚扰网站。
至于WordPress集成第三方搜索引擎到站内的方法网上教程实在是太多了,大家自行百度、谷歌一下吧,这里就不赘述了。
今天给大家分享的应该属于是SEO的范畴,毕竟恶意的搜索攻击受影响的是搜索引擎的权重和关键词权重,可以收是比较重要的。所以也建议大家经常关注一下自己站点的站内搜索关键词,越早发现越好!当然最好就是用第三种方法一劳永逸的弥补这个隐患。