当打开百度搜索的时候, 你会看到
红色框内的就是meta的description描述标签, 在源码中可以查看
但有时会存在百度抓取不到详情, 如下图这样
很明显, 这是百度的爬虫没有抓取到description内容数据, 进而去网页内容中随机抓取了一些数据进行展示
一般出现这种情况, 大概率是我们的description描述编写不规范导致的. 原因可能是:
1、描述中关键词重复
2、描述内容和titie内容重复
3、描述不能形成通顺的句子,仅仅是关键字的罗列
4、描述中不包含用户搜索的关键字
5、描述与页面相关性差
6、网站未编写description描述
做到以下几点可以保证description能够被爬虫准确抓取:
1、描述字数尽量控制在60-120之间
2、描述避免关键词重复,形成通顺的语句
3、描述要贴近网页内容
如果以上还解决不了问题,可以从以下几方面再去排查:
1、网站权重是否过低
2、网站是否上线时间<60天
3、robots.TXT是否封禁搜索引擎
(第一种方式:更改robots.TXT文件,robots.TXT一般在网站的根目录下,取消user-agent属性对百度蜘蛛爬虫的禁用;第二种,查看网页代码的head标签中是否存在<metaname="rabots" content="noarchive">或者<metaname="Baiduspider" content="noarchive">,有则删除)
tips:在更新了网页内容发布上线后,需要等待百度爬虫重新爬取到更新后的数据,一般周期为三到四天
如果以上方式都未解决,需要考虑更改项目为服务端渲染,常用的服务端渲染方案和框架有:
1、ssr(需要后端支持)
2、nuxt.js、Astro(成本较高)
有错误之处, 欢迎指正.