{"id":21178,"date":"2020-04-26T10:35:00","date_gmt":"2020-04-26T10:35:00","guid":{"rendered":"http:\/\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them"},"modified":"2026-03-15T13:11:56","modified_gmt":"2026-03-15T20:11:56","slug":"top_10_mistakes_in_handling_website_images_and_how_to_solve_them","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them","title":{"rendered":"Fixing the Top 10 Mistakes in Handling Website Images"},"content":{"rendered":"<div>\n<div>Images take up <strong>over 60%<\/strong> of modern websites\u2019 total bandwidth. In the case of cutting-edge, image-rich designs, such as those for social media like Pinterest, that number is, remarkably, <strong>over 85%<\/strong>.<\/div>\n<div><\/div>\n<div>Bandwidth is a costly commodity that gobbles up most of the IT budget of high-traffic sites, easily surpassing hosting and storage costs. In addition, because the sheer volume of traffic takes time to consume, your visitors often spend a lot of time waiting for images to load.<\/div>\n<div><\/div>\n<div>Given the astronomical IT outlay, visitor abandonment due to lengthy load times, and the subsequent reduction in conversion rate and revenue, do make it a high priority to optimize your websites images and speed up their delivery.<\/div>\n<\/div>\n<div>Cloudinary offers a conclusive solution to a large number of image- and video-related issues on both desktop and mobile apps, from upload to storage, transformation, <a title=\"Image Optimization for Websites: Beautiful Pages That Load Quickly\" href=\"https:\/\/cloudinary.com\/blog\/image_optimization_for_websites_beautiful_pages_that_load_quickly\" target=\"_blank\" rel=\"noopener\">optimization<\/a>, and delivery. You as web developers no longer need to grapple with those challenges.<\/div>\n<div>The sections below delineate the 10 most common mistakes committed while you\u2019re handling website images along with the related fixes.<\/div>\n<h2><strong>Understanding the Basics of Displaying Images on Web Pages<\/strong><\/h2>\n<p>Before diving into the common mistakes, it&#8217;s essential to understand the foundational aspect of displaying images on web pages. To display an image, you can use the &lt;img&gt; HTML tag. This tag is an empty element, meaning it doesn&#8217;t require a closing tag. It primarily requires two attributes: src and alt. The src attribute specifies the URL of the image, while the alt attribute provides alternate text for the image, crucial for accessibility and SEO purposes.<\/p>\n<p>To integrate an image into a web page, follow these steps:<\/p>\n<ol>\n<li>Upload the image file.<\/li>\n<li>Access the theme folder.<\/li>\n<li>Add the img src attribute to the image.<\/li>\n<li>Set the width and height.<\/li>\n<li>Add an alt attribute.<\/li>\n<li>Save the changes.<\/li>\n<li>Optionally, add a link to the image.<\/li>\n<\/ol>\n<p>Understanding the basics ensures that you&#8217;re not just optimizing images but also implementing them correctly on your website.<\/p>\n<div><\/div>\n<div>\n<h3><span style=\"color: revert; font-family: sofia-pro, Roboto, Arial, sans-serif; font-size: clamp(1.5rem, 1.5rem + 0.375 * ((100vw - 30rem) \/ 30), 1.875rem); font-weight: bold; background-color: var(--color-background);\">1. Wasteful Browser-Side Resizing<\/span><\/h3>\n<\/div>\n<div>\n<div><strong>The mistake<\/strong>: A common shortcut for resizing images is to do that on the browser instead of the server. The story behind that choice usually goes this way: thumbnails of a certain dimension abound on the site, and a new design calls for them to be of a slightly different dimension. Sometimes accidentally and sometimes intentionally, web developers specify a different <a href=\"https:\/\/cloudinary.com\/glossary\/css-width-property\">CSS width<\/a> and height for the browser, leaving the original images as is.<\/div>\n<div><\/div>\n<div>Afterwards, even though the images look the same on modern browsers, the bandwidth has increased, resulting in longer load times of unnecessarily large images and wasted delivery <a href=\"https:\/\/cloudinary.com\/glossary\/video-bandwidth\">bandwidth<\/a>. The problem is even more pronounced with older browsers, whose resizing algorithms are usually subpar.<\/div>\n<div><\/div>\n<div>Examples of such an objectionable scenario are plentiful. Take Yahoo\u2019s front page (below), which downloads all the thumbnails in its MOST POPULAR section at double the number of pixels than that of their actual viewing size.<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/w_351,c_fill,f_auto,q_auto\/owajo8hkz1q0nfbjolaa.png\" alt=\"Wasteful browser-side resizing\" width=\"351\" height=\"322\" \/><\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Ensure that the images you deliver are of their required dimensions\u2014even if that entails creating different-sized thumbnails for the same image to fit different pages. Never deliver oversized images and rely on the browser to resize them.<\/div>\n<div><\/div>\n<div><span style=\"color: #ff5050;\"><strong>The automated way with Cloudinary<\/strong><\/span>: Add <span id=\"docs-internal-guid-4161f051-7fff-b5c5-fc23-b0fc4827eb03\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">w_auto<\/span><\/span>\u00a0to the URL to scale the image to fit the various layout widths and send users the versions that display best on their browsers from the same URL.<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"unnecessarily_high_quality_jpegs\"><\/a><\/p>\n<h3>2. Unnecessary High-Quality JPEGs<\/h3>\n<div><strong>The mistake<\/strong>: JPEGs have truly revolutionized the web\u2019s image arena. For many years, web developers can depict high-resolution images in great detail with the lossy JPEG format, expending only a fraction of the bandwidth required by rival formats.<\/div>\n<div><\/div>\n<div>Still, many people refrain from compressing JPEGs even though, for most websites, you can safely reduce the JPEG quality settings a notch (between 5-15 percent, but not much lower) with no discernible loss in visual quality.<\/div>\n<div><\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 \u00a0<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,q_95\/sheep.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,q_95\/sheep.jpg\" alt=\"95% Quality\" width=\"280\" height=\"175\" \/><\/a>\u00a0 \u00a0 \u00a0<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,q_80\/sheep.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,q_80\/sheep.jpg\" alt=\"80% Quality\" width=\"280\" height=\"175\" \/><\/a><\/div>\n<div><\/div>\n<div>For all that the above two images look similar, the left one is a <strong>95% JPEG (34 KB)<\/strong>; the right one, <strong>80% (17KB)<\/strong>, requiring only half the bandwidth to download and loading twice as fast. Those gains are well worth the miniscule loss in quality.<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span> Do experiment with lower JPEG quality levels. In fact, studies have revealed that a 50% JPEG quality yields a reasonable result for certain websites. Even though higher-quality JPEGs always look sharper, that minimal improvement is seldom worth the extra bandwidth and longer loading time.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>: Add to the image URLs the quality parameter (<span id=\"docs-internal-guid-e4a83e8b-7fff-514f-d554-a7c8a7a394b8\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">q<\/span><\/span>) set to <span id=\"docs-internal-guid-fe9efc2c-7fff-6cde-8bb4-49bc7a5bea1b\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">auto<\/span><\/span> (<span id=\"docs-internal-guid-e8a13e2f-7fff-8606-aebe-07780d65dc86\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">q_auto<\/span><\/span>). Cloudinary then <strong>automates the trade-off between file size and visual quality<\/strong>, on the fly, with perceptual metrics and heuristics, tuning the encoding settings and pinpointing the optimum quality and compression level tailored for the image content and format. The significantly reduced file size that results poses no noticeable degradation to the human eye.<\/div>\n<p><a class=\"anchor\" name=\"incorrect_image_file_types\"><\/a><\/p>\n<h3>3. Incorrect Image File Types<\/h3>\n<div>\n<div><strong>The mistake:<\/strong> Nowadays, <strong>JPEG<\/strong>, <strong>PNG<\/strong>, and <strong>GIF<\/strong> are the most popular file formats for images. According to the <a href=\"https:\/\/almanac.httparchive.org\/en\/2019\/media\" target=\"_blank\" rel=\"noopener\">Web Almanac<\/a>, 60% of the web\u2019s images are JPEGs; PNGs account for 28%. Note, however, that they play different roles and that adopting the wrong format slows down page loads and incurs higher costs for the site.<\/div>\n<div><\/div>\n<div>The most common mistake is to deliver photos as PNGs on the erroneous assumption that, invariably, as a lossless format, PNG yields the optimum reproduction for photos. In reality, such <a href=\"https:\/\/cloudinary.com\/guides\/web-performance\/a-complete-guide-to-website-image-optimization\">website-image optimization<\/a> is unnecessary. A relatively high-quality JPEG whose file size is only a fraction of that of a PNG delivers comparable quality.<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 \u00a0<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,h_214\/horses.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,h_214\/horses.png\" alt=\"PNG\" width=\"280\" height=\"187\" \/><\/a>\u00a0 \u00a0 \u00a0<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,h_214,q_85\/horses.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_fit,w_280,h_214,q_85\/horses.jpg\" alt=\"JPG\" width=\"280\" height=\"187\" \/><\/a><\/div>\n<div><\/div>\n<div>The <strong>PNG<\/strong> on the left weighs a whopping<strong> 110 KB<\/strong>. The JPEG on the right, which looks nearly identical, takes up only <strong>15 KB<\/strong>.<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Adopt the correct image formats for the various content types:<\/div>\n<div>\n<ul>\n<li>WebP for computer-generated images, such as charts, branding and logos. Both lossy and lossless compressions work in WebPs and transparent elements, such as overlays, displaying well in most modern browsers.Animated WebPs trump GIFs by combining compression types in one single animation, making it a breeze to create animations from videos.<\/li>\n<li>JPEG for photos.<\/li>\n<\/ul>\n<\/div>\n<div><\/div>\n<div><strong>Note<\/strong>: Contrary to common belief, PNG outperforms GIF in almost all aspects.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>: Add to the image URLs the <span id=\"docs-internal-guid-f872e7d0-7fff-2651-41e1-38fdd91b69dd\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">fetch_format<\/span><\/span> parameter set to <span id=\"docs-internal-guid-1aaa96cb-7fff-5d03-a255-c67e9f3126d3\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">auto<\/span><\/span> (<span id=\"docs-internal-guid-78856a42-7fff-7234-a8bd-9f6c3be0385a\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">f_auto<\/span><\/span>) Cloudinary then automatically detects the requesting browser and selects the most efficient format for image delivery.<\/div>\n<p><a class=\"anchor\" name=\"delivering_non_optimized_images\"><\/a><\/p>\n<h3>4. Unoptimized Images<\/h3>\n<div><strong>The mistake<\/strong>: It\u2019s a little-known fact that, despite PNG being a lossless format, you can further <a href=\"https:\/\/cloudinary.com\/tools\/compress-png\">compress PNG<\/a> images with free tools that reduce their file size by up to 50%, delivering the exact same images. Unfortunately, many developers skip that step, leaving images unoptimized.<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0<a title=\"Image optimization\" href=\"https:\/\/cloudinary.com\/documentation\/image_optimization\" target=\"_blank\" rel=\"noopener\">Optimize images<\/a> with open-source libraries like <a href=\"http:\/\/pmt.sourceforge.net\/pngcrush\/\" target=\"_blank\" rel=\"noopener\">PNGCrush<\/a> and <a href=\"http:\/\/optipng.sourceforge.net\/\" target=\"_blank\" rel=\"noopener\">OptiPNG<\/a>. If you need not automate the process, manually compress your PNGs further with Yahoo\u2019s smush.it service.<\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: auto; margin-right: auto;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/w_0.7\/lbgaxjrndfjpxt1ymbec.png\" alt=\"Image Optimization\" width=\"457\" height=\"254\" \/><\/div>\n<div style=\"text-align: center;\"><span style=\"color: #333333;\">An example of Yahoo smush.it in action.<\/span><\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>:\u00a0<span style=\"background-color: transparent; font-size: 10.5pt; font-family: Verdana; vertical-align: baseline;\">Add to the image URLs both <\/span><span style=\"background-color: transparent; font-size: 10.5pt; font-family: 'Courier New'; vertical-align: baseline;\">f_auto<\/span><span style=\"background-color: transparent; font-size: 10.5pt; font-family: Verdana; vertical-align: baseline;\"> and <\/span><span style=\"background-color: transparent; font-size: 10.5pt; font-family: 'Courier New'; vertical-align: baseline;\">q_auto<\/span><span style=\"background-color: transparent; font-size: 10.5pt; font-family: Verdana; vertical-align: baseline;\">.\u00a0 Cloudinary then does the following:<\/span><\/div>\n<div>\n<ul>\n<li><span style=\"background-color: transparent; vertical-align: baseline;\"><span style=\"font-family: Verdana;\">Tune the encoding settings and pinpoint the optimum quality and compression level tailored for the image content and format, reducing the file size with no loss in visual quality.<\/span><\/span><\/li>\n<li><span style=\"background-color: transparent; vertical-align: baseline;\"><span style=\"font-family: Verdana;\">Check if a different image format would yield a smaller file size while maintaining the visual quality and, if so, adopt that format.<\/span><\/span><\/li>\n<\/ul>\n<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"forgetting_to_strip_image_meta_data\"><\/a><\/p>\n<h3>5. Retention of Metadata in Images<\/h3>\n<div>\n<div><strong>The mistake<\/strong>: Visitors to many modern websites can upload photos, such as profile pictures or snapshots from sightseeing trips. Taken with a modern camera, those images contain a load of metadata in Exif or IPTC (International Press Telecommunications Council) format: details like the camera model, date and time, aperture, shutter speed, focal length, metering mode, ISO, and location.<\/div>\n<div><\/div>\n<div>In most cases, it makes perfect sense to delete the <a href=\"https:\/\/cloudinary.com\/glossary\/image-metadata\">metadata<\/a> for privacy and reduced file size. Few take the time to do that, however, wasting bandwidth and hurting the browsing experience.<\/div>\n<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Strip the metadata off your images and user-uploaded photos. If necessary, retain the information somewhere for future reference.<\/div>\n<div><\/div>\n<div><strong>A tip<\/strong>: Even if the metadata is of no use to your site, do retain the image\u2019s original shooting orientation to ensure a correct display. So, before deleting an image\u2019s Exif details, rotate it to its correct orientation based on the Exif data.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>:\u00a0<span style=\"background-color: transparent; font-family: Verdana; font-size: 10.5pt;\">After uploading an asset to Cloudinary, you receive a response from the upload API with the following details: <\/span><\/div>\n<div>\n<ul>\n<li><span style=\"background-color: transparent;\"><span style=\"font-family: Verdana;\">The asset\u2019s width, height, number of bytes, format, and other specifics.<\/span><\/span><\/li>\n<li><span style=\"background-color: transparent;\"><span style=\"font-family: Verdana;\">The semantic data, i.e., ETag; face or custom coordinates, if any; and the number of pages (layers) in the &#8220;paged&#8221; files.<\/span><\/span><\/li>\n<\/ul>\n<div><span style=\"font-family: Verdana;\"><span style=\"font-family: Verdana;\">For other semantic data, such as the metadata (Exif, IPTC, XMP, GPS), the <a href=\"https:\/\/cloudinary.com\/glossary\/color-histogram\">color histogram<\/a>, predominant colors, custom coordinates, the pHash image fingerprint, and face or text coordinates, add the appropriate <a href=\"https:\/\/cloudinary.com\/documentation\/image_upload_api_reference#upload_method\" target=\"_blank\" rel=\"noopener\">optional parameters<\/a>. Cloudinary then includes all that data in the response along with the default details.<\/span><\/span><\/div>\n<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"delivering_images_straight_from_your_servers\"><\/a><\/p>\n<h3>6. Image Delivery Straight From Servers<span style=\"font-size: 14px;\">\u00a0<\/span><\/h3>\n<div><strong>The mistake<\/strong>: Another common error is hosting images on your own server, usually the same machine that serves your site. Two undesirable outcomes follow: a heavy burden on your server and a missed opportunity to leverage the amazing\u00a0<strong>Content Delivery Networks<\/strong>.<\/div>\n<div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/fetch\/w_0.7,f_auto,q_auto\/http:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/f\/f9\/NCDN_-_CDN.png\/800px-NCDN_-_CDN.png\" alt=\"CDN\" width=\"560\" height=\"240\" \/><\/p>\n<div><\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Deliver content through CDNs, which is simple to set up. They serve images much faster than site-hosting services by operating through numerous worldwide servers, called edges, automatically routing visitors to the nearest edge location for the best possible performance with a much reduced latency. Priced by the required bandwidth, CDN providers charge slightly more than web-hosting services. Nonetheless, the benefits CDNs offer are well worth their charges, which many consider affordable.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>: Cloudinary leverages multiple CDNs, including Akamai, Fastly, and CloudFront, with thousands of global delivery servers along with advanced <a href=\"https:\/\/cloudinary.com\/glossary\/content-caching\">caching\u00a0<\/a>and dynamic, URL-based delivery techniques. The result? Fast delivery of resources to users worldwide.<\/div>\n<div><\/div>\n<div>Smart CDN-selection and dynamic multi-CDN switching features are available to enterprise customers.<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"delivering_static_icons_one_by_one\"><\/a><\/p>\n<h3>7. One-By-One Delivery of Static Icons<span style=\"font-size: 14px;\">\u00a0<\/span><\/h3>\n<div>\n<div><strong>The mistake<\/strong>: Besides photos and thumbnails, your site likely also displays icons and auxiliary images\u2014logos, arrows, stars, signs, marks\u2014for an engaging and unique look and feel. Button pieces, shadow portions, border parts, and other elements are all instrumental in helping you dynamically build widgets.<\/div>\n<div><\/div>\n<div>You&#8217;d be surprised at just how many tiny images reside on a site. A typical results page returned by Google Search, for example, comprises over 80 small icons.<\/div>\n<\/div>\n<div><\/div>\n<div><strong>\u00a0<\/strong><\/div>\n<div><strong><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: auto; margin-right: auto;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/fetch\/http:\/\/www.google.com\/images\/nav_logo117.png\" alt=\"Static Icons\" width=\"167\" height=\"389\" \/><\/strong><\/div>\n<div><\/div>\n<div>A common mistake is embedding all those small icons as is in their site, lengthening the download time. Plus, since an average browser can simultaneously download a maximum of about six images only, the resulting <a href=\"https:\/\/cloudinary.com\/glossary\/latency\">latency<\/a> intensifies for every batch of downloaded images. Besides, your web server might become unresponsive while processing the many download requests. In the meantime, your visitors might give up on the slow images and turn their backs on your site, never to return.<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Group all your small icons in a CSS Sprite method as a single image. Your webpage then needs to download only that image from your server, and the page\u2019s HTML code points to the icons within the Sprite with alternative CSS class names.<\/div>\n<div><\/div>\n<div>In the case of the Google Search results page with that multitude of icons, you download only one image. The browser then quickly <a href=\"https:\/\/cloudinary.com\/glossary\/image-cache-server\">caches the image<\/a>\u00a0from Google&#8217;s servers, immediately displaying all the icons.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>:\u00a0Group multiple logos into a single sprite image with Cloudinary\u2019s <a href=\"https:\/\/cloudinary.com\/documentation\/sprite_generation\" target=\"_blank\" rel=\"noopener\">sprite-generation<\/a> capabilities and then display it with the <span id=\"docs-internal-guid-c9e8555e-7fff-af0a-12a7-a03f4fe7b659\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">supported_cloud<\/span><\/span>\u00a0tag. Doing so enhances page performance and eases image management.<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"using_images_when_css3_can_be_used\"><\/a><\/p>\n<h3>8. Bypassing of CSS3 in Favor of Images<\/h3>\n<div>\n<div><strong>The mistake<\/strong>: Since older browsers did not display shadows, rounded corners, and special fonts coded with CSS, developers created those elements as images. That practice produced a deluge of images, ultimately downgrading the browsing experience and rendering updates and other tasks difficult to perform, not to mention requiring more development time and raising costs. Just changing the text embedded in an image became a nontrivial chore. Even now, when converting a website&#8217;s design into HTML components, many developers keep buttons as images.<\/div>\n<div><\/div>\n<div>Modern browsers aptly display elements like shadows that are built with simple CSS directives, but that laborious practice of implementing elements in image form still persists. An example is this portion of CNN&#8217;s <a href=\"http:\/\/i.cdn.turner.com\/cnn\/.e\/img\/3.0\/global\/buttons\/Sprite_BT_master.gif\" target=\"_blank\" rel=\"noopener\">Sprite image<\/a> with a large file size of 61 KB:<\/div>\n<\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: auto; margin-right: auto;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/ejt0ltj4diteuvf5c3l4.png\" alt=\"Sprite\" width=\"146\" height=\"225\" \/><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Ensure that those in your organization who are tasked with creating image elements code them in CSS3 whenever feasible. To support older versions of IE, downgrade your markup to a functioning, even if imperfect, design. Otherwise, emulate CSS3 with an alternative, such as CSS3 Progressive Internet Explorer (PIE).<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>:\u00a0<span style=\"background-color: transparent; font-size: 10.5pt; font-family: Verdana; vertical-align: baseline;\">Specify `<span style=\"font-weight: 400;\">max<\/span>` as the value of the <\/span><a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations#rounding_corners_and_creating_circular_images\"><span style=\"font-size: 10.5pt; font-family: Verdana; color: #1155cc; background-color: transparent; vertical-align: baseline;\">radius parameter<\/span><\/a><span style=\"background-color: transparent; font-size: 10.5pt; font-family: Verdana; vertical-align: baseline;\"> (`r_max`) to have Cloudinary crop rectangular images to an <a href=\"https:\/\/cloudinary.com\/tools\/ellipse-crop-image\">ellipse<\/a> or square images to a circle.<\/span><\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"incorrect_image_cache_settings\"><\/a><\/p>\n<h3>9. Incorrect Cache Settings<\/h3>\n<div>\n<div><strong>The mistake<\/strong>: Since websites\u2019 image files rarely change, your visitors&#8217; browsers and other servers along the way (CDNs, <a href=\"https:\/\/cloudinary.com\/glossary\/video-proxies\">proxies<\/a>, etc.) can cache those files. Once cached, the local copy is displayed with no further downloads on subsequent visits to your site. Correct cache settings are, therefore, paramount, saving bandwidth and accelerating page loads.<\/div>\n<div><\/div>\n<div>Unfortunately, caching errors occur due to the unnecessary concern that lengthy cache settings result in a persistent display of old images even if they have been updated.<\/div>\n<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Add a <strong>fingerprint<\/strong> (MD5, timestamp, etc.) to your image URLs so that they will change in case of image updates, causing the browser to refetch the images. Most modern web-development platforms automate that step, nixing the problem at its source.<\/div>\n<div><\/div>\n<div>In addition, as a safeguard, adopt aggressive caching, i.e., set your images\u2019 HTTP &#8216;<span id=\"docs-internal-guid-562a7f54-7fff-a285-c231-2ed93b0ebade\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">Expires<\/span><\/span>&#8216; header to as far in the future as possible.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>:\u00a0<span style=\"background-color: transparent; font-family: Verdana; font-size: 10.5pt;\">Cloudinary dynamically handles caching with no need for manual steps on your part. Either of these two scenarios applies:<\/span><\/div>\n<div><span style=\"background-color: transparent; font-family: Verdana; font-size: 10.5pt;\">\u00a0<\/span><\/div>\n<div>\n<ul>\n<li><span style=\"background-color: transparent;\"><span style=\"font-family: Verdana;\">For asset replacements within your Cloudinary media library, the original URLs stay valid.<\/span><\/span><\/li>\n<li><span style=\"background-color: transparent;\"><span style=\"font-family: Verdana;\">For asset replacements effected through Cloudinary&#8217;s Upload API, set the `<span id=\"docs-internal-guid-4db2832b-7fff-0398-5f67-1bf448231e13\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">invalidate<\/span><\/span>` parameter to `<span id=\"docs-internal-guid-50e4b6e7-7fff-17ac-bded-a2455d6bb32d\"><span style=\"font-size: 10.5pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">true<\/span><\/span>` as part of the API request for the <a href=\"https:\/\/cloudinary.com\/glossary\/caching-images\">CDN cache<\/a> so that the original URLs will stay valid.<\/span><\/span><\/li>\n<\/ul>\n<div>\n<p dir=\"ltr\" style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"font-size: 10.5pt; font-family: Verdana; background-color: transparent; vertical-align: baseline;\">For details, see this [Q&amp;A][https:\/\/support.cloudinary.com\/hc\/en-us\/articles\/202520852-How-can-I-update-an-already-uploaded-image-].<\/span><\/p>\n<div><span style=\"font-size: 10.5pt; font-family: Verdana; background-color: transparent; vertical-align: baseline;\">\u00a0<\/span><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<p><a class=\"anchor\" name=\"using_a_single_image_size_across_all_delivery_mediums\"><\/a><\/p>\n<h3>10. One Image Size for All Devices\u00a0<span style=\"font-size: 14px;\">\u00a0<\/span><\/h3>\n<div><strong>The mistake<\/strong>: Your site is viewed through many different devices, with a huge rise in mobile and tablet in recent years, as evidenced in site analytics. So, how can you display a large image on mobile devices whose resolution is usually much lower than that of desktop machines?<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/w_400,c_fill,f_auto,q_auto\/q49gxudlkfhny9ycqnoa.jpg\" alt=\"Responsive Images\" width=\"400\" height=\"300\" \/><\/div>\n<div>\n<div>Developers tend to opt for the fast route, i.e., deliver the same exact images regardless of device, relying on the client (the browser) to resize them. That practice exacts a high price: lengthy load times coupled with wasted bandwidth. Besides, 3G and roaming users end up paying a lot more to download the useless, high-resolution images for no benefit.<\/div>\n<div><\/div>\n<div>A symmetrical, equally broken solution aims for the lowest common denominator, i.e., deliver low-resolution images to all devices, rendering a shabby display of your site on newer, high-resolution devices.<\/div>\n<\/div>\n<div><\/div>\n<div><span style=\"color: #00459f;\"><strong>The fix:<\/strong><\/span>\u00a0Identify your visitors\u2019 mobile devices and resolution through their user agent and, optionally, additional client-side JavaScript code. Afterwards, retrieve the best fitting image from your servers according to the correct <a href=\"https:\/\/cloudinary.com\/glossary\/native-resolution\">resolution<\/a>.<\/div>\n<div><\/div>\n<div>As a prerequisite, create a set of thumbnails for each of your original images. For speed and ease, automate that task with the excellent JavaScript packages that are slated for that task.<\/div>\n<div><\/div>\n<div><strong style=\"color: #ff5050;\">The automated way with Cloudinary<\/strong>: Have Cloudinary dynamically resize your images on the fly by specifying the width and height that you desire: add the `<span id=\"docs-internal-guid-c58fa73c-7fff-0025-4d4a-adb7a2c82682\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">&lt;picture&gt;<\/span><\/span>` tag and set the `<span id=\"docs-internal-guid-b8723b6a-7fff-227a-8f56-b5a17bdda060\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">srcset<\/span><\/span>` and `<span id=\"docs-internal-guid-1661a29e-7fff-340e-e913-c0a3e8415d63\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">sizes<\/span><\/span>` parameters of the `<span id=\"docs-internal-guid-c4190fb5-7fff-4593-3a6b-13a0eaf8fe64\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">&lt;img&gt;<\/span><\/span>` tag to have the browser choose which image version to display.<\/div>\n<div><\/div>\n<div>You can also add <a href=\"https:\/\/cloudinary.com\/documentation\/transformation_reference\" target=\"_blank\" rel=\"noopener\">transformation parameters<\/a> to your image URLs, after which Cloudinary will modify the images according to the parameters in real time.<\/div>\n<div><\/div>\n<div>For details on how to build responsive images with the `<span id=\"docs-internal-guid-88243080-7fff-cc69-7d97-b117ff44d98f\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">&lt;img&gt;<\/span><\/span>` and `<span id=\"docs-internal-guid-5457cf5d-7fff-e5b8-14fc-8287e23fe86f\"><span style=\"font-size: 11pt; font-family: 'Courier New'; background-color: transparent; vertical-align: baseline;\">&lt;picture&gt;<\/span><\/span>` tags, see these two posts:<\/div>\n<div>\n<ul>\n<li><em><a href=\"https:\/\/cloudinary.com\/blog\/responsive_images_with_srcset_sizes_and_cloudinary\" target=\"_blank\" rel=\"noopener\">Responsive Images Withsrcset, sizes, and Cloudinary<\/a><\/em><\/li>\n<li><em><a href=\"https:\/\/cloudinary.com\/blog\/automatically_art_directed_responsive_images\" target=\"_blank\" rel=\"noopener\">Automatically Art-Directed Responsive Images<\/a><\/em><\/li>\n<\/ul>\n<\/div>\n<div>\n<div>In addition, the writeup on the open-source tool <a href=\"https:\/\/www.responsivebreakpoints.com\/\" target=\"_blank\" rel=\"noopener\">Responsive Breakpoints Generator<\/a> shows you how to calculate the optimal number of versions for an image to balance the number of generated versions and the file-size reduction in each of the versions.<\/div>\n<\/div>\n<h3>Final Words<\/h3>\n<div>\n<div>This article summarizes the most common, image-related website issues we at <a href=\"https:\/\/cloudinary.com\/\" target=\"_blank\" rel=\"noopener\">Cloudinary<\/a> frequently encounter along with the solutions.<\/div>\n<div><\/div>\n<div>For images that are uploaded to our cloud platform, Cloudinary can dynamically transform them to any thumbnail size, file format, and quality so that you can test them and determine the settings that best fit your site and user expectations. In addition:<\/div>\n<\/div>\n<div>\n<ul>\n<li>You can create simple, manageable Sprites through Cloudinary.<\/li>\n<li>Cloudinary automates the process of stripping images of metadata and optimizing them for delivery from a fast CDN with the correct cache settings.<\/li>\n<li>Cloudinary&#8217;s cloud-based dynamic image-resizing capabilities produce responsive designs.<\/li>\n<\/ul>\n<\/div>\n<div>\u00a0In short, with Cloudinary, you can seamlessly and efficiently manage images, hassle free. Check it out by starting with <a href=\"https:\/\/cloudinary.com\/users\/register\/free\" target=\"_blank\" rel=\"noopener\">signing up for a free account<\/a>. We welcome your feedback.<\/div>\n<div>\n<h2>References on Optimizing Website Images<\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_for_websites_beautiful_pages_that_load_quickly\" target=\"_blank\" rel=\"noopener\"><em>Image Optimization for Websites: Beautiful Pages That Load Quickly<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_in_php\" target=\"_blank\" rel=\"noopener\"><em>PHP Image Compression, Resize, and Optimization<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_in_python\" target=\"_blank\" rel=\"noopener\"><em>Python Image Optimization and Transformation<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/vue_js_tutorial_image_optimization_for_web_apps\"><em>Vue.js Tutorial: Image Optimization for Web Apps<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/evolution_of_img_gif_without_the_gif\" target=\"_blank\" rel=\"noopener\"><em>Evolution of &lt;img&gt;: Gif without the GIF<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/delivering_all_your_websites_images_through_a_cdn\" target=\"_blank\" rel=\"noopener\"><em>CDN for Images: Optimize and Deliver Images Faster<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/image_loading_reloaded\" target=\"_blank\" rel=\"noopener\"><em>Three Popular and Efficient Ways for Loading Images<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_wordpress_plugin_for_dynamic_images_and_video\" target=\"_blank\" rel=\"noopener\"><em>Introducing Cloudinary\u2019s WordPress Plugin for Dynamic Images and Video<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/the_holy_grail_of_image_optimization_or_balancing_visual_quality_and_file_size\" target=\"_blank\" rel=\"noopener\"><em>Compress an Image Automatically Without Losing Quality<\/em><\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\" target=\"_blank\" rel=\"noopener\"><em>Automatically Reduce Image Size Without Losing Quality<\/em><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Images take up over 60% of modern websites\u2019 total bandwidth. In the case of cutting-edge, image-rich designs, such as those for social media like Pinterest, that number is, remarkably, over 85%. Bandwidth is a costly commodity that gobbles up most of the IT budget of high-traffic sites, easily surpassing hosting and storage costs. In addition, [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":21179,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,227],"class_list":["post-21178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","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>Ten Website-Image-Related Mistakes and Their Solutions<\/title>\n<meta name=\"description\" content=\"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.\" \/>\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\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fixing the Top 10 Mistakes in Handling Website Images\" \/>\n<meta property=\"og:description\" content=\"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-26T10:35:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-15T20:11:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\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\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Fixing the Top 10 Mistakes in Handling Website Images\",\"datePublished\":\"2020-04-26T10:35:00+00:00\",\"dateModified\":\"2026-03-15T20:11:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\"},\"wordCount\":2933,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA\",\"keywords\":[\"Asset Management\",\"Performance Optimization\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\",\"url\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\",\"name\":\"Ten Website-Image-Related Mistakes and Their Solutions\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA\",\"datePublished\":\"2020-04-26T10:35:00+00:00\",\"dateModified\":\"2026-03-15T20:11:56+00:00\",\"description\":\"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fixing the Top 10 Mistakes in Handling Website Images\"}]},{\"@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":"Ten Website-Image-Related Mistakes and Their Solutions","description":"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.","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\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them","og_locale":"en_US","og_type":"article","og_title":"Fixing the Top 10 Mistakes in Handling Website Images","og_description":"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.","og_url":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them","og_site_name":"Cloudinary Blog","article_published_time":"2020-04-26T10:35:00+00:00","article_modified_time":"2026-03-15T20:11:56+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them"},"author":{"name":"","@id":""},"headline":"Fixing the Top 10 Mistakes in Handling Website Images","datePublished":"2020-04-26T10:35:00+00:00","dateModified":"2026-03-15T20:11:56+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them"},"wordCount":2933,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","keywords":["Asset Management","Performance Optimization"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them","url":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them","name":"Ten Website-Image-Related Mistakes and Their Solutions","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","datePublished":"2020-04-26T10:35:00+00:00","dateModified":"2026-03-15T20:11:56+00:00","description":"Learn how to fix the top 10 mistakes in handling website images with optimization, CSS3, metadata deletions, and other tactics, accelerating page loads.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fixing the Top 10 Mistakes in Handling Website Images"}]},{"@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\/v1649719882\/Web_Assets\/blog\/01_top_10_mistakes\/01_top_10_mistakes.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21178","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\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21178"}],"version-history":[{"count":25,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21178\/revisions"}],"predecessor-version":[{"id":39885,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21178\/revisions\/39885"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/21179"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}