如何消除移动设备

时间:2017-01-31 05:28:29

标签: javascript css angularjs asynchronous seo

最近我测试了我的网站的移动友好性,移动速度和桌面速度。我对桌面和移动速度的结果感到震惊,这些结果太差了,分别是48/100和40/100,错误,< / p>

Eliminate render-blocking JavaScript and CSS in above-the-fold content

然后我删除了在我的页面中加载的不需要的内容,并在我的标记的末尾添加了延迟,然后通过此更改,桌面上的错误被抑制,我的分数增加到桌面的82/100和68 / 100手机。   到目前为止一切都很好,但问题是我的移动速度仍然存在同样的错误,

Eliminate render-blocking JavaScript and CSS in above-the-fold content

我不知道为什么用桌面修复时移动速度仍然存在错误。任何人都可以帮我提一个建议。谢谢。

2 个答案:

答案 0 :(得分:1)

当您将CSS文件放在标题<head>部分中时,浏览器无法加载其他资源,直到它们没有从您的服务器获取(呈现)css文件。

Google already said on their article,如果你有小的css文件然后把它放在head部分内部,那么浏览器不需要向你的服务器请求另一个HTTP GET请求,它将直接从你的{{1}使用CSS }如果您的css文件很大,那么使用javascript异步呈现它(示例已包含在上面的链接中)。

对于javascript使用asyn标记,如<style>.yourcsscode{}</style>,如果你的javascript很小,那么在内部使用它,这样你就可以保存另一个HTTP GET请求。

这里的全部内容是,您的浏览器需要等待加载其他资源,直到他们没有从服务器获取css和javascript文件。 Rahul提供了太多不能解决这个问题的要点,但是如果你考虑优化你的页面速度,它会很有用。

答案 1 :(得分:0)

不要在<head>标记之间包含js文件,而是在body标记的末尾包含它们

我建议你压缩和缩小一个文件中的所有js并将css放在一个文件中以减少http请求并使用.htaccess添加到期标头

这可能对您有所帮助https://varvy.com/pagespeed/render-blocking-css.html

另外,我建议您参考此链接https://developer.yahoo.com/performance/rules.html

  1. 减少HTTP请求数
  2. 使用内容分发网络(CDN)
  3. 添加过期或缓存控制标头
  4. Gzip Components
  5. 将样式表置于顶部
  6. 将脚本放在底部
  7. 避免使用CSS表达式
  8. 使JavaScript和CSS外部
  9. 减少DNS查找
  10. 缩小JavaScript和CSS
  11. 避免重定向
  12. 删除重复的脚本
  13. 配置ETags
  14. 使Ajax可以缓存
  15. 早期冲洗缓冲液
  16. 使用GET进行Ajax请求
  17. 后期加载组件
  18. 预装组件
  19. 减少DOM元素的数量
  20. 跨域拆分组件
  21. 最小化iframe数量
  22. 避免使用404s
  23. 减少Cookie大小
  24. 为组件使用Cookie-Free Domains