大家好,我是跨境男孩Riven。
数百万的Shopify站点已经被搞了,赶紧处理,别再给那些黑帽SEO沙雕做"嫁衣"了。
先声明下这篇文章不是专门黑Shopify,只是突然发现shopify的bug,觉得有必要在独立站shopify卖家圈内发声,不要再让不法分子利用这个漏洞去谋利。
言归正传,说下这次的Shopify的缺陷?黑客是如何利用的?对你的shopify站点的影响?你应该如何解决?
1 背景
今天在检测shopify网站时,通过site高级搜索指令时,在SERP发现了一些原本不属于我自己创建的网页,被Google收录了。
当时在想这些链接,页面的功能及页面最初是如何创建的,是否含插件和自定义代码,也有可能是某插件的恶意JavaScript代码注入到DOM中实现的渲染。
图片来源:Google
2 问题排查与发现
因为这类垃圾URL收录,会严重影响品牌或店铺的声誉,Google对站点的审查,会影响SEO和用户体验。
接下来我进行了排查,通过在Google搜索[病毒广告关键词] 后,竟然发现:
2.1 数百万站点受影响
被Google收录,并且含有这段病毒广告的URL,竟然高达数百万;
请马上在Google上,使用高级搜索指令:site: example/collections/vendors搜索下,看下你的shopify站点,是不是也被黑了?(如果被黑了,请转载给更多Shopify卖家)
图片来源:Google
同时,可以搜索下你的竞争对手shopify站点,99%也被黑了。
图片来源:Google
2.2 基本都是Shopify的店铺
https://www.examplesite.com/collections/vendors?q=
大都是上面这种URL,熟悉shopfiy的朋友都知道,shopify的Collection URL路由规则就是这样的,经过源代码分析和检测,果真Shopify。
见下图所示:
图片来源:Google
2.3 这些 URL 可以由任何人创建
经过测试发现,随便访问shopify的网站并将
/collections/vendors?q=test
添加到商店地址的末尾,并按回车键,会看到一个页面显示为“test”,但没有找到任何产品。
2.4 不仅是国内的黑帽玩家做病毒广告,也有国外黑帽玩家
看看下面这个沙雕写的文案,真TM想钱想疯了。(比如国内病毒广告站点:xe66.com)
图片来源:Google
看看下面这张图,我越看越气!!
图片来源:Google
bing也是一样的问题。
图片来源:Google
也有国外病毒广告站点:fifa23coins.com (FIFA 23 硬币)
图片来源:Google
2.5 流量越大时间越久的网站,被收录的垃圾链接越多
新网站由于googlebot发现、收录和审查等,会需要更多时间;
老站,DA高的shopify网站99.9%都已经被黑。
3 Shopify Bug 引发的黑帽SEO思路
任何人都可以创建这类查询的动态URL时,黑帽SEO玩家嗅到了money的味道。
在讲解实现思路前,我先定义下名词:
Shopify商家站点:代指受影响的Shopify商家站点,比如 https://cstrecords.com/
病毒广告站点:黑帽玩家推广目的的服务或产品的站点,比如 zhanbu88.com (星盘/塔罗/八字/心理咨询等)
垃圾外链站:黑帽玩家以该站点创建假的url,作为你的垃圾外链站,目的是让Google蜘蛛能发现URL,比如https://ugs9.com/
画了个简易的流程图,辅助理解。
图片来源:Google
恶意黑帽者通过利用shopify网站上的「vendor-供应商名称」搜索查询漏洞,生成以「病毒广告站点」产品详细信息作为标题的假页面;并且在「垃圾外链站」上创建指向这个假 url ;最后谷歌对该页面进行发现、索引并将其「Shopify商家站点」URL,显示在SERP搜索结果中,以达到帮助推广「病毒广告站点」的服务或产品的目的。
注意,这个带q参数的动态URL,该页面本身并不独立存在,它仅作为目标网站上搜索结果的一部分存在。
4 Shopify卖家解决方案(重点)
先给大家看下Shopify官方的回复的解决方案,https://community.shopify.com/c/shopify-discussions/website-hacked-help/td-p/1748004 (也就是下面的4.1方案,我会再补充4.2/4.3解决方案,以及4.4检查方案)
图片来源:Shopify
图片来源:Shopify
4.1 拒绝这些垃圾反向链接
1. 使用 SEO 诊断软件,比如SEMrush、Ahrefs等,将所有垃圾反向链接收集到一个
.txt
文件中
2. 通过Google 的拒绝工具提交这些URL,地址:https://search.google.com/search-console/disavow-links
图片来源:Google
按照要求的拒绝链接格式上传一个文本文件 (*.txt),其中包含要拒绝的链接或网域,地址:https://support.google.com/webmasters/answer/2648487
比如*.txt文件:
图片来源:Google
3. 上传成功后,见下图:
图片来源:Google
注意:
这是一项高级功能,应谨慎使用。如果使用不当,此功能可能会损害您的网站在 Google 搜索结果中的表现。如果您认为有大量垃圾邮件、人工或低质量链接指向您的网站,并且您确信这些链接会给您带来问题,我们建议您仅拒绝反向链接。
4.2 Google Search Console拒绝收录垃圾页面
1. 进入Google Search Console后台 > 【编制索引】 > 【删除】菜单处;
2. 点击「新请求」按钮
3. 选择「仅移除此网址」或「移除所有带此前缀的网址均可」
依次输入被google收录的垃圾广告链接;或者输入:你的域名/collections/vendors
图片来源:Google
4.3 编辑Robots.txt协议
操作步骤:
1. 进入Shopify Admin后台,依次点击 【在线商店】 -> 【模板】 -> 【编辑代码】菜单:
2. 在【模板】菜单下,点击「添加新模板」按钮;
3. 在弹窗中选择「robots.txt」选项;
图片来源:Shopify
4、编辑Robots.txt协议
目的是禁止各类搜索引擎蜘蛛(如GoogleBot)抓取
/collections/vendors?q=test
这类URL
代码示例:
User-agent: *
Disallow: /collections/vendors?q=
图片来源:Shopify
注意:
1. robots.txt协议不要乱编辑,这里面会有规范,建议先阅读Google官方文档:https://developers.google.com/search/docs/crawling-indexing/robots/intro,后续视情况,考虑整理发下robots.txt的教程
2. robots.txt协议属于君子协议,搜索引擎会考虑遵守,但不排除特殊情况
图片来源:Shopify
4.4 最后:检查
完成以上优化动作后,次日在Google搜索界面,搜索:site:你的域名/collections/vendors
图片来源:Google
-------
对了,之前我还发现了Bigcommerce虚假宣传说shopify不支持修改robots.txt,在黑Shopify,还跑去怼Bigcommerce了(算是帮Shopify挽回点失去的面子)。