Plugin / Adaptive Images for WordPress

Nevma

Description

Description

Adaptive Images

Resizes and optimizes images delivered to mobile devices, in a transparent way, so that the total download time is dramatically reduced. It works as a filter between your WordPress website and the devices and seves smaller images to them.

Note that this is not a CSS nor a responsive images solution. It does not affect your themes layout and style. It simply sends smaller images to the devices without them noticing it!

Fundamental goals

  1. Reduce the total download time of a web page in mobile devices dramatically.
  2. Work transparantly and unobtrusively by being independant of your theme layout and style.
  3. Be agnostic of the yet not-standardised picture element or HTML the img srcset attribute.

Side benefits

  1. Respects search engines and sends them the orginal version of each image.
  2. If it does not recognise a device size it falls back to the original image size.
  3. It is lightweight, because it does not need to load the whole WordPress environment every time it server an image request.

Supported formats

  • JPEG
  • PNG
  • GIF (not animated)

NOT Supported formats

  • WEBP
  • GIF (animated)

CDN/Varnish/external caching services

Since version 0.6.0 CDN/Varnish/external caching service support has been added as an option, in an experimental mode. This means: i) it is not thorougly tested yet ii) however, it works in almost all test cases so far iii) it bears no dangers to your installation iv) it adds a special url parameter to your image urls, so it is slightly obtrusive.

  • Tested with MaxCDN and Varnish up to now.
  • Cannot handle CSS background images (yet).

Cannot work, not even in experimental mode, with CDNs which use a different subdomain for images, because these setups completely bypass WordPress when delivering images. Feel free to ask for details on this in the support forum.

Default breakpoints

  • 1024px wide screens
  • 640px wide screens
  • 480px wide screens

Since version 0.5.0 and upwards it is configurable whether the plugin should take into account the landscape or the portrait orientation of each device. HiDPI (high device pixel density or retina) screens are supported too.

How to test

The esiest way to test is with your browser's device emulation mode (Responsive Design Mode) in it' Developer Tools. You can check this out this video https://www.youtube.com/watch?v=hCAC1XUUOvw/ as an example.

  1. Test with a tool like Webpagetest http://www.webpagetest.org/. Make sure you set the “Emulate Mobile Browser” setting in the “Advanced Settings” > “Chrome” tab.
  2. Test with an actual mobile device, a smartphone or tablet. Watch your website load in a snap.
  3. Check the /wp-contents/cache directory to see the /adaptive-images directory and its contents. This is where the resized images are kept and cached by default.
  4. View an image straight from a browser and add a "?debug=true" at the end of the url like this "http://www.website.com/wp-content/uploads/2015/01/image.jpg?debug=true". This verifies that the plugin is working and should print useful debug information. If you keep seeing your image, then the plugin is not working as expected and the cause is probably a failure to update the .htaccess file properly.
  5. Add a "?debug=original" at the end of the url of an image and you will see the orginal version of the image even when a smaller version of it should have been shown.

Incompatibilities and issues

  • The plugin supports Nginx, but the server’s configuration file must be manually configured like this:

    location / {
    rewrite \.(?:jpe?g|gif|png)$ /wp-content/plugins/adaptive-images/adaptive-images-script.php;
    }

  • Windows IIS is not supported, but could be manually configured. Any IIS experts are welcome to contribute.

  • Cannot work, not even in experimental mode, with CDNs which use a different subdomain for images.
  • When using HTTPS/SSL make sure that you update all your website urls and also the urls in your WordPress General
    settings page, otherwise the plugin will not be able to locate your images.
  • WordPress Multisite (Mu) is not supported (some plans for future support are being discussed).

Stuff to keep in mind

  • The plugin needs to add a little bit of code to your .htaccess file in order to function properly. It removes this code once disabled. If you are not cool with that, then… tough luck!
  • The plugin does not care whether the device is actually mobile or not. It checks the device screen resolution. If you have set your breakpoints big enough then it should work just as good for desktop devices as well. However, it targets mostly the mobile ones.
  • The resized versions of the pictures are kept in a special directory in the /wp-content/cache directory. This causes some storage overhead. It is up to you to judge whether this overhead is a sustainable option in your hosting environment. Usually it is not even remotely compared to the size of your original images directories.
  • The plugin does not help with (nor hinder) art direction. Simple as that. Art direction https://usecases.responsiveimages.org/#art-direction in responsive images is an entirely different, yet important, problem. This plugin does not tackle with it. But it works in a supplementary way without interfering with other solutions that do. This means that you can combine it with any art direction solution.

Credits

  • The plugin was originally based on the WP-Resolutions plugin https://github.com/JorgenHookham/WP-Resolutions/, but since version 0.3.0 it is a complete rewrite!
  • Both plugins, WP-Resolutions and this one, have borrowed ideas from the Adaptive Images http://adaptive-images.com/ solution, specially adapted for WordPress.
  • Many special thanks to my good friend and colleague Antonis Zachopoulos for the countless times that he provided feedback, ideas and debugging hints.
  • Many thanks to @railgunner for the initial idea on the CDN/Varnish/external caching service feature in the plugin support forum. It showed the way that it was indeed possible!
  • Thank you AJ at WpFASTER.org for being keen to test the above feature in a real environment.
  • Thank you to the guys over at the Pressidium team for helping with debugging the CDN/Varnish/external caching service feature and providing test environments.
  • Thank you Andy Gray for helping debugging the weird filesystem path issues in managed hosting environments.
  • Thank you @milenoi2016 for helping sort out one of the many cases of WordPress directories setup.
  • Thank you @minorgod for the Windows path fix.
  • Thank you Mark Gruffer for the global request variable exposure hint.
  • And, of course, a million thanks to all of you who provided useful feedback in the early versions of the plugin, where the inevitable glitches, due to server environment variations, were more than a few.

Please, do let us know how the plugin works (or doesn’t work) for you. We love comments and creative feedback!

Ratings

4.7
52 reviews

Rating breakdown

Details Information

Version

0.6.67

First Released

23 May, 2016

Total Downloads

114,134

Wordpress Version

4.0 or higher

Tested up to:

5.2.4

Require PHP Version:

-

Tags

Contributors

Languages

The plugin hasn't been transalated in any language other than English.

DIRECTORY DISCLAIMER

The information provided in this THEME/PLUGIN DIRECTORY is made available for information purposes only, and intended to serve as a resource to enable visitors to select a relevant theme or plugin. wpSocket gives no warranty of any kind, express or implied with regard to the information, including without limitation any warranty that the particular theme or plugin that you select is qualified on your situation.

The information in the individual theme or plugin displayed in the Directory is provided by the owners and contributors themselves. wpSocket gives no warranty as to the accuracy of the information and will not be liable to you for any loss or damage suffered by you as a consequence of your reliance on the information.

Links to respective sites are offered to assist in accessing additional information. The links may be outdated or broken. Connect to outside sites at your own risk. The Theme/Plugin Directory does not endorse the content or accuracy of any listing or external website.

While information is made available, no guarantee is given that the details provided are correct, complete or up-to-date.

wpSocket is not related to the theme or plugin, and also not responsible and expressly disclaims all liability for, damages of any kind, arising out of the use, reference to, or reliance on, any information or business listed throughout our site.

Keep Leading Your Followers!
Share it for them.