群里有人问了个挺典型的问题:用 site 语法一查,网页收录了四十多条,可点开快照,好几个页面显示的是空白或者提示无缓存。收录了但快照不对,这两者到底什么关系?是不是被降权了?先说结论:收录和快照是两回事,做百度快照优化之前,得先把这两个概念掰开。
收录和快照是两回事
简单讲,收录是指页面进了搜索引擎的索引库,用户搜相关词时有机会被展示;快照则是搜索引擎抓取时留存的页面备份。理论上页面被收录就该有快照,但实际中快照更新有延迟、有缺失,两条线得分开看、分开查。
收录正常但快照异常的几种情况
- 刚收录没几天,快照还没来得及生成或更新,等一段时间自己就好。
- 页面主要内容靠 JS 动态渲染,蜘蛛抓到的是空壳,收录了但快照里没东西。
- 抓取时服务器超时,拿到半份残缺内容。
- 页面设了 noarchive 标签禁止生成快照,一般是以前故意设置的,忘删了。
JS 渲染为什么吃亏
展开说说前端渲染这个坑。单页应用技术先进,但搜索引擎抓取时执行 JS 的能力和耐心都有限,抓到空壳就存空壳。不是不能用前端框架,而是要给蜘蛛留门:重点页面用服务端渲染或者预渲染,退一步也要做好站内链接和正文的服务端直出。这条理顺了,收录和快照的很多怪现象会一起消失。
判断方法很直接
用抓取诊断看一下蜘蛛实际拿到的是什么。如果返回的 HTML 里正文都齐,那就是快照环节的延迟,耐心等加主动推送;如果返回的本身就是空壳,问题在前端技术方案上,关键内容别全压在 JS 里。诊断结果存档下来,前后对比才有说服力,跟程序团队沟通时也省得各说各话。
那位群友的站就是全站前端渲染,后来把重点页改成服务端输出,快照陆续就正常了。
两条实在建议:一是别用快照新旧判断降权与否,那是老黄历了,看收录、排名和抓取数据更靠谱;二是如果收录和快照长期对不上号,比格网络可以从抓取诊断和日志两头帮你查,十分钟就能判断问题出在内容层还是技术层,百度快照优化很多时候卡的就是这一步判断,判断对了,后面的事就顺了。