{"id":1838,"date":"2017-02-13T18:07:47","date_gmt":"2017-02-13T18:07:47","guid":{"rendered":"http:\/\/cloudkul.com\/blog\/?p=1838"},"modified":"2017-06-14T11:33:22","modified_gmt":"2017-06-14T11:33:22","slug":"opencart-speed-optimization","status":"publish","type":"post","link":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/","title":{"rendered":"Opencart Speed Optimization"},"content":{"rendered":"<p>Website <strong>speed optimization<\/strong> should always be a top priority when there is so much of online competition. To improve your website\u00a0performance you should be able to pinpoint where the possible issues are originating from. Nowadays the e-commerce websites are having a large number of images, CSS, HTML, JS(JavaScript) etc. and other elements that in turn are responsible and bring about the slow performance of your website. You can check our dedicated service <a href=\"http:\/\/cloudkul.com\/\">Cloudkul<\/a> for speeding up of your website.<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/Dom.png\"><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/Dom.png\" alt=\"Opencart Speed Optimization\" \/><\/a><\/p>\n<p>A website page that is rendered to a user technically is called as a <em>DOM<\/em> &#8211; Document Object Model. For a novice, elements that a rendered web page\u00a0is constituted of is altogether called as a DOM. The lower the DOM size faster will be the page loading time thereby increasing the performance and speed of your website. In other words, DOM is directly proportional to the loading time of your website. For example, if the DOM size of a website\/webpage is equivalent\u00a0to 800kb and the other webpage&#8217;s DOM is 1mb then the latter one will take a longer load time.<\/p>\n<p>The websites performance issues are a result of a number of different reasons. Using a website <a href=\"http:\/\/www.webpagetest.org\/\"><em>WebPage Performance Tester<\/em><\/a><strong>\u00a0<\/strong>it has been seen that the images\u00a0are accounting for a larger portion of a website\u2019s size. We tested the amazon.com website to see it for real and the test results proved the same for the images.<\/p>\n<p>Images are taking a larger chunk and the requests being generated by the website images are very high around <strong>57.9%<\/strong> of the total requests and the size equates to<strong> 74% <\/strong>of the total size.<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/amazon-webpage-test.png\"><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/amazon-webpage-test.png\" alt=\"Opencart Speed Optimization\" \/><\/a><\/p>\n<p>If we take an example of the<strong> fashion retailers<\/strong>, they have a humungous amount of images and they would never ever compromise over the image quality. Also, to include are the website design and other client side programming elements that are used for the enrichment of functionality use heavy CSS(Cascading Style Sheet) and JS(JavaScrip) files that also are low-performance adders. \u00a0As every static content generates an\u00a0<em>HTTP<\/em> request you should always try\u00a0to reduce the number of HTTPS requests required to fetch the resources for each of the web pages.<\/p>\n<p>Our main aim here should be first focused on the <em>image optimization<\/em>. As most of the website content is driven by images, there is a need to optimize this static content. We can make use of <em>CSS Sprite<\/em>. A CSS Sprite is a means of combining multiple images into a single image for use on a website, to help with the optimization.\u00a0This reduces the overhead of having to fetch multiple images.<\/p>\n<p><strong>So how can we optimize the Images?<\/strong><\/p>\n<p>There are basically two ways to optimize\/compress the images &#8211;<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/Lossy.png\"><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/Lossy.png\" alt=\"Opencart Speed Optimization\" \/><\/a><\/p>\n<ul>\n<li><strong>Lossy or Irreversible Compression<\/strong><\/li>\n<\/ul>\n<p>This technique\u00a0is used to reduce data size for storage, handling, and transmitting content. Here\u00a0some of the data from the original file will be lost. That is if we had an image that used this compression type, then the quality of the image so produced will always be degraded. It helps in the reconstruction only of an approximation of the original data, improving compression rates and thereby reducing the file size.<\/p>\n<ul>\n<li><strong>Lossless Compression<\/strong><\/li>\n<\/ul>\n<p>Lossless compression is used in cases where it is important that the original and the decompressed data be identical to the original data. Here file size is reduced but the image quality is preserved all the times.<\/p>\n<p>There are certain tools using which we can we can compress the images for our websites. Some of them that can be used to compress the images for your websites are &#8211;<\/p>\n<ul>\n<li><a href=\"https:\/\/tinypng.com\/\"><strong>TinyPNG<\/strong><\/a>(Optimizes your PNG images by 50-80%)<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Pngcrush\"><strong>Pngcrush<\/strong><\/a>(Images have the same quality as of the source)<\/li>\n<li><strong><a href=\"http:\/\/www.imgopt.com\/\">ImageSmush<\/a><\/strong>(lets you compress JPEG, GIF and PNG images), and etc.<\/li>\n<\/ul>\n<p>Note that the <strong>server<\/strong> from where your website is operatable also has a lot of <strong>elements\/components<\/strong> that need to be taken care of. When the server renders these elements to a <strong>user\/client<\/strong> on a browser these elements need be compressed altogether. This will help in loading the content faster and will be rendered instantaneously to the client. There are variables that can be used to lower the response times. Compression techniques can be used to reduces the <strong>response times<\/strong> by reducing the <strong>size<\/strong> of the <strong>HTTP responses<\/strong>.<\/p>\n<p>The best technique is to compress all the data on the server using a compressing software like the <a href=\"http:\/\/www.gzip.org\/\">GZIP<\/a>.\u00a0GZIP compression can be enabled for your website and will be<em> definitely helping to save at least 50% of your bandwidth usage.<\/em><strong>\u00a0<\/strong>Gzip is the most popular and effective compression method at this time used to compress the server files.<\/p>\n<p><strong>Mod_deflate<\/strong> is another way to compress the size of the files. It allows the output from your web server to be compressed before being sent to the client. Once the size of your site content is compressed, its size is smaller, and clients are able to download it faster.<\/p>\n<ul>\n<li>One thinks that it&#8217;s better to use the above-given ways to optimize the images, but what if the images are of the size 10 MB and over this and after the compression, they are reduced just to a so-called smaller 5 MB number size? What to do with these types of images? How to help optimize them for a better performance. Well, here we can make use of the<em><strong> CDN<\/strong>(Content Delivery Networks).\u00a0<\/em><em>CDN&#8217;s can be used to cache the\u00a0large sized compressed images which in turn will reduce the DNS(Domain Name System) lookup.<\/em> Always remember to keep all of your static content &#8211; Images, CSS, JS, Videos, flash, etc. on a CDN. Using the CDN also increases the bandwidth and allows to free up a large amount of space on your server.<\/li>\n<li>There are a lot of CNDs available in the market like &#8211; Amazone CloudFront, Max CDN, CloudFlare, Fast LY, Google CDN, etc. By using any one of these you can reduce the Bandwidth, Space, Memory and DNS lookup to the major extent.<\/li>\n<\/ul>\n<p>Lastly, <strong>On Demand Loading\/ lazy loading<\/strong> should be incorporated &#8211;<\/p>\n<p>Lazy Loading is used to defer initialization of an object until the point at which it is needed. It can contribute to efficiency in the program&#8217;s operation if properly and appropriately used. What this actually means is that &#8211; Eg. we can make use of pagination for our websites to deliver the content to the clients. This way, only that parts of the webpage will be loaded that are required at that instant and when a user wants more of the content he can use the pagination to fetch more of the data for use.<\/p>\n<p>With <strong>Ajax<\/strong>, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page. For example a login popup, a search suggestion, etc. can be used to retrieve data in the background without\u00a0interfering with the display and behavior of the existing page.<\/p>\n<p>That&#8217;s all for this part in <strong>Opencart Speed Optimization<\/strong>, we will be learning more about how to optimize the other static content &#8211; <strong>CSS and JS<\/strong> files in our next article.<\/p>\n<p>Stay put, and thanks for the Read!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Website speed optimization should always be a top priority when there is so much of <a class=\"text-primary\" title=\"read more\" href=\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":15,"featured_media":1956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2],"tags":[105,104,106],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Opencart Speed Optimization - Cloudkul<\/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:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Opencart Speed Optimization - Cloudkul\" \/>\n<meta property=\"og:description\" content=\"Website speed optimization should always be a top priority when there is so much of [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudkul\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-13T18:07:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-06-14T11:33:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/download-14-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"848\" \/>\n\t<meta property=\"og:image:height\" content=\"422\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"nishad bhan\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\",\"url\":\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\",\"name\":\"Opencart Speed Optimization - Cloudkul\",\"isPartOf\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\"},\"datePublished\":\"2017-02-13T18:07:47+00:00\",\"dateModified\":\"2017-06-14T11:33:22+00:00\",\"author\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/bb06cb89d0ac484a53b0ec7a162fc0fa\"},\"breadcrumb\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Opencart Speed Optimization\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\",\"url\":\"https:\/\/cloudkul.com\/blog\/\",\"name\":\"Cloudkul\",\"description\":\"Host your eCommerce Store on AWS with Optimized Performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudkul.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/bb06cb89d0ac484a53b0ec7a162fc0fa\",\"name\":\"nishad bhan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8528272b0203afd88930aecfcc819dd1?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8528272b0203afd88930aecfcc819dd1?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"caption\":\"nishad bhan\"},\"url\":\"https:\/\/cloudkul.com\/blog\/author\/nishad-bhan981\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Opencart Speed Optimization - Cloudkul","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:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/","og_locale":"en_US","og_type":"article","og_title":"Opencart Speed Optimization - Cloudkul","og_description":"Website speed optimization should always be a top priority when there is so much of [...]","og_url":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/","og_site_name":"Cloudkul","article_published_time":"2017-02-13T18:07:47+00:00","article_modified_time":"2017-06-14T11:33:22+00:00","og_image":[{"width":848,"height":422,"url":"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/02\/download-14-1.png","type":"image\/png"}],"author":"nishad bhan","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/","url":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/","name":"Opencart Speed Optimization - Cloudkul","isPartOf":{"@id":"https:\/\/cloudkul.com\/blog\/#website"},"datePublished":"2017-02-13T18:07:47+00:00","dateModified":"2017-06-14T11:33:22+00:00","author":{"@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/bb06cb89d0ac484a53b0ec7a162fc0fa"},"breadcrumb":{"@id":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cloudkul.com\/blog\/opencart-speed-optimization\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Opencart Speed Optimization"}]},{"@type":"WebSite","@id":"https:\/\/cloudkul.com\/blog\/#website","url":"https:\/\/cloudkul.com\/blog\/","name":"Cloudkul","description":"Host your eCommerce Store on AWS with Optimized Performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudkul.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/bb06cb89d0ac484a53b0ec7a162fc0fa","name":"nishad bhan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8528272b0203afd88930aecfcc819dd1?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8528272b0203afd88930aecfcc819dd1?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","caption":"nishad bhan"},"url":"https:\/\/cloudkul.com\/blog\/author\/nishad-bhan981\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1838"}],"collection":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/comments?post=1838"}],"version-history":[{"count":20,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1838\/revisions"}],"predecessor-version":[{"id":1957,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/1838\/revisions\/1957"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media\/1956"}],"wp:attachment":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media?parent=1838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/categories?post=1838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/tags?post=1838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}