标签: pagespeed

网站主页应该缓存吗?

对于我的知识,只应为网站的静态内容启用缓存,并且我们对动态页面使用no-cache.网站主页是最动态的页面,因为内容会定期更新.奇怪的是,我发现主要网站也为主页设置了一个短缓存最大值.谷歌设置3秒,stackoverflow 21秒.

更奇怪的是(对我来说),在分析性能时WebPageTest.org,它将主页视为静态内容,并期望缓存生命周期长.例如,您将收到一个FAILED通知,其中包含21秒的短缓存生命周期stackoverflow.com.点击这里.即使是2小时,您也会收到警告.

如何缓存主页面和其他动态页面?

html performance caching pagespeed http-headers

5
推荐指数
2
解决办法
191
查看次数

JSF 延迟解析 JavaScript 的最佳方式?

使用 JSF 延迟加载 JavaScript 库(Richfaces、Primefaces、自己的东西)以加快页面加载的最佳方法是什么?

正如 Google PageSpeed 插件所说,建议在网站完全加载时解析 JavaScript。实现此目的的一种方法是将 JavaScript 加载放在<body>标签的末尾。另一种方法是将“defer”属性放在<script>标签上,<h:outputScript>正如我所见,这是用JSF的标签无法做到的。

那么,你会怎么做呢?

javascript jsf pagespeed

5
推荐指数
2
解决办法
2850
查看次数

无损图像压缩工具

在公共站点上运行Google Page Speed时,我看到了该工具的一些建议,如下所示:

无损压缩http://g-ecx.images-amazon.com/images/G/01/electronics/detail-page/Acer-120x120._V137848950_.gi可以节省4.8KiB(减少26%),并且还提供了链接最佳化的内容。但是他们会以每个图片为基础。压缩后,我看到文件大小有明显减少。所以问题是:

我是否可以使用任何工具或Web服务,以便为它提供未压缩图像的目录(例如.gif),并返回包含所有压缩图像的图像目录?

我在这里找到了一个与SO有关的问题,但这并不是一个完全相同的问题。

谢谢阅读。

compression imaging image-compression pagespeed

5
推荐指数
1
解决办法
9522
查看次数

PNG 图像的奇怪 pagespeed URL?

我使用文件名 logo.png 将具有 alpha 透明度的 PNG 图像上传到我的服务器,但是,当在页面上使用该图像并查看它的文件路径时,我得到:

http://example.com/i/300x300xlogo.png.pagespeed.ic.0A66xVq4G9.png
Run Code Online (Sandbox Code Playgroud)

该文件在服务器上无处可见。

我不知道它是否会影响它,但实际图像大小是 400 像素 x 400 像素,我在 HTML 中显示为 300 像素 x 300 像素。(不要问。)

可能是我的网络主机这样做吗?似乎在文件前面加上要显示的分辨率:300x300x并且还有那个奇怪的后缀:.pagespeed.ic.0A66xVq4G9.png

html css image image-processing pagespeed

5
推荐指数
1
解决办法
6294
查看次数

谷歌 Pagespeed 见解声称没有设置过期,虽然它似乎存在

根据谷歌页面速度见解,例如资源未设置到期时间(' (未指定到期时间) ')。但是,如果我查看我的 chrome 日志,我会看到

HTTP/1.1 200 OK
Date: Thu, 15 Nov 2012 23:27:40 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 1323
Cache-Control: max-age=2692000, public
Expires: Sat, 15 Dec 2012 23:27:40 GMT
Keep-Alive: timeout=10, max=30
Connection: Keep-Alive
Content-Type: image/png
Run Code Online (Sandbox Code Playgroud)

据我所知,其中包含所有必要的标题。我目前正在使用此答案所建议的 htaccess 文件,尽管我尝试了一些手动变体和其他一些答案所建议的其他一些 htaccess 文件。有没有人知道我做错了什么,或者谷歌只是在惹我?

apache caching pagespeed http-headers

5
推荐指数
0
解决办法
531
查看次数

修复Google PageSpeed的"服务缩放图像"以实现响应式布局

我的布局响应,所以我需要有比例缩小图像使用移动设备时放入模板,例如,span3Boostrap可能占据整行这样的宽度将增加.

但在Google PageSpeed中,它被标记为一个问题.

有没有解决方法或更好的方法来处理这个问题?

html5 pagespeed responsive-design twitter-bootstrap

5
推荐指数
1
解决办法
1万
查看次数

使用回退异步加载 jquery 核心

通过头中的性能优化和非阻塞脚本,我一直在尝试异步加载 jquery 本身。

我遇到了一个jQuery Loader脚本,它异步加载 jquery,然后捕获和排队 jquery 文档就绪调用。这似乎在大部分时间都有效,但并非总是如此。

因此,如果加载程序在 x 秒内未完成,我创建了一个回退来加载本地 jquery 版本。回退有效,但不完全。有些部分可能有效,有些则无效。

加载 jquery 加载器脚本后,到目前为止在 head 中调用的脚本:

<script type="text/javascript">
function loadScript(url)
{
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    head.appendChild(script);
}

var fallback_timer = setTimeout(function() {
    loadScript('/path/to/local/js/jquery.js');
},5000);
jQl.loadjQ('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',function({clearTimeout(fallback_timer);});

</script>
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 任何有 jQuery Loader (jQl) 经验的人都可以帮助解决它经常失败的问题?

  2. 谁能告诉我为什么在失败的情况下,只有我的其他一些 js 脚本可以工作,而有些却一直失败?

  3. 我非常愿意使用其他一些插件/脚本/方向来异步加载 jquery 核心。

澄清一下,我不是在考虑使用 jQuery 异步加载脚本,而是在支持加载 jquery 依赖脚本的同时异步加载 jquery 本身。

jquery asynchronous pagespeed

5
推荐指数
1
解决办法
1702
查看次数

如何从main.css文件中删除关键CSS

我正在努力提高页面速度.我正在使用Critical Path CSS Generator工具来识别首字母CSS.然后我按照建议内联关键CSS ,并异步加载完整的css.

但是我最终得到了很多重复的CSS,这不是那么优化.所以我的问题是:

如何从main.css文件中删除关键的CSS?

提前致谢.

css optimization asynchronous inline-code pagespeed

5
推荐指数
1
解决办法
855
查看次数

使用Web Font Loader后"脚本作为渲染阻止文件"

我正在尝试从加载Google网络字体导致的Google Pagespeed洞察中删除"脚本作为渲染阻止文件"错误.互联网告诉我使用Web Font Loader加载字体异步.我在页脚中放置了下面的一段javascript,字体加载得很好,但我的pagespeed洞察结果中仍然出现了渲染阻塞错误.

注意:字体渲染阻止错误仅在移动测试中显示,而不是在桌面上显示.

<script>
      WebFontConfig = {
         google: {
            families: ['Archivo Narrow:300,400,700']
         }
      };

      (function(d) {
         var wf = d.createElement('script'), s = d.scripts[0];
         wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
         wf.async = true;
         s.parentNode.insertBefore(wf, s);
      })(document);
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:

尝试在关闭body标记之前添加脚本仍会导致渲染阻止文件错误:

<script>
   WebFontConfig = {
      google: {
         families: ['Archivo Narrow:300,400,700']
      }
   };

   (function(d) {
      var wf = d.createElement('script'), s = d.scripts[0];
      wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
      wf.async = true;
      document.body.appendChild(wf);
   })(document);
</script>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript fonts pagespeed google-pagespeed webfont-loader

5
推荐指数
0
解决办法
692
查看次数

Angular8 SSR,首次输入延迟慢

我尝试构建具有最佳性能的Angular应用。
这个程序很简单:

在此处输入图片说明

一个页眉(带有两个链接),一个页脚,主页和关于页面。
该应用程序在这里可用

我使用Chrome的LightHouse查看指标。
使用默认指标:

Device: Mobile
Audits: All
Throttling: Simulated Slow 4G, 4X CPU Slowdown
Clear Storage
Run Code Online (Sandbox Code Playgroud)

在此之后,我使用Nginx代理通过gzip提供所有资产。

  gzip on;
  gzip_vary on;
  gzip_proxied any;
  gzip_types text/plain application/json text/xml text/css text/js text/javascript application/javascript image/svg+xml;
  gzip_min_length 1000;
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果> 在此处输入图片说明

当然,这还不错,但是我想看看Angular是否有可能使First Input Delay小于100ms。

如果我删除了清除存储参数,则会出现以下情况。
如果我不输入任何节流参数,我将处于下面。

但是我想使用这些参数将其设置为100ms以下。因此,当我在生产环境中构建产品时,可能会错过一些参数,该项目基于Angular SSR hero应用程序

我看到当我呈现不带JS文件的网站时,只要没有javascript交互并且我在First输入交互中的时间为20毫秒,它仍然可以正常工作,因此也许有一种方法可以不同地加载JS脚本。它正在使用> = 1500ms的超时,但这不是一个好习惯。

我想知道Angular SSR是否可以使用<100ms的首次输入时间延迟来渲染,或者该堆栈是否实际无法渲染。

我了解LightHouse审核是基于您的计算机性能。我使用Pagespeed洞察力获得了几乎相同的结果 ,但由于服务器性能较弱,速度索引和第一个字节的到达时间除外。

Github项目:https : //github.com/mlescaudron/angular-app-optimized
还有要在本地测试的命令:

# Docker config for nginx with gzip compression
docker run -d --name web-server --network=host …
Run Code Online (Sandbox Code Playgroud)

javascript pagespeed node.js angular angular8

5
推荐指数
0
解决办法
405
查看次数