【问题标题】:PageSpeed suggestion: Leverage browser caching... How To?PageSpeed 建议:利用浏览器缓存...如何?
【发布时间】:2014-12-04 11:49:50
【问题描述】:

我有一个带有我自己创建的自定义主题的 wordpress 网站。目前,我正在研究“Google PageSpeed Insights”的建议,以改善我网站上的用户体验。

PageSpeed 建议“利用浏览器缓存”。结果如下:

**Leverage browser caching**

Setting an expiry date or a maximum age in the HTTP headers for static resources
instructs the browser to load previously downloaded resources from local disk 
rather than over the network.
Leverage browser caching for the following cacheable resources:
  http:.//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (60 minutes)
  http:.//pagead2.googlesyndication.com/pagead/osd.js (60 minutes)
  http:.//www.google.com/…callback%22%3A%22__gcse.sacb%22%7D%5D%7D (60 minutes)

因此,基本上,建议我将 Adsense 脚本缓存的“到期时间”设置为 60 分钟。

我尝试通过 REDbot 检查我的网站的缓存状态。结果如下:

常规

服务器的时钟是正确的。

内容协商

资源没有一致地发送 Vary。

支持 gzip 压缩的内容协商,节省 72%。

缓存

此响应允许所有缓存存储它。

此响应允许缓存分配自己的新鲜度生命周期。

我对结果的理解是,我的网站允许缓存,并且允许缓存分配自己的刷新时间。我没有使用任何 HTML “元”标签进行缓存,所以基本上,我的服务器就是这样配置的。

现在我的问题是:如何手动将脚本的“过期时间”设置为 60 分钟。 我知道如何使用“.htaccess”文件为各种文件类型设置缓存持续时间((使用 FilesMatch))。但是,据推测,此方法适用于文件类型,而不是“.php”文件中的单个脚本。 那么,如何更改 AdSense 脚本的缓存过期时间?

(((这是我的第一个stackoverflow问题,如果有任何错误或不足之处,请指出来..谢谢))

更新:

在“Andrew”的回答之后,我将以下内容添加到我的 .htaccess 文件中。

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 hour"
ExpiresByType image/jpeg "access plus 1 hour"
ExpiresByType image/gif "access plus 1 hour"
ExpiresByType image/png "access plus 1 hour"
ExpiresByType text/css "access plus 1 hour"
ExpiresByType text/html "access plus 1 hour"
ExpiresByType text/x-javascript "access plus 1 hour"
ExpiresByType image/x-icon "access plus 1 hour"
ExpiresDefault "access plus 1 hour"
</IfModule>
## EXPIRES CACHING ##

但它给了我奇怪的结果。 Pagespeed 现在降低了我的分数,现在有以下建议:

利用浏览器缓存设置到期日期或最长期限 静态资源的 HTTP 标头指示浏览器加载 以前从本地磁盘下载的资源,而不是通过 网络。将浏览器缓存用于以下可缓存 资源:

http.://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (60 minutes)
http.://pagead2.googlesyndication.com/pagead/osd.js (60 minutes)
http.://www.google.com/…callback%22%3A%22__gcse.sacb%22%7D%5D%7D (60 minutes)
http.://www.mananatomy.com/…heme/images/mananatomy_logo_modified.jpg (60 minutes)
http.://www.mananatomy.com/…mages/mananatomy_logo_modified_small.jpg (60 minutes)
http.://www.mananatomy.com/…s/mananatomy-theme/images/sidebar_bg.jpg (60 minutes)
http.://www.mananatomy.com/…ontent/themes/mananatomy-theme/style.css (60 minutes)
http.://www.mananatomy.com/…t/uploads/2010/12/basic-anatomy-logo.jpg (60 minutes)
http.://www.mananatomy.com/…nt/uploads/2010/12/body-systems-logo.jpg (60 minutes)
http.://www.mananatomy.com/…ntent/uploads/2010/12/histology-logo.jpg (60 minutes)

所以它变得更加混乱。有什么帮助???

【问题讨论】:

    标签: wordpress caching pagespeed


    【解决方案1】:

    在这里阅读:

        Leverage browser caching for the following cacheable resources:
      http:.//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (60 minutes)
      http:.//pagead2.googlesyndication.com/pagead/osd.js (60 minutes)
      http:.//www.google.com/…callback%22%3A%22__gcse.sacb%22%7D%5D%7D (60 minutes)
    

    不是你的资源没有被缓存!

    【讨论】:

    • 那么你是说 PageSpeed 要求我缓存一些我无法缓存的东西???
    • @AhsanIqbal 是的,这是完全奇怪的事实!我真的在问自己,pagespeed 团队中有哪些怪胎。
    • 一方面,您可能会下载这些资源并自己提供它们,但完全不推荐。洞察应用程序的一种 BS 建议。你也应该标记答案
    【解决方案2】:

    您将通过以下步骤解决该问题:

    1. 通过访问 htaccesstools.com/htpasswd-generator/ 创建 .htpasswd 文件并生成用户名和密码
    2. 将 .htpasswd 文件上传到您的 WordPress wp-admin 文件夹

    3. 将以下代码添加到您的 .htaccess 文件中

      ErrorDocument 401 default
      
      AuthType Basic
      AuthName "Restricted Area"
      AuthUserFile /home/public_html/wp-admin/.htpasswd
      require valid-user
      

    【讨论】:

      【解决方案3】:

      前面的括号(60 分钟)不是谷歌建议设置缓存的数量。实际上是谷歌告诉你缓存设置为非常低(60 分钟),即 1 小时

      对于图像和其他静态文件,请将您的缓存设置为至少 1 个月!

      关于 google 的 JS 文件,您无能为力.. 您无法缓存外部链接(尤其是 javascript)而不会使您的网站混乱

      【讨论】:

        【解决方案4】:

        我使用了一些代码来利用浏览器缓存问题来提高网站速度性能并获得了不错的结果。

        第 1 步:在 Google Analytics 上进行预取。只需将以下代码放入网站正文代码中即可。

        第 2 步:然后在 .htaccess 文件中添加一些代码,以保留 1 年或 1 个月的浏览器缓存历史记录。

        缓存过期

        ExpiresActive On

        ExpiresByType image/jpg "访问 1 年"

        ExpiresByType image/jpeg "访问 1 年"

        ExpiresByType image/gif "访问 1 年"

        ExpiresByType image/png "访问 1 年"

        ExpiresByType text/css "访问 1 个月"

        ExpiresByType text/html "访问 1 个月"

        ExpiresByType application/pdf "访问 1 个月"

        ExpiresByType text/x-javascript "访问 1 个月"

        ExpiresByType application/x-shockwave-flash "访问 1 个月"

        ExpiresByType image/x-icon "访问 1 年"

        ExpiresDefault "访问 1 个月"

        缓存过期

        第 3 步:输入上述代码后,在您的 .htaccess 文件中添加一些额外的代码。

        标头集 Cache-Control "max-age=2592000, public"

        此代码将有助于在您的网站中控制缓存并提高网站性能

        【讨论】:

          【解决方案5】:

          这是最终的标头代码,涵盖了您需要涵盖的所有内容 将此代码添加到您将在站点根目录中找到的 .htacess 文件中。

          <IfModule mod_mime.c> AddType text/css .css AddType text/x-component .htc AddType application/x-javascript .js AddType application/javascript .js2 AddType text/javascript .js3 AddType text/x-js .js4 AddType video/asf .asf .asx .wax .wmv .wmx AddType video/avi .avi AddType image/bmp .bmp AddType application/java .class AddType video/divx .divx AddType application/msword .doc .docx AddType application/vnd.ms-fontobject .eot AddType application/x-msdownload .exe AddType image/gif .gif AddType application/x-gzip .gz .gzip AddType image/x-icon .ico AddType image/jpeg .jpg .jpeg .jpe AddType image/webp .webp AddType application/json .json AddType application/vnd.ms-access .mdb AddType audio/midi .mid .midi AddType video/quicktime .mov .qt AddType audio/mpeg .mp3 .m4a AddType video/mp4 .mp4 .m4v AddType video/mpeg .mpeg .mpg .mpe AddType video/webm .webm AddType application/vnd.ms-project .mpp AddType application/x-font-otf .otf AddType application/vnd.ms-opentype ._otf AddType application/vnd.oasis.opendocument.database .odb AddType application/vnd.oasis.opendocument.chart .odc AddType application/vnd.oasis.opendocument.formula .odf AddType application/vnd.oasis.opendocument.graphics .odg AddType application/vnd.oasis.opendocument.presentation .odp AddType application/vnd.oasis.opendocument.spreadsheet .ods AddType application/vnd.oasis.opendocument.text .odt AddType audio/ogg .ogg AddType application/pdf .pdf AddType image/png .png AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx AddType audio/x-realaudio .ra .ram AddType image/svg+xml .svg .svgz AddType application/x-shockwave-flash .swf AddType application/x-tar .tar AddType image/tiff .tif .tiff AddType application/x-font-ttf .ttf .ttc AddType application/vnd.ms-opentype ._ttf AddType audio/wav .wav AddType audio/wma .wma AddType application/vnd.ms-write .wri AddType application/font-woff .woff AddType application/font-woff2 .woff2 AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw AddType application/zip .zip </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css A31536000 ExpiresByType text/x-component A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType application/javascript A31536000 ExpiresByType text/javascript A31536000 ExpiresByType text/x-js A31536000 ExpiresByType video/asf A31536000 ExpiresByType video/avi A31536000 ExpiresByType image/bmp A31536000 ExpiresByType application/java A31536000 ExpiresByType video/divx A31536000 ExpiresByType application/msword A31536000 ExpiresByType application/vnd.ms-fontobject A31536000 ExpiresByType application/x-msdownload A31536000 ExpiresByType image/gif A31536000 ExpiresByType application/x-gzip A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType image/jpg A31536000 ExpiresByType image/webp A31536000 ExpiresByType application/json A31536000 ExpiresByType application/vnd.ms-access A31536000 ExpiresByType audio/midi A31536000 ExpiresByType video/quicktime A31536000 ExpiresByType audio/mpeg A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/mpeg A31536000 ExpiresByType video/webm A31536000 ExpiresByType application/vnd.ms-project A31536000 ExpiresByType application/x-font-otf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType application/vnd.oasis.opendocument.database A31536000 ExpiresByType application/vnd.oasis.opendocument.chart A31536000 ExpiresByType application/vnd.oasis.opendocument.formula A31536000 ExpiresByType application/vnd.oasis.opendocument.graphics A31536000 ExpiresByType application/vnd.oasis.opendocument.presentation A31536000 ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000 ExpiresByType application/vnd.oasis.opendocument.text A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType application/pdf A31536000 ExpiresByType image/png A31536000 ExpiresByType application/vnd.ms-powerpoint A31536000 ExpiresByType audio/x-realaudio A31536000 ExpiresByType image/svg+xml A31536000 ExpiresByType application/x-shockwave-flash A31536000 ExpiresByType application/x-tar A31536000 ExpiresByType image/tiff A31536000 ExpiresByType application/x-font-ttf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType audio/wav A31536000 ExpiresByType audio/wma A31536000 ExpiresByType application/vnd.ms-write A31536000 ExpiresByType application/font-woff A31536000 ExpiresByType application/font-woff2 A31536000 ExpiresByType application/vnd.ms-excel A31536000 ExpiresByType application/zip A31536000 </IfModule> <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon image/webp application/json application/vnd.ms-access video/webm application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint image/svg+xml application/x-shockwave-flash image/tiff application/x-font-ttf application/vnd.ms-opentype audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel <IfModule mod_mime.c> # DEFLATE by extension AddOutputFilter DEFLATE js css htm html xml </IfModule> </IfModule> <FilesMatch "\.(css|htc|less|js|js2|js3|js4|CSS|HTC|LESS|JS|JS2|JS3|JS4)$"> FileETag MTime Size <IfModule mod_headers.c> Header unset Set-Cookie </IfModule> </FilesMatch> <FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$"> FileETag MTime Size <IfModule mod_headers.c> Header append Vary User-Agent env=!dont-vary </IfModule> </FilesMatch> <FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|webp|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|webm|mpp|otf|_otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|_ttf|wav|wma|wri|woff|woff2|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|WEBP|JSON|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|WEBM|MPP|OTF|_OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|_TTF|WAV|WMA|WRI|WOFF|WOFF2|XLA|XLS|XLSX|XLT|XLW|ZIP)$"> FileETag MTime Size <IfModule mod_headers.c> Header unset Set-Cookie </IfModule> </FilesMatch> <FilesMatch "\.(bmp|class|doc|docx|eot|exe|ico|webp|json|mdb|webm|mpp|otf|_otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|pot|pps|ppt|pptx|svg|svgz|swf|tif|tiff|ttf|ttc|_ttf|wav|wri|woff|woff2|xla|xls|xlsx|xlt|xlw|BMP|CLASS|DOC|DOCX|EOT|EXE|ICO|WEBP|JSON|MDB|WEBM|MPP|OTF|_OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|POT|PPS|PPT|PPTX|SVG|SVGZ|SWF|TIF|TIFF|TTF|TTC|_TTF|WAV|WRI|WOFF|WOFF2|XLA|XLS|XLSX|XLT|XLW)$"> <IfModule mod_headers.c> Header unset Last-Modified </IfModule> </FilesMatch> <IfModule mod_headers.c> Header set Referrer-Policy "no-referrer-when-downgrade" </IfModule>

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-08-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-15
            相关资源
            最近更新 更多