[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fZ2uvx_zQV5eGvxgdS2hX_axeV_f0WYBx2E5WC0vRYeA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":131,"fingerprints":520},"resizefly","ResizeFly","3.2.6","alpipego","https:\u002F\u002Fprofiles.wordpress.org\u002Falpipego\u002F","\u003Cp>Instead of creating image sizes on upload, this plugin only creates them when requested.\u003C\u002Fp>\n\u003Cp>Normally after activating a new theme or plugin that adds new image sizes, you will have to use a tool like \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fregenerate-thumbnails\u002F\" rel=\"ugc\">Regenerate Thumbnails\u003C\u002Fa> to create the newly registered image sizes. Depending on the size of the media library and the “power” of your server, this might take a while or even take several tries to process all your images; and in the end, you don’t even know if you’ll need all of the resized images.\u003C\u002Fp>\n\u003Cp>This plugin takes care of the resizing dynamically and creates the requested size the moment it is first requested&mdash;and only when it is requested.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>For users: Please use the support forums on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fresizefly\" rel=\"ugc\">wordpress.org\u003C\u002Fa>\u003Cbr \u002F>\nFor developers: Head over to the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falpipego\u002Fresizefly\u002F\" rel=\"nofollow ugc\">Github repository\u003C\u002Fa>\u003Cbr \u002F>\nFor everything else, find me on \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Falpipego\" rel=\"nofollow ugc\">twitter\u003C\u002Fa> or on slack\u003C\u002Fp>\n","Dynamically resize your WordPress images on the fly. Upload them once and don't worry about missing or new image sizes.",10,9104,100,5,"2020-12-17T11:54:00.000Z","5.6.17","4.7.0","5.6",[20,21,22,23,24],"dynamic","dynamic-images","image","jpg","png","https:\u002F\u002Fresizefly.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fresizefly.3.2.6.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},2,30,84,"2026-04-04T05:55:17.897Z",[38,61,81,97,113],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":13,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":59,"download_link":60,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"upload-converter-webp","Upload Converter for WebP","1.0","Rony Bormon","https:\u002F\u002Fprofiles.wordpress.org\u002Fronybormon\u002F","\u003Cp>\u003Cstrong>Upload Converter for WebP\u003C\u002Fstrong> is a powerful WordPress plugin that automatically converts uploaded JPG, JPEG, and PNG images to modern WebP format for faster load times and better optimization. You can also convert existing images manually with one click from the Media Library or the plugin’s admin panel.\u003C\u002Fp>\n\u003Cp>🎯 \u003Cstrong>Features\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>✅ Automatic conversion to WebP during upload  \u003C\u002Fli>\n\u003Cli>✅ Convert existing images from the admin dashboard  \u003C\u002Fli>\n\u003Cli>✅ Media Library support:\n\u003Cul>\n\u003Cli>List View: Action link to convert  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>✅ Fullscreen lightbox preview with file info  \u003C\u002Fli>\n\u003Cli>✅ Built using native WordPress functions (Imagick or GD)  \u003C\u002Fli>\n\u003Cli>✅ Lightweight and cleanly coded for performance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Cp>This plugin automatically converts images to WebP format during upload. You don’t need to do anything manually after installation.\u003C\u002Fp>\n\u003Ch4>🔄 Automatic Conversion (On Upload)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>After activation, when you upload a JPG or PNG image to the Media Library, it will be automatically converted to WebP.  \u003C\u002Fli>\n\u003Cli>The converted image will be smaller in size, helping improve site speed and performance.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🛠️ Convert Existing Images\u003C\u002Fh4>\n\u003Ch3>Option 1: From Media Library (List View)\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Dashboard \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Library\u003C\u002Fstrong>.  \u003C\u002Fli>\n\u003Cli>Switch to \u003Cstrong>List View\u003C\u002Fstrong>.  \u003C\u002Fli>\n\u003Cli>Select one or more JPG\u002FPNG images.  \u003C\u002Fli>\n\u003Cli>From the \u003Cstrong>Bulk Actions\u003C\u002Fstrong> dropdown, choose \u003Cstrong>Convert to WebP\u003C\u002Fstrong>.  \u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Apply\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Option 2: From Plugin Page\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Dashboard \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> WebP Converter\u003C\u002Fstrong> (menu added by the plugin).  \u003C\u002Fli>\n\u003Cli>You’ll see a list of all JPG and PNG images.  \u003C\u002Fli>\n\u003Cli>Select the images you want to convert.  \u003C\u002Fli>\n\u003Cli>Click on \u003Cstrong>Convert Selected\u003C\u002Fstrong>.\u003Cbr \u002F>\n✅ After conversion, you’ll see the message:\u003Cbr \u002F>\n   Converted to WebP successfully.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Only JPG and PNG images are supported.  \u003C\u002Fli>\n\u003Cli>Make sure your server supports WebP and the \u003Ccode>imagewebp\u003C\u002Fcode> extension in PHP.  \u003C\u002Fli>\n\u003Cli>If you get an error like “An error occurred in the upload”, check:\n\u003Cul>\n\u003Cli>If the file type is supported  \u003C\u002Fli>\n\u003Cli>If PHP GD\u002FWebP is enabled  \u003C\u002Fli>\n\u003Cli>File permissions are correct\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Author: \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Frony-bormon\" rel=\"nofollow ugc\">Rony Bormon\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Website: \u003Ca href=\"https:\u002F\u002Fronybormon.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fronybormon.com\u002F\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Convert JPG, JPEG, and PNG images to WebP automatically or manually with bulk actions and Media Library buttons.",300,902,3,"2025-11-19T16:33:00.000Z","6.8.5","5.2","7.2",[54,55,56,57,58],"bulk-converter","image-optimization","jpg-to-webp","png-to-webp","webp","https:\u002F\u002Fronybormon.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupload-converter-webp.1.0.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":50,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":79,"download_link":80,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"auto-cloudinary","Auto Cloudinary","1.3.1","Junaid Bhura","https:\u002F\u002Fprofiles.wordpress.org\u002Fjunaidbhura\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\" rel=\"nofollow ugc\">Check out the Github Repository ♥\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin provides a \u003Cstrong>super simple\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fcloudinary.com\u002Fdocumentation\u002Ffetch_remote_images#auto_upload_remote_resources\" rel=\"nofollow ugc\">Cloudinary auto-upload\u003C\u002Fa> implementation for WordPress.\u003C\u002Fp>\n\u003Cp>It is inspired by \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.com\u002Fdocs\u002Fphoton\u002F\" rel=\"nofollow ugc\">Photon\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhumanmade\u002Ftachyon-plugin\" rel=\"nofollow ugc\">Tachyon\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Cloudinary will \u003Cstrong>automatically fetch and serve the images\u003C\u002Fstrong> from your media library like a \u003Cstrong>CDN\u003C\u002Fstrong>, without you having to worry about the complicated upload API! Just \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FSetup\" rel=\"nofollow ugc\">set up auto-upload\u003C\u002Fa> in your Cloudinary settings, enter the details in the plugin’s options, and you’re all set!\u003C\u002Fp>\n\u003Cp>Easy peasy 😎\u003C\u002Fp>\n\u003Ch3>Important\u003C\u002Fh3>\n\u003Cp>This plugin is \u003Cstrong>incompatible with the official Cloudinary plugin\u003C\u002Fstrong>. You’d need to disable that plugin before using this one.\u003C\u002Fp>\n\u003Ch3>Quick Links\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FSetup\" rel=\"nofollow ugc\">Setup\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fissues\" rel=\"nofollow ugc\">Issues\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FFunctions\" rel=\"nofollow ugc\">Functions\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FFilters\" rel=\"nofollow ugc\">Filters\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FBest-Practices\" rel=\"nofollow ugc\">Best Practices\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Why did you build this plugin?\u003C\u002Fh3>\n\u003Cp>There already is an \u003Cstrong>official Cloudinary plugin\u003C\u002Fstrong> available. But in my opinion, it’s a bit of an overkill and takes over the admin UI. This plugin aims to be:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Super simple\u003C\u002Fstrong> and light-weight\u003C\u002Fli>\n\u003Cli>Totally seamless and \u003Cstrong>out of the way\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>A flexible tool for \u003Cstrong>WordPress developers\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What is Cloudinary Auto-Upload?\u003C\u002Fh3>\n\u003Cp>Cloudinary gives you two options to upload files to it’s servers:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The complicated \u003Cstrong>Upload API\u003C\u002Fstrong> 😱\u003C\u002Fli>\n\u003Cli>The super easy and magical \u003Cstrong>Fetch API\u003C\u002Fstrong> 🎩\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Upload API\u003C\u002Fh4>\n\u003Cp>\u003Cem>TL;DR: Too complicated and in the way\u003C\u002Fem> 👎\u003C\u002Fp>\n\u003Cp>Cloudinary gives you an API, using which, you can manually upload the images to Cloudinary. So you’d need an \u003Cstrong>API key\u003C\u002Fstrong>, etc. The \u003Cstrong>official plugin\u003C\u002Fstrong> uses this method. When you upload an image to the media library, it in turn, uploads it to Cloudinary. This could be a problem if you have thousands of \u003Cstrong>existing images\u003C\u002Fstrong>, and might not be flexible enough to support \u003Cstrong>custom architecture\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Fetch API\u003C\u002Fh4>\n\u003Cp>\u003Cem>TL;DR: Magical\u003C\u002Fem> 👍\u003C\u002Fp>\n\u003Cp>This plugin uses the super easy \u003Cstrong>Auto-Upload\u003C\u002Fstrong> feature in the \u003Cstrong>Fetch API\u003C\u002Fstrong>. We just tell Cloudinary where to find the files on our server (or on S3 or anywhere on the Internet), and it \u003Cstrong>automatically downloads\u003C\u002Fstrong> it from there and saves it on to it’s servers the \u003Cstrong>first time you ask for it\u003C\u002Fstrong>, like a CDN would!\u003C\u002Fp>\n\u003Ch3>What does this plugin do?\u003C\u002Fh3>\n\u003Cp>This plugin does two main things:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Provides a simple function \u003Ccode>cloudinary_url()\u003C\u002Fcode> to get a Cloudinary auto-upload URL for any image in your media library, with all the Cloudinary transformations, so you can \u003Cstrong>dynamically manipulate an image on the fly\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Attempts to automatically convert all image URLs on the front-end into a Cloudinary auto-upload URL, so you can \u003Cstrong>use Cloudinary as an image CDN\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>The magical function 🎩\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Ccode>cloudinary_url( $identifier, $args )\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This function returns a Cloudinary Auto Upload URL for an image. Please read the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FBest-Practices\" rel=\"nofollow ugc\">Best Practices\u003C\u002Fa> page before using this.\u003C\u002Fp>\n\u003Ch4>Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>identifier\u003C\u002Fstrong> (integer\u002Fstring)(required) : Either the ID of the attachment, or a full image URL.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>args\u003C\u002Fstrong> (array)(optional) : Arguments to manipulate the image.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Return Value\u003C\u002Fh4>\n\u003Cp>Returns a URL (string):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>'https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fyour-image.jpg'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Arguments\u003C\u002Fh4>\n\u003Cp>You can optionally send an array of arguments which can transform the image, and set a dynamic file name. Ex:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'transform' => array( \u002F\u002F Optional. All transformations go here.\n        'width'   => 300,\n        'height'  => 200,\n        'crop'    => 'fill',\n        'quality' => '80',\n        'gravity' => 'face',\n    ),\n    'file_name' => 'whatever-file-name-you-want', \u002F\u002F Optional. If you want to use a dynamic file name for SEO. Don't use the file extension!\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Here’s a \u003Ca href=\"https:\u002F\u002Fcloudinary.com\u002Fdocumentation\u002Fimage_transformations\" rel=\"nofollow ugc\">full list of transformations\u003C\u002Fa> you can achieve with Cloudinary.\u003C\u002Fp>\n\u003Ch3>Examples\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>\u003C?php\n$url_1 = cloudinary_url( 123, array(\n    'transform' => array(\n        'width'   => 300,\n        'height'  => 200,\n        'crop'    => 'fill',\n        'quality' => '80',\n        'gravity' => 'face',\n    ),\n    'file_name' => 'dynamic-file-name',\n) );\n\n$url_2 = cloudinary_url( 'https:\u002F\u002Fwww.yourwebsite.com\u002Fwp-content\u002Fuploads\u002F2017\u002F12\u002Fmy-image.jpg', array(\n    'transform' => array(\n        'width'   => 100,\n        'height'  => 100,\n    ),\n) );\n\n\u002F\u002F $url_1 : https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fimages\u002Fw_300,h_200,c_fill,q_80,g_face\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fmy-image\u002Fdynamic-file-name.jpg\n\u002F\u002F $url_2 : https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fw_100,h_100\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fmy-image.jpg\n?>\n\n\u003Cimg src=\"\u003C?php echo esc_url( $url_1 ); ?>\" width=\"300\" height=\"200\" alt=\"\">\n\u003Cimg src=\"\u003C?php echo esc_url( $url_2 ); ?>\" width=\"100\" height=\"100\" alt=\"\">\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Super simple Cloudinary auto-upload implementation for WordPress.",200,32236,88,14,"2025-09-19T11:42:00.000Z","4.4",[76,77,21,78,55],"cdn","cloudinary","image-manipulation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-cloudinary.1.3.1.zip",{"slug":82,"name":83,"version":41,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":69,"downloaded":88,"rating":13,"num_ratings":14,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":79,"tags":92,"homepage":95,"download_link":96,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"dynamic-image-resizer","Dynamic Image Resizer","Samuel Wood (Otto)","https:\u002F\u002Fprofiles.wordpress.org\u002Fotto42\u002F","\u003Cp>Normally when you upload an image to a WordPress site, it creates several differently sized versions of the image automatically. Themes can define custom image sizes as well, increasing the amount of images generated on your server.\u003C\u002Fp>\n\u003Cp>This plugin changes the way WordPress creates images to make it generate the images only when they are actually used somewhere, on the fly. Images created thusly will be saved in the normal upload directories, for later fast sending by the webserver. The result is that space is saved (since images are only created when needed), and uploading images is much faster (since it’s not generating the images on upload anymore).\u003C\u002Fp>\n\u003Cp>“Pretty” permalinks must be enabled for this plugin to function.\u003C\u002Fp>\n\u003Cp>Note: This plugin does not work on multisite setups, due to the way WordPress handles file serving in such situations (with ms-files.php).\u003C\u002Fp>\n\u003Cp>Want regular updates? Become a fan of my sites on Facebook!\u003Cbr \u002F>\nhttp:\u002F\u002Fwww.facebook.com\u002Fapps\u002Fapplication.php?id=116002660893\u003Cbr \u002F>\nhttp:\u002F\u002Fwww.facebook.com\u002Fottopress\u003C\u002Fp>\n\u003Cp>Or follow my sites on Twitter!\u003Cbr \u002F>\nhttp:\u002F\u002Ftwitter.com\u002Fottodestruct\u003C\u002Fp>\n","Make your images change sizes dynamically.",15666,"2012-04-30T15:30:00.000Z","3.2.1","3.2",[20,22,23,93,94],"resizer","uploader","http:\u002F\u002Fottopress.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdynamic-image-resizer.zip",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":13,"downloaded":105,"rating":28,"num_ratings":28,"last_updated":106,"tested_up_to":50,"requires_at_least":107,"requires_php":52,"tags":108,"homepage":111,"download_link":112,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"image-format-converter","Image Format Converter","1.0.1","Sadat Himel","https:\u002F\u002Fprofiles.wordpress.org\u002Fsadathimel\u002F","\u003Cp>Image Format Converter allows administrators to convert images in the WordPress Media Library between JPG\u002FJPEG, PNG, WebP, and AVIF formats. Using server-side PHP libraries (GD or Imagick), it ensures high-quality conversions with minimal file size. Converted images are saved to the uploads folder and optionally added to the Media Library.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Select images via the WordPress media uploader.\u003Cbr \u002F>\n– Choose target format (JPG, PNG, WebP, AVIF).\u003Cbr \u002F>\n– Configure quality\u002Fcompression and Media Library integration via a “Conversion Settings” button (admin-only).\u003Cbr \u002F>\n– View server library status (GD\u002FImagick\u002FWebP\u002FAVIF) with a “How to Enable GD and Imagick” button for setup instructions.\u003Cbr \u002F>\n– Modern, clean interface inspired by professional design standards (e.g., TinyJPG-like cards and buttons).\u003Cbr \u002F>\n– Secure, efficient, and admin-only (no frontend features).\u003C\u002Fp>\n\u003Cp>Access all features on \u003Cstrong>Media > Image Converter\u003C\u002Fstrong>, with collapsible settings and instructions.\u003C\u002Fp>\n","Convert images between JPG, PNG, WebP, and AVIF in WordPress admin with a modern UI. Requires GD or Imagick.",450,"2025-10-14T17:55:00.000Z","5.0",[109,110,23,24,58],"avif","image-converter","https:\u002F\u002Fgithub.com\u002Fsadathimel\u002Fimage-format-converter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimage-format-converter.1.0.1.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":28,"num_ratings":28,"last_updated":123,"tested_up_to":124,"requires_at_least":125,"requires_php":79,"tags":126,"homepage":129,"download_link":130,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"flickr-photo-post","Flickr Photo Post","1.2.3","msoftware","https:\u002F\u002Fprofiles.wordpress.org\u002Fmsoftware\u002F","\u003Cp>The Flickr WordPress Plugin works with jQuery and makes it easy to you, to add Flickr images to your WordPress posts or pages.  Some flickr users offer their images under a Creative Commons license, so that they can be freely included in your blog posts without any copyright problems.\u003C\u002Fp>\n\u003Cp>The  Ajax powered search box enables you to search for Flickr photos by matching your keyword.  From the preview thumbshots you can chose your image by clicking it.\u003C\u002Fp>\n\u003Cp>Once you have the photo selected, choose the size you want add in your blog post or select a rectangle from the image to crop a part of the photo.\u003C\u002Fp>\n\u003Cp>Now you can click “Insert into Post” and the selected Photo will be added to your blog post including the required Copyright note and a nofollow image link to the author’s flickr page.\u003C\u002Fp>\n\u003Cp>When adding the image in your blog post, you can select the image alignment as none, right, left, or center in the Flickr Media Panel\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Use 100 million free images from flickr\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Full text flickr search box\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The Local Image Cache provides an immediate performance benefit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Nofollow link to the author’s flickr site included\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Nice full featured, Ajax powered interface\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Support for WordPress Image-Caption code\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>High usability by use of easy interaction components\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select image size from 100 to 640 pixel on the longest side.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can crop a photo if you need only a rectangular part of the image\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Multilanguage I18n:  English and German Language Support\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","The Flickr Wordpress Plugin allows you to add flickr images to your wordpress posts incl. a simple crop function.",50,15909,"2011-09-23T06:25:00.000Z","3.1.4","2.8",[127,22,23,128,24],"flickr","photo","http:\u002F\u002Fwww.m-software.de\u002Fflickr-photo-post","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflickr-photo-post.1.2.3.zip",{"attackSurface":132,"codeSignals":338,"taintFlows":474,"riskAssessment":509,"analyzedAt":519},{"hooks":133,"ajaxHandlers":334,"restRoutes":335,"shortcodes":336,"cronEvents":337,"entryPointCount":28,"unprotectedCount":28},[134,140,145,149,153,156,160,163,168,172,176,178,181,183,187,190,195,199,203,207,210,214,219,220,224,228,232,234,237,240,244,247,251,254,258,261,265,267,269,273,275,280,284,288,291,294,296,300,303,305,308,310,313,316,321,324,327,329,331],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","after_setup_theme","closure","app\\actions\\after-setup-theme.php",11,{"type":141,"name":142,"callback":137,"priority":143,"file":144,"line":11},"filter","media_send_to_editor",9,"app\\actions\\media-send-to-editor.php",{"type":135,"name":146,"callback":137,"file":147,"line":148},"template_redirect","app\\actions\\template-redirect.php",18,{"type":135,"name":150,"callback":137,"priority":11,"file":151,"line":152},"upgrader_process_complete","app\\actions\\upgrader-process-complete.php",8,{"type":141,"name":154,"callback":137,"priority":143,"file":155,"line":48},"wp_get_attachment_image_src","app\\actions\\wp-get-attachment-src.php",{"type":135,"name":157,"callback":137,"file":158,"line":159},"plugins_loaded","app\\bootstrap.php",22,{"type":141,"name":161,"callback":137,"file":158,"line":162},"wp_image_editors",77,{"type":141,"name":164,"callback":165,"file":166,"line":167},"pre_set_site_transient_update_plugins","check_update","src\\Addon\\EddAddonUpdater.php",58,{"type":141,"name":169,"callback":170,"priority":11,"file":166,"line":171},"plugins_api","plugins_api_filter",59,{"type":135,"name":173,"callback":174,"file":166,"line":175},"admin_init","show_changelog",62,{"type":141,"name":164,"callback":165,"file":166,"line":177},201,{"type":135,"name":173,"callback":179,"file":180,"line":167},"addField","src\\Admin\\AbstractOption.php",{"type":135,"name":173,"callback":182,"file":180,"line":171},"registerSetting",{"type":135,"name":173,"callback":184,"file":185,"line":186},"addSection","src\\Admin\\AbstractOptionsSection.php",54,{"type":135,"name":173,"callback":137,"file":188,"line":189},"src\\Admin\\Cache\\PathField.php",103,{"type":135,"name":191,"callback":192,"file":193,"line":194},"admin_enqueue_scripts","enqueueAssets","src\\Admin\\Cache\\PurgeSingle.php",28,{"type":135,"name":196,"callback":197,"file":193,"line":198},"delete_attachment","purge",31,{"type":141,"name":200,"callback":201,"priority":11,"file":193,"line":202},"media_row_actions","addRowAction",33,{"type":141,"name":204,"callback":205,"priority":11,"file":193,"line":206},"attachment_fields_to_edit","addAttachmentAction",34,{"type":135,"name":173,"callback":208,"file":209,"line":167},"checkUpdates","src\\Admin\\Licenses\\LicenseField.php",{"type":141,"name":211,"callback":137,"file":212,"line":213},"resizefly\u002Fadmin\u002Fsections","src\\Admin\\Licenses\\LicensesSection.php",29,{"type":135,"name":215,"callback":216,"file":217,"line":218},"admin_menu","addPage","src\\Admin\\OptionsPage.php",61,{"type":135,"name":191,"callback":192,"file":217,"line":175},{"type":135,"name":136,"callback":221,"priority":139,"file":222,"line":223},"updateImageSizes","src\\Admin\\Sizes\\SizesField.php",83,{"type":135,"name":225,"callback":226,"file":222,"line":227},"admin_notices","adminSyncNotice",90,{"type":135,"name":229,"callback":230,"file":222,"line":231},"after_switch_theme","imageSizesSynced",93,{"type":135,"name":150,"callback":230,"file":222,"line":233},94,{"type":135,"name":235,"callback":230,"file":222,"line":236},"activated_plugin",95,{"type":135,"name":238,"callback":230,"file":222,"line":239},"deactivated_plugin",96,{"type":135,"name":241,"callback":137,"file":242,"line":243},"wp_handle_replace","src\\Compatibles\\EnableMediaReplace.php",17,{"type":135,"name":245,"callback":137,"file":242,"line":246},"wp_handle_upload",21,{"type":141,"name":248,"callback":137,"priority":11,"file":249,"line":250},"wpml_get_home_url","src\\Compatibles\\WPML.php",15,{"type":141,"name":252,"callback":137,"file":249,"line":253},"resizefly\u002Fhome_url",16,{"type":141,"name":255,"callback":256,"priority":139,"file":257,"line":175},"wp_generate_attachment_metadata","generateMeta","src\\Upload\\DuplicateOriginal.php",{"type":135,"name":196,"callback":259,"file":257,"line":260},"delete",65,{"type":141,"name":262,"callback":263,"priority":13,"file":257,"line":264},"big_image_size_threshold","__return_false",125,{"type":135,"name":173,"callback":137,"file":257,"line":266},217,{"type":135,"name":225,"callback":137,"file":257,"line":268},219,{"type":141,"name":270,"callback":271,"file":272,"line":202},"intermediate_image_sizes_advanced","getRegisteredImageSizes","src\\Upload\\Fake.php",{"type":141,"name":255,"callback":274,"file":272,"line":206},"fakeImageResize",{"type":141,"name":276,"callback":277,"file":278,"line":279},"resizefly\u002Ffilter\u002Furl","imageUrl","src\\Upload\\Filter.php",51,{"type":141,"name":281,"callback":282,"file":278,"line":283},"resizefly\u002Ffilter\u002Fadd_cache","addCache",52,{"type":141,"name":285,"callback":286,"file":278,"line":287},"resizefly\u002Ffilter\u002Fmetadata_file","wpFileName",53,{"type":141,"name":289,"callback":290,"file":278,"line":186},"resizefly\u002Ffilter\u002Fmetadata_basename","wpBaseName",{"type":141,"name":292,"callback":137,"priority":121,"file":278,"line":293},"wp_prepare_attachment_for_js",57,{"type":141,"name":154,"callback":137,"file":278,"line":295},68,{"type":141,"name":297,"callback":298,"file":278,"line":299},"the_content","urlInHtml",75,{"type":141,"name":301,"callback":298,"file":278,"line":302},"post_thumbnail_html",76,{"type":141,"name":304,"callback":298,"file":278,"line":162},"get_header_image_tag",{"type":141,"name":306,"callback":298,"file":278,"line":307},"admin_post_thumbnail_html",78,{"type":141,"name":142,"callback":298,"file":278,"line":309},81,{"type":141,"name":311,"callback":298,"file":278,"line":312},"content_edit_pre",82,{"type":141,"name":314,"callback":315,"file":278,"line":223},"content_save_pre","revertOriginalContent",{"type":141,"name":317,"callback":318,"file":319,"line":320},"upload_dir","resolvePath","src\\Upload\\Uploads.php",26,{"type":141,"name":317,"callback":322,"file":319,"line":323},"resolveUrl",27,{"type":135,"name":225,"callback":325,"file":326,"line":202},"notice","version-check.php",{"type":135,"name":157,"callback":328,"file":326,"line":206},"deactivate",{"type":135,"name":173,"callback":328,"file":326,"line":330},35,{"type":135,"name":332,"callback":328,"file":326,"line":333},"init",36,[],[],[],[],{"dangerousFunctions":339,"sqlUsage":340,"outputEscaping":347,"fileOperations":11,"externalRequests":48,"nonceChecks":14,"capabilityChecks":386,"bundledLibraries":473},[],{"prepared":28,"raw":341,"locations":342},1,[343],{"file":344,"line":345,"context":346},"uninstall.php",24,"$wpdb->get_col() with variable interpolation",{"escaped":348,"rawEcho":349,"locations":350},19,80,[351,354,356,358,360,362,363,365,367,369,371,373,375,376,378,379,381,382,385,387,390,391,392,393,395,396,397,399,400,401,402,403,404,405,406,408,409,410,411,413,414,415,417,418,420,421,422,423,425,426,427,428,430,431,432,433,434,436,437,439,441,442,443,445,446,448,449,451,452,454,456,457,459,461,462,464,466,468,470,471],{"file":166,"line":352,"context":353},207,"raw output",{"file":166,"line":355,"context":353},388,{"file":222,"line":357,"context":353},243,{"file":359,"line":11,"context":353},"views\\field\\partials\\sizes\\add-new-form.php",{"file":359,"line":361,"context":353},13,{"file":359,"line":320,"context":353},{"file":359,"line":364,"context":353},39,{"file":359,"line":366,"context":353},43,{"file":359,"line":368,"context":353},44,{"file":359,"line":370,"context":353},45,{"file":359,"line":372,"context":353},48,{"file":359,"line":374,"context":353},49,{"file":359,"line":121,"context":353},{"file":359,"line":377,"context":353},56,{"file":359,"line":260,"context":353},{"file":359,"line":380,"context":353},66,{"file":359,"line":295,"context":353},{"file":383,"line":384,"context":353},"views\\field\\partials\\sizes\\legend.php",4,{"file":383,"line":386,"context":353},6,{"file":388,"line":389,"context":353},"views\\field\\resizefly-addon-license.php",12,{"file":388,"line":361,"context":353},{"file":388,"line":250,"context":353},{"file":388,"line":348,"context":353},{"file":394,"line":389,"context":353},"views\\field\\resizefly-purge-cache.php",{"file":394,"line":72,"context":353},{"file":394,"line":253,"context":353},{"file":394,"line":398,"context":353},20,{"file":394,"line":246,"context":353},{"file":394,"line":246,"context":353},{"file":394,"line":159,"context":353},{"file":394,"line":320,"context":353},{"file":394,"line":194,"context":353},{"file":394,"line":194,"context":353},{"file":394,"line":213,"context":353},{"file":407,"line":250,"context":353},"views\\field\\resizefly-remove-resized.php",{"file":407,"line":148,"context":353},{"file":407,"line":148,"context":353},{"file":407,"line":148,"context":353},{"file":412,"line":11,"context":353},"views\\field\\resizefly-resized-path.php",{"file":412,"line":11,"context":353},{"file":412,"line":11,"context":353},{"file":416,"line":389,"context":353},"views\\field\\resizefly-restrict-sizes.php",{"file":416,"line":389,"context":353},{"file":419,"line":348,"context":353},"views\\field\\resizefly-sizes.php",{"file":419,"line":398,"context":353},{"file":419,"line":246,"context":353},{"file":419,"line":159,"context":353},{"file":419,"line":424,"context":353},23,{"file":419,"line":345,"context":353},{"file":419,"line":34,"context":353},{"file":419,"line":198,"context":353},{"file":419,"line":429,"context":353},32,{"file":419,"line":202,"context":353},{"file":419,"line":206,"context":353},{"file":419,"line":330,"context":353},{"file":419,"line":186,"context":353},{"file":419,"line":435,"context":353},55,{"file":419,"line":293,"context":353},{"file":419,"line":438,"context":353},64,{"file":419,"line":440,"context":353},69,{"file":419,"line":162,"context":353},{"file":419,"line":307,"context":353},{"file":419,"line":444,"context":353},79,{"file":419,"line":309,"context":353},{"file":419,"line":447,"context":353},89,{"file":419,"line":227,"context":353},{"file":419,"line":450,"context":353},91,{"file":419,"line":231,"context":353},{"file":419,"line":453,"context":353},98,{"file":419,"line":455,"context":353},101,{"file":419,"line":455,"context":353},{"file":419,"line":458,"context":353},105,{"file":419,"line":460,"context":353},107,{"file":419,"line":460,"context":353},{"file":419,"line":463,"context":353},123,{"file":419,"line":465,"context":353},124,{"file":419,"line":467,"context":353},128,{"file":469,"line":148,"context":353},"views\\page\\resizefly.php",{"file":469,"line":398,"context":353},{"file":472,"line":143,"context":353},"views\\section\\resizefly-cache.php",[],[475,499],{"entryPoint":476,"graph":477,"unsanitizedCount":341,"severity":498},"show_changelog (src\\Addon\\EddAddonUpdater.php:329)",{"nodes":478,"edges":494},[479,484,488],{"id":480,"type":481,"label":482,"file":166,"line":483},"n0","source","$_REQUEST",384,{"id":485,"type":486,"label":487,"file":166,"line":483},"n1","transform","→ set_version_info_cache()",{"id":489,"type":490,"label":491,"file":166,"line":492,"wp_function":493},"n2","sink","update_option() [Settings Manipulation]",141,"update_option",[495,497],{"from":480,"to":485,"sanitized":496},false,{"from":485,"to":489,"sanitized":496},"low",{"entryPoint":500,"graph":501,"unsanitizedCount":341,"severity":498},"\u003CEddAddonUpdater> (src\\Addon\\EddAddonUpdater.php:0)",{"nodes":502,"edges":506},[503,504,505],{"id":480,"type":481,"label":482,"file":166,"line":483},{"id":485,"type":486,"label":487,"file":166,"line":483},{"id":489,"type":490,"label":491,"file":166,"line":492,"wp_function":493},[507,508],{"from":480,"to":485,"sanitized":496},{"from":485,"to":489,"sanitized":496},{"summary":510,"deductions":511},"The \"resizefly\" v3.2.6 plugin exhibits a mixed security posture. On one hand, the static analysis shows a remarkably small attack surface with no apparent AJAX handlers, REST API routes, shortcodes, or cron events that are unprotected. This is a positive indicator of well-designed entry points.  Additionally, the plugin demonstrates good practice with a high number of nonce checks and capability checks, suggesting an effort to secure operations.  The complete absence of known CVEs is also a significant strength, implying a history of responsible development or a lack of past vulnerabilities.\n\nHowever, there are notable concerns within the code analysis. The single SQL query is not using prepared statements, posing a risk of SQL injection.  Furthermore, the exceptionally low percentage of properly escaped output (19%) is a significant weakness, creating a high likelihood of cross-site scripting (XSS) vulnerabilities.  The taint analysis also flagged two flows with unsanitized paths, even though they were not categorized as critical or high severity, they warrant attention.  The plugin also performs file operations and external HTTP requests, which are common areas for security vulnerabilities if not handled carefully.\n\nIn conclusion, while \"resizefly\" v3.2.6 benefits from a small, seemingly well-protected attack surface and a clean vulnerability history, the lack of prepared statements for its SQL query and the extremely poor output escaping practices introduce significant risks.  The presence of unsanitized paths in taint flows further reinforces the need for code review and sanitization.  The strengths in attack surface reduction and vulnerability history are overshadowed by the critical code-level weaknesses in SQL and output handling.",[512,515,517],{"reason":513,"points":514},"SQL queries not using prepared statements",7,{"reason":516,"points":250},"Low percentage of properly escaped output",{"reason":518,"points":386},"Unsanitized paths in taint analysis flows","2026-03-16T23:54:22.611Z",{"wat":521,"direct":533},{"assetPaths":522,"generatorPatterns":528,"scriptPaths":529,"versionParams":530},[523,524,525,526,527],"\u002Fwp-content\u002Fplugins\u002Fresizefly\u002Fjs\u002Fresizefly-purge-single.js","\u002Fwp-content\u002Fplugins\u002Fresizefly\u002Fjs\u002Fresizefly-purge-single.min.js","\u002Fwp-content\u002Fplugins\u002Fresizefly\u002Fjs\u002Fresizefly-admin.js","\u002Fwp-content\u002Fplugins\u002Fresizefly\u002Fjs\u002Fresizefly-admin.min.js","\u002Fwp-content\u002Fplugins\u002Fresizefly\u002Fcss\u002Fresizefly-admin.css",[],[523,524,525,526],[531,532],"resizefly\u002Fjs\u002Fresizefly-purge-single.","resizefly\u002Fjs\u002Fresizefly-admin.",{"cssClasses":534,"htmlComments":536,"htmlAttributes":537,"restEndpoints":540,"jsGlobals":541,"shortcodeOutput":542},[535],"rzf-purge-single",[],[538,539],"data-nonce","data-postid",[],[4],[]]