{"id":26581,"date":"2023-02-01T08:00:00","date_gmt":"2023-02-01T15:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=26581"},"modified":"2023-03-11T09:11:48","modified_gmt":"2023-03-11T16:11:48","slug":"cloudinary-lqip-and-lazy-loading-best-practices","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices","title":{"rendered":"Cloudinary LQIP and Lazy Loading Best Practices"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Context<\/strong><\/h2>\n\n\n\n<p>Today, Users face multiple problems when arriving or simply using a website or app. One of these problems is quite significant, namely, network instability, causing the website or app to load slower. LQIP, <a href=\"https:\/\/cloudinary.com\/documentation\/javascript_image_transformations#image_placeholders\" target=\"_blank\" rel=\"noreferrer noopener\">Low-Quality Image Placeholder<\/a>, and <a href=\"https:\/\/cloudinary.com\/documentation\/javascript_image_transformations#lazy_loading\" target=\"_blank\" rel=\"noreferrer noopener\">Lazy Loading<\/a> are two <a href=\"https:\/\/cloudinary.com\/documentation\/javascript_image_transformations#plugins\" target=\"_blank\" rel=\"noreferrer noopener\">methods<\/a> that can be implemented on the front end of websites and apps to create a greater User Experience even with network instability. With LQIP, implemented, a low-quality image of the final image version will initially load to fill in the image container until the high-resolution version will load. A more thorough introduction to LQIP can be found <a href=\"https:\/\/cloudinary.com\/blog\/low_quality_image_placeholders_lqip_explained\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. Another method to speed up a website&#8217;s load time is lazy loading. Lazy loading will delay the load or initialization of assets on the website until they\u2019re actually needed.<\/p>\n\n\n\n<p>Attached below is a <a href=\"http:\/\/codepen.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Codepen.io<\/a> example of LQIP and Lazy Loading being applied to a Product List Page using Cloudinary. The example below includes two parts, the first being the Hero Image (Background Image) that shows how the LQIP is rendered first, and then the final more detailed image is loaded second. The second part (At the bottom of the page) shows LQIP being used with Lazy Loading, meaning the LQIP isn\u2019t loaded until you scroll down to view the Product List Page (PLP). Note, that with Cloudinary, JS is not required. When inspecting, be sure to <a href=\"https:\/\/www.browserstack.com\/guide\/how-to-perform-network-throttling-in-chrome\" target=\"_blank\" rel=\"noreferrer noopener\">throttle your network<\/a> (3G should suffice) and <a href=\"https:\/\/superuser.com\/questions\/220179\/how-can-i-do-a-cache-refresh-in-google-chrome\" target=\"_blank\" rel=\"noreferrer noopener\">empty the cache<\/a> prior to reloading.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/codepen.io\/samar24\/pen\/qBKRPPq\" target=\"_blank\" rel=\"noreferrer noopener\">Low Quality Image Placeholder and Lazy Loading with Cloudinary<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Let\u2019s Begin with Some General Thoughts\/Guidelines<\/strong>:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Consider lazy loading when:\n<ul class=\"wp-block-list\">\n<li>Images are not yet visible<\/li>\n\n\n\n<li>Images are not as important as other content<\/li>\n\n\n\n<li>There are many images on a page, for example, a PLP<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Small File LQIPs (Small in terms of bytes) may be a subjective-performance win for the hero image. Large LQIPs will slow down the final, LCP image\/score too much. A hero image is a large or oversized web banner image that is pinned to the header section of a webpage, usually towards the top of the page.<\/li>\n\n\n\n<li>Load LQIPs as soon as possible (ie Use Case: Carousel); try to ensure the LQIP source is in the src attribute sent with the HTML, and not added later with Javascript. Inlining (base64) or preloading are best.<\/li>\n\n\n\n<li>Prefer <a href=\"https:\/\/cloudinary.com\/blog\/an_introduction_to_progressive_image_rendering\" target=\"_blank\" rel=\"noreferrer noopener\">Progressive Loading<\/a> to LQIPs. Unfortunately, until we get JXL, this won&#8217;t be possible for <a href=\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\" target=\"_blank\" rel=\"noreferrer noopener\">f_auto<\/a> customers delivering large numbers of WebPs and AVIFs, which do not load progressively. To further expand, f_auto is a Cloudinary Transformation that detects the End-Users browser and transforms the asset into a different format that is best suited for the browser, reducing file size and maintaining quality.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Recommendations for when Implementing LQIP with Lazy Loading<\/strong>:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Never lazy load the LCP image (Largest Contentful Paint). LCP measures the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport.<\/li>\n\n\n\n<li>Measure the cost of your LQIP implementation on LCP times (objective).<\/li>\n\n\n\n<li>Test your LQIPs &#8211; on a range of devices and network conditions &#8211; in order to judge the benefits of your LQIP implementation (subjective)<\/li>\n\n\n\n<li>Native lazy loading, unlike most Javascript lazy loading libraries, tries to be &#8220;invisible&#8221; &#8211; it tries to load images before they enter the viewport. This decreases the need for LQIPs (the worst possible LQIP is one that never gets seen &#8212; just a waste).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs<\/strong>:<\/h2>\n\n\n\n<p>Should we generate LQIP for all images above the fold components when the page loads?<\/p>\n\n\n\n<p>Unfortunately, because LQIPs provide subjective performance wins, this will require subjective testing. &#8220;LQIPs for everything&#8221; may lead to a large number of requests which slow down the rest of the page too much; a fast LQIP on the hero image is much, much more valuable than, say, an LQIP of the company logo. But it&#8217;s subjective and context-dependent.<\/p>\n\n\n\n<p>Would it be right to generate LQIP for all images below the fold components when the page loads and before you scroll down?<\/p>\n\n\n\n<p>Using Javascript libraries that are lazy-loaded when images enter the viewport, was *super* important. Now, using native Lazy Loading, it&#8217;s much less so&#8230; to the point that in many contexts it may not provide any value at all. Test!<\/p>\n\n\n\n<p>In what cases shouldn\u2019t I create LQIP images at all?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When they slow down the objective metrics (LCP) too much.<\/li>\n\n\n\n<li>When they are not seen at all by a significant portion of viewers (just waste)<\/li>\n\n\n\n<li>When the subjective benefits they provide don&#8217;t outweigh the objective costs (this is a design decision!)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>Many of these aspects are subjective, can depend on end-user preference, and implementing these features correctly can be found to be quite challenging.&nbsp;With that being said, being mindful of these best practices and constantly testing will inevitably lead to great results.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Context Today, Users face multiple problems when arriving or simply using a website or app. One of these problems is quite significant, namely, network instability, causing the website or app to load slower. LQIP, Low-Quality Image Placeholder, and Lazy Loading are two methods that can be implemented on the front end of websites and apps [&hellip;]<\/p>\n","protected":false},"author":54,"featured_media":26685,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[227],"class_list":["post-26581","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-performance-optimization"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cloudinary LQIP and Lazy Loading Best Practices<\/title>\n<meta name=\"description\" content=\"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloudinary LQIP and Lazy Loading Best Practices\" \/>\n<meta property=\"og:description\" content=\"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-01T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-11T16:11:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1673485206\/blog-lazyLoading\/blog-lazyLoading-jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Cloudinary LQIP and Lazy Loading Best Practices\",\"datePublished\":\"2023-02-01T15:00:00+00:00\",\"dateModified\":\"2023-03-11T16:11:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\"},\"wordCount\":812,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA\",\"keywords\":[\"Performance Optimization\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2023\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\",\"url\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\",\"name\":\"Cloudinary LQIP and Lazy Loading Best Practices\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA\",\"datePublished\":\"2023-02-01T15:00:00+00:00\",\"dateModified\":\"2023-03-11T16:11:48+00:00\",\"description\":\"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloudinary LQIP and Lazy Loading Best Practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cloudinary LQIP and Lazy Loading Best Practices","description":"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.","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:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices","og_locale":"en_US","og_type":"article","og_title":"Cloudinary LQIP and Lazy Loading Best Practices","og_description":"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.","og_url":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices","og_site_name":"Cloudinary Blog","article_published_time":"2023-02-01T15:00:00+00:00","article_modified_time":"2023-03-11T16:11:48+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1673485206\/blog-lazyLoading\/blog-lazyLoading-jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices"},"author":{"name":"","@id":""},"headline":"Cloudinary LQIP and Lazy Loading Best Practices","datePublished":"2023-02-01T15:00:00+00:00","dateModified":"2023-03-11T16:11:48+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices"},"wordCount":812,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA","keywords":["Performance Optimization"],"inLanguage":"en-US","copyrightYear":"2023","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices","url":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices","name":"Cloudinary LQIP and Lazy Loading Best Practices","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA","datePublished":"2023-02-01T15:00:00+00:00","dateModified":"2023-03-11T16:11:48+00:00","description":"Learn best practices using (LQIP) Low-Quality Image Placeholder and Lazying Loading for fast website performance and optimization.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-lqip-and-lazy-loading-best-practices#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloudinary LQIP and Lazy Loading Best Practices"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673485206\/blog-lazyLoading\/blog-lazyLoading.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=26581"}],"version-history":[{"count":15,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26581\/revisions"}],"predecessor-version":[{"id":27317,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26581\/revisions\/27317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/26685"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=26581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=26581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=26581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}