- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我可以节省的 KB 数量不多,但为了在 Google PageSpeed Insights 中获得更好的分数,从而可能获得更好的 SEO 排名,我该如何解决这个问题?
来自https://developers.google.com/speed/pagespeed/insights/?hl=en&url=www.tradebench.com :
Minify JavaScript for the following resources to reduce their size by 2.8KiB (2% reduction). Minifying http://d2bfamm4k6zojq.cloudfront.net/…tion-ea806932c941fb875b7512a557ebead3.js could save 2.8KiB (2% reduction) after compression.
对于我的 CSS 文件,它告诉我同样的事情。
来 self 的 production.rb 文件:
config.assets.compress = true
config.assets.js_compressor = Uglifier.new(:mangle => true)
config.assets.css_compressor = :yui
查看 uglifier 文档/选项,我不知道如何配置它来获取最后 2KB。
有人知道如何让它压缩最后一点点以删除有关它的 PageSpeed 通知吗?也许使用 Uglifier 之外的其他压缩器?
谢谢:-)
最佳答案
如果您只检查缩小的 js,您会发现代码已缩小,但您包含的每个 js 库在顶部都有自己的版权和许可信息(这是正确的),如以下代码片段:
/**
* Copyright 2009 SomeThirdParty.
* Here is the full license text and copyright
*/
如果您确实希望在您的 Rails 应用程序上实现完全缩小,并摆脱页面速度洞察的 2% 额外压缩通知,您可以通过以下设置来实现:
config.assets.js_compressor = Uglifier.new(copyright: false)
或
config.assets.js_compressor = Uglifier.new(output: { comments: :none })
注意1:以上两项都会最小化您的application.js,而无需任何注释。
注意2:通过上述两项设置,uglifier 会从缩小的 js 中删除所有版权信息,从而您的应用达到 google pagespeed 所需的总缩小程度,并且您将获得 +1 分你的分数。
但是,您不应避免包含您正在使用的代码的版权。大多数许可证(MIT、BSD、GPL...)要求您在重新分发库时保留版权和许可信息。当您允许浏览器从您的服务器或 CDN 下载库的压缩副本时,算作您重新分发库。因此,您应该在应用程序的某个位置包含版权和许可信息。
您可以做的一件事是收集您在应用程序上使用的 js 库的所有版权信息,并将它们全部添加到 licenses.txt 中,并将其放在您的公共(public)文件夹中。您的 public/licenses.txt 应如下所示:
/**
* Unobtrusive scripting adapter for jQuery
* https://github.com/rails/jquery-ujs
*
* Requires jQuery 1.8.0 or later.
*
* Released under the MIT license
*
*/
[...and the rest copyrights here one after the other]
然后通过使用链接标记指定该文件在应用程序的 html 头部的位置(layouts/application.html):
<head>
<!-- License information of used libraries -->
<link rel="license" href="../licenses.txt">
</head>
rel=license表示:当前文档的主要内容受到引用文档描述的版权许可的保护。
最后,如果你想更正确地理解这一点,你应该在缩小的 application.js 上只包含一条注释,以便让某人准确地找到所有版权信息(以防万一......)。为此,请在 application.js 文件顶部添加以下注释:
/*!LC
* Copyright and Licenses: http://www.example.com/licenses.txt
*/
因此您的 application.js 可能如下所示:
/*!LC
* Copyright and Licenses: http://www.example.com/licenses.txt
*/
//= require jquery
//= require jquery_ujs
//= [..rest of your requires]
注意:我在开头用 !LC 来区分此评论。您需要这个来将 regexp 传递给丑化器,以便它允许在缩小的 js 上ONLY THIS comment。为此,请转到 Production.rb 并放置以下内容:
config.assets.js_compressor = Uglifier.new(output: { comments: /^!LC/ })
Uglifier 只允许在缩小的 js 文件顶部添加 !LC 注释,您不会因为只有一条注释而收到关于页面速度洞察的警告。如果你做到了所有这些,你就会完全没问题,你在页面速度洞察方面获得满分,你已经完全缩小了 .js 以实现最佳交付,并且你拥有所有版权以解决任何法律问题。
关于ruby-on-rails - 为什么 Google PageSpeed Insights 告诉我缩小 javascript 和 CSS(使用 Rails 3.2 和 JS 和 CSS 压缩)以及如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21937190/
我试图让 Lighthouse 提供与我们从 Pagespeed Insights 获得的结果相似的结果,但数字还差得很远。目前正在查看分数和ttfb。这是从地球上的不同位置运行的,我们希望以合理的方
当我使用 google PageSpeed Insights 测试 facebook 时,我得到的结果非常不一致。它为 http://facebook.com 给出了不同的结果, https://fa
我通过我的 cPanel 在我的网站上激活了 Google PageSpeed 模块,我的网站现在似乎快了很多,但我注意到它增加了很多: eval(mod_pagespeed_123ABC); eva
如何允许 pagespeed 洞察到 http 基本身份验证站点?即使我按以下格式提到用户名和密码,它仍会返回如下错误。 Lighthouse 返回错误:FAILED_DOCUMENT_REQUEST
在部署了一个相当快的网站后,我通过 PageSpeed Insights 运行它,它的性能得分只有 25 左右。同时,完全相同的页面在 Edge 内的 Lighthouse 性能中排名 85。 我知道
我从 Chrome 开发工具和 Google Page Speed Insights 页面运行 Google Page Speed Insights(移动)得到了不同的结果。当我从 Chrome 开发
我已经为客户建立了一个模板和一些网站。我总是关心网站加载时间。我 Google PageSpeed Insights 是我的主要工具之一。两天前,我提到了一些不同的事情。我发现我的许多网站页面加载都在
我最近注意到 Google 更新了 PageSpeed Insight 报告页面。有一个“起源摘要”。 它到底是什么意思?为什么它与现场数据略有不同? 最佳答案 如果您正在测试的页面有足够多的访问者,
因此,在我所有的网页上,我都有 Yandex metrika 用于分析的代码。根据谷歌的说法,这个脚本正在减慢我的页面速度,需要改变它的加载方式以不被渲染阻塞、TTI 时间输入阻塞、FID 首次输入延
因此,在我所有的网页上,我都有 Yandex metrika 用于分析的代码。根据谷歌的说法,这个脚本正在减慢我的页面速度,需要改变它的加载方式以不被渲染阻塞、TTI 时间输入阻塞、FID 首次输入延
为什么Cumulative Layout Shift metric谷歌速度测量工具中的报告,如 Lighthouse/PageSpeed Insights与 Search Console 中报告的不同
我正在尝试 Google v5 API 页面速度洞察,但在 JSON 结果中找不到 SCORE。 这是 api https://www.googleapis.com/pagespeedonline/v
我目前正在我的新网站上使用页面速度,对此非常满意。 但我刚刚意识到我的/phpmyadmin 现在是空白的。 我知道这是因为 pagespeed 因为当我去/phpmyadmin/?PageSpeed
我有一个正在为http://dev.eatfit.co.nz/临时托管的客户创建的wordpress网站 我注意到经常(但不是每次)浏览页面(例如主页)时,我认为是google pagespeed在线
我想利用浏览器缓存来提高页面速度。听起来 max-age 和 Last-modified 是不错的选择,但我不清楚如何确定应该为其实现哪些文件。一般来说,我对如何实际执行此操作以及代码在 htacce
Recently google has changed page speed or page insights algorithm. Even if you keep your css or js i
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 4 年前。 Improve t
我不明白为什么 Google Pagespeed 在调整大小后会降低图像质量: 这是原图: http://www.architetturaecosostenibile.it/images/storie
我目前正在使用 Goole Pagespeed Insight 推荐进行网站优化。我已经设法取得了相当不错的成绩,但我在某个时候遇到了困难。经过几次测试后,我的结论是,我最后遇到的大部分问题都与我的网
Google PageSpeed 建议在 中添加关键 CSS标记在头部,并将外部 CSS 推迟到 HTML 的末尾。 通过在 HTML 中内联 CSS(应该分开)以及在 CSS 加载时创建 FOUC
我是一名优秀的程序员,十分优秀!