Replace Unlicensed and Broken Images

Available for download here or from the WordPress Plugin Repository.

This plug-in replaces images selected by date, post, category, author, file location, and/or image type with a user-adjustable default image on a site’s public-facing Front End – in other words, on display – and will also, unlike common Javascript/jQuery solutions for broken images and links, prevent load errors. A primary use will be for sites where – due to policy change or concerns relating to usage rights and copyright infringement – administrators need to expunge images that have been used without permission or under lapsed or lapsing usage licenses, and want to avoid a time-consuming, complex, hard-to-reverse, potentially costly and inefficient database purge. Another use will be for sites whose image archives have been corrupted or lost.

WP Replace Unlicensed and Broken Images (WP-RUBI) will do nothing until the site administrator has determined which images or types of images to remove and replace. All post images and image links that are selected – for instance, all images from before a certain publication date, whose URLs match the typical WordPress pattern – will be replaced by links to a simple, customizable “image removed” image when the page is displayed: The change is made just-in-time as the post is loaded, altering the page “source” as rendered, but not affecting the database. If at some future time the site operator wishes to restore lost images, or “whitelist” a post, author, category, time frame, or image type, then the original links and formatting information will still be easily accessible.

Background: The $8,000 Mistake

In recent years, with the maturation of the internet and especially of the “blogosphere,” sites where photos and other images have been copied and displayed without concern for the rights of artists and services have come under enhanced scrutiny, sometimes resulting in costly lawsuits and threats of lawsuits. Other site operators, especially as they have gotten more successful, have simply undergone a change in thinking about respecting the creative rights of others.

Many or perhaps most bloggers have operated without concern for image licensing, and have discovered – sometimes at significant cost – that “Current Fair Use image copyright laws say that you’re financially liable for posting copyrighted images.” ((Description and list of Fair Use liability issues from “The $8,000 Mistake That All Bloggers Should Beware“)) You may be liable for unlicensed use of images even if:

  • You did it by accident
  • You immediately take down the picture after receiving a DMCA takedown notice
  • The picture is resized
  • The picture is licensed to your web developer…
  • You link back to the photo source and cite the photographer’s name
  • Your site isn’t commercial and you make no money from your blog
  • You have a disclaimer on the site
  • The pic is embedded instead of saved on your server
  • You found it on the Internet (that’s not an excuse!)

The core of this plug-in was originally implemented on a large site in one such predicament: The operators, after having been challenged by a copyright lawyer demanding thousands of dollars in payment for the use of a single unpaid-for image, and facing a steep legal bill even in pursuit of an eventually successful defense, decided to stop displaying any images whose usage rights were not fully cleared. The operators were left with thousands of unlicensed images associated with archived posts – along with many images that were used fairly (because original to the site or author, or in the public domain).

In something of a panic, a site editor had simply deleted image archives, since going through them and editing posts would have been a huge job. The results included countless, constantly accumulating errors – typically one each for the image URL and a link to a larger version of the same image whenever the affected pages were loaded by a visitor, whether human or web-crawling robot – harming the site’s search engine ranking, and filling the site’s error log to the point that it was almost unusable. Visually, the effect was an unprofessional “broken images” display, and eventual restoration of good posts was made more difficult, where not impossible, due to loss of the original images, as would also be the case if a complicated global “search-and-replace” had been attempted. Using a Javascript solution that obscured broken images and links might improve display, but would still leave errors in place, and have no effect on unwanted images that had escaped deletion.

Using WP Replace Unlicensed and Broken Images

WP-RUBI enables an administrator to bring his or her site into effective compliance quickly, and then to recover “good” images from existing archives and to fix “bad” images either by licensing them, replacing them with “rights-cleared” images, or by adjusting the post to reflect the absence of imagery.

The plug-in adds numerous additional choices and other improvements to the earlier “WP Replace Old Images,” making it easier for an Administrator to refine the “purge,” and for the site’s editors and authors to restore old posts and archives.

Improvements include:

  • Featured images or thumbnails now also removed/replaced by default
  • Inclusions or exclusion from image removal/replacement for individual posts, authors, categories, “after” as well as “before” dates, and image types
  • Replacement images provided with “cache-busting” queries
  • User can upload own replacement image from Settings page
  • Installation routine preserves old settings on upgrade
  • Detailed usage notes/tips/documentation
  • Translation-ready

NOTE: This plug-in will not function well, if at all, if used in conjunction with JetPack’s “Photon” image “acceleration” service – which does not include a cache-purging feature. Though WP Replace Unwanted and Broken Images utilizes “cache-busting” techniques, administrators may still need to purge or delete whichever cache to achieve desired results. Images stored in 3rd Party web archives may, of course, also also remain unaffected.

DISCLAIMER: Developer makes no promises or guarantees that use of this plug-in will secure a site against all claims of copyright infringement based on past practices. No one can do that!