{"id":327,"date":"2017-08-29T16:30:14","date_gmt":"2017-08-29T13:30:14","guid":{"rendered":"https:\/\/html-online.com\/articles\/?p=327"},"modified":"2024-09-13T12:03:42","modified_gmt":"2024-09-13T09:03:42","slug":"leverage-browser-caching-following-cacheable-resources","status":"publish","type":"post","link":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/","title":{"rendered":"Leverage Browser Caching For Cacheable Resources"},"content":{"rendered":"<p><strong>Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network.<\/strong><\/p>\n<p>What does this Google PageSpeed insight waring mean and how can we fix it?<br \/>\n<!--more--><br \/>\n<strong>Is it even possible to achieve 100\/100 score on this test? Yes, I managed to do it \ud83d\ude42<\/strong><\/p>\n<p>I followed all the guidelines and executed them one by one, when I reached the error message below. My score was 89\/100 at this time:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"355\" class=\"aligncenter size-full wp-image-328\" src=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\" alt=\"leverage browser caching cacheable resources\" srcset=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg 586w, https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources-300x182.jpg 300w\" sizes=\"auto, (max-width: 586px) 85vw, 586px\" \/><\/p>\n<p>I see that it doesn&#8217;t like the Google Analytics so I removed it and BAMMM, the score is 100\/100!<img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"432\" class=\"aligncenter size-full wp-image-332\" src=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/htaccess-browser-caching.jpg\" alt=\"htaccess browser caching\" srcset=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/htaccess-browser-caching.jpg 594w, https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/htaccess-browser-caching-300x218.jpg 300w\" sizes=\"auto, (max-width: 594px) 85vw, 594px\" \/><\/p>\n<p>Okay, that&#8217;s an achievement but I would rather a 89 score using Analytics \u00a0than removing Analytics and having a 100\/100, I decided to reinstall it. Surprisingly the score was 99% now. Good enough for me.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"484\" class=\"aligncenter size-full wp-image-333\" src=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/99-percent-test-google-analytics.jpg\" alt=\"99-percent test google analytics\" srcset=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/99-percent-test-google-analytics.jpg 599w, https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/99-percent-test-google-analytics-300x242.jpg 300w\" sizes=\"auto, (max-width: 599px) 85vw, 599px\" \/><\/p>\n<p>The conclusion is that you can&#8217;t have a perfect score, unless you remove <a href=\"https:\/\/analytics.google.com\/analytics\/web\/\" target=\"_blank\" rel=\"nofollow noopener\">Google Analytics<\/a>.<\/p>\n<h2>More about this speed test<\/h2>\n<p>It&#8217;s recommended to use the\u00a0<a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\" target=\"_blank\" rel=\"nofollow noopener\">page loading time tester<\/a> by Google which can tell you some tips on how to optimize the performance of a website by <a href=\"https:\/\/csseditor.com\/\" target=\"_blank\" rel=\"nofollow noopener\">minimizing CSS<\/a>, <a href=\"http:\/\/html-css-js.com\/js\/compressor\/\" target=\"_blank\" rel=\"nofollow noopener\">compressing JavaScript<\/a> and image files. All you have to do is specify the link of the tested page, hit the <strong>Analyze<\/strong> button and wait for the recommended adjustments.<\/p>\n<p>The tool tries to make our life easier by preparing a ZIP file for us with the optimized files, containing CSS, JS and even the images. All we have to do is download the resources and overwrite the existing files on the server, because the file names are matching. Make sure you upload them in the correct folders where they belong to.<\/p>\n<p>Every browser uses <strong>caching<\/strong>, it downloads and stores the webpage files (CSS, scripts, images) on the local computer even when the visitor abandons a webpage. This way the same page is going to load faster when the same files are requested for download, because the browser has them already downloaded on the hard drive. For example it doesn&#8217;t need to download the same CSS for each page when you&#8217;re browsing a website.<\/p>\n<p><strong>Leveraging browser\u00a0caching<\/strong>\u00a0is instructing web browsers\u00a0how to store the resource files of a given page, for how long to remember the files.<\/p>\n<h2>How can you leverage browser caching for your own files?<\/h2>\n<p>You can adjust the &#8220;remember span&#8221; of the files in the top of the .htaccess file in the root folder of your website.<\/p>\n<p>Let&#8217;s see an example, which doesn&#8217;t even need further explanation:<\/p>\n<p><em>## EXPIRES CACHING ##<br \/>\n&lt;IfModule mod_expires.c&gt;<br \/>\nExpiresActive On<br \/>\nExpiresByType image\/jpg &#8220;access 1 month&#8221;<br \/>\nExpiresByType image\/jpeg &#8220;access 1 month&#8221;<br \/>\nExpiresByType image\/gif &#8220;access 1 month&#8221;<br \/>\nExpiresByType image\/png &#8220;access 1 month&#8221;<br \/>\nExpiresByType text\/css &#8220;access 1 year&#8221;<br \/>\nExpiresByType text\/html &#8220;access 1 week&#8221;<br \/>\nExpiresByType application\/pdf &#8220;access 1 year&#8221;<br \/>\nExpiresByType text\/x-javascript &#8220;access 1 month&#8221;<br \/>\nExpiresByType application\/x-shockwave-flash &#8220;access 1 month&#8221;<br \/>\nExpiresByType image\/x-icon &#8220;access 1 year&#8221;<br \/>\nExpiresDefault &#8220;access 1 week&#8221;<br \/>\n&lt;\/IfModule&gt;<br \/>\n## EXPIRES CACHING ##<\/em><\/p>\n<p>Another example of cache-control, the max-age parameter being expressed in seconds:<\/p>\n<p><em># 1 Week\u00a0for most static assets<\/em><br \/>\n<em>&lt;filesMatch &#8220;.(css|jpg|jpeg|png|gif|js|ico)$&#8221;&gt;<\/em><br \/>\n<em>Header set Cache-Control &#8220;max-age=604800, public&#8221;<\/em><br \/>\n<em>&lt;\/filesMatch&gt;<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network. What does this Google PageSpeed insight waring mean and how can we fix it?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,8],"tags":[],"class_list":["post-327","post","type-post","status-publish","format-standard","hentry","category-articles","category-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Leverage Browser Caching For Cacheable Resources<\/title>\n<meta name=\"description\" content=\"What does this Google PageSpeed insight waring mean and how can we fix it? It&#039;s recommended to use the page loading time tester by Google\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leverage Browser Caching For Cacheable Resources\" \/>\n<meta property=\"og:description\" content=\"What does this Google PageSpeed insight waring mean and how can we fix it? It&#039;s recommended to use the page loading time tester by Google\" \/>\n<meta property=\"og:url\" content=\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\" \/>\n<meta property=\"og:site_name\" content=\"HTML Online\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/htmlcoding\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-29T13:30:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-13T09:03:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\" \/>\n<meta name=\"author\" content=\"HTML Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"HTML Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated 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:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\"},\"author\":{\"name\":\"HTML Editor\",\"@id\":\"https:\/\/html-online.com\/articles\/#\/schema\/person\/019f9afa07f209153df0fecfc90b8c1d\"},\"headline\":\"Leverage Browser Caching For Cacheable Resources\",\"datePublished\":\"2017-08-29T13:30:14+00:00\",\"dateModified\":\"2024-09-13T09:03:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\"},\"wordCount\":531,\"publisher\":{\"@id\":\"https:\/\/html-online.com\/articles\/#organization\"},\"image\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\",\"articleSection\":[\"Articles\",\"Tools\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\",\"url\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\",\"name\":\"Leverage Browser Caching For Cacheable Resources\",\"isPartOf\":{\"@id\":\"https:\/\/html-online.com\/articles\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\",\"datePublished\":\"2017-08-29T13:30:14+00:00\",\"dateModified\":\"2024-09-13T09:03:42+00:00\",\"description\":\"What does this Google PageSpeed insight waring mean and how can we fix it? It's recommended to use the page loading time tester by Google\",\"breadcrumb\":{\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage\",\"url\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\",\"contentUrl\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg\",\"width\":586,\"height\":355,\"caption\":\"leverage browser caching cacheable resources\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/html-online.com\/articles\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leverage Browser Caching For Cacheable Resources\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/html-online.com\/articles\/#website\",\"url\":\"https:\/\/html-online.com\/articles\/\",\"name\":\"HTML Online Articles\",\"description\":\"Tips, tricks, tutorials\u2026\",\"publisher\":{\"@id\":\"https:\/\/html-online.com\/articles\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/html-online.com\/articles\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/html-online.com\/articles\/#organization\",\"name\":\"HTML Online\",\"url\":\"https:\/\/html-online.com\/articles\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/html-online.com\/articles\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2022\/06\/logo.jpg\",\"contentUrl\":\"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2022\/06\/logo.jpg\",\"width\":350,\"height\":350,\"caption\":\"HTML Online\"},\"image\":{\"@id\":\"https:\/\/html-online.com\/articles\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/htmlcoding\/\",\"https:\/\/www.linkedin.com\/in\/ferencdenes\/\",\"https:\/\/www.youtube.com\/channel\/UCn38Jw1sJzbjVHO95Zp0Sww\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/html-online.com\/articles\/#\/schema\/person\/019f9afa07f209153df0fecfc90b8c1d\",\"name\":\"HTML Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/html-online.com\/articles\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7c1d8f5e7f1dc3e261766a96ac50c6a907fa5c236e87ab73379c57c9114e92cd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7c1d8f5e7f1dc3e261766a96ac50c6a907fa5c236e87ab73379c57c9114e92cd?s=96&d=mm&r=g\",\"caption\":\"HTML Editor\"},\"description\":\"In 2013, while wrestling with a mountain of client articles and an uncooperative CMS, I decided enough was enough. So, I created an online HTML editor purely out of necessity (and mild frustration). What began as a tool for my own sanity quickly evolved into a gift for the world\u2014or at least for anyone trying to avoid breaking their website's code. Since then, I've shared my tech notes on my blog, which serves as both a handy reference and a digital diary of the adventures and misadventures of a coder.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/ferencdenes\/\",\"https:\/\/www.youtube.com\/@htmlg\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leverage Browser Caching For Cacheable Resources","description":"What does this Google PageSpeed insight waring mean and how can we fix it? It's recommended to use the page loading time tester by Google","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:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/","og_locale":"en_GB","og_type":"article","og_title":"Leverage Browser Caching For Cacheable Resources","og_description":"What does this Google PageSpeed insight waring mean and how can we fix it? It's recommended to use the page loading time tester by Google","og_url":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/","og_site_name":"HTML Online","article_publisher":"https:\/\/www.facebook.com\/htmlcoding\/","article_published_time":"2017-08-29T13:30:14+00:00","article_modified_time":"2024-09-13T09:03:42+00:00","og_image":[{"url":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg","type":"","width":"","height":""}],"author":"HTML Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"HTML Editor","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#article","isPartOf":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/"},"author":{"name":"HTML Editor","@id":"https:\/\/html-online.com\/articles\/#\/schema\/person\/019f9afa07f209153df0fecfc90b8c1d"},"headline":"Leverage Browser Caching For Cacheable Resources","datePublished":"2017-08-29T13:30:14+00:00","dateModified":"2024-09-13T09:03:42+00:00","mainEntityOfPage":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/"},"wordCount":531,"publisher":{"@id":"https:\/\/html-online.com\/articles\/#organization"},"image":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage"},"thumbnailUrl":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg","articleSection":["Articles","Tools"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/","url":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/","name":"Leverage Browser Caching For Cacheable Resources","isPartOf":{"@id":"https:\/\/html-online.com\/articles\/#website"},"primaryImageOfPage":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage"},"image":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage"},"thumbnailUrl":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg","datePublished":"2017-08-29T13:30:14+00:00","dateModified":"2024-09-13T09:03:42+00:00","description":"What does this Google PageSpeed insight waring mean and how can we fix it? It's recommended to use the page loading time tester by Google","breadcrumb":{"@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#primaryimage","url":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg","contentUrl":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2017\/08\/leverage-browser-caching-cacheable-resources.jpg","width":586,"height":355,"caption":"leverage browser caching cacheable resources"},{"@type":"BreadcrumbList","@id":"https:\/\/html-online.com\/articles\/leverage-browser-caching-following-cacheable-resources\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/html-online.com\/articles\/"},{"@type":"ListItem","position":2,"name":"Leverage Browser Caching For Cacheable Resources"}]},{"@type":"WebSite","@id":"https:\/\/html-online.com\/articles\/#website","url":"https:\/\/html-online.com\/articles\/","name":"HTML Online Articles","description":"Tips, tricks, tutorials\u2026","publisher":{"@id":"https:\/\/html-online.com\/articles\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/html-online.com\/articles\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/html-online.com\/articles\/#organization","name":"HTML Online","url":"https:\/\/html-online.com\/articles\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/html-online.com\/articles\/#\/schema\/logo\/image\/","url":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2022\/06\/logo.jpg","contentUrl":"https:\/\/html-online.com\/articles\/wp-content\/uploads\/2022\/06\/logo.jpg","width":350,"height":350,"caption":"HTML Online"},"image":{"@id":"https:\/\/html-online.com\/articles\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/htmlcoding\/","https:\/\/www.linkedin.com\/in\/ferencdenes\/","https:\/\/www.youtube.com\/channel\/UCn38Jw1sJzbjVHO95Zp0Sww"]},{"@type":"Person","@id":"https:\/\/html-online.com\/articles\/#\/schema\/person\/019f9afa07f209153df0fecfc90b8c1d","name":"HTML Editor","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/html-online.com\/articles\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7c1d8f5e7f1dc3e261766a96ac50c6a907fa5c236e87ab73379c57c9114e92cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7c1d8f5e7f1dc3e261766a96ac50c6a907fa5c236e87ab73379c57c9114e92cd?s=96&d=mm&r=g","caption":"HTML Editor"},"description":"In 2013, while wrestling with a mountain of client articles and an uncooperative CMS, I decided enough was enough. So, I created an online HTML editor purely out of necessity (and mild frustration). What began as a tool for my own sanity quickly evolved into a gift for the world\u2014or at least for anyone trying to avoid breaking their website's code. Since then, I've shared my tech notes on my blog, which serves as both a handy reference and a digital diary of the adventures and misadventures of a coder.","sameAs":["https:\/\/www.linkedin.com\/in\/ferencdenes\/","https:\/\/www.youtube.com\/@htmlg"]}]}},"_links":{"self":[{"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/posts\/327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/comments?post=327"}],"version-history":[{"count":2,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":2125,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/posts\/327\/revisions\/2125"}],"wp:attachment":[{"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/media?parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/categories?post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/html-online.com\/articles\/wp-json\/wp\/v2\/tags?post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}