{"id":513,"date":"2019-03-06T23:23:56","date_gmt":"2019-03-06T23:23:56","guid":{"rendered":"http:\/\/www.projectimmerse.com\/blog\/?p=513"},"modified":"2020-06-17T05:20:40","modified_gmt":"2020-06-17T05:20:40","slug":"leverage-browser-caching-with-htaccess","status":"publish","type":"post","link":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/","title":{"rendered":"Leverage Browser Caching with .htaccess"},"content":{"rendered":"<p>If you&#8217;re an SEO marketeer or a developer &#8211; you will see this a lot. <\/p>\n<p>From <a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\" title=\"Google Page Insights\">Google Page Insights<\/a>, <a href=\"https:\/\/www.pingdom.com\/\" title=\"Pingdom\">Pingdom<\/a>, <a href=\"https:\/\/www.semrush.com\/\" title=\"SEM Rush\">SEM Rush<\/a>, <a href=\"https:\/\/gtmetrix.com\/\" title=\"GTMetrix\">GTMetrix<\/a> and other page speed tools &#8211; &#8220;Leverage Browser Caching&#8221; is bound to come up. If you&#8217;re ignoring this, then you&#8217;re business, your client, or site is at a major loss. Page speed is a huge variable when a customer first engages with your site &#8211; chances are high rate of drop offs will occur if you don&#8217;t leverage browser caching.<br \/>\n<!--more--><\/p>\n<p>In this post, I&#8217;m going to quickly cover implementation using .htaccess. If you&#8217;re using a different web server besides Apache, then you&#8217;ll have to stay tuned for that. I&#8217;m more of a &#8220;LAMP&#8221; stack kinda guy so I&#8217;m a bit bias here. <\/p>\n<p>It&#8217;s implementation is rather straightforward &#8211; except there is one thing that stood out to me. I&#8217;m going to provide an example below:<\/p>\n<h2>Example #1<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n## EXPIRES HEADER CACHING ##\r\n&lt;IfModule mod_expires.c&gt;\r\nExpiresActive On\r\nExpiresByType image\/jpg &quot;access 1 year&quot;\r\nExpiresByType image\/jpeg &quot;access 1 year&quot;\r\nExpiresByType image\/gif &quot;access 1 year&quot;\r\nExpiresByType image\/png &quot;access 1 year&quot;\r\nExpiresByType image\/svg &quot;access 1 year&quot;\r\nExpiresByType text\/css &quot;access 1 month&quot;\r\nExpiresByType application\/pdf &quot;access 1 month&quot;\r\nExpiresByType application\/javascript &quot;access 1 month&quot;\r\nExpiresByType application\/x-javascript &quot;access 1 month&quot;\r\nExpiresByType application\/x-shockwave-flash &quot;access 1 month&quot;\r\nExpiresByType image\/x-icon &quot;access 1 year&quot;\r\nExpiresDefault &quot;access 2 days&quot;\r\n&lt;\/IfModule&gt;\r\n## EXPIRES HEADER CACHING ##\r\n\r\n<\/pre>\n<p>Ok, dropping this into your .htaccess file is a good start. You can start fiddling with expiries &#8211; using seconds, minutes, hours, days, months and year. It&#8217;s really all up to you and based on the frequency of updates made to your site. I can&#8217;t determine that for you. <\/p>\n<p>However, you will see variants &#8211; just a slight usage of words I&#8217;ve seen throw many developers off track. <strong>.htaccess<\/strong> to me has been a neverending learning experience and I find that many developers alike have no idea what these directives even mean. <\/p>\n<p>So to describe this, here is another example:<\/p>\n<h2>Example #2<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n## EXPIRES CACHING ##\r\n&lt;IfModule mod_expires.c&gt;\r\nExpiresActive On\r\nExpiresByType image\/jpg &quot;access plus 1 year&quot;\r\nExpiresByType image\/jpeg &quot;access plus 1 year&quot;\r\nExpiresByType image\/gif &quot;access plus 1 year&quot;\r\nExpiresByType image\/png &quot;access plus 1 year&quot;\r\nExpiresByType text\/css &quot;access plus 1 month&quot;\r\nExpiresByType application\/pdf &quot;access plus 1 month&quot;\r\nExpiresByType text\/x-javascript &quot;access plus 1 month&quot;\r\nExpiresByType application\/x-shockwave-flash &quot;access plus 1 month&quot;\r\nExpiresByType image\/x-icon &quot;access plus 1 year&quot;\r\nExpiresDefault &quot;access plus 2 days&quot;\r\n&lt;\/IfModule&gt;\r\n## EXPIRES CACHING ##\r\n\r\n<\/pre>\n<p>Alright, do you see the difference? This example has the keyword &#8220;plus&#8221; in &#8220;ExpiresByType image\/jpg &#8220;access plus 1 year&#8221;. Yeah what&#8217;s that about?<\/p>\n<p>To make things clear, I&#8217;m going to break the two examples down and note them accordingly. <\/p>\n<h3>Example #1 &#8211; &#8220;access 1 year&#8221;<\/h3>\n<p>Download files after 1 year has passed. 1 year is the expiry<\/p>\n<h3>Example #2 &#8211; &#8220;access plus 1 year&#8221;<\/h3>\n<p>Download files only if the cached copy has not been accessed in 1 day.<\/p>\n<p>Cool, we got that squared away &#8211; the rest is pretty self explanatory, I&#8217;ll cover that to end this post. <\/p>\n<h4>Breaking it down:<\/h4>\n<ul>\n<li>ExpiresActive On &#8211; enable the feature<\/li>\n<li>ExpiresByType text\/css &#8211; target css files. This applies to all types, indicate the type you wish to expire.<\/li>\n<\/ul>\n<h2>Some useful resources covering the topic<\/h3>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/blog\/leverage-browser-caching\/#settings_saved\" title=\"Kinsta - Leverage Browser Caching\">https:\/\/kinsta.com\/blog\/leverage-browser-caching\/#settings_saved<\/a><\/li>\n<li><a href=\"https:\/\/themeskills.com\/fix-leverage-browser-caching-wordpress-htaccess\/\" title=\"ThemeSkills - Leverage Browser Caching\">https:\/\/themeskills.com\/fix-leverage-browser-caching-wordpress-htaccess\/<\/a><\/li>\n<li><a href=\"https:\/\/wp-rocket.me\/blog\/how-to-correct-the-leverage-browser-caching-warning-in-wordpress\/\" title=\"WPRocket - Leverage Browser Caching\">https:\/\/wp-rocket.me\/blog\/how-to-correct-the-leverage-browser-caching-warning-in-wordpress\/<\/a><\/li>\n<li><a href=\"https:\/\/gtmetrix.com\/leverage-browser-caching.html\" title=\"GTMetrix - Leverage Browser Caching\">https:\/\/gtmetrix.com\/leverage-browser-caching.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re an SEO marketeer or a developer &#8211; you will see this a lot. From Google Page Insights, Pingdom, SEM Rush, GTMetrix and other page speed tools &#8211; &#8220;Leverage Browser Caching&#8221; is bound to come up. If you&#8217;re ignoring this, then you&#8217;re business, your client, or site is at a major loss. Page speed &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Leverage Browser Caching with .htaccess&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1141,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[],"class_list":["post-513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Leverage Browser Caching with .htaccess - Project Immerse<\/title>\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.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leverage Browser Caching with .htaccess - Project Immerse\" \/>\n<meta property=\"og:description\" content=\"If you&#8217;re an SEO marketeer or a developer &#8211; you will see this a lot. From Google Page Insights, Pingdom, SEM Rush, GTMetrix and other page speed tools &#8211; &#8220;Leverage Browser Caching&#8221; is bound to come up. If you&#8217;re ignoring this, then you&#8217;re business, your client, or site is at a major loss. Page speed &hellip; Continue reading &quot;Leverage Browser Caching with .htaccess&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/\" \/>\n<meta property=\"og:site_name\" content=\"Project Immerse\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-06T23:23:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-17T05:20:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alex Mercer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Mercer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/\"},\"author\":{\"name\":\"Alex Mercer\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"headline\":\"Leverage Browser Caching with .htaccess\",\"datePublished\":\"2019-03-06T23:23:56+00:00\",\"dateModified\":\"2020-06-17T05:20:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/\"},\"wordCount\":614,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/leverage-browser-cacing-using-htaccess.png\",\"articleSection\":[\"Web Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/\",\"name\":\"Leverage Browser Caching with .htaccess - Project Immerse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/leverage-browser-cacing-using-htaccess.png\",\"datePublished\":\"2019-03-06T23:23:56+00:00\",\"dateModified\":\"2020-06-17T05:20:40+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/leverage-browser-cacing-using-htaccess.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/leverage-browser-cacing-using-htaccess.png\",\"width\":750,\"height\":750,\"caption\":\"Leverage Browser Caching with .htaccess\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/leverage-browser-caching-with-htaccess\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leverage Browser Caching with .htaccess\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\",\"name\":\"Project Immerse\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\",\"name\":\"Alex Mercer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"caption\":\"Alex Mercer\"},\"description\":\"Alex Mercer is a writer and contributor at Project Immerse, covering web design, WordPress, web development, SEO, digital strategy, emerging technology, and the evolving world of the web. His work focuses on practical ideas, useful tools, and approachable guidance that help creators, developers, and business owners build better digital experiences. Alex writes with a hands-on, curiosity-driven approach, exploring both established web practices and new technologies shaping how websites are designed, built, and discovered.\",\"sameAs\":[\"https:\\\/\\\/www.projectimmerse.com\"],\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/author\\\/projectimmerse\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leverage Browser Caching with .htaccess - Project Immerse","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.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/","og_locale":"en_US","og_type":"article","og_title":"Leverage Browser Caching with .htaccess - Project Immerse","og_description":"If you&#8217;re an SEO marketeer or a developer &#8211; you will see this a lot. From Google Page Insights, Pingdom, SEM Rush, GTMetrix and other page speed tools &#8211; &#8220;Leverage Browser Caching&#8221; is bound to come up. If you&#8217;re ignoring this, then you&#8217;re business, your client, or site is at a major loss. Page speed &hellip; Continue reading \"Leverage Browser Caching with .htaccess\"","og_url":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/","og_site_name":"Project Immerse","article_published_time":"2019-03-06T23:23:56+00:00","article_modified_time":"2020-06-17T05:20:40+00:00","og_image":[{"width":750,"height":750,"url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png","type":"image\/png"}],"author":"Alex Mercer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alex Mercer","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#article","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/"},"author":{"name":"Alex Mercer","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"headline":"Leverage Browser Caching with .htaccess","datePublished":"2019-03-06T23:23:56+00:00","dateModified":"2020-06-17T05:20:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/"},"wordCount":614,"commentCount":0,"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png","articleSection":["Web Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/","url":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/","name":"Leverage Browser Caching with .htaccess - Project Immerse","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#primaryimage"},"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png","datePublished":"2019-03-06T23:23:56+00:00","dateModified":"2020-06-17T05:20:40+00:00","author":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"breadcrumb":{"@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#primaryimage","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/leverage-browser-cacing-using-htaccess.png","width":750,"height":750,"caption":"Leverage Browser Caching with .htaccess"},{"@type":"BreadcrumbList","@id":"https:\/\/www.projectimmerse.com\/blog\/leverage-browser-caching-with-htaccess\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.projectimmerse.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Leverage Browser Caching with .htaccess"}]},{"@type":"WebSite","@id":"https:\/\/www.projectimmerse.com\/blog\/#website","url":"https:\/\/www.projectimmerse.com\/blog\/","name":"Project Immerse","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.projectimmerse.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5","name":"Alex Mercer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","caption":"Alex Mercer"},"description":"Alex Mercer is a writer and contributor at Project Immerse, covering web design, WordPress, web development, SEO, digital strategy, emerging technology, and the evolving world of the web. His work focuses on practical ideas, useful tools, and approachable guidance that help creators, developers, and business owners build better digital experiences. Alex writes with a hands-on, curiosity-driven approach, exploring both established web practices and new technologies shaping how websites are designed, built, and discovered.","sameAs":["https:\/\/www.projectimmerse.com"],"url":"https:\/\/www.projectimmerse.com\/blog\/author\/projectimmerse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/comments?post=513"}],"version-history":[{"count":5,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/513\/revisions"}],"predecessor-version":[{"id":519,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/513\/revisions\/519"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media\/1141"}],"wp:attachment":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media?parent=513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/categories?post=513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/tags?post=513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}