{"id":9,"date":"2017-03-10T08:28:19","date_gmt":"2017-03-10T08:28:19","guid":{"rendered":"https:\/\/imagify.io\/blog\/?p=9"},"modified":"2021-03-30T15:25:14","modified_gmt":"2021-03-30T15:25:14","slug":"optimizing-100-million-images","status":"publish","type":"post","link":"https:\/\/imagify.io\/blog\/optimizing-100-million-images\/","title":{"rendered":"We Optimized 100 Million Images: Here\u2019s What We Learned"},"content":{"rendered":"<p>Our team launched Imagify about a year ago. Image compression became a priority for us after a lot of our\u00a0<a href=\"https:\/\/wp-rocket.me\/\">WP Rocket<\/a>\u00a0users\u2019 website speed was dragged down by images that were too big.<\/p>\n<p>Today,\u00a0<strong>our 50 000 users<\/strong>\u00a0have optimized\u00a0<strong>more than 100 million images<\/strong>. It\u2019s been an amazing ride and we wanted to take the opportunity to reflect and share some things we learned on our way to optimizing 100 million images for the Web.<\/p>\n<p>Our company,\u00a0<a href=\"https:\/\/wp-media.me\/\">WP Media<\/a>, is known in the WordPress community as the team behind the WP Rocket caching plugin. Our team members have been part of the WordPress community for years. It\u2019s the market we know best so an image compression plugin made for WordPress was a logical step for us.<\/p>\n<h2>Lesson 1: Listen To Your Customers<\/h2>\n<p>Proper caching for a WordPress website can do wonders. Just today, one of our clients sent us a friendly email telling us that his website speed got a 70% boost thanks to WP Rocket. That\u2019s great news! However, it\u2019s not always this easy for most website owners. Working on caching things made us realize that there was a real need for a service that made image compression easy for most WordPress users.<\/p>\n<h3>Customers + Statistics<\/h3>\n<p>We listened to our customers and decided a proper solution couldn\u2019t be built into our actual plugin. It had to be a dedicated a solution that would focus on images and images only. This is how Imagify came to be. Our team developed a public API and an\u00a0<a href=\"https:\/\/wordpress.org\/plugins\/imagify\/\">official WordPress plugin<\/a>. With more than\u00a0<strong>350 daily downloads per day\u00a0<\/strong>and\u00a0<strong>more than 50,000 active installations<\/strong>, we think our WP Rocket customers were onto something.<\/p>\n<h2>Lesson 2:\u00a0Image Compression Goes Fast!<\/h2>\n<p>Everyday, our users are optimizing\u00a0<strong>more than 500 000 images<\/strong>.<br \/>\nThe\u00a0daily record is\u00a0<strong>692 000 images<\/strong>\u00a0uploaded online and optimized in 24 hours.<\/p>\n<blockquote><p>That\u2019s an average of 8 images optimized per second.<\/p><\/blockquote>\n<p><strong>We project that Imagify will hit the 1 million images compressed per day by June.\u00a0<\/strong><\/p>\n<h2>Lesson 3: Image Format &amp; Size That People Like<\/h2>\n<p>After over a year, our image compression data shows that\u00a0<strong>the average size of the images sent to Imagify is\u00a0100KB.\u00a0<\/strong>We also learned quite a few interesting things regarding the formats that users compress:<\/p>\n<blockquote><p>Almost 90% of the images sent are jpg and and 10% are png files.<\/p><\/blockquote>\n<p>Most users don\u2019t have GIF images to put through our image optimizer it seems.<\/p>\n<h3>Learning With Image Cruncher<\/h3>\n<p>Imagify offers an image\u00a0<a href=\"https:\/\/imagify.io\/optimizer\/#page\">cruncher feature<\/a>. It basically\u00a0scans a webpage, downloads all the images in order to optimize them. This allows us to learn quite a bit more about images and how they are used in webpages.<\/p>\n<blockquote><p>On average, a web page contains 22 images.<\/p><\/blockquote>\n<p><strong>That\u2019s a huge number.\u00a0<\/strong>For\u00a0reference,\u00a0<a href=\"http:\/\/www.webperformancetoday.com\/2013\/11\/26\/web-page-growth-151-percent\/\">in 2013<\/a>\u00a0the average page was\u00a0<strong>1,2MB<\/strong>.\u00a0In 2017 for the websites tested on our cruncher\u00a0<strong>the images only are 1,7MB<\/strong>. This is a clear signal that we need to take image optimization seriously to avoid slow load times.<\/p>\n<h2>Lesson 3: Your Connection Isn\u2019t Slow, The Web Is<\/h2>\n<p>There are still a huge disparity in bandwidth in the world. Internet speeds vary from country to country with many still getting 1MB\/s. This mean that a visitor would wait at least\u00a0<strong>1,7 second just to display images<\/strong>\u00a0on any given webpage. If we factor in the time to open a connection, the various HTTP requests, JavaScript, this means a\u00a0<strong>total load time around\u00a015 seconds.<\/strong><\/p>\n<blockquote><p>Imagify made the web lighter by\u00a0<strong>5TB.<\/strong><\/p><\/blockquote>\n<p>It may sound big to you (and to use) but on a scale\u00a0<em>the entire Internet<\/em>, 5TB is a tiny number.<\/p>\n<h2>Lesson 4: Proper Servers, Proper Code, Proper People Are A Must<\/h2>\n<p>We use a lot of code and a lot of servers to make Imagify happen.\u00a0Our main application (which runs\u00a0the back and front-end) has about\u00a0<strong>2000 commits<\/strong>.\u00a0It\u00a0is running on multiple servers which combine a total of\u00a0<strong>157GB RAM<\/strong>. Don\u2019t bother asking Google if this is a lot; take our word for it, it truly is a lot of memory\u00a0and a lot of code.<\/p>\n<blockquote><p>Quick reminder: in the time it took you read that post, about\u00a0<strong>2400 images<\/strong>\u00a0have been optimized.<\/p><\/blockquote>\n<p>Code and servers are not the only key to our success. Just like with WP Rocket and SecuPress, customer support is the cornerstone of our company success. Which is why we\u2019d like to take the opportunity to let you know that we\u00a0are\u00a0<a href=\"https:\/\/wp-media.workable.com\/jobs\/441600\">hiring a customer support<\/a>\u00a0to make our users even happier.<\/p>\n<a href=\"https:\/\/imagify.io\/optimizer\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter bottom-blog-post-cta\" src=\"https:\/\/imagify.io\/blog\/wp-content\/themes\/imagify\/assets\/img\/gwic-1.png\" alt=\"Imagify, decrease the size of your images, increase the speed of your website: try it for free\" width=\"690\" height=\"190\"><\/a>","protected":false},"excerpt":{"rendered":"<p>We launched Imagify a bit more than one year now. So we wanted to take the opportunity to share with you a few key statistics and some lessons we learned on our way to making the web 5TB lighter!<\/p>\n","protected":false},"author":2,"featured_media":63,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-9","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":1,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":10,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/posts\/9\/revisions\/10"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/media\/63"}],"wp:attachment":[{"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imagify.io\/blog\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}