This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Squidge

Description

Squidge is a FREE WordpPress Plugin built for developers in mind compressing and convert images using jpegoptim,
optipng, cwebp, and libavif. It’s extremley simple to use and is designed to increase PSI and boost rankings.

Why?

Image compression in WordPress can be costly, confusing and sometimes just simply don’t work. We have aimed to simplify
the process by requiring the developer to install the required package on the operating system and Squidge does the
hard work for you.

  • IT’S FREE
  • Unlimited file size, no limits.
  • Optimised for your site to rank.
  • CLI to regenerate all of your media files.
  • Helper functions to output images in templates.
  • Uses the native cwebp and libavif libraries.

What does Squidge do?

Squidge compresses and converts image files when the user has uploaded a file to WordPress.

  • Compresses JPG images using jpegoptim.
  • Compresses PNG images using optipng.
  • Converts JPG and PNG images to .webp files using cwebp with the appended extension e.g. image.jpg.webp.
  • Converts JPG and PNG images to .avif files using libavif with the appended extension e.g. image.jpg.avif.

Render Images

To render images in templates, you can either set up nginx or apache rules to serve images dynamically or used the
squidge_image helper function. This dynamically checks if an .avif or .webp file is available on the file system
and returns the output.

Function

/**
 * Returns a <picture> element with source media for the standard file passed
 * (such as a JPG), the .avif file, the .webp file (if to exist on the file system).
 *
 * Appropriate <source> elements for image sizes with max widths.
 * Finally, the main be outputted with alt and title text.
 *
 * - If lazy is true, the data-src or data-srcset will be appended.
 * - If a class is set, the class will be outputted on the <picture> element.
 *
 * @param $image_id
 * @param string $class
 * @param false $lazy
 * @return string
 */
function squidge_image($image_id, $class = '', $lazy = false)

Output

<picture class="picture">
    <!-- Loads if AVIF is supported and the window is smaller than 400px wide -->
    <source media="(max-width: 400px)" srcset="/sample-image.jpg.avif" type="image/avif">
    <source media="(max-width: 400px)" srcset="/sample-image.jpg.webp" type="image/webp">
    <source media="(max-width: 400px)" srcset="/sample-image.jpg">
    <!-- AVIF & Wep Initial Sizes -->
    <source srcset="/sample-image.jpg.avif" type="image/avif">
    <source srcset="/sample-image.jpg.webp" type="image/webp">
    <!-- Default -->
    <img src="/sample-image.jpg" alt="Alt text" title="Sample JPG">
</picture>

Credits

Written by Ainsley Clark

Screenshots

  • Plugin settings page
  • Example compression tab

Installation

  1. Go to the releases section and download the plugin.
  2. Upload the squidge plugin to your /wp-content/plugins/ directory.
  3. Activate the plugin through the “Plugins” menu in WordPress.
  4. Check the Settings tab under Settings | Squidge Options to ensure the libraries are installed, if they aren’t,
    run the commands listed dependent on your operating system.
  5. Check the individual optimisation tabs and adjust settings accordingly.
  6. Done!

FAQ

Does the plugin replace existing images?

Yes

What are the supported operating systems?

Windows, Linux, & Mac OSX.

Reviews

December 30, 2021
This looks promising! It seems to be the only such solution for avif that can run on the user's own hosting.
December 21, 2021
I'll be using this plugin for all my projects for sure! It's really useful as compression can be a nightmare with WordPress. Can't believe it's free too.
Read all 2 reviews

Contributors & Developers

“Squidge” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Squidge” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.0

  • Initial Release