{"id":10580,"date":"2026-05-17T01:29:50","date_gmt":"2026-05-16T17:29:50","guid":{"rendered":"https:\/\/aeosub.com\/petro-seo-images-to-webp\/"},"modified":"2026-05-17T01:29:50","modified_gmt":"2026-05-16T17:29:50","slug":"petro-seo-images-to-webp","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/petro-seo-images-to-webp\/","title":{"rendered":"Petro SEO Images to WebP"},"content":{"rendered":"<div class=\"post-img\" style=\"margin-bottom: 25px\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/petro-seo-images-to-webp\/assets\/banner-1544x500.png?rev=3533935\" alt=\"Petro SEO Images to WebP\" style=\"width: 100%;height: auto;border-radius: 12px\"><\/div>\n<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/petro-seo-images-to-webp\/assets\/icon-256x256.png?rev=3533935\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/diegopetroncari\/\" target=\"_blank\" rel=\"noopener\">diegopetroncari<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.1.2<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">5.8 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-16 5:15pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/petro-seo-images-to-webp\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Bulk-convert media library images to WebP for better SEO and Core Web Vitals. Originals stay on disk; the front-end serves WebP via the  tag.<\/div>\n<p><strong>Petro SEO Images to WebP<\/strong> converts your existing JPEG and PNG attachments to WebP in bulk, then serves them on the front-end through the standard <code>&lt;picture&gt;<\/code> element with a full responsive <code>srcset<\/code>. The original files stay untouched on disk, so reverting is as simple as flipping a switch.<\/p>\n<p>Designed to be small, dependency-free and predictable. No external services, no images uploaded anywhere, no opaque queue.<\/p>\n<h4>What it does<\/h4>\n<ul>\n<li>Converts every registered image size (full + thumbnails) to <code>.webp<\/code> next to the original (e.g. <code>photo.jpg<\/code> <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> <code>photo.jpg.webp<\/code>).<\/li>\n<li>Wraps <code>&lt;img&gt;<\/code> tags from <code>wp_get_attachment_image()<\/code> and <code>the_content<\/code> in <code>&lt;picture&gt;&lt;source type=\"image\/webp\"&gt;\u2026&lt;\/picture&gt;<\/code>, preserving full <code>srcset<\/code> and <code>sizes<\/code>.<\/li>\n<li>Skips images automatically if a previous run failed because of filesystem permissions, so you can retry on demand without reprocessing the whole library.<\/li>\n<li>Ramps the WebP quality down (75 <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> 60 <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> 45 <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> 40) when the encoded file ends up larger than the original, so you never ship a &#8220;WebP&#8221; that is heavier than the JPEG.<\/li>\n<li>Idempotent: re-running the bulk job only touches new or updated images.<\/li>\n<\/ul>\n<h4>What it does NOT do<\/h4>\n<ul>\n<li>It does not delete or modify your original JPG\/PNG files.<\/li>\n<li>It does not require Imagick or a specific image library beyond what WordPress already uses (<code>wp_get_image_editor()<\/code>).<\/li>\n<li>It does not phone home, register endpoints, or load remote scripts.<\/li>\n<\/ul>\n<h4>Privacy<\/h4>\n<p>The plugin processes images locally using WordPress&#8217;s built-in image editor. No data is sent to third-party services.<\/p>","protected":false},"excerpt":{"rendered":"<p>Bulk-convert media library images to WebP for better SEO and Core Web Vitals. Originals stay on disk; the front-end serves WebP via the tag.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[982,722,983,554,984,555],"class_list":["post-10580","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-images","tag-performance","tag-picture","tag-seo","tag-webp","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10580"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10580\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10580"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10580"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}