{"id":262290,"date":"2026-01-30T13:09:33","date_gmt":"2026-01-30T13:09:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/seo-image-optimiser\/"},"modified":"2026-02-20T10:46:23","modified_gmt":"2026-02-20T10:46:23","slug":"webwonderland-seo-image-optimiser","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/webwonderland-seo-image-optimiser\/","author":23404488,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.8","stable_tag":"1.0.8","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Web Wonderland SEO Image Optimiser","header_author":"Web Wonderland","header_description":"Smarter image optimisation and delivery. Generates WebP or AVIF locally (or via our cloud API with an API key) on upload, accurate bulk progress, skip reprocessing, health panel, restore originals.","assets_banners_color":"4653a6","last_updated":"2026-02-20 10:46:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/store.webwonderland.co.uk","header_author_uri":"https:\/\/webwonderland.co.uk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":178,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.7":{"tag":"1.0.7","author":"webwonderland","date":"2026-01-30 13:17:17"},"1.0.8":{"tag":"1.0.8","author":"webwonderland","date":"2026-02-20 10:46:23"}},"upgrade_notice":{"1.0.8":"<p>Updates image processing to handle SVG issues on upload. Updates to Smart Alt Tag generation to support site language returns from the API.<\/p>","1.0.7":"<p>Updates to cloud image processing code and other small code changes following plugin review<\/p>","1.0.6":"<p>Essential update: major changes to core image processing features and code.<\/p>","1.0.5":"<p>Essential update: code update to core heartbeat function and media processing nonce logic<\/p>","1.0.4":"<p>Recommended update: Code updates and security hardening based on review feedback<\/p>","1.0.3":"<ul>\n<li>Code quality and security hardening based on review feedback<\/li>\n<\/ul>","1.0.2":"<p>Recommended update: improved code quality, security hardening and better standards compliance.<\/p>","1.0.1":"<p>Improved documentation and stability.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3450466,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3450466,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3450466,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3450466,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.7","1.0.8"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3450466,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3450466,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3450466,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3450466,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Dashboard","2":"Settings screen","3":"Media Library optimisation tools","4":"Smart Alt Suggestions (AI Cloud)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[194661,29161,247,186,15376],"plugin_category":[54,55],"plugin_contributors":[254954],"plugin_business_model":[],"class_list":["post-262290","plugin","type-plugin","status-publish","hentry","plugin_tags-avif","plugin_tags-image-optimization","plugin_tags-performance","plugin_tags-seo","plugin_tags-webp","plugin_category-security-and-spam-protection","plugin_category-seo-and-marketing","plugin_contributors-webwonderland","plugin_committers-webwonderland"],"banners":{"banner":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/banner-772x250.jpg?rev=3450466","banner_2x":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/banner-1544x500.jpg?rev=3450466","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/icon-128x128.png?rev=3450466","icon_2x":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/icon-256x256.png?rev=3450466","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/screenshot-1.jpg?rev=3450466","caption":"Dashboard"},{"src":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/screenshot-2.jpg?rev=3450466","caption":"Settings screen"},{"src":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/screenshot-3.jpg?rev=3450466","caption":"Media Library optimisation tools"},{"src":"https:\/\/ps.w.org\/webwonderland-seo-image-optimiser\/assets\/screenshot-4.jpg?rev=3450466","caption":"Smart Alt Suggestions (AI Cloud)"}],"raw_content":"<!--section=description-->\n<p><strong>Web Wonderland SEO Image Optimiser<\/strong> helps you improve image performance and accessibility without breaking your theme.<\/p>\n\n<p>The plugin can:<\/p>\n\n<ul>\n<li>Convert images to modern formats (WebP\/AVIF)<\/li>\n<li>Serve WebP automatically on the front-end<\/li>\n<li>Generate <code>&lt;picture&gt;<\/code> markup for improved Core Web Vitals<\/li>\n<li>(Optional) Generate AI-based captions, alt text and titles in the same language as the WordPress site language<\/li>\n<li>Integrate with Gutenberg, classic themes, Elementor, WPBakery, etc.<\/li>\n<li>Use server-level rewriting or markup-based delivery modes<\/li>\n<li>Restore original images at any time<\/li>\n<\/ul>\n\n<p>This is a third-party plugin developed by <strong>Web Wonderland<\/strong>.\nIt is not affiliated with or endorsed by WordPress, Elementor or WPBakery.<\/p>\n\n\n\n<h3>Local vs Cloud processing<\/h3>\n\n<p>The optimiser can work in two ways:<\/p>\n\n<p><strong>Local processing (always available)<\/strong><br \/>\nRuns entirely on your own server.<\/p>\n\n<ul>\n<li>Unlimited WebP and AVIF generation (subject to your servers capabilities)<\/li>\n<li>No monthly conversion caps<\/li>\n<li>No api key required<\/li>\n<li>Uses your own CPU and disk I\/O<\/li>\n<\/ul>\n\n<p><strong>Cloud\/API processing (api key required)<\/strong><br \/>\nOffloads heavy image work to the Web Wonderland Image API.<\/p>\n\n<ul>\n<li>Uses a remote worker to generate WebP\/AVIF for originals and all sizes<\/li>\n<li>Reduces CPU load on your hosting, useful for busy or shared servers<\/li>\n<li>Quotas and limits depend on your Lite, Pro or Unlimited plan<\/li>\n<li>Works alongside local mode   you can always fall back to local processing<\/li>\n<\/ul>\n\n<p>You can choose your preferred processing mode in <strong>SEO Image Optimiser - Settings<\/strong>.<\/p>\n\n\n\n<h3>Free (Lite API Key)<\/h3>\n\n<p>The Lite API Key requires <strong>no card<\/strong>, only an email to issue an API key.<\/p>\n\n<p>Included in the Lite API Key plan:<\/p>\n\n<ul>\n<li><strong>Unlimited local image conversions<\/strong> (WebP\/AVIF) on your own server<\/li>\n<li>Up to <strong>50 cloud\/API image conversions per month<\/strong> (WebP + AVIF) via the Web Wonderland Image API<\/li>\n<li>Front-end WebP &amp; AVIF delivery if available<\/li>\n<li>Up to <strong>30 AI alt tag &amp; title generations per month<\/strong><\/li>\n<li>Automatic backups of originals with one-click restore<\/li>\n<li>Works on <strong>one<\/strong> WordPress site<\/li>\n<\/ul>\n\n<p>Your previously converted images remain on your server regardless of the API Key status.<br \/>\nIf your monthly cloud API quota is reached, the plugin can still optimise images locally.<\/p>\n\n\n\n<h3>Pro API Key<\/h3>\n\n<p>For busy sites and image-heavy blogs.<\/p>\n\n<p>Includes everything in Lite plus:<\/p>\n\n<ul>\n<li><strong>Unlimited local image conversions<\/strong> (WebP\/AVIF)<\/li>\n<li>Effectively <strong>unlimited cloud\/API image conversions<\/strong> for most sites<br \/>\n(high cap WebP &amp; AVIF generation via the Web Wonderland Image API)<\/li>\n<li>Up to <strong>3,000 AI alt tag &amp; title generations per month<\/strong><\/li>\n<li>Background processing &amp; bulk optimisation<\/li>\n<li>Can be used on up to <strong>5<\/strong> WordPress sites<\/li>\n<\/ul>\n\n\n\n<h3>Unlimited API Key<\/h3>\n\n<p>For agencies or users managing many sites.<\/p>\n\n<p>Includes everything in Pro plus:<\/p>\n\n<ul>\n<li>Unlimited sites<\/li>\n<li><strong>Unlimited local image conversions<\/strong> (WebP\/AVIF)<\/li>\n<li><strong>Unlimited cloud\/API image conversions<\/strong> (WebP &amp; AVIF for every image)<\/li>\n<li>Up to <strong>10,000 AI alt tag &amp; title generations per month<\/strong><\/li>\n<li>Background processing &amp; bulk optimisation<\/li>\n<\/ul>\n\n\n\n<h3>AI &amp; Privacy<\/h3>\n\n<p>AI captioning is optional. If enabled, SmartAlt uses external services as documented in the External services section below. The plugin does not send personal data about site visitors.<\/p>\n\n\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to external services operated by Web Wonderland to provide optional \u201ccloud\u201d features (remote image optimisation and AI-powered SmartAlt captions). Local-only optimisation features continue to work without any external service.<\/p>\n\n<p>When any cloud feature is enabled\/used, the plugin sends requests from your WordPress server (admin-side actions) to the endpoints below. The plugin does not send personal data about site visitors.<\/p>\n\n<h4>1) Web Wonderland Image Optimisation API (Remote conversions)<\/h4>\n\n<p>Service: Web Wonderland Image Optimisation API\nDomain: imageapi.webwonderland.co.uk\nUsed for: Cloud\/remote image conversions (WebP\/AVIF generation) and job completion signalling.<\/p>\n\n<p>Endpoints used:\n- https:\/\/imageapi.webwonderland.co.uk\/v1\/jobs  (create remote jobs)\n- https:\/\/imageapi.webwonderland.co.uk\/v1\/jobs\/{job_id}\/complete  (mark job completed)<\/p>\n\n<p>Data sent:\n- API key (sent as a request header)\n- attachment ID and public image URL (or secure URL) for the image being processed\n- derived image sizes and output settings (format, quality, width\/height)\n- plugin version and basic site identifier (e.g. domain) where needed for returning results<\/p>\n\n<p>When sent:\n- Only when you enable Cloud\/API processing and run optimisation from the plugin dashboard \/ bulk optimiser.\n- The \u201c\/complete\u201d request is sent after the plugin has successfully downloaded and stored the processed files.<\/p>\n\n<p>Terms: https:\/\/www.webwonderland.co.uk\/wwsio-terms\/\nPrivacy: https:\/\/www.webwonderland.co.uk\/wwsio-privacy-policy\/<\/p>\n\n<h4>2) Web Wonderland Cloud Services (Netlify-hosted endpoints)<\/h4>\n\n<p>Service: Web Wonderland Cloud Services endpoints (Netlify)\nDomain: stupendous-pie-54cb74.netlify.app\nUsed for: Site connect\/disconnect, cloud api usage metering, background job coordination, and SmartAlt caption proxy.<\/p>\n\n<p>Endpoints used:\n- https:\/\/stupendous-pie-54cb74.netlify.app\/api\/sio\/connect\n- https:\/\/stupendous-pie-54cb74.netlify.app\/api\/sio\/disconnect\n- https:\/\/stupendous-pie-54cb74.netlify.app\/api\/sio\/check-reserve\n- https:\/\/stupendous-pie-54cb74.netlify.app\/api\/sio\/cron-sites\n- https:\/\/stupendous-pie-54cb74.netlify.app\/.netlify\/functions\/sio-smartalt-caption<\/p>\n\n<p>Data sent:\n- API key (Authorization: Bearer  or X-API-Key header, depending on endpoint)\n- plugin version\n- site identifier (e.g. domain) and\/or anonymous instance ID\n- for SmartAlt caption generation: the image URL or a data URI for the selected image, and a small request payload (e.g. \u201cusage\u201d mode)<\/p>\n\n<p>When sent:\n- Connect\/disconnect: when you add or remove an API key in the Cloud Services screen.\n- Metering: when cloud processing runs or when SmartAlt is used.\n- Cron coordination: when the plugin is activated and when the optimisation queue state changes.\n- SmartAlt caption proxy: only when you click generate caption \/ suggestions in the SmartAlt admin screen.<\/p>\n\n<p>Terms: https:\/\/www.webwonderland.co.uk\/wwsio-terms\/\nPrivacy: https:\/\/www.webwonderland.co.uk\/wwsio-privacy-policy\/<\/p>\n\n<h4>3) Replicate (AI provider used by Web Wonderland Cloud)<\/h4>\n\n<p>Service: Replicate (replicate.com)\nUsed for: AI image captioning behind the SmartAlt feature (processed by Web Wonderland Cloud).<\/p>\n\n<p>Data sent:\n- the image data or image URL required to generate a caption (sent by Web Wonderland Cloud, not directly by your WordPress site)<\/p>\n\n<p>When sent:\n- only when you use SmartAlt caption generation in the plugin admin.<\/p>\n\n<p>Terms: https:\/\/replicate.com\/terms\nPrivacy: https:\/\/replicate.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Go to <strong>SEO Image Optimiser \u2192 Settings<\/strong><\/li>\n<li>Choose <strong>Local<\/strong> or <strong>Cloud\/API<\/strong> processing on the Dashboard panel<\/li>\n<li>(Optional) Enter your Lite, Pro or Unlimited api key (for cloud\/API + AI features) on the Cloud Services page<\/li>\n<li>Run the bulk optimiser to convert your existing library<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20it%20overwrite%20my%20originals%3F\"><h3>Will it overwrite my originals?<\/h3><\/dt>\n<dd><p>No. A backup is created the first time an image is optimised and can be restored at any time.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Yes   Gutenberg, classic editor, Elementor, WPBakery and most themes.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20my%20api%20key%20subscription%20expires%3F\"><h3>What happens if my API Key subscription expires?<\/h3><\/dt>\n<dd><p>Nothing breaks, you just won't be able to use the cloud services anymore.\nYour existing optimised files stay in place on your server.\nYou just stop receiving new monthly cloud\/API and AI quotas.\nLocal optimisation on your own server can continue to run.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20ai%20entirely%3F\"><h3>Can I disable AI entirely?<\/h3><\/dt>\n<dd><p>Yes. All AI features are optional and images are only sent for analysis if you choose to use the tool.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Updates image processing to handle SVG issues on upload. Updates to Smart Alt Tag generation to support site language returns from the API.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Updates to cloud api image processing and general code improvements following plugin review feedback.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Removal of all license checks and validation and setup of API key functions and processes following review feedback<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Code updates and security hardening based on review feedback around adding hmac to heartbeat function<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Code updates and security hardening based on review feedback<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Code quality and security hardening based on review feedback<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Code quality and security hardening based on review feedback<\/li>\n<li>Improved PHPCS\/WPCS compliance and safer output handling<\/li>\n<li>Minor documentation and wording tweaks<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Readme updates and accuracy improvements<\/li>\n<li>First stable release<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Convert images to WebP and AVIF, add picture markup, and optionally generate SEO alt text &amp; titles using AI. Fast, safe, and theme-friendly.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/262290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=262290"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webwonderland"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=262290"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=262290"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=262290"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=262290"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=262290"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=262290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}