[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpfYxJLgA2PmKUvXclhaF3YTXKS72m6H9LpbNwpjbuHg":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":39,"analysis":141,"fingerprints":287},"replace-content-image-size","Replace Content Image Size","1.2.1","Pau Iglesias","https:\u002F\u002Fprofiles.wordpress.org\u002Fpauiglesias\u002F","\u003Cp>For each image uploaded WordPress generates several versions with different sizes. These images will be inserted\u003Cbr \u002F>\nin the post content using the visual editor selecting the right format size for the current theme, so that\u003Cbr \u002F>\nimages can be displayed correctly in the theme layout avoiding the overflow to the sidebars or another elements.\u003C\u002Fp>\n\u003Cp>These images are now part of the content, and are harcoded in posts independently to any change in the design\u003Cbr \u002F>\nor behavior of the blog.\u003C\u002Fp>\n\u003Cp>Therefore, when switching your theme to another theme smaller, or the new theme is very big respect the old\u003Cbr \u002F>\nlayout, may be these images do not fit perfectly with the new design.\u003C\u002Fp>\n\u003Cp>For these cases the purpose of this plugin is the searching in the post content of images with the old image sizes\u003Cbr \u002F>\n(that result bad sizes for the current theme) and replace it for the right image format: thumbnail, medium, large,\u003Cbr \u002F>\nfull or custom format size.\u003C\u002Fp>\n\u003Cp>The process is simple and consists of three steps. The first step is a form to introduce the width to find, or the\u003Cbr \u002F>\nperiod between two widths separated by an hyphen (-) with max 100 points of difference. Optionally you can enter\u003Cbr \u002F>\na custom post type, or leave blank for the ‘post’ post type.\u003C\u002Fp>\n\u003Cp>In the next step present the coincidence or multiple coincidences for each post, with the old html code in grey color,\u003Cbr \u002F>\nand in black the replacement, and also the new image is displayed. For each item there is a checkbox (by default checked)\u003Cbr \u002F>\nthat you can uncheck if the result is wrong or an exception.\u003C\u002Fp>\n\u003Cp>Finally, at the end of the list, a submit button can perform these changes. Before this final step, is advisable to\u003Cbr \u002F>\nbackup your posts table.\u003C\u002Fp>\n","Find images displayed in posts content and change the format size, very useful when you change the blog theme.",90,6978,92,9,"2015-08-31T10:48:00.000Z","4.3.34","3.3.2","",[20,21,22,23,24],"content","image","resize","size","sizes","http:\u002F\u002Fblogestudio.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freplace-content-image-size.1.2.1.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"pauiglesias",8,620,30,84,"2026-04-04T15:19:55.861Z",[40,60,85,105,122],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":28,"num_ratings":28,"last_updated":18,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":56,"download_link":57,"security_score":58,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":59},"choicecuts-image-juggler","ChoiceCuts Image Juggler","0.8.3.2, 12\u002F10\u002F2010","kestrel_id","https:\u002F\u002Fprofiles.wordpress.org\u002Fkestrel_id\u002F","\u003Cp>ChoiceCuts Image Juggler makes all image handling a piece of cake. Stripping images, resizing to Landscape, resizing to Portrait and creating Thumbnails are all handled. A couple of lightboxes can easily be slipped into the process so as present your images in their original glory. Using the new admin screen it is now very easy to activate site wide image juggling. There are several options to choose from.\u003C\u002Fp>\n\u003Cp>For WordPress users who are not afraid to do some template customisation, the library of functions is still available to do some great things with images, very simply.\u003C\u002Fp>\n\u003Cp>The core aim of this plugin is to make the life of someone who regularly uses WordPress a lot easier, in so far as to remove the need to do any image resizing while at the same time giving theme and template developers a tool to go way beyond the restricted, native image resize options of WordPress. Just upload post images at full size, anywhere within the content of your post, then the plugin will take care of everything else!\u003C\u002Fp>\n\u003Cp>The plugin uses the fantastic PHP Thumbnail library by http:\u002F\u002Fphpthumb.gxdlabs.com.\u003C\u002Fp>\n\u003Cp>Plug-in Homepage: www.workwithchoicecuts.com\u003C\u002Fp>\n\u003Ch3>Usage Exmaples\u003C\u002Fh3>\n\u003Cp>SHOW JUST THE FIRST IMAGE AS A LANDSCAPE BANNER\u003Cbr \u002F>\n– Get the first image from the current Post and output it as a 480px x 100 px and remove all other images from Post Content.\u003C\u002Fp>\n\u003Cp>\u003C\u003C php code start >>\u003Cbr \u002F>\n    the_post();\u003Cbr \u002F>\n    $postContent = get_the_content();\u003Cbr \u002F>\n    ccImj_firstLandscape( $postContent, 480, 100 );\u003Cbr \u002F>\n    echo ccImj_noImg( $postContent );\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>CREATE A THUMBNAIL FOR EACH OF 10 MOST RECENT POSTS IN THE BLOG CATEGORY\u003Cbr \u002F>\n– Get all posts from the ‘Blog’ category and output them as 60px square thumbnails, as well as the post title and post excerpt.\u003C\u002Fp>\n\u003Cp>\u003C\u003C php code start >>\u003Cbr \u002F>\n    query_posts( “category_name=Blog&showposts=10&orderby=date&order=DESC” );\u003Cbr \u002F>\n    while(have_posts()) {\u003Cbr \u002F>\n        the_post();\u003Cbr \u002F>\n        $postContent = get_the_content();\u003Cbr \u002F>\n        ccImj_firstThumb( $postContent, 60, get_permalink() );\u003Cbr \u002F>\n        the_title();\u003Cbr \u002F>\n        the_excerpt();\u003Cbr \u002F>\n    }\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Ch3>Full Plugin API\u003C\u002Fh3>\n\u003Cp>N.B. All functions are technical documented within the plugin code. Read through file cc_image_juggler.php within the plugin install folder for more information.\u003C\u002Fp>\n\u003Cp>\u002F\u002F ————————————————————————– IMAGE EXRACTION UTILITIES\u003C\u002Fp>\n\u003Cp>ccImj_getFirstImg\u003Cbr \u002F>\n– extract the first image from passed $content, return image file path only\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image = ccImj_getFirstImg( $postContent ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_getAllImg\u003Cbr \u002F>\n– extract all images from passed $content, returns a multi-dimensional array. The returned array contains an element for each image found. Within each element is an associative array as follows: [‘tag’] – full html img tag. [‘url’] – image file path only.\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $images = ccImj_getAllImg( $postContent ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_noImg\u003Cbr \u002F>\n– remove all images from the passed parameter, typically post content\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $contentWithoutImages = ccImj_noImg( $postContent ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>\u002F\u002F ————————————————————————– IMAGE MANIPULATION PREPARATION\u003C\u002Fp>\n\u003Cp>ccImj_resizeWidthURL\u003Cbr \u002F>\n– resize image to specified width, pass min_height to ensure consistent image dimensions. Return only the image resize URL, without embedding any HTML tags\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $resizeUrl = ccImj_resizeWidthURL( $img_path, 480, 120 ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_resizeHeightURL\u003Cbr \u002F>\n– resize image to specified height. Return only the image resize URL, without embedding any HTML tags\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $resizeUrl = ccImj_resizeHeightURL( $img_path, 300 ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_resizeWidth\u003Cbr \u002F>\n– resize image to specified width. Return full HTML IMG tag for resized image\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_resizeWidth( $img_path, 480, ‘class=”special-image-style” rel=”ajax-link-code-13″‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_resizeHeight\u003Cbr \u002F>\n– resize image to specified height. Return full HTML IMG tag for resized image\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_resizeHeight( $img_path, 300, ‘class=”special-image-style”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_cropLandscape\u003Cbr \u002F>\n– proportionally resize image to specified width, then crop excess height as required\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_cropLandscape( $img_path, 300, 240 ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_cropPortrait\u003Cbr \u002F>\n– proportionally resize image to specified height, then crop excess width as required\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_cropPortrait( $img_path, 300, 240, ‘class=”special-image-style” alt=”Your Blog”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_cropSquareCtr\u003Cbr \u002F>\n– resize image to specified size, then crop a square from the centre\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_cropSquareCtr( $img_path, 60, ‘class=”special-image-style”‘ )\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>\u002F\u002F ————————————————————————– ‘GET FIRST’ FUNCTIONS\u003C\u002Fp>\n\u003Cp>ccImj_firstLandscape\u003Cbr \u002F>\n– extract the first image from the passed content, resize image to specified width, crop the excess if required and wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    ccImj_firstLandscape( $postContent, 480, TRUE, FALSE, ‘class=”special-image-style”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_firstPortrait\u003Cbr \u002F>\n– extract the first image from the passed content, resize image to specified height, crop the excess if required and wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    ccImj_firstPortrait( $postContent, 600, TRUE, FALSE, ‘class=”special-image-style”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_firstThumb\u003Cbr \u002F>\n– extract the first image from the passed content, then crop a square from the centre and wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $image_html = ccImj_firstThumb( $content, 130, FALSE, TRUE, ‘class=”thumbnail-image-style”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>\u002F\u002F ————————————————————————– RESIZE & CROP PASSED IMAGE FUNCTIONS\u003C\u002Fp>\n\u003Cp>ccImj_linkedLandscape\u003Cbr \u002F>\n– resize image to specified width and height, then wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    ccImj_linkedLandscape( $img_path, 600, 200, FALSE, FALSE, ‘class=”mega-banner”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_linkedPortrait\u003Cbr \u002F>\n– resize image to specified height and width, then wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    $your_variable = ccImj_linkedPortrait( $img_path, 400, 180, TRUE, TRUE, ‘class=”thumbnail-image-style”‘ ); ?>\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>ccImj_linkedThumb\u003Cbr \u002F>\n– resize image to specified size, then crop a square from the centre and wrap it in a hyperlink if desired\u003Cbr \u002F>\n\u003C\u003C php code start >>\u003Cbr \u002F>\n    ccImj_linkedThumb( $img_path, 200, ‘http:\u002F\u002Fwww.workwithchoicecuts.com’, FALSE, ‘class=”thumbnail-image-style”‘ )\u003Cbr \u002F>\n\u003C\u003C php code end >>\u003C\u002Fp>\n\u003Cp>\u002F\u002F ————————————————————————– FILTER ALL FUNCTIONS\u003C\u002Fp>\n\u003Cp>ccImj_flexiWidth\u003Cbr \u002F>\n– resize all images, to be within specified width sizes, in every post. if image is larger than max_width resize and present original via lightbox, or if smaller than min_width resize up to min_width.\u003Cbr \u002F>\n** To use this function edit the constant ‘FILTER_FLEXI_WIDTH’ value to be TRUE. Find this at the top of the plugin code.\u003C\u002Fp>\n\u003Cp>ccImj_allWidth\u003Cbr \u002F>\n– resize all images, to specified width, and wrap it in a hyperlink if desired\u003Cbr \u002F>\n** To use this function edit the constant ‘FILTER_ALL_WIDTH’ value to be TRUE. Find this at the top of the plugin code.\u003C\u002Fp>\n\u003Cp>ccImj_allCrop\u003Cbr \u002F>\n– resize all images, to specified square thumbnail size,  in every post to specified height and wrap it in a hyperlink if desired\u003Cbr \u002F>\n** To use this function edit the constant ‘FILTER_ALL_CROP’ value to be TRUE. Find this at the top of the plugin code.\u003C\u002Fp>\n","ChoiceCuts Image Juggler resizes images, generates thumbnails, adds lightboxes and enhances image presentation in WordPress.",10,6289,"3.0.5","2.5",[20,53,54,55,22],"extraction","images","posts","http:\u002F\u002Fwww.workwithchoicecuts.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchoicecuts-image-juggler.zip",100,"2026-03-15T10:48:56.248Z",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":11,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":80,"download_link":81,"security_score":82,"vuln_count":83,"unpatched_count":28,"last_vuln_date":84,"fetched_at":30},"shortpixel-image-optimiser","ShortPixel Image Optimizer – Optimize Images, Convert WebP & AVIF","6.4.3","ShortPixel","https:\u002F\u002Fprofiles.wordpress.org\u002Fshortpixel\u002F","\u003Ch3>🚀 The Ultimate Image Optimization Plugin for WordPress\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>⚡ Boost your site’s speed instantly! Optimize images and PDFs with one click, bulk compress to WebP and AVIF, use lazy loading, and resize images.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Increase your website’s SEO ranking, number of visitors, and ultimately your sales by optimising any image or PDF document on your website.\u003C\u002Fp>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fshortpixel.com\" rel=\"nofollow ugc\">ShortPixel\u003C\u002Fa> plugin is a lightweight, user-friendly, install-and-forget solution for image optimization.\u003Cbr \u002F>\nIt is designed to work with any website type, whether it’s a small blog or a large WooCommerce-powered online store with tens of thousands of products.\u003Cbr \u002F>\nAdditionally, it’s an excellent choice for agencies, offering unlimited image optimization credits for a flat monthly fee.\u003C\u002Fp>\n\u003Ch4>🎬 Ready for a Quick DEMO of our Top Image Optimization Tool?\u003C\u002Fh4>\n\u003Cp>Test our plugin \u003Ca href=\"https:\u002F\u002Fdemo.tastewp.com\u002Fshortpixel-image-optimiser\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003Cbr \u002F>\nMake an instant \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fimage-compression-test\" rel=\"nofollow ugc\">image compression test\u003C\u002Fa> of your site or \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fonline-image-compression\" rel=\"nofollow ugc\">compress some images\u003C\u002Fa> to test our optimization algorithms.\u003C\u002Fp>\n\u003Ch3>💡 Why is ShortPixel the best choice for image optimization or PDF compression?\u003C\u002Fh3>\n\u003Ch3>🆕 New! Brand new AI features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>AI Image Upscale (2x, 3x, 4x) – Upscale smaller images with high-quality AI upscaling, perfect for retina displays and crisp visuals.\u003C\u002Fli>\n\u003Cli>AI Background Removal – Instantly remove background from your images with one click, ideal for creating clean product photos. After the background is removed, your image can have a transparent background or be filled with a single solid color.\u003C\u002Fli>\n\u003Cli>AI Image Titles – In addition to ALT text, captions, and descriptions, you can now generate smart image titles using AI for better SEO.\u003C\u002Fli>\n\u003Cli>Bulk Remove AI Data – Easily clear all AI-generated image SEO data in one go.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🆕 New! Freshly added AI Image SEO features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>AI-powered image SEO – Automatically generate ALT text, captions, and image descriptions for all your images.\u003C\u002Fli>\n\u003Cli>Bulk mode – Mass-generate and update details for all your images.\u003C\u002Fli>\n\u003Cli>Preview mode – Test and fine-tune AI results before applying new ALT texts and descriptions in bulk.\u003C\u002Fli>\n\u003Cli>Multilingual – Support for 100+ languages.\u003C\u002Fli>\n\u003Cli>WooCommerce – Seamless support for WooCommerce product images.\u003C\u002Fli>\n\u003Cli>Unlimited credits – AI-generate image titles, captions, and more with our Unlimited plan.\u003C\u002Fli>\n\u003Cli>Accessibility – Improve website accessibility by generating all the necessary metadata for each image.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Freshly added features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Compress WebP images – ShortPixel now also \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fblog\u002Fintroducing-smartcompress\u002F\" rel=\"nofollow ugc\">smartly compresses\u003C\u002Fa> all your existing WebP images.\u003C\u002Fli>\n\u003Cli>Added support for serving CSS, JS and fonts from our global CDN.\u003C\u002Fli>\n\u003Cli>Save & Restore option for all settings – ideal for agencies and users managing multiple websites.\u003C\u002Fli>\n\u003Cli>Decide whether AI bots can use your images for machine learning (ML) training, or \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fblog\u002Fprevent-ai-data-mining-on-images\u002F\" rel=\"nofollow ugc\">block them entirely\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>You can now exclude images from optimization based on their upload date, perfect for skipping older or already optimized media.\u003C\u002Fli>\n\u003Cli>Filter and select images in bulk using date-based criteria, giving you precise control over what gets optimized and when.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌍 Faster Websites for Global Audiences\u003C\u002Fh3>\n\u003Cp>The ShortPixel plugin now includes a built-in global Content Delivery Network (CDN). This powerful feature ensures that ShortPixel-optimized WebP and AVIF images, as well as your website’s CSS and JavaScript files, are delivered quickly and efficiently to any location worldwide, minimizing delays and improving load times.\u003C\u002Fp>\n\u003Cp>By leveraging this built-in solution, you enhance the user experience, reduce server strain, boost SEO performance, and simplify website management — all with minimal effort.\u003C\u002Fp>\n\u003Ch3>📸 Resize and Compress Images Without Losing Quality\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Popular plugin with over 300,000 active installations – according to WordPress\u003C\u002Fli>\n\u003Cli>Compress JPG (and its variations: JPEG, JPEG 2000, JPEG XR), PNG, GIF (still or animated) images, and also PDF documents.\u003C\u002Fli>\n\u003Cli>Option to automatically convert PNG to JPG if that results in smaller images (ideal for large PNG pictures).\u003C\u002Fli>\n\u003Cli>CMYK to RGB conversion.\u003C\u002Fli>\n\u003Cli>Progressive JPEG is used whenever it leads to a smaller image.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌟 Lossy and Lossless image compression\u003C\u002Fh3>\n\u003Cp>Both \u003Cstrong>Lossy and Lossless image compression\u003C\u002Fstrong> are available for the most common image types (JPG, PNG, GIF, WebP, and AVIF) plus PDF files.\u003Cbr \u002F>\nWe also offer \u003Cstrong>Glossy\u003C\u002Fstrong> JPEG compression which is a very high-quality lossy optimization algorithm. Especially designed for photographers or for high-quality product pictures.\u003Cbr \u002F>\nOptimized images lead to a better user experience, improved PageSpeed Insights or GTmetrix results, higher Google PageRank, and more visitors.\u003C\u002Fp>\n\u003Ch3>🔄 Convert WebP and AVIF Formats\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Option to automatically convert JPEG, PNG, or GIF to WebP and AVIF for better performance and improved Google ranking.\u003C\u002Fli>\n\u003Cli>Automatically optimize your existing WebP files with ShortPixel’s SmartCompress algorithm.\u003C\u002Fli>\n\u003Cli>Animated GIFs can be automatically converted to much smaller animated WebP or AVIF files.\u003C\u002Fli>\n\u003Cli>Option to include next-gen images (WebP and AVIF) in front-end pages with a single click using the  tag.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📦 Bulk Image Optimization and Background Image Processing\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>New! With ‘Background mode,’ images can now be optimized without needing to keep a browser tab open.\u003C\u002Fli>\n\u003Cli>Easily add recurring cron jobs for background optimization, ideal for sites where users upload images via the front end.\u003C\u002Fli>\n\u003Cli>Bulk-optimize all images in the Media Library or any gallery with a single click.\u003C\u002Fli>\n\u003Cli>Full WP-CLI support for background processing, especially useful for large Media Libraries.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔥 Performance and Automatic Image Optimization\u003C\u002Fh3>\n\u003Cp>ShortPixel uses minimal resources and works well with any shared, cloud, VPS, or dedicated web hosting. It can optimize any image on your website, including those not listed in the Media Library, such as images in galleries or those added directly via FTP.\u003Cbr \u002F>\nAll optimization is performed using ShortPixel’s Image Optimization Cloud, so your hosting resources remain unaffected.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>New! Automatic scan of Custom media folders for new images using cron jobs.\u003C\u002Fli>\n\u003Cli>Skip already optimized images to avoid redundant processing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🎨 Compatibility with Popular Themes, Page Builders, and Media Library Plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Works great for eCommerce websites using WooCommerce and other plugins.\u003C\u002Fli>\n\u003Cli>Compatible with NextGEN Gallery, Modula, Foo Gallery, and other galleries or sliders.\u003C\u002Fli>\n\u003Cli>Fully compatible with WP Retina 2x, including automatic compression of retina images.\u003C\u002Fli>\n\u003Cli>Works seamlessly with WordPress multisite installs (sub-folders or sub-domains) using a single API key.\u003C\u002Fli>\n\u003Cli>Compatible with WPML and WPML Media plugins.\u003C\u002Fli>\n\u003Cli>Fully compatible with WP Offload Media plugin.\u003C\u002Fli>\n\u003Cli>Supports both HTTPS and HTTP websites.\u003C\u002Fli>\n\u003Cli>Compatible with virtually all hosting providers.\u003C\u002Fli>\n\u003Cli>Integrates with Gravity Forms’ post_image field type to optimize images upon upload.\u003C\u002Fli>\n\u003Cli>Works with watermarking plugins.\u003C\u002Fli>\n\u003Cli>Integrates directly with Cloudflare via a Cloudflare Token, automatically synchronizing updates with Cloudflare cache.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New! HEIC file support\u003C\u002Fstrong>\u003Cbr \u002F>\nWith ShortPixel, you can now add images in Apple’s HEIC format directly from your iPhone. They will be automatically converted to JPG and optimized according to your settings. Easy!\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fknowledge-base\u002Farticle\u002Fheic-apple-images-support-in-shortpixel-image-optimizer\u002F\" rel=\"nofollow ugc\">Read more\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔧 Advanced Image Optimization Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>NEW Smart Cropping: Generate \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fknowledge-base\u002Farticle\u002Fwhat-is-smart-cropping\u002F\" rel=\"nofollow ugc\">subject-centered\u003C\u002Fa> thumbnails using AI, ideal for eCommerce websites.\u003C\u002Fli>\n\u003Cli>Optimize thumbnails and featured images, with options to exclude individual thumbnails from optimization.\u003C\u002Fli>\n\u003Cli>Advanced exclusion options (exclude images based on filename, path, size, or complex regex).\u003C\u002Fli>\n\u003Cli>Ability to optimize any image, including those in NextGEN Gallery and other image galleries or sliders.\u003C\u002Fli>\n\u003Cli>Option to scale images down, with two automatic resizing options for large images (applicable to featured images).\u003C\u002Fli>\n\u003Cli>Option to deactivate auto-optimization of images on upload.\u003C\u002Fli>\n\u003Cli>Keep or remove EXIF data from images, which is especially useful for photographers or for enhanced privacy.\u003C\u002Fli>\n\u003Cli>Easily test lossy, glossy, or lossless versions of images with a single click in the Media Library.\u003C\u002Fli>\n\u003Cli>100MB filesize limit\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🛡️ Backup and Safety\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Safe to test and use: original images are backed up locally and can be restored with a single click (either individually or in bulk).\u003C\u002Fli>\n\u003Cli>No credits are used for images optimized by less than 5%\u003C\u002Fli>\n\u003Cli>Save & Restore option for all settings – ideal for agencies and users managing multiple websites.\u003C\u002Fli>\n\u003Cli>Decide whether AI bots can use your images for machine learning (ML) training, or block them entirely\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📊 Reporting, Analytics, Compliance and Customer Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>30-day optimization report with detailed image statistics and overall site performance improvements.\u003C\u002Fli>\n\u003Cli>24\u002F7 stellar support.\u003C\u002Fli>\n\u003Cli>We are fully GDPR compliant.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>🚀 \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fpricing\" rel=\"nofollow ugc\">New Plan: ShortPixel Unlimited\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nThis is the ideal monthly plan for web agencies or website owners with multiple sites and frequent image uploads.\u003Cbr \u002F>\nIt allows you to optimize an unlimited number of images with ShortPixel Image Optimizer or use \u003Ca href=\"\u002F\u002Fwordpress.org\u002Fplugins\u002Fshortpixel-adaptive-images\u002F”\" rel=\"nofollow ugc\">ShortPixel Adaptive Images\u003C\u002Fa> without worrying about CDN traffic limits.\u003Cbr \u002F>\nRead more details on our \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fknowledge-base\u002Farticle\u002Fhow-does-the-unlimited-plan-work\u002F\" rel=\"nofollow ugc\">dedicated page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>free optimization credits for non-profits\u003C\u002Fstrong>, \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fcontact\" rel=\"nofollow ugc\">contact us\u003C\u002Fa> for details\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>💸 How much does it cost?\u003C\u002Fstrong>\u003Cbr \u002F>\nShortPixel comes with 100 free credits per month, and additional unlimited monthly credits can be purchased for $9.99.\u003Cbr \u002F>\nOne-time credit packages that never expire are available starting at $19.99.\u003Cbr \u002F>\nCheck out \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fpricing\" rel=\"nofollow ugc\">our prices\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>🌟 Testimonials:\u003C\u002Fstrong>\u003Cbr \u002F>\n  ★★★★★ \u003Cstrong>A Super Plugin works very well 62% reduction overall.\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fa-super-plugin-works-very-well-62-reduction-overall\u002F\" rel=\"ugc\">robertvarns\u003C\u002Fa>\u003Cbr \u002F>\n  ★★★★★ \u003Cstrong>The secret sauce for a WordPress website.\u003C\u002Fstrong>  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fthe-secret-sauce-for-a-wordpress-website\u002F\" rel=\"ugc\">mark1mark\u003C\u002Fa>\u003Cbr \u002F>\n  ★★★★★ \u003Cstrong>A must have plugin, great support!\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fa-must-have-plugin-great-support\u002F\" rel=\"ugc\">ElColo13\u003C\u002Fa>\u003Cbr \u002F>\n  ★★★★★ \u003Cstrong>Excellent Plugin! Even Better Customer Service!\u003C\u002Fstrong>  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fgreat-plugin-great-support-508\u002F\" rel=\"ugc\">scaliendo\u003C\u002Fa>\u003Cbr \u002F>\n  ★★★★★ \u003Cstrong>Great image compression, solid plugin, equally great support.\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fsupport-shortpixel-image-optimiser\u002F\" rel=\"ugc\">matters1959\u003C\u002Fa>\u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fshortpixel-image-optimiser\u002Freviews\u002F?filter=5\" rel=\"ugc\">more testimonials\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FFVPWeNsJWss?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Help us spread the word by recommending ShortPixel to your friends and collect \u003Cstrong>100 lifetime monthly additional image credits for each referred active user\u003C\u002Fstrong>. Make money by promoting a great plugin with our \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Ffree-sign-up-affiliate\" rel=\"nofollow ugc\">30% commission affiliate program\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛠️ Other plugins by ShortPixel\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffastpixel-website-accelerator\u002F\" rel=\"ugc\">FastPixel Caching\u003C\u002Fa> – WP Optimization made easy\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshortpixel-adaptive-images\u002F\" rel=\"ugc\">ShortPixel Adaptive Images\u003C\u002Fa> – On-the-fly image optimization & CDN delivery\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fenable-media-replace\u002F\" rel=\"ugc\">Enable Media Replace\u003C\u002Fa> – Easily replace images or files in Media Library\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fregenerate-thumbnails-advanced\u002F\" rel=\"ugc\">reGenerate Thumbnails Advanced\u003C\u002Fa> – Easily regenerate thumbnails\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fresize-image-after-upload\u002F\" rel=\"ugc\">Resize Image After Upload\u003C\u002Fa> – Automatically resize each uploaded image\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-svg-images\u002F\" rel=\"ugc\">WP SVG Images\u003C\u002Fa> – Secure upload of SVG files to Media Library \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshortpixel-critical-css\u002F\" rel=\"ugc\">ShortPixel Critical CSS\u003C\u002Fa> – Automatically generate above-the-fold CSS for fatster loading times and better SEO scores\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>📩 Get in touch!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fcontact\" rel=\"nofollow ugc\">https:\u002F\u002Fshortpixel.com\u002Fcontact\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Twitter \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fshortpixel\" rel=\"nofollow ugc\">https:\u002F\u002Ftwitter.com\u002Fshortpixel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Facebook \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002FShortPixel\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.facebook.com\u002FShortPixel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>LinkedIn \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fshortpixel\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fshortpixel\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Actions and Filters for Developers\u003C\u002Fh3>\n\u003Cp>The ShortPixel Image Optimizer plugin calls the following actions and filters:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action( 'shortpixel_image_optimised', $post_id );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>upon successful optimization;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action(\"shortpixel_before_restore_image\", $post_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>before restoring an image from backup;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action(\"shortpixel_after_restore_image\", $post_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>after succesful restore;\u003C\u002Fp>\n\u003Cp>For version 4.22.10 and earlier:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters(\"shortpixel_backup_folder\", $backup_folder, $main_file_path, $sizes);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>just before returning the ShortPixel backup folder, usually \u002Fwp-content\u002Fuploads\u002FShortpixelBackups. The \u003Ccode>$sizes\u003C\u002Fcode> are the sizes array from metadata;\u003C\u002Fp>\n\u003Cp>For version 5.0.0 and later:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$directory = apply_filters(\"shortpixel\u002Ffile\u002Fbackup_folder\", $directory, $file);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>just before returning the ShortPixel backup folder, usually \u002Fwp-content\u002Fuploads\u002FShortpixelBackups).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel_image_exists', file_exists($path), $path, $post_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>post ID is not always set, only if it’s an image from Media Library;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel_image_urls', $URLs, $post_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the URLs that will be sent to optimisation, \u003Ccode>$URLs\u003C\u002Fcode> is a plain array;\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The filter below is deprecated starting with version 5.0.0!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fdb\u002Fchunk_size', $chunk);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>the \u003Ccode>$chunk\u003C\u002Fcode> is the value ShortPixel chooses to use as the number of selected records in one query (based on total table size), some hosts work better with a different value;\u003C\u002Fp>\n\u003Cp>For version 4.22.10 and earlier:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fbackup\u002Fpaths', $PATHs, $mainPath);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the array of paths of the images sent for backup and can be used to exclude certain paths\u002Fimages\u002Fthumbs from being backed up, based on the image path. \u003Ccode>$mainPath\u003C\u002Fcode> is the path of the main image, while \u003Ccode>$PATHs\u003C\u002Fcode> is an array with all files to be backed up (including thumbnails);\u003C\u002Fp>\n\u003Cp>For version 5.0.0 and later:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fimage\u002Fskip_backup', false, $this->getFullPath(), $this->is_main_file)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the images that are skipped or not from the backup. Return true for the type of images to be skipped in the backup. If you check if \u003Ccode>is_main_file\u003C\u002Fcode> is true and return false (do not skip backup), while while otherwise returning true, the backup will be kept only for the main image. We suggest using it in conjuction with this action that fires right after the restore from backup is done:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action('shortpixel\u002Fimage\u002Fafter_restore', $this, $this->id, $cleanRestore);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This action can be used to cleanup the meta data from the database, regenerate thumbnails after restoring the main file, writing the updated meta data, etc.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fsettings\u002Fimage_sizes', $sizes);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the array (\u003Ccode>$sizes\u003C\u002Fcode>) of image sizes that can be excluded from processing (displayed in the plugin Advanced settings);\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fimage\u002Fimageparamlist', $result, $this->id, $this);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the list of parameters sent to the API so that resizing can be performed more granularly;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>apply_filters('shortpixel\u002Fapi\u002Frequest', $requestParameters, $item_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>filters the parameters sent to the optimization API (through \u003Ccode>$requestParameters\u003C\u002Fcode>), described in detail here: \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fapi-docs\" rel=\"nofollow ugc\">ShortPixel Reducer API\u003C\u002Fa>; \u003Ccode>$item_id\u003C\u002Fcode> contains the ID of the Media Library item, or the ID of the Custom Media item (when used). In short, this filter can be used to alter any parameters sent to the API, depending on the needs. For example, you can set different resize parameters for different post types, different compression levels, remove EXIF or not, covert WebP\u002FAVIF, and basically any other parameter that is sent to the API for a specific image (together with all its thumbnails).\u003C\u002Fp>\n\u003Cp>This filter enables the background ShortPixel processing in additional pages (see \u003Ca href=\"https:\u002F\u002Fshortpixel.com\u002Fknowledge-base\u002Farticle\u002Fon-what-pages-does-spio-optimize-images\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa> the original list). Here’s an example of this filter that enables the processing on the Comments screen (to be placed in your functions.php file):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('shortpixel\u002Finit\u002Foptimize_on_screens', function ($screens) {\n    $screens[] = 'edit-comments';\n    return $screens;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The \u003Ccode>edit-comments\u003C\u002Fcode> is the ID of the screen where you want to enable the processing.\u003C\u002Fp>\n\u003Cp>If you want to add multiple pages, here’s what the snippet looks like:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('shortpixel\u002Finit\u002Foptimize_on_screens', function ($screens) {\n    $screens = array('edit-comments', 'plugins', 'another-custom-post-type-page');\n    return $screens;\n    });\n\n\nadd_filter('shortpixel\u002Fimage\u002Ffilecheck', function () { return true; });\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This filter forces a file check for WebP\u002FAVIF in case they were manually removed from disk.\u003C\u002Fp>\n\u003Cp>If you want to disable the automatic cache flush that is triggered after image optimization, you can use this filter:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'shortpixel\u002Fexternal\u002Fflush_cache', function() { return false; } );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In order to define custom thumbnails to be picked up by the optimization you have two options, both comma separated defines:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_CUSTOM_THUMB_SUFFIXES', '_tl,_tr');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>will handle custom thumbnails like image-100x100_tl.jpg;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_CUSTOM_THUMB_INFIXES', '-uae');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>will handle custom thumbnails like image-uae-100×100.jpg;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_USE_DOUBLE_WEBP_EXTENSION', true);\ndefine('SHORTPIXEL_USE_DOUBLE_AVIF_EXTENSION', true);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>will tell the plugin to create double extensions for the WebP\u002FAVIF image counterparts, for example, image.jpg.webp\u002Fimage.jpg.avif for image.jpg;\u003C\u002Fp>\n\u003Cp>Enable the “Trusted mode” in case the file system has limitations and is very slow in responding to direct file operations by adding this constant:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_TRUSTED_MODE', true);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will simply skip file check operations and if the Media Library loads very slowly or freezes, you might want to try adding the constant above to your wp-config.php file.\u003C\u002Fp>\n\u003Cp>Disable the feedback survey when the plugin is deactivated:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_SKIP_FEEDBACK', true);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Hide the Cloudflare settings by defining these constants in wp-config.php:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_CFTOKEN', 'the Cloudflare API token that has Purge Cache right');\ndefine('SHORTPIXEL_CFZONE', 'The Zone ID from the domain settings in Cloudflare');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add HTTP basic authentication credentials by defining these constants in wp-config.php\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define('SHORTPIXEL_HTTP_AUTH_USER', 'user');\ndefine('SHORTPIXEL_HTTP_AUTH_PASSWORD', 'pass');\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Optimize images & PDFs smartly. Create and compress next-gen WebP and AVIF formats. Smart crop and resize.",300000,18526594,802,"2026-01-29T14:18:00.000Z","6.9.4","4.8.0","7.4",[76,77,78,79,22],"compress-images","convert-webp","image-optimization","optimize-images","https:\u002F\u002Fshortpixel.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshortpixel-image-optimiser.6.4.3.zip",95,7,"2026-03-25 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":72,"requires_at_least":98,"requires_php":74,"tags":99,"homepage":103,"download_link":104,"security_score":58,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"imsanity","Imsanity","2.9.0","nosilver4u","https:\u002F\u002Fprofiles.wordpress.org\u002Fnosilver4u\u002F","\u003Cp>Automatically resize huge image uploads with Imsanity. Choose whatever size and quality you like, and let Imsanity do the rest.  When a contributor uploads an image that is larger than the configured size, Imsanity will automatically scale it down to the configured size and replace the original image.\u003C\u002Fp>\n\u003Cp>Imsanity also provides a bulk-resize feature to resize previously uploaded images and free up disk space. You may resize individual images from the Media Library’s List View.\u003C\u002Fp>\n\u003Cp>This plugin is ideal for blogs that do not require hi-resolution original images to be stored and\u002For the contributors don’t want (or understand how) to scale images before uploading.\u003C\u002Fp>\n\u003Cp>You may report security issues through our Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage and handle any security vulnerabilities. \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fvdp\u002Fimsanity\" rel=\"nofollow ugc\">Report a security vulnerability.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically scales large image uploads to a more “sane” size\u003C\u002Fli>\n\u003Cli>Bulk resize feature to resize existing images\u003C\u002Fli>\n\u003Cli>Selectively resize images directly in the Media Library (List View)\u003C\u002Fli>\n\u003Cli>Allows configuration of max width\u002Fheight and JPG quality\u003C\u002Fli>\n\u003Cli>Optionally converts BMP and PNG files to JPG for more savings\u003C\u002Fli>\n\u003Cli>Once enabled, Imsanity requires no actions on the part of the user\u003C\u002Fli>\n\u003Cli>Uses WordPress built-in image scaling functions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Imsanity is available in several languages, each of which will be downloaded automatically when you install the plugin. To help translate it into your language, visit https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fimsanity\u003C\u002Fp>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cp>Imsanity is developed at https:\u002F\u002Fgithub.com\u002Fnosilver4u\u002Fimsanity (pull requests are welcome)\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Originally written by Jason Hinkle (RIP). Maintained and developed by \u003Ca href=\"https:\u002F\u002Fewww.io\" rel=\"nofollow ugc\">Shane Bishop\u003C\u002Fa> with special thanks to my \u003Ca href=\"https:\u002F\u002Fwww.iamsecond.com\u002F\" rel=\"nofollow ugc\">Lord and Savior\u003C\u002Fa>.\u003C\u002Fp>\n","Automatically resizes huge image uploads. Are contributors uploading huge photos? Tired of manually resizing your images? Imsanity to the rescue!",200000,4453561,98,291,"2026-02-10T17:08:00.000Z","6.6",[21,100,22,101,102],"quality","scale","space-saver","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimsanity\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimsanity.2.9.0.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":28,"num_ratings":28,"last_updated":115,"tested_up_to":72,"requires_at_least":116,"requires_php":117,"tags":118,"homepage":120,"download_link":121,"security_score":58,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"auto-sizes","Enhanced Responsive Images","1.7.0","WordPress Performance Team","https:\u002F\u002Fprofiles.wordpress.org\u002Fperformanceteam\u002F","\u003Cp>This plugin implements enhancements for the responsive images functionality in WordPress. Currently, this includes:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Improvements to the accuracy of the \u003Ccode>sizes\u003C\u002Fcode> attribute by using layout information available in \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fdocumentation\u002Farticle\u002Fblock-themes\u002F\" rel=\"ugc\">block themes\u003C\u002Fa>. This enhancement is not available to classic themes.\u003C\u002Fli>\n\u003Cli>Implementation of the new HTML spec for adding \u003Ccode>sizes=\"auto\"\u003C\u002Fcode> to lazy-loaded images. This enhancement was \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fcore\u002F2024\u002F10\u002F18\u002Fauto-sizes-for-lazy-loaded-images-in-wordpress-6-7\u002F\" rel=\"nofollow ugc\">merged\u003C\u002Fa> into WordPress 6.7.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>See also the complimentary \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimage-prioritizer\u002F\" rel=\"ugc\">Image Prioritizer\u003C\u002Fa> plugin which detects which images are outside the viewport, and then adds \u003Ccode>loading=lazy\u003C\u002Fcode> and \u003Ccode>sizes=auto\u003C\u002Fcode> to them.\u003C\u002Fp>\n\u003Cp>There are currently \u003Cstrong>no settings\u003C\u002Fstrong> and no user interface for this plugin since it is designed to work without any configuration.\u003C\u002Fp>\n","Improvements for responsive images in WordPress.",50000,315968,"2025-12-02T22:34:00.000Z","6.8","7.2",[106,54,119],"performance","https:\u002F\u002Fgithub.com\u002FWordPress\u002Fperformance\u002Ftree\u002Ftrunk\u002Fplugins\u002Fauto-sizes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-sizes.1.7.0.zip",{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":28,"num_ratings":28,"last_updated":132,"tested_up_to":72,"requires_at_least":133,"requires_php":134,"tags":135,"homepage":139,"download_link":140,"security_score":58,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"qode-optimizer","QODE Optimizer","1.2.2","Qode","https:\u002F\u002Fprofiles.wordpress.org\u002Fqodeinteractive\u002F","\u003Cp>Drive more conversions and \u003Cstrong>enhance loading times\u003C\u002Fstrong> on your site more quickly & easier than ever. Compress, convert, resize and \u003Cstrong>fully optimize the images\u003C\u002Fstrong> on your website in a completely simple and intuitive manner.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fqodeinteractive.com\u002Fqode-optimizer\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">Check out the QODE Optimizer documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Basic Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Pick JPG, PNG, and GIF compression methods\u003C\u002Fli>\n\u003Cli>Configure JPG, PNG, and GIF compression quality (Lossy)\u003C\u002Fli>\n\u003Cli>Adjust image max width and height in pixels\u003C\u002Fli>\n\u003Cli>Remove image metadata\u003C\u002Fli>\n\u003Cli>Enable WebP image creation\u003C\u002Fli>\n\u003Cli>Choose a WebP conversion method\u003C\u002Fli>\n\u003Cli>Adjust WebP image compression quality\u003C\u002Fli>\n\u003Cli>Insert rewriting rules\u003C\u002Fli>\n\u003Cli>Picture WebP rewriting\u003C\u002Fli>\n\u003Cli>Choose a backup method\u003C\u002Fli>\n\u003Cli>Optimize additional folders\u003C\u002Fli>\n\u003Cli>Enable System Log\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Enable automatic image optimization\u003C\u002Fli>\n\u003Cli>Disable optimization for specific images\u003C\u002Fli>\n\u003Cli>JPG to PNG conversion\u003C\u002Fli>\n\u003Cli>PNG to JPG conversion\u003C\u002Fli>\n\u003Cli>GIF to PNG conversion\u003C\u002Fli>\n\u003Cli>Apply additional JPG & PNG compression methods after conversion\u003C\u002Fli>\n\u003Cli>Configure additional JPG & PNG compression quality\u003C\u002Fli>\n\u003Cli>Set a JPG background color fill\u003C\u002Fli>\n\u003Cli>Delete original image files after conversion\u003C\u002Fli>\n\u003Cli>Lossless PNG to WebP conversion\u003C\u002Fli>\n\u003Cli>Show “Regenerate” links\u003C\u002Fli>\n\u003Cli>Disable creation of specific image sizes\u003C\u002Fli>\n\u003Cli>Watermark creation for images\u003C\u002Fli>\n\u003Cli>Choose a position for image watermarks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Optimize the Images on Your Website, Drive More Conversions and Increase Your Speed Score\u003C\u002Fh3>\n\u003Cp>The QODE Optimizer plugin is developed to let you \u003Cstrong>convert, compress and adjust file sizes for all the images\u003C\u002Fstrong> on your website in a completely streamlined and quick manner.\u003Cbr \u002F>\nThe plugin allows you to easily perform \u003Cstrong>bulk or individual image optimization\u003C\u002Fstrong>.\u003Cbr \u002F>\nYou can convert JPG, PNG and GIF files, adjust default image width & height, as well as choose a \u003Cstrong>compression method\u003C\u002Fstrong> to be applied to images during the optimization.\u003Cbr \u002F>\nFor \u003Cstrong>Lossy\u003C\u002Fstrong> compression methods, you can fine-tune the amount of compression applied, which in turn results in different image qualities.\u003C\u002Fp>\n\u003Ch3>The Easy Way to Remove Image Metadata\u003C\u002Fh3>\n\u003Cp>The QODE Optimizer provides you with a number of additional options related to images on your site.\u003Cbr \u002F>\nYou can easily \u003Cstrong>remove metadata\u003C\u002Fstrong> for all the images on your website, thus reducing their respective file sizes even further.\u003C\u002Fp>\n\u003Ch3>Refine the Images Even Further by Converting them to the WebP Format\u003C\u002Fh3>\n\u003Cp>If you wish to convert your images to the supremely practical WebP format, the \u003Ca href=\"https:\u002F\u002Fqodeinteractive.com\u002Fproducts\u002Fplugins\u002Fqode-optimizer-premium\u002F\" rel=\"nofollow ugc\">QODE Optimizer\u003C\u002Fa> plugin has you covered.\u003Cbr \u002F>\nYou also have the option to \u003Cstrong>control the WebP image compression quality\u003C\u002Fstrong>, insert rewriting rules for delivering WebP images on Apache\u002FLiteSpeed servers, and more.\u003C\u002Fp>\n\u003Ch3>Follow and Analyze the Process of Optimization in the System Log\u003C\u002Fh3>\n\u003Cp>By enabling the system log, you’ll be able to see all the steps that the system takes during the process of image optimization.\u003Cbr \u002F>\nThis helps you \u003Cstrong>further refine the optimization\u003C\u002Fstrong> as you’ll be able to see precisely how the optimization affected each individual image in the process.\u003C\u002Fp>\n\u003Ch3>Get Even More With Premium!\u003C\u002Fh3>\n\u003Cp>The premium version of \u003Ca href=\"https:\u002F\u002Fqodeinteractive.com\u002Fproducts\u002Fplugins\u002Fqode-optimizer-premium\u002F\" rel=\"nofollow ugc\">QODE Optimizer\u003C\u002Fa> lets you improve things even further.\u003Cbr \u002F>\nYou have the option to \u003Cstrong>enable automatic optimization\u003C\u002Fstrong> for all images uploaded on your website. On top of that, you can also choose specific predetermined image sizes you do not wish to apply the optimization to.\u003Cbr \u002F>\nAnother useful feature that you get with the premium version lets you \u003Cstrong>place watermarks\u003C\u002Fstrong> over the regular images on your site and choose where you wish to position them.\u003Cbr \u002F>\nOne more practical functionality allows you to set a \u003Cstrong>background fill color\u003C\u002Fstrong> for JPGs – this is particularly useful when converting images with transparent backgrounds to the JPG format.\u003Cbr \u002F>\nIn addition to this, you can also have the \u003Cstrong>original images deleted\u003C\u002Fstrong> automatically after conversion, saving up even more in terms of memory.\u003C\u002Fp>\n\u003Ch4>Documentation & Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Check out our step-by-step \u003Ca href=\"https:\u002F\u002Fqodeinteractive.com\u002Fqode-optimizer\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">user guide\u003C\u002Fa> on how to install and use Qode Optimizer.\u003C\u002Fli>\n\u003Cli>You can also submit a topic to the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fqode-optimizer\u002F\" rel=\"ugc\">support forum\u003C\u002Fa> at and our support team will be glad to help you out.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>We use our services\u003C\u002Fp>\n\u003Cp>Qode’s CDN – The domain https:\u002F\u002Fexport.qodethemes.com is a service from which we retrieve the list of all Qode plugins displayed in the admin dashboard.\u003Cbr \u002F>\nQode’s API – The domain https:\u002F\u002Fapi.qodeinteractive.com is an API that’s called when a user deactivates the plugin, to retrieve the reason for deactivation. Upon deactivating the plugin, the users are prompted for a reason for doing so. They also have the option to deactivate without providing a reply. The data obtained from the users who respond to the question is collected to improve the plugin. After the analysis of said data, the plugin is upgraded and enhanced in such a way as to fulfill the users’ expectations.\u003Cbr \u002F>\nQode’s Terms of Use – https:\u002F\u002Fqodeinteractive.com\u002Fterms-of-use\u002F\u003Cbr \u002F>\nQode’s Privacy Policy – https:\u002F\u002Fqodeinteractive.com\u002Fprivacy-policy\u002F\u003C\u002Fp>\n\u003Ch4>Looking for more?\u003C\u002Fh4>\n\u003Cp>Feel free to try out some of our other products:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fqi\u002F\" rel=\"ugc\">Qi Theme\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqi-addons-for-elementor\u002F\" rel=\"ugc\">Qi Addons for Elementor\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqi-blocks\u002F\" rel=\"ugc\">Qi Blocks for Gutenberg\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqode-wishlist-for-woocommerce\u002F\" rel=\"ugc\">QODE Wishlist for WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqode-quick-view-for-woocommerce\u002F\" rel=\"ugc\">QODE Quick View for WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqode-variation-swatches-for-woocommerce\u002F\" rel=\"ugc\">QODE Variation Swatches for WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqode-compare-for-woocommerce\u002F\" rel=\"ugc\">QODE Compare for WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqode-product-extra-options-for-woocommerce\u002F\" rel=\"ugc\">QODE Product Extra Options for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n","The QODE Optimizer plugin is developed to allow you to convert, compress and adjust file sizes for all the images found on your website.",20000,79043,"2026-03-09T12:24:00.000Z","6.3","8.1",[76,136,78,137,138],"convert-images","resize-images","webp","https:\u002F\u002Fqodeinteractive.com\u002Fqode-optimizer\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqode-optimizer.1.2.2.zip",{"attackSurface":142,"codeSignals":156,"taintFlows":209,"riskAssessment":269,"analyzedAt":286},{"hooks":143,"ajaxHandlers":152,"restRoutes":153,"shortcodes":154,"cronEvents":155,"entryPointCount":28,"unprotectedCount":28},[144,149],{"type":145,"name":146,"callback":147,"file":148,"line":36},"action","init","instance","replace-content-image-size.php",{"type":145,"name":150,"callback":150,"file":148,"line":151},"admin_menu",67,[],[],[],[],{"dangerousFunctions":157,"sqlUsage":158,"outputEscaping":169,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":208},[],{"prepared":28,"raw":159,"locations":160},3,[161,164,166],{"file":148,"line":162,"context":163},259,"$wpdb->get_results() with variable interpolation",{"file":148,"line":165,"context":163},317,{"file":148,"line":167,"context":168},479,"$wpdb->query() with variable interpolation",{"escaped":170,"rawEcho":171,"locations":172},18,17,[173,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206],{"file":148,"line":174,"context":175},201,"raw output",{"file":148,"line":177,"context":175},206,{"file":148,"line":179,"context":175},325,{"file":148,"line":181,"context":175},331,{"file":148,"line":183,"context":175},361,{"file":148,"line":185,"context":175},365,{"file":148,"line":187,"context":175},400,{"file":148,"line":189,"context":175},404,{"file":148,"line":191,"context":175},446,{"file":148,"line":193,"context":175},449,{"file":148,"line":195,"context":175},450,{"file":148,"line":197,"context":175},452,{"file":148,"line":199,"context":175},487,{"file":148,"line":201,"context":175},491,{"file":148,"line":203,"context":175},492,{"file":148,"line":205,"context":175},498,{"file":148,"line":207,"context":175},515,[],[210,252],{"entryPoint":211,"graph":212,"unsanitizedCount":159,"severity":251},"replace (replace-content-image-size.php:117)",{"nodes":213,"edges":244},[214,219,225,228,232,236,238,240],{"id":215,"type":216,"label":217,"file":148,"line":218},"n0","source","$_POST (x10)",137,{"id":220,"type":221,"label":222,"file":148,"line":223,"wp_function":224},"n1","sink","echo() [XSS]",221,"echo",{"id":226,"type":216,"label":227,"file":148,"line":218},"n2","$_POST",{"id":229,"type":221,"label":230,"file":148,"line":162,"wp_function":231},"n3","get_results() [SQLi]","get_results",{"id":233,"type":216,"label":234,"file":148,"line":235},"n4","$_POST (x2)",169,{"id":237,"type":221,"label":222,"file":148,"line":195,"wp_function":224},"n5",{"id":239,"type":216,"label":227,"file":148,"line":235},"n6",{"id":241,"type":221,"label":242,"file":148,"line":167,"wp_function":243},"n7","query() [SQLi]","query",[245,247,248,250],{"from":215,"to":220,"sanitized":246},true,{"from":226,"to":229,"sanitized":246},{"from":233,"to":237,"sanitized":249},false,{"from":239,"to":241,"sanitized":249},"high",{"entryPoint":253,"graph":254,"unsanitizedCount":159,"severity":251},"\u003Creplace-content-image-size> (replace-content-image-size.php:0)",{"nodes":255,"edges":264},[256,257,258,259,260,261,262,263],{"id":215,"type":216,"label":217,"file":148,"line":218},{"id":220,"type":221,"label":222,"file":148,"line":223,"wp_function":224},{"id":226,"type":216,"label":227,"file":148,"line":218},{"id":229,"type":221,"label":230,"file":148,"line":162,"wp_function":231},{"id":233,"type":216,"label":234,"file":148,"line":235},{"id":237,"type":221,"label":222,"file":148,"line":195,"wp_function":224},{"id":239,"type":216,"label":227,"file":148,"line":235},{"id":241,"type":221,"label":242,"file":148,"line":167,"wp_function":243},[265,266,267,268],{"from":215,"to":220,"sanitized":246},{"from":226,"to":229,"sanitized":246},{"from":233,"to":237,"sanitized":249},{"from":239,"to":241,"sanitized":249},{"summary":270,"deductions":271},"The \"replace-content-image-size\" plugin, version 1.2.1, exhibits a mixed security posture. On one hand, it boasts a commendably small attack surface with no registered AJAX handlers, REST API routes, shortcodes, or cron events, and importantly, zero unprotected entry points. This significantly reduces the opportunities for external attackers to directly interact with the plugin. Furthermore, the absence of dangerous functions, file operations, and external HTTP requests is a positive indicator of secure coding practices.\n\nHowever, the static analysis reveals critical concerns. All three SQL queries are executed without prepared statements, a major vulnerability that could lead to SQL injection attacks. The taint analysis identified two high-severity flows with unsanitized paths, suggesting that user-supplied data might be used in a way that could compromise file system operations or other sensitive actions. The lack of any capability checks or nonce checks further exacerbates these risks, as these are fundamental WordPress security mechanisms designed to prevent unauthorized actions and cross-site request forgery.\n\nThe plugin's vulnerability history is currently clean, with no recorded CVEs. While this is a strong positive, it cannot entirely offset the significant code-level risks identified. The absence of past vulnerabilities might be due to the plugin's limited exposure or a recent clean state, but the current code analysis presents immediate and actionable security concerns that require attention. Overall, the plugin has strengths in its limited attack surface, but its reliance on raw SQL and the presence of high-severity unsanitized taint flows create substantial risks.",[272,275,278,279,281,283],{"reason":273,"points":274},"Raw SQL queries without prepared statements",15,{"reason":276,"points":277},"High severity taint flow (unsanitized path)",12,{"reason":276,"points":277},{"reason":280,"points":48},"Missing capability checks",{"reason":282,"points":34},"Missing nonce checks",{"reason":284,"points":285},"Low percentage of properly escaped output",5,"2026-03-16T21:21:23.180Z",{"wat":288,"direct":294},{"assetPaths":289,"generatorPatterns":291,"scriptPaths":292,"versionParams":293},[290],"\u002Fwp-content\u002Fplugins\u002Freplace-content-image-size\u002F",[],[],[],{"cssClasses":295,"htmlComments":296,"htmlAttributes":297,"restEndpoints":298,"jsGlobals":299,"shortcodeOutput":300},[],[],[],[],[],[]]