简体   繁体   English

PageSpeed建议:利用浏览器缓存......如何?

[英]PageSpeed suggestion: Leverage browser caching… How To?

I have a wordpress website with a custom theme that I created myself. 我有一个自己创建的自定义主题的wordpress网站。 Currently, I am working on suggestions from "Google PageSpeed Insights", to improve user-experience on my website. 目前,我正在制作“Google PageSpeed Insights”的建议,以改善我网站上的用户体验。

PageSpeed is suggesting "Leverage Browser Caching". PageSpeed建议“利用浏览器缓存”。 Below are the results: 以下是结果:

 **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) 

So, basically, it is suggesting me to set "expiry-time" for cache of the Adsense scripts to 60 minutes. 因此,基本上,它建议我将Adsense脚本缓存的“到期时间”设置为60分钟。

I tried to check the caching status of my website via REDbot. 我试图通过REDbot检查我的网站的缓存状态。 Below are the results: 以下是结果:

General 一般

The server's clock is correct. 服务器的时钟是正确的。

Content Negotiation 内容谈判

The resource doesn't send Vary consistently. 资源不会始终发送Vary。

Content negotiation for gzip compression is supported, saving 72%. 支持gzip压缩的内容协商,节省72%。

Caching 高速缓存

This response allows all caches to store it. 此响应允许所有缓存存储它。

This response allows a cache to assign its own freshness lifetime. 此响应允许缓存分配其自己的新鲜度生命周期。

My understanding of the results is that my website allows caching and that it allows a cache to assign its own refresh time. 我对结果的理解是我的网站允许缓存,并允许缓存分配自己的刷新时间。 I am not using any HTML "meta" tags for caching so basically, my server is configured this way. 我没有使用任何HTML“元”标签进行缓存,所以基本上,我的服务器是这样配置的。

Now my question is: how would I manually set the "expitry-time" for the scripts to 60 minutes. 现在我的问题是:如何手动将脚本的“expitry-time”设置为60分钟。 I know how to use ".htaccess" file to set caching duration for various file types ((using FilesMatch)). 我知道如何使用“.htaccess”文件来设置各种文件类型的缓存持续时间((使用FilesMatch))。 But, presumably, this method works for File types, not individual scripts within ".php" files. 但是,据推测,此方法适用于文件类型,而不适用于“.php”文件中的单个脚本。 So, how can I change the caching expiry-time of adsense scripts? 那么,如何更改adsense脚本的缓存到期时间?

((This is my first stackoverflow question, so if there is any mistake or deficiency, please point it out for me.. Thanks)) ((这是我的第一个stackoverflow问题,所以如果有任何错误或不足,请指出我...谢谢))

UPDATE: 更新:

After the answer from "Andrew", I added the following to my .htaccess file. 在“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 ##

But it gave me strange results. 但它给了我奇怪的结果。 Pagespeed now decreased my score and has the following suggestions now: 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. 利用浏览器缓存在HTTP标头中为静态资源设置到期日期或最长期限,指示浏览器从本地磁盘而不是通过网络加载以前下载的资源。 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) 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) 

So it got even more confusing. 所以它变得更加令人困惑。 Any help ??? 任何帮助???

read here: 在这里阅读:

    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)

Its not your resources not being cached! 它不是你的资源没有被缓存!

The bracket in front like (60 minutes) is NOT a suggestion by google to set cache by that amount. 前面的括号(60分钟)不是谷歌建议按该数量设置缓存。 It is actually google telling you that Cache is set to very low (60 minutes) ie 1 hour 它实际上谷歌告诉你,缓存设置为非常低(60分钟),即1小时

For images and other static files, set your cache to at least 1 month! 对于图像和其他静态文件,请将缓存设置为至少1个月!

About google's JS files, you cant do anything.. you cant cache EXTERNAL links (esp javascript) without messing your website up 关于谷歌的JS文件,你不能做任何事情..你不能缓存EXTERNAL链接(esp javascript)而不会弄乱你的网站

I have used some code for leverage browser caching issue to increase website speed performance and got nice result in it. 我已经使用一些代码来利用浏览器缓存问题来提高网站速度性能并获得了很好的结果。

Step 1: To make Prefetch on Google Analytics. 第1步:在Google Analytics上进行预取。 Just put bellow code into website body code. 只需将波纹管代码放入网站正文代码即可。

Step 2: Then Added some code into .htaccess file to keep remember browser cache history for 1 year or 1 month. 步骤2:然后在.htaccess文件中添加一些代码,以记住1年或1个月的浏览器缓存历史记录。

EXPIRES CACHING 过期缓存

ExpiresActive On ExpiresActive On

ExpiresByType image/jpg "access 1 year" ExpiresByType图片/ jpg“访问1年”

ExpiresByType image/jpeg "access 1 year" ExpiresByType image / jpeg“访问1年”

ExpiresByType image/gif "access 1 year" ExpiresByType image / gif“access 1 year”

ExpiresByType image/png "access 1 year" ExpiresByType image / png“访问1年”

ExpiresByType text/css "access 1 month" ExpiresByType text / css“访问1个月”

ExpiresByType text/html "access 1 month" ExpiresByType text / html“访问1个月”

ExpiresByType application/pdf "access 1 month" ExpiresByType application / pdf“access 1 month”

ExpiresByType text/x-javascript "access 1 month" ExpiresByType text / x-javascript“访问1个月”

ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType应用程序/ x-shockwave-flash“访问1个月”

ExpiresByType image/x-icon "access 1 year" ExpiresByType image / x-icon“访问1年”

ExpiresDefault "access 1 month" ExpiresDefault“访问1个月”

EXPIRES CACHING 过期缓存

Step 3: After put the above code then added some extra code into your .htaccess file. 第3步:放入上面的代码后,在.htaccess文件中添加了一些额外的代码。

Header set Cache-Control "max-age=2592000, public" 标题集Cache-Control“max-age = 2592000,public”

This code will help Control Cache in your website and Up website performance as high situation 此代码将帮助您的网站中的控制缓存和Up网站性能高的情况

这是最终的标题代码,涵盖了您在.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>

You will have a solution of that problem by following below steps: 您将通过以下步骤解决该问题:

  1. create .htpasswd file by going to htaccesstools.com/htpasswd-generator/ and generate username and password 通过转到htaccesstools.com/htpasswd-generator/创建.htpasswd文件并生成用户名和密码
  2. upload .htpasswd file to your WordPress wp-admin folder 将.htpasswd文件上传到您的WordPress wp-admin文件夹

  3. add the following code to your .htaccess file 将以下代码添加到.htaccess文件中

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM