How to Fix the Leverage Browser Caching Warning in WordPress

How to Fix the Leverage Browser Caching Warning in WordPress

How to Fix the Leverage Browser Caching Warning in WordPress

How to Fix the Leverage Browser Caching Warning in WordPress

By , Updated: September 24, 2017

leverage browser caching

If you have ever run your WordPress website through Google PageSpeed Insights or Pingdom then you have probably seen that big yellow Leverage Browser Caching warning. And that is probably why you ended up at this post. Today we will dive into what this warning means, how it affects you, and what your options are as it pertains to your WordPress site.

What is the Leverage Browser Caching Warning?

The leverage browser caching warning, as shown below in the screenshot, is referring to your browser cache. Whenever you visit a website, it downloads assets, such as HTML, CSS, JavaScript and images into your browser’s local cache. This way it doesn’t have to retrieve them on every page load. The warning itself is returned when your web server, or a third-party server, doesn’t have the correct HTTP cache headers implemented. Or the headers might exist, but the cache time is set too short.

leverage browser caching pagespeed insightsSet an expiry date or age in HTTP headers

You might also see this warning in the new “think with Google” website speed test, which is powered by Google PageSpeed Insights. This was designed to be more of a marketing tool by Google, but this has resulted in lot of clients now simply forwarding these errors to their webmasters. Leaving WordPress developers and designers looking for ways to quickly fix it to appease their clients.

think with google speed testthink with Google speed test

Fix the Leverage Browser Caching Warning in WordPress

When it comes to fixing the leverage browser caching warning there are a couple different scenarios that are usually encountered by WordPress users. Obviously the most common one is that your web server is not correctly configured. The second ironically is that the Google Analytic’s script gives us the warning. And the third is other third party scripts returning the warning. See what your options are below.

1. Leverage Browser Caching on Server

The first and most common reason the leverage browser caching warning is triggered is that your web server doesn’t have the appropriate headers in place. In the screenshot below in Google PageSpeed Insights you will see the reason is because an expiration is not specified. When it comes to caching there are two primary methods which are used, Cache-Control headers and Expires headers. While the Cache-Control header turns on client-side caching and sets the max-age of a resource, the Expires header is used to specify a specific point in time the resource is no longer valid.

leverage browser caching pagespeed insights assetsLeverage browser caching warning in Google PageSpeed Insights

So now let’s explore how to add these headers to your web server. Note: You don’t necessarily need to add both of the headers, as this is a little redundant. Cache-Control is newer and usually the recommended method, however, some web performance tools like GTmetrix still check for Expires headers. These are all examples, you can change file types, expire times, etc. based on your needs.

Important! Editing your Nginx config or Apache .htaccess file could break your site if not done correctly. If you are not comfortable doing this, please check with your web host or developer first.

Adding Cache-Control Header in Nginx

You can add Cache-Control headers in Nginx by adding the following to your server config’s server location or block.

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
 expires 30d;
 add_header Cache-Control "public, no-transform";
}

So what exactly is the code above doing? Basically, it is telling the server that the file types are not going to change for at least one month. So instead of having to download the resource every time, it caches it on your computer. This way it is faster for return visits.

Adding Expires Headers in Nginx

You can add Expires headers in Nginx by adding the following to your server block. In this example, you can see how to specify different expire times based on file types.

    location ~*  \.(jpg|jpeg|gif|png)$ {
        expires 365d;
    }

    location ~*  \.(pdf|css|html|js|swf)$ {
        expires 2d;
    }

Adding Cache-Control Headers in Apache

You can add Cache-Control headers in Apache by adding the following to your .htaccess file.


Header set Cache-Control "max-age=84600, public"

Adding Expires Headers in Apache

You can add Expires headers in Apache by adding the following to your .htaccess file.

## EXPIRES HEADER CACHING ##

ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

## EXPIRES HEADER CACHING ##

If you are a Kinsta client you don’t have to worry about adding these headers. These are already in place on all of our Nginx servers. And remember, if you use CDN provider like KeyCDN, these headers are most likely already being set on your assets.

You can check your headers in Chrome DevTools network panel or simply be re-running your WordPress site through Google PageSpeed Insights again to ensure the warning is now gone.

caching headers wordpressHTTP caching headers

2. Leverage Browser Caching and Google Analytics

The second most common leverage browser caching warning actually comes from Google Analytics. This is kind of ironic seeing as this is Google’s own script. The issue is that they set a low 2 hour cache time on their asset, as seen in the screenshot below. They most likely do this because if for some reason they were to modify something on there end they want all users to get the changes as fast as possible.  However there is a way to get around this, and that is by hosting Google Analytics script on your own server. Please be aware though that this is not supported by Google.

leverage browser caching-pagespeed insights analyticsGoogle Analytics caching

There is a great free little plugin called Complete Analytics Optimization Suite, created and developed by Daan van den Bergh, which allows you to host Google Analytics locally on your WordPress website.

host google analytics locally pluginCAOS plugin

You can download Complete Analytics Optimization Suite from the WordPress repository or by searching for it under “Add New” plugins in your WordPress dashboard. The plugin allows you to host your Google Analytics JavaScript file (analytics.js) locally and keep it updated using wp_cron(). Other features include being able to easily anonymize the IP address of your visitors, set an adjusted bounce rate, and placement of the script (header or footer).

Some additional benefits to hosting your analytics script locally is that you reduce your external HTTP requests to Google from 2 down to 1 and you now have full control over the caching of the file. This means you can utilize the cache headers as we showed you above.

Just install the plugin, enter your Google Analytics Tracking ID, and the plugin adds the necessary tracking code for Google Analytics to your WordPress website, downloads and saves the analytics.js file to your server and keeps it updated using a scheduled script in wp_cron(). We recommend also setting it to load in the footer. Note: This plugin won’t work with other Google Analytics WordPress plugins.

local analytics settingsLocally hosted analytics settings

3. What About Other 3rd Party Scripts?

If you are running a business on your WordPress website, most likely you have additional 3rd party scripts running to track conversions, A/B tests, etc. This might include scripts like Facebook conversion pixels, Twitter, CrazyEgg, Hotjar, etc. Unfortunately, since you can’t host those locally there is nothing much that can be done as you don’t have control over the caching of those 3rd party assets. But for many smaller sites and bloggers, you most likely can get rid of that leverage browser caching warning altogether by following the recommendations above.

leverage browser caching 3rd party scriptsLeverage browser caching warning from 3rd party scripts

Summary

You definitely have some options available to you when trying to fix that annoying leverage browser caching warning on your WordPress site. For most people, you can probably clear it up altogether. Remember, these web performance tools should be used as guidelines. We wouldn’t recommend obsessing over the scores too much. But fixing the warnings will usually result in a faster WordPress website in the end.

Have any other tips about fixing the leverage browser caching warning? If so, feel free to drop us a comment below.

 Nếu như Ferrari là hãng có số tiền lợi nhuận lớn nhất tính theo mỗi xe bán ra, Porsche là hãng xe hạng sang có lợi nhuận thuộc hàng cao nhất thế giới.
Từng thấu chịu nỗi đau ở AFF Cup 2016, Lương Xuân Trường có lẽ đủ thấu hiểu được sự thất vọng của người chiến bại là lớn như thế nào...
See Sing Share là một trong những chuỗi liveshow nổi tiếng của Hà Anh Tuấn, thu hút sự quan tâm của người hâm mộ. Để gắn kết và gần gũi với fan, trên trang cá nhân, nam ca sĩ mới đây thách đố khán giả đoán ý nghĩa chuỗi ký tự LĐQL và hé lộ đây là nguyên nhân ra đời của chương trình See Sing Share. Gần 4000 người hâm
Như vậy, kể từ ngày hôm nay, PENTAGON sẽ tiếp tục hoạt động với tư cách một nhóm nhạc 9 thành viên sau sự ra đi của E'Dawn.
Nếu trông chờ vào một màn trình diễn 100% khoe giọng nội lực như Hương Tràm, Hà Anh Tuấn,... thiết nghĩ, khán giả không nên theo dõi các sân khấu của Sơn Tùng M-TP.
Sau khi có 3 khách hàng đồng ý mua sản phẩm, Lê Thị Hậu đã dùng gạch gói lại rồi gửi bưu kiện qua nhà xe.
CEO BKAV đánh giá tình hình phát triển công nghệ ở Việt Nam dù còn nhiều khó khăn, nhưng nếu vận dụng đúng cách, các doanh nghiệp trong nước có thể cạnh tranh với các tập đoàn hàng đầu thế giới.
Tom tâm sự với bạn thân của mình:
Ông chủ Công ty nọ không may bị tai nạn, bị mất bên tai trái. Một ngày kia, ông ta có một cuộc phỏng vấn với 3 ứng cử viên sáng giá. Người đàn ông đầu tiên biết rõ những gì công ty đang cần và tỏ ra rất xuất sắc trong suốt buổi phỏng vấn.
Những mẫu xe mới có mặt tại triển lãm EICMA 2018 đều là niềm tự hào của các hãng xe lớn trên thế giới và sẽ được bán ra thị trường vào năm 2019.
Cảnh quay đám cưới thế kỷ được các nhân viên sản xuất tiết lộ là một trong những cảnh quay mất nhiều thời gian nhất trong The Last Empress khi mất tới 2 ngày để hoàn thành và hơn 15 ngày trước đó để chuẩn bị đạo cụ.
Chiếc Lamborghini Urus màu trắng được vận chuyển về showroom Lamborghini chính hãng ở Hà Nội vào chiều nay bằng xe chuyên dụng. Sau đó, các kỹ thuật viên đã đưa xe vào garage để kiểm tra.
Sở hữu hàng loạt công nghệ tiên tiến của xe đua F1, siêu xe hàng hiếm Apollo Intensa Emozione vừa xuất hiện tại Monaco có mức giá lên đến 2,7 triệu USD.
Không chỉ vận chuyển chiếc siêu SUV Lamborghini Urus về đại lý chính hãng, đơn vị nắm giữ quyền phân phối Lamborghini và Bentley còn đem về nước chiếc xe siêu sang Flying Spur V8 S đầu tiên tại Việt Nam.
Sau khi chiếc Ferrari 458 Italia độ Liberty Walk được gỡ bỏ phần cản sau một thời gian, chủ xe đã quyết định trả xe về lại bản độ hoàn chỉnh cho xế yêu.
Xuất hiện tại một con phố gần trung tâm thành phố, hàng loạt mẫu siêu xe đình đám như Nissan GT-R độ widebody, Ferrari 488 SVR, Ferrari 488 Spider,... đã cùng nhau tụ tập thu hút không ít sự chú ý không chỉ người Việt mà cả những vị khách nước ngoài.
Hot girl Nguyễn Thùy Dương đã có những chia sẻ về tình yêu với tiền vệ Nguyễn Huy Hùng. Một bí mật được tiết lộ là tiền vệ ĐTVN không chỉ chơi bóng hay mà đá... sân nhỏ cũng giỏi.
Ba ngày sau trận thắng M.U 3-1, Sergio Aguero vẫn lâng lâng trong men say chiến thắng và có những giây phút lãng mạn bên người đẹp.
Tiền vệ đang chơi cho Manchester Utd khiến người hâm mộ bất ngờ khi chia tay mái tóc xù vốn gắn liền với tên tuổi của anh.
Đánh giá về đội tuyển Malaysia, lứa cầu thủ vô địch AFF Cup 2008 của đội tuyển Việt Nam đều có chung quan điểm đây sẽ là đối thủ đáng gờm với thầy trò Park Hang-seo.