{"id":149196,"date":"2025-03-28T11:51:37","date_gmt":"2025-03-28T11:51:37","guid":{"rendered":"https:\/\/www.bluehost.com\/blog\/?p=149196"},"modified":"2026-02-09T11:07:27","modified_gmt":"2026-02-09T11:07:27","slug":"add-expires-headers-wordpress","status":"publish","type":"post","link":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/","title":{"rendered":"How to Add Expires Headers in WordPress &#8211; Improve Site Performance\u00a0"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\" id=\"h-key-highlights-nbsp\">Key highlights&nbsp;<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Expires headers improve WordPress site speed by enabling browser caching for static files.&nbsp;<\/li>\n\n\n\n<li>Tools like GTmetrix, PageSpeed Insights and Lighthouse help identify missing or misconfigured headers.&nbsp;<\/li>\n\n\n\n<li>You can add expires headers via plugins, .htaccess (Apache) or Nginx server configuration.&nbsp;<\/li>\n\n\n\n<li>Bluehost simplifies caching with built-in features, SSD storage, <a href=\"https:\/\/www.bluehost.com\/blog\/what-is-a-cdn-benefits-alternatives\/\">CDN<\/a> integration and plugin compatibility.&nbsp;<\/li>\n\n\n\n<li>Avoid common caching errors with best practices like versioning, testing and using staging environments.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-introduction-nbsp\">Introduction&nbsp;<\/h2>\n\n\n\n<p>Your website may look great\u2014but if it loads like it\u2019s stuck in 2005, visitors won\u2019t stick around to admire it.&nbsp;<\/p>\n\n\n\n<p>Speed is non-negotiable, and one of the easiest ways to boost performance is to add expires headers in WordPress. This powerful tweak enables browser caching, allowing static files like images, stylesheets and scripts to be stored locally for faster repeat visits.&nbsp;<\/p>\n\n\n\n<p>The result? Faster load times, reduced server stress and a smoother user experience\u2014all with a few simple steps.&nbsp;<\/p>\n\n\n\n<p>In this guide, you\u2019ll learn how to add expires headers using plugins, by editing your .htaccess file and by configuring your web server (Apache or Nginx). We\u2019ll also cover how to avoid common mistakes that slow&nbsp;down your site.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-add-expires-headers-in-wordpress-step-by-step-guide-nbsp\">How to add expires headers in WordPress: Step-by-step guide&nbsp;<\/h2>\n\n\n\n<p>There are different ways to add expires headers in WordPress, depending on your hosting setup, server type and technical comfort level. Let&#8217;s explore each method one by one:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-method-1-add-expires-headers-using-a-plugin-nbsp\">Method 1: Add expires headers using a plugin&nbsp;<\/h3>\n\n\n\n<p>If you&#8217;re not comfortable with code, the easiest way to add expires headers in WordPress is by using a caching plugin. These plugins handle browser caching automatically and let you configure expiration times without editing server files.&nbsp;<\/p>\n\n\n\n<p>W3 Total Cache and WP Super Cache are the two popular plugins you can use. For this method, we&#8217;re using W3 Total Cache for reference:&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to the WordPress dashboard.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-1024x549.png\" alt=\"WordPress dashboard\" class=\"wp-image-149305\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-1024x549.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-300x161.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-768x412.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Wordpress-dashboard-yoast-48x26.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Click on \u2018Plugins\u2019&gt; \u2018Add New Plugin\u2019 and search for W3 Total Cache. Then click on \u2018Install\u2019 and \u2018Activate\u2019 it.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"478\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1.png\" alt=\"W3 Total Cache\" class=\"wp-image-149317\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1.png 790w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1-300x182.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1-768x465.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1-24x15.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1-36x22.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Add-new-plugin-1-48x29.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Navigate to the \u2018Performance\u2019 tab then click on \u2018Browser Cache.\u2019&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-1024x530.png\" alt=\"Check for browser cache\" class=\"wp-image-149327\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-1024x530.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-300x155.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-768x398.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-24x12.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Performance-step-48x25.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Locate \u2018Set expires header\u2019 and check its box.&nbsp;&nbsp;&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"393\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-1024x393.png\" alt=\"Set expires headers\" class=\"wp-image-149415\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-1024x393.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-300x115.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-768x295.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-24x9.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-36x14.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/expire-headers-2-48x18.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Scroll down to the \u2018CSS &amp; JS section,\u2019 then check the option for \u2018Set expires header.\u2019&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li>Enter your preferred lifetime value in seconds.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li>By default, it&#8217;s set to 31536000 seconds (equal to 365 days), but you can adjust it based on your caching strategy.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-1024x552.png\" alt=\"Set lifetime value\" class=\"wp-image-149405\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-1024x552.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-300x162.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-768x414.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/add-value-1-48x26.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li>Repeat the same steps for HTML and media.&nbsp;&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"9\" class=\"wp-block-list\">\n<li>After adjusting the settings, click on the drop-down arrow of \u2018Save Settings\u2019 button and click \u2018Save Settings &amp; Purge Caches.\u2019&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-1024x303.png\" alt=\"Save it\" class=\"wp-image-149389\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-1024x303.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-300x89.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-768x227.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-24x7.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-36x11.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Save-step-48x14.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-method-2-manually-add-expires-headers-by-editing-the-htaccess-file-apache-server-nbsp\">Method 2: Manually add expires headers by editing the .htaccess file (Apache server)&nbsp;<\/h3>\n\n\n\n<p>If your site is running on an Apache web server, you can manually add expires headers by modifying the .htaccess file. Here is how to add expires headers manually:&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Access your site\u2019s root directory via FTP or File Manager in your hosting control panel. Bluehost users will find their \u2018File Manager\u2019 under \u2018Quick Links.\u2019&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-1024x553.png\" alt=\"File manager \" class=\"wp-image-149442\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-1024x553.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-300x162.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-768x415.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/File-manager-1-1-48x26.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Locate the .htaccess file (make sure hidden files are visible). You will get a .htaccess file inside the \u2018public_html\u2019 folder.&nbsp;&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"547\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-1024x547.png\" alt=\"Htaccess step\" class=\"wp-image-149437\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-1024x547.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-300x160.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-768x410.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Htaccess-step-1-48x26.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Add the following code snippet before the # END WordPress line:&nbsp;<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_expires.c&gt; \n\n \nExpiresActive On \n\nExpiresByType image\/jpg \"access 1 year\" \n\nExpiresByType image\/jpeg \"access 1 year\" \n\nExpiresByType image\/gif \"access 1 year\" \n\nExpiresByType image\/png \"access 1 year\" \n\nExpiresByType image\/svg \"access 1 year\" \n\nExpiresByType text\/css \"access 1 month\" \n\nExpiresByType application\/pdf \"access 1 month\" \n\nExpiresByType application\/javascript \"access 1 month\" \n\nExpiresByType application\/x-javascript \"access 1 month\" \n\nExpiresByType application\/x-shockwave-flash \"access 1 month\" \n\nExpiresByType image\/x-icon \"access 1 year\" \n\nExpiresDefault \"access 3 days\" \n\n&lt;\/IfModule&gt; <\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Save and upload the file.&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>This instructs the browser to cache different types of files for defined periods, reducing future load times.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-method-3-configure-nginx-for-expires-headers-nbsp\">Method 3: Configure Nginx for expires headers&nbsp;<\/h3>\n\n\n\n<p>If your site is hosted on a Nginx web server, the .htaccess method won\u2019t apply. Instead, you\u2019ll need to edit the server\u2019s configuration file.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~* \\.(jpg|jpeg|gif|png|css|js|woff2)$ {&nbsp;<br>expires 30d;&nbsp;<br>add_header Cache-Control \"public\";&nbsp;<br>}&nbsp;<\/code><\/pre>\n\n\n\n<p>Add this to your Nginx site configuration block, which is usually located at <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u2018\/etc\/nginx\/sites-available\/yourdomain.conf\u2019.&nbsp;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-check-if-your-website-needs-expires-headers-nbsp\">How to check if your website needs expires headers?&nbsp;<\/h2>\n\n\n\n<p>Many caching plugins, CDNs or hosting environments may implement expires headers by default. But not always in the most optimized way. A proper check ensures you\u2019re not duplicating efforts or missing opportunities to leverage browser caching for faster performance.&nbsp;<\/p>\n\n\n\n<p>Here are three reliable tools to help you identify if your website is missing expires headers:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-gtmetrix-nbsp\">1. GTmetrix&nbsp;<\/h3>\n\n\n\n<p>GTmetrix is a popular site speed testing tool that provides detailed recommendations to optimize your website\u2019s performance. GTmetrix analyzes how your pages load and flags missing or misconfigured expires headers.&nbsp;<\/p>\n\n\n\n<p>Here are the steps to check if your website needs expires headers using GTmetrix:&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to <a href=\"https:\/\/gtmetrix.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GTmetrix.com<\/a>, enter your website <a href=\"https:\/\/www.bluehost.com\/blog\/what-is-a-url\/\">URL<\/a> and click on \u2018Test Now.\u2019&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"390\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-1024x390.png\" alt=\"check url\" class=\"wp-image-149468\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-1024x390.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-300x114.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-768x293.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-24x9.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-36x14.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/GTmetrix-url-step-48x18.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Click on the \u2018Structure\u2019 tab after completing the scan.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-1024x576.png\" alt=\"structure tab\" class=\"wp-image-149485\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-1024x576.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-300x169.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-768x432.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-24x14.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-36x20.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/gtmetric-structure-tab-48x27.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Look for issues like:&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp;&#8216;Add Expires headers\u2019 or &nbsp;<\/li>\n\n\n\n<li>&nbsp;&#8216;Leverage browser caching\u2019 under the audit list&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>What it means:<\/strong>&nbsp;<\/p>\n\n\n\n<p>If you see these warnings, it usually means your static files (for example, .jpg, .css, .js) are not cached efficiently. GTmetrix will also show which files are affected, helping you decide where to add headers.&nbsp;<\/p>\n\n\n\n<p><strong>Also read:<\/strong> <a href=\"https:\/\/www.bluehost.com\/blog\/website-speed-test-gtmetrix\/\">Optimize Your Site: Website Speed Test GTmetrix Tips<\/a>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-google-pagespeed-insights-nbsp\">2. Google PageSpeed Insights&nbsp;<\/h3>\n\n\n\n<p>It is a tool provided by Google that analyzes your website\u2019s page speed and overall performance. It provides real-world performance data, including caching issues related to expires headers in WordPress.&nbsp;<\/p>\n\n\n\n<p>Here&#8217;s how to check if your website needs expires headers using PageSpeed Insights:&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Visit <a href=\"https:\/\/pagespeed.web.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">pagespeed.web.dev<\/a>.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Enter your WordPress site\u2019s URL and run the test.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"435\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--1024x435.png\" alt=\"Put url\" class=\"wp-image-149498\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--1024x435.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--300x127.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--768x326.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--24x10.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--36x15.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Pagespeed-step--48x20.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<p>3. Scroll down to the \u2018Diagnostics\u2019 section.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-1024x443.png\" alt=\"Go to diagnostic section \" class=\"wp-image-149504\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-1024x443.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-300x130.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-768x332.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-24x10.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-36x16.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/diagnostic-step-48x21.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<p>4. Look for warnings like:&nbsp;&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2018Serve static assets with an efficient cache policy\u2019;&nbsp;<\/li>\n\n\n\n<li>\u2018Reduce unused JavaScript\u2019 (often linked to poor caching)&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>What it means:<\/strong>&nbsp;<\/p>\n\n\n\n<p>This warning signals that some resources aren\u2019t using effective expires headers. You\u2019ll get a list of affected URLs, file types and suggestions to fix them. You can apply appropriate caching rules using a plugin, CDN or directly in your .htaccess file or web server configuration.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-lighthouse-performance-test-via-chrome-devtools-nbsp\">3. Lighthouse Performance test (via Chrome DevTools)&nbsp;<\/h3>\n\n\n\n<p>Lighthouse is a robust audit tool built into Google Chrome. It offers advanced performance testing, including a deep look at your site\u2019s use of browser caching and expires headers.&nbsp;<\/p>\n\n\n\n<p>Here are the steps to check if your website needs expires headers using the Lighthouse Performance test:&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open your website in Google Chrome.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Right-click anywhere on the page and click \u2018Inspect.&#8217;&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-1024x541.png\" alt=\"Click on inspect\" class=\"wp-image-149552\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-1024x541.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-300x158.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-768x405.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-1-48x25.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Navigate to the &#8216;Lighthouse\u2019 tab.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"239\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-1024x239.png\" alt=\"click on Lighthouse \" class=\"wp-image-149588\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-1024x239.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-300x70.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-768x179.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-24x6.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-36x8.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-2-1-48x11.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Select &#8216;Performance&#8217; (you can also include &#8216;SEO\u2019 and \u2018Best practices\u2019).&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"241\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-1024x241.png\" alt=\"Seo and best practices \" class=\"wp-image-149583\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-1024x241.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-300x71.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-768x181.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-24x6.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-36x8.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-3-48x11.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Click &#8216;Analyze page load\u2019 and wait for the test to be completed.&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"242\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-1024x242.png\" alt=\"Lighthouse analyze step\" class=\"wp-image-149572\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-1024x242.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-300x71.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-768x181.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-24x6.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-36x8.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Lighthouse-step-5-48x11.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<p><strong>What it means:<\/strong>&nbsp;<\/p>\n\n\n\n<p>&nbsp;In the results, look for red flags in the &#8216;Performance\u2019 section, such as:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2018Serve static assets with an efficient cache policy&#8217;;&nbsp;<\/li>\n\n\n\n<li>\u2018Reduce server response times (TTFB)&#8217;&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>This checks if your site is caching content correctly and shows if any expires header is missing or needs fixing.&nbsp;<\/p>\n\n\n\n<p>By using all three tools, you\u2019ll get a comprehensive picture of how your website handles browser caching and whether adding or optimizing expires headers is necessary. If these tools show caching warnings, don\u2019t worry\u2014you\u2019re just a few steps away from fixing it.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-does-bluehost-help-improve-website-performance-nbsp\">How does Bluehost help improve website performance?&nbsp;<\/h2>\n\n\n\n<p>Bluehost understands that speed is a necessity. That\u2019s why we offer <a href=\"https:\/\/www.bluehost.com\/wordpress\/wordpress-hosting\">WordPress hosting plans,<\/a> which are built from the ground up with performance in mind. From server-level caching to easy integration with speed-enhancing plugins, Bluehost helps WordPress users implement essential optimizations without any advanced technical setup.&nbsp;<\/p>\n\n\n\n<p>Whether you&#8217;re running a blog, portfolio or business site, our WordPress hosting plans offer the speed, security and scalability that creators need to grow confidently.&nbsp;<\/p>\n\n\n\n<svg version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"0 0 1001 300\"> \n\n  <image width=\"1001\" height=\"300\" xlink:href=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/WordPress-Hosting-10.jpg\"><\/image> <a xlink:href=\"https:\/\/www.bluehost.com\/wordpress\/wordpress-hosting\"> \n\n    <rect x=\"83\" y=\"203\" fill=\"#fff\" opacity=\"0\" width=\"130\" height=\"63\"><\/rect> \n\n  <\/a> \n\n<\/svg>\n\n\n\n<p>We take care of the back-end complexity so you can focus on growing your site and delivering a seamless experience to your visitors. Here&#8217;s how we enhance your website&#8217;s performance:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-built-in-caching-mechanisms-nbsp\">Built-in caching mechanisms&nbsp;<\/h3>\n\n\n\n<p>Our hosting environment includes integrated caching features designed to reduce load times by storing frequently accessed data closer to your users. This means that repeat visitors experience faster page loads, enhancing their overall browsing experience.&nbsp;<\/p>\n\n\n\n<p>You can find this setting in the WordPress dashboard under the Bluehost tab.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-1024x550.png\" alt=\"Cache clear\" class=\"wp-image-149680\" srcset=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-1024x550.png 1024w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-300x161.png 300w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-768x413.png 768w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-24x13.png 24w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-36x19.png 36w, https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cache-clear-48x26.png 48w\" sizes=\"100vw\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nvme-storage-for-faster-data-access-nbsp\">NVMe storage for faster data access&nbsp;<\/h3>\n\n\n\n<p>We utilize high-performance NVMe (Non-Volatile Memory Express) storage across our servers, ensuring quicker data retrieval and improved website responsiveness. NVMe storage accelerates the reading and writing processes, which is vital for <a href=\"https:\/\/www.bluehost.com\/blog\/static-vs-dynamic-websites\/\">dynamic content and<\/a> database-driven sites.&nbsp;<\/p>\n\n\n\n<p>Also read: <a href=\"https:\/\/www.bluehost.com\/blog\/nvme-wordpress-hosting\/\">NVMe WordPress Hosting: Boost Speed &amp; Site Performance<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-content-delivery-network-cdn-integration-nbsp\">Content delivery network (CDN) integration&nbsp;<\/h3>\n\n\n\n<p>To further boost your site&#8217;s speed globally, we offer seamless integration with <a href=\"https:\/\/www.bluehost.com\/help\/article\/cloud-flare-guide#what\">Cloudflare CDN<\/a>. A CDN distributes your website&#8217;s static content across a network of servers worldwide, allowing users to download data from the nearest server location. This reduces latency and ensures faster load times for visitors, regardless of their geographic location.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-pagespeed-insights-tool-nbsp\">PageSpeed Insights tool&nbsp;<\/h3>\n\n\n\n<p>Understanding your website&#8217;s performance is key to optimization. Within your Bluehost Account Manager, you have access to the <a href=\"https:\/\/www.bluehost.com\/help\/article\/am-pagespeed-insights\">PageSpeed Insights feature<\/a>. This tool evaluates your site&#8217;s speed and provides actionable recommendations to enhance performance. By leveraging these insights, you can make informed decisions to further optimize your website&#8217;s loading times.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-support-for-caching-plugins-nbsp\">Support for caching plugins&nbsp;<\/h3>\n\n\n\n<p>For WordPress users, we offer compatibility with popular caching plugins such as W3 Total Cache and WP Super Cache. These plugins provide advanced caching capabilities, allowing you to fine-tune your site&#8217;s performance settings to meet your specific needs.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-expert-support-nbsp\">Expert support&nbsp;<\/h3>\n\n\n\n<p>Our dedicated support team is available 24\/7 to assist you with any performance-related inquiries. Whether you need guidance on configuring caching settings, implementing expires headers or troubleshooting performance issues, our experts are here to help.&nbsp;<\/p>\n\n\n\n<p>If your site demands more speed, uptime and scalability, consider upgrading to <a href=\"https:\/\/www.bluehost.com\/hosting\/cloud\">agency hosting<\/a>. Unlike shared environments, Agency hosting distributes resources across multiple servers, helping your site stay fast and reliable even during traffic spikes.\u00a0<\/p>\n\n\n\n<p>With built-in caching, automatic scaling and isolated resources, Bluehost for Agencies is ideal for high-traffic sites, eCommerce businesses and fast-growing brands.\u00a0<\/p>\n\n\n\n<svg version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"0 0 1001 300\"> \n\n  <image width=\"1001\" height=\"300\" xlink:href=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/Cloud-Hosting.jpg\"><\/image> <a xlink:href=\"https:\/\/www.bluehost.com\/hosting\/cloud\"> \n\n    <rect x=\"88\" y=\"186\" fill=\"#fff\" opacity=\"0\" width=\"208\" height=\"57\"><\/rect> \n\n  <\/a> \n\n<\/svg>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-avoid-caching-related-errors-nbsp\">How to avoid caching-related errors?&nbsp;<\/h2>\n\n\n\n<p>While adding expires headers and enabling browser caching can significantly improve your site\u2019s speed, improper configurations can lead to unexpected issues. Here are a few key things to keep in mind to avoid caching-related errors:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-be-cautious-with-extended-expiry-times-nbsp\">1. Be cautious with extended expiry times&nbsp;<\/h3>\n\n\n\n<p>Setting overly long expiration dates (e.g., 1 year) for assets like CSS or <a href=\"https:\/\/www.bluehost.com\/blog\/what-is-javascript\/\">JavaScript<\/a> can cause visitors to see outdated content. If you make frequent changes to your site, consider using cache-busting techniques.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-test-after-applying-changes-nbsp\">2. Test after applying changes&nbsp;<\/h3>\n\n\n\n<p>After configuring expires headers\u2014whether via plugin, .htaccess file or web server settings\u2014always clear your site cache and browser cache before testing.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-watch-for-plugin-conflicts-nbsp\">3. Watch for plugin conflicts&nbsp;<\/h3>\n\n\n\n<p>Using multiple caching plugins or combining manual caching rules with plugin settings can sometimes lead to conflicts. These may override each other, cause broken styles\/scripts or even prevent updates from showing to users.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-server-specific-behavior-nbsp\">4. Server-specific behavior&nbsp;<\/h3>\n\n\n\n<p>Caching behavior can vary depending on whether you&#8217;re using Apache, Nginx or a managed host. Make sure you\u2019re applying the correct syntax for your environment.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-use-staging-environments-for-testing-nbsp\">5. Use staging environments for testing&nbsp;<\/h3>\n\n\n\n<p>Before rolling out changes on your live site, primarily if you\u2019re editing server files or caching rules, use a staging environment.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-thoughts-nbsp\">Final thoughts&nbsp;<\/h2>\n\n\n\n<p>By now, you\u2019ve learned exactly how to add expires headers to your WordPress site\u2014and why it matters. This simple yet powerful technique helps improve your website\u2019s speed and performance by enabling browser caching for static files.&nbsp;&nbsp;<\/p>\n\n\n\n<p>At Bluehost, we know that performance isn\u2019t just a feature\u2014it\u2019s a foundation. That\u2019s why we\u2019ve built our hosting platform to support your WordPress site with lightning-fast SSD storage, built-in caching tools, seamless CDN integration and one-click plugin compatibility. You focus on your content and audience\u2014we\u2019ll handle the backend.&nbsp;<\/p>\n\n\n\n<p>Don\u2019t let a slow site hold you back. Choose <a href=\"https:\/\/www.bluehost.com\/wordpress\/wordpress-hosting\">Bluehost WordPress hosting <\/a>and unlock lightning-fast performance today.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-faqs\">FAQs<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1743161425314\"><strong class=\"schema-faq-question\"><strong>What are expires headers?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">Expires headers are HTTP response headers that tell a browser how long it should cache a file before requesting it again from the server. They help improve website performance by enabling browser caching of static files like images, CSS and JavaScript.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161541328\"><strong class=\"schema-faq-question\"><strong>How do I add expires headers in WordPress?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">You can add expires headers in WordPress using a caching plugin like WP Super Cache or W3 Total Cache. These plugins allow you to set caching rules without editing code. Alternatively, you can add expires headers manually through the .htaccess file (Apache) or your Nginx server configuration.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161568047\"><strong class=\"schema-faq-question\"><strong>Why should I add expires headers?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">Adding expires headers helps speed up your website by telling browsers to cache static content for a set time. This reduces page load time, lowers server requests and improves SEO and user experience.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161588724\"><strong class=\"schema-faq-question\"><strong>Where is the .htaccess file in WordPress?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">The .htaccess file is located in the root directory of your WordPress installation, typically under \/public_html\/. It may be hidden by default\u2014make sure your file manager or <a href=\"https:\/\/www.bluehost.com\/blog\/best-ftp-client\/\">FTP client<\/a> is set to show hidden files.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161608411\"><strong class=\"schema-faq-question\"><strong>Do all web servers support expires headers?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">Most modern web servers like Apache and Nginx support expires headers, but the configuration method differs. Apache uses the .htaccess file and mod_expires module, while Nginx requires changes in the site\u2019s configuration file.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161626689\"><strong class=\"schema-faq-question\"><strong>How do I check if my site has expires headers?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">You can check for expires headers using tools like GTmetrix, Google PageSpeed Insights or Lighthouse. These tools will highlight if your site is missing caching headers and offer suggestions for improvement.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1743161645940\"><strong class=\"schema-faq-question\"><strong>What is the difference between expires headers and cache-control?<\/strong>\u00a0<\/strong> <p class=\"schema-faq-answer\">Expires headers use a fixed date for caching, while Cache-Control uses relative time (e.g., max-age=86400). Both are used to control browser caching and it&#8217;s common to use them together for better cache management.\u00a0<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Want to boost WordPress site speed? Learn how to add Expires Headers for better caching and faster load times.<\/p>\n","protected":false},"author":137,"featured_media":157826,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_title":"How to Add Expires Headers in WordPress \u2013 Improve Site Performance","_yoast_wpseo_metadesc":"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.","inline_featured_image":false,"footnotes":""},"categories":[3046,21],"tags":[3323,3330,3343],"ppma_author":[672],"class_list":["post-149196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-wordpress","tag-core-web-vitals","tag-how-to-guides","tag-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Add Expires Headers in WordPress \u2013 Improve Site Performance<\/title>\n<meta name=\"description\" content=\"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/149196\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Add Expires Headers in WordPress - Improve Site Performance\u00a0\" \/>\n<meta property=\"og:description\" content=\"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Bluehost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bluehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-28T11:51:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-09T11:07:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"620\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priyanka Jain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bluehost\" \/>\n<meta name=\"twitter:site\" content=\"@bluehost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priyanka Jain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\"},\"author\":{\"name\":\"Priyanka Jain\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/d1a085f70e56f0f622aa315910022cba\"},\"headline\":\"How to Add Expires Headers in WordPress &#8211; Improve Site Performance\u00a0\",\"datePublished\":\"2025-03-28T11:51:37+00:00\",\"dateModified\":\"2026-02-09T11:07:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\"},\"wordCount\":2327,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png\",\"keywords\":[\"Core Web Vitals\",\"How-To Guides\",\"Tutorials\"],\"articleSection\":[\"Development\",\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\",\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\",\"name\":\"How to Add Expires Headers in WordPress \u2013 Improve Site Performance\",\"isPartOf\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png\",\"datePublished\":\"2025-03-28T11:51:37+00:00\",\"dateModified\":\"2026-02-09T11:07:27+00:00\",\"description\":\"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage\",\"url\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png\",\"contentUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png\",\"width\":1100,\"height\":620,\"caption\":\"Banner image - website performance\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/www.bluehost.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress\",\"item\":\"https:\/\/www.bluehost.com\/blog\/category\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Add Expires Headers in WordPress &#8211; Improve Site Performance\u00a0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#website\",\"url\":\"https:\/\/www.bluehost.com\/blog\/\",\"name\":\"Bluehost\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.bluehost.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\",\"name\":\"Bluehost\",\"url\":\"https:\/\/www.bluehost.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg\",\"contentUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg\",\"width\":136,\"height\":24,\"caption\":\"Bluehost\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/bluehost\/\",\"https:\/\/x.com\/bluehost\",\"https:\/\/www.linkedin.com\/company\/bluehost-com\/\",\"https:\/\/www.youtube.com\/user\/bluehost\",\"https:\/\/en.wikipedia.org\/wiki\/Bluehost\"],\"description\":\"Bluehost is a leading web hosting provider empowering millions of websites worldwide. \\u2028Discover how Bluehost's expertise, reliability, and innovation can help you achieve your online goals.\",\"telephone\":\"+1-888-401-4678\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/d1a085f70e56f0f622aa315910022cba\",\"name\":\"Priyanka Jain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/image\/3238c47c6f70875a7d6840d7373f176f\",\"url\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg\",\"contentUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg\",\"caption\":\"Priyanka Jain\"},\"description\":\"I'm Priyanka Jain, a content writer at Bluehost with four years of experience across various topics. I am passionate about turning complex ideas into simple, engaging content. Friendly and curious, I enjoy exploring new things and connecting with others.\",\"url\":\"https:\/\/www.bluehost.com\/blog\/author\/priyanka-jain\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314\",\"position\":1,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314\",\"name\":\"What are expires headers?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Expires headers are HTTP response headers that tell a browser how long it should cache a file before requesting it again from the server. They help improve website performance by enabling browser caching of static files like images, CSS and JavaScript.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328\",\"position\":2,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328\",\"name\":\"How do I add expires headers in WordPress?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You can add expires headers in WordPress using a caching plugin like WP Super Cache or W3 Total Cache. These plugins allow you to set caching rules without editing code. Alternatively, you can add expires headers manually through the .htaccess file (Apache) or your Nginx server configuration.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047\",\"position\":3,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047\",\"name\":\"Why should I add expires headers?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Adding expires headers helps speed up your website by telling browsers to cache static content for a set time. This reduces page load time, lowers server requests and improves SEO and user experience.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724\",\"position\":4,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724\",\"name\":\"Where is the .htaccess file in WordPress?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The .htaccess file is located in the root directory of your WordPress installation, typically under \/public_html\/. It may be hidden by default\u2014make sure your file manager or FTP client is set to show hidden files.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411\",\"position\":5,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411\",\"name\":\"Do all web servers support expires headers?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most modern web servers like Apache and Nginx support expires headers, but the configuration method differs. Apache uses the .htaccess file and mod_expires module, while Nginx requires changes in the site\u2019s configuration file.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689\",\"position\":6,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689\",\"name\":\"How do I check if my site has expires headers?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You can check for expires headers using tools like GTmetrix, Google PageSpeed Insights or Lighthouse. These tools will highlight if your site is missing caching headers and offer suggestions for improvement.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940\",\"position\":7,\"url\":\"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940\",\"name\":\"What is the difference between expires headers and cache-control?\u00a0\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Expires headers use a fixed date for caching, while Cache-Control uses relative time (e.g., max-age=86400). Both are used to control browser caching and it's common to use them together for better cache management.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Add Expires Headers in WordPress \u2013 Improve Site Performance","description":"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/149196\/","og_locale":"en_US","og_type":"article","og_title":"How to Add Expires Headers in WordPress - Improve Site Performance\u00a0","og_description":"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.","og_url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/","og_site_name":"Bluehost Blog","article_publisher":"https:\/\/www.facebook.com\/bluehost\/","article_published_time":"2025-03-28T11:51:37+00:00","article_modified_time":"2026-02-09T11:07:27+00:00","og_image":[{"width":1100,"height":620,"url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png","type":"image\/png"}],"author":"Priyanka Jain","twitter_card":"summary_large_image","twitter_creator":"@bluehost","twitter_site":"@bluehost","twitter_misc":{"Written by":"Priyanka Jain","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#article","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/"},"author":{"name":"Priyanka Jain","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/d1a085f70e56f0f622aa315910022cba"},"headline":"How to Add Expires Headers in WordPress &#8211; Improve Site Performance\u00a0","datePublished":"2025-03-28T11:51:37+00:00","dateModified":"2026-02-09T11:07:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/"},"wordCount":2327,"commentCount":0,"publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png","keywords":["Core Web Vitals","How-To Guides","Tutorials"],"articleSection":["Development","WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/","url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/","name":"How to Add Expires Headers in WordPress \u2013 Improve Site Performance","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png","datePublished":"2025-03-28T11:51:37+00:00","dateModified":"2026-02-09T11:07:27+00:00","description":"Add expires headers to your WordPress site for improved speed. This guide shows you how to optimize caching and enhance website performance quickly.","breadcrumb":{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689"},{"@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#primaryimage","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2025\/03\/How-to-Add-Expires-Headers-in-WordPress-Improve-Site-Performance.png","width":1100,"height":620,"caption":"Banner image - website performance"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.bluehost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"WordPress","item":"https:\/\/www.bluehost.com\/blog\/category\/wordpress\/"},{"@type":"ListItem","position":3,"name":"How to Add Expires Headers in WordPress &#8211; Improve Site Performance\u00a0"}]},{"@type":"WebSite","@id":"https:\/\/www.bluehost.com\/blog\/#website","url":"https:\/\/www.bluehost.com\/blog\/","name":"Bluehost","description":"","publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bluehost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.bluehost.com\/blog\/#organization","name":"Bluehost","url":"https:\/\/www.bluehost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","width":136,"height":24,"caption":"Bluehost"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/bluehost\/","https:\/\/x.com\/bluehost","https:\/\/www.linkedin.com\/company\/bluehost-com\/","https:\/\/www.youtube.com\/user\/bluehost","https:\/\/en.wikipedia.org\/wiki\/Bluehost"],"description":"Bluehost is a leading web hosting provider empowering millions of websites worldwide. \u2028Discover how Bluehost's expertise, reliability, and innovation can help you achieve your online goals.","telephone":"+1-888-401-4678"},{"@type":"Person","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/d1a085f70e56f0f622aa315910022cba","name":"Priyanka Jain","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/image\/3238c47c6f70875a7d6840d7373f176f","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg","caption":"Priyanka Jain"},"description":"I'm Priyanka Jain, a content writer at Bluehost with four years of experience across various topics. I am passionate about turning complex ideas into simple, engaging content. Friendly and curious, I enjoy exploring new things and connecting with others.","url":"https:\/\/www.bluehost.com\/blog\/author\/priyanka-jain\/"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314","position":1,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161425314","name":"What are expires headers?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Expires headers are HTTP response headers that tell a browser how long it should cache a file before requesting it again from the server. They help improve website performance by enabling browser caching of static files like images, CSS and JavaScript.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328","position":2,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161541328","name":"How do I add expires headers in WordPress?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"You can add expires headers in WordPress using a caching plugin like WP Super Cache or W3 Total Cache. These plugins allow you to set caching rules without editing code. Alternatively, you can add expires headers manually through the .htaccess file (Apache) or your Nginx server configuration.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047","position":3,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161568047","name":"Why should I add expires headers?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Adding expires headers helps speed up your website by telling browsers to cache static content for a set time. This reduces page load time, lowers server requests and improves SEO and user experience.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724","position":4,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161588724","name":"Where is the .htaccess file in WordPress?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"The .htaccess file is located in the root directory of your WordPress installation, typically under \/public_html\/. It may be hidden by default\u2014make sure your file manager or FTP client is set to show hidden files.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411","position":5,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161608411","name":"Do all web servers support expires headers?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Most modern web servers like Apache and Nginx support expires headers, but the configuration method differs. Apache uses the .htaccess file and mod_expires module, while Nginx requires changes in the site\u2019s configuration file.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689","position":6,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161626689","name":"How do I check if my site has expires headers?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"You can check for expires headers using tools like GTmetrix, Google PageSpeed Insights or Lighthouse. These tools will highlight if your site is missing caching headers and offer suggestions for improvement.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940","position":7,"url":"https:\/\/www.bluehost.com\/blog\/add-expires-headers-wordpress\/#faq-question-1743161645940","name":"What is the difference between expires headers and cache-control?\u00a0","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Expires headers use a fixed date for caching, while Cache-Control uses relative time (e.g., max-age=86400). Both are used to control browser caching and it's common to use them together for better cache management.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"authors":[{"term_id":672,"user_id":137,"is_guest":0,"slug":"priyanka-jain","display_name":"Priyanka Jain","avatar_url":{"url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg","url2x":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2024\/10\/Image.jpg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":"","11":"","12":"","13":"","14":"","15":""}],"_links":{"self":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/149196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/users\/137"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/comments?post=149196"}],"version-history":[{"count":1,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/149196\/revisions"}],"predecessor-version":[{"id":265264,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/149196\/revisions\/265264"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media\/157826"}],"wp:attachment":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media?parent=149196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/categories?post=149196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/tags?post=149196"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=149196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}