{"id":3304,"date":"2025-09-25T03:06:46","date_gmt":"2025-09-25T03:06:46","guid":{"rendered":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/"},"modified":"2025-09-25T03:06:46","modified_gmt":"2025-09-25T03:06:46","slug":"lazy-loading-images-intersection-observer-2","status":"publish","type":"post","link":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/","title":{"rendered":"Implement Lazy Loading Images with Intersection Observer"},"content":{"rendered":"<article>\n<h2>Introduction<\/h2>\n<p>In the world of web development, performance is crucial for user experience and SEO. Lazy loading images can significantly enhance page load times by deferring the loading of images until they are about to enter the viewport. In this post, we will explore how to implement lazy loading for images using the Intersection Observer API, a powerful tool that provides a more efficient way to track visibility of elements in the viewport.<\/p>\n<h2>What is Lazy Loading?<\/h2>\n<p>Lazy loading is a design pattern that delays the loading of non-essential resources at the point the page is initially loaded. This technique is particularly useful for images, as they can often take up a significant amount of bandwidth and time to load. By loading images only when they are needed, you can improve the performance of your web application and enhance the user&#8217;s experience.<\/p>\n<h2>Understanding the Intersection Observer API<\/h2>\n<p>The Intersection Observer API allows you to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document&#8217;s viewport. This is ideal for lazy loading as you can easily detect when an image comes into the user&#8217;s view.<\/p>\n<h2>Step-by-Step Guide to Implement Lazy Loading with Intersection Observer<\/h2>\n<h3>Step 1: Set Up Your HTML<\/h3>\n<p>First, set up your HTML structure. Here\u2019s a simple example:<\/p>\n<pre><code>&lt;img data-src=&quot;image1.jpg&quot; class=&quot;lazy&quot; alt=&quot;Description of image&quot; \/&gt;\n&lt;img data-src=&quot;image2.jpg&quot; class=&quot;lazy&quot; alt=&quot;Description of image&quot; \/&gt;\n&lt;img data-src=&quot;image3.jpg&quot; class=&quot;lazy&quot; alt=&quot;Description of image&quot; \/&gt;<\/code><\/pre>\n<h3>Step 2: Add CSS Styles<\/h3>\n<p>Next, you should add some CSS to manage the loading state of your images:<\/p>\n<pre><code>.lazy {\n  opacity: 0;\n  transition: opacity 0.5s;\n}\n\n.loaded {\n  opacity: 1;\n}<\/code><\/pre>\n<h3>Step 3: Implement the Intersection Observer<\/h3>\n<p>Now, let\u2019s implement the Intersection Observer to detect when the images enter the viewport:<\/p>\n<pre><code>const images = document.querySelectorAll(&#39;.lazy&#39;);\n\nconst options = {\n  root: null,\n  rootMargin: &#39;0px&#39;,\n  threshold: 0.1\n};\n\nconst imageObserver = new IntersectionObserver((entries, observer) =&gt; {\n  entries.forEach(entry =&gt; {\n    if (entry.isIntersecting) {\n      const img = entry.target;\n      img.src = img.dataset.src;\n      img.classList.add(&#39;loaded&#39;);\n      observer.unobserve(img);\n    }\n  });\n}, options);\n\nimages.forEach(image =&gt; {\n  imageObserver.observe(image);\n});<\/code><\/pre>\n<h2>Benefits of Using Intersection Observer<\/h2>\n<ul>\n<li><strong>Performance:<\/strong> Reduces initial page load time by loading images only when necessary.<\/li>\n<li><strong>SEO:<\/strong> Improves SEO as faster loading pages contribute to better search engine rankings.<\/li>\n<li><strong>Battery Efficiency:<\/strong> Saves battery life on mobile devices by reducing unnecessary data usage.<\/li>\n<\/ul>\n<h2>FAQs<\/h2>\n<h3>Can I use Lazy Loading for other elements?<\/h3>\n<p>Yes! The Intersection Observer can be used for any HTML element, not just images. You can lazy load videos, iframes, and even entire sections of your page.<\/p>\n<h3>What browsers support Intersection Observer?<\/h3>\n<p>The Intersection Observer API is supported in most modern browsers. However, you may want to check compatibility for older browsers and consider using a polyfill if necessary.<\/p>\n<h2>Conclusion<\/h2>\n<p>Implementing lazy loading for images using the Intersection Observer API is a straightforward process that can greatly enhance your website&#8217;s performance and SEO. By following the steps outlined in this guide, you can ensure that your users have a smoother experience while browsing your content. Don&#8217;t forget to optimize your images further using tools like the <a href=\"https:\/\/webtoolslab.io\/tools\/jpg-to-webp-converter.php\">JPG to WebP Converter<\/a> and <a href=\"https:\/\/webtoolslab.io\/tools\/png-to-webp-converter.php\">PNG to WebP Converter<\/a> to reduce file sizes without sacrificing quality. For further optimization, consider using the <a href=\"https:\/\/webtoolslab.io\/tools\/css-minifier.php\">CSS Minifier<\/a> and <a href=\"https:\/\/webtoolslab.io\/tools\/html-minifier.php\">HTML Minifier<\/a> available on <a href=\"https:\/\/webtoolslab.io\/\">WebToolsLab<\/a>.<\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.<\/p>\n","protected":false},"author":1,"featured_media":2853,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-3304","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 v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Implement Lazy Loading Images with Intersection Observer - WebToolsLab<\/title>\n<meta name=\"description\" content=\"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implement Lazy Loading Images with Intersection Observer - WebToolsLab\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/\" \/>\n<meta property=\"og:site_name\" content=\"WebToolsLab\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-25T03:06:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1820\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"maashraf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"maashraf\" \/>\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:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/\"},\"author\":{\"name\":\"maashraf\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#\\\/schema\\\/person\\\/dc734a267c9220810951a2c42f320fbb\"},\"headline\":\"Implement Lazy Loading Images with Intersection Observer\",\"datePublished\":\"2025-09-25T03:06:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/\"},\"wordCount\":466,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#\\\/schema\\\/person\\\/dc734a267c9220810951a2c42f320fbb\"},\"image\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/1752246233518.webp\",\"articleSection\":[\"Web Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/\",\"url\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/\",\"name\":\"Implement Lazy Loading Images with Intersection Observer - WebToolsLab\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/1752246233518.webp\",\"datePublished\":\"2025-09-25T03:06:46+00:00\",\"description\":\"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/1752246233518.webp\",\"contentUrl\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/1752246233518.webp\",\"width\":1820,\"height\":1024,\"caption\":\"1752246233518\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/lazy-loading-images-intersection-observer-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Implement Lazy Loading Images with Intersection Observer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/\",\"name\":\"WebToolsLab Free Online Developer Tools\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#\\\/schema\\\/person\\\/dc734a267c9220810951a2c42f320fbb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/#\\\/schema\\\/person\\\/dc734a267c9220810951a2c42f320fbb\",\"name\":\"maashraf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/favicon-1.png\",\"url\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/favicon-1.png\",\"contentUrl\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/favicon-1.png\",\"width\":96,\"height\":96,\"caption\":\"maashraf\"},\"logo\":{\"@id\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/favicon-1.png\"},\"sameAs\":[\"https:\\\/\\\/webtoolslab.io\\\/blog\"],\"url\":\"https:\\\/\\\/webtoolslab.io\\\/blog\\\/author\\\/maashraf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implement Lazy Loading Images with Intersection Observer - WebToolsLab","description":"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.","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:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/","og_locale":"en_US","og_type":"article","og_title":"Implement Lazy Loading Images with Intersection Observer - WebToolsLab","og_description":"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.","og_url":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/","og_site_name":"WebToolsLab","article_published_time":"2025-09-25T03:06:46+00:00","og_image":[{"width":1820,"height":1024,"url":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","type":"image\/webp"}],"author":"maashraf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"maashraf","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#article","isPartOf":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/"},"author":{"name":"maashraf","@id":"https:\/\/webtoolslab.io\/blog\/#\/schema\/person\/dc734a267c9220810951a2c42f320fbb"},"headline":"Implement Lazy Loading Images with Intersection Observer","datePublished":"2025-09-25T03:06:46+00:00","mainEntityOfPage":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/"},"wordCount":466,"commentCount":0,"publisher":{"@id":"https:\/\/webtoolslab.io\/blog\/#\/schema\/person\/dc734a267c9220810951a2c42f320fbb"},"image":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#primaryimage"},"thumbnailUrl":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","articleSection":["Web Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/","url":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/","name":"Implement Lazy Loading Images with Intersection Observer - WebToolsLab","isPartOf":{"@id":"https:\/\/webtoolslab.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#primaryimage"},"image":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#primaryimage"},"thumbnailUrl":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","datePublished":"2025-09-25T03:06:46+00:00","description":"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.","breadcrumb":{"@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#primaryimage","url":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","contentUrl":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","width":1820,"height":1024,"caption":"1752246233518"},{"@type":"BreadcrumbList","@id":"https:\/\/webtoolslab.io\/blog\/lazy-loading-images-intersection-observer-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webtoolslab.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Implement Lazy Loading Images with Intersection Observer"}]},{"@type":"WebSite","@id":"https:\/\/webtoolslab.io\/blog\/#website","url":"https:\/\/webtoolslab.io\/blog\/","name":"WebToolsLab Free Online Developer Tools","description":"","publisher":{"@id":"https:\/\/webtoolslab.io\/blog\/#\/schema\/person\/dc734a267c9220810951a2c42f320fbb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webtoolslab.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/webtoolslab.io\/blog\/#\/schema\/person\/dc734a267c9220810951a2c42f320fbb","name":"maashraf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/favicon-1.png","url":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/favicon-1.png","contentUrl":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/favicon-1.png","width":96,"height":96,"caption":"maashraf"},"logo":{"@id":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/favicon-1.png"},"sameAs":["https:\/\/webtoolslab.io\/blog"],"url":"https:\/\/webtoolslab.io\/blog\/author\/maashraf\/"}]}},"jetpack_featured_media_url":"https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp","uagb_featured_image_src":{"full":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp",1820,1024,false],"thumbnail":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518-150x150.webp",150,150,true],"medium":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518-300x169.webp",300,169,true],"medium_large":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518-768x432.webp",768,432,true],"large":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518-1024x576.webp",1024,576,true],"1536x1536":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518-1536x864.webp",1536,864,true],"2048x2048":["https:\/\/webtoolslab.io\/blog\/wp-content\/uploads\/2025\/07\/1752246233518.webp",1820,1024,false]},"uagb_author_info":{"display_name":"maashraf","author_link":"https:\/\/webtoolslab.io\/blog\/author\/maashraf\/"},"uagb_comment_info":0,"uagb_excerpt":"Learn how to implement lazy loading for images using Intersection Observer for improved performance and SEO.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/posts\/3304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/comments?post=3304"}],"version-history":[{"count":0,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/posts\/3304\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/media\/2853"}],"wp:attachment":[{"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/media?parent=3304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/categories?post=3304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webtoolslab.io\/blog\/wp-json\/wp\/v2\/tags?post=3304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}