W1 Cybertech

W1

屏蔽恶意搜索防止被搜索引擎收录恶意搜索结果 | 记我们的网站和SEO被攻击的一次排查与修复

文/Reign

这篇文章夹杂了很多个人的吐槽,其实并不适合放在公司网站上;但后来想想,可能这也是让潜在客户更立体的了解我们的一个窗口。如果读者是冲着技术分享来的,麻烦直接点击跳到这里

客户赖账了,上次还是两年前

这几天一个合作了两年多的客户,不知是被做SEO同行怂恿还是因为经济大环境不好导致弦儿崩得太紧,竟然莫须有地拿出一堆不靠谱的理由外加“公正的第三方”的SEO审计报告劈头盖脸的一顿输出,全盘否定我们的工作,只信我们同行的说法完全不听我的讲解,并且要赖掉未结清的账(是的,因为已经把这个客户当做朋友,不想给她压力或者给她添麻烦,帮她扛了半年多的现金流;这种事情不会再有了,以后关系再铁的客户,invoice一逾期就一律断供)。过去半年,算上SEO、刷关键词CTR(客户要求做的)、谷歌生意的社交渠道引流额外的traffic点击量(两家新开的分店)、PageSpeed Insight提速优化,合计约一万五千澳币的欠款。

钱的问题算是小事。是真心错付,实在是教人难受。本着除了生死无大事的心态,我快速消化了这件事情。需要我和我团队的事情还有很多。

欠款三个半月的SEO为什么看上去做得不好

在连续一年多的拖延付款、三个月没有收到SEO账单付款、累计欠款高达一万五千澳币的情况下,客户找过来问为什么网站自然访问量低、为什么关键词排名情况不好、为什么近两个月外链掉那么多、现存外链为什么质量那么低。我觉得聪明人都能看明白是怎么一回事。我觉得这个我曾经真心对待的。客户不聪明的地方在,她和她带来的帮她撑腰吵架的老公不懂得“做人留一线,日后才好相见”。

对于一个正常盈利的公司来说,SEO无论是对做低PPC广告点击单价,还是帮助生意获得更多曝光、提升品牌形象和影响力,都是良性投资;但一旦生意现金流出现问题或者销售出现困境,这笔开销就会显得回报率极低。

我觉得,如果考虑当前SEO开销太大,可以讨论调整预算;如果觉得有什么不满意的可以把意见提出来;如果想终止合作,那就把之前commit的账单付清然后正常交接工作;如果手头紧就聊一个payment plan分期慢慢付给我们。我明明可以把钱放到对冲账号里面去抵利,却选择帮你抗现金流,是已经把你当做朋友、希望与你共度难关;我尽量不去给你添麻烦,你却拿着三个月没有付钱的SEO现状过来找我理论,还要赖掉欠账,这就是为难我了。我们的外链源全部资源都是DA30+(事实上几乎都是DA40+,DA30+的没有多少了),竟然被诋毁说平均DA只有0.1。荒唐可笑啊。

感谢每一段缘分,感谢信任我们的客户

W1面对客户一直真诚相待、珍惜每一段合作的缘分,团队从2012年做到现在,算上这个客户一共只有四笔坏账:第一个是个做车库门生意的小姐姐,已经因为乳腺癌去世了,斯人已逝,我们不会去为难她的家人;第二个是个印度人,赊账后就玩失踪联系不到了;第三个是个做彩印生意的大哥,也是把他当朋友相处结果他做了老赖,听说现在他过得也并不幸福,所以我也是主动离他远点。我个人是虔诚的佛教徒,只修自己不拜佛那种。我能控制的只有自己,他人造孽我不帮着解业,没那个能耐。团队里的人不敢说人人有信仰、道德比圣贤,但绝对都是本分老实的孩子。做IT这一行,就是卖个傻力气、吃的是青春饭;我们也不是什么大公司,做不出什么大margin,赚的就是辛苦钱而已。

敬告所有的SEO客户,如果什么时候有机会也做到欠款三个月,就不要过来找我们问为什么数据有下滑了,不下滑就不对了,不下滑就说明我们之前的工作没做好了。

正题从这里开始

书归正传,说巧不巧,昨天才发现,也就是客户闹过来的同一天,W1网站被安排了一批搜索框恶意攻击,猜测是8月4-5号开始截止到16号,一共1000条整的恶意链接。W1网站遭遇这种级别的攻击实属首次。我只能是希望这不是上面说的这个赖账的客户安排的。目前能确定的只有这个攻击是华人做的,攻击手法并不高明,也懒得去查到底是谁干的了。这种攻击不会影响网站的使用,但会伤害W1网站的SEO。如果是眼红W1的谷歌排名位置,我只能说,这事儿干得太low太脏了。大家都是凭本事吃饭。

今天这篇文章就是来记录我们如何发现、排查、解决这次肮脏又龌龊的攻击的,希望可以给大家以警示,并且知道如何预防这种情况的发生,防止恶意搜索被搜索引擎收录是维护网站安全和声誉的重要一环。

还有就是劝,劝咱们华人朋友,不管是哪个行业的,不管是什么原因,有意见的当面沟通,涉及竞争的咱们靠本事吃饭。做不到以德报怨也别以怨报怨,整天搞这些损人不利己的事儿劳心费神的,做人要磊落光明,多积德,不要背地里搞阴的。干坏事儿前想想父母给的教育,想想给自己孩子做个什么样的榜样。

什么是搜索框恶意搜索攻击

搜索框恶意搜索攻击是指攻击者利用网站上的搜索功能,通过输入恶意查询词或关键字来执行恶意活动的一种方式。恶意搜索词攻击的方式非常简单,即持续在您的网站上进行多种违规词汇的搜索,然后将这些搜索结果广泛传播,甚至提交给搜索引擎以便收录。一旦这些违规内容被搜索引擎收录,就可能给您的网站带来严重的负面影响,甚至可能导致遭受K站(排名下降)或降权等惩罚措施。

恶意搜索攻击可以采取多种形式:

SEO 污染:攻击者可能会在网站的搜索框中输入带有恶意关键字的查询,以影响搜索引擎的索引,从而提高恶意链接在搜索结果中的排名。这可能会导致用户点击恶意链接或访问不良内容。

钓鱼攻击:攻击者可能会使用搜索框来引导用户访问虚假的网站,其中可能包含与合法网站相似的外观,以诱使用户提供个人信息、登录凭据或敏感数据。

恶意软件分发:攻击者可能会在搜索框中输入恶意查询词,搜索结果中的链接可能会引导用户访问含有恶意软件的站点,导致恶意软件下载或安装。

恶意内容传播:攻击者可能会在搜索框中输入恶意关键字,以搜索并传播恶意内容、虚假信息或欺骗性内容。

如何防范攻击

输入验证和过滤:对于用户输入的搜索查询词,进行输入验证和过滤,确保不会执行恶意操作或插入恶意代码。

限制搜索功能:考虑限制搜索功能的访问权限,只允许已登录的用户进行搜索,或者限制搜索的频率。

监控访问日志:定期监控网站的访问日志,以便及早发现异常搜索活动和恶意查询。

使用 Web 应用程序防护(WAF):使用 WAF 可以帮助防止恶意搜索和其他网络攻击。

我们是怎么应对的

如果要应对这种攻击,我最好的做法是一开始就不要开始网站的搜索功能,然后能过robots.txt文件屏蔽搜索结果。例如网站搜索为:域名/?s=搜索词,那么可以在robots.txt文件中添加:Disallow: /?s=*

既然网站已经受到了恶意搜索词攻击,主要处理步骤如下:

1.安装插件Search Analytics

Search Analytics插件可以统计网站用户的搜索词,通过它我们才能知道攻击者都搜索了哪些违禁词,然后我们需要把这些违禁词都统计复制出来。

2.利用插件屏蔽搜索结果

我们先下载一个插件WPKJ Block Search Words,这款插件是倡萌博主开发的,配合Search Analytics使用,很方便。插件安装好之后,我们进入“设置”-“阅读”,然后就可以看到这款插件的设置页面,然后这里把Search Analytics统计出来的违禁词复杂进去就可以了。

3.屏蔽搜索结果页

比如你的网站搜索为:域名/?s=搜索词,那么你可以在robots.txt文件中添加:Disallow: /?s=*

4.收集已被搜索的恶意搜索结果地址

我们可以在使用谷歌搜索指令:违禁词 site:你的网站地址

然后我们就可以得到已被收录的恶意搜索结果地址,把这些链接地址都收集起来,然后放入txt文件中,文件命名为silian.txt。

5.提交死链
对于死链和404 not found的处理方式可以参考以下:
  1. 确保页面返回码正确,状态为404或者410;
  2. 确保内部和外部没有指向404页面的链接;

我们先将silian.txt文件上传到网站根目录,然后登陆站长平台(搜索资源平台),然后打开“资源提交”-“死链提交”,输入死链地址:你的网站地址/deadlink.txt,然后提交即可。

死链生效时间大概在一周左右。

6.修改.htaccess
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot) [NC]
RewriteCond %{QUERY_STRING} ^s= [OR]
RewriteCond %{REQUEST_URI} ^/search/
RewriteRule ^ – [F]
 

把这些代码添加到.htaccess,

对于对这个解决方案感兴趣的任何人:

a. 你可能需要在第二行中添加更多的机器人。

b. 请记住,这将完全阻止你指定的机器人访问你的搜索页面,这意味着它们不会被索引,即使你希望它们被索引也不行。在将这些指令添加到你的htaccess文件之前,请确保垃圾搜索查询没有被Google/Bing索引过。如果你发现垃圾查询已被索引,最好是先将它们移除。在我们的情况下,由于我们在robots.txt中阻止了机器人,因此他们无法看到我们应用于搜索页面的“noindex”标签,导致带有垃圾查询的搜索页面被索引。我们所做的是:移除robots.txt的阻止,然后允许Google有时间爬行页面以查看noindex标签并将其取消索引,然后再将上述代码添加到htaccess文件中。

7.禁止搜索引擎收录搜索结果页

现在几乎所有搜索引擎都遵循robots.txt的规则,也就是我们可以通过 robots.txt 定义规则,阻止搜索引擎收录搜索结果页面。我们可以在网站根目录,创建一个robots.txt 文件,填入下面的内容:

User-agent: *

Disallow: /index.php

Disallow: /index.html

Disallow: /wp-admin/

Disallow: /*/feed

Disallow: /trackback/

Disallow: /*?replytocom=*

Disallow: /*/comment-page*

Disallow: /?s=*

Disallow: /search/

上面内容的倒数第1、2条规则,就是禁止收录搜索结果页。

W1提供专业的技术型SEO、SEO防御、SEO审计、网站问题修复服务,欢迎联系我们了解详情。

Scroll to Top