• Resources
  • Convert JPEG/PNG to WebP on demand / on the fly - for WordOps

Next (2+) version of Warp iMagick - Image Compressor WP Plugin will have ability to automatically convert JPEG/PNG images to WebP clones. On the first WebP Capable Browser request.

Here is Nginx configuration snippet that works for me when placed in
example.com/config/nginx/cwebp.conf

location /wp-admin/images/    { location ~* \.(png|jpe?g)$ { try_files /dev/null @try-webp; } }
location /wp-content/themes/  { location ~* \.(png|jpe?g)$ { try_files /dev/null @try-webp; } }
location /wp-content/uploads/ { location ~* \.(png|jpe?g)$ { try_files /dev/null @try-webp; } }
location /wp-content/plugins/ { location ~* \.(png|jpe?g)$ { try_files /dev/null @try-webp; } }
location /wp-includes/images/ { location ~* \.(png|jpe?g)$ { try_files /dev/null @try-webp; } }

location @try-webp {
	add_header Vary 'Accept-Encoding';
	more_set_headers 'Access-Control-Allow-Origin : *';
	more_set_headers 'Cache-Control : public, no-transform';
	log_not_found off;
	access_log off;
	expires max;
	try_files $uri$avif_suffix $uri$webp_suffix @cwebp;
}

location @cwebp {
	if ( -f $document_root/cwebp-warp-imagick.php ) {
		expires -1; # Do not cache redirect !
		return 302 /?cwebp-warp-imagick=$uri;
	}
	try_files $uri =404;
}

Any comment or suggestion?

a month later

Hi Atreid!
To use this code snippet, do I need to install the plugin from WP? Or is it enough to create the cwebp.conf file?
Thank you

You need the plugin.

5 days later

Hi EdTrojas!

Current version of the Warp-iMagick plugin works on WordOps/Nginx without any additional server configuration. But only for images in /wp-content/uploads directory and does not convert "on the fly". New media images are automatically converted to WebP clones on upload. To convert existing media images with Warp-iMagick, use Regenerate Thumbnails Plugin.

New version (2.+) is able to convert JPEG/PNG to WebP clones "on-the-fly" and will require cwebp.conf snippet above to do so. Version 2.+ is under testing and will be available soon as upgrade after you install version 1.10.+ from the above linked site and subscribe for automatic upgrade.

    Hi atreid Is this your plugin? If so, curious as to why the registration requirement for plugin updates?

    I'm curios too, about who, where and how many sites are using plugin.
    Registration is free for automatic update service provided for free.
    Use GitHub to manually install updates when released there.

    Curiosity question: is there any benefit of using this plugin comparing to the long-established plugins like Shortpixel?

    Plugin was in WP org repository since 2019. In January 2022 plugin reached 20.000+ users. Plugin was by default automatically installed on new WordPress sites of a2hosting company users.

    Hi Kogorashi,

    This plugin use only PHP for images optimization and WebP conversion.

    I do not know any other plugin with comparable capabilities/features that does not use external/cloud/remote service or execute binaries which is in general prohibited by hosting services. I made it for myself when ewww switched to commercial and reduced compression capabilities of free version.

    No other plugin offer to review sub-sizes/thumbnails in real dimensions.

    And other options you may find useful, like sharpening blurry WP thumbnails, automatic resizing, convert to sRGB etc.

    You should test it, compare and decide for yourself.

    Why was your plugin removed from WordPress directory?

    Portofacil

    Your plugin has been closed as it has been found to be in violation of the directory guidelines, found here:

    https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/
    https://developer.wordpress.org/plugins/wordpress-org/block-specific-plugin-guidelines/

    https://wordpress.org/plugins/warp-imagick/

    For the next 60 days, your plugin will simply say that it has been closed. After that time, it will change to indicate it was closed for a Guideline Violation. To avoid that being made public, you must correct the issues and pass a code review within 60 days.

    What to do next

    We understand that this is frustrating to hear, and that having your plugin closed is never a great day. To help restore your plugin as quickly as possible, you are required to do the following:

    Complete all the corrections listed in the following section
    Perform a full security and standards review on your own code
    Increase the plugin version
    Ensure the 'tested up to' version in your readme is the latest release of WordPress
    Update the code in SVN
    Reply to this email and request a re-review

    If you feel this decision was made in error, you please reply to this email and explain why.

    Plugins are closed immediately and the developer contacted when this happens, in part because we have an imperfect system of notifications. This means until your plugin is corrected to meet our guidelines, we will not reopen it.

    When we re-review your code we will look at not just the changes, but the entire plugin, so there may be a delay.

    Why this is a violation

    There are two serious guideline infractions.

    1. Your plugin readme has a 'keyword' section, which is considered keyword stuffing. Please remove that entire section

    2. Your plugin display name is "Warp iMagick Image Optimization. Resize & Compress images. Sharpen & Optimize images. Convert WebP." which is very long, and is not a name but a description. Give your plugin a NAME, and use that lengthy one as a short-description.

    If you have any questions, please let us know.

      My reply:

      Hi, anonymous whoever and wherever you are

      We understand that this is frustrating to hear, and that having your plugin closed is never a great day.

      Plugins are closed immediately and the developer contacted when this happens, in part because we have an imperfect system of notifications. This means until your plugin is corrected to meet our guidelines, we will not reopen it.

      Indeed, it is very unpleasant to find a plugin closed and plugin-users suddenly punished without receiving prior notice and chance to complain before unjust procedure outcome. Procedure where same person is witness, prosecutor, judge, jury and judgment-executor, without informing plugin team or WP users until execution is done. Presumed guilty before proven innocent? That is same "kind of procedure" used in Assassination of Jamal Khashoggi. Great, dead Jamal can only complain after killing? So, complaining to you is possible only after closing plugin and harming plugin, plugin's users and author's reputation? Is there anybody else to independently review/audit plugin closing decisions? Where is or who is the higher instance to complain?

      Procedure looks like a path to hell, genocide of native people (or plugins 🙂).

      Can you imagine your plugin closed just because someone misjudged your plugin readme?
      How would you fix the bugs or run-time exceptions?

      I thought that we all are together, helping each other and WordPress users.

      KEYWORD STUFFING ???

      1. Your plugin readme has a 'keyword' section, which is considered keyword stuffing. Please remove that entire section

      That section is not, by any means, "keyword stuffing". Judging section content by section one-word name is ridiculous

      1) Section has few links to search other related plugins, useful for users who landed on the page where they did not found what they are looking for. Indeed, section title is unfortunately named, but one single word in the section name shouldn't mislead anyone into false assumption about section content.

      2) Section is a custom-section. Those few custom section "keywords", can't possibly change plugin availability. But now, when plugin is unfortunately and unjustifiably closed, I can't prove to you by example, which would be possible if you contacted me before closing.

      3) In SEO terms, that section is actually harmful, because section links ...
      a) ... lead visitors to leave plugin landing page.
      b) ... lead visitors to search page containing other, related and first showing much higher ranked plugins with millions of installs, where this plugin with his relatively humble number of installs, usually can't be discovered.

      4) Whoever initiated this plugin closing procedure based on alleged "keyword stuffing" did it as a mistake. Or has no elementary SEO knowledge or is maliciously biased towards this plugin/autor.

      5) This can't be nor it is a "serious guideline violation". Nevertheless I'm happy to remove that section (committed to SVN), as I guess, removing that section will increase number of installs and happy WordPress users. Thank you for the feedback and help plugin to grow.

      PLUGIN NAME ???

      1. Your plugin display name is "Warp iMagick Image Optimization. Resize & Compress images. Sharpen & Optimize images. Convert WebP." which is very long, and is not a name but a description. Give your plugin a NAME, and use that lengthy one as a short-description.

      Serious guideline violation? Impossible. There is no such field or place in readme.txt dedicated exclusively for plugin NAME. That "plugin display name" you are quoting above is not a NAME at all, it is actually a plugin TITLE. Your claim above ("is not a name but a description") is not true. Your request ("Give your plugin a NAME,") is a pure nonsense, TITLE already contains a NAME and how this plugin is useful and what this plugin provides.

      Evidence:

      1) Text you quoted as NAME is placed at the top of readme.TXT surrounded by triple equals characters (===) and displayed:
      a) at the top of the browser window by the <title> element inside HTML <head> element).
      b) as the H1 TITLE on plugin landing page by <h1 class="plugin-title">TITLE</h1>
      c) as the H3 TITLE in plugins list page as list entry TITLE element <h3 class="entry-title">TITLE</h3> wrapped by the <a href=''...> link to plugin landing page.

      2) As both, plugin TITLE and Short-Description are by WordPress repository, equally limited to 150 characters and can't be any longer. That fact is the evidence that there is no real or implied indication or rule that TITLE should be only NAME or shorter than Short-Description. Why would WordPress repository allow 150 characters for the simple NAME, usually not longer than plugin SLUG. Why would WordPress repository let someone's biased opinion to decide or dictate what is allowed TITLE length for each plugin? See List of cognitive biases - Wikipedia or Nearly 200 cognitive biases rule our everyday thinking - Big Think

      3) Before every SVN Check-in, this plugin Readme.TXT is validated with official WordPress Plugin Readme Validator, and validated and visually inspected using WP Readme site. Validators never returned any error or complaint for the TITLE.

      4) I was searching and reading guidelines, but I couldn't find WordPress guideline or rule justifying or implying your above quoted, unusual, biased, suspicious and malicious request.

      https://make.wordpress.org/plugins/2018/03/06/understanding-readme-txt/
      https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/

      5) Then I looked at other plugins common practice. TITLE with NAME and what plugin does, is used even by Automattic authored plugins: Akismet & Jetpack. Using plugin TITLE for more than NAME in the title is accepted, general & common practice, which this plugin already complies with.

      Notable example with millions of installs:

      === Jetpack - WP Security, Backup, Speed, & Growth ===
      Contributors: automattic, ....
      Tags: Security, backup, Woo, malware, scan, spam, CDN, search, social
      Stable tag: 10.6
      Requires at least: 5.8
      Requires PHP: 5.6
      Tested up to: 5.9

      Evidence again:

      Below is list of other plugins TITLE-s found on first few plugin pages as result of simple plugins search by word "image". Comprehensive search would reveal much more. This is what I have found:


      • Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce

      • Royal Elementor Addons (Header Footer Builder, Popups, Post Grid, Woocommerce Product Grid, Slider, Parallax Image & other Free Addons for Elementor)

      • Gallery Blocks with Lightbox. Image Gallery, (HTML5 video , YouTube, Vimeo) Video Gallery and Lightbox for native gallery

      • Membership, User Registration, Login Form & User Profile – ProfilePress (Formerly WP User Avatar)

      • Auto Image Attributes From Filename With Bulk Updater (Add Alt Text, Image Title For Image SEO)

      • All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic

      • Bulk edit image alt tag, caption & description – WordPress Media Library Helper by Codexin

      • ElementsKit Elementor addons (Header & Footer Builder, Mega Menu Builder, Layout Library)

      • Image Hover Effects Ultimate (Image Gallery, Effects, Lightbox, Comparison or Magnifier)

      • WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google Cloud Storage

      • Gallery by BestWebSoft – Customizable Image and Photo Galleries for WordPress

      • Rank Math SEO – Best SEO Plugin For WordPress To Increase Your SEO Traffic

      • Better Images – Sharpen, compress, optimize and resize image after upload

      • Warp iMagick – Compress Sharpen Optimize Image Convert WebP Resize Upload (committed)

      • WebP Converter for Media – Convert WebP and AVIF & Optimize Images

      • Instant Images – One Click Unsplash, Pixabay and Pexels Uploads

      • Smush – Lazy Load Images, Optimize & Compress Images

      • Jetpack – WP Security, Backup, Speed, & Growth

      • TinyPNG – JPEG, PNG & WebP image compression
        --------------

      As you can see from above, this plugin is just one of MANY MANY other plugins using TITLE within allowed length, and even does not have longest TITLE length. Nevertheless, plugin is closed and punished for the title length. How come?

      Alleged guideline violation is just pretense. It is based on quickly made up rule by someone who even does not know what he is talking about. Doesn't have clue about SEO, doesn't even know what is plugin NAME (see plugin entry.php file) nor what is plugin TITLE (explained above). How can someone so much ignorant be allowed to initiate closing and judge other people's plugins?

      You can't undo the unrecoverable harm you already did to thousands of WordPress users, this plugin and author's reputation. But you still can stop the harm:
      Please undo the injustice and stop the harm by immediate reopening the plugin.

      If you still want to help me improve the plugin by doing full review,
      then thank you for your precious time and please, feel free to do so.

      Plugin code is automatically checked by WordPress coding standards.
      All inputs are rigorously validated.
      Version number is incremented.
      Tested up to WP 5.9
      SVN updated.

      Thank You

      In the plugin support, I immediately informed plugin users what is going on by publicly quoting only the first email/reason why plugin is closed, but that support thread was deleted, someone obviously want to hide it. Why?

      That's such a shame. Personally though I'd have just made the minor adjustments asked for and it would have been reinstated pretty swiftly - hardly anyone would have even noticed.

      Marty it is not that simple.

      atreid Reply to this email and request a re-review

      She (Mika Epstein) is extorting from me a official "request for review".

      When we re-review your code we will look at not just the changes, but the entire plugin, so there may be a delay.

      Long delay is guaranteed, probably more than 60 days. Using lies, false claims and made-up rules as she already did, she is able to disqualify any part of code. If I cannot challenge initial false reason for closing the plugin, then I wont be able to challenge anything she additionally claims Plugin is simply targeted to kill. I've seen that happening before in Slack.

      False claim / made-up rule to shorten the TITLE beyond reason would make plugin undiscoverable for searches. Downloads would drop to minimum. Plugin was simply too successful, free and competing with plenty of commercial interests, commercial plugins with crippled free version in repository.

      She is not working for free as volunteer. She is actually paid by Dreamhost (see "Case Study" section here). There is no plugin review "team", she is only one member (see number of reviews in link above), hiding itself behind the "team". Holding monopoly to unsupervised key WordPress position only for herself. See Become a Reviewer here at least since 2018. Keeping the communication with plugin owners out of public, out of WordPress.slack, in the secret, she is doing whatever she wants, being responsible only to her employer Dreamhost who either does not care or imposes undisclosed commercial interests over his employee. Maybe Dreamhost didn't like A2 hosting compete using this free plugin to gain customers from them?

      Anyways, no plugin is safe in WordPress repository, as long that person is inviolable "goddess" of all plugin rules and plugins in repository.

        https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#18-we-reserve-the-right-to-maintain-the-plugin-directory-to-the-best-of-our-ability

        We reserve the right to maintain the Plugin Directory to the best of our ability.

        Our intent is to enforce these guidelines with as much fairness as humanly possible. We do this to ensure overall plugin quality and the safety of their users. To that end, we reserve the following rights:

        to update these guidelines at any time.
        … to disable or remove any plugin from the directory, even for reasons not explicitly covered by the guidelines.
        … to grant exceptions and allow developers time to address issues, even security related.
        … to remove developer access to a plugin in lieu of a new, active, developer.
        … to make changes to a plugin, without developer consent, in the interest of public safety.

        In return, we promise to use those rights sparingly and with as much respect as possible for both end users and developers.

        Promise to use those rights sparingly?
        Respect for users and developers?
        Fairness?
        Pure BS.

        She is able, by her own rule, to take your ownership of your plugin and give it to someone else 🙁
        I can't recommend anyone to publish plugin in WordPress under such conditions.

        atreid Sorry but I don't see it that way at all. I think it really is that simple. They made a reasonable request to comply with plugin guidelines. You chose not to, which is a shame, but that's your right.

          marty Sorry but I don't see it that way at all.

          Marty, I'm sorry that you can't get it. Actually I did comply with all points:

          1) Your plugin readme has a 'keyword' section, which is considered keyword stuffing. Please remove that entire section

          5) This can't be nor it is a "serious guideline violation". Nevertheless I'm happy to remove that section (committed to SVN), as I guess, removing that section will increase number of installs and happy WordPress users. Thank you for the feedback and help plugin to grow.

          Section removed

          2) Your plugin display name is "Warp iMagick Image Optimization. Resize & Compress images. Sharpen & Optimize images. Convert WebP." which is very long, and is not a name but a description. Give your plugin a NAME, and use that lengthy one as a short-description.

          Warp iMagick – Compress Sharpen Optimize Image Convert WebP Resize Upload (committed)

          Title is shortened

          Reply to this email and request a re-review

          If you still want to help me improve the plugin by doing full review,
          then thank you for your precious time and please, feel free to do so.

          Permission to review the plugin is given.

          Plugin code is automatically checked by WordPress coding standards.
          All inputs are rigorously validated.
          Version number is incremented.
          Tested up to WP 5.9
          SVN updated.

          And other points as requested

          But that was not enough. That male heating monstrous individual (publicly declaring her self as dominant lesbian), replied with rage of abandoned woman 🙂, using lies and twisting my words to make false accusations. I do not know why. Maybe because I exposed her lies, malice, false accusations, ignorance and incompetence? Maybe she was at the end of menstrual cycle? Maybe her sexual partner just abandoned her? Maybe was just bad day and headache she often complains about in Slack?

          It is not about the plugin! It is about her sick ego.

          Her final email reply after which plugin, profile and email was blocked.

          Since you appear to have fundamental issues with the process of the directory, which you did agree to when submitting, we have decided the best solution here is to remove your plugins permanently and suspend your account.

          What to do next

          We understand that this email is painful to read. We did not reach this decision without serious deliberation.

          The Plugin Directory is open to everyone who can and will comply with guidelines. When people demonstrate they cannot, or will not, they are no longer welcome as their actions are detrimental to the community and the volunteers who maintain. This extends to people hired to act in your name (i.e. employees, consultants, etc).

          While you are no longer permitted to host your code on WordPress.org, you are certainly welcome to host your code via other venues and services. We strongly recommend you invest in software to manage self-updates. There are multiple options available to you outside of our hosting.

          Any attempts to circumvent this suspension will be seen as intentionally hostile, and result in further restrictions. Do not make a new account, do not attempt to get around this ban, do not try to hide your identity and resubmit.

          If you feel this decision was made in error, you may reply, however in most cases the suspension will remain.

          Why you are suspended

          Normally we send out warning notices to encourage developers to correct their actions, however in certain cases there are events that cause us to take extreme action.

          Since you jumped to comparing plugin closure to genocide, the reprehensible murder of journalists, and a 'path to hell', it is clear you just don't like how we do things. That's fine, but slinging accusations and abuse is unwelcome.

          When someone demonstrates an unwillingness or inability to comply with our guidelines, it becomes an unfair burden on a volunteer organization. Forcing them to spend hours micro-managing your behaviour or exceptional cost (in time or money) to rectify a mistake caused by your actions, is something we cannot continue to do.

          As such, in accordance with our guidelines, you are no longer welcome to host your code on WordPress.org.

          Hosted by VirtuBox