Native Image Lazy Loading
This plugin adds the loading attribute to IMG tags found when filtering the_content() to support native image lazy loading. For more information about lazy loading images using this new native browser image attribute, check out this article: https://addyosmani.com/blog/lazy-loading/ and for a little more depth into what we’re doing here, check out our explainer post. Historically, to limit the impact offscreen images have on page load times, developers have needed to use a JavaScript library (like LazySizes or Vanilla-LazyLoad) in order to defer fetching these images until a user scrolls near them. What if the browser could avoid loading these offscreen images for you? The loading attribute instructs a browser to defer loading offscreen images until users scroll near them. It comes in three flavors: eager, auto, and lazy. Install this plugin and you can set the first image’s loading attribute and the loading attribute for all the subsequent images sent through the_content() in the plugin’s settings page. Simple is Beautiful There is no JavaScript or CSS included in the plugin. It just works in browsers that support the new loading image attribute. For browsers that don’t support this new image loading attribute, that’s ok. You can still use whatever JavaScript-based image lazy loader you want as a fallback until browser support becomes a little more mainstream.
WebP Express
More than 9 out of 10 users are using a browser that is able to display webp images. Yet, on most websites, they are served jpeg images, which are typically double the size of webp images for a given quality. What a waste of bandwidth! This plugin was created to help remedy that situation. With little effort, WordPress admins can have their site serving autogenerated webp images to browsers that supports it, while still serving jpeg and png files to browsers that does not support webp. The image converter The plugin uses the WebP Convert library to convert images to webp. WebP Convert is able to convert images using multiple methods. There are the “local” conversion methods: imagick, cwebp, vips, gd. If none of these works on your host, there are the cloud alternatives: ewww (paid) or connecting to a WordPress site where you got WebP Express installed and you enabled the “web service” functionality. The “Serving webp to browsers that supports it” part. The plugin supports different ways of delivering webps to browsers that supports it: By routing jpeg/png images to the corresponding webp – or to the image converter if the image hasn’t been converted yet. By altering the HTML, replacing image tags with picture tags. Missing webps are auto generated upon visit. By altering the HTML, replacing image URLs so all points to webp. The replacements only being made for browsers that supports webp. Again, missing webps are auto generated upon visit. In combination with Cache Enabler, the same as above can be achieved, but with page caching. You can also deliver webp to all browsers and add the webpjs javascript, which provides webp support for browsers that doesn’t support webp natively. However, beware that the javascript doesn’t support srcset attributes, which is why I haven’t added that method to the plugin (yet). The plugin implements the “WebP On Demand” solution described here and builds on a bunch of open source libraries (all maintained by me): – WebP Convert: For converting images to webp – WebP Convert Cloud Service: For the Web Service functionality – DOM Util for WebP: For the Alter HTML functionality – Image MimeType Guesser: For detecting mime types of images. – HTAccess Capability Tester: For testing .htaccess capabilities in a given directory, using live tests – WebP Convert File Manager: For browsing conversions and triggering conversions. – Exec With Fallback: For emulating exec() on systems where it is disabled (using proc_open(), passthru() or similar alternatives). Benefits Much faster load time for images in browsers that supports webp. The converted images are typically less than half the size (for jpeg), while maintaining the same quality. Bear in mind that for most web sites, images are responsible for the largest part of the waiting time. Better user experience (whether performance goes from terrible to bad, or from good to impressive, it is a benefit). Better ranking in Google searches (performance is taken into account by Google). Less bandwidth consumption – makes a huge difference in the parts of the world where the internet is slow and costly (you know, ~80% of the world population lives under these circumstances). Currently ~97% of all traffic are done with browsers supporting webp. It’s great for the environment too! Reducing network traffic reduces electricity consumption which reduces CO2 emissions. Limitations The plugin should now work on Microsoft IIS server, but it has not been tested thoroughly. Supporting WebP Express Bread on the table don’t come for free, even though this plugin does, and always will. I enjoy developing this, and supporting you guys, but I kind of need the bread too. Please make it possible for me to continue wasting time on this plugin: Buy me a Coffee Buy me coffee on a regular basis and help ensuring my coffee supplies doesn’t run dry. Supporters of WebP Express Persons who recently contributed with ko-fi – Thanks! 5 Jan: Joel 24 Dec: Patrick Müller 16 Dec: Dragos 9 Aug: Tanzi 3 Jul: Jen 26 Jun: Per 16 May: Erick Danzer 8 May: Mike 31 May: parallactic 14 May: Gitte Rebsdorf 9 May: La Braud Persons who recently contributed on github sponsors – Thanks! * 16 Dec: kcrlost * 16 Dec: Yakovos Frountas (Greece) Persons who contributed with extra generously amounts of coffee / lifetime backing (>80$) – thanks!: Patrick Müller ($250) Max Kreminsky ($115) Justin – BigScoots ($105) Bill Vallance ($102) Joel ($100) Label Vier ($100) Sebastian ($99) Tammy Lee ($90)