{"id":339316,"date":"2026-07-18T17:17:48","date_gmt":"2026-07-18T17:17:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pixelvault-image-rescue\/"},"modified":"2026-07-18T17:17:33","modified_gmt":"2026-07-18T17:17:33","slug":"pixelvault-image-rescue","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/pixelvault-image-rescue\/","author":23531481,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.2","stable_tag":"0.2.2","tested":"7.0.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"PixelVault Image Rescue","header_author":"PixelVault","header_description":"Keep hotlinked Imgur images working. Automatically rehosts Imgur images onto PixelVault's edge so they survive UK blocking and Imgur deletions \u2014 no account required to start.","assets_banners_color":"635439","last_updated":"2026-07-18 17:17:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pixelvault.dev\/imgur-rescue","header_author_uri":"https:\/\/pixelvault.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":36,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"rumbolabs","date":"2026-07-18 17:17:33"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3612855,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3612855,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3612855,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3612855,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[128337,3863,33095,163,23089],"plugin_category":[50,59],"plugin_contributors":[272229],"plugin_business_model":[],"class_list":["post-339316","plugin","type-plugin","status-publish","hentry","plugin_tags-broken-images","plugin_tags-cdn","plugin_tags-image-hosting","plugin_tags-images","plugin_tags-imgur","plugin_category-media","plugin_category-utilities-and-tools","plugin_contributors-rumbolabs","plugin_committers-rumbolabs"],"banners":{"banner":"https:\/\/ps.w.org\/pixelvault-image-rescue\/assets\/banner-772x250.png?rev=3612855","banner_2x":"https:\/\/ps.w.org\/pixelvault-image-rescue\/assets\/banner-1544x500.png?rev=3612855","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pixelvault-image-rescue\/assets\/icon-128x128.png?rev=3612855","icon_2x":"https:\/\/ps.w.org\/pixelvault-image-rescue\/assets\/icon-256x256.png?rev=3612855","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Imgur images embedded across your site can break \u2014 most recently for UK visitors, when Imgur was geo-blocked. PixelVault Image Rescue fixes this automatically: when a page loads, it rewrites Imgur image links so they load through PixelVault's rescue proxy, which fetches the image once and serves it from PixelVault's global edge.<\/p>\n\n<ul>\n<li><strong>Instant fix, no account required.<\/strong> Activate the plugin and Imgur images start loading through PixelVault right away.<\/li>\n<li><strong>Reversible and non-destructive.<\/strong> Rewriting happens at output time only \u2014 your posts are never modified. Disable the plugin and the original markup returns untouched.<\/li>\n<li><strong>Handles <code>src<\/code> and <code>srcset<\/code><\/strong>, in post content, featured images, and widgets. An optional whole-page mode also catches theme-hardcoded images.<\/li>\n<\/ul>\n\n<p>Anonymous rescue is durable-cached but not permanent \u2014 it re-fetches from Imgur, so it still dies if Imgur deletes the original. Add a free PixelVault API key to <strong>Migrate &amp; Own<\/strong>: copy every Imgur image into your own PixelVault project and rewrite your posts to permanent, owned URLs. Migration edits post content (a revision is saved) and is fully reversible.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to <strong>PixelVault<\/strong> (https:\/\/pixelvault.dev), a third-party image-hosting service, to rehost Imgur images. It uses two PixelVault endpoints:<\/p>\n\n<p><strong>1. Rescue proxy \u2014 Live rescue (always on when enabled)<\/strong><\/p>\n\n<ul>\n<li><strong>What it does:<\/strong> rewrites Imgur image links on your pages to load through PixelVault's rescue proxy, which fetches each image and serves it from PixelVault's edge.<\/li>\n<li><strong>What is sent:<\/strong> only the URLs of Imgur images found on the pages being rendered, sent to the rescue endpoint (default <code>https:\/\/img.pixelvault.dev\/rescue<\/code>). No account or key is required.<\/li>\n<li><strong>When:<\/strong> each time a page containing an Imgur image is rendered.<\/li>\n<\/ul>\n\n<p><strong>2. Import API \u2014 Migrate &amp; Own (optional, admin-triggered)<\/strong><\/p>\n\n<ul>\n<li><strong>What it does:<\/strong> when you add a PixelVault API key and click <strong>Migrate all Imgur images<\/strong>, the plugin imports each Imgur image into your own PixelVault project and rewrites your posts to the resulting permanent URLs.<\/li>\n<li><strong>What is sent:<\/strong> the Imgur image URLs to import and your PixelVault API key (sent server-side as a Bearer token), to the import endpoint (default <code>https:\/\/api.pixelvault.dev\/v1\/images<\/code>).<\/li>\n<li><strong>When:<\/strong> only while you are running a migration or restore from the plugin's settings screen. Nothing is sent on the front end.<\/li>\n<\/ul>\n\n<p>No visitor data and no post content beyond the Imgur image URLs themselves are ever sent. Both endpoints are configurable if you self-host PixelVault.<\/p>\n\n<p>By using this plugin you agree to PixelVault's Terms (https:\/\/pixelvault.dev\/terms) and Privacy Policy (https:\/\/pixelvault.dev\/privacy).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate it.<\/li>\n<li>Visit <strong>Settings \u2192 Image Rescue<\/strong>. Live rescue is on by default; you'll see how many Imgur images were found.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20modify%20my%20posts%3F\"><h3>Does this modify my posts?<\/h3><\/dt>\n<dd><p>No. Rewriting happens when a page is rendered. Your saved content is never changed, and deactivating the plugin fully reverts the behavior.<\/p><\/dd>\n<dt id=\"some%20images%20still%20aren%27t%20rewritten.\"><h3>Some images still aren't rewritten.<\/h3><\/dt>\n<dd><p>Enable <strong>Whole-page mode<\/strong> in the settings. It also rewrites theme-hardcoded and background images at the cost of a little extra processing.<\/p><\/dd>\n<dt id=\"is%20it%20permanent%3F\"><h3>Is it permanent?<\/h3><\/dt>\n<dd><p>Anonymous (live-rescue) mode is durable-cached, not permanent \u2014 it re-fetches from Imgur as long as your pages get traffic, so it can still break if Imgur deletes the original. For permanent ownership, add an API key and run <strong>Migrate &amp; Own<\/strong>, which copies the images into your PixelVault project and rewrites your posts to owned URLs.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20migration%3F\"><h3>Can I undo a migration?<\/h3><\/dt>\n<dd><p>Yes. Migration saves a revision for every edited post, and the settings page has a <strong>Restore original URLs<\/strong> button that reverts posts back to their Imgur URLs (your owned copies on PixelVault are kept).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Escape rewritten rescue URLs with esc_url() before they are returned to the front end, falling back to the original image URL if a URL is ever rejected.<\/li>\n<li>Whole-page mode now closes its output buffer only when that buffer is provably its own (top of the stack and opened by this plugin), closes it as late as possible on shutdown, and never opens more than one \u2014 so a buffer opened by another component is never flushed or left misaligned.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Whole-page mode now explicitly closes its output buffer on shutdown.<\/li>\n<li>Documented the optional Migrate &amp; Own import endpoint under External services.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Mode B (Migrate &amp; Own): with a PixelVault API key, copy Imgur images into your project and rewrite posts to permanent, owned URLs. Browser-driven with a progress bar, idempotent (skips already-migrated URLs), and reversible via a Restore button.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release. Mode A (live rescue): rewrite Imgur <code>src<\/code>\/<code>srcset<\/code> in content, featured images, and widgets; optional whole-page mode; settings page with an at-risk image count.<\/li>\n<\/ul>","raw_excerpt":"Keep hotlinked Imgur images working. Rehost them onto PixelVault&#039;s edge so they survive UK blocking and Imgur deletions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=339316"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rumbolabs"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339316"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339316"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339316"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339316"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339316"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}