分享一个最近碰到的案例。
某天微信上来了个消息,咨询为什么自己做的网页收录极少。明明已经有了上千个页面且内容还算是不错,网站的技术设置也没有屏蔽爬虫抓取,但整体的收录数据就是上不去,更别提关键词出词了。
起初我还以为是低质量内容的缘故,但一打开人家的网页,上面的内容做的确实不错,图片搭配合理且排版精美,仔细读起来也有点东西。
于是一点点排查。
起初看站长工具后台,里面的爬虫报告上显示是有抓取记录的,且一直持续有爬虫光顾他的网站。
这也就说明整体的技术通道是没有问题的,问题可能就出在某些技术设置有瑕疵。
然后准备排查 SEO 插件的设置,但是反馈说在这块没有做任何操作。因为并不是使用 WordPress 建站,而是直接在某平台上买的源代码,并部署在自己的服务器上。
所以后面自然就怀疑是不是这套源代码有什么技术问题。
通过工具测试后发现,这套源代码在 SEO 优化方面基本就是坑,因为整体上使用的是客户端渲染(CSR)技术来做内容加载的。
技术层面上的通俗理解,就是网站初始加载时只有一个网页框架,里面基本没任何内容。后续有用户在网页上做了点击或者浏览动作时,触发了 js 代码才会去加载网页内容。
注:这种内容加载方式现在已经非常少见了,主流的建站方式都不是这种内容渲染方式。
这种技术逻辑,对于个人用户的使用体验而言基本没有问题,但是对于爬虫而言就问题大了。
因为爬虫初次加载时只有一个空旷的内容框架(没有内容),于是爬虫自然就会认为这个页面是没有内容的,它并不会像人一样会去做点击之类的操作。
问题发现了,后续自然就是整改了,无奈前面花的那些成本都白白浪费了。
所以这种 JavaScript SEO,如果你纯粹是使用技术去搭建网站的话,是很有必要好好学习一下的。
且官方文档里已经有了不少这方面的说明,值得我们在动手之前好好看看。
像官方文档里的这个案例(第十点),说的内容付费墙方面的实操操作。
比如我们看很多平台需要付费订阅才能显示完整内容,但是在做内容隐藏时只是通过简单的 js 代码设置内容不可见。
于是矛盾出现了,虽然普通用户在浏览器上看不到隐藏内容,但是这些被隐藏的内容却在网页源代码里明明白白的显示着(通过查看网页源代码的方式都能看到这些被刻意隐藏的内容)。
这就让爬虫很尴尬了,到底是抓取已经呈现出来的内容,还是说这些被隐藏的内容都要抓取进去。
于是官方文档里就给实操说明,不要用这种 js 代码认为隐藏的方式去做内容付费墙。
相反直接在服务端做出免费版本与付费完整版本,倒是一个更好选择。
其实在网站运营过程中,类似这样的坑还挺多的,没办法只能一个一个踩过去才能提高自己的能力。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。