Cache Images


Plugin homepage | Plugin author

Cache Images is a plugin that gives users option to sideload images that are hosted on other domains to their own site. Sideloaded images are added to WordPress media library so you can use all tools related to images that you can use with images uploaded through WordPress. Image will be added as an attachment of first post where it is found, and every post where original URL is occurring will be updated with new URL. User can select from which domains to sideload images, including Blogger’s domains.

It uses AJAX so it means you can sideload large number of images even on slow servers. (AJAX functions are made by fork of code from plugin AJAX Thumbnail Rebuild)

This plugin is fully internationalized. You can find .pot file in languages folder where you should place your translation. Current translations are Serbian, Spanish, and Persian. Please send your translation by contacting author so that it can be included it in next releases.

Read more information about usage on author’s site.


  • First screen with basic information about usage of plugin and a button Scan
  • List of all domains from which there is hotlinked image
  • Settings for automatic caching


  1. Upload cache-images folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to ‘Tools’ > ‘Cache Remote Images’ page
  4. Go to ‘Settings’ > ‘Media’ page to enable automatic caching


28 February 2024
This plugin doesn’t update the ALT fields of the images from the alt tags, so, basically, it’s exactly the same as just bulk downloading the images from a remote site and bulk uploading them to your library. It does stick the local copies in the same places you had hotlinked them in your post, which is great (and is the reason I’m giving 2 stars instead of 1), unless, like me, it leaves you with 500 media files that you now need to update the alt fields individually by hand, making the whole exercise a waste of time.
11 December 2023
When I tried to use this on my blog (which has been running since 2001, and has many thousands of entries), it failed miserably. For many years, I kept images on a different server I run, and linked to them from my blog. I finally decided to migrate all the images to my blog. Things seemed to go well at first, until the plugin hit a few hundred images, at which point my VPS crashed hard. The plugin seems only meant for tiny blogs with maybe a dozen images or so. There’s no rate limiting, no provision for heavy load, no way it can handle more than a small handful of images. Also, it wants to resize images, for some reason. If oyur goal is to end up with a blog exactly the same as it was before, but with the images local instead of remote, it should just…bring in the remote images, not resize them.
17 February 2019
The one that really works without messing my HTML, and allowing automatic caching for future posts at the same time. The only thing that I’d like is the ability to change the cached file name (like caching with the post name or time included on name. And change base URL. Thanks!
23 January 2018
Despite some comments to the contrary, this plug-in works with WordPress 4.9.2. It is well-designed with a very helpful user interface. If you want to get rid of hot-linked images on your WordPress, this is a painless way to find them and automatically put the images on your own site and replace the link.
Read all 5 reviews

Contributors & Developers

“Cache Images” is open source software. The following people have contributed to this plugin.


Translate “Cache Images” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fixed some potential PHP 8.x warnings.


  • Adds nonce & capability checks.
  • Removes functionality that triggers WP deprecated notices.


  • Released on 3rd December 2010
  • Tries to fix issue with bad Blogger’s URLs
  • Tries to fix issue with “invalid argument for foreach” error
  • Tries to fix issue with “undefined function media_sideload_image()” error
  • Fixed unescaped characters in code examples
  • Updated screenshot-2


  • Released on 25th November 2010
  • Complete ajaxification of a plugin
  • Option for automatic caching on post’s saving
  • Option to cache linked images
  • Made standalone functions for finding and caching
  • Improved documentation
  • Code cleanup
  • Updated Serbian and Spanish translations


  • Complete rewrite of plugin
  • Images are now sideloaded via built in function and added to WordPress’ media library
  • Plugin now uses AJAX so it means you can cache large number of images even on slow servers
  • You can now cache images from Blogger’s domains too