{"id":6400,"date":"2026-08-19T23:01:23","date_gmt":"2026-08-19T23:01:23","guid":{"rendered":"https:\/\/jonjones.ai\/uncategorized\/daily-thursday-throwback-webp-social-images-2026-08-20\/"},"modified":"2026-08-19T23:01:23","modified_gmt":"2026-08-19T23:01:23","slug":"daily-thursday-throwback-webp-social-images-2026-08-20","status":"publish","type":"post","link":"https:\/\/jonjones.ai\/zh\/%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7%e8%87%aa%e5%8b%95%e5%8c%96\/daily-thursday-throwback-webp-social-images-2026-08-20\/","title":{"rendered":"\u9031\u56db\u56de\u9867\uff1a\u6084\u7121\u8072\u606f\u627c\u6bba\u6240\u6709\u793e\u4ea4\u5716\u7247\u7684 WebP \u6f0f\u6d1e"},"content":{"rendered":"<p>Welcome to Thursday Throwback \u2014 where I dig up an old JonOps bug so you don&#8217;t have to bleed for the same lesson I did. Today&#8217;s ghost: the day every one of my social images vanished, and not a single dashboard told me why.<\/p>\n<h2>The symptom: silence, not errors<\/h2>\n<p>Months back, my agents were happily generating gorgeous featured images, uploading them to WordPress, and handing them off to the social scheduler. The blog looked great. But the Facebook and Instagram posts kept going out as bare text \u2014 no image, no error, no complaint. The scheduler said &#8220;success.&#8221; The images just\u2026 weren&#8217;t there.<\/p>\n<p>That&#8217;s the worst kind of bug. A loud failure you can chase. A silent one you don&#8217;t even know to look for until someone asks, &#8220;Hey, why do your Instagram posts look so empty?&#8221;<\/p>\n<h2>The culprit: WordPress speaks WebP, Meta doesn&#8217;t listen<\/h2>\n<p>Here&#8217;s what was actually happening. Modern WordPress (and plenty of optimization plugins) quietly auto-converts your uploads to <strong>WebP<\/strong> \u2014 a great format for fast-loading web pages. The problem: Meta&#8217;s Graph API, the thing that actually posts to Facebook and Instagram, <strong>rejects WebP outright<\/strong>. So my pipeline was pulling the WordPress image URL, which had been silently swapped to a <code>.webp<\/code> file, and Meta was throwing it straight in the bin.<\/p>\n<p>Two systems, both working exactly as designed, quietly disagreeing about a file format. No one raised their hand.<\/p>\n<h2>The fix: give each destination the format it actually wants<\/h2>\n<p>The repair was a fork in the road, not a patch. Social images now route through a Cloudinary CDN that serves a real, permanent <strong>JPEG<\/strong> \u2014 a format Meta accepts every time. Blog featured images can stay WebP, because browsers love it and site speed matters. One asset, two formats, chosen by where it&#8217;s going.<\/p>\n<p><strong>\u8981\u9ede\uff1a<\/strong> your content is only half the job. The <em>format your downstream platform actually accepts<\/em> is the other half \u2014 and platforms rarely announce their pickiness. When an automation &#8220;succeeds&#8221; but the result is empty, stop trusting the green checkmark and go read what the receiving API really got.<\/p>\n<h2>Steal this habit<\/h2>\n<p>Next time you wire up any hand-off between two tools, ask one question before you ship it: <em>what format does the thing on the other end actually accept?<\/em> Then verify the delivered file, not just the &#8220;sent&#8221; status. Five minutes of checking beats months of empty posts.<\/p>\n<p>Want to see the full machine this bug lives inside? I broke it down in <a href=\"https:\/\/jonjones.ai\/zh\/%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7%e8%87%aa%e5%8b%95%e5%8c%96\/%e6%af%8f%e6%97%a5%e9%80%b1%e5%85%ad%e8%81%9a%e7%84%a6%e8%87%aa%e4%b8%bb%e7%ae%a1%e9%81%93-2026%e5%b9%b48%e6%9c%8815%e6%97%a5\/\">\u5728\u6211\u7761\u89ba\u7684\u6642\u5019\uff0c\u9019\u7bc7\u90e8\u843d\u683c\u5c31\u662f\u900f\u904e\u9019\u4e03\u6b65\u9a5f\u6d41\u7a0b\u767c\u5e03\u7684\u3002<\/a> \u2014 image hand-off and all. See you next Throwback. \u2014 Jon<\/p>","protected":false},"excerpt":{"rendered":"<p>\u6b61\u8fce\u4f86\u5230\u300c\u9031\u56db\u61f7\u820a\u300d\u2014\u2014\u5728\u9019\u88e1\uff0c\u6211\u6703\u6316\u51fa\u4e00\u500bJonOps\u7684\u8001bug\uff0c\u8b93\u4f60\u5011\u4e0d\u5fc5\u50cf\u6211\u4e00\u6a23\u70ba\u6b64\u4ed8\u51fa\u6158\u75db\u7684\u4ee3\u50f9\u3002\u4eca\u5929\u7684\u300c\u5e7d\u9748\u300d\uff1a\u6211\u6240\u6709\u793e\u7fa4\u5a92\u9ad4\u5716\u7247\u2026<\/p>","protected":false},"author":2,"featured_media":6399,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[44],"tags":[],"class_list":["post-6400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-automation"],"taxonomy_info":{"category":[{"value":44,"label":"AI Automation"}]},"featured_image_src_large":["https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/08\/daily-webp-throwback-20260820.jpg",1344,752,false],"author_info":{"display_name":"Jon Jones","author_link":"https:\/\/jonjones.ai\/zh\/author\/jonjonjones-ai\/"},"comment_info":0,"category_info":[{"term_id":44,"name":"AI Automation","slug":"ai-automation","term_group":0,"term_taxonomy_id":44,"taxonomy":"category","description":"","parent":0,"count":134,"filter":"raw","cat_ID":44,"category_count":134,"category_description":"","cat_name":"AI Automation","category_nicename":"ai-automation","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/6400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/comments?post=6400"}],"version-history":[{"count":0,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/6400\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media\/6399"}],"wp:attachment":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media?parent=6400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/categories?post=6400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/tags?post=6400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}