web-crawler - Google Search Console 和 Page Speed Insights 抓取工具无法始终如一地加载页面
问题描述
我们一直在努力使用 Page Speed Insights 和 Google Search Console 始终如一地加载我们的网页。它是一个没有 SSR(服务器端渲染)的 Angular SPA。
当我对我们的网站进行速度检查时,有时它会给出 60-70(移动)的预期分数,并且它会显示我们的网站在图像中正确呈现。但其他时候,它返回完美的 100(再次移动),但只显示我们包含在原始 HTML 中的页面部分,根本没有执行任何 JS。我附上了下面的两张图片。
似乎问题在于有时它不等待 JS 渲染页面并假设页面已完全加载。
因此,我在这里有几个问题: - 这些爬虫如何决定网页何时完全加载?- 我们如何确保 Google Crawler 始终看到我们希望它看到的内容?
我知道 SSR 可能是唯一能保证它的解决方案,但是不断从谷歌的人那里得到支持 SPA 的提示,但随后又不断发现新的证据表明支持存在相当多的问题,这非常令人沮丧。
解决方案
因此,您遇到的问题是由于您的聊天小部件。(我相信,不可能确定)
页面加载,然后在一段时间(大约 5 秒)后,它似乎加载了聊天小部件 JS 等(这可能是出于性能考虑)。
然而,Lighthouse(PSI 背后的引擎)所做的是等待 CPU 空闲和网络空闲来计算您的分数。
不确定网络空闲的时间,但 CPU 空闲正在寻找 5 秒的“安静时间”,作为计算First CPU Idle
,Max first input delay
和何时time to interactive
发生(主要是First CPU idle
)的一部分。
我猜这取决于网络延迟等。有时整整 5 秒过去了给你一个很好的分数,其他时候小部件开始在 5 秒内加载,所以它考虑在内。
获得分数的最准确方法是使用 Chrome Audit 并更改为“Applied Slow 4G, 4x CPU Slowdown”,因为这样simulated
可以放大这样的行为。
推荐阅读
- wordpress - 过滤自定义字段和分类法 Light not working o my wordpress site
- css - 相同的 CSS,不同的结果(Bootstrap4,仅限 Chrome)
- java - 带问号的菱形在加密信息中是否正常?
- react-native - 避免反应原生初始页面顶部有一些空间
- c++ - 在 Visual Studio 中使用代码块代码
- django - 如果权限被拒绝,Django rest框架重定向
- python - cursor.execute 值子字符串不起作用
- php - 你有想法以新的方式发送电子邮件吗?
- javascript - 如何使用 javascript 从多个文本输入中打印数组列表?
- mysql - Laravel,首先尝试创建一个简单的表,没有找到错误