• Resolved knzzz

    (@knzzz)


    I’ve added Expires header lifetime: 15552000 in Browser Cache in all sections. But Pagespeed Insights still shows the “Serve static assets with an efficient cache policy” warning. What can be done to fix this?
    Thanks.

    The page I need help with: [log in to see the link]

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @knzzz

    Thank you for reaching out and I am happy to assist you with this.
    I’ve checked the test results and your website and I can confirm that the expires header and cache-control header is not set for static files.
    Can you please check if Browser Cache is enabled in Performance>Gneral settings? If so, check if the “Set expires header” and “Cache-control header” is enabled in Performance>Browser Cache, sections “CSS&JS” “Media&Other files” and “HTML&XML”. If not, enable those, save all settings and purge the cache and let me know if the problem persists.
    Also, make sure that you don’t have any custom Browser Cache rules added to your .htaccess file to avoid any potential conflict with W3 Total Cache rules.

    I hope this helps!

    Thanks!

    Thread Starter knzzz

    (@knzzz)

    Hello,
    Thank you for your reply. Yes, those options are already checked. I’ve purged the cache.

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @knzzz

    Thank you for the information.
    Can you please check and share the content of the .htaccess file so we can make sure that the W3TC rules are set for Browser Caching?
    If the rules are there, there is a chance that some .htaccess file on a higher level or httpd.conf file is handling those rules.
    I can see that the Etag, gzip compression and last modified header are set on the static files.
    Try enabling “Set W3 Total Cache header” in Performance>Browser Cache, general section, save all settings and purge the cache, so we can confirm that the rules are taking effect.
    Thanks!

    Thread Starter knzzz

    (@knzzz)

    Enabled Set W3 Total Cache header and purged the cache. Here is the .htaccess file

    # BEGIN W3TC Browser Cache
    <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 text/html .html .htm
        AddType text/richtext .rtf .rtx
        AddType text/plain .txt
        AddType text/xsd .xsd
        AddType text/xsl .xsl
        AddType text/xml .xml
        AddType video/asf .asf .asx .wax .wmv .wmx
        AddType video/avi .avi
        AddType image/avif .avif
        AddType image/avif-sequence .avifs
        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 video/ogg .ogv
        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 A15552000
        ExpiresByType text/x-component A15552000
        ExpiresByType application/x-javascript A15552000
        ExpiresByType application/javascript A15552000
        ExpiresByType text/javascript A15552000
        ExpiresByType text/x-js A15552000
        ExpiresByType text/html A3600
        ExpiresByType text/richtext A3600
        ExpiresByType text/plain A3600
        ExpiresByType text/xsd A3600
        ExpiresByType text/xsl A3600
        ExpiresByType text/xml A3600
        ExpiresByType video/asf A15552000
        ExpiresByType video/avi A15552000
        ExpiresByType image/avif A15552000
        ExpiresByType image/avif-sequence A15552000
        ExpiresByType image/bmp A15552000
        ExpiresByType application/java A15552000
        ExpiresByType video/divx A15552000
        ExpiresByType application/msword A15552000
        ExpiresByType application/vnd.ms-fontobject A15552000
        ExpiresByType application/x-msdownload A15552000
        ExpiresByType image/gif A15552000
        ExpiresByType application/x-gzip A15552000
        ExpiresByType image/x-icon A15552000
        ExpiresByType image/jpeg A15552000
        ExpiresByType image/webp A15552000
        ExpiresByType application/json A15552000
        ExpiresByType application/vnd.ms-access A15552000
        ExpiresByType audio/midi A15552000
        ExpiresByType video/quicktime A15552000
        ExpiresByType audio/mpeg A15552000
        ExpiresByType video/mp4 A15552000
        ExpiresByType video/mpeg A15552000
        ExpiresByType video/webm A15552000
        ExpiresByType application/vnd.ms-project A15552000
        ExpiresByType application/x-font-otf A15552000
        ExpiresByType application/vnd.ms-opentype A15552000
        ExpiresByType application/vnd.oasis.opendocument.database A15552000
        ExpiresByType application/vnd.oasis.opendocument.chart A15552000
        ExpiresByType application/vnd.oasis.opendocument.formula A15552000
        ExpiresByType application/vnd.oasis.opendocument.graphics A15552000
        ExpiresByType application/vnd.oasis.opendocument.presentation A15552000
        ExpiresByType application/vnd.oasis.opendocument.spreadsheet A15552000
        ExpiresByType application/vnd.oasis.opendocument.text A15552000
        ExpiresByType audio/ogg A15552000
        ExpiresByType video/ogg A15552000
        ExpiresByType application/pdf A15552000
        ExpiresByType image/png A15552000
        ExpiresByType application/vnd.ms-powerpoint A15552000
        ExpiresByType audio/x-realaudio A15552000
        ExpiresByType image/svg+xml A15552000
        ExpiresByType application/x-shockwave-flash A15552000
        ExpiresByType application/x-tar A15552000
        ExpiresByType image/tiff A15552000
        ExpiresByType application/x-font-ttf A15552000
        ExpiresByType application/vnd.ms-opentype A15552000
        ExpiresByType audio/wav A15552000
        ExpiresByType audio/wma A15552000
        ExpiresByType application/vnd.ms-write A15552000
        ExpiresByType application/font-woff A15552000
        ExpiresByType application/font-woff2 A15552000
        ExpiresByType application/vnd.ms-excel A15552000
        ExpiresByType application/zip A15552000
    </IfModule>
    <IfModule mod_deflate.c>
        <IfModule mod_filter.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 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>
    </IfModule>
    <FilesMatch "\.(css|htc|less|js|js2|js3|js4|CSS|HTC|LESS|JS|JS2|JS3|JS4)$">
        FileETag MTime Size
        <IfModule mod_headers.c>
            Header set Pragma "public"
            Header append Cache-Control "public"
            Header unset Set-Cookie
            Header set X-Powered-By "W3 Total Cache/2.2.1"
        </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 set Pragma "public"
            Header append Cache-Control "public"
            Header set X-Powered-By "W3 Total Cache/2.2.1"
        </IfModule>
    </FilesMatch>
    <FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|avif|avifs|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|ogv|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|AVIF|AVIFS|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|OGV|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 set Pragma "public"
            Header append Cache-Control "public"
            Header unset Set-Cookie
            Header set X-Powered-By "W3 Total Cache/2.2.1"
        </IfModule>
    </FilesMatch>
    <IfModule mod_headers.c>
        Header set Referrer-Policy "no-referrer-when-downgrade"
    </IfModule>
    # END W3TC Browser Cache
    # BEGIN W3TC Page Cache core
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTPS} =on
        RewriteRule .* - [E=W3TC_SSL:_ssl]
        RewriteCond %{SERVER_PORT} =443
        RewriteRule .* - [E=W3TC_SSL:_ssl]
        RewriteCond %{HTTP:X-Forwarded-Proto} =https [NC]
        RewriteRule .* - [E=W3TC_SSL:_ssl]
        RewriteCond %{HTTP:Accept-Encoding} gzip
        RewriteRule .* - [E=W3TC_ENC:_gzip]
        RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
        RewriteRule .* - [E=W3TC_PREVIEW:_preview]
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
        RewriteCond %{REQUEST_URI} \/$
        RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" -f
        RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" [L]
    </IfModule>
    # END W3TC Page Cache core
    # BEGIN WordPress
    # The directives (lines) between "BEGIN WordPress" and "END WordPress" are
    # dynamically generated, and should only be modified via WordPress filters.
    # Any changes to the directives between these markers will be overwritten.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @knzzz

    The .htaccess rules are there and look fine.
    The configuration directives found in a .htaccess file are applied to the directory in which the .htaccess file is found, and to all subdirectories thereof. However, it is important to also remember that there may have been .htaccess files in directories higher up. Directives are applied in the order that they are found. Therefore, a .htaccess file in a particular directory may override directives found in .htaccess files found higher up in the directory tree. And those, in turn, may have overridden directives found yet higher up, or in the main server configuration file itself.
    You should check for any .htaccess files in the directories above and also check the main httpd.conf.

    Thanks!

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Serve static assets with an efficient cache policy’ is closed to new replies.